# Sablier Docs
> Documentation and guides for Sablier
This file contains all documentation content in a single document following the llmstxt.org standard.
## Overview
This document provides an overview of the Sablier APIs, which consist of two main components: the GraphQL indexers and the Merkle API. These components are essential for accessing and managing data within the Sablier ecosystem.
:::tip
Ready to start building? Jump to the [Getting Started](/api/getting-started) section.
:::
## GraphQL Indexers
The Sablier smart contracts do not inherently provide a structured way to access data. With multiple contract versions deployed on the blockchain, accessing data in a unified manner can be challenging. To address this, we integrated two data indexing services: The Graph and Envio. These services act as middleware, enabling data unification, caching, and querying through a GraphQL-based API.
### Source Code
The source code for both The Graph and Envio is open-source and available in this GitHub repository:
### The Graph
[The Graph](https://thegraph.com/) offers infrastructure for indexing EVM events through GraphQL API endpoints known as 'subgraphs'. It has been the vendor of choice in the EVM space since Sablier Legacy's launch in 2019. Our latest products use new implementations of these subgraphs, which are documented in subsequent sections. Note that each chain has its own subgraphs.
- [The Graph docs: How to Query a Subgraph](https://thegraph.com/docs/en/subgraphs/querying/introduction/)
- [Lockup indexers](/api/lockup/indexers#the-graph)
- [Flow indexers](/api/lockup/indexers#the-graph)
- [Airdrops indexers](/api/airdrops/indexers#the-graph)
### Envio
[Envio](https://envio.dev) is a modern, fast, and flexible tool for accessing onchain data.
Its HyperIndex service provides a GraphQL-based API for accessing cached data, which is then served to our client interfaces. Envio indexers mirror the GraphQL API of The Graph subgraphs, offering a fallback in case of issues with The Graph. Unlike The Graph, Envio's indexers are chain-agnostic, with a single GraphQL indexer for each Sablier protocol.
- [Envio docs: Navigating Hasura](https://docs.envio.dev/docs/HyperIndex/navigating-hasura)
- [Lockup indexers](/api/lockup/indexers#envio)
- [Flow indexers](/api/lockup/indexers#envio)
- [Airdrops indexers](/api/airdrops/indexers#envio)
## Merkle API
For the [Airdrops](/apps/features/airdrops) product, we created a backend service to streamline Merkle tree generation, essential for creating blockchain airdrops. This API handles the validation, creation, and management of Merkle trees, defining eligibility and claiming rules for airdrop campaigns.
The service is open-source and can be used by integrators as a plug-and-play solution for deploying their own campaigns. Learn more about the Merkle API service in its dedicated [section](/api/airdrops/merkle-api/overview).
---
## Getting Started
This document will help you understand how to read data from the Sablier smart contracts, either by using GraphQL indexers or by calling the smart contracts directly. Each method has its own advantages and limitations, which we will explore in detail.
## Choosing Your Approach
You have two options:
1. **GraphQL Indexers**: Recommended for most use cases due to ease of use and comprehensive data access.
2. **Direct Smart Contract Calls**: Offers a more decentralized approach but comes with limitations.
### GraphQL Indexers
This is the preferred method for accessing Sablier data. The recommended stack includes:
- **[React](https://react.dev)**
- **[GraphQL Code Generator](https://the-guild.dev/graphql/codegen/docs/getting-started)**: Automatically generates types from your GraphQL fragments and queries.
- **[TanStack Query](https://tanstack.com/query)**: React hooks to fetch data from the GraphQL endpoints.
#### Advantages
- Simplifies data access with a unified API.
- Provides caching and data unification.
- Easy integration with modern frontend frameworks.
#### Considerations
- Understanding the GraphQL schema may require some initial effort.
#### Frontend Sandbox
To help you get started quickly, we offer a pre-configured frontend sandbox with the recommended stack:
### Direct Smart Contract Calls
This approach provides a more decentralized way to interact with the blockchain but has several limitations:
- **Data Retrieval**: Cannot retrieve a list of all streams for a user directly.
- **Historical Data**: Limited access to past events unless the app is set up to listen to web3 events via RPC.
- **Pagination**: Not supported.
## Conclusion
Choosing the right approach depends on your specific needs and the trade-offs you're willing to make. For most applications, using one of our GraphQL indexers will provide a more seamless and efficient experience. However, if decentralization is a priority, direct smart contract calls may be the way to go.
For more detailed information, refer to the [Overview](/api/overview) document and explore the specific indexers available for the Sablier protocols:
- [Lockup indexers](/api/lockup/indexers)
- [Flow indexers](/api/lockup/indexers)
- [Airdrops indexers](/api/airdrops/indexers)
---
## Identifiers
## Stream IDs
### Contracts
Onchain, each Lockup and Flow contract assigns a [`streamId`](/reference/lockup/contracts/abstracts/abstract.SablierLockupBase#nextstreamid) to each stream, which is the same as the ERC-721 [`tokenId`](https://docs.openzeppelin.com/contracts/5.x/api/token/erc721) (each stream is tokenized as an ERC-721).
The `streamId`/ `tokenId` in the contract is a simple numerical value (a `uint256`). For example, number `42` is a valid `streamId`/ `tokenId`.
You will always need this value when interacting with Sablier via a JSON-RPC endpoint because it is required by every contract method associated with a stream, e.g. [`streamedAmountOf`](/reference/lockup/contracts/interfaces/interface.ISablierLockupBase#streamedamountof).
### Indexers
Offchain, in the GraphQL schema, we need to be able to identify streams across different EVM chains and different contract versions. Additionally, it would be nice to have short, easily readable aliases. Thus, we have come up with the following identifiers:
| Identifier | Format | Example |
| ------------ | --------------------------------------- | ---------------------------------------------------------------- |
| Stream ID | `{contractAddress}-{chainId}-{tokenId}` | `0xe0bfe071da104e571298f8b6e0fce44c512c1ff4-137-21` |
| Stream Alias | `{contractAlias}-{chainId}-{tokenId}` | `LK-137-21` |
Both examples from the table above translate to: \*\*a stream on Polygon (chain ID `137`) created via the Lockup v2.0
contract at address `0xe0bfe071da104e571298f8b6e0fce44c512c1ff4`, with the token ID `21`.
#### Contract Aliases
Here's a table with the full list of contract aliases.
| Alias | Contract Name | Release |
| ----- | ------------------------------ | ------------- |
| FL | SablierFlow | Flow v1.0 |
| FL2 | SablierFlow | Flow v1.1 |
| LD | SablierV2LockupDynamic | Lockup v1.0 |
| LD2 | SablierV2LockupDynamic | Lockup v1.1 |
| LD3 | SablierV2LockupDynamic | Lockup v1.2 |
| LK | SablierLockup | Lockup v2.0 |
| LL | SablierV2LockupLinear | Lockup v1.0 |
| LL2 | SablierV2LockupLinear | Lockup v1.1 |
| LL3 | SablierV2LockupLinear | Lockup v1.2 |
| LT3 | SablierV2LockupTranched | Lockup v1.2 |
| MSF2 | SablierV2MerkleStreamerFactory | Airdrops v1.1 |
| MSF3 | SablierV2MerkleLockupFactory | Airdrops v1.2 |
| MSF4 | SablierMerkleFactory | Airdrops v1.3 |
## Airdrop IDs
### Contracts
Airdrops do not have any onchain IDs because every airdrop is a separate contract deployed by one of the Merkle Factory contracts.
### Indexers
The ID for an airdrop is the chain ID concatenated with the contract address of the airdrop contract:
| Identifier | Format | Example |
| ---------- | ----------------------------- | ------------------------------------------------------------- |
| Airdrop ID | `{contractAddress}-{chainId}` | `0xf50760d8ead9ff322631a1f3ebf26cc7891b3708-137` |
The example from the table above translates to: **_an airdrop on Polygon (chain ID `137`), with the contract
address `0xf50760d8ead9ff322631a1f3ebf26cc7891b3708`_**.
:::info
We have decided not to generate aliases for Airdrops, but this may change in the future.
:::
---
## Legacy
# Sablier Legacy
These are the indexers for the [legacy version](/apps/legacy) of Sablier (deployed between 2019-2021). Sablier Legacy is only indexed by The Graph.
## Source Code
## Endpoints
In the table below, you will see three URLs:
- `Production URL`: requires a Studio API key for making queries.
- `Testing URL`: doesn't require an API key but it's rate-limited to 3000 queries per day. Opening this URL in the browser opens a GraphiQL playground.
- `Explorer URL`: The explorer URL for the indexer, if available.
To learn how to create a Studio API key, check out [this guide](https://thegraph.com/docs/en/studio/managing-api-keys).
The API key has to be provided via an `Authorization: Bearer ` header. Here are two examples in curl and JavaScript:
```bash
curl -X POST \
-H "Authorization: Bearer " \
-H "Content-Type: application/json" \
-d '{"query": "{ _meta: { block { number } } }"' \
```
```js
async function getBlockNumber() {
const client = new GraphQLClient("", {
headers: {
Authorization: `Bearer `,
},
});
const query = `query { _meta: { block { number } } }`;
const result = await client.request(query);
console.log(result);
}
```
| Chain | Production URL | Testing URL |
| --------- | ----------------------------------------- | ---------------------------- |
| Avalanche | [sablier-avalanche][production-avalanche] | [Testing][testing-avalanche] |
| Arbitrum | [sablier-arbitrum][production-arbitrum] | [Testing][testing-arbitrum] |
| BSC | [sablier-bsc][production-bsc] | [Testing][testing-bsc] |
| Ethereum | [sablier][production-ethereum] | [Testing][testing-ethereum] |
| Optimism | [sablier-optimism][production-optimism] | [Testing][testing-optimism] |
| Polygon | [sablier-matic][production-polygon] | [Testing][testing-polygon] |
| Ronin | [sablier-ronin][production-ronin] | N/A |
{/* Chain: Ethereum */}
[production-ethereum]: https://gateway-arbitrum.network.thegraph.com/api/API_KEY/subgraphs/id/DkSXWkgJD5qVqfsrfzkLC5WELVX3Dbj3ByWcYjDJieCh
[testing-ethereum]: https://api.studio.thegraph.com/query/57079/sablier/version/latest/
{/* Chain: Arbitrum */}
[production-arbitrum]: https://gateway-arbitrum.network.thegraph.com/api/API_KEY/subgraphs/id/94SP9QVcxmGV9e2fxuTxUGcZfcv4tjpPCGyyPVyMfLP
[testing-arbitrum]: https://api.studio.thegraph.com/query/57079/sablier-arbitrum/version/latest
{/* Chain: Avalanche */}
[production-avalanche]: https://gateway-arbitrum.network.thegraph.com/api/API_KEY/subgraphs/id/DK2gHCprwVaytwzwb5fUrkFS9xy7wh66NX6AFcDzMyF9
[testing-avalanche]: https://api.studio.thegraph.com/query/57079/sablier-avalanche/version/latest
{/* Chain: BSC */}
[production-bsc]: https://gateway-arbitrum.network.thegraph.com/api/API_KEY/subgraphs/id/3Gyy7of99oBRqHcCMGJXpHw2xxxZgXxVmFPFR1vL6YhT
[testing-bsc]: https://api.studio.thegraph.com/query/57079/sablier-bsc/version/latest
{/* Chain: OP Mainnet */}
[production-optimism]: https://gateway-arbitrum.network.thegraph.com/api/API_KEY/subgraphs/id/BEnQbvBdXnohC1DpM9rSb47C1FbowK39HfPNCEHjgrBt
[testing-optimism]: https://api.studio.thegraph.com/query/57079/sablier-optimism/version/latest
{/* Chain: Ronin */}
[production-ronin]: https://subgraph.satsuma-prod.com/d8d041c49d56/sablierlabs/sablier-ronin/api
{/* Chain: Polygon */}
[production-polygon]: https://gateway-arbitrum.network.thegraph.com/api/API_KEY/subgraphs/id/6UMNQfMeh3pV5Qmn2NDX2UKNeUk9kh4oZhzzzn5e8rSz
[testing-polygon]: https://api.studio.thegraph.com/query/57079/sablier-matic/version/latest
{/* Endpoints */}
[^1]:
---
## GraphQLSchema
## Overview
We provide auto-generated GraphQL schema documentation for both The Graph and Envio:
- The Graph schema docs
- Envio schema docs
## Query Syntax Differences
| Feature | The Graph | Envio |
| ------------ | -------------------------------------------------- | ------------------------------------------------------- |
| Pagination | `first` | `limit` |
| Pagination | `skip` | `offset` |
| Get by ID | `stream(id: "...")` | `Stream_by_pk(id: "...")` |
| Get multiple | `streams{}` | `Stream(where: {chainId: {_eq: ""}}){}` |
| Nested items | `campaigns{ id, asset: {id, symbol}}` | `Campaign{ asset_id, asset: {id, symbol}}` |
## Entities
This is the raw GraphQL file that is used by both The Graph and Envio for generating the final schemas hosted on their services.
The schema only contains entities:
{/* Add the code block */}
---
## Indexers
# Sablier Airdrops
This page documents the indexers for the [Sablier Airdrops](/concepts/airdrops) protocol, which powers the [Airdrops](/apps/features/airdrops) product in the Sablier Interface.
:::info
Vested airdrops will create a [Lockup](/concepts/lockup/overview) stream when a user makes a claim.
:::
## Envio
### Source Code
### Endpoints
Envio is a multi-chain indexer. There's a single GraphQL API endpoint that aggregates data across chains. This approach differs from
other vendors like The Graph, which require a separate indexer for each chain where Sablier is available.
#### Table
| Chain | Production URL | Playground URL | Explorer URL |
| -------- | -------------- | ----------- | ------------ |
| Abstract | https://indexer.hyperindex.xyz/508d217/v1/graphql | [Playground](https://cloud.hasura.io/public/graphiql?endpoint=https%3A%2F%2Findexer.hyperindex.xyz%2F508d217%2Fv1%2Fgraphql) | [Explorer](https://envio.dev/app/sablier-labs/merkle-envio) |
| Arbitrum | https://indexer.hyperindex.xyz/508d217/v1/graphql | [Playground](https://cloud.hasura.io/public/graphiql?endpoint=https%3A%2F%2Findexer.hyperindex.xyz%2F508d217%2Fv1%2Fgraphql) | [Explorer](https://envio.dev/app/sablier-labs/merkle-envio) |
| Avalanche | https://indexer.hyperindex.xyz/508d217/v1/graphql | [Playground](https://cloud.hasura.io/public/graphiql?endpoint=https%3A%2F%2Findexer.hyperindex.xyz%2F508d217%2Fv1%2Fgraphql) | [Explorer](https://envio.dev/app/sablier-labs/merkle-envio) |
| Base | https://indexer.hyperindex.xyz/508d217/v1/graphql | [Playground](https://cloud.hasura.io/public/graphiql?endpoint=https%3A%2F%2Findexer.hyperindex.xyz%2F508d217%2Fv1%2Fgraphql) | [Explorer](https://envio.dev/app/sablier-labs/merkle-envio) |
| Blast | https://indexer.hyperindex.xyz/508d217/v1/graphql | [Playground](https://cloud.hasura.io/public/graphiql?endpoint=https%3A%2F%2Findexer.hyperindex.xyz%2F508d217%2Fv1%2Fgraphql) | [Explorer](https://envio.dev/app/sablier-labs/merkle-envio) |
| Berachain | https://indexer.hyperindex.xyz/508d217/v1/graphql | [Playground](https://cloud.hasura.io/public/graphiql?endpoint=https%3A%2F%2Findexer.hyperindex.xyz%2F508d217%2Fv1%2Fgraphql) | [Explorer](https://envio.dev/app/sablier-labs/merkle-envio) |
| BNB Chain | https://indexer.hyperindex.xyz/508d217/v1/graphql | [Playground](https://cloud.hasura.io/public/graphiql?endpoint=https%3A%2F%2Findexer.hyperindex.xyz%2F508d217%2Fv1%2Fgraphql) | [Explorer](https://envio.dev/app/sablier-labs/merkle-envio) |
| Chiliz | https://indexer.hyperindex.xyz/508d217/v1/graphql | [Playground](https://cloud.hasura.io/public/graphiql?endpoint=https%3A%2F%2Findexer.hyperindex.xyz%2F508d217%2Fv1%2Fgraphql) | [Explorer](https://envio.dev/app/sablier-labs/merkle-envio) |
| Form | https://indexer.hyperindex.xyz/508d217/v1/graphql | [Playground](https://cloud.hasura.io/public/graphiql?endpoint=https%3A%2F%2Findexer.hyperindex.xyz%2F508d217%2Fv1%2Fgraphql) | [Explorer](https://envio.dev/app/sablier-labs/merkle-envio) |
| Gnosis | https://indexer.hyperindex.xyz/508d217/v1/graphql | [Playground](https://cloud.hasura.io/public/graphiql?endpoint=https%3A%2F%2Findexer.hyperindex.xyz%2F508d217%2Fv1%2Fgraphql) | [Explorer](https://envio.dev/app/sablier-labs/merkle-envio) |
| HyperEVM | https://indexer.hyperindex.xyz/508d217/v1/graphql | [Playground](https://cloud.hasura.io/public/graphiql?endpoint=https%3A%2F%2Findexer.hyperindex.xyz%2F508d217%2Fv1%2Fgraphql) | [Explorer](https://envio.dev/app/sablier-labs/merkle-envio) |
| Lightlink | https://indexer.hyperindex.xyz/508d217/v1/graphql | [Playground](https://cloud.hasura.io/public/graphiql?endpoint=https%3A%2F%2Findexer.hyperindex.xyz%2F508d217%2Fv1%2Fgraphql) | [Explorer](https://envio.dev/app/sablier-labs/merkle-envio) |
| Linea Mainnet | https://indexer.hyperindex.xyz/508d217/v1/graphql | [Playground](https://cloud.hasura.io/public/graphiql?endpoint=https%3A%2F%2Findexer.hyperindex.xyz%2F508d217%2Fv1%2Fgraphql) | [Explorer](https://envio.dev/app/sablier-labs/merkle-envio) |
| Ethereum | https://indexer.hyperindex.xyz/508d217/v1/graphql | [Playground](https://cloud.hasura.io/public/graphiql?endpoint=https%3A%2F%2Findexer.hyperindex.xyz%2F508d217%2Fv1%2Fgraphql) | [Explorer](https://envio.dev/app/sablier-labs/merkle-envio) |
| Mode | https://indexer.hyperindex.xyz/508d217/v1/graphql | [Playground](https://cloud.hasura.io/public/graphiql?endpoint=https%3A%2F%2Findexer.hyperindex.xyz%2F508d217%2Fv1%2Fgraphql) | [Explorer](https://envio.dev/app/sablier-labs/merkle-envio) |
| Morph | https://indexer.hyperindex.xyz/508d217/v1/graphql | [Playground](https://cloud.hasura.io/public/graphiql?endpoint=https%3A%2F%2Findexer.hyperindex.xyz%2F508d217%2Fv1%2Fgraphql) | [Explorer](https://envio.dev/app/sablier-labs/merkle-envio) |
| OP Mainnet | https://indexer.hyperindex.xyz/508d217/v1/graphql | [Playground](https://cloud.hasura.io/public/graphiql?endpoint=https%3A%2F%2Findexer.hyperindex.xyz%2F508d217%2Fv1%2Fgraphql) | [Explorer](https://envio.dev/app/sablier-labs/merkle-envio) |
| Polygon | https://indexer.hyperindex.xyz/508d217/v1/graphql | [Playground](https://cloud.hasura.io/public/graphiql?endpoint=https%3A%2F%2Findexer.hyperindex.xyz%2F508d217%2Fv1%2Fgraphql) | [Explorer](https://envio.dev/app/sablier-labs/merkle-envio) |
| Sonic | https://indexer.hyperindex.xyz/508d217/v1/graphql | [Playground](https://cloud.hasura.io/public/graphiql?endpoint=https%3A%2F%2Findexer.hyperindex.xyz%2F508d217%2Fv1%2Fgraphql) | [Explorer](https://envio.dev/app/sablier-labs/merkle-envio) |
| Scroll | https://indexer.hyperindex.xyz/508d217/v1/graphql | [Playground](https://cloud.hasura.io/public/graphiql?endpoint=https%3A%2F%2Findexer.hyperindex.xyz%2F508d217%2Fv1%2Fgraphql) | [Explorer](https://envio.dev/app/sablier-labs/merkle-envio) |
| Sophon | https://indexer.hyperindex.xyz/508d217/v1/graphql | [Playground](https://cloud.hasura.io/public/graphiql?endpoint=https%3A%2F%2Findexer.hyperindex.xyz%2F508d217%2Fv1%2Fgraphql) | [Explorer](https://envio.dev/app/sablier-labs/merkle-envio) |
| Superseed | https://indexer.hyperindex.xyz/508d217/v1/graphql | [Playground](https://cloud.hasura.io/public/graphiql?endpoint=https%3A%2F%2Findexer.hyperindex.xyz%2F508d217%2Fv1%2Fgraphql) | [Explorer](https://envio.dev/app/sablier-labs/merkle-envio) |
| Tangle | https://indexer.hyperindex.xyz/508d217/v1/graphql | [Playground](https://cloud.hasura.io/public/graphiql?endpoint=https%3A%2F%2Findexer.hyperindex.xyz%2F508d217%2Fv1%2Fgraphql) | [Explorer](https://envio.dev/app/sablier-labs/merkle-envio) |
| Unichain | https://indexer.hyperindex.xyz/508d217/v1/graphql | [Playground](https://cloud.hasura.io/public/graphiql?endpoint=https%3A%2F%2Findexer.hyperindex.xyz%2F508d217%2Fv1%2Fgraphql) | [Explorer](https://envio.dev/app/sablier-labs/merkle-envio) |
| XDC | https://indexer.hyperindex.xyz/508d217/v1/graphql | [Playground](https://cloud.hasura.io/public/graphiql?endpoint=https%3A%2F%2Findexer.hyperindex.xyz%2F508d217%2Fv1%2Fgraphql) | [Explorer](https://envio.dev/app/sablier-labs/merkle-envio) |
| ZKsync Era | https://indexer.hyperindex.xyz/508d217/v1/graphql | [Playground](https://cloud.hasura.io/public/graphiql?endpoint=https%3A%2F%2Findexer.hyperindex.xyz%2F508d217%2Fv1%2Fgraphql) | [Explorer](https://envio.dev/app/sablier-labs/merkle-envio) |
| Base Sepolia | https://indexer.hyperindex.xyz/508d217/v1/graphql | [Playground](https://cloud.hasura.io/public/graphiql?endpoint=https%3A%2F%2Findexer.hyperindex.xyz%2F508d217%2Fv1%2Fgraphql) | [Explorer](https://envio.dev/app/sablier-labs/merkle-envio) |
| Sepolia | https://indexer.hyperindex.xyz/508d217/v1/graphql | [Playground](https://cloud.hasura.io/public/graphiql?endpoint=https%3A%2F%2Findexer.hyperindex.xyz%2F508d217%2Fv1%2Fgraphql) | [Explorer](https://envio.dev/app/sablier-labs/merkle-envio) |
## The Graph
### Source Code
### Endpoints
In the table below, you will see three URLs:
- `Production URL`: requires a Studio API key for making queries.
- `Testing URL`: doesn't require an API key but it's rate-limited to 3000 queries per day. Opening this URL in the browser opens a GraphiQL playground.
- `Explorer URL`: The explorer URL for the indexer, if available.
To learn how to create a Studio API key, check out [this guide](https://thegraph.com/docs/en/studio/managing-api-keys).
The API key has to be provided via an `Authorization: Bearer ` header. Here are two examples in curl and JavaScript:
```bash
curl -X POST \
-H "Authorization: Bearer " \
-H "Content-Type: application/json" \
-d '{"query": "{ _meta: { block { number } } }"' \
```
```js
async function getBlockNumber() {
const client = new GraphQLClient("", {
headers: {
Authorization: `Bearer `,
},
});
const query = `query { _meta: { block { number } } }`;
const result = await client.request(query);
console.log(result);
}
```
| Chain | Production URL | Testing URL | Explorer URL |
| -------- | -------------- | ----------- | ------------ |
| Abstract | [sablier-airdrops-abstract](https://gateway.thegraph.com/api/subgraphs/id/DRrf6mYEhRt9QieKvTjDHnSWcBm3GW96hpedMKVxLABx) | [Testing](https://api.studio.thegraph.com/query/112500/sablier-airdrops-abstract/version/latest) | [Explorer](https://thegraph.com/explorer/subgraphs/DRrf6mYEhRt9QieKvTjDHnSWcBm3GW96hpedMKVxLABx) |
| Arbitrum | [sablier-airdrops-arbitrum-one](https://gateway.thegraph.com/api/subgraphs/id/HkHDg6NVVVeobhpcU4pTPMktyC25zd6xAQBGpYrWDgRr) | [Testing](https://api.studio.thegraph.com/query/112500/sablier-airdrops-arbitrum-one/version/latest) | [Explorer](https://thegraph.com/explorer/subgraphs/HkHDg6NVVVeobhpcU4pTPMktyC25zd6xAQBGpYrWDgRr) |
| Arbitrum Sepolia | [sablier-airdrops-arbitrum-sepolia](https://gateway.thegraph.com/api/subgraphs/id/3S7v3VkDq8XMBd8EFVhKur2Vk44xScaW8a4BRjoPuYWk) | [Testing](https://api.studio.thegraph.com/query/112500/sablier-airdrops-arbitrum-sepolia/version/latest) | [Explorer](https://thegraph.com/explorer/subgraphs/3S7v3VkDq8XMBd8EFVhKur2Vk44xScaW8a4BRjoPuYWk) |
| Avalanche | [sablier-airdrops-avalanche](https://gateway.thegraph.com/api/subgraphs/id/CpbN5Ps25UzqfdoqYdrjoSK4Him6nwDvdLK6a2sGS1PA) | [Testing](https://api.studio.thegraph.com/query/112500/sablier-airdrops-avalanche/version/latest) | [Explorer](https://thegraph.com/explorer/subgraphs/CpbN5Ps25UzqfdoqYdrjoSK4Him6nwDvdLK6a2sGS1PA) |
| Base | [sablier-airdrops-base](https://gateway.thegraph.com/api/subgraphs/id/4SxPXkQNifgBYqje2C4yP5gz69erZwtD7GuLWgXHSLGe) | [Testing](https://api.studio.thegraph.com/query/112500/sablier-airdrops-base/version/latest) | [Explorer](https://thegraph.com/explorer/subgraphs/4SxPXkQNifgBYqje2C4yP5gz69erZwtD7GuLWgXHSLGe) |
| Base Sepolia | [sablier-airdrops-base-sepolia](https://gateway.thegraph.com/api/subgraphs/id/4R2hm27YJ7CVEJ97BbBJz2r4KTKYc8sTqqzrD8UzEfJt) | [Testing](https://api.studio.thegraph.com/query/112500/sablier-airdrops-base-sepolia/version/latest) | [Explorer](https://thegraph.com/explorer/subgraphs/4R2hm27YJ7CVEJ97BbBJz2r4KTKYc8sTqqzrD8UzEfJt) |
| Berachain | [sablier-airdrops-berachain](https://gateway.thegraph.com/api/subgraphs/id/CnYsdmzuY3Mebwywvqv1WrXw9UZuPMTrxoGgR2UdThJE) | [Testing](https://api.studio.thegraph.com/query/112500/sablier-airdrops-berachain/version/latest) | [Explorer](https://thegraph.com/explorer/subgraphs/CnYsdmzuY3Mebwywvqv1WrXw9UZuPMTrxoGgR2UdThJE) |
| Blast | [sablier-airdrops-blast-mainnet](https://gateway.thegraph.com/api/subgraphs/id/657bogqYaDSSeqsoJcJ1kRqGnc3jC15UmcVLzsYxyxKK) | [Testing](https://api.studio.thegraph.com/query/112500/sablier-airdrops-blast-mainnet/version/latest) | [Explorer](https://thegraph.com/explorer/subgraphs/657bogqYaDSSeqsoJcJ1kRqGnc3jC15UmcVLzsYxyxKK) |
| BNB Chain | [sablier-airdrops-bsc](https://gateway.thegraph.com/api/subgraphs/id/FXQT42kQPvpMJgsF5Bs6CqpxVvPP1LBqEhWThCCLMeGL) | [Testing](https://api.studio.thegraph.com/query/112500/sablier-airdrops-bsc/version/latest) | [Explorer](https://thegraph.com/explorer/subgraphs/FXQT42kQPvpMJgsF5Bs6CqpxVvPP1LBqEhWThCCLMeGL) |
| Chiliz | [sablier-airdrops-chiliz](https://gateway.thegraph.com/api/subgraphs/id/6LK1aqrhzZCp6c88MEBDAR1VDLpZQiXpBKkceJ5Lu4LU) | [Testing](https://api.studio.thegraph.com/query/112500/sablier-airdrops-chiliz/version/latest) | [Explorer](https://thegraph.com/explorer/subgraphs/6LK1aqrhzZCp6c88MEBDAR1VDLpZQiXpBKkceJ5Lu4LU) |
| Ethereum | [sablier-airdrops-mainnet](https://gateway.thegraph.com/api/subgraphs/id/DFD73EcSue44R7mpHvXeyvcgaT8tR1iKakZFjBsiFpjs) | [Testing](https://api.studio.thegraph.com/query/112500/sablier-airdrops-mainnet/version/latest) | [Explorer](https://thegraph.com/explorer/subgraphs/DFD73EcSue44R7mpHvXeyvcgaT8tR1iKakZFjBsiFpjs) |
| Form | [sablier-airdrops-form](https://formapi.0xgraph.xyz/api/public/5961fb30-8fdc-45ad-9a35-555dd5e0dd56/subgraphs/sablier-airdrops-form/2.3_1.0.0/gn) | N/A | N/A |
| Gnosis | [sablier-airdrops-gnosis](https://gateway.thegraph.com/api/subgraphs/id/kQEY5PYbjx4SMKyMUwqJHRLDzKH1aUqGsf1cnibU7Kn) | [Testing](https://api.studio.thegraph.com/query/112500/sablier-airdrops-gnosis/version/latest) | [Explorer](https://thegraph.com/explorer/subgraphs/kQEY5PYbjx4SMKyMUwqJHRLDzKH1aUqGsf1cnibU7Kn) |
| IoTeX | [sablier-airdrops-iotex](https://gateway.thegraph.com/api/subgraphs/id/G39uCzr1FDY7pBFe8DwShAxhMeC6dbZetutVg6wjtks3) | [Testing](https://api.studio.thegraph.com/query/112500/sablier-airdrops-iotex/version/latest) | [Explorer](https://thegraph.com/explorer/subgraphs/G39uCzr1FDY7pBFe8DwShAxhMeC6dbZetutVg6wjtks3) |
| Lightlink | [sablier-airdrops-lightlink](https://graph.phoenix.lightlink.io/query/subgraphs/name/lightlink/sablier-airdrops-lightlink) | N/A | N/A |
| Linea Mainnet | [sablier-airdrops-linea](https://gateway.thegraph.com/api/subgraphs/id/6koYFSd8FQizdQWLTdRpL1yTmAbpMgN1vZN5W6ajZiTN) | [Testing](https://api.studio.thegraph.com/query/112500/sablier-airdrops-linea/version/latest) | [Explorer](https://thegraph.com/explorer/subgraphs/6koYFSd8FQizdQWLTdRpL1yTmAbpMgN1vZN5W6ajZiTN) |
| Mode | [sablier-airdrops-mode-mainnet](https://gateway.thegraph.com/api/subgraphs/id/HZMkVX5c2qf7BqbidwpcQMsHGWTDdEKwVjnwenzo9s6m) | [Testing](https://api.studio.thegraph.com/query/112500/sablier-airdrops-mode-mainnet/version/latest) | [Explorer](https://thegraph.com/explorer/subgraphs/HZMkVX5c2qf7BqbidwpcQMsHGWTDdEKwVjnwenzo9s6m) |
| OP Mainnet | [sablier-airdrops-optimism](https://gateway.thegraph.com/api/subgraphs/id/CHJtCNDzPqngpa1YJoaVrjuufZL6k6VkEkG9ZFUMQzF7) | [Testing](https://api.studio.thegraph.com/query/112500/sablier-airdrops-optimism/version/latest) | [Explorer](https://thegraph.com/explorer/subgraphs/CHJtCNDzPqngpa1YJoaVrjuufZL6k6VkEkG9ZFUMQzF7) |
| OP Sepolia | [sablier-airdrops-optimism-sepolia](https://gateway.thegraph.com/api/subgraphs/id/3kp1eR2T1XpvvLkSZ7Wtt45DbDaiykTes478RZ7zwTz) | [Testing](https://api.studio.thegraph.com/query/112500/sablier-airdrops-optimism-sepolia/version/latest) | [Explorer](https://thegraph.com/explorer/subgraphs/3kp1eR2T1XpvvLkSZ7Wtt45DbDaiykTes478RZ7zwTz) |
| Polygon | [sablier-airdrops-matic](https://gateway.thegraph.com/api/subgraphs/id/FRbBKiDyM5YpFAqHLXRfQWwQdMGzFL82hqoPXPpXzAHE) | [Testing](https://api.studio.thegraph.com/query/112500/sablier-airdrops-matic/version/latest) | [Explorer](https://thegraph.com/explorer/subgraphs/FRbBKiDyM5YpFAqHLXRfQWwQdMGzFL82hqoPXPpXzAHE) |
| Scroll | [sablier-airdrops-scroll](https://gateway.thegraph.com/api/subgraphs/id/Ev4xS8VxuoUcpgqz5A2BkTgQxQeskm4Fg41XzVJ2DX9) | [Testing](https://api.studio.thegraph.com/query/112500/sablier-airdrops-scroll/version/latest) | [Explorer](https://thegraph.com/explorer/subgraphs/Ev4xS8VxuoUcpgqz5A2BkTgQxQeskm4Fg41XzVJ2DX9) |
| Sei Network | [sablier-airdrops-sei-mainnet](https://gateway.thegraph.com/api/subgraphs/id/HCxLCRqd5MorHXxmXFUBBcA71zTGXnn97Xk2uaBmStsy) | [Testing](https://api.studio.thegraph.com/query/112500/sablier-airdrops-sei-mainnet/version/latest) | [Explorer](https://thegraph.com/explorer/subgraphs/HCxLCRqd5MorHXxmXFUBBcA71zTGXnn97Xk2uaBmStsy) |
| Sepolia | [sablier-airdrops-sepolia](https://gateway.thegraph.com/api/subgraphs/id/8PLGDyXEsPgRTAnozL7MAjmTUFY4TBzs8i4F9Pq3wwSh) | [Testing](https://api.studio.thegraph.com/query/112500/sablier-airdrops-sepolia/version/latest) | [Explorer](https://thegraph.com/explorer/subgraphs/8PLGDyXEsPgRTAnozL7MAjmTUFY4TBzs8i4F9Pq3wwSh) |
| Sonic | [sablier-airdrops-sonic](https://gateway.thegraph.com/api/subgraphs/id/5g8orwpm5Rf83G8eqDzDjodt3sG2D64cbiLC98Utmv4Q) | [Testing](https://api.studio.thegraph.com/query/112500/sablier-airdrops-sonic/version/latest) | [Explorer](https://thegraph.com/explorer/subgraphs/5g8orwpm5Rf83G8eqDzDjodt3sG2D64cbiLC98Utmv4Q) |
| Unichain | [sablier-airdrops-unichain](https://gateway.thegraph.com/api/subgraphs/id/4rQMJ85hKNhcaDyirGipGvcqS4auGU3QCFRBnpiexyNy) | [Testing](https://api.studio.thegraph.com/query/112500/sablier-airdrops-unichain/version/latest) | [Explorer](https://thegraph.com/explorer/subgraphs/4rQMJ85hKNhcaDyirGipGvcqS4auGU3QCFRBnpiexyNy) |
| ZKsync Era | [sablier-airdrops-zksync-era](https://gateway.thegraph.com/api/subgraphs/id/64iDUwNVWKukw67nqTXif5taEfLug4Qf1c2suAv5hrqN) | [Testing](https://api.studio.thegraph.com/query/112500/sablier-airdrops-zksync-era/version/latest) | [Explorer](https://thegraph.com/explorer/subgraphs/64iDUwNVWKukw67nqTXif5taEfLug4Qf1c2suAv5hrqN) |
---
## Previous Indexers
:::important
The following indexers were deprecated on February 3, 2025, so they might return outdated data if queried now. Please
use our latest endpoints to query up-to-date data for the Sablier Protocol.
:::
| Chain | Explorer | Studio[^2] | Decentralized Network[^1] |
| ---------------- | -------------------------------------------------------------- | ------------------------------------ | --------------------------------------- |
| Ethereum | [sablier-v2-ms][explorer-ms-ethereum] | [Studio][studio-ms-ethereum] | [Network][network-ms-ethereum] |
| Arbitrum | [sablier-v2-ms-arbitrum][explorer-ms-arbitrum] | [Studio][studio-ms-arbitrum] | [Network][network-ms-arbitrum] |
| Arbitrum Sepolia | [sablier-v2-ms-arbitrum-sepolia][explorer-ms-arbitrum-sepolia] | [Studio][studio-ms-arbitrum-sepolia] | [Network][network-ms-arbitrum-sepolia] |
| Avalanche | [sablier-v2-ms-avalanche][explorer-ms-avalanche] | [Studio][studio-ms-avalanche] | [Network][network-ms-avalanche] |
| Base | [sablier-v2-ms-base][explorer-ms-base] | [Studio][studio-ms-base] | [Network][network-ms-base] |
| Blast | [sablier-v2-ms-blast][explorer-ms-blast] | [Studio][studio-ms-blast] | [Network][network-ms-blast] |
| BNB Chain | [sablier-v2-ms-bsc][explorer-ms-bsc] | [Studio][studio-ms-bsc] | [Network][network-ms-bsc] |
| Chiliz Chain | [sablier-v2-ms-chiliz][explorer-ms-chiliz] | [Studio][studio-ms-chiliz] | [Network][network-ms-chiliz] |
| Ethereum Sepolia | [sablier-v2-ms-sepolia][explorer-ms-sepolia] | [Studio][studio-ms-sepolia] | [Network][network-ms-sepolia] |
| Gnosis | [sablier-v2-ms-gnosis][explorer-ms-gnosis] | [Studio][studio-ms-gnosis] | [Network][network-ms-gnosis] |
| Lightlink | [sablier-v2-ms-lightlink\*][explorer-ms-lightlink] | N/A | [Lightlink Node\*][custom-ms-lightlink] |
| Optimism | [sablier-v2-ms-optimism][explorer-ms-optimism] | [Studio][studio-ms-optimism] | [Network][network-ms-optimism] |
| Optimism Sepolia | [sablier-v2-ms-optimism-sepolia][explorer-ms-optimism-sepolia] | [Studio][studio-ms-optimism-sepolia] | [Network][network-ms-optimism-sepolia] |
| Polygon | [sablier-v2-ms-polygon][explorer-ms-polygon] | [Studio][studio-ms-polygon] | [Network][network-ms-polygon] |
| Scroll | [sablier-v2-ms-scroll][explorer-ms-scroll] | [Studio][studio-ms-scroll] | [Network][network-ms-scroll] |
| zkSync | [sablier-v2-ms-zksync][explorer-ms-zksync] | [Studio][studio-ms-zksync] | [Network][network-ms-zksync] |
{/* --------------------------------------------------------------------------------------------------------------------------------- */}
{/* --------------------------------------------------------------------------------------------------------------------------------- */}
{/* --------------------------------------------------------------------------------------------------------------------------------- */}
{/* Chain: Arbitrum */}
[network-ms-arbitrum]: https://gateway-arbitrum.network.thegraph.com/api/API_KEY/subgraphs/id/CPCMKbUFEM8CzVbfic1y34qKbTrKADX9Du9QxsAMAwqU
[explorer-ms-arbitrum]: https://thegraph.com/explorer/subgraphs/CPCMKbUFEM8CzVbfic1y34qKbTrKADX9Du9QxsAMAwqU
[studio-ms-arbitrum]: https://api.studio.thegraph.com/query/57079/sablier-v2-ms-arbitrum/version/latest
{/* Chain: Arbitrum Sepolia */}
[network-ms-arbitrum-sepolia]: https://gateway-arbitrum.network.thegraph.com/api/API_KEY/subgraphs/id/BBJgy9RANbViGedeWTrVpH2bwm22E3niEzWcqHPMGtna
[explorer-ms-arbitrum-sepolia]: https://thegraph.com/explorer/subgraphs/BBJgy9RANbViGedeWTrVpH2bwm22E3niEzWcqHPMGtna
[studio-ms-arbitrum-sepolia]: https://api.studio.thegraph.com/query/57079/sablier-v2-ms-arbitrum-sepolia/version/latest
{/* Chain: Avalanche */}
[network-ms-avalanche]: https://gateway-arbitrum.network.thegraph.com/api/API_KEY/subgraphs/id/2beDuAvmwbyFzJ95HAwfqNjnYT6nEnzbEfSNhfWGMyhJ
[explorer-ms-avalanche]: https://thegraph.com/explorer/subgraphs/2beDuAvmwbyFzJ95HAwfqNjnYT6nEnzbEfSNhfWGMyhJ
[studio-ms-avalanche]: https://api.studio.thegraph.com/query/57079/sablier-v2-ms-avalanche/version/latest
{/* Chain: Base */}
[network-ms-base]: https://gateway-arbitrum.network.thegraph.com/api/API_KEY/subgraphs/id/DrfN5cbvcCmpQUSc5RE9T1UxtcnMREi1Rd2PgLzDZCo3
[explorer-ms-base]: https://thegraph.com/explorer/subgraphs/DrfN5cbvcCmpQUSc5RE9T1UxtcnMREi1Rd2PgLzDZCo3
[studio-ms-base]: https://api.studio.thegraph.com/query/57079/sablier-v2-ms-base/version/latest
{/* Chain: Blast */}
[network-ms-blast]: https://gateway-arbitrum.network.thegraph.com/api/API_KEY/subgraphs/id/HVqkPvCRAvbxjx6YVmkk6w6rHPrqqtiymcGiQiMKPw8f
[explorer-ms-blast]: https://thegraph.com/explorer/subgraphs/HVqkPvCRAvbxjx6YVmkk6w6rHPrqqtiymcGiQiMKPw8f
[studio-ms-blast]: https://api.studio.thegraph.com/query/57079/sablier-v2-ms-blast/version/latest
{/* Chain: BSC */}
[network-ms-bsc]: https://gateway-arbitrum.network.thegraph.com/api/API_KEY/subgraphs/id/8uU9qAw9fSzdjqebymGRXWCjtZ5DQCmUA6QzRA14ARpz
[explorer-ms-bsc]: https://thegraph.com/explorer/subgraphs/8uU9qAw9fSzdjqebymGRXWCjtZ5DQCmUA6QzRA14ARpz
[studio-ms-bsc]: https://api.studio.thegraph.com/query/57079/sablier-v2-ms-bsc/version/latest
{/* Chain: Chiliz */}
[network-ms-chiliz]: https://gateway-arbitrum.network.thegraph.com/api/API_KEY/subgraphs/id/DdhRyXwhvEmKyioCk41m6Xu9fyaprsnp4gMWZ3bHYZJd
[explorer-ms-chiliz]: https://thegraph.com/explorer/subgraphs/DdhRyXwhvEmKyioCk41m6Xu9fyaprsnp4gMWZ3bHYZJd
[studio-ms-chiliz]: https://api.studio.thegraph.com/query/57079/sablier-v2-ms-chiliz/version/latest
{/* Chain: Ethereum Sepolia */}
[network-ms-sepolia]: https://gateway-arbitrum.network.thegraph.com/api/API_KEY/subgraphs/id/8UVeHt7rHA27XZhViugaW4nStiN332dHTDWVTNBLCqPc
[explorer-ms-sepolia]: https://thegraph.com/explorer/subgraphs/8UVeHt7rHA27XZhViugaW4nStiN332dHTDWVTNBLCqPc
[studio-ms-sepolia]: https://api.studio.thegraph.com/query/57079/sablier-v2-ms-sepolia/version/latest
{/* Chain: Gnosis */}
[network-ms-gnosis]: https://gateway-arbitrum.network.thegraph.com/api/API_KEY/subgraphs/id/FViBHgu2TtaZZXspDBzACjuPYKtqVDysmH35pk3W3zJJ
[explorer-ms-gnosis]: https://thegraph.com/explorer/subgraphs/FViBHgu2TtaZZXspDBzACjuPYKtqVDysmH35pk3W3zJJ
[studio-ms-gnosis]: https://api.studio.thegraph.com/query/57079/sablier-v2-ms-gnosis/version/latest
{/* Chain: Lightlink */}
[explorer-ms-lightlink]: https://graph.phoenix.lightlink.io/query/subgraphs/name/lightlink/sablier-v2-ms-lightlink/graphql
[custom-ms-lightlink]: https://graph.phoenix.lightlink.io/query/subgraphs/name/lightlink/sablier-v2-ms-lightlink
{/* Chain: Mainnet | Ethereum */}
[explorer-ms-ethereum]: https://thegraph.com/explorer/subgraphs/FigCYTmdPtXbf4tgNiy5ZrtnYefz92hsMcwM4f9N5ZeZ
[studio-ms-ethereum]: https://api.studio.thegraph.com/query/57079/sablier-v2-ms/version/latest
[network-ms-ethereum]: https://gateway-arbitrum.network.thegraph.com/api/API_KEY/subgraphs/id/FigCYTmdPtXbf4tgNiy5ZrtnYefz92hsMcwM4f9N5ZeZ
{/* Chain: Optimism */}
[network-ms-optimism]: https://gateway-arbitrum.network.thegraph.com/api/API_KEY/subgraphs/id/7iSmF69W4mQqtx6EfWXXn5s27Hrdh72etsPKVC9iE62U
[explorer-ms-optimism]: https://thegraph.com/explorer/subgraphs/7iSmF69W4mQqtx6EfWXXn5s27Hrdh72etsPKVC9iE62U
[studio-ms-optimism]: https://api.studio.thegraph.com/query/57079/sablier-v2-ms-optimism/version/latest
{/* Chain: Optimism Sepolia */}
[network-ms-optimism-sepolia]: https://gateway-arbitrum.network.thegraph.com/api/API_KEY/subgraphs/id/CG5QddHKoABuN6KHZHYTHL7upg2iPTMYxi35Ey7jspkX
[explorer-ms-optimism-sepolia]: https://thegraph.com/explorer/subgraphs/CG5QddHKoABuN6KHZHYTHL7upg2iPTMYxi35Ey7jspkX
[studio-ms-optimism-sepolia]: https://api.studio.thegraph.com/query/57079/sablier-v2-ms-optimism-sepolia/version/latest
{/* Chain: Polygon */}
[network-ms-polygon]: https://gateway-arbitrum.network.thegraph.com/api/API_KEY/subgraphs/id/4r2pC3iyLbzytNa5phat3SWdMEyXG8fmnf1K89D7zP2G
[explorer-ms-polygon]: https://thegraph.com/explorer/subgraphs/4r2pC3iyLbzytNa5phat3SWdMEyXG8fmnf1K89D7zP2G
[studio-ms-polygon]: https://api.studio.thegraph.com/query/57079/sablier-v2-ms-polygon/version/latest
{/* Chain: Scroll */}
[network-ms-scroll]: https://gateway-arbitrum.network.thegraph.com/api/API_KEY/subgraphs/id/F1QnrgBpsVKtiVzkLisEC2PDo6cjzLoAy5HhPdFRdjW
[explorer-ms-scroll]: https://thegraph.com/explorer/subgraphs/F1QnrgBpsVKtiVzkLisEC2PDo6cjzLoAy5HhPdFRdjW
[studio-ms-scroll]: https://api.studio.thegraph.com/query/57079/sablier-v2-ms-scroll/version/latest
{/* Chain: zkSync */}
[network-ms-zksync]: https://gateway-arbitrum.network.thegraph.com/api/API_KEY/subgraphs/id/BboiKY7JCdznoqurdXRizL9UYD1YdQKajaj4gvUrPPEA
[explorer-ms-zksync]: https://thegraph.com/explorer/subgraphs/BboiKY7JCdznoqurdXRizL9UYD1YdQKajaj4gvUrPPEA
[studio-ms-zksync]: https://api.studio.thegraph.com/query/57079/sablier-v2-ms-zksync/version/latest
{/* --------------------------------------------------------------------------------------------------------------------------------- */}
[endpoint-merkle]: https://indexer.hyperindex.xyz/508d217/v1/graphql
{/* --------------------------------------------------------------------------------------------------------------------------------- */}
{/* --------------------------------------------------------------------------------------------------------------------------------- */}
{/* --------------------------------------------------------------------------------------------------------------------------------- */}
---
## Schema
## Overview
We provide auto-generated GraphQL schema documentation for both The Graph and Envio:
- The Graph schema docs
- Envio schema docs
## Query Syntax Differences
| Feature | The Graph | Envio |
| ------------ | -------------------------------------------------- | ------------------------------------------------------- |
| Pagination | `first` | `limit` |
| Pagination | `skip` | `offset` |
| Get by ID | `stream(id: "...")` | `Stream_by_pk(id: "...")` |
| Get multiple | `streams{}` | `Stream(where: {chainId: {_eq: ""}}){}` |
| Nested items | `campaigns{ id, asset: {id, symbol}}` | `Campaign{ asset_id, asset: {id, symbol}}` |
## Entities
This is the raw GraphQL file that is used by both The Graph and Envio for generating the final schemas hosted on their services.
The schema only contains entities:
{/* Add the code block */}
```graphql reference title="Sablier Airdrops - GraphQL Schema Entities"
https://github.com/sablier-labs/indexers/blob/main/src/schemas/airdrops.graphql
```
---
## Action_select_column
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
select columns of table "Action"
```graphql
enum Action_select_column {
block
campaign_id
category
chainId
claimAmount
claimIndex
claimRecipient
claimStreamId
claimTokenId
clawbackAmount
clawbackFrom
clawbackTo
db_write_timestamp
fee
from
hash
id
subgraphId
timestamp
}
```
### Values
#### [Action_select_column.block
](#)
column name
#### [Action_select_column.campaign_id
](#)
column name
#### [Action_select_column.category
](#)
column name
#### [Action_select_column.chainId
](#)
column name
#### [Action_select_column.claimAmount
](#)
column name
#### [Action_select_column.claimIndex
](#)
column name
#### [Action_select_column.claimRecipient
](#)
column name
#### [Action_select_column.claimStreamId
](#)
column name
#### [Action_select_column.claimTokenId
](#)
column name
#### [Action_select_column.clawbackAmount
](#)
column name
#### [Action_select_column.clawbackFrom
](#)
column name
#### [Action_select_column.clawbackTo
](#)
column name
#### [Action_select_column.db_write_timestamp
](#)
column name
#### [Action_select_column.fee
](#)
column name
#### [Action_select_column.from
](#)
column name
#### [Action_select_column.hash
](#)
column name
#### [Action_select_column.id
](#)
column name
#### [Action_select_column.subgraphId
](#)
column name
#### [Action_select_column.timestamp
](#)
column name
---
## Activity_select_column
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
select columns of table "Activity"
```graphql
enum Activity_select_column {
amount
campaign_id
claims
day
db_write_timestamp
id
timestamp
}
```
### Values
#### [Activity_select_column.amount
](#)
column name
#### [Activity_select_column.campaign_id
](#)
column name
#### [Activity_select_column.claims
](#)
column name
#### [Activity_select_column.day
](#)
column name
#### [Activity_select_column.db_write_timestamp
](#)
column name
#### [Activity_select_column.id
](#)
column name
#### [Activity_select_column.timestamp
](#)
column name
---
## Asset_select_column
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
select columns of table "Asset"
```graphql
enum Asset_select_column {
address
chainId
db_write_timestamp
decimals
id
name
symbol
}
```
### Values
#### [Asset_select_column.address
](#)
column name
#### [Asset_select_column.chainId
](#)
column name
#### [Asset_select_column.db_write_timestamp
](#)
column name
#### [Asset_select_column.decimals
](#)
column name
#### [Asset_select_column.id
](#)
column name
#### [Asset_select_column.name
](#)
column name
#### [Asset_select_column.symbol
](#)
column name
---
## Campaign_select_column_Campaign_aggregate_bool_exp_bool_and_arguments_columns
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
select "Campaign_aggregate_bool_exp_bool_and_arguments_columns" columns of table "Campaign"
```graphql
enum Campaign_select_column_Campaign_aggregate_bool_exp_bool_and_arguments_columns {
expires
streamCancelable
streamCliff
streamInitial
streamStart
streamTransferable
}
```
### Values
#### [Campaign_select_column_Campaign_aggregate_bool_exp_bool_and_arguments_columns.expires
](#)
column name
#### [Campaign_select_column_Campaign_aggregate_bool_exp_bool_and_arguments_columns.streamCancelable
](#)
column name
#### [Campaign_select_column_Campaign_aggregate_bool_exp_bool_and_arguments_columns.streamCliff
](#)
column name
#### [Campaign_select_column_Campaign_aggregate_bool_exp_bool_and_arguments_columns.streamInitial
](#)
column name
#### [Campaign_select_column_Campaign_aggregate_bool_exp_bool_and_arguments_columns.streamStart
](#)
column name
#### [Campaign_select_column_Campaign_aggregate_bool_exp_bool_and_arguments_columns.streamTransferable
](#)
column name
---
## Campaign_select_column_Campaign_aggregate_bool_exp_bool_or_arguments_columns
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
select "Campaign_aggregate_bool_exp_bool_or_arguments_columns" columns of table "Campaign"
```graphql
enum Campaign_select_column_Campaign_aggregate_bool_exp_bool_or_arguments_columns {
expires
streamCancelable
streamCliff
streamInitial
streamStart
streamTransferable
}
```
### Values
#### [Campaign_select_column_Campaign_aggregate_bool_exp_bool_or_arguments_columns.expires
](#)
column name
#### [Campaign_select_column_Campaign_aggregate_bool_exp_bool_or_arguments_columns.streamCancelable
](#)
column name
#### [Campaign_select_column_Campaign_aggregate_bool_exp_bool_or_arguments_columns.streamCliff
](#)
column name
#### [Campaign_select_column_Campaign_aggregate_bool_exp_bool_or_arguments_columns.streamInitial
](#)
column name
#### [Campaign_select_column_Campaign_aggregate_bool_exp_bool_or_arguments_columns.streamStart
](#)
column name
#### [Campaign_select_column_Campaign_aggregate_bool_exp_bool_or_arguments_columns.streamTransferable
](#)
column name
---
## Campaign_select_column
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
select columns of table "Campaign"
```graphql
enum Campaign_select_column {
address
admin
aggregateAmount
asset_id
category
chainId
claimedAmount
claimedCount
clawbackAction_id
clawbackTime
db_write_timestamp
expiration
expires
factory_id
fee
hash
id
ipfsCID
lockup
name
nickname
position
root
streamCancelable
streamCliff
streamCliffDuration
streamCliffPercentage
streamInitial
streamInitialPercentage
streamShape
streamStart
streamStartTime
streamTotalDuration
streamTransferable
subgraphId
timestamp
totalRecipients
version
}
```
### Values
#### [Campaign_select_column.address
](#)
column name
#### [Campaign_select_column.admin
](#)
column name
#### [Campaign_select_column.aggregateAmount
](#)
column name
#### [Campaign_select_column.asset_id
](#)
column name
#### [Campaign_select_column.category
](#)
column name
#### [Campaign_select_column.chainId
](#)
column name
#### [Campaign_select_column.claimedAmount
](#)
column name
#### [Campaign_select_column.claimedCount
](#)
column name
#### [Campaign_select_column.clawbackAction_id
](#)
column name
#### [Campaign_select_column.clawbackTime
](#)
column name
#### [Campaign_select_column.db_write_timestamp
](#)
column name
#### [Campaign_select_column.expiration
](#)
column name
#### [Campaign_select_column.expires
](#)
column name
#### [Campaign_select_column.factory_id
](#)
column name
#### [Campaign_select_column.fee
](#)
column name
#### [Campaign_select_column.hash
](#)
column name
#### [Campaign_select_column.id
](#)
column name
#### [Campaign_select_column.ipfsCID
](#)
column name
#### [Campaign_select_column.lockup
](#)
column name
#### [Campaign_select_column.name
](#)
column name
#### [Campaign_select_column.nickname
](#)
column name
#### [Campaign_select_column.position
](#)
column name
#### [Campaign_select_column.root
](#)
column name
#### [Campaign_select_column.streamCancelable
](#)
column name
#### [Campaign_select_column.streamCliff
](#)
column name
#### [Campaign_select_column.streamCliffDuration
](#)
column name
#### [Campaign_select_column.streamCliffPercentage
](#)
column name
#### [Campaign_select_column.streamInitial
](#)
column name
#### [Campaign_select_column.streamInitialPercentage
](#)
column name
#### [Campaign_select_column.streamShape
](#)
column name
#### [Campaign_select_column.streamStart
](#)
column name
#### [Campaign_select_column.streamStartTime
](#)
column name
#### [Campaign_select_column.streamTotalDuration
](#)
column name
#### [Campaign_select_column.streamTransferable
](#)
column name
#### [Campaign_select_column.subgraphId
](#)
column name
#### [Campaign_select_column.timestamp
](#)
column name
#### [Campaign_select_column.totalRecipients
](#)
column name
#### [Campaign_select_column.version
](#)
column name
---
## chain_metadata_select_column
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
select columns of table "chain_metadata"
```graphql
enum chain_metadata_select_column {
block_height
chain_id
end_block
first_event_block_number
is_hyper_sync
latest_fetched_block_number
latest_processed_block
num_batches_fetched
num_events_processed
start_block
timestamp_caught_up_to_head_or_endblock
}
```
### Values
#### [chain_metadata_select_column.block_height
](#)
column name
#### [chain_metadata_select_column.chain_id
](#)
column name
#### [chain_metadata_select_column.end_block
](#)
column name
#### [chain_metadata_select_column.first_event_block_number
](#)
column name
#### [chain_metadata_select_column.is_hyper_sync
](#)
column name
#### [chain_metadata_select_column.latest_fetched_block_number
](#)
column name
#### [chain_metadata_select_column.latest_processed_block
](#)
column name
#### [chain_metadata_select_column.num_batches_fetched
](#)
column name
#### [chain_metadata_select_column.num_events_processed
](#)
column name
#### [chain_metadata_select_column.start_block
](#)
column name
#### [chain_metadata_select_column.timestamp_caught_up_to_head_or_endblock
](#)
column name
---
## cursor_ordering
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
ordering argument of a cursor
```graphql
enum cursor_ordering {
ASC
DESC
}
```
### Values
#### [cursor_ordering.ASC
](#)
ascending ordering of the cursor
#### [cursor_ordering.DESC
](#)
descending ordering of the cursor
---
## dynamic_contract_registry_select_column
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
select columns of table "dynamic_contract_registry"
```graphql
enum dynamic_contract_registry_select_column {
chain_id
contract_address
contract_type
id
registering_event_block_number
registering_event_block_timestamp
registering_event_contract_name
registering_event_log_index
registering_event_name
registering_event_src_address
}
```
### Values
#### [dynamic_contract_registry_select_column.chain_id
](#)
column name
#### [dynamic_contract_registry_select_column.contract_address
](#)
column name
#### [dynamic_contract_registry_select_column.contract_type
](#)
column name
#### [dynamic_contract_registry_select_column.id
](#)
column name
#### [dynamic_contract_registry_select_column.registering_event_block_number
](#)
column name
#### [dynamic_contract_registry_select_column.registering_event_block_timestamp
](#)
column name
#### [dynamic_contract_registry_select_column.registering_event_contract_name
](#)
column name
#### [dynamic_contract_registry_select_column.registering_event_log_index
](#)
column name
#### [dynamic_contract_registry_select_column.registering_event_name
](#)
column name
#### [dynamic_contract_registry_select_column.registering_event_src_address
](#)
column name
---
## end_of_block_range_scanned_data_select_column
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
select columns of table "end_of_block_range_scanned_data"
```graphql
enum end_of_block_range_scanned_data_select_column {
block_hash
block_number
chain_id
}
```
### Values
#### [end_of_block_range_scanned_data_select_column.block_hash
](#)
column name
#### [end_of_block_range_scanned_data_select_column.block_number
](#)
column name
#### [end_of_block_range_scanned_data_select_column.chain_id
](#)
column name
---
## event_sync_state_select_column
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
select columns of table "event_sync_state"
```graphql
enum event_sync_state_select_column {
block_number
block_timestamp
chain_id
is_pre_registering_dynamic_contracts
log_index
}
```
### Values
#### [event_sync_state_select_column.block_number
](#)
column name
#### [event_sync_state_select_column.block_timestamp
](#)
column name
#### [event_sync_state_select_column.chain_id
](#)
column name
#### [event_sync_state_select_column.is_pre_registering_dynamic_contracts
](#)
column name
#### [event_sync_state_select_column.log_index
](#)
column name
---
## Factory_select_column
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
select columns of table "Factory"
```graphql
enum Factory_select_column {
address
alias
campaignCounter
chainId
db_write_timestamp
id
}
```
### Values
#### [Factory_select_column.address
](#)
column name
#### [Factory_select_column.alias
](#)
column name
#### [Factory_select_column.campaignCounter
](#)
column name
#### [Factory_select_column.chainId
](#)
column name
#### [Factory_select_column.db_write_timestamp
](#)
column name
#### [Factory_select_column.id
](#)
column name
---
## order_by
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
column ordering options
```graphql
enum order_by {
asc
asc_nulls_first
asc_nulls_last
desc
desc_nulls_first
desc_nulls_last
}
```
### Values
#### [order_by.asc
](#)
in ascending order, nulls last
#### [order_by.asc_nulls_first
](#)
in ascending order, nulls first
#### [order_by.asc_nulls_last
](#)
in ascending order, nulls last
#### [order_by.desc
](#)
in descending order, nulls first
#### [order_by.desc_nulls_first
](#)
in descending order, nulls first
#### [order_by.desc_nulls_last
](#)
in descending order, nulls last
---
## persisted_state_select_column
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
select columns of table "persisted_state"
```graphql
enum persisted_state_select_column {
abi_files_hash
config_hash
envio_version
handler_files_hash
id
schema_hash
}
```
### Values
#### [persisted_state_select_column.abi_files_hash
](#)
column name
#### [persisted_state_select_column.config_hash
](#)
column name
#### [persisted_state_select_column.envio_version
](#)
column name
#### [persisted_state_select_column.handler_files_hash
](#)
column name
#### [persisted_state_select_column.id
](#)
column name
#### [persisted_state_select_column.schema_hash
](#)
column name
---
## raw_events_select_column
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
select columns of table "raw_events"
```graphql
enum raw_events_select_column {
block_fields
block_hash
block_number
block_timestamp
chain_id
contract_name
db_write_timestamp
event_id
event_name
log_index
params
serial
src_address
transaction_fields
}
```
### Values
#### [raw_events_select_column.block_fields
](#)
column name
#### [raw_events_select_column.block_hash
](#)
column name
#### [raw_events_select_column.block_number
](#)
column name
#### [raw_events_select_column.block_timestamp
](#)
column name
#### [raw_events_select_column.chain_id
](#)
column name
#### [raw_events_select_column.contract_name
](#)
column name
#### [raw_events_select_column.db_write_timestamp
](#)
column name
#### [raw_events_select_column.event_id
](#)
column name
#### [raw_events_select_column.event_name
](#)
column name
#### [raw_events_select_column.log_index
](#)
column name
#### [raw_events_select_column.params
](#)
column name
#### [raw_events_select_column.serial
](#)
column name
#### [raw_events_select_column.src_address
](#)
column name
#### [raw_events_select_column.transaction_fields
](#)
column name
---
## Revenue_select_column
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
select columns of table "Revenue"
```graphql
enum Revenue_select_column {
amount
chainId
currency
date
dateTimestamp
db_write_timestamp
id
}
```
### Values
#### [Revenue_select_column.amount
](#)
column name
#### [Revenue_select_column.chainId
](#)
column name
#### [Revenue_select_column.currency
](#)
column name
#### [Revenue_select_column.date
](#)
column name
#### [Revenue_select_column.dateTimestamp
](#)
column name
#### [Revenue_select_column.db_write_timestamp
](#)
column name
#### [Revenue_select_column.id
](#)
column name
---
## RevenueTransaction_select_column_RevenueTransaction_aggregate_bool_exp_avg_arguments_columns
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
select "RevenueTransaction_aggregate_bool_exp_avg_arguments_columns" columns of table "RevenueTransaction"
```graphql
enum RevenueTransaction_select_column_RevenueTransaction_aggregate_bool_exp_avg_arguments_columns {
amount
}
```
### Values
#### [RevenueTransaction_select_column_RevenueTransaction_aggregate_bool_exp_avg_arguments_columns.amount
](#)
column name
---
## RevenueTransaction_select_column_RevenueTransaction_aggregate_bool_exp_corr_arguments_columns
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
select "RevenueTransaction_aggregate_bool_exp_corr_arguments_columns" columns of table "RevenueTransaction"
```graphql
enum RevenueTransaction_select_column_RevenueTransaction_aggregate_bool_exp_corr_arguments_columns {
amount
}
```
### Values
#### [RevenueTransaction_select_column_RevenueTransaction_aggregate_bool_exp_corr_arguments_columns.amount
](#)
column name
---
## RevenueTransaction_select_column_RevenueTransaction_aggregate_bool_exp_covar_samp_arguments_columns
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
select "RevenueTransaction_aggregate_bool_exp_covar_samp_arguments_columns" columns of table "RevenueTransaction"
```graphql
enum RevenueTransaction_select_column_RevenueTransaction_aggregate_bool_exp_covar_samp_arguments_columns {
amount
}
```
### Values
#### [RevenueTransaction_select_column_RevenueTransaction_aggregate_bool_exp_covar_samp_arguments_columns.amount
](#)
column name
---
## RevenueTransaction_select_column_RevenueTransaction_aggregate_bool_exp_max_arguments_columns
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
select "RevenueTransaction_aggregate_bool_exp_max_arguments_columns" columns of table "RevenueTransaction"
```graphql
enum RevenueTransaction_select_column_RevenueTransaction_aggregate_bool_exp_max_arguments_columns {
amount
}
```
### Values
#### [RevenueTransaction_select_column_RevenueTransaction_aggregate_bool_exp_max_arguments_columns.amount
](#)
column name
---
## RevenueTransaction_select_column_RevenueTransaction_aggregate_bool_exp_min_arguments_columns
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
select "RevenueTransaction_aggregate_bool_exp_min_arguments_columns" columns of table "RevenueTransaction"
```graphql
enum RevenueTransaction_select_column_RevenueTransaction_aggregate_bool_exp_min_arguments_columns {
amount
}
```
### Values
#### [RevenueTransaction_select_column_RevenueTransaction_aggregate_bool_exp_min_arguments_columns.amount
](#)
column name
---
## RevenueTransaction_select_column_RevenueTransaction_aggregate_bool_exp_stddev_samp_arguments_columns
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
select "RevenueTransaction_aggregate_bool_exp_stddev_samp_arguments_columns" columns of table "RevenueTransaction"
```graphql
enum RevenueTransaction_select_column_RevenueTransaction_aggregate_bool_exp_stddev_samp_arguments_columns {
amount
}
```
### Values
#### [RevenueTransaction_select_column_RevenueTransaction_aggregate_bool_exp_stddev_samp_arguments_columns.amount
](#)
column name
---
## RevenueTransaction_select_column_RevenueTransaction_aggregate_bool_exp_sum_arguments_columns
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
select "RevenueTransaction_aggregate_bool_exp_sum_arguments_columns" columns of table "RevenueTransaction"
```graphql
enum RevenueTransaction_select_column_RevenueTransaction_aggregate_bool_exp_sum_arguments_columns {
amount
}
```
### Values
#### [RevenueTransaction_select_column_RevenueTransaction_aggregate_bool_exp_sum_arguments_columns.amount
](#)
column name
---
## RevenueTransaction_select_column_RevenueTransaction_aggregate_bool_exp_var_samp_arguments_columns
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
select "RevenueTransaction_aggregate_bool_exp_var_samp_arguments_columns" columns of table "RevenueTransaction"
```graphql
enum RevenueTransaction_select_column_RevenueTransaction_aggregate_bool_exp_var_samp_arguments_columns {
amount
}
```
### Values
#### [RevenueTransaction_select_column_RevenueTransaction_aggregate_bool_exp_var_samp_arguments_columns.amount
](#)
column name
---
## RevenueTransaction_select_column
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
select columns of table "RevenueTransaction"
```graphql
enum RevenueTransaction_select_column {
amount
block
db_write_timestamp
hash
id
revenue_id
timestamp
}
```
### Values
#### [RevenueTransaction_select_column.amount
](#)
column name
#### [RevenueTransaction_select_column.block
](#)
column name
#### [RevenueTransaction_select_column.db_write_timestamp
](#)
column name
#### [RevenueTransaction_select_column.hash
](#)
column name
#### [RevenueTransaction_select_column.id
](#)
column name
#### [RevenueTransaction_select_column.revenue_id
](#)
column name
#### [RevenueTransaction_select_column.timestamp
](#)
column name
---
## Tranche_select_column
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
select columns of table "Tranche"
```graphql
enum Tranche_select_column {
campaign_id
db_write_timestamp
duration
endDuration
endPercentage
id
percentage
position
startDuration
startPercentage
}
```
### Values
#### [Tranche_select_column.campaign_id
](#)
column name
#### [Tranche_select_column.db_write_timestamp
](#)
column name
#### [Tranche_select_column.duration
](#)
column name
#### [Tranche_select_column.endDuration
](#)
column name
#### [Tranche_select_column.endPercentage
](#)
column name
#### [Tranche_select_column.id
](#)
column name
#### [Tranche_select_column.percentage
](#)
column name
#### [Tranche_select_column.position
](#)
column name
#### [Tranche_select_column.startDuration
](#)
column name
#### [Tranche_select_column.startPercentage
](#)
column name
---
## User_select_column
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
select columns of table "User"
```graphql
enum User_select_column {
address
chainId
db_write_timestamp
id
isOnlyAirdropClaimer
}
```
### Values
#### [User_select_column.address
](#)
column name
#### [User_select_column.chainId
](#)
column name
#### [User_select_column.db_write_timestamp
](#)
column name
#### [User_select_column.id
](#)
column name
#### [User_select_column.isOnlyAirdropClaimer
](#)
column name
---
## UserTransaction_select_column_UserTransaction_aggregate_bool_exp_avg_arguments_columns
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
select "UserTransaction_aggregate_bool_exp_avg_arguments_columns" columns of table "UserTransaction"
```graphql
enum UserTransaction_select_column_UserTransaction_aggregate_bool_exp_avg_arguments_columns {
fee
}
```
### Values
#### [UserTransaction_select_column_UserTransaction_aggregate_bool_exp_avg_arguments_columns.fee
](#)
column name
---
## UserTransaction_select_column_UserTransaction_aggregate_bool_exp_bool_and_arguments_columns
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
select "UserTransaction_aggregate_bool_exp_bool_and_arguments_columns" columns of table "UserTransaction"
```graphql
enum UserTransaction_select_column_UserTransaction_aggregate_bool_exp_bool_and_arguments_columns {
isAirdropClaim
}
```
### Values
#### [UserTransaction_select_column_UserTransaction_aggregate_bool_exp_bool_and_arguments_columns.isAirdropClaim
](#)
column name
---
## UserTransaction_select_column_UserTransaction_aggregate_bool_exp_bool_or_arguments_columns
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
select "UserTransaction_aggregate_bool_exp_bool_or_arguments_columns" columns of table "UserTransaction"
```graphql
enum UserTransaction_select_column_UserTransaction_aggregate_bool_exp_bool_or_arguments_columns {
isAirdropClaim
}
```
### Values
#### [UserTransaction_select_column_UserTransaction_aggregate_bool_exp_bool_or_arguments_columns.isAirdropClaim
](#)
column name
---
## UserTransaction_select_column_UserTransaction_aggregate_bool_exp_corr_arguments_columns
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
select "UserTransaction_aggregate_bool_exp_corr_arguments_columns" columns of table "UserTransaction"
```graphql
enum UserTransaction_select_column_UserTransaction_aggregate_bool_exp_corr_arguments_columns {
fee
}
```
### Values
#### [UserTransaction_select_column_UserTransaction_aggregate_bool_exp_corr_arguments_columns.fee
](#)
column name
---
## UserTransaction_select_column_UserTransaction_aggregate_bool_exp_covar_samp_arguments_columns
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
select "UserTransaction_aggregate_bool_exp_covar_samp_arguments_columns" columns of table "UserTransaction"
```graphql
enum UserTransaction_select_column_UserTransaction_aggregate_bool_exp_covar_samp_arguments_columns {
fee
}
```
### Values
#### [UserTransaction_select_column_UserTransaction_aggregate_bool_exp_covar_samp_arguments_columns.fee
](#)
column name
---
## UserTransaction_select_column_UserTransaction_aggregate_bool_exp_max_arguments_columns
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
select "UserTransaction_aggregate_bool_exp_max_arguments_columns" columns of table "UserTransaction"
```graphql
enum UserTransaction_select_column_UserTransaction_aggregate_bool_exp_max_arguments_columns {
fee
}
```
### Values
#### [UserTransaction_select_column_UserTransaction_aggregate_bool_exp_max_arguments_columns.fee
](#)
column name
---
## UserTransaction_select_column_UserTransaction_aggregate_bool_exp_min_arguments_columns
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
select "UserTransaction_aggregate_bool_exp_min_arguments_columns" columns of table "UserTransaction"
```graphql
enum UserTransaction_select_column_UserTransaction_aggregate_bool_exp_min_arguments_columns {
fee
}
```
### Values
#### [UserTransaction_select_column_UserTransaction_aggregate_bool_exp_min_arguments_columns.fee
](#)
column name
---
## UserTransaction_select_column_UserTransaction_aggregate_bool_exp_stddev_samp_arguments_columns
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
select "UserTransaction_aggregate_bool_exp_stddev_samp_arguments_columns" columns of table "UserTransaction"
```graphql
enum UserTransaction_select_column_UserTransaction_aggregate_bool_exp_stddev_samp_arguments_columns {
fee
}
```
### Values
#### [UserTransaction_select_column_UserTransaction_aggregate_bool_exp_stddev_samp_arguments_columns.fee
](#)
column name
---
## UserTransaction_select_column_UserTransaction_aggregate_bool_exp_sum_arguments_columns
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
select "UserTransaction_aggregate_bool_exp_sum_arguments_columns" columns of table "UserTransaction"
```graphql
enum UserTransaction_select_column_UserTransaction_aggregate_bool_exp_sum_arguments_columns {
fee
}
```
### Values
#### [UserTransaction_select_column_UserTransaction_aggregate_bool_exp_sum_arguments_columns.fee
](#)
column name
---
## UserTransaction_select_column_UserTransaction_aggregate_bool_exp_var_samp_arguments_columns
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
select "UserTransaction_aggregate_bool_exp_var_samp_arguments_columns" columns of table "UserTransaction"
```graphql
enum UserTransaction_select_column_UserTransaction_aggregate_bool_exp_var_samp_arguments_columns {
fee
}
```
### Values
#### [UserTransaction_select_column_UserTransaction_aggregate_bool_exp_var_samp_arguments_columns.fee
](#)
column name
---
## UserTransaction_select_column
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
select columns of table "UserTransaction"
```graphql
enum UserTransaction_select_column {
block
db_write_timestamp
fee
hash
id
isAirdropClaim
timestamp
user_id
}
```
### Values
#### [UserTransaction_select_column.block
](#)
column name
#### [UserTransaction_select_column.db_write_timestamp
](#)
column name
#### [UserTransaction_select_column.fee
](#)
column name
#### [UserTransaction_select_column.hash
](#)
column name
#### [UserTransaction_select_column.id
](#)
column name
#### [UserTransaction_select_column.isAirdropClaim
](#)
column name
#### [UserTransaction_select_column.timestamp
](#)
column name
#### [UserTransaction_select_column.user_id
](#)
column name
---
## Watcher_select_column
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
select columns of table "Watcher"
```graphql
enum Watcher_select_column {
actionCounter
campaignCounter
chainId
db_write_timestamp
id
}
```
### Values
#### [Watcher_select_column.actionCounter
](#)
column name
#### [Watcher_select_column.campaignCounter
](#)
column name
#### [Watcher_select_column.chainId
](#)
column name
#### [Watcher_select_column.db_write_timestamp
](#)
column name
#### [Watcher_select_column.id
](#)
column name
---
## Overview (2)
This documentation has been automatically generated from the GraphQL schema, with
[GraphQL-Markdown](https://graphql-markdown.github.io).
---
## Action_aggregate_order_by
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
order by aggregate values of table "Action"
```graphql
input Action_aggregate_order_by {
avg: Action_avg_order_by
count: order_by
max: Action_max_order_by
min: Action_min_order_by
stddev: Action_stddev_order_by
stddev_pop: Action_stddev_pop_order_by
stddev_samp: Action_stddev_samp_order_by
sum: Action_sum_order_by
var_pop: Action_var_pop_order_by
var_samp: Action_var_samp_order_by
variance: Action_variance_order_by
}
```
### Fields
#### [Action_aggregate_order_by.avg
](#)[Action_avg_order_by
](/docs/api/airdrops/graphql/envio/inputs/action-avg-order-by.mdx)
#### [Action_aggregate_order_by.count
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [Action_aggregate_order_by.max
](#)[Action_max_order_by
](/docs/api/airdrops/graphql/envio/inputs/action-max-order-by.mdx)
#### [Action_aggregate_order_by.min
](#)[Action_min_order_by
](/docs/api/airdrops/graphql/envio/inputs/action-min-order-by.mdx)
#### [Action_aggregate_order_by.stddev
](#)[Action_stddev_order_by
](/docs/api/airdrops/graphql/envio/inputs/action-stddev-order-by.mdx)
#### [Action_aggregate_order_by.stddev_pop
](#)[Action_stddev_pop_order_by
](/docs/api/airdrops/graphql/envio/inputs/action-stddev-pop-order-by.mdx)
#### [Action_aggregate_order_by.stddev_samp
](#)[Action_stddev_samp_order_by
](/docs/api/airdrops/graphql/envio/inputs/action-stddev-samp-order-by.mdx)
#### [Action_aggregate_order_by.sum
](#)[Action_sum_order_by
](/docs/api/airdrops/graphql/envio/inputs/action-sum-order-by.mdx)
#### [Action_aggregate_order_by.var_pop
](#)[Action_var_pop_order_by
](/docs/api/airdrops/graphql/envio/inputs/action-var-pop-order-by.mdx)
#### [Action_aggregate_order_by.var_samp
](#)[Action_var_samp_order_by
](/docs/api/airdrops/graphql/envio/inputs/action-var-samp-order-by.mdx)
#### [Action_aggregate_order_by.variance
](#)[Action_variance_order_by
](/docs/api/airdrops/graphql/envio/inputs/action-variance-order-by.mdx)
---
## Action_avg_order_by
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
order by avg() on columns of table "Action"
```graphql
input Action_avg_order_by {
block: order_by
chainId: order_by
claimAmount: order_by
claimIndex: order_by
claimTokenId: order_by
clawbackAmount: order_by
fee: order_by
subgraphId: order_by
timestamp: order_by
}
```
### Fields
#### [Action_avg_order_by.block
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [Action_avg_order_by.chainId
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [Action_avg_order_by.claimAmount
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [Action_avg_order_by.claimIndex
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [Action_avg_order_by.claimTokenId
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [Action_avg_order_by.clawbackAmount
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [Action_avg_order_by.fee
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [Action_avg_order_by.subgraphId
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [Action_avg_order_by.timestamp
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
---
## Action_bool_exp
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
Boolean expression to filter rows from the table "Action". All fields are combined with a logical 'AND'.
```graphql
input Action_bool_exp {
_and: [Action_bool_exp!]
_not: Action_bool_exp
_or: [Action_bool_exp!]
block: numeric_comparison_exp
campaign: Campaign_bool_exp
campaign_id: String_comparison_exp
category: actioncategory_comparison_exp
chainId: numeric_comparison_exp
claimAmount: numeric_comparison_exp
claimIndex: numeric_comparison_exp
claimRecipient: String_comparison_exp
claimStreamId: String_comparison_exp
claimTokenId: numeric_comparison_exp
clawbackAmount: numeric_comparison_exp
clawbackFrom: String_comparison_exp
clawbackTo: String_comparison_exp
db_write_timestamp: timestamp_comparison_exp
fee: numeric_comparison_exp
from: String_comparison_exp
hash: String_comparison_exp
id: String_comparison_exp
subgraphId: numeric_comparison_exp
timestamp: numeric_comparison_exp
}
```
### Fields
#### [Action_bool_exp.\_and
](#)[[Action_bool_exp!]
](/docs/api/airdrops/graphql/envio/inputs/action-bool-exp.mdx)
#### [Action_bool_exp.\_not
](#)[Action_bool_exp
](/docs/api/airdrops/graphql/envio/inputs/action-bool-exp.mdx)
#### [Action_bool_exp.\_or
](#)[[Action_bool_exp!]
](/docs/api/airdrops/graphql/envio/inputs/action-bool-exp.mdx)
#### [Action_bool_exp.block
](#)[numeric_comparison_exp
](/docs/api/airdrops/graphql/envio/inputs/numeric-comparison-exp.mdx)
#### [Action_bool_exp.campaign
](#)[Campaign_bool_exp
](/docs/api/airdrops/graphql/envio/inputs/campaign-bool-exp.mdx)
#### [Action_bool_exp.campaign_id
](#)[String_comparison_exp
](/docs/api/airdrops/graphql/envio/inputs/string-comparison-exp.mdx)
#### [Action_bool_exp.category
](#)[actioncategory_comparison_exp
](/docs/api/airdrops/graphql/envio/inputs/actioncategory-comparison-exp.mdx)
#### [Action_bool_exp.chainId
](#)[numeric_comparison_exp
](/docs/api/airdrops/graphql/envio/inputs/numeric-comparison-exp.mdx)
#### [Action_bool_exp.claimAmount
](#)[numeric_comparison_exp
](/docs/api/airdrops/graphql/envio/inputs/numeric-comparison-exp.mdx)
#### [Action_bool_exp.claimIndex
](#)[numeric_comparison_exp
](/docs/api/airdrops/graphql/envio/inputs/numeric-comparison-exp.mdx)
#### [Action_bool_exp.claimRecipient
](#)[String_comparison_exp
](/docs/api/airdrops/graphql/envio/inputs/string-comparison-exp.mdx)
#### [Action_bool_exp.claimStreamId
](#)[String_comparison_exp
](/docs/api/airdrops/graphql/envio/inputs/string-comparison-exp.mdx)
#### [Action_bool_exp.claimTokenId
](#)[numeric_comparison_exp
](/docs/api/airdrops/graphql/envio/inputs/numeric-comparison-exp.mdx)
#### [Action_bool_exp.clawbackAmount
](#)[numeric_comparison_exp
](/docs/api/airdrops/graphql/envio/inputs/numeric-comparison-exp.mdx)
#### [Action_bool_exp.clawbackFrom
](#)[String_comparison_exp
](/docs/api/airdrops/graphql/envio/inputs/string-comparison-exp.mdx)
#### [Action_bool_exp.clawbackTo
](#)[String_comparison_exp
](/docs/api/airdrops/graphql/envio/inputs/string-comparison-exp.mdx)
#### [Action_bool_exp.db_write_timestamp
](#)[timestamp_comparison_exp
](/docs/api/airdrops/graphql/envio/inputs/timestamp-comparison-exp.mdx)
#### [Action_bool_exp.fee
](#)[numeric_comparison_exp
](/docs/api/airdrops/graphql/envio/inputs/numeric-comparison-exp.mdx)
#### [Action_bool_exp.from
](#)[String_comparison_exp
](/docs/api/airdrops/graphql/envio/inputs/string-comparison-exp.mdx)
#### [Action_bool_exp.hash
](#)[String_comparison_exp
](/docs/api/airdrops/graphql/envio/inputs/string-comparison-exp.mdx)
#### [Action_bool_exp.id
](#)[String_comparison_exp
](/docs/api/airdrops/graphql/envio/inputs/string-comparison-exp.mdx)
#### [Action_bool_exp.subgraphId
](#)[numeric_comparison_exp
](/docs/api/airdrops/graphql/envio/inputs/numeric-comparison-exp.mdx)
#### [Action_bool_exp.timestamp
](#)[numeric_comparison_exp
](/docs/api/airdrops/graphql/envio/inputs/numeric-comparison-exp.mdx)
---
## Action_max_order_by
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
order by max() on columns of table "Action"
```graphql
input Action_max_order_by {
block: order_by
campaign_id: order_by
category: order_by
chainId: order_by
claimAmount: order_by
claimIndex: order_by
claimRecipient: order_by
claimStreamId: order_by
claimTokenId: order_by
clawbackAmount: order_by
clawbackFrom: order_by
clawbackTo: order_by
db_write_timestamp: order_by
fee: order_by
from: order_by
hash: order_by
id: order_by
subgraphId: order_by
timestamp: order_by
}
```
### Fields
#### [Action_max_order_by.block
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [Action_max_order_by.campaign_id
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [Action_max_order_by.category
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [Action_max_order_by.chainId
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [Action_max_order_by.claimAmount
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [Action_max_order_by.claimIndex
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [Action_max_order_by.claimRecipient
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [Action_max_order_by.claimStreamId
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [Action_max_order_by.claimTokenId
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [Action_max_order_by.clawbackAmount
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [Action_max_order_by.clawbackFrom
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [Action_max_order_by.clawbackTo
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [Action_max_order_by.db_write_timestamp
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [Action_max_order_by.fee
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [Action_max_order_by.from
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [Action_max_order_by.hash
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [Action_max_order_by.id
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [Action_max_order_by.subgraphId
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [Action_max_order_by.timestamp
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
---
## Action_min_order_by
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
order by min() on columns of table "Action"
```graphql
input Action_min_order_by {
block: order_by
campaign_id: order_by
category: order_by
chainId: order_by
claimAmount: order_by
claimIndex: order_by
claimRecipient: order_by
claimStreamId: order_by
claimTokenId: order_by
clawbackAmount: order_by
clawbackFrom: order_by
clawbackTo: order_by
db_write_timestamp: order_by
fee: order_by
from: order_by
hash: order_by
id: order_by
subgraphId: order_by
timestamp: order_by
}
```
### Fields
#### [Action_min_order_by.block
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [Action_min_order_by.campaign_id
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [Action_min_order_by.category
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [Action_min_order_by.chainId
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [Action_min_order_by.claimAmount
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [Action_min_order_by.claimIndex
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [Action_min_order_by.claimRecipient
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [Action_min_order_by.claimStreamId
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [Action_min_order_by.claimTokenId
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [Action_min_order_by.clawbackAmount
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [Action_min_order_by.clawbackFrom
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [Action_min_order_by.clawbackTo
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [Action_min_order_by.db_write_timestamp
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [Action_min_order_by.fee
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [Action_min_order_by.from
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [Action_min_order_by.hash
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [Action_min_order_by.id
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [Action_min_order_by.subgraphId
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [Action_min_order_by.timestamp
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
---
## Action_order_by
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
Ordering options when selecting data from "Action".
```graphql
input Action_order_by {
block: order_by
campaign: Campaign_order_by
campaign_id: order_by
category: order_by
chainId: order_by
claimAmount: order_by
claimIndex: order_by
claimRecipient: order_by
claimStreamId: order_by
claimTokenId: order_by
clawbackAmount: order_by
clawbackFrom: order_by
clawbackTo: order_by
db_write_timestamp: order_by
fee: order_by
from: order_by
hash: order_by
id: order_by
subgraphId: order_by
timestamp: order_by
}
```
### Fields
#### [Action_order_by.block
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [Action_order_by.campaign
](#)[Campaign_order_by
](/docs/api/airdrops/graphql/envio/inputs/campaign-order-by.mdx)
#### [Action_order_by.campaign_id
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [Action_order_by.category
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [Action_order_by.chainId
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [Action_order_by.claimAmount
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [Action_order_by.claimIndex
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [Action_order_by.claimRecipient
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [Action_order_by.claimStreamId
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [Action_order_by.claimTokenId
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [Action_order_by.clawbackAmount
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [Action_order_by.clawbackFrom
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [Action_order_by.clawbackTo
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [Action_order_by.db_write_timestamp
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [Action_order_by.fee
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [Action_order_by.from
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [Action_order_by.hash
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [Action_order_by.id
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [Action_order_by.subgraphId
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [Action_order_by.timestamp
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
---
## Action_stddev_order_by
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
order by stddev() on columns of table "Action"
```graphql
input Action_stddev_order_by {
block: order_by
chainId: order_by
claimAmount: order_by
claimIndex: order_by
claimTokenId: order_by
clawbackAmount: order_by
fee: order_by
subgraphId: order_by
timestamp: order_by
}
```
### Fields
#### [Action_stddev_order_by.block
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [Action_stddev_order_by.chainId
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [Action_stddev_order_by.claimAmount
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [Action_stddev_order_by.claimIndex
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [Action_stddev_order_by.claimTokenId
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [Action_stddev_order_by.clawbackAmount
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [Action_stddev_order_by.fee
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [Action_stddev_order_by.subgraphId
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [Action_stddev_order_by.timestamp
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
---
## Action_stddev_pop_order_by
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
order by stddev_pop() on columns of table "Action"
```graphql
input Action_stddev_pop_order_by {
block: order_by
chainId: order_by
claimAmount: order_by
claimIndex: order_by
claimTokenId: order_by
clawbackAmount: order_by
fee: order_by
subgraphId: order_by
timestamp: order_by
}
```
### Fields
#### [Action_stddev_pop_order_by.block
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [Action_stddev_pop_order_by.chainId
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [Action_stddev_pop_order_by.claimAmount
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [Action_stddev_pop_order_by.claimIndex
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [Action_stddev_pop_order_by.claimTokenId
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [Action_stddev_pop_order_by.clawbackAmount
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [Action_stddev_pop_order_by.fee
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [Action_stddev_pop_order_by.subgraphId
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [Action_stddev_pop_order_by.timestamp
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
---
## Action_stddev_samp_order_by
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
order by stddev_samp() on columns of table "Action"
```graphql
input Action_stddev_samp_order_by {
block: order_by
chainId: order_by
claimAmount: order_by
claimIndex: order_by
claimTokenId: order_by
clawbackAmount: order_by
fee: order_by
subgraphId: order_by
timestamp: order_by
}
```
### Fields
#### [Action_stddev_samp_order_by.block
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [Action_stddev_samp_order_by.chainId
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [Action_stddev_samp_order_by.claimAmount
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [Action_stddev_samp_order_by.claimIndex
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [Action_stddev_samp_order_by.claimTokenId
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [Action_stddev_samp_order_by.clawbackAmount
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [Action_stddev_samp_order_by.fee
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [Action_stddev_samp_order_by.subgraphId
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [Action_stddev_samp_order_by.timestamp
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
---
## Action_stream_cursor_input
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
Streaming cursor of the table "Action"
```graphql
input Action_stream_cursor_input {
initial_value: Action_stream_cursor_value_input!
ordering: cursor_ordering
}
```
### Fields
#### [Action_stream_cursor_input.initial_value
](#)[Action_stream_cursor_value_input!
](/docs/api/airdrops/graphql/envio/inputs/action-stream-cursor-value-input.mdx)
Stream column input with initial value
#### [Action_stream_cursor_input.ordering
](#)[cursor_ordering
](/docs/api/airdrops/graphql/envio/enums/cursor-ordering.mdx)
cursor ordering
---
## Action_stream_cursor_value_input
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
Initial value of the column from where the streaming should start
```graphql
input Action_stream_cursor_value_input {
block: numeric
campaign_id: String
category: actioncategory
chainId: numeric
claimAmount: numeric
claimIndex: numeric
claimRecipient: String
claimStreamId: String
claimTokenId: numeric
clawbackAmount: numeric
clawbackFrom: String
clawbackTo: String
db_write_timestamp: timestamp
fee: numeric
from: String
hash: String
id: String
subgraphId: numeric
timestamp: numeric
}
```
### Fields
#### [Action_stream_cursor_value_input.block
](#)[numeric
](/docs/api/airdrops/graphql/envio/scalars/numeric.mdx)
#### [Action_stream_cursor_value_input.campaign_id
](#)[String
](/docs/api/airdrops/graphql/envio/scalars/string.mdx)
#### [Action_stream_cursor_value_input.category
](#)[actioncategory
](/docs/api/airdrops/graphql/envio/scalars/actioncategory.mdx)
#### [Action_stream_cursor_value_input.chainId
](#)[numeric
](/docs/api/airdrops/graphql/envio/scalars/numeric.mdx)
#### [Action_stream_cursor_value_input.claimAmount
](#)[numeric
](/docs/api/airdrops/graphql/envio/scalars/numeric.mdx)
#### [Action_stream_cursor_value_input.claimIndex
](#)[numeric
](/docs/api/airdrops/graphql/envio/scalars/numeric.mdx)
#### [Action_stream_cursor_value_input.claimRecipient
](#)[String
](/docs/api/airdrops/graphql/envio/scalars/string.mdx)
#### [Action_stream_cursor_value_input.claimStreamId
](#)[String
](/docs/api/airdrops/graphql/envio/scalars/string.mdx)
#### [Action_stream_cursor_value_input.claimTokenId
](#)[numeric
](/docs/api/airdrops/graphql/envio/scalars/numeric.mdx)
#### [Action_stream_cursor_value_input.clawbackAmount
](#)[numeric
](/docs/api/airdrops/graphql/envio/scalars/numeric.mdx)
#### [Action_stream_cursor_value_input.clawbackFrom
](#)[String
](/docs/api/airdrops/graphql/envio/scalars/string.mdx)
#### [Action_stream_cursor_value_input.clawbackTo
](#)[String
](/docs/api/airdrops/graphql/envio/scalars/string.mdx)
#### [Action_stream_cursor_value_input.db_write_timestamp
](#)[timestamp
](/docs/api/airdrops/graphql/envio/scalars/timestamp.mdx)
#### [Action_stream_cursor_value_input.fee
](#)[numeric
](/docs/api/airdrops/graphql/envio/scalars/numeric.mdx)
#### [Action_stream_cursor_value_input.from
](#)[String
](/docs/api/airdrops/graphql/envio/scalars/string.mdx)
#### [Action_stream_cursor_value_input.hash
](#)[String
](/docs/api/airdrops/graphql/envio/scalars/string.mdx)
#### [Action_stream_cursor_value_input.id
](#)[String
](/docs/api/airdrops/graphql/envio/scalars/string.mdx)
#### [Action_stream_cursor_value_input.subgraphId
](#)[numeric
](/docs/api/airdrops/graphql/envio/scalars/numeric.mdx)
#### [Action_stream_cursor_value_input.timestamp
](#)[numeric
](/docs/api/airdrops/graphql/envio/scalars/numeric.mdx)
---
## Action_sum_order_by
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
order by sum() on columns of table "Action"
```graphql
input Action_sum_order_by {
block: order_by
chainId: order_by
claimAmount: order_by
claimIndex: order_by
claimTokenId: order_by
clawbackAmount: order_by
fee: order_by
subgraphId: order_by
timestamp: order_by
}
```
### Fields
#### [Action_sum_order_by.block
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [Action_sum_order_by.chainId
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [Action_sum_order_by.claimAmount
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [Action_sum_order_by.claimIndex
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [Action_sum_order_by.claimTokenId
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [Action_sum_order_by.clawbackAmount
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [Action_sum_order_by.fee
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [Action_sum_order_by.subgraphId
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [Action_sum_order_by.timestamp
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
---
## Action_var_pop_order_by
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
order by var_pop() on columns of table "Action"
```graphql
input Action_var_pop_order_by {
block: order_by
chainId: order_by
claimAmount: order_by
claimIndex: order_by
claimTokenId: order_by
clawbackAmount: order_by
fee: order_by
subgraphId: order_by
timestamp: order_by
}
```
### Fields
#### [Action_var_pop_order_by.block
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [Action_var_pop_order_by.chainId
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [Action_var_pop_order_by.claimAmount
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [Action_var_pop_order_by.claimIndex
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [Action_var_pop_order_by.claimTokenId
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [Action_var_pop_order_by.clawbackAmount
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [Action_var_pop_order_by.fee
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [Action_var_pop_order_by.subgraphId
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [Action_var_pop_order_by.timestamp
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
---
## Action_var_samp_order_by
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
order by var_samp() on columns of table "Action"
```graphql
input Action_var_samp_order_by {
block: order_by
chainId: order_by
claimAmount: order_by
claimIndex: order_by
claimTokenId: order_by
clawbackAmount: order_by
fee: order_by
subgraphId: order_by
timestamp: order_by
}
```
### Fields
#### [Action_var_samp_order_by.block
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [Action_var_samp_order_by.chainId
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [Action_var_samp_order_by.claimAmount
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [Action_var_samp_order_by.claimIndex
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [Action_var_samp_order_by.claimTokenId
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [Action_var_samp_order_by.clawbackAmount
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [Action_var_samp_order_by.fee
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [Action_var_samp_order_by.subgraphId
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [Action_var_samp_order_by.timestamp
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
---
## Action_variance_order_by
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
order by variance() on columns of table "Action"
```graphql
input Action_variance_order_by {
block: order_by
chainId: order_by
claimAmount: order_by
claimIndex: order_by
claimTokenId: order_by
clawbackAmount: order_by
fee: order_by
subgraphId: order_by
timestamp: order_by
}
```
### Fields
#### [Action_variance_order_by.block
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [Action_variance_order_by.chainId
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [Action_variance_order_by.claimAmount
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [Action_variance_order_by.claimIndex
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [Action_variance_order_by.claimTokenId
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [Action_variance_order_by.clawbackAmount
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [Action_variance_order_by.fee
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [Action_variance_order_by.subgraphId
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [Action_variance_order_by.timestamp
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
---
## actioncategory_comparison_exp
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
Boolean expression to compare columns of type "actioncategory". All fields are combined with logical 'AND'.
```graphql
input actioncategory_comparison_exp {
_eq: actioncategory
_gt: actioncategory
_gte: actioncategory
_in: [actioncategory!]
_is_null: Boolean
_lt: actioncategory
_lte: actioncategory
_neq: actioncategory
_nin: [actioncategory!]
}
```
### Fields
#### [actioncategory_comparison_exp.\_eq
](#)[actioncategory
](/docs/api/airdrops/graphql/envio/scalars/actioncategory.mdx)
#### [actioncategory_comparison_exp.\_gt
](#)[actioncategory
](/docs/api/airdrops/graphql/envio/scalars/actioncategory.mdx)
#### [actioncategory_comparison_exp.\_gte
](#)[actioncategory
](/docs/api/airdrops/graphql/envio/scalars/actioncategory.mdx)
#### [actioncategory_comparison_exp.\_in
](#)[[actioncategory!]
](/docs/api/airdrops/graphql/envio/scalars/actioncategory.mdx)
#### [actioncategory_comparison_exp.\_is_null
](#)[Boolean
](/docs/api/airdrops/graphql/envio/scalars/boolean.mdx)
#### [actioncategory_comparison_exp.\_lt
](#)[actioncategory
](/docs/api/airdrops/graphql/envio/scalars/actioncategory.mdx)
#### [actioncategory_comparison_exp.\_lte
](#)[actioncategory
](/docs/api/airdrops/graphql/envio/scalars/actioncategory.mdx)
#### [actioncategory_comparison_exp.\_neq
](#)[actioncategory
](/docs/api/airdrops/graphql/envio/scalars/actioncategory.mdx)
#### [actioncategory_comparison_exp.\_nin
](#)[[actioncategory!]
](/docs/api/airdrops/graphql/envio/scalars/actioncategory.mdx)
---
## Activity_aggregate_order_by
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
order by aggregate values of table "Activity"
```graphql
input Activity_aggregate_order_by {
avg: Activity_avg_order_by
count: order_by
max: Activity_max_order_by
min: Activity_min_order_by
stddev: Activity_stddev_order_by
stddev_pop: Activity_stddev_pop_order_by
stddev_samp: Activity_stddev_samp_order_by
sum: Activity_sum_order_by
var_pop: Activity_var_pop_order_by
var_samp: Activity_var_samp_order_by
variance: Activity_variance_order_by
}
```
### Fields
#### [Activity_aggregate_order_by.avg
](#)[Activity_avg_order_by
](/docs/api/airdrops/graphql/envio/inputs/activity-avg-order-by.mdx)
#### [Activity_aggregate_order_by.count
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [Activity_aggregate_order_by.max
](#)[Activity_max_order_by
](/docs/api/airdrops/graphql/envio/inputs/activity-max-order-by.mdx)
#### [Activity_aggregate_order_by.min
](#)[Activity_min_order_by
](/docs/api/airdrops/graphql/envio/inputs/activity-min-order-by.mdx)
#### [Activity_aggregate_order_by.stddev
](#)[Activity_stddev_order_by
](/docs/api/airdrops/graphql/envio/inputs/activity-stddev-order-by.mdx)
#### [Activity_aggregate_order_by.stddev_pop
](#)[Activity_stddev_pop_order_by
](/docs/api/airdrops/graphql/envio/inputs/activity-stddev-pop-order-by.mdx)
#### [Activity_aggregate_order_by.stddev_samp
](#)[Activity_stddev_samp_order_by
](/docs/api/airdrops/graphql/envio/inputs/activity-stddev-samp-order-by.mdx)
#### [Activity_aggregate_order_by.sum
](#)[Activity_sum_order_by
](/docs/api/airdrops/graphql/envio/inputs/activity-sum-order-by.mdx)
#### [Activity_aggregate_order_by.var_pop
](#)[Activity_var_pop_order_by
](/docs/api/airdrops/graphql/envio/inputs/activity-var-pop-order-by.mdx)
#### [Activity_aggregate_order_by.var_samp
](#)[Activity_var_samp_order_by
](/docs/api/airdrops/graphql/envio/inputs/activity-var-samp-order-by.mdx)
#### [Activity_aggregate_order_by.variance
](#)[Activity_variance_order_by
](/docs/api/airdrops/graphql/envio/inputs/activity-variance-order-by.mdx)
---
## Activity_avg_order_by
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
order by avg() on columns of table "Activity"
```graphql
input Activity_avg_order_by {
amount: order_by
claims: order_by
day: order_by
timestamp: order_by
}
```
### Fields
#### [Activity_avg_order_by.amount
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [Activity_avg_order_by.claims
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [Activity_avg_order_by.day
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [Activity_avg_order_by.timestamp
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
---
## Activity_bool_exp
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
Boolean expression to filter rows from the table "Activity". All fields are combined with a logical 'AND'.
```graphql
input Activity_bool_exp {
_and: [Activity_bool_exp!]
_not: Activity_bool_exp
_or: [Activity_bool_exp!]
amount: numeric_comparison_exp
campaign: Campaign_bool_exp
campaign_id: String_comparison_exp
claims: numeric_comparison_exp
day: numeric_comparison_exp
db_write_timestamp: timestamp_comparison_exp
id: String_comparison_exp
timestamp: numeric_comparison_exp
}
```
### Fields
#### [Activity_bool_exp.\_and
](#)[[Activity_bool_exp!]
](/docs/api/airdrops/graphql/envio/inputs/activity-bool-exp.mdx)
#### [Activity_bool_exp.\_not
](#)[Activity_bool_exp
](/docs/api/airdrops/graphql/envio/inputs/activity-bool-exp.mdx)
#### [Activity_bool_exp.\_or
](#)[[Activity_bool_exp!]
](/docs/api/airdrops/graphql/envio/inputs/activity-bool-exp.mdx)
#### [Activity_bool_exp.amount
](#)[numeric_comparison_exp
](/docs/api/airdrops/graphql/envio/inputs/numeric-comparison-exp.mdx)
#### [Activity_bool_exp.campaign
](#)[Campaign_bool_exp
](/docs/api/airdrops/graphql/envio/inputs/campaign-bool-exp.mdx)
#### [Activity_bool_exp.campaign_id
](#)[String_comparison_exp
](/docs/api/airdrops/graphql/envio/inputs/string-comparison-exp.mdx)
#### [Activity_bool_exp.claims
](#)[numeric_comparison_exp
](/docs/api/airdrops/graphql/envio/inputs/numeric-comparison-exp.mdx)
#### [Activity_bool_exp.day
](#)[numeric_comparison_exp
](/docs/api/airdrops/graphql/envio/inputs/numeric-comparison-exp.mdx)
#### [Activity_bool_exp.db_write_timestamp
](#)[timestamp_comparison_exp
](/docs/api/airdrops/graphql/envio/inputs/timestamp-comparison-exp.mdx)
#### [Activity_bool_exp.id
](#)[String_comparison_exp
](/docs/api/airdrops/graphql/envio/inputs/string-comparison-exp.mdx)
#### [Activity_bool_exp.timestamp
](#)[numeric_comparison_exp
](/docs/api/airdrops/graphql/envio/inputs/numeric-comparison-exp.mdx)
---
## Activity_max_order_by
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
order by max() on columns of table "Activity"
```graphql
input Activity_max_order_by {
amount: order_by
campaign_id: order_by
claims: order_by
day: order_by
db_write_timestamp: order_by
id: order_by
timestamp: order_by
}
```
### Fields
#### [Activity_max_order_by.amount
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [Activity_max_order_by.campaign_id
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [Activity_max_order_by.claims
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [Activity_max_order_by.day
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [Activity_max_order_by.db_write_timestamp
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [Activity_max_order_by.id
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [Activity_max_order_by.timestamp
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
---
## Activity_min_order_by
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
order by min() on columns of table "Activity"
```graphql
input Activity_min_order_by {
amount: order_by
campaign_id: order_by
claims: order_by
day: order_by
db_write_timestamp: order_by
id: order_by
timestamp: order_by
}
```
### Fields
#### [Activity_min_order_by.amount
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [Activity_min_order_by.campaign_id
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [Activity_min_order_by.claims
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [Activity_min_order_by.day
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [Activity_min_order_by.db_write_timestamp
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [Activity_min_order_by.id
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [Activity_min_order_by.timestamp
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
---
## Activity_order_by
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
Ordering options when selecting data from "Activity".
```graphql
input Activity_order_by {
amount: order_by
campaign: Campaign_order_by
campaign_id: order_by
claims: order_by
day: order_by
db_write_timestamp: order_by
id: order_by
timestamp: order_by
}
```
### Fields
#### [Activity_order_by.amount
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [Activity_order_by.campaign
](#)[Campaign_order_by
](/docs/api/airdrops/graphql/envio/inputs/campaign-order-by.mdx)
#### [Activity_order_by.campaign_id
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [Activity_order_by.claims
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [Activity_order_by.day
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [Activity_order_by.db_write_timestamp
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [Activity_order_by.id
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [Activity_order_by.timestamp
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
---
## Activity_stddev_order_by
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
order by stddev() on columns of table "Activity"
```graphql
input Activity_stddev_order_by {
amount: order_by
claims: order_by
day: order_by
timestamp: order_by
}
```
### Fields
#### [Activity_stddev_order_by.amount
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [Activity_stddev_order_by.claims
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [Activity_stddev_order_by.day
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [Activity_stddev_order_by.timestamp
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
---
## Activity_stddev_pop_order_by
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
order by stddev_pop() on columns of table "Activity"
```graphql
input Activity_stddev_pop_order_by {
amount: order_by
claims: order_by
day: order_by
timestamp: order_by
}
```
### Fields
#### [Activity_stddev_pop_order_by.amount
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [Activity_stddev_pop_order_by.claims
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [Activity_stddev_pop_order_by.day
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [Activity_stddev_pop_order_by.timestamp
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
---
## Activity_stddev_samp_order_by
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
order by stddev_samp() on columns of table "Activity"
```graphql
input Activity_stddev_samp_order_by {
amount: order_by
claims: order_by
day: order_by
timestamp: order_by
}
```
### Fields
#### [Activity_stddev_samp_order_by.amount
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [Activity_stddev_samp_order_by.claims
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [Activity_stddev_samp_order_by.day
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [Activity_stddev_samp_order_by.timestamp
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
---
## Activity_stream_cursor_input
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
Streaming cursor of the table "Activity"
```graphql
input Activity_stream_cursor_input {
initial_value: Activity_stream_cursor_value_input!
ordering: cursor_ordering
}
```
### Fields
#### [Activity_stream_cursor_input.initial_value
](#)[Activity_stream_cursor_value_input!
](/docs/api/airdrops/graphql/envio/inputs/activity-stream-cursor-value-input.mdx)
Stream column input with initial value
#### [Activity_stream_cursor_input.ordering
](#)[cursor_ordering
](/docs/api/airdrops/graphql/envio/enums/cursor-ordering.mdx)
cursor ordering
---
## Activity_stream_cursor_value_input
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
Initial value of the column from where the streaming should start
```graphql
input Activity_stream_cursor_value_input {
amount: numeric
campaign_id: String
claims: numeric
day: numeric
db_write_timestamp: timestamp
id: String
timestamp: numeric
}
```
### Fields
#### [Activity_stream_cursor_value_input.amount
](#)[numeric
](/docs/api/airdrops/graphql/envio/scalars/numeric.mdx)
#### [Activity_stream_cursor_value_input.campaign_id
](#)[String
](/docs/api/airdrops/graphql/envio/scalars/string.mdx)
#### [Activity_stream_cursor_value_input.claims
](#)[numeric
](/docs/api/airdrops/graphql/envio/scalars/numeric.mdx)
#### [Activity_stream_cursor_value_input.day
](#)[numeric
](/docs/api/airdrops/graphql/envio/scalars/numeric.mdx)
#### [Activity_stream_cursor_value_input.db_write_timestamp
](#)[timestamp
](/docs/api/airdrops/graphql/envio/scalars/timestamp.mdx)
#### [Activity_stream_cursor_value_input.id
](#)[String
](/docs/api/airdrops/graphql/envio/scalars/string.mdx)
#### [Activity_stream_cursor_value_input.timestamp
](#)[numeric
](/docs/api/airdrops/graphql/envio/scalars/numeric.mdx)
---
## Activity_sum_order_by
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
order by sum() on columns of table "Activity"
```graphql
input Activity_sum_order_by {
amount: order_by
claims: order_by
day: order_by
timestamp: order_by
}
```
### Fields
#### [Activity_sum_order_by.amount
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [Activity_sum_order_by.claims
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [Activity_sum_order_by.day
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [Activity_sum_order_by.timestamp
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
---
## Activity_var_pop_order_by
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
order by var_pop() on columns of table "Activity"
```graphql
input Activity_var_pop_order_by {
amount: order_by
claims: order_by
day: order_by
timestamp: order_by
}
```
### Fields
#### [Activity_var_pop_order_by.amount
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [Activity_var_pop_order_by.claims
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [Activity_var_pop_order_by.day
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [Activity_var_pop_order_by.timestamp
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
---
## Activity_var_samp_order_by
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
order by var_samp() on columns of table "Activity"
```graphql
input Activity_var_samp_order_by {
amount: order_by
claims: order_by
day: order_by
timestamp: order_by
}
```
### Fields
#### [Activity_var_samp_order_by.amount
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [Activity_var_samp_order_by.claims
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [Activity_var_samp_order_by.day
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [Activity_var_samp_order_by.timestamp
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
---
## Activity_variance_order_by
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
order by variance() on columns of table "Activity"
```graphql
input Activity_variance_order_by {
amount: order_by
claims: order_by
day: order_by
timestamp: order_by
}
```
### Fields
#### [Activity_variance_order_by.amount
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [Activity_variance_order_by.claims
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [Activity_variance_order_by.day
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [Activity_variance_order_by.timestamp
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
---
## Asset_bool_exp
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
Boolean expression to filter rows from the table "Asset". All fields are combined with a logical 'AND'.
```graphql
input Asset_bool_exp {
_and: [Asset_bool_exp!]
_not: Asset_bool_exp
_or: [Asset_bool_exp!]
address: String_comparison_exp
campaigns: Campaign_bool_exp
campaigns_aggregate: Campaign_aggregate_bool_exp
chainId: numeric_comparison_exp
db_write_timestamp: timestamp_comparison_exp
decimals: numeric_comparison_exp
id: String_comparison_exp
name: String_comparison_exp
symbol: String_comparison_exp
}
```
### Fields
#### [Asset_bool_exp.\_and
](#)[[Asset_bool_exp!]
](/docs/api/airdrops/graphql/envio/inputs/asset-bool-exp.mdx)
#### [Asset_bool_exp.\_not
](#)[Asset_bool_exp
](/docs/api/airdrops/graphql/envio/inputs/asset-bool-exp.mdx)
#### [Asset_bool_exp.\_or
](#)[[Asset_bool_exp!]
](/docs/api/airdrops/graphql/envio/inputs/asset-bool-exp.mdx)
#### [Asset_bool_exp.address
](#)[String_comparison_exp
](/docs/api/airdrops/graphql/envio/inputs/string-comparison-exp.mdx)
#### [Asset_bool_exp.campaigns
](#)[Campaign_bool_exp
](/docs/api/airdrops/graphql/envio/inputs/campaign-bool-exp.mdx)
#### [Asset_bool_exp.campaigns_aggregate
](#)[Campaign_aggregate_bool_exp
](/docs/api/airdrops/graphql/envio/inputs/campaign-aggregate-bool-exp.mdx)
#### [Asset_bool_exp.chainId
](#)[numeric_comparison_exp
](/docs/api/airdrops/graphql/envio/inputs/numeric-comparison-exp.mdx)
#### [Asset_bool_exp.db_write_timestamp
](#)[timestamp_comparison_exp
](/docs/api/airdrops/graphql/envio/inputs/timestamp-comparison-exp.mdx)
#### [Asset_bool_exp.decimals
](#)[numeric_comparison_exp
](/docs/api/airdrops/graphql/envio/inputs/numeric-comparison-exp.mdx)
#### [Asset_bool_exp.id
](#)[String_comparison_exp
](/docs/api/airdrops/graphql/envio/inputs/string-comparison-exp.mdx)
#### [Asset_bool_exp.name
](#)[String_comparison_exp
](/docs/api/airdrops/graphql/envio/inputs/string-comparison-exp.mdx)
#### [Asset_bool_exp.symbol
](#)[String_comparison_exp
](/docs/api/airdrops/graphql/envio/inputs/string-comparison-exp.mdx)
---
## Asset_order_by
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
Ordering options when selecting data from "Asset".
```graphql
input Asset_order_by {
address: order_by
campaigns_aggregate: Campaign_aggregate_order_by
chainId: order_by
db_write_timestamp: order_by
decimals: order_by
id: order_by
name: order_by
symbol: order_by
}
```
### Fields
#### [Asset_order_by.address
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [Asset_order_by.campaigns_aggregate
](#)[Campaign_aggregate_order_by
](/docs/api/airdrops/graphql/envio/inputs/campaign-aggregate-order-by.mdx)
#### [Asset_order_by.chainId
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [Asset_order_by.db_write_timestamp
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [Asset_order_by.decimals
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [Asset_order_by.id
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [Asset_order_by.name
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [Asset_order_by.symbol
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
---
## Asset_stream_cursor_input
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
Streaming cursor of the table "Asset"
```graphql
input Asset_stream_cursor_input {
initial_value: Asset_stream_cursor_value_input!
ordering: cursor_ordering
}
```
### Fields
#### [Asset_stream_cursor_input.initial_value
](#)[Asset_stream_cursor_value_input!
](/docs/api/airdrops/graphql/envio/inputs/asset-stream-cursor-value-input.mdx)
Stream column input with initial value
#### [Asset_stream_cursor_input.ordering
](#)[cursor_ordering
](/docs/api/airdrops/graphql/envio/enums/cursor-ordering.mdx)
cursor ordering
---
## Asset_stream_cursor_value_input
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
Initial value of the column from where the streaming should start
```graphql
input Asset_stream_cursor_value_input {
address: String
chainId: numeric
db_write_timestamp: timestamp
decimals: numeric
id: String
name: String
symbol: String
}
```
### Fields
#### [Asset_stream_cursor_value_input.address
](#)[String
](/docs/api/airdrops/graphql/envio/scalars/string.mdx)
#### [Asset_stream_cursor_value_input.chainId
](#)[numeric
](/docs/api/airdrops/graphql/envio/scalars/numeric.mdx)
#### [Asset_stream_cursor_value_input.db_write_timestamp
](#)[timestamp
](/docs/api/airdrops/graphql/envio/scalars/timestamp.mdx)
#### [Asset_stream_cursor_value_input.decimals
](#)[numeric
](/docs/api/airdrops/graphql/envio/scalars/numeric.mdx)
#### [Asset_stream_cursor_value_input.id
](#)[String
](/docs/api/airdrops/graphql/envio/scalars/string.mdx)
#### [Asset_stream_cursor_value_input.name
](#)[String
](/docs/api/airdrops/graphql/envio/scalars/string.mdx)
#### [Asset_stream_cursor_value_input.symbol
](#)[String
](/docs/api/airdrops/graphql/envio/scalars/string.mdx)
---
## Boolean_comparison_exp
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
Boolean expression to compare columns of type "Boolean". All fields are combined with logical 'AND'.
```graphql
input Boolean_comparison_exp {
_eq: Boolean
_gt: Boolean
_gte: Boolean
_in: [Boolean!]
_is_null: Boolean
_lt: Boolean
_lte: Boolean
_neq: Boolean
_nin: [Boolean!]
}
```
### Fields
#### [Boolean_comparison_exp.\_eq
](#)[Boolean
](/docs/api/airdrops/graphql/envio/scalars/boolean.mdx)
#### [Boolean_comparison_exp.\_gt
](#)[Boolean
](/docs/api/airdrops/graphql/envio/scalars/boolean.mdx)
#### [Boolean_comparison_exp.\_gte
](#)[Boolean
](/docs/api/airdrops/graphql/envio/scalars/boolean.mdx)
#### [Boolean_comparison_exp.\_in
](#)[[Boolean!]
](/docs/api/airdrops/graphql/envio/scalars/boolean.mdx)
#### [Boolean_comparison_exp.\_is_null
](#)[Boolean
](/docs/api/airdrops/graphql/envio/scalars/boolean.mdx)
#### [Boolean_comparison_exp.\_lt
](#)[Boolean
](/docs/api/airdrops/graphql/envio/scalars/boolean.mdx)
#### [Boolean_comparison_exp.\_lte
](#)[Boolean
](/docs/api/airdrops/graphql/envio/scalars/boolean.mdx)
#### [Boolean_comparison_exp.\_neq
](#)[Boolean
](/docs/api/airdrops/graphql/envio/scalars/boolean.mdx)
#### [Boolean_comparison_exp.\_nin
](#)[[Boolean!]
](/docs/api/airdrops/graphql/envio/scalars/boolean.mdx)
---
## Campaign_aggregate_bool_exp_bool_and
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
No description
```graphql
input Campaign_aggregate_bool_exp_bool_and {
arguments: Campaign_select_column_Campaign_aggregate_bool_exp_bool_and_arguments_columns!
distinct: Boolean
filter: Campaign_bool_exp
predicate: Boolean_comparison_exp!
}
```
### Fields
#### [Campaign_aggregate_bool_exp_bool_and.arguments
](#)[Campaign_select_column_Campaign_aggregate_bool_exp_bool_and_arguments_columns!
](/docs/api/airdrops/graphql/envio/enums/campaign-select-column-campaign-aggregate-bool-exp-bool-and-arguments-columns.mdx)
#### [Campaign_aggregate_bool_exp_bool_and.distinct
](#)[Boolean
](/docs/api/airdrops/graphql/envio/scalars/boolean.mdx)
#### [Campaign_aggregate_bool_exp_bool_and.filter
](#)[Campaign_bool_exp
](/docs/api/airdrops/graphql/envio/inputs/campaign-bool-exp.mdx)
#### [Campaign_aggregate_bool_exp_bool_and.predicate
](#)[Boolean_comparison_exp!
](/docs/api/airdrops/graphql/envio/inputs/boolean-comparison-exp.mdx)
---
## Campaign_aggregate_bool_exp_bool_or
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
No description
```graphql
input Campaign_aggregate_bool_exp_bool_or {
arguments: Campaign_select_column_Campaign_aggregate_bool_exp_bool_or_arguments_columns!
distinct: Boolean
filter: Campaign_bool_exp
predicate: Boolean_comparison_exp!
}
```
### Fields
#### [Campaign_aggregate_bool_exp_bool_or.arguments
](#)[Campaign_select_column_Campaign_aggregate_bool_exp_bool_or_arguments_columns!
](/docs/api/airdrops/graphql/envio/enums/campaign-select-column-campaign-aggregate-bool-exp-bool-or-arguments-columns.mdx)
#### [Campaign_aggregate_bool_exp_bool_or.distinct
](#)[Boolean
](/docs/api/airdrops/graphql/envio/scalars/boolean.mdx)
#### [Campaign_aggregate_bool_exp_bool_or.filter
](#)[Campaign_bool_exp
](/docs/api/airdrops/graphql/envio/inputs/campaign-bool-exp.mdx)
#### [Campaign_aggregate_bool_exp_bool_or.predicate
](#)[Boolean_comparison_exp!
](/docs/api/airdrops/graphql/envio/inputs/boolean-comparison-exp.mdx)
---
## Campaign_aggregate_bool_exp_count
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
No description
```graphql
input Campaign_aggregate_bool_exp_count {
arguments: [Campaign_select_column!]
distinct: Boolean
filter: Campaign_bool_exp
predicate: Int_comparison_exp!
}
```
### Fields
#### [Campaign_aggregate_bool_exp_count.arguments
](#)[[Campaign_select_column!]
](/docs/api/airdrops/graphql/envio/enums/campaign-select-column.mdx)
#### [Campaign_aggregate_bool_exp_count.distinct
](#)[Boolean
](/docs/api/airdrops/graphql/envio/scalars/boolean.mdx)
#### [Campaign_aggregate_bool_exp_count.filter
](#)[Campaign_bool_exp
](/docs/api/airdrops/graphql/envio/inputs/campaign-bool-exp.mdx)
#### [Campaign_aggregate_bool_exp_count.predicate
](#)[Int_comparison_exp!
](/docs/api/airdrops/graphql/envio/inputs/int-comparison-exp.mdx)
---
## Campaign_aggregate_bool_exp
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
No description
```graphql
input Campaign_aggregate_bool_exp {
bool_and: Campaign_aggregate_bool_exp_bool_and
bool_or: Campaign_aggregate_bool_exp_bool_or
count: Campaign_aggregate_bool_exp_count
}
```
### Fields
#### [Campaign_aggregate_bool_exp.bool_and
](#)[Campaign_aggregate_bool_exp_bool_and
](/docs/api/airdrops/graphql/envio/inputs/campaign-aggregate-bool-exp-bool-and.mdx)
#### [Campaign_aggregate_bool_exp.bool_or
](#)[Campaign_aggregate_bool_exp_bool_or
](/docs/api/airdrops/graphql/envio/inputs/campaign-aggregate-bool-exp-bool-or.mdx)
#### [Campaign_aggregate_bool_exp.count
](#)[Campaign_aggregate_bool_exp_count
](/docs/api/airdrops/graphql/envio/inputs/campaign-aggregate-bool-exp-count.mdx)
---
## Campaign_aggregate_order_by
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
order by aggregate values of table "Campaign"
```graphql
input Campaign_aggregate_order_by {
avg: Campaign_avg_order_by
count: order_by
max: Campaign_max_order_by
min: Campaign_min_order_by
stddev: Campaign_stddev_order_by
stddev_pop: Campaign_stddev_pop_order_by
stddev_samp: Campaign_stddev_samp_order_by
sum: Campaign_sum_order_by
var_pop: Campaign_var_pop_order_by
var_samp: Campaign_var_samp_order_by
variance: Campaign_variance_order_by
}
```
### Fields
#### [Campaign_aggregate_order_by.avg
](#)[Campaign_avg_order_by
](/docs/api/airdrops/graphql/envio/inputs/campaign-avg-order-by.mdx)
#### [Campaign_aggregate_order_by.count
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [Campaign_aggregate_order_by.max
](#)[Campaign_max_order_by
](/docs/api/airdrops/graphql/envio/inputs/campaign-max-order-by.mdx)
#### [Campaign_aggregate_order_by.min
](#)[Campaign_min_order_by
](/docs/api/airdrops/graphql/envio/inputs/campaign-min-order-by.mdx)
#### [Campaign_aggregate_order_by.stddev
](#)[Campaign_stddev_order_by
](/docs/api/airdrops/graphql/envio/inputs/campaign-stddev-order-by.mdx)
#### [Campaign_aggregate_order_by.stddev_pop
](#)[Campaign_stddev_pop_order_by
](/docs/api/airdrops/graphql/envio/inputs/campaign-stddev-pop-order-by.mdx)
#### [Campaign_aggregate_order_by.stddev_samp
](#)[Campaign_stddev_samp_order_by
](/docs/api/airdrops/graphql/envio/inputs/campaign-stddev-samp-order-by.mdx)
#### [Campaign_aggregate_order_by.sum
](#)[Campaign_sum_order_by
](/docs/api/airdrops/graphql/envio/inputs/campaign-sum-order-by.mdx)
#### [Campaign_aggregate_order_by.var_pop
](#)[Campaign_var_pop_order_by
](/docs/api/airdrops/graphql/envio/inputs/campaign-var-pop-order-by.mdx)
#### [Campaign_aggregate_order_by.var_samp
](#)[Campaign_var_samp_order_by
](/docs/api/airdrops/graphql/envio/inputs/campaign-var-samp-order-by.mdx)
#### [Campaign_aggregate_order_by.variance
](#)[Campaign_variance_order_by
](/docs/api/airdrops/graphql/envio/inputs/campaign-variance-order-by.mdx)
---
## Campaign_avg_order_by
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
order by avg() on columns of table "Campaign"
```graphql
input Campaign_avg_order_by {
aggregateAmount: order_by
chainId: order_by
claimedAmount: order_by
claimedCount: order_by
clawbackTime: order_by
expiration: order_by
fee: order_by
position: order_by
streamCliffDuration: order_by
streamCliffPercentage: order_by
streamInitialPercentage: order_by
streamStartTime: order_by
streamTotalDuration: order_by
subgraphId: order_by
timestamp: order_by
totalRecipients: order_by
}
```
### Fields
#### [Campaign_avg_order_by.aggregateAmount
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [Campaign_avg_order_by.chainId
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [Campaign_avg_order_by.claimedAmount
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [Campaign_avg_order_by.claimedCount
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [Campaign_avg_order_by.clawbackTime
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [Campaign_avg_order_by.expiration
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [Campaign_avg_order_by.fee
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [Campaign_avg_order_by.position
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [Campaign_avg_order_by.streamCliffDuration
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [Campaign_avg_order_by.streamCliffPercentage
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [Campaign_avg_order_by.streamInitialPercentage
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [Campaign_avg_order_by.streamStartTime
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [Campaign_avg_order_by.streamTotalDuration
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [Campaign_avg_order_by.subgraphId
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [Campaign_avg_order_by.timestamp
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [Campaign_avg_order_by.totalRecipients
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
---
## Campaign_bool_exp
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
Boolean expression to filter rows from the table "Campaign". All fields are combined with a logical 'AND'.
```graphql
input Campaign_bool_exp {
_and: [Campaign_bool_exp!]
_not: Campaign_bool_exp
_or: [Campaign_bool_exp!]
actions: Action_bool_exp
activities: Activity_bool_exp
address: String_comparison_exp
admin: String_comparison_exp
aggregateAmount: numeric_comparison_exp
asset: Asset_bool_exp
asset_id: String_comparison_exp
category: campaigncategory_comparison_exp
chainId: numeric_comparison_exp
claimedAmount: numeric_comparison_exp
claimedCount: numeric_comparison_exp
clawbackAction: Action_bool_exp
clawbackAction_id: String_comparison_exp
clawbackTime: numeric_comparison_exp
db_write_timestamp: timestamp_comparison_exp
expiration: numeric_comparison_exp
expires: Boolean_comparison_exp
factory: Factory_bool_exp
factory_id: String_comparison_exp
fee: numeric_comparison_exp
hash: String_comparison_exp
id: String_comparison_exp
ipfsCID: String_comparison_exp
lockup: String_comparison_exp
name: String_comparison_exp
nickname: String_comparison_exp
position: numeric_comparison_exp
root: String_comparison_exp
streamCancelable: Boolean_comparison_exp
streamCliff: Boolean_comparison_exp
streamCliffDuration: numeric_comparison_exp
streamCliffPercentage: numeric_comparison_exp
streamInitial: Boolean_comparison_exp
streamInitialPercentage: numeric_comparison_exp
streamShape: String_comparison_exp
streamStart: Boolean_comparison_exp
streamStartTime: numeric_comparison_exp
streamTotalDuration: numeric_comparison_exp
streamTranches: Tranche_bool_exp
streamTransferable: Boolean_comparison_exp
subgraphId: numeric_comparison_exp
timestamp: numeric_comparison_exp
totalRecipients: numeric_comparison_exp
version: String_comparison_exp
}
```
### Fields
#### [Campaign_bool_exp.\_and
](#)[[Campaign_bool_exp!]
](/docs/api/airdrops/graphql/envio/inputs/campaign-bool-exp.mdx)
#### [Campaign_bool_exp.\_not
](#)[Campaign_bool_exp
](/docs/api/airdrops/graphql/envio/inputs/campaign-bool-exp.mdx)
#### [Campaign_bool_exp.\_or
](#)[[Campaign_bool_exp!]
](/docs/api/airdrops/graphql/envio/inputs/campaign-bool-exp.mdx)
#### [Campaign_bool_exp.actions
](#)[Action_bool_exp
](/docs/api/airdrops/graphql/envio/inputs/action-bool-exp.mdx)
#### [Campaign_bool_exp.activities
](#)[Activity_bool_exp
](/docs/api/airdrops/graphql/envio/inputs/activity-bool-exp.mdx)
#### [Campaign_bool_exp.address
](#)[String_comparison_exp
](/docs/api/airdrops/graphql/envio/inputs/string-comparison-exp.mdx)
#### [Campaign_bool_exp.admin
](#)[String_comparison_exp
](/docs/api/airdrops/graphql/envio/inputs/string-comparison-exp.mdx)
#### [Campaign_bool_exp.aggregateAmount
](#)[numeric_comparison_exp
](/docs/api/airdrops/graphql/envio/inputs/numeric-comparison-exp.mdx)
#### [Campaign_bool_exp.asset
](#)[Asset_bool_exp
](/docs/api/airdrops/graphql/envio/inputs/asset-bool-exp.mdx)
#### [Campaign_bool_exp.asset_id
](#)[String_comparison_exp
](/docs/api/airdrops/graphql/envio/inputs/string-comparison-exp.mdx)
#### [Campaign_bool_exp.category
](#)[campaigncategory_comparison_exp
](/docs/api/airdrops/graphql/envio/inputs/campaigncategory-comparison-exp.mdx)
#### [Campaign_bool_exp.chainId
](#)[numeric_comparison_exp
](/docs/api/airdrops/graphql/envio/inputs/numeric-comparison-exp.mdx)
#### [Campaign_bool_exp.claimedAmount
](#)[numeric_comparison_exp
](/docs/api/airdrops/graphql/envio/inputs/numeric-comparison-exp.mdx)
#### [Campaign_bool_exp.claimedCount
](#)[numeric_comparison_exp
](/docs/api/airdrops/graphql/envio/inputs/numeric-comparison-exp.mdx)
#### [Campaign_bool_exp.clawbackAction
](#)[Action_bool_exp
](/docs/api/airdrops/graphql/envio/inputs/action-bool-exp.mdx)
#### [Campaign_bool_exp.clawbackAction_id
](#)[String_comparison_exp
](/docs/api/airdrops/graphql/envio/inputs/string-comparison-exp.mdx)
#### [Campaign_bool_exp.clawbackTime
](#)[numeric_comparison_exp
](/docs/api/airdrops/graphql/envio/inputs/numeric-comparison-exp.mdx)
#### [Campaign_bool_exp.db_write_timestamp
](#)[timestamp_comparison_exp
](/docs/api/airdrops/graphql/envio/inputs/timestamp-comparison-exp.mdx)
#### [Campaign_bool_exp.expiration
](#)[numeric_comparison_exp
](/docs/api/airdrops/graphql/envio/inputs/numeric-comparison-exp.mdx)
#### [Campaign_bool_exp.expires
](#)[Boolean_comparison_exp
](/docs/api/airdrops/graphql/envio/inputs/boolean-comparison-exp.mdx)
#### [Campaign_bool_exp.factory
](#)[Factory_bool_exp
](/docs/api/airdrops/graphql/envio/inputs/factory-bool-exp.mdx)
#### [Campaign_bool_exp.factory_id
](#)[String_comparison_exp
](/docs/api/airdrops/graphql/envio/inputs/string-comparison-exp.mdx)
#### [Campaign_bool_exp.fee
](#)[numeric_comparison_exp
](/docs/api/airdrops/graphql/envio/inputs/numeric-comparison-exp.mdx)
#### [Campaign_bool_exp.hash
](#)[String_comparison_exp
](/docs/api/airdrops/graphql/envio/inputs/string-comparison-exp.mdx)
#### [Campaign_bool_exp.id
](#)[String_comparison_exp
](/docs/api/airdrops/graphql/envio/inputs/string-comparison-exp.mdx)
#### [Campaign_bool_exp.ipfsCID
](#)[String_comparison_exp
](/docs/api/airdrops/graphql/envio/inputs/string-comparison-exp.mdx)
#### [Campaign_bool_exp.lockup
](#)[String_comparison_exp
](/docs/api/airdrops/graphql/envio/inputs/string-comparison-exp.mdx)
#### [Campaign_bool_exp.name
](#)[String_comparison_exp
](/docs/api/airdrops/graphql/envio/inputs/string-comparison-exp.mdx)
#### [Campaign_bool_exp.nickname
](#)[String_comparison_exp
](/docs/api/airdrops/graphql/envio/inputs/string-comparison-exp.mdx)
#### [Campaign_bool_exp.position
](#)[numeric_comparison_exp
](/docs/api/airdrops/graphql/envio/inputs/numeric-comparison-exp.mdx)
#### [Campaign_bool_exp.root
](#)[String_comparison_exp
](/docs/api/airdrops/graphql/envio/inputs/string-comparison-exp.mdx)
#### [Campaign_bool_exp.streamCancelable
](#)[Boolean_comparison_exp
](/docs/api/airdrops/graphql/envio/inputs/boolean-comparison-exp.mdx)
#### [Campaign_bool_exp.streamCliff
](#)[Boolean_comparison_exp
](/docs/api/airdrops/graphql/envio/inputs/boolean-comparison-exp.mdx)
#### [Campaign_bool_exp.streamCliffDuration
](#)[numeric_comparison_exp
](/docs/api/airdrops/graphql/envio/inputs/numeric-comparison-exp.mdx)
#### [Campaign_bool_exp.streamCliffPercentage
](#)[numeric_comparison_exp
](/docs/api/airdrops/graphql/envio/inputs/numeric-comparison-exp.mdx)
#### [Campaign_bool_exp.streamInitial
](#)[Boolean_comparison_exp
](/docs/api/airdrops/graphql/envio/inputs/boolean-comparison-exp.mdx)
#### [Campaign_bool_exp.streamInitialPercentage
](#)[numeric_comparison_exp
](/docs/api/airdrops/graphql/envio/inputs/numeric-comparison-exp.mdx)
#### [Campaign_bool_exp.streamShape
](#)[String_comparison_exp
](/docs/api/airdrops/graphql/envio/inputs/string-comparison-exp.mdx)
#### [Campaign_bool_exp.streamStart
](#)[Boolean_comparison_exp
](/docs/api/airdrops/graphql/envio/inputs/boolean-comparison-exp.mdx)
#### [Campaign_bool_exp.streamStartTime
](#)[numeric_comparison_exp
](/docs/api/airdrops/graphql/envio/inputs/numeric-comparison-exp.mdx)
#### [Campaign_bool_exp.streamTotalDuration
](#)[numeric_comparison_exp
](/docs/api/airdrops/graphql/envio/inputs/numeric-comparison-exp.mdx)
#### [Campaign_bool_exp.streamTranches
](#)[Tranche_bool_exp
](/docs/api/airdrops/graphql/envio/inputs/tranche-bool-exp.mdx)
#### [Campaign_bool_exp.streamTransferable
](#)[Boolean_comparison_exp
](/docs/api/airdrops/graphql/envio/inputs/boolean-comparison-exp.mdx)
#### [Campaign_bool_exp.subgraphId
](#)[numeric_comparison_exp
](/docs/api/airdrops/graphql/envio/inputs/numeric-comparison-exp.mdx)
#### [Campaign_bool_exp.timestamp
](#)[numeric_comparison_exp
](/docs/api/airdrops/graphql/envio/inputs/numeric-comparison-exp.mdx)
#### [Campaign_bool_exp.totalRecipients
](#)[numeric_comparison_exp
](/docs/api/airdrops/graphql/envio/inputs/numeric-comparison-exp.mdx)
#### [Campaign_bool_exp.version
](#)[String_comparison_exp
](/docs/api/airdrops/graphql/envio/inputs/string-comparison-exp.mdx)
---
## Campaign_max_order_by
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
order by max() on columns of table "Campaign"
```graphql
input Campaign_max_order_by {
address: order_by
admin: order_by
aggregateAmount: order_by
asset_id: order_by
category: order_by
chainId: order_by
claimedAmount: order_by
claimedCount: order_by
clawbackAction_id: order_by
clawbackTime: order_by
db_write_timestamp: order_by
expiration: order_by
factory_id: order_by
fee: order_by
hash: order_by
id: order_by
ipfsCID: order_by
lockup: order_by
name: order_by
nickname: order_by
position: order_by
root: order_by
streamCliffDuration: order_by
streamCliffPercentage: order_by
streamInitialPercentage: order_by
streamShape: order_by
streamStartTime: order_by
streamTotalDuration: order_by
subgraphId: order_by
timestamp: order_by
totalRecipients: order_by
version: order_by
}
```
### Fields
#### [Campaign_max_order_by.address
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [Campaign_max_order_by.admin
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [Campaign_max_order_by.aggregateAmount
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [Campaign_max_order_by.asset_id
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [Campaign_max_order_by.category
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [Campaign_max_order_by.chainId
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [Campaign_max_order_by.claimedAmount
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [Campaign_max_order_by.claimedCount
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [Campaign_max_order_by.clawbackAction_id
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [Campaign_max_order_by.clawbackTime
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [Campaign_max_order_by.db_write_timestamp
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [Campaign_max_order_by.expiration
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [Campaign_max_order_by.factory_id
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [Campaign_max_order_by.fee
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [Campaign_max_order_by.hash
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [Campaign_max_order_by.id
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [Campaign_max_order_by.ipfsCID
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [Campaign_max_order_by.lockup
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [Campaign_max_order_by.name
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [Campaign_max_order_by.nickname
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [Campaign_max_order_by.position
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [Campaign_max_order_by.root
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [Campaign_max_order_by.streamCliffDuration
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [Campaign_max_order_by.streamCliffPercentage
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [Campaign_max_order_by.streamInitialPercentage
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [Campaign_max_order_by.streamShape
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [Campaign_max_order_by.streamStartTime
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [Campaign_max_order_by.streamTotalDuration
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [Campaign_max_order_by.subgraphId
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [Campaign_max_order_by.timestamp
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [Campaign_max_order_by.totalRecipients
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [Campaign_max_order_by.version
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
---
## Campaign_min_order_by
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
order by min() on columns of table "Campaign"
```graphql
input Campaign_min_order_by {
address: order_by
admin: order_by
aggregateAmount: order_by
asset_id: order_by
category: order_by
chainId: order_by
claimedAmount: order_by
claimedCount: order_by
clawbackAction_id: order_by
clawbackTime: order_by
db_write_timestamp: order_by
expiration: order_by
factory_id: order_by
fee: order_by
hash: order_by
id: order_by
ipfsCID: order_by
lockup: order_by
name: order_by
nickname: order_by
position: order_by
root: order_by
streamCliffDuration: order_by
streamCliffPercentage: order_by
streamInitialPercentage: order_by
streamShape: order_by
streamStartTime: order_by
streamTotalDuration: order_by
subgraphId: order_by
timestamp: order_by
totalRecipients: order_by
version: order_by
}
```
### Fields
#### [Campaign_min_order_by.address
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [Campaign_min_order_by.admin
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [Campaign_min_order_by.aggregateAmount
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [Campaign_min_order_by.asset_id
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [Campaign_min_order_by.category
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [Campaign_min_order_by.chainId
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [Campaign_min_order_by.claimedAmount
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [Campaign_min_order_by.claimedCount
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [Campaign_min_order_by.clawbackAction_id
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [Campaign_min_order_by.clawbackTime
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [Campaign_min_order_by.db_write_timestamp
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [Campaign_min_order_by.expiration
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [Campaign_min_order_by.factory_id
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [Campaign_min_order_by.fee
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [Campaign_min_order_by.hash
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [Campaign_min_order_by.id
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [Campaign_min_order_by.ipfsCID
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [Campaign_min_order_by.lockup
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [Campaign_min_order_by.name
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [Campaign_min_order_by.nickname
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [Campaign_min_order_by.position
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [Campaign_min_order_by.root
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [Campaign_min_order_by.streamCliffDuration
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [Campaign_min_order_by.streamCliffPercentage
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [Campaign_min_order_by.streamInitialPercentage
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [Campaign_min_order_by.streamShape
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [Campaign_min_order_by.streamStartTime
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [Campaign_min_order_by.streamTotalDuration
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [Campaign_min_order_by.subgraphId
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [Campaign_min_order_by.timestamp
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [Campaign_min_order_by.totalRecipients
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [Campaign_min_order_by.version
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
---
## Campaign_order_by
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
Ordering options when selecting data from "Campaign".
```graphql
input Campaign_order_by {
actions_aggregate: Action_aggregate_order_by
activities_aggregate: Activity_aggregate_order_by
address: order_by
admin: order_by
aggregateAmount: order_by
asset: Asset_order_by
asset_id: order_by
category: order_by
chainId: order_by
claimedAmount: order_by
claimedCount: order_by
clawbackAction: Action_order_by
clawbackAction_id: order_by
clawbackTime: order_by
db_write_timestamp: order_by
expiration: order_by
expires: order_by
factory: Factory_order_by
factory_id: order_by
fee: order_by
hash: order_by
id: order_by
ipfsCID: order_by
lockup: order_by
name: order_by
nickname: order_by
position: order_by
root: order_by
streamCancelable: order_by
streamCliff: order_by
streamCliffDuration: order_by
streamCliffPercentage: order_by
streamInitial: order_by
streamInitialPercentage: order_by
streamShape: order_by
streamStart: order_by
streamStartTime: order_by
streamTotalDuration: order_by
streamTranches_aggregate: Tranche_aggregate_order_by
streamTransferable: order_by
subgraphId: order_by
timestamp: order_by
totalRecipients: order_by
version: order_by
}
```
### Fields
#### [Campaign_order_by.actions_aggregate
](#)[Action_aggregate_order_by
](/docs/api/airdrops/graphql/envio/inputs/action-aggregate-order-by.mdx)
#### [Campaign_order_by.activities_aggregate
](#)[Activity_aggregate_order_by
](/docs/api/airdrops/graphql/envio/inputs/activity-aggregate-order-by.mdx)
#### [Campaign_order_by.address
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [Campaign_order_by.admin
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [Campaign_order_by.aggregateAmount
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [Campaign_order_by.asset
](#)[Asset_order_by
](/docs/api/airdrops/graphql/envio/inputs/asset-order-by.mdx)
#### [Campaign_order_by.asset_id
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [Campaign_order_by.category
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [Campaign_order_by.chainId
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [Campaign_order_by.claimedAmount
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [Campaign_order_by.claimedCount
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [Campaign_order_by.clawbackAction
](#)[Action_order_by
](/docs/api/airdrops/graphql/envio/inputs/action-order-by.mdx)
#### [Campaign_order_by.clawbackAction_id
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [Campaign_order_by.clawbackTime
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [Campaign_order_by.db_write_timestamp
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [Campaign_order_by.expiration
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [Campaign_order_by.expires
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [Campaign_order_by.factory
](#)[Factory_order_by
](/docs/api/airdrops/graphql/envio/inputs/factory-order-by.mdx)
#### [Campaign_order_by.factory_id
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [Campaign_order_by.fee
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [Campaign_order_by.hash
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [Campaign_order_by.id
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [Campaign_order_by.ipfsCID
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [Campaign_order_by.lockup
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [Campaign_order_by.name
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [Campaign_order_by.nickname
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [Campaign_order_by.position
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [Campaign_order_by.root
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [Campaign_order_by.streamCancelable
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [Campaign_order_by.streamCliff
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [Campaign_order_by.streamCliffDuration
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [Campaign_order_by.streamCliffPercentage
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [Campaign_order_by.streamInitial
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [Campaign_order_by.streamInitialPercentage
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [Campaign_order_by.streamShape
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [Campaign_order_by.streamStart
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [Campaign_order_by.streamStartTime
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [Campaign_order_by.streamTotalDuration
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [Campaign_order_by.streamTranches_aggregate
](#)[Tranche_aggregate_order_by
](/docs/api/airdrops/graphql/envio/inputs/tranche-aggregate-order-by.mdx)
#### [Campaign_order_by.streamTransferable
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [Campaign_order_by.subgraphId
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [Campaign_order_by.timestamp
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [Campaign_order_by.totalRecipients
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [Campaign_order_by.version
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
---
## Campaign_stddev_order_by
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
order by stddev() on columns of table "Campaign"
```graphql
input Campaign_stddev_order_by {
aggregateAmount: order_by
chainId: order_by
claimedAmount: order_by
claimedCount: order_by
clawbackTime: order_by
expiration: order_by
fee: order_by
position: order_by
streamCliffDuration: order_by
streamCliffPercentage: order_by
streamInitialPercentage: order_by
streamStartTime: order_by
streamTotalDuration: order_by
subgraphId: order_by
timestamp: order_by
totalRecipients: order_by
}
```
### Fields
#### [Campaign_stddev_order_by.aggregateAmount
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [Campaign_stddev_order_by.chainId
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [Campaign_stddev_order_by.claimedAmount
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [Campaign_stddev_order_by.claimedCount
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [Campaign_stddev_order_by.clawbackTime
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [Campaign_stddev_order_by.expiration
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [Campaign_stddev_order_by.fee
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [Campaign_stddev_order_by.position
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [Campaign_stddev_order_by.streamCliffDuration
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [Campaign_stddev_order_by.streamCliffPercentage
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [Campaign_stddev_order_by.streamInitialPercentage
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [Campaign_stddev_order_by.streamStartTime
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [Campaign_stddev_order_by.streamTotalDuration
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [Campaign_stddev_order_by.subgraphId
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [Campaign_stddev_order_by.timestamp
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [Campaign_stddev_order_by.totalRecipients
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
---
## Campaign_stddev_pop_order_by
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
order by stddev_pop() on columns of table "Campaign"
```graphql
input Campaign_stddev_pop_order_by {
aggregateAmount: order_by
chainId: order_by
claimedAmount: order_by
claimedCount: order_by
clawbackTime: order_by
expiration: order_by
fee: order_by
position: order_by
streamCliffDuration: order_by
streamCliffPercentage: order_by
streamInitialPercentage: order_by
streamStartTime: order_by
streamTotalDuration: order_by
subgraphId: order_by
timestamp: order_by
totalRecipients: order_by
}
```
### Fields
#### [Campaign_stddev_pop_order_by.aggregateAmount
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [Campaign_stddev_pop_order_by.chainId
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [Campaign_stddev_pop_order_by.claimedAmount
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [Campaign_stddev_pop_order_by.claimedCount
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [Campaign_stddev_pop_order_by.clawbackTime
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [Campaign_stddev_pop_order_by.expiration
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [Campaign_stddev_pop_order_by.fee
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [Campaign_stddev_pop_order_by.position
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [Campaign_stddev_pop_order_by.streamCliffDuration
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [Campaign_stddev_pop_order_by.streamCliffPercentage
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [Campaign_stddev_pop_order_by.streamInitialPercentage
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [Campaign_stddev_pop_order_by.streamStartTime
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [Campaign_stddev_pop_order_by.streamTotalDuration
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [Campaign_stddev_pop_order_by.subgraphId
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [Campaign_stddev_pop_order_by.timestamp
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [Campaign_stddev_pop_order_by.totalRecipients
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
---
## Campaign_stddev_samp_order_by
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
order by stddev_samp() on columns of table "Campaign"
```graphql
input Campaign_stddev_samp_order_by {
aggregateAmount: order_by
chainId: order_by
claimedAmount: order_by
claimedCount: order_by
clawbackTime: order_by
expiration: order_by
fee: order_by
position: order_by
streamCliffDuration: order_by
streamCliffPercentage: order_by
streamInitialPercentage: order_by
streamStartTime: order_by
streamTotalDuration: order_by
subgraphId: order_by
timestamp: order_by
totalRecipients: order_by
}
```
### Fields
#### [Campaign_stddev_samp_order_by.aggregateAmount
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [Campaign_stddev_samp_order_by.chainId
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [Campaign_stddev_samp_order_by.claimedAmount
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [Campaign_stddev_samp_order_by.claimedCount
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [Campaign_stddev_samp_order_by.clawbackTime
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [Campaign_stddev_samp_order_by.expiration
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [Campaign_stddev_samp_order_by.fee
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [Campaign_stddev_samp_order_by.position
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [Campaign_stddev_samp_order_by.streamCliffDuration
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [Campaign_stddev_samp_order_by.streamCliffPercentage
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [Campaign_stddev_samp_order_by.streamInitialPercentage
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [Campaign_stddev_samp_order_by.streamStartTime
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [Campaign_stddev_samp_order_by.streamTotalDuration
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [Campaign_stddev_samp_order_by.subgraphId
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [Campaign_stddev_samp_order_by.timestamp
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [Campaign_stddev_samp_order_by.totalRecipients
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
---
## Campaign_stream_cursor_input
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
Streaming cursor of the table "Campaign"
```graphql
input Campaign_stream_cursor_input {
initial_value: Campaign_stream_cursor_value_input!
ordering: cursor_ordering
}
```
### Fields
#### [Campaign_stream_cursor_input.initial_value
](#)[Campaign_stream_cursor_value_input!
](/docs/api/airdrops/graphql/envio/inputs/campaign-stream-cursor-value-input.mdx)
Stream column input with initial value
#### [Campaign_stream_cursor_input.ordering
](#)[cursor_ordering
](/docs/api/airdrops/graphql/envio/enums/cursor-ordering.mdx)
cursor ordering
---
## Campaign_stream_cursor_value_input
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
Initial value of the column from where the streaming should start
```graphql
input Campaign_stream_cursor_value_input {
address: String
admin: String
aggregateAmount: numeric
asset_id: String
category: campaigncategory
chainId: numeric
claimedAmount: numeric
claimedCount: numeric
clawbackAction_id: String
clawbackTime: numeric
db_write_timestamp: timestamp
expiration: numeric
expires: Boolean
factory_id: String
fee: numeric
hash: String
id: String
ipfsCID: String
lockup: String
name: String
nickname: String
position: numeric
root: String
streamCancelable: Boolean
streamCliff: Boolean
streamCliffDuration: numeric
streamCliffPercentage: numeric
streamInitial: Boolean
streamInitialPercentage: numeric
streamShape: String
streamStart: Boolean
streamStartTime: numeric
streamTotalDuration: numeric
streamTransferable: Boolean
subgraphId: numeric
timestamp: numeric
totalRecipients: numeric
version: String
}
```
### Fields
#### [Campaign_stream_cursor_value_input.address
](#)[String
](/docs/api/airdrops/graphql/envio/scalars/string.mdx)
#### [Campaign_stream_cursor_value_input.admin
](#)[String
](/docs/api/airdrops/graphql/envio/scalars/string.mdx)
#### [Campaign_stream_cursor_value_input.aggregateAmount
](#)[numeric
](/docs/api/airdrops/graphql/envio/scalars/numeric.mdx)
#### [Campaign_stream_cursor_value_input.asset_id
](#)[String
](/docs/api/airdrops/graphql/envio/scalars/string.mdx)
#### [Campaign_stream_cursor_value_input.category
](#)[campaigncategory
](/docs/api/airdrops/graphql/envio/scalars/campaigncategory.mdx)
#### [Campaign_stream_cursor_value_input.chainId
](#)[numeric
](/docs/api/airdrops/graphql/envio/scalars/numeric.mdx)
#### [Campaign_stream_cursor_value_input.claimedAmount
](#)[numeric
](/docs/api/airdrops/graphql/envio/scalars/numeric.mdx)
#### [Campaign_stream_cursor_value_input.claimedCount
](#)[numeric
](/docs/api/airdrops/graphql/envio/scalars/numeric.mdx)
#### [Campaign_stream_cursor_value_input.clawbackAction_id
](#)[String
](/docs/api/airdrops/graphql/envio/scalars/string.mdx)
#### [Campaign_stream_cursor_value_input.clawbackTime
](#)[numeric
](/docs/api/airdrops/graphql/envio/scalars/numeric.mdx)
#### [Campaign_stream_cursor_value_input.db_write_timestamp
](#)[timestamp
](/docs/api/airdrops/graphql/envio/scalars/timestamp.mdx)
#### [Campaign_stream_cursor_value_input.expiration
](#)[numeric
](/docs/api/airdrops/graphql/envio/scalars/numeric.mdx)
#### [Campaign_stream_cursor_value_input.expires
](#)[Boolean
](/docs/api/airdrops/graphql/envio/scalars/boolean.mdx)
#### [Campaign_stream_cursor_value_input.factory_id
](#)[String
](/docs/api/airdrops/graphql/envio/scalars/string.mdx)
#### [Campaign_stream_cursor_value_input.fee
](#)[numeric
](/docs/api/airdrops/graphql/envio/scalars/numeric.mdx)
#### [Campaign_stream_cursor_value_input.hash
](#)[String
](/docs/api/airdrops/graphql/envio/scalars/string.mdx)
#### [Campaign_stream_cursor_value_input.id
](#)[String
](/docs/api/airdrops/graphql/envio/scalars/string.mdx)
#### [Campaign_stream_cursor_value_input.ipfsCID
](#)[String
](/docs/api/airdrops/graphql/envio/scalars/string.mdx)
#### [Campaign_stream_cursor_value_input.lockup
](#)[String
](/docs/api/airdrops/graphql/envio/scalars/string.mdx)
#### [Campaign_stream_cursor_value_input.name
](#)[String
](/docs/api/airdrops/graphql/envio/scalars/string.mdx)
#### [Campaign_stream_cursor_value_input.nickname
](#)[String
](/docs/api/airdrops/graphql/envio/scalars/string.mdx)
#### [Campaign_stream_cursor_value_input.position
](#)[numeric
](/docs/api/airdrops/graphql/envio/scalars/numeric.mdx)
#### [Campaign_stream_cursor_value_input.root
](#)[String
](/docs/api/airdrops/graphql/envio/scalars/string.mdx)
#### [Campaign_stream_cursor_value_input.streamCancelable
](#)[Boolean
](/docs/api/airdrops/graphql/envio/scalars/boolean.mdx)
#### [Campaign_stream_cursor_value_input.streamCliff
](#)[Boolean
](/docs/api/airdrops/graphql/envio/scalars/boolean.mdx)
#### [Campaign_stream_cursor_value_input.streamCliffDuration
](#)[numeric
](/docs/api/airdrops/graphql/envio/scalars/numeric.mdx)
#### [Campaign_stream_cursor_value_input.streamCliffPercentage
](#)[numeric
](/docs/api/airdrops/graphql/envio/scalars/numeric.mdx)
#### [Campaign_stream_cursor_value_input.streamInitial
](#)[Boolean
](/docs/api/airdrops/graphql/envio/scalars/boolean.mdx)
#### [Campaign_stream_cursor_value_input.streamInitialPercentage
](#)[numeric
](/docs/api/airdrops/graphql/envio/scalars/numeric.mdx)
#### [Campaign_stream_cursor_value_input.streamShape
](#)[String
](/docs/api/airdrops/graphql/envio/scalars/string.mdx)
#### [Campaign_stream_cursor_value_input.streamStart
](#)[Boolean
](/docs/api/airdrops/graphql/envio/scalars/boolean.mdx)
#### [Campaign_stream_cursor_value_input.streamStartTime
](#)[numeric
](/docs/api/airdrops/graphql/envio/scalars/numeric.mdx)
#### [Campaign_stream_cursor_value_input.streamTotalDuration
](#)[numeric
](/docs/api/airdrops/graphql/envio/scalars/numeric.mdx)
#### [Campaign_stream_cursor_value_input.streamTransferable
](#)[Boolean
](/docs/api/airdrops/graphql/envio/scalars/boolean.mdx)
#### [Campaign_stream_cursor_value_input.subgraphId
](#)[numeric
](/docs/api/airdrops/graphql/envio/scalars/numeric.mdx)
#### [Campaign_stream_cursor_value_input.timestamp
](#)[numeric
](/docs/api/airdrops/graphql/envio/scalars/numeric.mdx)
#### [Campaign_stream_cursor_value_input.totalRecipients
](#)[numeric
](/docs/api/airdrops/graphql/envio/scalars/numeric.mdx)
#### [Campaign_stream_cursor_value_input.version
](#)[String
](/docs/api/airdrops/graphql/envio/scalars/string.mdx)
---
## Campaign_sum_order_by
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
order by sum() on columns of table "Campaign"
```graphql
input Campaign_sum_order_by {
aggregateAmount: order_by
chainId: order_by
claimedAmount: order_by
claimedCount: order_by
clawbackTime: order_by
expiration: order_by
fee: order_by
position: order_by
streamCliffDuration: order_by
streamCliffPercentage: order_by
streamInitialPercentage: order_by
streamStartTime: order_by
streamTotalDuration: order_by
subgraphId: order_by
timestamp: order_by
totalRecipients: order_by
}
```
### Fields
#### [Campaign_sum_order_by.aggregateAmount
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [Campaign_sum_order_by.chainId
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [Campaign_sum_order_by.claimedAmount
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [Campaign_sum_order_by.claimedCount
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [Campaign_sum_order_by.clawbackTime
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [Campaign_sum_order_by.expiration
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [Campaign_sum_order_by.fee
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [Campaign_sum_order_by.position
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [Campaign_sum_order_by.streamCliffDuration
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [Campaign_sum_order_by.streamCliffPercentage
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [Campaign_sum_order_by.streamInitialPercentage
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [Campaign_sum_order_by.streamStartTime
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [Campaign_sum_order_by.streamTotalDuration
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [Campaign_sum_order_by.subgraphId
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [Campaign_sum_order_by.timestamp
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [Campaign_sum_order_by.totalRecipients
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
---
## Campaign_var_pop_order_by
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
order by var_pop() on columns of table "Campaign"
```graphql
input Campaign_var_pop_order_by {
aggregateAmount: order_by
chainId: order_by
claimedAmount: order_by
claimedCount: order_by
clawbackTime: order_by
expiration: order_by
fee: order_by
position: order_by
streamCliffDuration: order_by
streamCliffPercentage: order_by
streamInitialPercentage: order_by
streamStartTime: order_by
streamTotalDuration: order_by
subgraphId: order_by
timestamp: order_by
totalRecipients: order_by
}
```
### Fields
#### [Campaign_var_pop_order_by.aggregateAmount
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [Campaign_var_pop_order_by.chainId
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [Campaign_var_pop_order_by.claimedAmount
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [Campaign_var_pop_order_by.claimedCount
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [Campaign_var_pop_order_by.clawbackTime
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [Campaign_var_pop_order_by.expiration
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [Campaign_var_pop_order_by.fee
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [Campaign_var_pop_order_by.position
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [Campaign_var_pop_order_by.streamCliffDuration
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [Campaign_var_pop_order_by.streamCliffPercentage
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [Campaign_var_pop_order_by.streamInitialPercentage
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [Campaign_var_pop_order_by.streamStartTime
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [Campaign_var_pop_order_by.streamTotalDuration
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [Campaign_var_pop_order_by.subgraphId
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [Campaign_var_pop_order_by.timestamp
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [Campaign_var_pop_order_by.totalRecipients
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
---
## Campaign_var_samp_order_by
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
order by var_samp() on columns of table "Campaign"
```graphql
input Campaign_var_samp_order_by {
aggregateAmount: order_by
chainId: order_by
claimedAmount: order_by
claimedCount: order_by
clawbackTime: order_by
expiration: order_by
fee: order_by
position: order_by
streamCliffDuration: order_by
streamCliffPercentage: order_by
streamInitialPercentage: order_by
streamStartTime: order_by
streamTotalDuration: order_by
subgraphId: order_by
timestamp: order_by
totalRecipients: order_by
}
```
### Fields
#### [Campaign_var_samp_order_by.aggregateAmount
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [Campaign_var_samp_order_by.chainId
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [Campaign_var_samp_order_by.claimedAmount
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [Campaign_var_samp_order_by.claimedCount
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [Campaign_var_samp_order_by.clawbackTime
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [Campaign_var_samp_order_by.expiration
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [Campaign_var_samp_order_by.fee
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [Campaign_var_samp_order_by.position
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [Campaign_var_samp_order_by.streamCliffDuration
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [Campaign_var_samp_order_by.streamCliffPercentage
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [Campaign_var_samp_order_by.streamInitialPercentage
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [Campaign_var_samp_order_by.streamStartTime
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [Campaign_var_samp_order_by.streamTotalDuration
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [Campaign_var_samp_order_by.subgraphId
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [Campaign_var_samp_order_by.timestamp
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [Campaign_var_samp_order_by.totalRecipients
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
---
## Campaign_variance_order_by
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
order by variance() on columns of table "Campaign"
```graphql
input Campaign_variance_order_by {
aggregateAmount: order_by
chainId: order_by
claimedAmount: order_by
claimedCount: order_by
clawbackTime: order_by
expiration: order_by
fee: order_by
position: order_by
streamCliffDuration: order_by
streamCliffPercentage: order_by
streamInitialPercentage: order_by
streamStartTime: order_by
streamTotalDuration: order_by
subgraphId: order_by
timestamp: order_by
totalRecipients: order_by
}
```
### Fields
#### [Campaign_variance_order_by.aggregateAmount
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [Campaign_variance_order_by.chainId
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [Campaign_variance_order_by.claimedAmount
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [Campaign_variance_order_by.claimedCount
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [Campaign_variance_order_by.clawbackTime
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [Campaign_variance_order_by.expiration
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [Campaign_variance_order_by.fee
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [Campaign_variance_order_by.position
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [Campaign_variance_order_by.streamCliffDuration
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [Campaign_variance_order_by.streamCliffPercentage
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [Campaign_variance_order_by.streamInitialPercentage
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [Campaign_variance_order_by.streamStartTime
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [Campaign_variance_order_by.streamTotalDuration
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [Campaign_variance_order_by.subgraphId
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [Campaign_variance_order_by.timestamp
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [Campaign_variance_order_by.totalRecipients
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
---
## campaigncategory_comparison_exp
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
Boolean expression to compare columns of type "campaigncategory". All fields are combined with logical 'AND'.
```graphql
input campaigncategory_comparison_exp {
_eq: campaigncategory
_gt: campaigncategory
_gte: campaigncategory
_in: [campaigncategory!]
_is_null: Boolean
_lt: campaigncategory
_lte: campaigncategory
_neq: campaigncategory
_nin: [campaigncategory!]
}
```
### Fields
#### [campaigncategory_comparison_exp.\_eq
](#)[campaigncategory
](/docs/api/airdrops/graphql/envio/scalars/campaigncategory.mdx)
#### [campaigncategory_comparison_exp.\_gt
](#)[campaigncategory
](/docs/api/airdrops/graphql/envio/scalars/campaigncategory.mdx)
#### [campaigncategory_comparison_exp.\_gte
](#)[campaigncategory
](/docs/api/airdrops/graphql/envio/scalars/campaigncategory.mdx)
#### [campaigncategory_comparison_exp.\_in
](#)[[campaigncategory!]
](/docs/api/airdrops/graphql/envio/scalars/campaigncategory.mdx)
#### [campaigncategory_comparison_exp.\_is_null
](#)[Boolean
](/docs/api/airdrops/graphql/envio/scalars/boolean.mdx)
#### [campaigncategory_comparison_exp.\_lt
](#)[campaigncategory
](/docs/api/airdrops/graphql/envio/scalars/campaigncategory.mdx)
#### [campaigncategory_comparison_exp.\_lte
](#)[campaigncategory
](/docs/api/airdrops/graphql/envio/scalars/campaigncategory.mdx)
#### [campaigncategory_comparison_exp.\_neq
](#)[campaigncategory
](/docs/api/airdrops/graphql/envio/scalars/campaigncategory.mdx)
#### [campaigncategory_comparison_exp.\_nin
](#)[[campaigncategory!]
](/docs/api/airdrops/graphql/envio/scalars/campaigncategory.mdx)
---
## chain_metadata_bool_exp
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
Boolean expression to filter rows from the table "chain_metadata". All fields are combined with a logical 'AND'.
```graphql
input chain_metadata_bool_exp {
_and: [chain_metadata_bool_exp!]
_not: chain_metadata_bool_exp
_or: [chain_metadata_bool_exp!]
block_height: Int_comparison_exp
chain_id: Int_comparison_exp
end_block: Int_comparison_exp
first_event_block_number: Int_comparison_exp
is_hyper_sync: Boolean_comparison_exp
latest_fetched_block_number: Int_comparison_exp
latest_processed_block: Int_comparison_exp
num_batches_fetched: Int_comparison_exp
num_events_processed: Int_comparison_exp
start_block: Int_comparison_exp
timestamp_caught_up_to_head_or_endblock: timestamptz_comparison_exp
}
```
### Fields
#### [chain_metadata_bool_exp.\_and
](#)[[chain_metadata_bool_exp!]
](/docs/api/airdrops/graphql/envio/inputs/chain-metadata-bool-exp.mdx)
#### [chain_metadata_bool_exp.\_not
](#)[chain_metadata_bool_exp
](/docs/api/airdrops/graphql/envio/inputs/chain-metadata-bool-exp.mdx)
#### [chain_metadata_bool_exp.\_or
](#)[[chain_metadata_bool_exp!]
](/docs/api/airdrops/graphql/envio/inputs/chain-metadata-bool-exp.mdx)
#### [chain_metadata_bool_exp.block_height
](#)[Int_comparison_exp
](/docs/api/airdrops/graphql/envio/inputs/int-comparison-exp.mdx)
#### [chain_metadata_bool_exp.chain_id
](#)[Int_comparison_exp
](/docs/api/airdrops/graphql/envio/inputs/int-comparison-exp.mdx)
#### [chain_metadata_bool_exp.end_block
](#)[Int_comparison_exp
](/docs/api/airdrops/graphql/envio/inputs/int-comparison-exp.mdx)
#### [chain_metadata_bool_exp.first_event_block_number
](#)[Int_comparison_exp
](/docs/api/airdrops/graphql/envio/inputs/int-comparison-exp.mdx)
#### [chain_metadata_bool_exp.is_hyper_sync
](#)[Boolean_comparison_exp
](/docs/api/airdrops/graphql/envio/inputs/boolean-comparison-exp.mdx)
#### [chain_metadata_bool_exp.latest_fetched_block_number
](#)[Int_comparison_exp
](/docs/api/airdrops/graphql/envio/inputs/int-comparison-exp.mdx)
#### [chain_metadata_bool_exp.latest_processed_block
](#)[Int_comparison_exp
](/docs/api/airdrops/graphql/envio/inputs/int-comparison-exp.mdx)
#### [chain_metadata_bool_exp.num_batches_fetched
](#)[Int_comparison_exp
](/docs/api/airdrops/graphql/envio/inputs/int-comparison-exp.mdx)
#### [chain_metadata_bool_exp.num_events_processed
](#)[Int_comparison_exp
](/docs/api/airdrops/graphql/envio/inputs/int-comparison-exp.mdx)
#### [chain_metadata_bool_exp.start_block
](#)[Int_comparison_exp
](/docs/api/airdrops/graphql/envio/inputs/int-comparison-exp.mdx)
#### [chain_metadata_bool_exp.timestamp_caught_up_to_head_or_endblock
](#)[timestamptz_comparison_exp
](/docs/api/airdrops/graphql/envio/inputs/timestamptz-comparison-exp.mdx)
---
## chain_metadata_order_by
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
Ordering options when selecting data from "chain_metadata".
```graphql
input chain_metadata_order_by {
block_height: order_by
chain_id: order_by
end_block: order_by
first_event_block_number: order_by
is_hyper_sync: order_by
latest_fetched_block_number: order_by
latest_processed_block: order_by
num_batches_fetched: order_by
num_events_processed: order_by
start_block: order_by
timestamp_caught_up_to_head_or_endblock: order_by
}
```
### Fields
#### [chain_metadata_order_by.block_height
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [chain_metadata_order_by.chain_id
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [chain_metadata_order_by.end_block
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [chain_metadata_order_by.first_event_block_number
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [chain_metadata_order_by.is_hyper_sync
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [chain_metadata_order_by.latest_fetched_block_number
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [chain_metadata_order_by.latest_processed_block
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [chain_metadata_order_by.num_batches_fetched
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [chain_metadata_order_by.num_events_processed
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [chain_metadata_order_by.start_block
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [chain_metadata_order_by.timestamp_caught_up_to_head_or_endblock
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
---
## chain_metadata_stream_cursor_input
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
Streaming cursor of the table "chain_metadata"
```graphql
input chain_metadata_stream_cursor_input {
initial_value: chain_metadata_stream_cursor_value_input!
ordering: cursor_ordering
}
```
### Fields
#### [chain_metadata_stream_cursor_input.initial_value
](#)[chain_metadata_stream_cursor_value_input!
](/docs/api/airdrops/graphql/envio/inputs/chain-metadata-stream-cursor-value-input.mdx)
Stream column input with initial value
#### [chain_metadata_stream_cursor_input.ordering
](#)[cursor_ordering
](/docs/api/airdrops/graphql/envio/enums/cursor-ordering.mdx)
cursor ordering
---
## chain_metadata_stream_cursor_value_input
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
Initial value of the column from where the streaming should start
```graphql
input chain_metadata_stream_cursor_value_input {
block_height: Int
chain_id: Int
end_block: Int
first_event_block_number: Int
is_hyper_sync: Boolean
latest_fetched_block_number: Int
latest_processed_block: Int
num_batches_fetched: Int
num_events_processed: Int
start_block: Int
timestamp_caught_up_to_head_or_endblock: timestamptz
}
```
### Fields
#### [chain_metadata_stream_cursor_value_input.block_height
](#)[Int
](/docs/api/airdrops/graphql/envio/scalars/int.mdx)
#### [chain_metadata_stream_cursor_value_input.chain_id
](#)[Int
](/docs/api/airdrops/graphql/envio/scalars/int.mdx)
#### [chain_metadata_stream_cursor_value_input.end_block
](#)[Int
](/docs/api/airdrops/graphql/envio/scalars/int.mdx)
#### [chain_metadata_stream_cursor_value_input.first_event_block_number
](#)[Int
](/docs/api/airdrops/graphql/envio/scalars/int.mdx)
#### [chain_metadata_stream_cursor_value_input.is_hyper_sync
](#)[Boolean
](/docs/api/airdrops/graphql/envio/scalars/boolean.mdx)
#### [chain_metadata_stream_cursor_value_input.latest_fetched_block_number
](#)[Int
](/docs/api/airdrops/graphql/envio/scalars/int.mdx)
#### [chain_metadata_stream_cursor_value_input.latest_processed_block
](#)[Int
](/docs/api/airdrops/graphql/envio/scalars/int.mdx)
#### [chain_metadata_stream_cursor_value_input.num_batches_fetched
](#)[Int
](/docs/api/airdrops/graphql/envio/scalars/int.mdx)
#### [chain_metadata_stream_cursor_value_input.num_events_processed
](#)[Int
](/docs/api/airdrops/graphql/envio/scalars/int.mdx)
#### [chain_metadata_stream_cursor_value_input.start_block
](#)[Int
](/docs/api/airdrops/graphql/envio/scalars/int.mdx)
#### [chain_metadata_stream_cursor_value_input.timestamp_caught_up_to_head_or_endblock
](#)[timestamptz
](/docs/api/airdrops/graphql/envio/scalars/timestamptz.mdx)
---
## contract_type_comparison_exp
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
Boolean expression to compare columns of type "contract_type". All fields are combined with logical 'AND'.
```graphql
input contract_type_comparison_exp {
_eq: contract_type
_gt: contract_type
_gte: contract_type
_in: [contract_type!]
_is_null: Boolean
_lt: contract_type
_lte: contract_type
_neq: contract_type
_nin: [contract_type!]
}
```
### Fields
#### [contract_type_comparison_exp.\_eq
](#)[contract_type
](/docs/api/airdrops/graphql/envio/scalars/contract-type.mdx)
#### [contract_type_comparison_exp.\_gt
](#)[contract_type
](/docs/api/airdrops/graphql/envio/scalars/contract-type.mdx)
#### [contract_type_comparison_exp.\_gte
](#)[contract_type
](/docs/api/airdrops/graphql/envio/scalars/contract-type.mdx)
#### [contract_type_comparison_exp.\_in
](#)[[contract_type!]
](/docs/api/airdrops/graphql/envio/scalars/contract-type.mdx)
#### [contract_type_comparison_exp.\_is_null
](#)[Boolean
](/docs/api/airdrops/graphql/envio/scalars/boolean.mdx)
#### [contract_type_comparison_exp.\_lt
](#)[contract_type
](/docs/api/airdrops/graphql/envio/scalars/contract-type.mdx)
#### [contract_type_comparison_exp.\_lte
](#)[contract_type
](/docs/api/airdrops/graphql/envio/scalars/contract-type.mdx)
#### [contract_type_comparison_exp.\_neq
](#)[contract_type
](/docs/api/airdrops/graphql/envio/scalars/contract-type.mdx)
#### [contract_type_comparison_exp.\_nin
](#)[[contract_type!]
](/docs/api/airdrops/graphql/envio/scalars/contract-type.mdx)
---
## dynamic_contract_registry_bool_exp
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
Boolean expression to filter rows from the table "dynamic_contract_registry". All fields are combined with a logical 'AND'.
```graphql
input dynamic_contract_registry_bool_exp {
_and: [dynamic_contract_registry_bool_exp!]
_not: dynamic_contract_registry_bool_exp
_or: [dynamic_contract_registry_bool_exp!]
chain_id: Int_comparison_exp
contract_address: String_comparison_exp
contract_type: contract_type_comparison_exp
id: String_comparison_exp
registering_event_block_number: Int_comparison_exp
registering_event_block_timestamp: Int_comparison_exp
registering_event_contract_name: String_comparison_exp
registering_event_log_index: Int_comparison_exp
registering_event_name: String_comparison_exp
registering_event_src_address: String_comparison_exp
}
```
### Fields
#### [dynamic_contract_registry_bool_exp.\_and
](#)[[dynamic_contract_registry_bool_exp!]
](/docs/api/airdrops/graphql/envio/inputs/dynamic-contract-registry-bool-exp.mdx)
#### [dynamic_contract_registry_bool_exp.\_not
](#)[dynamic_contract_registry_bool_exp
](/docs/api/airdrops/graphql/envio/inputs/dynamic-contract-registry-bool-exp.mdx)
#### [dynamic_contract_registry_bool_exp.\_or
](#)[[dynamic_contract_registry_bool_exp!]
](/docs/api/airdrops/graphql/envio/inputs/dynamic-contract-registry-bool-exp.mdx)
#### [dynamic_contract_registry_bool_exp.chain_id
](#)[Int_comparison_exp
](/docs/api/airdrops/graphql/envio/inputs/int-comparison-exp.mdx)
#### [dynamic_contract_registry_bool_exp.contract_address
](#)[String_comparison_exp
](/docs/api/airdrops/graphql/envio/inputs/string-comparison-exp.mdx)
#### [dynamic_contract_registry_bool_exp.contract_type
](#)[contract_type_comparison_exp
](/docs/api/airdrops/graphql/envio/inputs/contract-type-comparison-exp.mdx)
#### [dynamic_contract_registry_bool_exp.id
](#)[String_comparison_exp
](/docs/api/airdrops/graphql/envio/inputs/string-comparison-exp.mdx)
#### [dynamic_contract_registry_bool_exp.registering_event_block_number
](#)[Int_comparison_exp
](/docs/api/airdrops/graphql/envio/inputs/int-comparison-exp.mdx)
#### [dynamic_contract_registry_bool_exp.registering_event_block_timestamp
](#)[Int_comparison_exp
](/docs/api/airdrops/graphql/envio/inputs/int-comparison-exp.mdx)
#### [dynamic_contract_registry_bool_exp.registering_event_contract_name
](#)[String_comparison_exp
](/docs/api/airdrops/graphql/envio/inputs/string-comparison-exp.mdx)
#### [dynamic_contract_registry_bool_exp.registering_event_log_index
](#)[Int_comparison_exp
](/docs/api/airdrops/graphql/envio/inputs/int-comparison-exp.mdx)
#### [dynamic_contract_registry_bool_exp.registering_event_name
](#)[String_comparison_exp
](/docs/api/airdrops/graphql/envio/inputs/string-comparison-exp.mdx)
#### [dynamic_contract_registry_bool_exp.registering_event_src_address
](#)[String_comparison_exp
](/docs/api/airdrops/graphql/envio/inputs/string-comparison-exp.mdx)
---
## dynamic_contract_registry_order_by
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
Ordering options when selecting data from "dynamic_contract_registry".
```graphql
input dynamic_contract_registry_order_by {
chain_id: order_by
contract_address: order_by
contract_type: order_by
id: order_by
registering_event_block_number: order_by
registering_event_block_timestamp: order_by
registering_event_contract_name: order_by
registering_event_log_index: order_by
registering_event_name: order_by
registering_event_src_address: order_by
}
```
### Fields
#### [dynamic_contract_registry_order_by.chain_id
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [dynamic_contract_registry_order_by.contract_address
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [dynamic_contract_registry_order_by.contract_type
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [dynamic_contract_registry_order_by.id
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [dynamic_contract_registry_order_by.registering_event_block_number
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [dynamic_contract_registry_order_by.registering_event_block_timestamp
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [dynamic_contract_registry_order_by.registering_event_contract_name
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [dynamic_contract_registry_order_by.registering_event_log_index
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [dynamic_contract_registry_order_by.registering_event_name
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [dynamic_contract_registry_order_by.registering_event_src_address
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
---
## dynamic_contract_registry_stream_cursor_input
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
Streaming cursor of the table "dynamic_contract_registry"
```graphql
input dynamic_contract_registry_stream_cursor_input {
initial_value: dynamic_contract_registry_stream_cursor_value_input!
ordering: cursor_ordering
}
```
### Fields
#### [dynamic_contract_registry_stream_cursor_input.initial_value
](#)[dynamic_contract_registry_stream_cursor_value_input!
](/docs/api/airdrops/graphql/envio/inputs/dynamic-contract-registry-stream-cursor-value-input.mdx)
Stream column input with initial value
#### [dynamic_contract_registry_stream_cursor_input.ordering
](#)[cursor_ordering
](/docs/api/airdrops/graphql/envio/enums/cursor-ordering.mdx)
cursor ordering
---
## dynamic_contract_registry_stream_cursor_value_input
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
Initial value of the column from where the streaming should start
```graphql
input dynamic_contract_registry_stream_cursor_value_input {
chain_id: Int
contract_address: String
contract_type: contract_type
id: String
registering_event_block_number: Int
registering_event_block_timestamp: Int
registering_event_contract_name: String
registering_event_log_index: Int
registering_event_name: String
registering_event_src_address: String
}
```
### Fields
#### [dynamic_contract_registry_stream_cursor_value_input.chain_id
](#)[Int
](/docs/api/airdrops/graphql/envio/scalars/int.mdx)
#### [dynamic_contract_registry_stream_cursor_value_input.contract_address
](#)[String
](/docs/api/airdrops/graphql/envio/scalars/string.mdx)
#### [dynamic_contract_registry_stream_cursor_value_input.contract_type
](#)[contract_type
](/docs/api/airdrops/graphql/envio/scalars/contract-type.mdx)
#### [dynamic_contract_registry_stream_cursor_value_input.id
](#)[String
](/docs/api/airdrops/graphql/envio/scalars/string.mdx)
#### [dynamic_contract_registry_stream_cursor_value_input.registering_event_block_number
](#)[Int
](/docs/api/airdrops/graphql/envio/scalars/int.mdx)
#### [dynamic_contract_registry_stream_cursor_value_input.registering_event_block_timestamp
](#)[Int
](/docs/api/airdrops/graphql/envio/scalars/int.mdx)
#### [dynamic_contract_registry_stream_cursor_value_input.registering_event_contract_name
](#)[String
](/docs/api/airdrops/graphql/envio/scalars/string.mdx)
#### [dynamic_contract_registry_stream_cursor_value_input.registering_event_log_index
](#)[Int
](/docs/api/airdrops/graphql/envio/scalars/int.mdx)
#### [dynamic_contract_registry_stream_cursor_value_input.registering_event_name
](#)[String
](/docs/api/airdrops/graphql/envio/scalars/string.mdx)
#### [dynamic_contract_registry_stream_cursor_value_input.registering_event_src_address
](#)[String
](/docs/api/airdrops/graphql/envio/scalars/string.mdx)
---
## end_of_block_range_scanned_data_bool_exp
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
Boolean expression to filter rows from the table "end_of_block_range_scanned_data". All fields are combined with a logical 'AND'.
```graphql
input end_of_block_range_scanned_data_bool_exp {
_and: [end_of_block_range_scanned_data_bool_exp!]
_not: end_of_block_range_scanned_data_bool_exp
_or: [end_of_block_range_scanned_data_bool_exp!]
block_hash: String_comparison_exp
block_number: Int_comparison_exp
chain_id: Int_comparison_exp
}
```
### Fields
#### [end_of_block_range_scanned_data_bool_exp.\_and
](#)[[end_of_block_range_scanned_data_bool_exp!]
](/docs/api/airdrops/graphql/envio/inputs/end-of-block-range-scanned-data-bool-exp.mdx)
#### [end_of_block_range_scanned_data_bool_exp.\_not
](#)[end_of_block_range_scanned_data_bool_exp
](/docs/api/airdrops/graphql/envio/inputs/end-of-block-range-scanned-data-bool-exp.mdx)
#### [end_of_block_range_scanned_data_bool_exp.\_or
](#)[[end_of_block_range_scanned_data_bool_exp!]
](/docs/api/airdrops/graphql/envio/inputs/end-of-block-range-scanned-data-bool-exp.mdx)
#### [end_of_block_range_scanned_data_bool_exp.block_hash
](#)[String_comparison_exp
](/docs/api/airdrops/graphql/envio/inputs/string-comparison-exp.mdx)
#### [end_of_block_range_scanned_data_bool_exp.block_number
](#)[Int_comparison_exp
](/docs/api/airdrops/graphql/envio/inputs/int-comparison-exp.mdx)
#### [end_of_block_range_scanned_data_bool_exp.chain_id
](#)[Int_comparison_exp
](/docs/api/airdrops/graphql/envio/inputs/int-comparison-exp.mdx)
---
## end_of_block_range_scanned_data_order_by
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
Ordering options when selecting data from "end_of_block_range_scanned_data".
```graphql
input end_of_block_range_scanned_data_order_by {
block_hash: order_by
block_number: order_by
chain_id: order_by
}
```
### Fields
#### [end_of_block_range_scanned_data_order_by.block_hash
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [end_of_block_range_scanned_data_order_by.block_number
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [end_of_block_range_scanned_data_order_by.chain_id
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
---
## end_of_block_range_scanned_data_stream_cursor_input
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
Streaming cursor of the table "end_of_block_range_scanned_data"
```graphql
input end_of_block_range_scanned_data_stream_cursor_input {
initial_value: end_of_block_range_scanned_data_stream_cursor_value_input!
ordering: cursor_ordering
}
```
### Fields
#### [end_of_block_range_scanned_data_stream_cursor_input.initial_value
](#)[end_of_block_range_scanned_data_stream_cursor_value_input!
](/docs/api/airdrops/graphql/envio/inputs/end-of-block-range-scanned-data-stream-cursor-value-input.mdx)
Stream column input with initial value
#### [end_of_block_range_scanned_data_stream_cursor_input.ordering
](#)[cursor_ordering
](/docs/api/airdrops/graphql/envio/enums/cursor-ordering.mdx)
cursor ordering
---
## end_of_block_range_scanned_data_stream_cursor_value_input
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
Initial value of the column from where the streaming should start
```graphql
input end_of_block_range_scanned_data_stream_cursor_value_input {
block_hash: String
block_number: Int
chain_id: Int
}
```
### Fields
#### [end_of_block_range_scanned_data_stream_cursor_value_input.block_hash
](#)[String
](/docs/api/airdrops/graphql/envio/scalars/string.mdx)
#### [end_of_block_range_scanned_data_stream_cursor_value_input.block_number
](#)[Int
](/docs/api/airdrops/graphql/envio/scalars/int.mdx)
#### [end_of_block_range_scanned_data_stream_cursor_value_input.chain_id
](#)[Int
](/docs/api/airdrops/graphql/envio/scalars/int.mdx)
---
## event_sync_state_bool_exp
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
Boolean expression to filter rows from the table "event_sync_state". All fields are combined with a logical 'AND'.
```graphql
input event_sync_state_bool_exp {
_and: [event_sync_state_bool_exp!]
_not: event_sync_state_bool_exp
_or: [event_sync_state_bool_exp!]
block_number: Int_comparison_exp
block_timestamp: Int_comparison_exp
chain_id: Int_comparison_exp
is_pre_registering_dynamic_contracts: Boolean_comparison_exp
log_index: Int_comparison_exp
}
```
### Fields
#### [event_sync_state_bool_exp.\_and
](#)[[event_sync_state_bool_exp!]
](/docs/api/airdrops/graphql/envio/inputs/event-sync-state-bool-exp.mdx)
#### [event_sync_state_bool_exp.\_not
](#)[event_sync_state_bool_exp
](/docs/api/airdrops/graphql/envio/inputs/event-sync-state-bool-exp.mdx)
#### [event_sync_state_bool_exp.\_or
](#)[[event_sync_state_bool_exp!]
](/docs/api/airdrops/graphql/envio/inputs/event-sync-state-bool-exp.mdx)
#### [event_sync_state_bool_exp.block_number
](#)[Int_comparison_exp
](/docs/api/airdrops/graphql/envio/inputs/int-comparison-exp.mdx)
#### [event_sync_state_bool_exp.block_timestamp
](#)[Int_comparison_exp
](/docs/api/airdrops/graphql/envio/inputs/int-comparison-exp.mdx)
#### [event_sync_state_bool_exp.chain_id
](#)[Int_comparison_exp
](/docs/api/airdrops/graphql/envio/inputs/int-comparison-exp.mdx)
#### [event_sync_state_bool_exp.is_pre_registering_dynamic_contracts
](#)[Boolean_comparison_exp
](/docs/api/airdrops/graphql/envio/inputs/boolean-comparison-exp.mdx)
#### [event_sync_state_bool_exp.log_index
](#)[Int_comparison_exp
](/docs/api/airdrops/graphql/envio/inputs/int-comparison-exp.mdx)
---
## event_sync_state_order_by
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
Ordering options when selecting data from "event_sync_state".
```graphql
input event_sync_state_order_by {
block_number: order_by
block_timestamp: order_by
chain_id: order_by
is_pre_registering_dynamic_contracts: order_by
log_index: order_by
}
```
### Fields
#### [event_sync_state_order_by.block_number
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [event_sync_state_order_by.block_timestamp
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [event_sync_state_order_by.chain_id
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [event_sync_state_order_by.is_pre_registering_dynamic_contracts
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [event_sync_state_order_by.log_index
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
---
## event_sync_state_stream_cursor_input
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
Streaming cursor of the table "event_sync_state"
```graphql
input event_sync_state_stream_cursor_input {
initial_value: event_sync_state_stream_cursor_value_input!
ordering: cursor_ordering
}
```
### Fields
#### [event_sync_state_stream_cursor_input.initial_value
](#)[event_sync_state_stream_cursor_value_input!
](/docs/api/airdrops/graphql/envio/inputs/event-sync-state-stream-cursor-value-input.mdx)
Stream column input with initial value
#### [event_sync_state_stream_cursor_input.ordering
](#)[cursor_ordering
](/docs/api/airdrops/graphql/envio/enums/cursor-ordering.mdx)
cursor ordering
---
## event_sync_state_stream_cursor_value_input
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
Initial value of the column from where the streaming should start
```graphql
input event_sync_state_stream_cursor_value_input {
block_number: Int
block_timestamp: Int
chain_id: Int
is_pre_registering_dynamic_contracts: Boolean
log_index: Int
}
```
### Fields
#### [event_sync_state_stream_cursor_value_input.block_number
](#)[Int
](/docs/api/airdrops/graphql/envio/scalars/int.mdx)
#### [event_sync_state_stream_cursor_value_input.block_timestamp
](#)[Int
](/docs/api/airdrops/graphql/envio/scalars/int.mdx)
#### [event_sync_state_stream_cursor_value_input.chain_id
](#)[Int
](/docs/api/airdrops/graphql/envio/scalars/int.mdx)
#### [event_sync_state_stream_cursor_value_input.is_pre_registering_dynamic_contracts
](#)[Boolean
](/docs/api/airdrops/graphql/envio/scalars/boolean.mdx)
#### [event_sync_state_stream_cursor_value_input.log_index
](#)[Int
](/docs/api/airdrops/graphql/envio/scalars/int.mdx)
---
## Factory_bool_exp
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
Boolean expression to filter rows from the table "Factory". All fields are combined with a logical 'AND'.
```graphql
input Factory_bool_exp {
_and: [Factory_bool_exp!]
_not: Factory_bool_exp
_or: [Factory_bool_exp!]
address: String_comparison_exp
alias: String_comparison_exp
campaignCounter: numeric_comparison_exp
campaigns: Campaign_bool_exp
campaigns_aggregate: Campaign_aggregate_bool_exp
chainId: numeric_comparison_exp
db_write_timestamp: timestamp_comparison_exp
id: String_comparison_exp
}
```
### Fields
#### [Factory_bool_exp.\_and
](#)[[Factory_bool_exp!]
](/docs/api/airdrops/graphql/envio/inputs/factory-bool-exp.mdx)
#### [Factory_bool_exp.\_not
](#)[Factory_bool_exp
](/docs/api/airdrops/graphql/envio/inputs/factory-bool-exp.mdx)
#### [Factory_bool_exp.\_or
](#)[[Factory_bool_exp!]
](/docs/api/airdrops/graphql/envio/inputs/factory-bool-exp.mdx)
#### [Factory_bool_exp.address
](#)[String_comparison_exp
](/docs/api/airdrops/graphql/envio/inputs/string-comparison-exp.mdx)
#### [Factory_bool_exp.alias
](#)[String_comparison_exp
](/docs/api/airdrops/graphql/envio/inputs/string-comparison-exp.mdx)
#### [Factory_bool_exp.campaignCounter
](#)[numeric_comparison_exp
](/docs/api/airdrops/graphql/envio/inputs/numeric-comparison-exp.mdx)
#### [Factory_bool_exp.campaigns
](#)[Campaign_bool_exp
](/docs/api/airdrops/graphql/envio/inputs/campaign-bool-exp.mdx)
#### [Factory_bool_exp.campaigns_aggregate
](#)[Campaign_aggregate_bool_exp
](/docs/api/airdrops/graphql/envio/inputs/campaign-aggregate-bool-exp.mdx)
#### [Factory_bool_exp.chainId
](#)[numeric_comparison_exp
](/docs/api/airdrops/graphql/envio/inputs/numeric-comparison-exp.mdx)
#### [Factory_bool_exp.db_write_timestamp
](#)[timestamp_comparison_exp
](/docs/api/airdrops/graphql/envio/inputs/timestamp-comparison-exp.mdx)
#### [Factory_bool_exp.id
](#)[String_comparison_exp
](/docs/api/airdrops/graphql/envio/inputs/string-comparison-exp.mdx)
---
## Factory_order_by
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
Ordering options when selecting data from "Factory".
```graphql
input Factory_order_by {
address: order_by
alias: order_by
campaignCounter: order_by
campaigns_aggregate: Campaign_aggregate_order_by
chainId: order_by
db_write_timestamp: order_by
id: order_by
}
```
### Fields
#### [Factory_order_by.address
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [Factory_order_by.alias
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [Factory_order_by.campaignCounter
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [Factory_order_by.campaigns_aggregate
](#)[Campaign_aggregate_order_by
](/docs/api/airdrops/graphql/envio/inputs/campaign-aggregate-order-by.mdx)
#### [Factory_order_by.chainId
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [Factory_order_by.db_write_timestamp
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [Factory_order_by.id
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
---
## Factory_stream_cursor_input
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
Streaming cursor of the table "Factory"
```graphql
input Factory_stream_cursor_input {
initial_value: Factory_stream_cursor_value_input!
ordering: cursor_ordering
}
```
### Fields
#### [Factory_stream_cursor_input.initial_value
](#)[Factory_stream_cursor_value_input!
](/docs/api/airdrops/graphql/envio/inputs/factory-stream-cursor-value-input.mdx)
Stream column input with initial value
#### [Factory_stream_cursor_input.ordering
](#)[cursor_ordering
](/docs/api/airdrops/graphql/envio/enums/cursor-ordering.mdx)
cursor ordering
---
## Factory_stream_cursor_value_input
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
Initial value of the column from where the streaming should start
```graphql
input Factory_stream_cursor_value_input {
address: String
alias: String
campaignCounter: numeric
chainId: numeric
db_write_timestamp: timestamp
id: String
}
```
### Fields
#### [Factory_stream_cursor_value_input.address
](#)[String
](/docs/api/airdrops/graphql/envio/scalars/string.mdx)
#### [Factory_stream_cursor_value_input.alias
](#)[String
](/docs/api/airdrops/graphql/envio/scalars/string.mdx)
#### [Factory_stream_cursor_value_input.campaignCounter
](#)[numeric
](/docs/api/airdrops/graphql/envio/scalars/numeric.mdx)
#### [Factory_stream_cursor_value_input.chainId
](#)[numeric
](/docs/api/airdrops/graphql/envio/scalars/numeric.mdx)
#### [Factory_stream_cursor_value_input.db_write_timestamp
](#)[timestamp
](/docs/api/airdrops/graphql/envio/scalars/timestamp.mdx)
#### [Factory_stream_cursor_value_input.id
](#)[String
](/docs/api/airdrops/graphql/envio/scalars/string.mdx)
---
## float8_comparison_exp
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
Boolean expression to compare columns of type "float8". All fields are combined with logical 'AND'.
```graphql
input float8_comparison_exp {
_eq: float8
_gt: float8
_gte: float8
_in: [float8!]
_is_null: Boolean
_lt: float8
_lte: float8
_neq: float8
_nin: [float8!]
}
```
### Fields
#### [float8_comparison_exp.\_eq
](#)[float8
](/docs/api/airdrops/graphql/envio/scalars/float-8.mdx)
#### [float8_comparison_exp.\_gt
](#)[float8
](/docs/api/airdrops/graphql/envio/scalars/float-8.mdx)
#### [float8_comparison_exp.\_gte
](#)[float8
](/docs/api/airdrops/graphql/envio/scalars/float-8.mdx)
#### [float8_comparison_exp.\_in
](#)[[float8!]
](/docs/api/airdrops/graphql/envio/scalars/float-8.mdx)
#### [float8_comparison_exp.\_is_null
](#)[Boolean
](/docs/api/airdrops/graphql/envio/scalars/boolean.mdx)
#### [float8_comparison_exp.\_lt
](#)[float8
](/docs/api/airdrops/graphql/envio/scalars/float-8.mdx)
#### [float8_comparison_exp.\_lte
](#)[float8
](/docs/api/airdrops/graphql/envio/scalars/float-8.mdx)
#### [float8_comparison_exp.\_neq
](#)[float8
](/docs/api/airdrops/graphql/envio/scalars/float-8.mdx)
#### [float8_comparison_exp.\_nin
](#)[[float8!]
](/docs/api/airdrops/graphql/envio/scalars/float-8.mdx)
---
## Int_comparison_exp
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
Boolean expression to compare columns of type "Int". All fields are combined with logical 'AND'.
```graphql
input Int_comparison_exp {
_eq: Int
_gt: Int
_gte: Int
_in: [Int!]
_is_null: Boolean
_lt: Int
_lte: Int
_neq: Int
_nin: [Int!]
}
```
### Fields
#### [Int_comparison_exp.\_eq
](#)[Int
](/docs/api/airdrops/graphql/envio/scalars/int.mdx)
#### [Int_comparison_exp.\_gt
](#)[Int
](/docs/api/airdrops/graphql/envio/scalars/int.mdx)
#### [Int_comparison_exp.\_gte
](#)[Int
](/docs/api/airdrops/graphql/envio/scalars/int.mdx)
#### [Int_comparison_exp.\_in
](#)[[Int!]
](/docs/api/airdrops/graphql/envio/scalars/int.mdx)
#### [Int_comparison_exp.\_is_null
](#)[Boolean
](/docs/api/airdrops/graphql/envio/scalars/boolean.mdx)
#### [Int_comparison_exp.\_lt
](#)[Int
](/docs/api/airdrops/graphql/envio/scalars/int.mdx)
#### [Int_comparison_exp.\_lte
](#)[Int
](/docs/api/airdrops/graphql/envio/scalars/int.mdx)
#### [Int_comparison_exp.\_neq
](#)[Int
](/docs/api/airdrops/graphql/envio/scalars/int.mdx)
#### [Int_comparison_exp.\_nin
](#)[[Int!]
](/docs/api/airdrops/graphql/envio/scalars/int.mdx)
---
## jsonb_cast_exp
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
No description
```graphql
input jsonb_cast_exp {
String: String_comparison_exp
}
```
### Fields
#### [jsonb_cast_exp.String
](#)[String_comparison_exp
](/docs/api/airdrops/graphql/envio/inputs/string-comparison-exp.mdx)
---
## jsonb_comparison_exp
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
Boolean expression to compare columns of type "jsonb". All fields are combined with logical 'AND'.
```graphql
input jsonb_comparison_exp {
_cast: jsonb_cast_exp
_contained_in: jsonb
_contains: jsonb
_eq: jsonb
_gt: jsonb
_gte: jsonb
_has_key: String
_has_keys_all: [String!]
_has_keys_any: [String!]
_in: [jsonb!]
_is_null: Boolean
_lt: jsonb
_lte: jsonb
_neq: jsonb
_nin: [jsonb!]
}
```
### Fields
#### [jsonb_comparison_exp.\_cast
](#)[jsonb_cast_exp
](/docs/api/airdrops/graphql/envio/inputs/jsonb-cast-exp.mdx)
#### [jsonb_comparison_exp.\_contained_in
](#)[jsonb
](/docs/api/airdrops/graphql/envio/scalars/jsonb.mdx)
is the column contained in the given json value
#### [jsonb_comparison_exp.\_contains
](#)[jsonb
](/docs/api/airdrops/graphql/envio/scalars/jsonb.mdx)
does the column contain the given json value at the top level
#### [jsonb_comparison_exp.\_eq
](#)[jsonb
](/docs/api/airdrops/graphql/envio/scalars/jsonb.mdx)
#### [jsonb_comparison_exp.\_gt
](#)[jsonb
](/docs/api/airdrops/graphql/envio/scalars/jsonb.mdx)
#### [jsonb_comparison_exp.\_gte
](#)[jsonb
](/docs/api/airdrops/graphql/envio/scalars/jsonb.mdx)
#### [jsonb_comparison_exp.\_has_key
](#)[String
](/docs/api/airdrops/graphql/envio/scalars/string.mdx)
does the string exist as a top-level key in the column
#### [jsonb_comparison_exp.\_has_keys_all
](#)[[String!]
](/docs/api/airdrops/graphql/envio/scalars/string.mdx)
do all of these strings exist as top-level keys in the column
#### [jsonb_comparison_exp.\_has_keys_any
](#)[[String!]
](/docs/api/airdrops/graphql/envio/scalars/string.mdx)
do any of these strings exist as top-level keys in the column
#### [jsonb_comparison_exp.\_in
](#)[[jsonb!]
](/docs/api/airdrops/graphql/envio/scalars/jsonb.mdx)
#### [jsonb_comparison_exp.\_is_null
](#)[Boolean
](/docs/api/airdrops/graphql/envio/scalars/boolean.mdx)
#### [jsonb_comparison_exp.\_lt
](#)[jsonb
](/docs/api/airdrops/graphql/envio/scalars/jsonb.mdx)
#### [jsonb_comparison_exp.\_lte
](#)[jsonb
](/docs/api/airdrops/graphql/envio/scalars/jsonb.mdx)
#### [jsonb_comparison_exp.\_neq
](#)[jsonb
](/docs/api/airdrops/graphql/envio/scalars/jsonb.mdx)
#### [jsonb_comparison_exp.\_nin
](#)[[jsonb!]
](/docs/api/airdrops/graphql/envio/scalars/jsonb.mdx)
---
## numeric_comparison_exp
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
Boolean expression to compare columns of type "numeric". All fields are combined with logical 'AND'.
```graphql
input numeric_comparison_exp {
_eq: numeric
_gt: numeric
_gte: numeric
_in: [numeric!]
_is_null: Boolean
_lt: numeric
_lte: numeric
_neq: numeric
_nin: [numeric!]
}
```
### Fields
#### [numeric_comparison_exp.\_eq
](#)[numeric
](/docs/api/airdrops/graphql/envio/scalars/numeric.mdx)
#### [numeric_comparison_exp.\_gt
](#)[numeric
](/docs/api/airdrops/graphql/envio/scalars/numeric.mdx)
#### [numeric_comparison_exp.\_gte
](#)[numeric
](/docs/api/airdrops/graphql/envio/scalars/numeric.mdx)
#### [numeric_comparison_exp.\_in
](#)[[numeric!]
](/docs/api/airdrops/graphql/envio/scalars/numeric.mdx)
#### [numeric_comparison_exp.\_is_null
](#)[Boolean
](/docs/api/airdrops/graphql/envio/scalars/boolean.mdx)
#### [numeric_comparison_exp.\_lt
](#)[numeric
](/docs/api/airdrops/graphql/envio/scalars/numeric.mdx)
#### [numeric_comparison_exp.\_lte
](#)[numeric
](/docs/api/airdrops/graphql/envio/scalars/numeric.mdx)
#### [numeric_comparison_exp.\_neq
](#)[numeric
](/docs/api/airdrops/graphql/envio/scalars/numeric.mdx)
#### [numeric_comparison_exp.\_nin
](#)[[numeric!]
](/docs/api/airdrops/graphql/envio/scalars/numeric.mdx)
---
## persisted_state_bool_exp
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
Boolean expression to filter rows from the table "persisted_state". All fields are combined with a logical 'AND'.
```graphql
input persisted_state_bool_exp {
_and: [persisted_state_bool_exp!]
_not: persisted_state_bool_exp
_or: [persisted_state_bool_exp!]
abi_files_hash: String_comparison_exp
config_hash: String_comparison_exp
envio_version: String_comparison_exp
handler_files_hash: String_comparison_exp
id: Int_comparison_exp
schema_hash: String_comparison_exp
}
```
### Fields
#### [persisted_state_bool_exp.\_and
](#)[[persisted_state_bool_exp!]
](/docs/api/airdrops/graphql/envio/inputs/persisted-state-bool-exp.mdx)
#### [persisted_state_bool_exp.\_not
](#)[persisted_state_bool_exp
](/docs/api/airdrops/graphql/envio/inputs/persisted-state-bool-exp.mdx)
#### [persisted_state_bool_exp.\_or
](#)[[persisted_state_bool_exp!]
](/docs/api/airdrops/graphql/envio/inputs/persisted-state-bool-exp.mdx)
#### [persisted_state_bool_exp.abi_files_hash
](#)[String_comparison_exp
](/docs/api/airdrops/graphql/envio/inputs/string-comparison-exp.mdx)
#### [persisted_state_bool_exp.config_hash
](#)[String_comparison_exp
](/docs/api/airdrops/graphql/envio/inputs/string-comparison-exp.mdx)
#### [persisted_state_bool_exp.envio_version
](#)[String_comparison_exp
](/docs/api/airdrops/graphql/envio/inputs/string-comparison-exp.mdx)
#### [persisted_state_bool_exp.handler_files_hash
](#)[String_comparison_exp
](/docs/api/airdrops/graphql/envio/inputs/string-comparison-exp.mdx)
#### [persisted_state_bool_exp.id
](#)[Int_comparison_exp
](/docs/api/airdrops/graphql/envio/inputs/int-comparison-exp.mdx)
#### [persisted_state_bool_exp.schema_hash
](#)[String_comparison_exp
](/docs/api/airdrops/graphql/envio/inputs/string-comparison-exp.mdx)
---
## persisted_state_order_by
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
Ordering options when selecting data from "persisted_state".
```graphql
input persisted_state_order_by {
abi_files_hash: order_by
config_hash: order_by
envio_version: order_by
handler_files_hash: order_by
id: order_by
schema_hash: order_by
}
```
### Fields
#### [persisted_state_order_by.abi_files_hash
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [persisted_state_order_by.config_hash
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [persisted_state_order_by.envio_version
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [persisted_state_order_by.handler_files_hash
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [persisted_state_order_by.id
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [persisted_state_order_by.schema_hash
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
---
## persisted_state_stream_cursor_input
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
Streaming cursor of the table "persisted_state"
```graphql
input persisted_state_stream_cursor_input {
initial_value: persisted_state_stream_cursor_value_input!
ordering: cursor_ordering
}
```
### Fields
#### [persisted_state_stream_cursor_input.initial_value
](#)[persisted_state_stream_cursor_value_input!
](/docs/api/airdrops/graphql/envio/inputs/persisted-state-stream-cursor-value-input.mdx)
Stream column input with initial value
#### [persisted_state_stream_cursor_input.ordering
](#)[cursor_ordering
](/docs/api/airdrops/graphql/envio/enums/cursor-ordering.mdx)
cursor ordering
---
## persisted_state_stream_cursor_value_input
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
Initial value of the column from where the streaming should start
```graphql
input persisted_state_stream_cursor_value_input {
abi_files_hash: String
config_hash: String
envio_version: String
handler_files_hash: String
id: Int
schema_hash: String
}
```
### Fields
#### [persisted_state_stream_cursor_value_input.abi_files_hash
](#)[String
](/docs/api/airdrops/graphql/envio/scalars/string.mdx)
#### [persisted_state_stream_cursor_value_input.config_hash
](#)[String
](/docs/api/airdrops/graphql/envio/scalars/string.mdx)
#### [persisted_state_stream_cursor_value_input.envio_version
](#)[String
](/docs/api/airdrops/graphql/envio/scalars/string.mdx)
#### [persisted_state_stream_cursor_value_input.handler_files_hash
](#)[String
](/docs/api/airdrops/graphql/envio/scalars/string.mdx)
#### [persisted_state_stream_cursor_value_input.id
](#)[Int
](/docs/api/airdrops/graphql/envio/scalars/int.mdx)
#### [persisted_state_stream_cursor_value_input.schema_hash
](#)[String
](/docs/api/airdrops/graphql/envio/scalars/string.mdx)
---
## raw_events_bool_exp
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
Boolean expression to filter rows from the table "raw_events". All fields are combined with a logical 'AND'.
```graphql
input raw_events_bool_exp {
_and: [raw_events_bool_exp!]
_not: raw_events_bool_exp
_or: [raw_events_bool_exp!]
block_fields: jsonb_comparison_exp
block_hash: String_comparison_exp
block_number: Int_comparison_exp
block_timestamp: Int_comparison_exp
chain_id: Int_comparison_exp
contract_name: String_comparison_exp
db_write_timestamp: timestamp_comparison_exp
event_id: numeric_comparison_exp
event_name: String_comparison_exp
log_index: Int_comparison_exp
params: jsonb_comparison_exp
serial: Int_comparison_exp
src_address: String_comparison_exp
transaction_fields: jsonb_comparison_exp
}
```
### Fields
#### [raw_events_bool_exp.\_and
](#)[[raw_events_bool_exp!]
](/docs/api/airdrops/graphql/envio/inputs/raw-events-bool-exp.mdx)
#### [raw_events_bool_exp.\_not
](#)[raw_events_bool_exp
](/docs/api/airdrops/graphql/envio/inputs/raw-events-bool-exp.mdx)
#### [raw_events_bool_exp.\_or
](#)[[raw_events_bool_exp!]
](/docs/api/airdrops/graphql/envio/inputs/raw-events-bool-exp.mdx)
#### [raw_events_bool_exp.block_fields
](#)[jsonb_comparison_exp
](/docs/api/airdrops/graphql/envio/inputs/jsonb-comparison-exp.mdx)
#### [raw_events_bool_exp.block_hash
](#)[String_comparison_exp
](/docs/api/airdrops/graphql/envio/inputs/string-comparison-exp.mdx)
#### [raw_events_bool_exp.block_number
](#)[Int_comparison_exp
](/docs/api/airdrops/graphql/envio/inputs/int-comparison-exp.mdx)
#### [raw_events_bool_exp.block_timestamp
](#)[Int_comparison_exp
](/docs/api/airdrops/graphql/envio/inputs/int-comparison-exp.mdx)
#### [raw_events_bool_exp.chain_id
](#)[Int_comparison_exp
](/docs/api/airdrops/graphql/envio/inputs/int-comparison-exp.mdx)
#### [raw_events_bool_exp.contract_name
](#)[String_comparison_exp
](/docs/api/airdrops/graphql/envio/inputs/string-comparison-exp.mdx)
#### [raw_events_bool_exp.db_write_timestamp
](#)[timestamp_comparison_exp
](/docs/api/airdrops/graphql/envio/inputs/timestamp-comparison-exp.mdx)
#### [raw_events_bool_exp.event_id
](#)[numeric_comparison_exp
](/docs/api/airdrops/graphql/envio/inputs/numeric-comparison-exp.mdx)
#### [raw_events_bool_exp.event_name
](#)[String_comparison_exp
](/docs/api/airdrops/graphql/envio/inputs/string-comparison-exp.mdx)
#### [raw_events_bool_exp.log_index
](#)[Int_comparison_exp
](/docs/api/airdrops/graphql/envio/inputs/int-comparison-exp.mdx)
#### [raw_events_bool_exp.params
](#)[jsonb_comparison_exp
](/docs/api/airdrops/graphql/envio/inputs/jsonb-comparison-exp.mdx)
#### [raw_events_bool_exp.serial
](#)[Int_comparison_exp
](/docs/api/airdrops/graphql/envio/inputs/int-comparison-exp.mdx)
#### [raw_events_bool_exp.src_address
](#)[String_comparison_exp
](/docs/api/airdrops/graphql/envio/inputs/string-comparison-exp.mdx)
#### [raw_events_bool_exp.transaction_fields
](#)[jsonb_comparison_exp
](/docs/api/airdrops/graphql/envio/inputs/jsonb-comparison-exp.mdx)
---
## raw_events_order_by
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
Ordering options when selecting data from "raw_events".
```graphql
input raw_events_order_by {
block_fields: order_by
block_hash: order_by
block_number: order_by
block_timestamp: order_by
chain_id: order_by
contract_name: order_by
db_write_timestamp: order_by
event_id: order_by
event_name: order_by
log_index: order_by
params: order_by
serial: order_by
src_address: order_by
transaction_fields: order_by
}
```
### Fields
#### [raw_events_order_by.block_fields
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [raw_events_order_by.block_hash
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [raw_events_order_by.block_number
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [raw_events_order_by.block_timestamp
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [raw_events_order_by.chain_id
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [raw_events_order_by.contract_name
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [raw_events_order_by.db_write_timestamp
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [raw_events_order_by.event_id
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [raw_events_order_by.event_name
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [raw_events_order_by.log_index
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [raw_events_order_by.params
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [raw_events_order_by.serial
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [raw_events_order_by.src_address
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [raw_events_order_by.transaction_fields
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
---
## raw_events_stream_cursor_input
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
Streaming cursor of the table "raw_events"
```graphql
input raw_events_stream_cursor_input {
initial_value: raw_events_stream_cursor_value_input!
ordering: cursor_ordering
}
```
### Fields
#### [raw_events_stream_cursor_input.initial_value
](#)[raw_events_stream_cursor_value_input!
](/docs/api/airdrops/graphql/envio/inputs/raw-events-stream-cursor-value-input.mdx)
Stream column input with initial value
#### [raw_events_stream_cursor_input.ordering
](#)[cursor_ordering
](/docs/api/airdrops/graphql/envio/enums/cursor-ordering.mdx)
cursor ordering
---
## raw_events_stream_cursor_value_input
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
Initial value of the column from where the streaming should start
```graphql
input raw_events_stream_cursor_value_input {
block_fields: jsonb
block_hash: String
block_number: Int
block_timestamp: Int
chain_id: Int
contract_name: String
db_write_timestamp: timestamp
event_id: numeric
event_name: String
log_index: Int
params: jsonb
serial: Int
src_address: String
transaction_fields: jsonb
}
```
### Fields
#### [raw_events_stream_cursor_value_input.block_fields
](#)[jsonb
](/docs/api/airdrops/graphql/envio/scalars/jsonb.mdx)
#### [raw_events_stream_cursor_value_input.block_hash
](#)[String
](/docs/api/airdrops/graphql/envio/scalars/string.mdx)
#### [raw_events_stream_cursor_value_input.block_number
](#)[Int
](/docs/api/airdrops/graphql/envio/scalars/int.mdx)
#### [raw_events_stream_cursor_value_input.block_timestamp
](#)[Int
](/docs/api/airdrops/graphql/envio/scalars/int.mdx)
#### [raw_events_stream_cursor_value_input.chain_id
](#)[Int
](/docs/api/airdrops/graphql/envio/scalars/int.mdx)
#### [raw_events_stream_cursor_value_input.contract_name
](#)[String
](/docs/api/airdrops/graphql/envio/scalars/string.mdx)
#### [raw_events_stream_cursor_value_input.db_write_timestamp
](#)[timestamp
](/docs/api/airdrops/graphql/envio/scalars/timestamp.mdx)
#### [raw_events_stream_cursor_value_input.event_id
](#)[numeric
](/docs/api/airdrops/graphql/envio/scalars/numeric.mdx)
#### [raw_events_stream_cursor_value_input.event_name
](#)[String
](/docs/api/airdrops/graphql/envio/scalars/string.mdx)
#### [raw_events_stream_cursor_value_input.log_index
](#)[Int
](/docs/api/airdrops/graphql/envio/scalars/int.mdx)
#### [raw_events_stream_cursor_value_input.params
](#)[jsonb
](/docs/api/airdrops/graphql/envio/scalars/jsonb.mdx)
#### [raw_events_stream_cursor_value_input.serial
](#)[Int
](/docs/api/airdrops/graphql/envio/scalars/int.mdx)
#### [raw_events_stream_cursor_value_input.src_address
](#)[String
](/docs/api/airdrops/graphql/envio/scalars/string.mdx)
#### [raw_events_stream_cursor_value_input.transaction_fields
](#)[jsonb
](/docs/api/airdrops/graphql/envio/scalars/jsonb.mdx)
---
## Revenue_bool_exp
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
Boolean expression to filter rows from the table "Revenue". All fields are combined with a logical 'AND'.
```graphql
input Revenue_bool_exp {
_and: [Revenue_bool_exp!]
_not: Revenue_bool_exp
_or: [Revenue_bool_exp!]
amount: float8_comparison_exp
chainId: numeric_comparison_exp
currency: String_comparison_exp
date: String_comparison_exp
dateTimestamp: timestamptz_comparison_exp
db_write_timestamp: timestamp_comparison_exp
id: String_comparison_exp
transactions: RevenueTransaction_bool_exp
transactions_aggregate: RevenueTransaction_aggregate_bool_exp
}
```
### Fields
#### [Revenue_bool_exp.\_and
](#)[[Revenue_bool_exp!]
](/docs/api/airdrops/graphql/envio/inputs/revenue-bool-exp.mdx)
#### [Revenue_bool_exp.\_not
](#)[Revenue_bool_exp
](/docs/api/airdrops/graphql/envio/inputs/revenue-bool-exp.mdx)
#### [Revenue_bool_exp.\_or
](#)[[Revenue_bool_exp!]
](/docs/api/airdrops/graphql/envio/inputs/revenue-bool-exp.mdx)
#### [Revenue_bool_exp.amount
](#)[float8_comparison_exp
](/docs/api/airdrops/graphql/envio/inputs/float-8-comparison-exp.mdx)
#### [Revenue_bool_exp.chainId
](#)[numeric_comparison_exp
](/docs/api/airdrops/graphql/envio/inputs/numeric-comparison-exp.mdx)
#### [Revenue_bool_exp.currency
](#)[String_comparison_exp
](/docs/api/airdrops/graphql/envio/inputs/string-comparison-exp.mdx)
#### [Revenue_bool_exp.date
](#)[String_comparison_exp
](/docs/api/airdrops/graphql/envio/inputs/string-comparison-exp.mdx)
#### [Revenue_bool_exp.dateTimestamp
](#)[timestamptz_comparison_exp
](/docs/api/airdrops/graphql/envio/inputs/timestamptz-comparison-exp.mdx)
#### [Revenue_bool_exp.db_write_timestamp
](#)[timestamp_comparison_exp
](/docs/api/airdrops/graphql/envio/inputs/timestamp-comparison-exp.mdx)
#### [Revenue_bool_exp.id
](#)[String_comparison_exp
](/docs/api/airdrops/graphql/envio/inputs/string-comparison-exp.mdx)
#### [Revenue_bool_exp.transactions
](#)[RevenueTransaction_bool_exp
](/docs/api/airdrops/graphql/envio/inputs/revenue-transaction-bool-exp.mdx)
#### [Revenue_bool_exp.transactions_aggregate
](#)[RevenueTransaction_aggregate_bool_exp
](/docs/api/airdrops/graphql/envio/inputs/revenue-transaction-aggregate-bool-exp.mdx)
---
## Revenue_order_by
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
Ordering options when selecting data from "Revenue".
```graphql
input Revenue_order_by {
amount: order_by
chainId: order_by
currency: order_by
date: order_by
dateTimestamp: order_by
db_write_timestamp: order_by
id: order_by
transactions_aggregate: RevenueTransaction_aggregate_order_by
}
```
### Fields
#### [Revenue_order_by.amount
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [Revenue_order_by.chainId
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [Revenue_order_by.currency
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [Revenue_order_by.date
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [Revenue_order_by.dateTimestamp
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [Revenue_order_by.db_write_timestamp
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [Revenue_order_by.id
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [Revenue_order_by.transactions_aggregate
](#)[RevenueTransaction_aggregate_order_by
](/docs/api/airdrops/graphql/envio/inputs/revenue-transaction-aggregate-order-by.mdx)
---
## Revenue_stream_cursor_input
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
Streaming cursor of the table "Revenue"
```graphql
input Revenue_stream_cursor_input {
initial_value: Revenue_stream_cursor_value_input!
ordering: cursor_ordering
}
```
### Fields
#### [Revenue_stream_cursor_input.initial_value
](#)[Revenue_stream_cursor_value_input!
](/docs/api/airdrops/graphql/envio/inputs/revenue-stream-cursor-value-input.mdx)
Stream column input with initial value
#### [Revenue_stream_cursor_input.ordering
](#)[cursor_ordering
](/docs/api/airdrops/graphql/envio/enums/cursor-ordering.mdx)
cursor ordering
---
## Revenue_stream_cursor_value_input
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
Initial value of the column from where the streaming should start
```graphql
input Revenue_stream_cursor_value_input {
amount: float8
chainId: numeric
currency: String
date: String
dateTimestamp: timestamptz
db_write_timestamp: timestamp
id: String
}
```
### Fields
#### [Revenue_stream_cursor_value_input.amount
](#)[float8
](/docs/api/airdrops/graphql/envio/scalars/float-8.mdx)
#### [Revenue_stream_cursor_value_input.chainId
](#)[numeric
](/docs/api/airdrops/graphql/envio/scalars/numeric.mdx)
#### [Revenue_stream_cursor_value_input.currency
](#)[String
](/docs/api/airdrops/graphql/envio/scalars/string.mdx)
#### [Revenue_stream_cursor_value_input.date
](#)[String
](/docs/api/airdrops/graphql/envio/scalars/string.mdx)
#### [Revenue_stream_cursor_value_input.dateTimestamp
](#)[timestamptz
](/docs/api/airdrops/graphql/envio/scalars/timestamptz.mdx)
#### [Revenue_stream_cursor_value_input.db_write_timestamp
](#)[timestamp
](/docs/api/airdrops/graphql/envio/scalars/timestamp.mdx)
#### [Revenue_stream_cursor_value_input.id
](#)[String
](/docs/api/airdrops/graphql/envio/scalars/string.mdx)
---
## RevenueTransaction_aggregate_bool_exp_avg
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
No description
```graphql
input RevenueTransaction_aggregate_bool_exp_avg {
arguments: RevenueTransaction_select_column_RevenueTransaction_aggregate_bool_exp_avg_arguments_columns!
distinct: Boolean
filter: RevenueTransaction_bool_exp
predicate: float8_comparison_exp!
}
```
### Fields
#### [RevenueTransaction_aggregate_bool_exp_avg.arguments
](#)[RevenueTransaction_select_column_RevenueTransaction_aggregate_bool_exp_avg_arguments_columns!
](/docs/api/airdrops/graphql/envio/enums/revenue-transaction-select-column-revenue-transaction-aggregate-bool-exp-avg-arguments-columns.mdx)
#### [RevenueTransaction_aggregate_bool_exp_avg.distinct
](#)[Boolean
](/docs/api/airdrops/graphql/envio/scalars/boolean.mdx)
#### [RevenueTransaction_aggregate_bool_exp_avg.filter
](#)[RevenueTransaction_bool_exp
](/docs/api/airdrops/graphql/envio/inputs/revenue-transaction-bool-exp.mdx)
#### [RevenueTransaction_aggregate_bool_exp_avg.predicate
](#)[float8_comparison_exp!
](/docs/api/airdrops/graphql/envio/inputs/float-8-comparison-exp.mdx)
---
## RevenueTransaction_aggregate_bool_exp_corr_arguments
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
No description
```graphql
input RevenueTransaction_aggregate_bool_exp_corr_arguments {
X: RevenueTransaction_select_column_RevenueTransaction_aggregate_bool_exp_corr_arguments_columns!
Y: RevenueTransaction_select_column_RevenueTransaction_aggregate_bool_exp_corr_arguments_columns!
}
```
### Fields
#### [RevenueTransaction_aggregate_bool_exp_corr_arguments.X
](#)[RevenueTransaction_select_column_RevenueTransaction_aggregate_bool_exp_corr_arguments_columns!
](/docs/api/airdrops/graphql/envio/enums/revenue-transaction-select-column-revenue-transaction-aggregate-bool-exp-corr-arguments-columns.mdx)
#### [RevenueTransaction_aggregate_bool_exp_corr_arguments.Y
](#)[RevenueTransaction_select_column_RevenueTransaction_aggregate_bool_exp_corr_arguments_columns!
](/docs/api/airdrops/graphql/envio/enums/revenue-transaction-select-column-revenue-transaction-aggregate-bool-exp-corr-arguments-columns.mdx)
---
## RevenueTransaction_aggregate_bool_exp_corr
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
No description
```graphql
input RevenueTransaction_aggregate_bool_exp_corr {
arguments: RevenueTransaction_aggregate_bool_exp_corr_arguments!
distinct: Boolean
filter: RevenueTransaction_bool_exp
predicate: float8_comparison_exp!
}
```
### Fields
#### [RevenueTransaction_aggregate_bool_exp_corr.arguments
](#)[RevenueTransaction_aggregate_bool_exp_corr_arguments!
](/docs/api/airdrops/graphql/envio/inputs/revenue-transaction-aggregate-bool-exp-corr-arguments.mdx)
#### [RevenueTransaction_aggregate_bool_exp_corr.distinct
](#)[Boolean
](/docs/api/airdrops/graphql/envio/scalars/boolean.mdx)
#### [RevenueTransaction_aggregate_bool_exp_corr.filter
](#)[RevenueTransaction_bool_exp
](/docs/api/airdrops/graphql/envio/inputs/revenue-transaction-bool-exp.mdx)
#### [RevenueTransaction_aggregate_bool_exp_corr.predicate
](#)[float8_comparison_exp!
](/docs/api/airdrops/graphql/envio/inputs/float-8-comparison-exp.mdx)
---
## RevenueTransaction_aggregate_bool_exp_count
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
No description
```graphql
input RevenueTransaction_aggregate_bool_exp_count {
arguments: [RevenueTransaction_select_column!]
distinct: Boolean
filter: RevenueTransaction_bool_exp
predicate: Int_comparison_exp!
}
```
### Fields
#### [RevenueTransaction_aggregate_bool_exp_count.arguments
](#)[[RevenueTransaction_select_column!]
](/docs/api/airdrops/graphql/envio/enums/revenue-transaction-select-column.mdx)
#### [RevenueTransaction_aggregate_bool_exp_count.distinct
](#)[Boolean
](/docs/api/airdrops/graphql/envio/scalars/boolean.mdx)
#### [RevenueTransaction_aggregate_bool_exp_count.filter
](#)[RevenueTransaction_bool_exp
](/docs/api/airdrops/graphql/envio/inputs/revenue-transaction-bool-exp.mdx)
#### [RevenueTransaction_aggregate_bool_exp_count.predicate
](#)[Int_comparison_exp!
](/docs/api/airdrops/graphql/envio/inputs/int-comparison-exp.mdx)
---
## RevenueTransaction_aggregate_bool_exp_covar_samp_arguments
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
No description
```graphql
input RevenueTransaction_aggregate_bool_exp_covar_samp_arguments {
X: RevenueTransaction_select_column_RevenueTransaction_aggregate_bool_exp_covar_samp_arguments_columns!
Y: RevenueTransaction_select_column_RevenueTransaction_aggregate_bool_exp_covar_samp_arguments_columns!
}
```
### Fields
#### [RevenueTransaction_aggregate_bool_exp_covar_samp_arguments.X
](#)[RevenueTransaction_select_column_RevenueTransaction_aggregate_bool_exp_covar_samp_arguments_columns!
](/docs/api/airdrops/graphql/envio/enums/revenue-transaction-select-column-revenue-transaction-aggregate-bool-exp-covar-samp-arguments-columns.mdx)
#### [RevenueTransaction_aggregate_bool_exp_covar_samp_arguments.Y
](#)[RevenueTransaction_select_column_RevenueTransaction_aggregate_bool_exp_covar_samp_arguments_columns!
](/docs/api/airdrops/graphql/envio/enums/revenue-transaction-select-column-revenue-transaction-aggregate-bool-exp-covar-samp-arguments-columns.mdx)
---
## RevenueTransaction_aggregate_bool_exp_covar_samp
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
No description
```graphql
input RevenueTransaction_aggregate_bool_exp_covar_samp {
arguments: RevenueTransaction_aggregate_bool_exp_covar_samp_arguments!
distinct: Boolean
filter: RevenueTransaction_bool_exp
predicate: float8_comparison_exp!
}
```
### Fields
#### [RevenueTransaction_aggregate_bool_exp_covar_samp.arguments
](#)[RevenueTransaction_aggregate_bool_exp_covar_samp_arguments!
](/docs/api/airdrops/graphql/envio/inputs/revenue-transaction-aggregate-bool-exp-covar-samp-arguments.mdx)
#### [RevenueTransaction_aggregate_bool_exp_covar_samp.distinct
](#)[Boolean
](/docs/api/airdrops/graphql/envio/scalars/boolean.mdx)
#### [RevenueTransaction_aggregate_bool_exp_covar_samp.filter
](#)[RevenueTransaction_bool_exp
](/docs/api/airdrops/graphql/envio/inputs/revenue-transaction-bool-exp.mdx)
#### [RevenueTransaction_aggregate_bool_exp_covar_samp.predicate
](#)[float8_comparison_exp!
](/docs/api/airdrops/graphql/envio/inputs/float-8-comparison-exp.mdx)
---
## RevenueTransaction_aggregate_bool_exp_max
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
No description
```graphql
input RevenueTransaction_aggregate_bool_exp_max {
arguments: RevenueTransaction_select_column_RevenueTransaction_aggregate_bool_exp_max_arguments_columns!
distinct: Boolean
filter: RevenueTransaction_bool_exp
predicate: float8_comparison_exp!
}
```
### Fields
#### [RevenueTransaction_aggregate_bool_exp_max.arguments
](#)[RevenueTransaction_select_column_RevenueTransaction_aggregate_bool_exp_max_arguments_columns!
](/docs/api/airdrops/graphql/envio/enums/revenue-transaction-select-column-revenue-transaction-aggregate-bool-exp-max-arguments-columns.mdx)
#### [RevenueTransaction_aggregate_bool_exp_max.distinct
](#)[Boolean
](/docs/api/airdrops/graphql/envio/scalars/boolean.mdx)
#### [RevenueTransaction_aggregate_bool_exp_max.filter
](#)[RevenueTransaction_bool_exp
](/docs/api/airdrops/graphql/envio/inputs/revenue-transaction-bool-exp.mdx)
#### [RevenueTransaction_aggregate_bool_exp_max.predicate
](#)[float8_comparison_exp!
](/docs/api/airdrops/graphql/envio/inputs/float-8-comparison-exp.mdx)
---
## RevenueTransaction_aggregate_bool_exp_min
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
No description
```graphql
input RevenueTransaction_aggregate_bool_exp_min {
arguments: RevenueTransaction_select_column_RevenueTransaction_aggregate_bool_exp_min_arguments_columns!
distinct: Boolean
filter: RevenueTransaction_bool_exp
predicate: float8_comparison_exp!
}
```
### Fields
#### [RevenueTransaction_aggregate_bool_exp_min.arguments
](#)[RevenueTransaction_select_column_RevenueTransaction_aggregate_bool_exp_min_arguments_columns!
](/docs/api/airdrops/graphql/envio/enums/revenue-transaction-select-column-revenue-transaction-aggregate-bool-exp-min-arguments-columns.mdx)
#### [RevenueTransaction_aggregate_bool_exp_min.distinct
](#)[Boolean
](/docs/api/airdrops/graphql/envio/scalars/boolean.mdx)
#### [RevenueTransaction_aggregate_bool_exp_min.filter
](#)[RevenueTransaction_bool_exp
](/docs/api/airdrops/graphql/envio/inputs/revenue-transaction-bool-exp.mdx)
#### [RevenueTransaction_aggregate_bool_exp_min.predicate
](#)[float8_comparison_exp!
](/docs/api/airdrops/graphql/envio/inputs/float-8-comparison-exp.mdx)
---
## RevenueTransaction_aggregate_bool_exp_stddev_samp
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
No description
```graphql
input RevenueTransaction_aggregate_bool_exp_stddev_samp {
arguments: RevenueTransaction_select_column_RevenueTransaction_aggregate_bool_exp_stddev_samp_arguments_columns!
distinct: Boolean
filter: RevenueTransaction_bool_exp
predicate: float8_comparison_exp!
}
```
### Fields
#### [RevenueTransaction_aggregate_bool_exp_stddev_samp.arguments
](#)[RevenueTransaction_select_column_RevenueTransaction_aggregate_bool_exp_stddev_samp_arguments_columns!
](/docs/api/airdrops/graphql/envio/enums/revenue-transaction-select-column-revenue-transaction-aggregate-bool-exp-stddev-samp-arguments-columns.mdx)
#### [RevenueTransaction_aggregate_bool_exp_stddev_samp.distinct
](#)[Boolean
](/docs/api/airdrops/graphql/envio/scalars/boolean.mdx)
#### [RevenueTransaction_aggregate_bool_exp_stddev_samp.filter
](#)[RevenueTransaction_bool_exp
](/docs/api/airdrops/graphql/envio/inputs/revenue-transaction-bool-exp.mdx)
#### [RevenueTransaction_aggregate_bool_exp_stddev_samp.predicate
](#)[float8_comparison_exp!
](/docs/api/airdrops/graphql/envio/inputs/float-8-comparison-exp.mdx)
---
## RevenueTransaction_aggregate_bool_exp_sum
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
No description
```graphql
input RevenueTransaction_aggregate_bool_exp_sum {
arguments: RevenueTransaction_select_column_RevenueTransaction_aggregate_bool_exp_sum_arguments_columns!
distinct: Boolean
filter: RevenueTransaction_bool_exp
predicate: float8_comparison_exp!
}
```
### Fields
#### [RevenueTransaction_aggregate_bool_exp_sum.arguments
](#)[RevenueTransaction_select_column_RevenueTransaction_aggregate_bool_exp_sum_arguments_columns!
](/docs/api/airdrops/graphql/envio/enums/revenue-transaction-select-column-revenue-transaction-aggregate-bool-exp-sum-arguments-columns.mdx)
#### [RevenueTransaction_aggregate_bool_exp_sum.distinct
](#)[Boolean
](/docs/api/airdrops/graphql/envio/scalars/boolean.mdx)
#### [RevenueTransaction_aggregate_bool_exp_sum.filter
](#)[RevenueTransaction_bool_exp
](/docs/api/airdrops/graphql/envio/inputs/revenue-transaction-bool-exp.mdx)
#### [RevenueTransaction_aggregate_bool_exp_sum.predicate
](#)[float8_comparison_exp!
](/docs/api/airdrops/graphql/envio/inputs/float-8-comparison-exp.mdx)
---
## RevenueTransaction_aggregate_bool_exp_var_samp
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
No description
```graphql
input RevenueTransaction_aggregate_bool_exp_var_samp {
arguments: RevenueTransaction_select_column_RevenueTransaction_aggregate_bool_exp_var_samp_arguments_columns!
distinct: Boolean
filter: RevenueTransaction_bool_exp
predicate: float8_comparison_exp!
}
```
### Fields
#### [RevenueTransaction_aggregate_bool_exp_var_samp.arguments
](#)[RevenueTransaction_select_column_RevenueTransaction_aggregate_bool_exp_var_samp_arguments_columns!
](/docs/api/airdrops/graphql/envio/enums/revenue-transaction-select-column-revenue-transaction-aggregate-bool-exp-var-samp-arguments-columns.mdx)
#### [RevenueTransaction_aggregate_bool_exp_var_samp.distinct
](#)[Boolean
](/docs/api/airdrops/graphql/envio/scalars/boolean.mdx)
#### [RevenueTransaction_aggregate_bool_exp_var_samp.filter
](#)[RevenueTransaction_bool_exp
](/docs/api/airdrops/graphql/envio/inputs/revenue-transaction-bool-exp.mdx)
#### [RevenueTransaction_aggregate_bool_exp_var_samp.predicate
](#)[float8_comparison_exp!
](/docs/api/airdrops/graphql/envio/inputs/float-8-comparison-exp.mdx)
---
## RevenueTransaction_aggregate_bool_exp
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
No description
```graphql
input RevenueTransaction_aggregate_bool_exp {
avg: RevenueTransaction_aggregate_bool_exp_avg
corr: RevenueTransaction_aggregate_bool_exp_corr
count: RevenueTransaction_aggregate_bool_exp_count
covar_samp: RevenueTransaction_aggregate_bool_exp_covar_samp
max: RevenueTransaction_aggregate_bool_exp_max
min: RevenueTransaction_aggregate_bool_exp_min
stddev_samp: RevenueTransaction_aggregate_bool_exp_stddev_samp
sum: RevenueTransaction_aggregate_bool_exp_sum
var_samp: RevenueTransaction_aggregate_bool_exp_var_samp
}
```
### Fields
#### [RevenueTransaction_aggregate_bool_exp.avg
](#)[RevenueTransaction_aggregate_bool_exp_avg
](/docs/api/airdrops/graphql/envio/inputs/revenue-transaction-aggregate-bool-exp-avg.mdx)
#### [RevenueTransaction_aggregate_bool_exp.corr
](#)[RevenueTransaction_aggregate_bool_exp_corr
](/docs/api/airdrops/graphql/envio/inputs/revenue-transaction-aggregate-bool-exp-corr.mdx)
#### [RevenueTransaction_aggregate_bool_exp.count
](#)[RevenueTransaction_aggregate_bool_exp_count
](/docs/api/airdrops/graphql/envio/inputs/revenue-transaction-aggregate-bool-exp-count.mdx)
#### [RevenueTransaction_aggregate_bool_exp.covar_samp
](#)[RevenueTransaction_aggregate_bool_exp_covar_samp
](/docs/api/airdrops/graphql/envio/inputs/revenue-transaction-aggregate-bool-exp-covar-samp.mdx)
#### [RevenueTransaction_aggregate_bool_exp.max
](#)[RevenueTransaction_aggregate_bool_exp_max
](/docs/api/airdrops/graphql/envio/inputs/revenue-transaction-aggregate-bool-exp-max.mdx)
#### [RevenueTransaction_aggregate_bool_exp.min
](#)[RevenueTransaction_aggregate_bool_exp_min
](/docs/api/airdrops/graphql/envio/inputs/revenue-transaction-aggregate-bool-exp-min.mdx)
#### [RevenueTransaction_aggregate_bool_exp.stddev_samp
](#)[RevenueTransaction_aggregate_bool_exp_stddev_samp
](/docs/api/airdrops/graphql/envio/inputs/revenue-transaction-aggregate-bool-exp-stddev-samp.mdx)
#### [RevenueTransaction_aggregate_bool_exp.sum
](#)[RevenueTransaction_aggregate_bool_exp_sum
](/docs/api/airdrops/graphql/envio/inputs/revenue-transaction-aggregate-bool-exp-sum.mdx)
#### [RevenueTransaction_aggregate_bool_exp.var_samp
](#)[RevenueTransaction_aggregate_bool_exp_var_samp
](/docs/api/airdrops/graphql/envio/inputs/revenue-transaction-aggregate-bool-exp-var-samp.mdx)
---
## RevenueTransaction_aggregate_order_by
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
order by aggregate values of table "RevenueTransaction"
```graphql
input RevenueTransaction_aggregate_order_by {
avg: RevenueTransaction_avg_order_by
count: order_by
max: RevenueTransaction_max_order_by
min: RevenueTransaction_min_order_by
stddev: RevenueTransaction_stddev_order_by
stddev_pop: RevenueTransaction_stddev_pop_order_by
stddev_samp: RevenueTransaction_stddev_samp_order_by
sum: RevenueTransaction_sum_order_by
var_pop: RevenueTransaction_var_pop_order_by
var_samp: RevenueTransaction_var_samp_order_by
variance: RevenueTransaction_variance_order_by
}
```
### Fields
#### [RevenueTransaction_aggregate_order_by.avg
](#)[RevenueTransaction_avg_order_by
](/docs/api/airdrops/graphql/envio/inputs/revenue-transaction-avg-order-by.mdx)
#### [RevenueTransaction_aggregate_order_by.count
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [RevenueTransaction_aggregate_order_by.max
](#)[RevenueTransaction_max_order_by
](/docs/api/airdrops/graphql/envio/inputs/revenue-transaction-max-order-by.mdx)
#### [RevenueTransaction_aggregate_order_by.min
](#)[RevenueTransaction_min_order_by
](/docs/api/airdrops/graphql/envio/inputs/revenue-transaction-min-order-by.mdx)
#### [RevenueTransaction_aggregate_order_by.stddev
](#)[RevenueTransaction_stddev_order_by
](/docs/api/airdrops/graphql/envio/inputs/revenue-transaction-stddev-order-by.mdx)
#### [RevenueTransaction_aggregate_order_by.stddev_pop
](#)[RevenueTransaction_stddev_pop_order_by
](/docs/api/airdrops/graphql/envio/inputs/revenue-transaction-stddev-pop-order-by.mdx)
#### [RevenueTransaction_aggregate_order_by.stddev_samp
](#)[RevenueTransaction_stddev_samp_order_by
](/docs/api/airdrops/graphql/envio/inputs/revenue-transaction-stddev-samp-order-by.mdx)
#### [RevenueTransaction_aggregate_order_by.sum
](#)[RevenueTransaction_sum_order_by
](/docs/api/airdrops/graphql/envio/inputs/revenue-transaction-sum-order-by.mdx)
#### [RevenueTransaction_aggregate_order_by.var_pop
](#)[RevenueTransaction_var_pop_order_by
](/docs/api/airdrops/graphql/envio/inputs/revenue-transaction-var-pop-order-by.mdx)
#### [RevenueTransaction_aggregate_order_by.var_samp
](#)[RevenueTransaction_var_samp_order_by
](/docs/api/airdrops/graphql/envio/inputs/revenue-transaction-var-samp-order-by.mdx)
#### [RevenueTransaction_aggregate_order_by.variance
](#)[RevenueTransaction_variance_order_by
](/docs/api/airdrops/graphql/envio/inputs/revenue-transaction-variance-order-by.mdx)
---
## RevenueTransaction_avg_order_by
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
order by avg() on columns of table "RevenueTransaction"
```graphql
input RevenueTransaction_avg_order_by {
amount: order_by
block: order_by
timestamp: order_by
}
```
### Fields
#### [RevenueTransaction_avg_order_by.amount
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [RevenueTransaction_avg_order_by.block
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [RevenueTransaction_avg_order_by.timestamp
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
---
## RevenueTransaction_bool_exp
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
Boolean expression to filter rows from the table "RevenueTransaction". All fields are combined with a logical 'AND'.
```graphql
input RevenueTransaction_bool_exp {
_and: [RevenueTransaction_bool_exp!]
_not: RevenueTransaction_bool_exp
_or: [RevenueTransaction_bool_exp!]
amount: float8_comparison_exp
block: numeric_comparison_exp
db_write_timestamp: timestamp_comparison_exp
hash: String_comparison_exp
id: String_comparison_exp
revenue: Revenue_bool_exp
revenue_id: String_comparison_exp
timestamp: numeric_comparison_exp
}
```
### Fields
#### [RevenueTransaction_bool_exp.\_and
](#)[[RevenueTransaction_bool_exp!]
](/docs/api/airdrops/graphql/envio/inputs/revenue-transaction-bool-exp.mdx)
#### [RevenueTransaction_bool_exp.\_not
](#)[RevenueTransaction_bool_exp
](/docs/api/airdrops/graphql/envio/inputs/revenue-transaction-bool-exp.mdx)
#### [RevenueTransaction_bool_exp.\_or
](#)[[RevenueTransaction_bool_exp!]
](/docs/api/airdrops/graphql/envio/inputs/revenue-transaction-bool-exp.mdx)
#### [RevenueTransaction_bool_exp.amount
](#)[float8_comparison_exp
](/docs/api/airdrops/graphql/envio/inputs/float-8-comparison-exp.mdx)
#### [RevenueTransaction_bool_exp.block
](#)[numeric_comparison_exp
](/docs/api/airdrops/graphql/envio/inputs/numeric-comparison-exp.mdx)
#### [RevenueTransaction_bool_exp.db_write_timestamp
](#)[timestamp_comparison_exp
](/docs/api/airdrops/graphql/envio/inputs/timestamp-comparison-exp.mdx)
#### [RevenueTransaction_bool_exp.hash
](#)[String_comparison_exp
](/docs/api/airdrops/graphql/envio/inputs/string-comparison-exp.mdx)
#### [RevenueTransaction_bool_exp.id
](#)[String_comparison_exp
](/docs/api/airdrops/graphql/envio/inputs/string-comparison-exp.mdx)
#### [RevenueTransaction_bool_exp.revenue
](#)[Revenue_bool_exp
](/docs/api/airdrops/graphql/envio/inputs/revenue-bool-exp.mdx)
#### [RevenueTransaction_bool_exp.revenue_id
](#)[String_comparison_exp
](/docs/api/airdrops/graphql/envio/inputs/string-comparison-exp.mdx)
#### [RevenueTransaction_bool_exp.timestamp
](#)[numeric_comparison_exp
](/docs/api/airdrops/graphql/envio/inputs/numeric-comparison-exp.mdx)
---
## RevenueTransaction_max_order_by
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
order by max() on columns of table "RevenueTransaction"
```graphql
input RevenueTransaction_max_order_by {
amount: order_by
block: order_by
db_write_timestamp: order_by
hash: order_by
id: order_by
revenue_id: order_by
timestamp: order_by
}
```
### Fields
#### [RevenueTransaction_max_order_by.amount
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [RevenueTransaction_max_order_by.block
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [RevenueTransaction_max_order_by.db_write_timestamp
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [RevenueTransaction_max_order_by.hash
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [RevenueTransaction_max_order_by.id
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [RevenueTransaction_max_order_by.revenue_id
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [RevenueTransaction_max_order_by.timestamp
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
---
## RevenueTransaction_min_order_by
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
order by min() on columns of table "RevenueTransaction"
```graphql
input RevenueTransaction_min_order_by {
amount: order_by
block: order_by
db_write_timestamp: order_by
hash: order_by
id: order_by
revenue_id: order_by
timestamp: order_by
}
```
### Fields
#### [RevenueTransaction_min_order_by.amount
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [RevenueTransaction_min_order_by.block
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [RevenueTransaction_min_order_by.db_write_timestamp
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [RevenueTransaction_min_order_by.hash
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [RevenueTransaction_min_order_by.id
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [RevenueTransaction_min_order_by.revenue_id
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [RevenueTransaction_min_order_by.timestamp
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
---
## RevenueTransaction_order_by
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
Ordering options when selecting data from "RevenueTransaction".
```graphql
input RevenueTransaction_order_by {
amount: order_by
block: order_by
db_write_timestamp: order_by
hash: order_by
id: order_by
revenue: Revenue_order_by
revenue_id: order_by
timestamp: order_by
}
```
### Fields
#### [RevenueTransaction_order_by.amount
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [RevenueTransaction_order_by.block
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [RevenueTransaction_order_by.db_write_timestamp
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [RevenueTransaction_order_by.hash
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [RevenueTransaction_order_by.id
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [RevenueTransaction_order_by.revenue
](#)[Revenue_order_by
](/docs/api/airdrops/graphql/envio/inputs/revenue-order-by.mdx)
#### [RevenueTransaction_order_by.revenue_id
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [RevenueTransaction_order_by.timestamp
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
---
## RevenueTransaction_stddev_order_by
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
order by stddev() on columns of table "RevenueTransaction"
```graphql
input RevenueTransaction_stddev_order_by {
amount: order_by
block: order_by
timestamp: order_by
}
```
### Fields
#### [RevenueTransaction_stddev_order_by.amount
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [RevenueTransaction_stddev_order_by.block
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [RevenueTransaction_stddev_order_by.timestamp
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
---
## RevenueTransaction_stddev_pop_order_by
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
order by stddev_pop() on columns of table "RevenueTransaction"
```graphql
input RevenueTransaction_stddev_pop_order_by {
amount: order_by
block: order_by
timestamp: order_by
}
```
### Fields
#### [RevenueTransaction_stddev_pop_order_by.amount
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [RevenueTransaction_stddev_pop_order_by.block
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [RevenueTransaction_stddev_pop_order_by.timestamp
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
---
## RevenueTransaction_stddev_samp_order_by
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
order by stddev_samp() on columns of table "RevenueTransaction"
```graphql
input RevenueTransaction_stddev_samp_order_by {
amount: order_by
block: order_by
timestamp: order_by
}
```
### Fields
#### [RevenueTransaction_stddev_samp_order_by.amount
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [RevenueTransaction_stddev_samp_order_by.block
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [RevenueTransaction_stddev_samp_order_by.timestamp
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
---
## RevenueTransaction_stream_cursor_input
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
Streaming cursor of the table "RevenueTransaction"
```graphql
input RevenueTransaction_stream_cursor_input {
initial_value: RevenueTransaction_stream_cursor_value_input!
ordering: cursor_ordering
}
```
### Fields
#### [RevenueTransaction_stream_cursor_input.initial_value
](#)[RevenueTransaction_stream_cursor_value_input!
](/docs/api/airdrops/graphql/envio/inputs/revenue-transaction-stream-cursor-value-input.mdx)
Stream column input with initial value
#### [RevenueTransaction_stream_cursor_input.ordering
](#)[cursor_ordering
](/docs/api/airdrops/graphql/envio/enums/cursor-ordering.mdx)
cursor ordering
---
## RevenueTransaction_stream_cursor_value_input
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
Initial value of the column from where the streaming should start
```graphql
input RevenueTransaction_stream_cursor_value_input {
amount: float8
block: numeric
db_write_timestamp: timestamp
hash: String
id: String
revenue_id: String
timestamp: numeric
}
```
### Fields
#### [RevenueTransaction_stream_cursor_value_input.amount
](#)[float8
](/docs/api/airdrops/graphql/envio/scalars/float-8.mdx)
#### [RevenueTransaction_stream_cursor_value_input.block
](#)[numeric
](/docs/api/airdrops/graphql/envio/scalars/numeric.mdx)
#### [RevenueTransaction_stream_cursor_value_input.db_write_timestamp
](#)[timestamp
](/docs/api/airdrops/graphql/envio/scalars/timestamp.mdx)
#### [RevenueTransaction_stream_cursor_value_input.hash
](#)[String
](/docs/api/airdrops/graphql/envio/scalars/string.mdx)
#### [RevenueTransaction_stream_cursor_value_input.id
](#)[String
](/docs/api/airdrops/graphql/envio/scalars/string.mdx)
#### [RevenueTransaction_stream_cursor_value_input.revenue_id
](#)[String
](/docs/api/airdrops/graphql/envio/scalars/string.mdx)
#### [RevenueTransaction_stream_cursor_value_input.timestamp
](#)[numeric
](/docs/api/airdrops/graphql/envio/scalars/numeric.mdx)
---
## RevenueTransaction_sum_order_by
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
order by sum() on columns of table "RevenueTransaction"
```graphql
input RevenueTransaction_sum_order_by {
amount: order_by
block: order_by
timestamp: order_by
}
```
### Fields
#### [RevenueTransaction_sum_order_by.amount
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [RevenueTransaction_sum_order_by.block
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [RevenueTransaction_sum_order_by.timestamp
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
---
## RevenueTransaction_var_pop_order_by
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
order by var_pop() on columns of table "RevenueTransaction"
```graphql
input RevenueTransaction_var_pop_order_by {
amount: order_by
block: order_by
timestamp: order_by
}
```
### Fields
#### [RevenueTransaction_var_pop_order_by.amount
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [RevenueTransaction_var_pop_order_by.block
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [RevenueTransaction_var_pop_order_by.timestamp
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
---
## RevenueTransaction_var_samp_order_by
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
order by var_samp() on columns of table "RevenueTransaction"
```graphql
input RevenueTransaction_var_samp_order_by {
amount: order_by
block: order_by
timestamp: order_by
}
```
### Fields
#### [RevenueTransaction_var_samp_order_by.amount
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [RevenueTransaction_var_samp_order_by.block
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [RevenueTransaction_var_samp_order_by.timestamp
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
---
## RevenueTransaction_variance_order_by
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
order by variance() on columns of table "RevenueTransaction"
```graphql
input RevenueTransaction_variance_order_by {
amount: order_by
block: order_by
timestamp: order_by
}
```
### Fields
#### [RevenueTransaction_variance_order_by.amount
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [RevenueTransaction_variance_order_by.block
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [RevenueTransaction_variance_order_by.timestamp
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
---
## String_array_comparison_exp
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
Boolean expression to compare columns of type "String". All fields are combined with logical 'AND'.
```graphql
input String_array_comparison_exp {
_contained_in: [String!]
_contains: [String!]
_eq: [String!]
_gt: [String!]
_gte: [String!]
_in: [[String!]!]
_is_null: Boolean
_lt: [String!]
_lte: [String!]
_neq: [String!]
_nin: [[String!]!]
}
```
### Fields
#### [String_array_comparison_exp.\_contained_in
](#)[[String!]
](/docs/api/airdrops/graphql/envio/scalars/string.mdx)
is the array contained in the given array value
#### [String_array_comparison_exp.\_contains
](#)[[String!]
](/docs/api/airdrops/graphql/envio/scalars/string.mdx)
does the array contain the given value
#### [String_array_comparison_exp.\_eq
](#)[[String!]
](/docs/api/airdrops/graphql/envio/scalars/string.mdx)
#### [String_array_comparison_exp.\_gt
](#)[[String!]
](/docs/api/airdrops/graphql/envio/scalars/string.mdx)
#### [String_array_comparison_exp.\_gte
](#)[[String!]
](/docs/api/airdrops/graphql/envio/scalars/string.mdx)
#### [String_array_comparison_exp.\_in
](#)[[[String!]!]
](/docs/api/airdrops/graphql/envio/scalars/string.mdx)
#### [String_array_comparison_exp.\_is_null
](#)[Boolean
](/docs/api/airdrops/graphql/envio/scalars/boolean.mdx)
#### [String_array_comparison_exp.\_lt
](#)[[String!]
](/docs/api/airdrops/graphql/envio/scalars/string.mdx)
#### [String_array_comparison_exp.\_lte
](#)[[String!]
](/docs/api/airdrops/graphql/envio/scalars/string.mdx)
#### [String_array_comparison_exp.\_neq
](#)[[String!]
](/docs/api/airdrops/graphql/envio/scalars/string.mdx)
#### [String_array_comparison_exp.\_nin
](#)[[[String!]!]
](/docs/api/airdrops/graphql/envio/scalars/string.mdx)
---
## String_comparison_exp
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
Boolean expression to compare columns of type "String". All fields are combined with logical 'AND'.
```graphql
input String_comparison_exp {
_eq: String
_gt: String
_gte: String
_ilike: String
_in: [String!]
_iregex: String
_is_null: Boolean
_like: String
_lt: String
_lte: String
_neq: String
_nilike: String
_nin: [String!]
_niregex: String
_nlike: String
_nregex: String
_nsimilar: String
_regex: String
_similar: String
}
```
### Fields
#### [String_comparison_exp.\_eq
](#)[String
](/docs/api/airdrops/graphql/envio/scalars/string.mdx)
#### [String_comparison_exp.\_gt
](#)[String
](/docs/api/airdrops/graphql/envio/scalars/string.mdx)
#### [String_comparison_exp.\_gte
](#)[String
](/docs/api/airdrops/graphql/envio/scalars/string.mdx)
#### [String_comparison_exp.\_ilike
](#)[String
](/docs/api/airdrops/graphql/envio/scalars/string.mdx)
does the column match the given case-insensitive pattern
#### [String_comparison_exp.\_in
](#)[[String!]
](/docs/api/airdrops/graphql/envio/scalars/string.mdx)
#### [String_comparison_exp.\_iregex
](#)[String
](/docs/api/airdrops/graphql/envio/scalars/string.mdx)
does the column match the given POSIX regular expression, case insensitive
#### [String_comparison_exp.\_is_null
](#)[Boolean
](/docs/api/airdrops/graphql/envio/scalars/boolean.mdx)
#### [String_comparison_exp.\_like
](#)[String
](/docs/api/airdrops/graphql/envio/scalars/string.mdx)
does the column match the given pattern
#### [String_comparison_exp.\_lt
](#)[String
](/docs/api/airdrops/graphql/envio/scalars/string.mdx)
#### [String_comparison_exp.\_lte
](#)[String
](/docs/api/airdrops/graphql/envio/scalars/string.mdx)
#### [String_comparison_exp.\_neq
](#)[String
](/docs/api/airdrops/graphql/envio/scalars/string.mdx)
#### [String_comparison_exp.\_nilike
](#)[String
](/docs/api/airdrops/graphql/envio/scalars/string.mdx)
does the column NOT match the given case-insensitive pattern
#### [String_comparison_exp.\_nin
](#)[[String!]
](/docs/api/airdrops/graphql/envio/scalars/string.mdx)
#### [String_comparison_exp.\_niregex
](#)[String
](/docs/api/airdrops/graphql/envio/scalars/string.mdx)
does the column NOT match the given POSIX regular expression, case insensitive
#### [String_comparison_exp.\_nlike
](#)[String
](/docs/api/airdrops/graphql/envio/scalars/string.mdx)
does the column NOT match the given pattern
#### [String_comparison_exp.\_nregex
](#)[String
](/docs/api/airdrops/graphql/envio/scalars/string.mdx)
does the column NOT match the given POSIX regular expression, case sensitive
#### [String_comparison_exp.\_nsimilar
](#)[String
](/docs/api/airdrops/graphql/envio/scalars/string.mdx)
does the column NOT match the given SQL regular expression
#### [String_comparison_exp.\_regex
](#)[String
](/docs/api/airdrops/graphql/envio/scalars/string.mdx)
does the column match the given POSIX regular expression, case sensitive
#### [String_comparison_exp.\_similar
](#)[String
](/docs/api/airdrops/graphql/envio/scalars/string.mdx)
does the column match the given SQL regular expression
---
## timestamp_comparison_exp
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
Boolean expression to compare columns of type "timestamp". All fields are combined with logical 'AND'.
```graphql
input timestamp_comparison_exp {
_eq: timestamp
_gt: timestamp
_gte: timestamp
_in: [timestamp!]
_is_null: Boolean
_lt: timestamp
_lte: timestamp
_neq: timestamp
_nin: [timestamp!]
}
```
### Fields
#### [timestamp_comparison_exp.\_eq
](#)[timestamp
](/docs/api/airdrops/graphql/envio/scalars/timestamp.mdx)
#### [timestamp_comparison_exp.\_gt
](#)[timestamp
](/docs/api/airdrops/graphql/envio/scalars/timestamp.mdx)
#### [timestamp_comparison_exp.\_gte
](#)[timestamp
](/docs/api/airdrops/graphql/envio/scalars/timestamp.mdx)
#### [timestamp_comparison_exp.\_in
](#)[[timestamp!]
](/docs/api/airdrops/graphql/envio/scalars/timestamp.mdx)
#### [timestamp_comparison_exp.\_is_null
](#)[Boolean
](/docs/api/airdrops/graphql/envio/scalars/boolean.mdx)
#### [timestamp_comparison_exp.\_lt
](#)[timestamp
](/docs/api/airdrops/graphql/envio/scalars/timestamp.mdx)
#### [timestamp_comparison_exp.\_lte
](#)[timestamp
](/docs/api/airdrops/graphql/envio/scalars/timestamp.mdx)
#### [timestamp_comparison_exp.\_neq
](#)[timestamp
](/docs/api/airdrops/graphql/envio/scalars/timestamp.mdx)
#### [timestamp_comparison_exp.\_nin
](#)[[timestamp!]
](/docs/api/airdrops/graphql/envio/scalars/timestamp.mdx)
---
## timestamptz_comparison_exp
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
Boolean expression to compare columns of type "timestamptz". All fields are combined with logical 'AND'.
```graphql
input timestamptz_comparison_exp {
_eq: timestamptz
_gt: timestamptz
_gte: timestamptz
_in: [timestamptz!]
_is_null: Boolean
_lt: timestamptz
_lte: timestamptz
_neq: timestamptz
_nin: [timestamptz!]
}
```
### Fields
#### [timestamptz_comparison_exp.\_eq
](#)[timestamptz
](/docs/api/airdrops/graphql/envio/scalars/timestamptz.mdx)
#### [timestamptz_comparison_exp.\_gt
](#)[timestamptz
](/docs/api/airdrops/graphql/envio/scalars/timestamptz.mdx)
#### [timestamptz_comparison_exp.\_gte
](#)[timestamptz
](/docs/api/airdrops/graphql/envio/scalars/timestamptz.mdx)
#### [timestamptz_comparison_exp.\_in
](#)[[timestamptz!]
](/docs/api/airdrops/graphql/envio/scalars/timestamptz.mdx)
#### [timestamptz_comparison_exp.\_is_null
](#)[Boolean
](/docs/api/airdrops/graphql/envio/scalars/boolean.mdx)
#### [timestamptz_comparison_exp.\_lt
](#)[timestamptz
](/docs/api/airdrops/graphql/envio/scalars/timestamptz.mdx)
#### [timestamptz_comparison_exp.\_lte
](#)[timestamptz
](/docs/api/airdrops/graphql/envio/scalars/timestamptz.mdx)
#### [timestamptz_comparison_exp.\_neq
](#)[timestamptz
](/docs/api/airdrops/graphql/envio/scalars/timestamptz.mdx)
#### [timestamptz_comparison_exp.\_nin
](#)[[timestamptz!]
](/docs/api/airdrops/graphql/envio/scalars/timestamptz.mdx)
---
## Tranche_aggregate_order_by
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
order by aggregate values of table "Tranche"
```graphql
input Tranche_aggregate_order_by {
avg: Tranche_avg_order_by
count: order_by
max: Tranche_max_order_by
min: Tranche_min_order_by
stddev: Tranche_stddev_order_by
stddev_pop: Tranche_stddev_pop_order_by
stddev_samp: Tranche_stddev_samp_order_by
sum: Tranche_sum_order_by
var_pop: Tranche_var_pop_order_by
var_samp: Tranche_var_samp_order_by
variance: Tranche_variance_order_by
}
```
### Fields
#### [Tranche_aggregate_order_by.avg
](#)[Tranche_avg_order_by
](/docs/api/airdrops/graphql/envio/inputs/tranche-avg-order-by.mdx)
#### [Tranche_aggregate_order_by.count
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [Tranche_aggregate_order_by.max
](#)[Tranche_max_order_by
](/docs/api/airdrops/graphql/envio/inputs/tranche-max-order-by.mdx)
#### [Tranche_aggregate_order_by.min
](#)[Tranche_min_order_by
](/docs/api/airdrops/graphql/envio/inputs/tranche-min-order-by.mdx)
#### [Tranche_aggregate_order_by.stddev
](#)[Tranche_stddev_order_by
](/docs/api/airdrops/graphql/envio/inputs/tranche-stddev-order-by.mdx)
#### [Tranche_aggregate_order_by.stddev_pop
](#)[Tranche_stddev_pop_order_by
](/docs/api/airdrops/graphql/envio/inputs/tranche-stddev-pop-order-by.mdx)
#### [Tranche_aggregate_order_by.stddev_samp
](#)[Tranche_stddev_samp_order_by
](/docs/api/airdrops/graphql/envio/inputs/tranche-stddev-samp-order-by.mdx)
#### [Tranche_aggregate_order_by.sum
](#)[Tranche_sum_order_by
](/docs/api/airdrops/graphql/envio/inputs/tranche-sum-order-by.mdx)
#### [Tranche_aggregate_order_by.var_pop
](#)[Tranche_var_pop_order_by
](/docs/api/airdrops/graphql/envio/inputs/tranche-var-pop-order-by.mdx)
#### [Tranche_aggregate_order_by.var_samp
](#)[Tranche_var_samp_order_by
](/docs/api/airdrops/graphql/envio/inputs/tranche-var-samp-order-by.mdx)
#### [Tranche_aggregate_order_by.variance
](#)[Tranche_variance_order_by
](/docs/api/airdrops/graphql/envio/inputs/tranche-variance-order-by.mdx)
---
## Tranche_avg_order_by
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
order by avg() on columns of table "Tranche"
```graphql
input Tranche_avg_order_by {
duration: order_by
endDuration: order_by
endPercentage: order_by
percentage: order_by
position: order_by
startDuration: order_by
startPercentage: order_by
}
```
### Fields
#### [Tranche_avg_order_by.duration
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [Tranche_avg_order_by.endDuration
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [Tranche_avg_order_by.endPercentage
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [Tranche_avg_order_by.percentage
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [Tranche_avg_order_by.position
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [Tranche_avg_order_by.startDuration
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [Tranche_avg_order_by.startPercentage
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
---
## Tranche_bool_exp
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
Boolean expression to filter rows from the table "Tranche". All fields are combined with a logical 'AND'.
```graphql
input Tranche_bool_exp {
_and: [Tranche_bool_exp!]
_not: Tranche_bool_exp
_or: [Tranche_bool_exp!]
campaign: Campaign_bool_exp
campaign_id: String_comparison_exp
db_write_timestamp: timestamp_comparison_exp
duration: numeric_comparison_exp
endDuration: numeric_comparison_exp
endPercentage: numeric_comparison_exp
id: String_comparison_exp
percentage: numeric_comparison_exp
position: numeric_comparison_exp
startDuration: numeric_comparison_exp
startPercentage: numeric_comparison_exp
}
```
### Fields
#### [Tranche_bool_exp.\_and
](#)[[Tranche_bool_exp!]
](/docs/api/airdrops/graphql/envio/inputs/tranche-bool-exp.mdx)
#### [Tranche_bool_exp.\_not
](#)[Tranche_bool_exp
](/docs/api/airdrops/graphql/envio/inputs/tranche-bool-exp.mdx)
#### [Tranche_bool_exp.\_or
](#)[[Tranche_bool_exp!]
](/docs/api/airdrops/graphql/envio/inputs/tranche-bool-exp.mdx)
#### [Tranche_bool_exp.campaign
](#)[Campaign_bool_exp
](/docs/api/airdrops/graphql/envio/inputs/campaign-bool-exp.mdx)
#### [Tranche_bool_exp.campaign_id
](#)[String_comparison_exp
](/docs/api/airdrops/graphql/envio/inputs/string-comparison-exp.mdx)
#### [Tranche_bool_exp.db_write_timestamp
](#)[timestamp_comparison_exp
](/docs/api/airdrops/graphql/envio/inputs/timestamp-comparison-exp.mdx)
#### [Tranche_bool_exp.duration
](#)[numeric_comparison_exp
](/docs/api/airdrops/graphql/envio/inputs/numeric-comparison-exp.mdx)
#### [Tranche_bool_exp.endDuration
](#)[numeric_comparison_exp
](/docs/api/airdrops/graphql/envio/inputs/numeric-comparison-exp.mdx)
#### [Tranche_bool_exp.endPercentage
](#)[numeric_comparison_exp
](/docs/api/airdrops/graphql/envio/inputs/numeric-comparison-exp.mdx)
#### [Tranche_bool_exp.id
](#)[String_comparison_exp
](/docs/api/airdrops/graphql/envio/inputs/string-comparison-exp.mdx)
#### [Tranche_bool_exp.percentage
](#)[numeric_comparison_exp
](/docs/api/airdrops/graphql/envio/inputs/numeric-comparison-exp.mdx)
#### [Tranche_bool_exp.position
](#)[numeric_comparison_exp
](/docs/api/airdrops/graphql/envio/inputs/numeric-comparison-exp.mdx)
#### [Tranche_bool_exp.startDuration
](#)[numeric_comparison_exp
](/docs/api/airdrops/graphql/envio/inputs/numeric-comparison-exp.mdx)
#### [Tranche_bool_exp.startPercentage
](#)[numeric_comparison_exp
](/docs/api/airdrops/graphql/envio/inputs/numeric-comparison-exp.mdx)
---
## Tranche_max_order_by
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
order by max() on columns of table "Tranche"
```graphql
input Tranche_max_order_by {
campaign_id: order_by
db_write_timestamp: order_by
duration: order_by
endDuration: order_by
endPercentage: order_by
id: order_by
percentage: order_by
position: order_by
startDuration: order_by
startPercentage: order_by
}
```
### Fields
#### [Tranche_max_order_by.campaign_id
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [Tranche_max_order_by.db_write_timestamp
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [Tranche_max_order_by.duration
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [Tranche_max_order_by.endDuration
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [Tranche_max_order_by.endPercentage
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [Tranche_max_order_by.id
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [Tranche_max_order_by.percentage
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [Tranche_max_order_by.position
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [Tranche_max_order_by.startDuration
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [Tranche_max_order_by.startPercentage
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
---
## Tranche_min_order_by
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
order by min() on columns of table "Tranche"
```graphql
input Tranche_min_order_by {
campaign_id: order_by
db_write_timestamp: order_by
duration: order_by
endDuration: order_by
endPercentage: order_by
id: order_by
percentage: order_by
position: order_by
startDuration: order_by
startPercentage: order_by
}
```
### Fields
#### [Tranche_min_order_by.campaign_id
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [Tranche_min_order_by.db_write_timestamp
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [Tranche_min_order_by.duration
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [Tranche_min_order_by.endDuration
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [Tranche_min_order_by.endPercentage
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [Tranche_min_order_by.id
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [Tranche_min_order_by.percentage
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [Tranche_min_order_by.position
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [Tranche_min_order_by.startDuration
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [Tranche_min_order_by.startPercentage
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
---
## Tranche_order_by
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
Ordering options when selecting data from "Tranche".
```graphql
input Tranche_order_by {
campaign: Campaign_order_by
campaign_id: order_by
db_write_timestamp: order_by
duration: order_by
endDuration: order_by
endPercentage: order_by
id: order_by
percentage: order_by
position: order_by
startDuration: order_by
startPercentage: order_by
}
```
### Fields
#### [Tranche_order_by.campaign
](#)[Campaign_order_by
](/docs/api/airdrops/graphql/envio/inputs/campaign-order-by.mdx)
#### [Tranche_order_by.campaign_id
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [Tranche_order_by.db_write_timestamp
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [Tranche_order_by.duration
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [Tranche_order_by.endDuration
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [Tranche_order_by.endPercentage
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [Tranche_order_by.id
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [Tranche_order_by.percentage
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [Tranche_order_by.position
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [Tranche_order_by.startDuration
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [Tranche_order_by.startPercentage
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
---
## Tranche_stddev_order_by
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
order by stddev() on columns of table "Tranche"
```graphql
input Tranche_stddev_order_by {
duration: order_by
endDuration: order_by
endPercentage: order_by
percentage: order_by
position: order_by
startDuration: order_by
startPercentage: order_by
}
```
### Fields
#### [Tranche_stddev_order_by.duration
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [Tranche_stddev_order_by.endDuration
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [Tranche_stddev_order_by.endPercentage
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [Tranche_stddev_order_by.percentage
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [Tranche_stddev_order_by.position
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [Tranche_stddev_order_by.startDuration
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [Tranche_stddev_order_by.startPercentage
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
---
## Tranche_stddev_pop_order_by
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
order by stddev_pop() on columns of table "Tranche"
```graphql
input Tranche_stddev_pop_order_by {
duration: order_by
endDuration: order_by
endPercentage: order_by
percentage: order_by
position: order_by
startDuration: order_by
startPercentage: order_by
}
```
### Fields
#### [Tranche_stddev_pop_order_by.duration
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [Tranche_stddev_pop_order_by.endDuration
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [Tranche_stddev_pop_order_by.endPercentage
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [Tranche_stddev_pop_order_by.percentage
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [Tranche_stddev_pop_order_by.position
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [Tranche_stddev_pop_order_by.startDuration
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [Tranche_stddev_pop_order_by.startPercentage
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
---
## Tranche_stddev_samp_order_by
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
order by stddev_samp() on columns of table "Tranche"
```graphql
input Tranche_stddev_samp_order_by {
duration: order_by
endDuration: order_by
endPercentage: order_by
percentage: order_by
position: order_by
startDuration: order_by
startPercentage: order_by
}
```
### Fields
#### [Tranche_stddev_samp_order_by.duration
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [Tranche_stddev_samp_order_by.endDuration
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [Tranche_stddev_samp_order_by.endPercentage
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [Tranche_stddev_samp_order_by.percentage
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [Tranche_stddev_samp_order_by.position
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [Tranche_stddev_samp_order_by.startDuration
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [Tranche_stddev_samp_order_by.startPercentage
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
---
## Tranche_stream_cursor_input
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
Streaming cursor of the table "Tranche"
```graphql
input Tranche_stream_cursor_input {
initial_value: Tranche_stream_cursor_value_input!
ordering: cursor_ordering
}
```
### Fields
#### [Tranche_stream_cursor_input.initial_value
](#)[Tranche_stream_cursor_value_input!
](/docs/api/airdrops/graphql/envio/inputs/tranche-stream-cursor-value-input.mdx)
Stream column input with initial value
#### [Tranche_stream_cursor_input.ordering
](#)[cursor_ordering
](/docs/api/airdrops/graphql/envio/enums/cursor-ordering.mdx)
cursor ordering
---
## Tranche_stream_cursor_value_input
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
Initial value of the column from where the streaming should start
```graphql
input Tranche_stream_cursor_value_input {
campaign_id: String
db_write_timestamp: timestamp
duration: numeric
endDuration: numeric
endPercentage: numeric
id: String
percentage: numeric
position: numeric
startDuration: numeric
startPercentage: numeric
}
```
### Fields
#### [Tranche_stream_cursor_value_input.campaign_id
](#)[String
](/docs/api/airdrops/graphql/envio/scalars/string.mdx)
#### [Tranche_stream_cursor_value_input.db_write_timestamp
](#)[timestamp
](/docs/api/airdrops/graphql/envio/scalars/timestamp.mdx)
#### [Tranche_stream_cursor_value_input.duration
](#)[numeric
](/docs/api/airdrops/graphql/envio/scalars/numeric.mdx)
#### [Tranche_stream_cursor_value_input.endDuration
](#)[numeric
](/docs/api/airdrops/graphql/envio/scalars/numeric.mdx)
#### [Tranche_stream_cursor_value_input.endPercentage
](#)[numeric
](/docs/api/airdrops/graphql/envio/scalars/numeric.mdx)
#### [Tranche_stream_cursor_value_input.id
](#)[String
](/docs/api/airdrops/graphql/envio/scalars/string.mdx)
#### [Tranche_stream_cursor_value_input.percentage
](#)[numeric
](/docs/api/airdrops/graphql/envio/scalars/numeric.mdx)
#### [Tranche_stream_cursor_value_input.position
](#)[numeric
](/docs/api/airdrops/graphql/envio/scalars/numeric.mdx)
#### [Tranche_stream_cursor_value_input.startDuration
](#)[numeric
](/docs/api/airdrops/graphql/envio/scalars/numeric.mdx)
#### [Tranche_stream_cursor_value_input.startPercentage
](#)[numeric
](/docs/api/airdrops/graphql/envio/scalars/numeric.mdx)
---
## Tranche_sum_order_by
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
order by sum() on columns of table "Tranche"
```graphql
input Tranche_sum_order_by {
duration: order_by
endDuration: order_by
endPercentage: order_by
percentage: order_by
position: order_by
startDuration: order_by
startPercentage: order_by
}
```
### Fields
#### [Tranche_sum_order_by.duration
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [Tranche_sum_order_by.endDuration
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [Tranche_sum_order_by.endPercentage
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [Tranche_sum_order_by.percentage
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [Tranche_sum_order_by.position
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [Tranche_sum_order_by.startDuration
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [Tranche_sum_order_by.startPercentage
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
---
## Tranche_var_pop_order_by
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
order by var_pop() on columns of table "Tranche"
```graphql
input Tranche_var_pop_order_by {
duration: order_by
endDuration: order_by
endPercentage: order_by
percentage: order_by
position: order_by
startDuration: order_by
startPercentage: order_by
}
```
### Fields
#### [Tranche_var_pop_order_by.duration
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [Tranche_var_pop_order_by.endDuration
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [Tranche_var_pop_order_by.endPercentage
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [Tranche_var_pop_order_by.percentage
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [Tranche_var_pop_order_by.position
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [Tranche_var_pop_order_by.startDuration
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [Tranche_var_pop_order_by.startPercentage
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
---
## Tranche_var_samp_order_by
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
order by var_samp() on columns of table "Tranche"
```graphql
input Tranche_var_samp_order_by {
duration: order_by
endDuration: order_by
endPercentage: order_by
percentage: order_by
position: order_by
startDuration: order_by
startPercentage: order_by
}
```
### Fields
#### [Tranche_var_samp_order_by.duration
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [Tranche_var_samp_order_by.endDuration
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [Tranche_var_samp_order_by.endPercentage
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [Tranche_var_samp_order_by.percentage
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [Tranche_var_samp_order_by.position
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [Tranche_var_samp_order_by.startDuration
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [Tranche_var_samp_order_by.startPercentage
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
---
## Tranche_variance_order_by
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
order by variance() on columns of table "Tranche"
```graphql
input Tranche_variance_order_by {
duration: order_by
endDuration: order_by
endPercentage: order_by
percentage: order_by
position: order_by
startDuration: order_by
startPercentage: order_by
}
```
### Fields
#### [Tranche_variance_order_by.duration
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [Tranche_variance_order_by.endDuration
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [Tranche_variance_order_by.endPercentage
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [Tranche_variance_order_by.percentage
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [Tranche_variance_order_by.position
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [Tranche_variance_order_by.startDuration
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [Tranche_variance_order_by.startPercentage
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
---
## User_bool_exp
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
Boolean expression to filter rows from the table "User". All fields are combined with a logical 'AND'.
```graphql
input User_bool_exp {
_and: [User_bool_exp!]
_not: User_bool_exp
_or: [User_bool_exp!]
address: String_comparison_exp
chainId: numeric_comparison_exp
db_write_timestamp: timestamp_comparison_exp
id: String_comparison_exp
isOnlyAirdropClaimer: Boolean_comparison_exp
transactions: UserTransaction_bool_exp
transactions_aggregate: UserTransaction_aggregate_bool_exp
}
```
### Fields
#### [User_bool_exp.\_and
](#)[[User_bool_exp!]
](/docs/api/airdrops/graphql/envio/inputs/user-bool-exp.mdx)
#### [User_bool_exp.\_not
](#)[User_bool_exp
](/docs/api/airdrops/graphql/envio/inputs/user-bool-exp.mdx)
#### [User_bool_exp.\_or
](#)[[User_bool_exp!]
](/docs/api/airdrops/graphql/envio/inputs/user-bool-exp.mdx)
#### [User_bool_exp.address
](#)[String_comparison_exp
](/docs/api/airdrops/graphql/envio/inputs/string-comparison-exp.mdx)
#### [User_bool_exp.chainId
](#)[numeric_comparison_exp
](/docs/api/airdrops/graphql/envio/inputs/numeric-comparison-exp.mdx)
#### [User_bool_exp.db_write_timestamp
](#)[timestamp_comparison_exp
](/docs/api/airdrops/graphql/envio/inputs/timestamp-comparison-exp.mdx)
#### [User_bool_exp.id
](#)[String_comparison_exp
](/docs/api/airdrops/graphql/envio/inputs/string-comparison-exp.mdx)
#### [User_bool_exp.isOnlyAirdropClaimer
](#)[Boolean_comparison_exp
](/docs/api/airdrops/graphql/envio/inputs/boolean-comparison-exp.mdx)
#### [User_bool_exp.transactions
](#)[UserTransaction_bool_exp
](/docs/api/airdrops/graphql/envio/inputs/user-transaction-bool-exp.mdx)
#### [User_bool_exp.transactions_aggregate
](#)[UserTransaction_aggregate_bool_exp
](/docs/api/airdrops/graphql/envio/inputs/user-transaction-aggregate-bool-exp.mdx)
---
## User_order_by
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
Ordering options when selecting data from "User".
```graphql
input User_order_by {
address: order_by
chainId: order_by
db_write_timestamp: order_by
id: order_by
isOnlyAirdropClaimer: order_by
transactions_aggregate: UserTransaction_aggregate_order_by
}
```
### Fields
#### [User_order_by.address
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [User_order_by.chainId
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [User_order_by.db_write_timestamp
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [User_order_by.id
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [User_order_by.isOnlyAirdropClaimer
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [User_order_by.transactions_aggregate
](#)[UserTransaction_aggregate_order_by
](/docs/api/airdrops/graphql/envio/inputs/user-transaction-aggregate-order-by.mdx)
---
## User_stream_cursor_input
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
Streaming cursor of the table "User"
```graphql
input User_stream_cursor_input {
initial_value: User_stream_cursor_value_input!
ordering: cursor_ordering
}
```
### Fields
#### [User_stream_cursor_input.initial_value
](#)[User_stream_cursor_value_input!
](/docs/api/airdrops/graphql/envio/inputs/user-stream-cursor-value-input.mdx)
Stream column input with initial value
#### [User_stream_cursor_input.ordering
](#)[cursor_ordering
](/docs/api/airdrops/graphql/envio/enums/cursor-ordering.mdx)
cursor ordering
---
## User_stream_cursor_value_input
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
Initial value of the column from where the streaming should start
```graphql
input User_stream_cursor_value_input {
address: String
chainId: numeric
db_write_timestamp: timestamp
id: String
isOnlyAirdropClaimer: Boolean
}
```
### Fields
#### [User_stream_cursor_value_input.address
](#)[String
](/docs/api/airdrops/graphql/envio/scalars/string.mdx)
#### [User_stream_cursor_value_input.chainId
](#)[numeric
](/docs/api/airdrops/graphql/envio/scalars/numeric.mdx)
#### [User_stream_cursor_value_input.db_write_timestamp
](#)[timestamp
](/docs/api/airdrops/graphql/envio/scalars/timestamp.mdx)
#### [User_stream_cursor_value_input.id
](#)[String
](/docs/api/airdrops/graphql/envio/scalars/string.mdx)
#### [User_stream_cursor_value_input.isOnlyAirdropClaimer
](#)[Boolean
](/docs/api/airdrops/graphql/envio/scalars/boolean.mdx)
---
## UserTransaction_aggregate_bool_exp_avg
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
No description
```graphql
input UserTransaction_aggregate_bool_exp_avg {
arguments: UserTransaction_select_column_UserTransaction_aggregate_bool_exp_avg_arguments_columns!
distinct: Boolean
filter: UserTransaction_bool_exp
predicate: float8_comparison_exp!
}
```
### Fields
#### [UserTransaction_aggregate_bool_exp_avg.arguments
](#)[UserTransaction_select_column_UserTransaction_aggregate_bool_exp_avg_arguments_columns!
](/docs/api/airdrops/graphql/envio/enums/user-transaction-select-column-user-transaction-aggregate-bool-exp-avg-arguments-columns.mdx)
#### [UserTransaction_aggregate_bool_exp_avg.distinct
](#)[Boolean
](/docs/api/airdrops/graphql/envio/scalars/boolean.mdx)
#### [UserTransaction_aggregate_bool_exp_avg.filter
](#)[UserTransaction_bool_exp
](/docs/api/airdrops/graphql/envio/inputs/user-transaction-bool-exp.mdx)
#### [UserTransaction_aggregate_bool_exp_avg.predicate
](#)[float8_comparison_exp!
](/docs/api/airdrops/graphql/envio/inputs/float-8-comparison-exp.mdx)
---
## UserTransaction_aggregate_bool_exp_bool_and
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
No description
```graphql
input UserTransaction_aggregate_bool_exp_bool_and {
arguments: UserTransaction_select_column_UserTransaction_aggregate_bool_exp_bool_and_arguments_columns!
distinct: Boolean
filter: UserTransaction_bool_exp
predicate: Boolean_comparison_exp!
}
```
### Fields
#### [UserTransaction_aggregate_bool_exp_bool_and.arguments
](#)[UserTransaction_select_column_UserTransaction_aggregate_bool_exp_bool_and_arguments_columns!
](/docs/api/airdrops/graphql/envio/enums/user-transaction-select-column-user-transaction-aggregate-bool-exp-bool-and-arguments-columns.mdx)
#### [UserTransaction_aggregate_bool_exp_bool_and.distinct
](#)[Boolean
](/docs/api/airdrops/graphql/envio/scalars/boolean.mdx)
#### [UserTransaction_aggregate_bool_exp_bool_and.filter
](#)[UserTransaction_bool_exp
](/docs/api/airdrops/graphql/envio/inputs/user-transaction-bool-exp.mdx)
#### [UserTransaction_aggregate_bool_exp_bool_and.predicate
](#)[Boolean_comparison_exp!
](/docs/api/airdrops/graphql/envio/inputs/boolean-comparison-exp.mdx)
---
## UserTransaction_aggregate_bool_exp_bool_or
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
No description
```graphql
input UserTransaction_aggregate_bool_exp_bool_or {
arguments: UserTransaction_select_column_UserTransaction_aggregate_bool_exp_bool_or_arguments_columns!
distinct: Boolean
filter: UserTransaction_bool_exp
predicate: Boolean_comparison_exp!
}
```
### Fields
#### [UserTransaction_aggregate_bool_exp_bool_or.arguments
](#)[UserTransaction_select_column_UserTransaction_aggregate_bool_exp_bool_or_arguments_columns!
](/docs/api/airdrops/graphql/envio/enums/user-transaction-select-column-user-transaction-aggregate-bool-exp-bool-or-arguments-columns.mdx)
#### [UserTransaction_aggregate_bool_exp_bool_or.distinct
](#)[Boolean
](/docs/api/airdrops/graphql/envio/scalars/boolean.mdx)
#### [UserTransaction_aggregate_bool_exp_bool_or.filter
](#)[UserTransaction_bool_exp
](/docs/api/airdrops/graphql/envio/inputs/user-transaction-bool-exp.mdx)
#### [UserTransaction_aggregate_bool_exp_bool_or.predicate
](#)[Boolean_comparison_exp!
](/docs/api/airdrops/graphql/envio/inputs/boolean-comparison-exp.mdx)
---
## UserTransaction_aggregate_bool_exp_corr_arguments
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
No description
```graphql
input UserTransaction_aggregate_bool_exp_corr_arguments {
X: UserTransaction_select_column_UserTransaction_aggregate_bool_exp_corr_arguments_columns!
Y: UserTransaction_select_column_UserTransaction_aggregate_bool_exp_corr_arguments_columns!
}
```
### Fields
#### [UserTransaction_aggregate_bool_exp_corr_arguments.X
](#)[UserTransaction_select_column_UserTransaction_aggregate_bool_exp_corr_arguments_columns!
](/docs/api/airdrops/graphql/envio/enums/user-transaction-select-column-user-transaction-aggregate-bool-exp-corr-arguments-columns.mdx)
#### [UserTransaction_aggregate_bool_exp_corr_arguments.Y
](#)[UserTransaction_select_column_UserTransaction_aggregate_bool_exp_corr_arguments_columns!
](/docs/api/airdrops/graphql/envio/enums/user-transaction-select-column-user-transaction-aggregate-bool-exp-corr-arguments-columns.mdx)
---
## UserTransaction_aggregate_bool_exp_corr
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
No description
```graphql
input UserTransaction_aggregate_bool_exp_corr {
arguments: UserTransaction_aggregate_bool_exp_corr_arguments!
distinct: Boolean
filter: UserTransaction_bool_exp
predicate: float8_comparison_exp!
}
```
### Fields
#### [UserTransaction_aggregate_bool_exp_corr.arguments
](#)[UserTransaction_aggregate_bool_exp_corr_arguments!
](/docs/api/airdrops/graphql/envio/inputs/user-transaction-aggregate-bool-exp-corr-arguments.mdx)
#### [UserTransaction_aggregate_bool_exp_corr.distinct
](#)[Boolean
](/docs/api/airdrops/graphql/envio/scalars/boolean.mdx)
#### [UserTransaction_aggregate_bool_exp_corr.filter
](#)[UserTransaction_bool_exp
](/docs/api/airdrops/graphql/envio/inputs/user-transaction-bool-exp.mdx)
#### [UserTransaction_aggregate_bool_exp_corr.predicate
](#)[float8_comparison_exp!
](/docs/api/airdrops/graphql/envio/inputs/float-8-comparison-exp.mdx)
---
## UserTransaction_aggregate_bool_exp_count
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
No description
```graphql
input UserTransaction_aggregate_bool_exp_count {
arguments: [UserTransaction_select_column!]
distinct: Boolean
filter: UserTransaction_bool_exp
predicate: Int_comparison_exp!
}
```
### Fields
#### [UserTransaction_aggregate_bool_exp_count.arguments
](#)[[UserTransaction_select_column!]
](/docs/api/airdrops/graphql/envio/enums/user-transaction-select-column.mdx)
#### [UserTransaction_aggregate_bool_exp_count.distinct
](#)[Boolean
](/docs/api/airdrops/graphql/envio/scalars/boolean.mdx)
#### [UserTransaction_aggregate_bool_exp_count.filter
](#)[UserTransaction_bool_exp
](/docs/api/airdrops/graphql/envio/inputs/user-transaction-bool-exp.mdx)
#### [UserTransaction_aggregate_bool_exp_count.predicate
](#)[Int_comparison_exp!
](/docs/api/airdrops/graphql/envio/inputs/int-comparison-exp.mdx)
---
## UserTransaction_aggregate_bool_exp_covar_samp_arguments
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
No description
```graphql
input UserTransaction_aggregate_bool_exp_covar_samp_arguments {
X: UserTransaction_select_column_UserTransaction_aggregate_bool_exp_covar_samp_arguments_columns!
Y: UserTransaction_select_column_UserTransaction_aggregate_bool_exp_covar_samp_arguments_columns!
}
```
### Fields
#### [UserTransaction_aggregate_bool_exp_covar_samp_arguments.X
](#)[UserTransaction_select_column_UserTransaction_aggregate_bool_exp_covar_samp_arguments_columns!
](/docs/api/airdrops/graphql/envio/enums/user-transaction-select-column-user-transaction-aggregate-bool-exp-covar-samp-arguments-columns.mdx)
#### [UserTransaction_aggregate_bool_exp_covar_samp_arguments.Y
](#)[UserTransaction_select_column_UserTransaction_aggregate_bool_exp_covar_samp_arguments_columns!
](/docs/api/airdrops/graphql/envio/enums/user-transaction-select-column-user-transaction-aggregate-bool-exp-covar-samp-arguments-columns.mdx)
---
## UserTransaction_aggregate_bool_exp_covar_samp
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
No description
```graphql
input UserTransaction_aggregate_bool_exp_covar_samp {
arguments: UserTransaction_aggregate_bool_exp_covar_samp_arguments!
distinct: Boolean
filter: UserTransaction_bool_exp
predicate: float8_comparison_exp!
}
```
### Fields
#### [UserTransaction_aggregate_bool_exp_covar_samp.arguments
](#)[UserTransaction_aggregate_bool_exp_covar_samp_arguments!
](/docs/api/airdrops/graphql/envio/inputs/user-transaction-aggregate-bool-exp-covar-samp-arguments.mdx)
#### [UserTransaction_aggregate_bool_exp_covar_samp.distinct
](#)[Boolean
](/docs/api/airdrops/graphql/envio/scalars/boolean.mdx)
#### [UserTransaction_aggregate_bool_exp_covar_samp.filter
](#)[UserTransaction_bool_exp
](/docs/api/airdrops/graphql/envio/inputs/user-transaction-bool-exp.mdx)
#### [UserTransaction_aggregate_bool_exp_covar_samp.predicate
](#)[float8_comparison_exp!
](/docs/api/airdrops/graphql/envio/inputs/float-8-comparison-exp.mdx)
---
## UserTransaction_aggregate_bool_exp_max
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
No description
```graphql
input UserTransaction_aggregate_bool_exp_max {
arguments: UserTransaction_select_column_UserTransaction_aggregate_bool_exp_max_arguments_columns!
distinct: Boolean
filter: UserTransaction_bool_exp
predicate: float8_comparison_exp!
}
```
### Fields
#### [UserTransaction_aggregate_bool_exp_max.arguments
](#)[UserTransaction_select_column_UserTransaction_aggregate_bool_exp_max_arguments_columns!
](/docs/api/airdrops/graphql/envio/enums/user-transaction-select-column-user-transaction-aggregate-bool-exp-max-arguments-columns.mdx)
#### [UserTransaction_aggregate_bool_exp_max.distinct
](#)[Boolean
](/docs/api/airdrops/graphql/envio/scalars/boolean.mdx)
#### [UserTransaction_aggregate_bool_exp_max.filter
](#)[UserTransaction_bool_exp
](/docs/api/airdrops/graphql/envio/inputs/user-transaction-bool-exp.mdx)
#### [UserTransaction_aggregate_bool_exp_max.predicate
](#)[float8_comparison_exp!
](/docs/api/airdrops/graphql/envio/inputs/float-8-comparison-exp.mdx)
---
## UserTransaction_aggregate_bool_exp_min
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
No description
```graphql
input UserTransaction_aggregate_bool_exp_min {
arguments: UserTransaction_select_column_UserTransaction_aggregate_bool_exp_min_arguments_columns!
distinct: Boolean
filter: UserTransaction_bool_exp
predicate: float8_comparison_exp!
}
```
### Fields
#### [UserTransaction_aggregate_bool_exp_min.arguments
](#)[UserTransaction_select_column_UserTransaction_aggregate_bool_exp_min_arguments_columns!
](/docs/api/airdrops/graphql/envio/enums/user-transaction-select-column-user-transaction-aggregate-bool-exp-min-arguments-columns.mdx)
#### [UserTransaction_aggregate_bool_exp_min.distinct
](#)[Boolean
](/docs/api/airdrops/graphql/envio/scalars/boolean.mdx)
#### [UserTransaction_aggregate_bool_exp_min.filter
](#)[UserTransaction_bool_exp
](/docs/api/airdrops/graphql/envio/inputs/user-transaction-bool-exp.mdx)
#### [UserTransaction_aggregate_bool_exp_min.predicate
](#)[float8_comparison_exp!
](/docs/api/airdrops/graphql/envio/inputs/float-8-comparison-exp.mdx)
---
## UserTransaction_aggregate_bool_exp_stddev_samp
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
No description
```graphql
input UserTransaction_aggregate_bool_exp_stddev_samp {
arguments: UserTransaction_select_column_UserTransaction_aggregate_bool_exp_stddev_samp_arguments_columns!
distinct: Boolean
filter: UserTransaction_bool_exp
predicate: float8_comparison_exp!
}
```
### Fields
#### [UserTransaction_aggregate_bool_exp_stddev_samp.arguments
](#)[UserTransaction_select_column_UserTransaction_aggregate_bool_exp_stddev_samp_arguments_columns!
](/docs/api/airdrops/graphql/envio/enums/user-transaction-select-column-user-transaction-aggregate-bool-exp-stddev-samp-arguments-columns.mdx)
#### [UserTransaction_aggregate_bool_exp_stddev_samp.distinct
](#)[Boolean
](/docs/api/airdrops/graphql/envio/scalars/boolean.mdx)
#### [UserTransaction_aggregate_bool_exp_stddev_samp.filter
](#)[UserTransaction_bool_exp
](/docs/api/airdrops/graphql/envio/inputs/user-transaction-bool-exp.mdx)
#### [UserTransaction_aggregate_bool_exp_stddev_samp.predicate
](#)[float8_comparison_exp!
](/docs/api/airdrops/graphql/envio/inputs/float-8-comparison-exp.mdx)
---
## UserTransaction_aggregate_bool_exp_sum
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
No description
```graphql
input UserTransaction_aggregate_bool_exp_sum {
arguments: UserTransaction_select_column_UserTransaction_aggregate_bool_exp_sum_arguments_columns!
distinct: Boolean
filter: UserTransaction_bool_exp
predicate: float8_comparison_exp!
}
```
### Fields
#### [UserTransaction_aggregate_bool_exp_sum.arguments
](#)[UserTransaction_select_column_UserTransaction_aggregate_bool_exp_sum_arguments_columns!
](/docs/api/airdrops/graphql/envio/enums/user-transaction-select-column-user-transaction-aggregate-bool-exp-sum-arguments-columns.mdx)
#### [UserTransaction_aggregate_bool_exp_sum.distinct
](#)[Boolean
](/docs/api/airdrops/graphql/envio/scalars/boolean.mdx)
#### [UserTransaction_aggregate_bool_exp_sum.filter
](#)[UserTransaction_bool_exp
](/docs/api/airdrops/graphql/envio/inputs/user-transaction-bool-exp.mdx)
#### [UserTransaction_aggregate_bool_exp_sum.predicate
](#)[float8_comparison_exp!
](/docs/api/airdrops/graphql/envio/inputs/float-8-comparison-exp.mdx)
---
## UserTransaction_aggregate_bool_exp_var_samp
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
No description
```graphql
input UserTransaction_aggregate_bool_exp_var_samp {
arguments: UserTransaction_select_column_UserTransaction_aggregate_bool_exp_var_samp_arguments_columns!
distinct: Boolean
filter: UserTransaction_bool_exp
predicate: float8_comparison_exp!
}
```
### Fields
#### [UserTransaction_aggregate_bool_exp_var_samp.arguments
](#)[UserTransaction_select_column_UserTransaction_aggregate_bool_exp_var_samp_arguments_columns!
](/docs/api/airdrops/graphql/envio/enums/user-transaction-select-column-user-transaction-aggregate-bool-exp-var-samp-arguments-columns.mdx)
#### [UserTransaction_aggregate_bool_exp_var_samp.distinct
](#)[Boolean
](/docs/api/airdrops/graphql/envio/scalars/boolean.mdx)
#### [UserTransaction_aggregate_bool_exp_var_samp.filter
](#)[UserTransaction_bool_exp
](/docs/api/airdrops/graphql/envio/inputs/user-transaction-bool-exp.mdx)
#### [UserTransaction_aggregate_bool_exp_var_samp.predicate
](#)[float8_comparison_exp!
](/docs/api/airdrops/graphql/envio/inputs/float-8-comparison-exp.mdx)
---
## UserTransaction_aggregate_bool_exp
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
No description
```graphql
input UserTransaction_aggregate_bool_exp {
avg: UserTransaction_aggregate_bool_exp_avg
bool_and: UserTransaction_aggregate_bool_exp_bool_and
bool_or: UserTransaction_aggregate_bool_exp_bool_or
corr: UserTransaction_aggregate_bool_exp_corr
count: UserTransaction_aggregate_bool_exp_count
covar_samp: UserTransaction_aggregate_bool_exp_covar_samp
max: UserTransaction_aggregate_bool_exp_max
min: UserTransaction_aggregate_bool_exp_min
stddev_samp: UserTransaction_aggregate_bool_exp_stddev_samp
sum: UserTransaction_aggregate_bool_exp_sum
var_samp: UserTransaction_aggregate_bool_exp_var_samp
}
```
### Fields
#### [UserTransaction_aggregate_bool_exp.avg
](#)[UserTransaction_aggregate_bool_exp_avg
](/docs/api/airdrops/graphql/envio/inputs/user-transaction-aggregate-bool-exp-avg.mdx)
#### [UserTransaction_aggregate_bool_exp.bool_and
](#)[UserTransaction_aggregate_bool_exp_bool_and
](/docs/api/airdrops/graphql/envio/inputs/user-transaction-aggregate-bool-exp-bool-and.mdx)
#### [UserTransaction_aggregate_bool_exp.bool_or
](#)[UserTransaction_aggregate_bool_exp_bool_or
](/docs/api/airdrops/graphql/envio/inputs/user-transaction-aggregate-bool-exp-bool-or.mdx)
#### [UserTransaction_aggregate_bool_exp.corr
](#)[UserTransaction_aggregate_bool_exp_corr
](/docs/api/airdrops/graphql/envio/inputs/user-transaction-aggregate-bool-exp-corr.mdx)
#### [UserTransaction_aggregate_bool_exp.count
](#)[UserTransaction_aggregate_bool_exp_count
](/docs/api/airdrops/graphql/envio/inputs/user-transaction-aggregate-bool-exp-count.mdx)
#### [UserTransaction_aggregate_bool_exp.covar_samp
](#)[UserTransaction_aggregate_bool_exp_covar_samp
](/docs/api/airdrops/graphql/envio/inputs/user-transaction-aggregate-bool-exp-covar-samp.mdx)
#### [UserTransaction_aggregate_bool_exp.max
](#)[UserTransaction_aggregate_bool_exp_max
](/docs/api/airdrops/graphql/envio/inputs/user-transaction-aggregate-bool-exp-max.mdx)
#### [UserTransaction_aggregate_bool_exp.min
](#)[UserTransaction_aggregate_bool_exp_min
](/docs/api/airdrops/graphql/envio/inputs/user-transaction-aggregate-bool-exp-min.mdx)
#### [UserTransaction_aggregate_bool_exp.stddev_samp
](#)[UserTransaction_aggregate_bool_exp_stddev_samp
](/docs/api/airdrops/graphql/envio/inputs/user-transaction-aggregate-bool-exp-stddev-samp.mdx)
#### [UserTransaction_aggregate_bool_exp.sum
](#)[UserTransaction_aggregate_bool_exp_sum
](/docs/api/airdrops/graphql/envio/inputs/user-transaction-aggregate-bool-exp-sum.mdx)
#### [UserTransaction_aggregate_bool_exp.var_samp
](#)[UserTransaction_aggregate_bool_exp_var_samp
](/docs/api/airdrops/graphql/envio/inputs/user-transaction-aggregate-bool-exp-var-samp.mdx)
---
## UserTransaction_aggregate_order_by
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
order by aggregate values of table "UserTransaction"
```graphql
input UserTransaction_aggregate_order_by {
avg: UserTransaction_avg_order_by
count: order_by
max: UserTransaction_max_order_by
min: UserTransaction_min_order_by
stddev: UserTransaction_stddev_order_by
stddev_pop: UserTransaction_stddev_pop_order_by
stddev_samp: UserTransaction_stddev_samp_order_by
sum: UserTransaction_sum_order_by
var_pop: UserTransaction_var_pop_order_by
var_samp: UserTransaction_var_samp_order_by
variance: UserTransaction_variance_order_by
}
```
### Fields
#### [UserTransaction_aggregate_order_by.avg
](#)[UserTransaction_avg_order_by
](/docs/api/airdrops/graphql/envio/inputs/user-transaction-avg-order-by.mdx)
#### [UserTransaction_aggregate_order_by.count
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [UserTransaction_aggregate_order_by.max
](#)[UserTransaction_max_order_by
](/docs/api/airdrops/graphql/envio/inputs/user-transaction-max-order-by.mdx)
#### [UserTransaction_aggregate_order_by.min
](#)[UserTransaction_min_order_by
](/docs/api/airdrops/graphql/envio/inputs/user-transaction-min-order-by.mdx)
#### [UserTransaction_aggregate_order_by.stddev
](#)[UserTransaction_stddev_order_by
](/docs/api/airdrops/graphql/envio/inputs/user-transaction-stddev-order-by.mdx)
#### [UserTransaction_aggregate_order_by.stddev_pop
](#)[UserTransaction_stddev_pop_order_by
](/docs/api/airdrops/graphql/envio/inputs/user-transaction-stddev-pop-order-by.mdx)
#### [UserTransaction_aggregate_order_by.stddev_samp
](#)[UserTransaction_stddev_samp_order_by
](/docs/api/airdrops/graphql/envio/inputs/user-transaction-stddev-samp-order-by.mdx)
#### [UserTransaction_aggregate_order_by.sum
](#)[UserTransaction_sum_order_by
](/docs/api/airdrops/graphql/envio/inputs/user-transaction-sum-order-by.mdx)
#### [UserTransaction_aggregate_order_by.var_pop
](#)[UserTransaction_var_pop_order_by
](/docs/api/airdrops/graphql/envio/inputs/user-transaction-var-pop-order-by.mdx)
#### [UserTransaction_aggregate_order_by.var_samp
](#)[UserTransaction_var_samp_order_by
](/docs/api/airdrops/graphql/envio/inputs/user-transaction-var-samp-order-by.mdx)
#### [UserTransaction_aggregate_order_by.variance
](#)[UserTransaction_variance_order_by
](/docs/api/airdrops/graphql/envio/inputs/user-transaction-variance-order-by.mdx)
---
## UserTransaction_avg_order_by
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
order by avg() on columns of table "UserTransaction"
```graphql
input UserTransaction_avg_order_by {
block: order_by
fee: order_by
timestamp: order_by
}
```
### Fields
#### [UserTransaction_avg_order_by.block
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [UserTransaction_avg_order_by.fee
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [UserTransaction_avg_order_by.timestamp
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
---
## UserTransaction_bool_exp
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
Boolean expression to filter rows from the table "UserTransaction". All fields are combined with a logical 'AND'.
```graphql
input UserTransaction_bool_exp {
_and: [UserTransaction_bool_exp!]
_not: UserTransaction_bool_exp
_or: [UserTransaction_bool_exp!]
block: numeric_comparison_exp
db_write_timestamp: timestamp_comparison_exp
fee: float8_comparison_exp
hash: String_comparison_exp
id: String_comparison_exp
isAirdropClaim: Boolean_comparison_exp
timestamp: numeric_comparison_exp
user: User_bool_exp
user_id: String_comparison_exp
}
```
### Fields
#### [UserTransaction_bool_exp.\_and
](#)[[UserTransaction_bool_exp!]
](/docs/api/airdrops/graphql/envio/inputs/user-transaction-bool-exp.mdx)
#### [UserTransaction_bool_exp.\_not
](#)[UserTransaction_bool_exp
](/docs/api/airdrops/graphql/envio/inputs/user-transaction-bool-exp.mdx)
#### [UserTransaction_bool_exp.\_or
](#)[[UserTransaction_bool_exp!]
](/docs/api/airdrops/graphql/envio/inputs/user-transaction-bool-exp.mdx)
#### [UserTransaction_bool_exp.block
](#)[numeric_comparison_exp
](/docs/api/airdrops/graphql/envio/inputs/numeric-comparison-exp.mdx)
#### [UserTransaction_bool_exp.db_write_timestamp
](#)[timestamp_comparison_exp
](/docs/api/airdrops/graphql/envio/inputs/timestamp-comparison-exp.mdx)
#### [UserTransaction_bool_exp.fee
](#)[float8_comparison_exp
](/docs/api/airdrops/graphql/envio/inputs/float-8-comparison-exp.mdx)
#### [UserTransaction_bool_exp.hash
](#)[String_comparison_exp
](/docs/api/airdrops/graphql/envio/inputs/string-comparison-exp.mdx)
#### [UserTransaction_bool_exp.id
](#)[String_comparison_exp
](/docs/api/airdrops/graphql/envio/inputs/string-comparison-exp.mdx)
#### [UserTransaction_bool_exp.isAirdropClaim
](#)[Boolean_comparison_exp
](/docs/api/airdrops/graphql/envio/inputs/boolean-comparison-exp.mdx)
#### [UserTransaction_bool_exp.timestamp
](#)[numeric_comparison_exp
](/docs/api/airdrops/graphql/envio/inputs/numeric-comparison-exp.mdx)
#### [UserTransaction_bool_exp.user
](#)[User_bool_exp
](/docs/api/airdrops/graphql/envio/inputs/user-bool-exp.mdx)
#### [UserTransaction_bool_exp.user_id
](#)[String_comparison_exp
](/docs/api/airdrops/graphql/envio/inputs/string-comparison-exp.mdx)
---
## UserTransaction_max_order_by
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
order by max() on columns of table "UserTransaction"
```graphql
input UserTransaction_max_order_by {
block: order_by
db_write_timestamp: order_by
fee: order_by
hash: order_by
id: order_by
timestamp: order_by
user_id: order_by
}
```
### Fields
#### [UserTransaction_max_order_by.block
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [UserTransaction_max_order_by.db_write_timestamp
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [UserTransaction_max_order_by.fee
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [UserTransaction_max_order_by.hash
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [UserTransaction_max_order_by.id
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [UserTransaction_max_order_by.timestamp
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [UserTransaction_max_order_by.user_id
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
---
## UserTransaction_min_order_by
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
order by min() on columns of table "UserTransaction"
```graphql
input UserTransaction_min_order_by {
block: order_by
db_write_timestamp: order_by
fee: order_by
hash: order_by
id: order_by
timestamp: order_by
user_id: order_by
}
```
### Fields
#### [UserTransaction_min_order_by.block
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [UserTransaction_min_order_by.db_write_timestamp
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [UserTransaction_min_order_by.fee
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [UserTransaction_min_order_by.hash
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [UserTransaction_min_order_by.id
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [UserTransaction_min_order_by.timestamp
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [UserTransaction_min_order_by.user_id
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
---
## UserTransaction_order_by
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
Ordering options when selecting data from "UserTransaction".
```graphql
input UserTransaction_order_by {
block: order_by
db_write_timestamp: order_by
fee: order_by
hash: order_by
id: order_by
isAirdropClaim: order_by
timestamp: order_by
user: User_order_by
user_id: order_by
}
```
### Fields
#### [UserTransaction_order_by.block
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [UserTransaction_order_by.db_write_timestamp
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [UserTransaction_order_by.fee
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [UserTransaction_order_by.hash
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [UserTransaction_order_by.id
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [UserTransaction_order_by.isAirdropClaim
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [UserTransaction_order_by.timestamp
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [UserTransaction_order_by.user
](#)[User_order_by
](/docs/api/airdrops/graphql/envio/inputs/user-order-by.mdx)
#### [UserTransaction_order_by.user_id
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
---
## UserTransaction_stddev_order_by
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
order by stddev() on columns of table "UserTransaction"
```graphql
input UserTransaction_stddev_order_by {
block: order_by
fee: order_by
timestamp: order_by
}
```
### Fields
#### [UserTransaction_stddev_order_by.block
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [UserTransaction_stddev_order_by.fee
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [UserTransaction_stddev_order_by.timestamp
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
---
## UserTransaction_stddev_pop_order_by
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
order by stddev_pop() on columns of table "UserTransaction"
```graphql
input UserTransaction_stddev_pop_order_by {
block: order_by
fee: order_by
timestamp: order_by
}
```
### Fields
#### [UserTransaction_stddev_pop_order_by.block
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [UserTransaction_stddev_pop_order_by.fee
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [UserTransaction_stddev_pop_order_by.timestamp
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
---
## UserTransaction_stddev_samp_order_by
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
order by stddev_samp() on columns of table "UserTransaction"
```graphql
input UserTransaction_stddev_samp_order_by {
block: order_by
fee: order_by
timestamp: order_by
}
```
### Fields
#### [UserTransaction_stddev_samp_order_by.block
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [UserTransaction_stddev_samp_order_by.fee
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [UserTransaction_stddev_samp_order_by.timestamp
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
---
## UserTransaction_stream_cursor_input
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
Streaming cursor of the table "UserTransaction"
```graphql
input UserTransaction_stream_cursor_input {
initial_value: UserTransaction_stream_cursor_value_input!
ordering: cursor_ordering
}
```
### Fields
#### [UserTransaction_stream_cursor_input.initial_value
](#)[UserTransaction_stream_cursor_value_input!
](/docs/api/airdrops/graphql/envio/inputs/user-transaction-stream-cursor-value-input.mdx)
Stream column input with initial value
#### [UserTransaction_stream_cursor_input.ordering
](#)[cursor_ordering
](/docs/api/airdrops/graphql/envio/enums/cursor-ordering.mdx)
cursor ordering
---
## UserTransaction_stream_cursor_value_input
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
Initial value of the column from where the streaming should start
```graphql
input UserTransaction_stream_cursor_value_input {
block: numeric
db_write_timestamp: timestamp
fee: float8
hash: String
id: String
isAirdropClaim: Boolean
timestamp: numeric
user_id: String
}
```
### Fields
#### [UserTransaction_stream_cursor_value_input.block
](#)[numeric
](/docs/api/airdrops/graphql/envio/scalars/numeric.mdx)
#### [UserTransaction_stream_cursor_value_input.db_write_timestamp
](#)[timestamp
](/docs/api/airdrops/graphql/envio/scalars/timestamp.mdx)
#### [UserTransaction_stream_cursor_value_input.fee
](#)[float8
](/docs/api/airdrops/graphql/envio/scalars/float-8.mdx)
#### [UserTransaction_stream_cursor_value_input.hash
](#)[String
](/docs/api/airdrops/graphql/envio/scalars/string.mdx)
#### [UserTransaction_stream_cursor_value_input.id
](#)[String
](/docs/api/airdrops/graphql/envio/scalars/string.mdx)
#### [UserTransaction_stream_cursor_value_input.isAirdropClaim
](#)[Boolean
](/docs/api/airdrops/graphql/envio/scalars/boolean.mdx)
#### [UserTransaction_stream_cursor_value_input.timestamp
](#)[numeric
](/docs/api/airdrops/graphql/envio/scalars/numeric.mdx)
#### [UserTransaction_stream_cursor_value_input.user_id
](#)[String
](/docs/api/airdrops/graphql/envio/scalars/string.mdx)
---
## UserTransaction_sum_order_by
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
order by sum() on columns of table "UserTransaction"
```graphql
input UserTransaction_sum_order_by {
block: order_by
fee: order_by
timestamp: order_by
}
```
### Fields
#### [UserTransaction_sum_order_by.block
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [UserTransaction_sum_order_by.fee
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [UserTransaction_sum_order_by.timestamp
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
---
## UserTransaction_var_pop_order_by
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
order by var_pop() on columns of table "UserTransaction"
```graphql
input UserTransaction_var_pop_order_by {
block: order_by
fee: order_by
timestamp: order_by
}
```
### Fields
#### [UserTransaction_var_pop_order_by.block
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [UserTransaction_var_pop_order_by.fee
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [UserTransaction_var_pop_order_by.timestamp
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
---
## UserTransaction_var_samp_order_by
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
order by var_samp() on columns of table "UserTransaction"
```graphql
input UserTransaction_var_samp_order_by {
block: order_by
fee: order_by
timestamp: order_by
}
```
### Fields
#### [UserTransaction_var_samp_order_by.block
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [UserTransaction_var_samp_order_by.fee
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [UserTransaction_var_samp_order_by.timestamp
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
---
## UserTransaction_variance_order_by
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
order by variance() on columns of table "UserTransaction"
```graphql
input UserTransaction_variance_order_by {
block: order_by
fee: order_by
timestamp: order_by
}
```
### Fields
#### [UserTransaction_variance_order_by.block
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [UserTransaction_variance_order_by.fee
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [UserTransaction_variance_order_by.timestamp
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
---
## Watcher_bool_exp
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
Boolean expression to filter rows from the table "Watcher". All fields are combined with a logical 'AND'.
```graphql
input Watcher_bool_exp {
_and: [Watcher_bool_exp!]
_not: Watcher_bool_exp
_or: [Watcher_bool_exp!]
actionCounter: numeric_comparison_exp
campaignCounter: numeric_comparison_exp
chainId: numeric_comparison_exp
db_write_timestamp: timestamp_comparison_exp
id: String_comparison_exp
}
```
### Fields
#### [Watcher_bool_exp.\_and
](#)[[Watcher_bool_exp!]
](/docs/api/airdrops/graphql/envio/inputs/watcher-bool-exp.mdx)
#### [Watcher_bool_exp.\_not
](#)[Watcher_bool_exp
](/docs/api/airdrops/graphql/envio/inputs/watcher-bool-exp.mdx)
#### [Watcher_bool_exp.\_or
](#)[[Watcher_bool_exp!]
](/docs/api/airdrops/graphql/envio/inputs/watcher-bool-exp.mdx)
#### [Watcher_bool_exp.actionCounter
](#)[numeric_comparison_exp
](/docs/api/airdrops/graphql/envio/inputs/numeric-comparison-exp.mdx)
#### [Watcher_bool_exp.campaignCounter
](#)[numeric_comparison_exp
](/docs/api/airdrops/graphql/envio/inputs/numeric-comparison-exp.mdx)
#### [Watcher_bool_exp.chainId
](#)[numeric_comparison_exp
](/docs/api/airdrops/graphql/envio/inputs/numeric-comparison-exp.mdx)
#### [Watcher_bool_exp.db_write_timestamp
](#)[timestamp_comparison_exp
](/docs/api/airdrops/graphql/envio/inputs/timestamp-comparison-exp.mdx)
#### [Watcher_bool_exp.id
](#)[String_comparison_exp
](/docs/api/airdrops/graphql/envio/inputs/string-comparison-exp.mdx)
---
## Watcher_order_by
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
Ordering options when selecting data from "Watcher".
```graphql
input Watcher_order_by {
actionCounter: order_by
campaignCounter: order_by
chainId: order_by
db_write_timestamp: order_by
id: order_by
}
```
### Fields
#### [Watcher_order_by.actionCounter
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [Watcher_order_by.campaignCounter
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [Watcher_order_by.chainId
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [Watcher_order_by.db_write_timestamp
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
#### [Watcher_order_by.id
](#)[order_by
](/docs/api/airdrops/graphql/envio/enums/order-by.mdx)
---
## Watcher_stream_cursor_input
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
Streaming cursor of the table "Watcher"
```graphql
input Watcher_stream_cursor_input {
initial_value: Watcher_stream_cursor_value_input!
ordering: cursor_ordering
}
```
### Fields
#### [Watcher_stream_cursor_input.initial_value
](#)[Watcher_stream_cursor_value_input!
](/docs/api/airdrops/graphql/envio/inputs/watcher-stream-cursor-value-input.mdx)
Stream column input with initial value
#### [Watcher_stream_cursor_input.ordering
](#)[cursor_ordering
](/docs/api/airdrops/graphql/envio/enums/cursor-ordering.mdx)
cursor ordering
---
## Watcher_stream_cursor_value_input
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
Initial value of the column from where the streaming should start
```graphql
input Watcher_stream_cursor_value_input {
actionCounter: numeric
campaignCounter: numeric
chainId: numeric
db_write_timestamp: timestamp
id: String
}
```
### Fields
#### [Watcher_stream_cursor_value_input.actionCounter
](#)[numeric
](/docs/api/airdrops/graphql/envio/scalars/numeric.mdx)
#### [Watcher_stream_cursor_value_input.campaignCounter
](#)[numeric
](/docs/api/airdrops/graphql/envio/scalars/numeric.mdx)
#### [Watcher_stream_cursor_value_input.chainId
](#)[numeric
](/docs/api/airdrops/graphql/envio/scalars/numeric.mdx)
#### [Watcher_stream_cursor_value_input.db_write_timestamp
](#)[timestamp
](/docs/api/airdrops/graphql/envio/scalars/timestamp.mdx)
#### [Watcher_stream_cursor_value_input.id
](#)[String
](/docs/api/airdrops/graphql/envio/scalars/string.mdx)
---
## Action
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
columns and relationships of "Action"
```graphql
type Action {
block: numeric!
campaign: Campaign
campaign_id: String!
category: actioncategory!
chainId: numeric!
claimAmount: numeric
claimIndex: numeric
claimRecipient: String
claimStreamId: String
claimTokenId: numeric
clawbackAmount: numeric
clawbackFrom: String
clawbackTo: String
db_write_timestamp: timestamp
fee: numeric
from: String!
hash: String!
id: String!
subgraphId: numeric!
timestamp: numeric!
}
```
### Fields
#### [Action.block
](#)[numeric!
](/docs/api/airdrops/graphql/envio/scalars/numeric.mdx)
#### [Action.campaign
](#)[Campaign
](/docs/api/airdrops/graphql/envio/objects/campaign.mdx)
An object relationship
#### [Action.campaign_id
](#)[String!
](/docs/api/airdrops/graphql/envio/scalars/string.mdx)
#### [Action.category
](#)[actioncategory!
](/docs/api/airdrops/graphql/envio/scalars/actioncategory.mdx)
#### [Action.chainId
](#)[numeric!
](/docs/api/airdrops/graphql/envio/scalars/numeric.mdx)
#### [Action.claimAmount
](#)[numeric
](/docs/api/airdrops/graphql/envio/scalars/numeric.mdx)
#### [Action.claimIndex
](#)[numeric
](/docs/api/airdrops/graphql/envio/scalars/numeric.mdx)
#### [Action.claimRecipient
](#)[String
](/docs/api/airdrops/graphql/envio/scalars/string.mdx)
#### [Action.claimStreamId
](#)[String
](/docs/api/airdrops/graphql/envio/scalars/string.mdx)
#### [Action.claimTokenId
](#)[numeric
](/docs/api/airdrops/graphql/envio/scalars/numeric.mdx)
#### [Action.clawbackAmount
](#)[numeric
](/docs/api/airdrops/graphql/envio/scalars/numeric.mdx)
#### [Action.clawbackFrom
](#)[String
](/docs/api/airdrops/graphql/envio/scalars/string.mdx)
#### [Action.clawbackTo
](#)[String
](/docs/api/airdrops/graphql/envio/scalars/string.mdx)
#### [Action.db_write_timestamp
](#)[timestamp
](/docs/api/airdrops/graphql/envio/scalars/timestamp.mdx)
#### [Action.fee
](#)[numeric
](/docs/api/airdrops/graphql/envio/scalars/numeric.mdx)
#### [Action.from
](#)[String!
](/docs/api/airdrops/graphql/envio/scalars/string.mdx)
#### [Action.hash
](#)[String!
](/docs/api/airdrops/graphql/envio/scalars/string.mdx)
#### [Action.id
](#)[String!
](/docs/api/airdrops/graphql/envio/scalars/string.mdx)
#### [Action.subgraphId
](#)[numeric!
](/docs/api/airdrops/graphql/envio/scalars/numeric.mdx)
#### [Action.timestamp
](#)[numeric!
](/docs/api/airdrops/graphql/envio/scalars/numeric.mdx)
---
## Activity
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
columns and relationships of "Activity"
```graphql
type Activity {
amount: numeric!
campaign: Campaign
campaign_id: String!
claims: numeric!
day: numeric!
db_write_timestamp: timestamp
id: String!
timestamp: numeric!
}
```
### Fields
#### [Activity.amount
](#)[numeric!
](/docs/api/airdrops/graphql/envio/scalars/numeric.mdx)
#### [Activity.campaign
](#)[Campaign
](/docs/api/airdrops/graphql/envio/objects/campaign.mdx)
An object relationship
#### [Activity.campaign_id
](#)[String!
](/docs/api/airdrops/graphql/envio/scalars/string.mdx)
#### [Activity.claims
](#)[numeric!
](/docs/api/airdrops/graphql/envio/scalars/numeric.mdx)
#### [Activity.day
](#)[numeric!
](/docs/api/airdrops/graphql/envio/scalars/numeric.mdx)
#### [Activity.db_write_timestamp
](#)[timestamp
](/docs/api/airdrops/graphql/envio/scalars/timestamp.mdx)
#### [Activity.id
](#)[String!
](/docs/api/airdrops/graphql/envio/scalars/string.mdx)
#### [Activity.timestamp
](#)[numeric!
](/docs/api/airdrops/graphql/envio/scalars/numeric.mdx)
---
## Asset
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
columns and relationships of "Asset"
```graphql
type Asset {
address: String!
campaigns(
distinct_on: [Campaign_select_column!]
limit: Int
offset: Int
order_by: [Campaign_order_by!]
where: Campaign_bool_exp
): [Campaign!]!
campaigns_aggregate(
distinct_on: [Campaign_select_column!]
limit: Int
offset: Int
order_by: [Campaign_order_by!]
where: Campaign_bool_exp
): Campaign_aggregate!
chainId: numeric!
db_write_timestamp: timestamp
decimals: numeric!
id: String!
name: String!
symbol: String!
}
```
### Fields
#### [Asset.address
](#)[String!
](/docs/api/airdrops/graphql/envio/scalars/string.mdx)
#### [Asset.campaigns
](#)[[Campaign!]!
](/docs/api/airdrops/graphql/envio/objects/campaign.mdx)
An array relationship
##### [Asset.campaigns.distinct_on
](#)[[Campaign_select_column!]
](/docs/api/airdrops/graphql/envio/enums/campaign-select-column.mdx)
distinct select on columns
##### [Asset.campaigns.limit
](#)[Int
](/docs/api/airdrops/graphql/envio/scalars/int.mdx)
limit the number of rows returned
##### [Asset.campaigns.offset
](#)[Int
](/docs/api/airdrops/graphql/envio/scalars/int.mdx)
skip the first n rows. Use only with order_by
##### [Asset.campaigns.order_by
](#)[[Campaign_order_by!]
](/docs/api/airdrops/graphql/envio/inputs/campaign-order-by.mdx)
sort the rows by one or more columns
##### [Asset.campaigns.where
](#)[Campaign_bool_exp
](/docs/api/airdrops/graphql/envio/inputs/campaign-bool-exp.mdx)
filter the rows returned
#### [Asset.campaigns_aggregate
](#)[Campaign_aggregate!
](/docs/api/airdrops/graphql/envio/objects/campaign-aggregate.mdx)
An aggregate relationship
##### [Asset.campaigns_aggregate.distinct_on
](#)[[Campaign_select_column!]
](/docs/api/airdrops/graphql/envio/enums/campaign-select-column.mdx)
distinct select on columns
##### [Asset.campaigns_aggregate.limit
](#)[Int
](/docs/api/airdrops/graphql/envio/scalars/int.mdx)
limit the number of rows returned
##### [Asset.campaigns_aggregate.offset
](#)[Int
](/docs/api/airdrops/graphql/envio/scalars/int.mdx)
skip the first n rows. Use only with order_by
##### [Asset.campaigns_aggregate.order_by
](#)[[Campaign_order_by!]
](/docs/api/airdrops/graphql/envio/inputs/campaign-order-by.mdx)
sort the rows by one or more columns
##### [Asset.campaigns_aggregate.where
](#)[Campaign_bool_exp
](/docs/api/airdrops/graphql/envio/inputs/campaign-bool-exp.mdx)
filter the rows returned
#### [Asset.chainId
](#)[numeric!
](/docs/api/airdrops/graphql/envio/scalars/numeric.mdx)
#### [Asset.db_write_timestamp
](#)[timestamp
](/docs/api/airdrops/graphql/envio/scalars/timestamp.mdx)
#### [Asset.decimals
](#)[numeric!
](/docs/api/airdrops/graphql/envio/scalars/numeric.mdx)
#### [Asset.id
](#)[String!
](/docs/api/airdrops/graphql/envio/scalars/string.mdx)
#### [Asset.name
](#)[String!
](/docs/api/airdrops/graphql/envio/scalars/string.mdx)
#### [Asset.symbol
](#)[String!
](/docs/api/airdrops/graphql/envio/scalars/string.mdx)
---
## Campaign_aggregate_fields
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
aggregate fields of "Campaign"
```graphql
type Campaign_aggregate_fields {
avg: Campaign_avg_fields
count(columns: [Campaign_select_column!], distinct: Boolean): Int!
max: Campaign_max_fields
min: Campaign_min_fields
stddev: Campaign_stddev_fields
stddev_pop: Campaign_stddev_pop_fields
stddev_samp: Campaign_stddev_samp_fields
sum: Campaign_sum_fields
var_pop: Campaign_var_pop_fields
var_samp: Campaign_var_samp_fields
variance: Campaign_variance_fields
}
```
### Fields
#### [Campaign_aggregate_fields.avg
](#)[Campaign_avg_fields
](/docs/api/airdrops/graphql/envio/objects/campaign-avg-fields.mdx)
#### [Campaign_aggregate_fields.count
](#)[Int!
](/docs/api/airdrops/graphql/envio/scalars/int.mdx)
##### [Campaign_aggregate_fields.count.columns
](#)[[Campaign_select_column!]
](/docs/api/airdrops/graphql/envio/enums/campaign-select-column.mdx)
##### [Campaign_aggregate_fields.count.distinct
](#)[Boolean
](/docs/api/airdrops/graphql/envio/scalars/boolean.mdx)
#### [Campaign_aggregate_fields.max
](#)[Campaign_max_fields
](/docs/api/airdrops/graphql/envio/objects/campaign-max-fields.mdx)
#### [Campaign_aggregate_fields.min
](#)[Campaign_min_fields
](/docs/api/airdrops/graphql/envio/objects/campaign-min-fields.mdx)
#### [Campaign_aggregate_fields.stddev
](#)[Campaign_stddev_fields
](/docs/api/airdrops/graphql/envio/objects/campaign-stddev-fields.mdx)
#### [Campaign_aggregate_fields.stddev_pop
](#)[Campaign_stddev_pop_fields
](/docs/api/airdrops/graphql/envio/objects/campaign-stddev-pop-fields.mdx)
#### [Campaign_aggregate_fields.stddev_samp
](#)[Campaign_stddev_samp_fields
](/docs/api/airdrops/graphql/envio/objects/campaign-stddev-samp-fields.mdx)
#### [Campaign_aggregate_fields.sum
](#)[Campaign_sum_fields
](/docs/api/airdrops/graphql/envio/objects/campaign-sum-fields.mdx)
#### [Campaign_aggregate_fields.var_pop
](#)[Campaign_var_pop_fields
](/docs/api/airdrops/graphql/envio/objects/campaign-var-pop-fields.mdx)
#### [Campaign_aggregate_fields.var_samp
](#)[Campaign_var_samp_fields
](/docs/api/airdrops/graphql/envio/objects/campaign-var-samp-fields.mdx)
#### [Campaign_aggregate_fields.variance
](#)[Campaign_variance_fields
](/docs/api/airdrops/graphql/envio/objects/campaign-variance-fields.mdx)
---
## Campaign_aggregate
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
aggregated selection of "Campaign"
```graphql
type Campaign_aggregate {
aggregate: Campaign_aggregate_fields
nodes: [Campaign!]!
}
```
### Fields
#### [Campaign_aggregate.aggregate
](#)[Campaign_aggregate_fields
](/docs/api/airdrops/graphql/envio/objects/campaign-aggregate-fields.mdx)
#### [Campaign_aggregate.nodes
](#)[[Campaign!]!
](/docs/api/airdrops/graphql/envio/objects/campaign.mdx)
---
## Campaign_avg_fields
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
aggregate avg on columns
```graphql
type Campaign_avg_fields {
aggregateAmount: Float
chainId: Float
claimedAmount: Float
claimedCount: Float
clawbackTime: Float
expiration: Float
fee: Float
position: Float
streamCliffDuration: Float
streamCliffPercentage: Float
streamInitialPercentage: Float
streamStartTime: Float
streamTotalDuration: Float
subgraphId: Float
timestamp: Float
totalRecipients: Float
}
```
### Fields
#### [Campaign_avg_fields.aggregateAmount
](#)[Float
](/docs/api/airdrops/graphql/envio/scalars/float.mdx)
#### [Campaign_avg_fields.chainId
](#)[Float
](/docs/api/airdrops/graphql/envio/scalars/float.mdx)
#### [Campaign_avg_fields.claimedAmount
](#)[Float
](/docs/api/airdrops/graphql/envio/scalars/float.mdx)
#### [Campaign_avg_fields.claimedCount
](#)[Float
](/docs/api/airdrops/graphql/envio/scalars/float.mdx)
#### [Campaign_avg_fields.clawbackTime
](#)[Float
](/docs/api/airdrops/graphql/envio/scalars/float.mdx)
#### [Campaign_avg_fields.expiration
](#)[Float
](/docs/api/airdrops/graphql/envio/scalars/float.mdx)
#### [Campaign_avg_fields.fee
](#)[Float
](/docs/api/airdrops/graphql/envio/scalars/float.mdx)
#### [Campaign_avg_fields.position
](#)[Float
](/docs/api/airdrops/graphql/envio/scalars/float.mdx)
#### [Campaign_avg_fields.streamCliffDuration
](#)[Float
](/docs/api/airdrops/graphql/envio/scalars/float.mdx)
#### [Campaign_avg_fields.streamCliffPercentage
](#)[Float
](/docs/api/airdrops/graphql/envio/scalars/float.mdx)
#### [Campaign_avg_fields.streamInitialPercentage
](#)[Float
](/docs/api/airdrops/graphql/envio/scalars/float.mdx)
#### [Campaign_avg_fields.streamStartTime
](#)[Float
](/docs/api/airdrops/graphql/envio/scalars/float.mdx)
#### [Campaign_avg_fields.streamTotalDuration
](#)[Float
](/docs/api/airdrops/graphql/envio/scalars/float.mdx)
#### [Campaign_avg_fields.subgraphId
](#)[Float
](/docs/api/airdrops/graphql/envio/scalars/float.mdx)
#### [Campaign_avg_fields.timestamp
](#)[Float
](/docs/api/airdrops/graphql/envio/scalars/float.mdx)
#### [Campaign_avg_fields.totalRecipients
](#)[Float
](/docs/api/airdrops/graphql/envio/scalars/float.mdx)
---
## Campaign_max_fields
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
aggregate max on columns
```graphql
type Campaign_max_fields {
address: String
admin: String
aggregateAmount: numeric
asset_id: String
category: campaigncategory
chainId: numeric
claimedAmount: numeric
claimedCount: numeric
clawbackAction_id: String
clawbackTime: numeric
db_write_timestamp: timestamp
expiration: numeric
factory_id: String
fee: numeric
hash: String
id: String
ipfsCID: String
lockup: String
name: String
nickname: String
position: numeric
root: String
streamCliffDuration: numeric
streamCliffPercentage: numeric
streamInitialPercentage: numeric
streamShape: String
streamStartTime: numeric
streamTotalDuration: numeric
subgraphId: numeric
timestamp: numeric
totalRecipients: numeric
version: String
}
```
### Fields
#### [Campaign_max_fields.address
](#)[String
](/docs/api/airdrops/graphql/envio/scalars/string.mdx)
#### [Campaign_max_fields.admin
](#)[String
](/docs/api/airdrops/graphql/envio/scalars/string.mdx)
#### [Campaign_max_fields.aggregateAmount
](#)[numeric
](/docs/api/airdrops/graphql/envio/scalars/numeric.mdx)
#### [Campaign_max_fields.asset_id
](#)[String
](/docs/api/airdrops/graphql/envio/scalars/string.mdx)
#### [Campaign_max_fields.category
](#)[campaigncategory
](/docs/api/airdrops/graphql/envio/scalars/campaigncategory.mdx)
#### [Campaign_max_fields.chainId
](#)[numeric
](/docs/api/airdrops/graphql/envio/scalars/numeric.mdx)
#### [Campaign_max_fields.claimedAmount
](#)[numeric
](/docs/api/airdrops/graphql/envio/scalars/numeric.mdx)
#### [Campaign_max_fields.claimedCount
](#)[numeric
](/docs/api/airdrops/graphql/envio/scalars/numeric.mdx)
#### [Campaign_max_fields.clawbackAction_id
](#)[String
](/docs/api/airdrops/graphql/envio/scalars/string.mdx)
#### [Campaign_max_fields.clawbackTime
](#)[numeric
](/docs/api/airdrops/graphql/envio/scalars/numeric.mdx)
#### [Campaign_max_fields.db_write_timestamp
](#)[timestamp
](/docs/api/airdrops/graphql/envio/scalars/timestamp.mdx)
#### [Campaign_max_fields.expiration
](#)[numeric
](/docs/api/airdrops/graphql/envio/scalars/numeric.mdx)
#### [Campaign_max_fields.factory_id
](#)[String
](/docs/api/airdrops/graphql/envio/scalars/string.mdx)
#### [Campaign_max_fields.fee
](#)[numeric
](/docs/api/airdrops/graphql/envio/scalars/numeric.mdx)
#### [Campaign_max_fields.hash
](#)[String
](/docs/api/airdrops/graphql/envio/scalars/string.mdx)
#### [Campaign_max_fields.id
](#)[String
](/docs/api/airdrops/graphql/envio/scalars/string.mdx)
#### [Campaign_max_fields.ipfsCID
](#)[String
](/docs/api/airdrops/graphql/envio/scalars/string.mdx)
#### [Campaign_max_fields.lockup
](#)[String
](/docs/api/airdrops/graphql/envio/scalars/string.mdx)
#### [Campaign_max_fields.name
](#)[String
](/docs/api/airdrops/graphql/envio/scalars/string.mdx)
#### [Campaign_max_fields.nickname
](#)[String
](/docs/api/airdrops/graphql/envio/scalars/string.mdx)
#### [Campaign_max_fields.position
](#)[numeric
](/docs/api/airdrops/graphql/envio/scalars/numeric.mdx)
#### [Campaign_max_fields.root
](#)[String
](/docs/api/airdrops/graphql/envio/scalars/string.mdx)
#### [Campaign_max_fields.streamCliffDuration
](#)[numeric
](/docs/api/airdrops/graphql/envio/scalars/numeric.mdx)
#### [Campaign_max_fields.streamCliffPercentage
](#)[numeric
](/docs/api/airdrops/graphql/envio/scalars/numeric.mdx)
#### [Campaign_max_fields.streamInitialPercentage
](#)[numeric
](/docs/api/airdrops/graphql/envio/scalars/numeric.mdx)
#### [Campaign_max_fields.streamShape
](#)[String
](/docs/api/airdrops/graphql/envio/scalars/string.mdx)
#### [Campaign_max_fields.streamStartTime
](#)[numeric
](/docs/api/airdrops/graphql/envio/scalars/numeric.mdx)
#### [Campaign_max_fields.streamTotalDuration
](#)[numeric
](/docs/api/airdrops/graphql/envio/scalars/numeric.mdx)
#### [Campaign_max_fields.subgraphId
](#)[numeric
](/docs/api/airdrops/graphql/envio/scalars/numeric.mdx)
#### [Campaign_max_fields.timestamp
](#)[numeric
](/docs/api/airdrops/graphql/envio/scalars/numeric.mdx)
#### [Campaign_max_fields.totalRecipients
](#)[numeric
](/docs/api/airdrops/graphql/envio/scalars/numeric.mdx)
#### [Campaign_max_fields.version
](#)[String
](/docs/api/airdrops/graphql/envio/scalars/string.mdx)
---
## Campaign_min_fields
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
aggregate min on columns
```graphql
type Campaign_min_fields {
address: String
admin: String
aggregateAmount: numeric
asset_id: String
category: campaigncategory
chainId: numeric
claimedAmount: numeric
claimedCount: numeric
clawbackAction_id: String
clawbackTime: numeric
db_write_timestamp: timestamp
expiration: numeric
factory_id: String
fee: numeric
hash: String
id: String
ipfsCID: String
lockup: String
name: String
nickname: String
position: numeric
root: String
streamCliffDuration: numeric
streamCliffPercentage: numeric
streamInitialPercentage: numeric
streamShape: String
streamStartTime: numeric
streamTotalDuration: numeric
subgraphId: numeric
timestamp: numeric
totalRecipients: numeric
version: String
}
```
### Fields
#### [Campaign_min_fields.address
](#)[String
](/docs/api/airdrops/graphql/envio/scalars/string.mdx)
#### [Campaign_min_fields.admin
](#)[String
](/docs/api/airdrops/graphql/envio/scalars/string.mdx)
#### [Campaign_min_fields.aggregateAmount
](#)[numeric
](/docs/api/airdrops/graphql/envio/scalars/numeric.mdx)
#### [Campaign_min_fields.asset_id
](#)[String
](/docs/api/airdrops/graphql/envio/scalars/string.mdx)
#### [Campaign_min_fields.category
](#)[campaigncategory
](/docs/api/airdrops/graphql/envio/scalars/campaigncategory.mdx)
#### [Campaign_min_fields.chainId
](#)[numeric
](/docs/api/airdrops/graphql/envio/scalars/numeric.mdx)
#### [Campaign_min_fields.claimedAmount
](#)[numeric
](/docs/api/airdrops/graphql/envio/scalars/numeric.mdx)
#### [Campaign_min_fields.claimedCount
](#)[numeric
](/docs/api/airdrops/graphql/envio/scalars/numeric.mdx)
#### [Campaign_min_fields.clawbackAction_id
](#)[String
](/docs/api/airdrops/graphql/envio/scalars/string.mdx)
#### [Campaign_min_fields.clawbackTime
](#)[numeric
](/docs/api/airdrops/graphql/envio/scalars/numeric.mdx)
#### [Campaign_min_fields.db_write_timestamp
](#)[timestamp
](/docs/api/airdrops/graphql/envio/scalars/timestamp.mdx)
#### [Campaign_min_fields.expiration
](#)[numeric
](/docs/api/airdrops/graphql/envio/scalars/numeric.mdx)
#### [Campaign_min_fields.factory_id
](#)[String
](/docs/api/airdrops/graphql/envio/scalars/string.mdx)
#### [Campaign_min_fields.fee
](#)[numeric
](/docs/api/airdrops/graphql/envio/scalars/numeric.mdx)
#### [Campaign_min_fields.hash
](#)[String
](/docs/api/airdrops/graphql/envio/scalars/string.mdx)
#### [Campaign_min_fields.id
](#)[String
](/docs/api/airdrops/graphql/envio/scalars/string.mdx)
#### [Campaign_min_fields.ipfsCID
](#)[String
](/docs/api/airdrops/graphql/envio/scalars/string.mdx)
#### [Campaign_min_fields.lockup
](#)[String
](/docs/api/airdrops/graphql/envio/scalars/string.mdx)
#### [Campaign_min_fields.name
](#)[String
](/docs/api/airdrops/graphql/envio/scalars/string.mdx)
#### [Campaign_min_fields.nickname
](#)[String
](/docs/api/airdrops/graphql/envio/scalars/string.mdx)
#### [Campaign_min_fields.position
](#)[numeric
](/docs/api/airdrops/graphql/envio/scalars/numeric.mdx)
#### [Campaign_min_fields.root
](#)[String
](/docs/api/airdrops/graphql/envio/scalars/string.mdx)
#### [Campaign_min_fields.streamCliffDuration
](#)[numeric
](/docs/api/airdrops/graphql/envio/scalars/numeric.mdx)
#### [Campaign_min_fields.streamCliffPercentage
](#)[numeric
](/docs/api/airdrops/graphql/envio/scalars/numeric.mdx)
#### [Campaign_min_fields.streamInitialPercentage
](#)[numeric
](/docs/api/airdrops/graphql/envio/scalars/numeric.mdx)
#### [Campaign_min_fields.streamShape
](#)[String
](/docs/api/airdrops/graphql/envio/scalars/string.mdx)
#### [Campaign_min_fields.streamStartTime
](#)[numeric
](/docs/api/airdrops/graphql/envio/scalars/numeric.mdx)
#### [Campaign_min_fields.streamTotalDuration
](#)[numeric
](/docs/api/airdrops/graphql/envio/scalars/numeric.mdx)
#### [Campaign_min_fields.subgraphId
](#)[numeric
](/docs/api/airdrops/graphql/envio/scalars/numeric.mdx)
#### [Campaign_min_fields.timestamp
](#)[numeric
](/docs/api/airdrops/graphql/envio/scalars/numeric.mdx)
#### [Campaign_min_fields.totalRecipients
](#)[numeric
](/docs/api/airdrops/graphql/envio/scalars/numeric.mdx)
#### [Campaign_min_fields.version
](#)[String
](/docs/api/airdrops/graphql/envio/scalars/string.mdx)
---
## Campaign_stddev_fields
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
aggregate stddev on columns
```graphql
type Campaign_stddev_fields {
aggregateAmount: Float
chainId: Float
claimedAmount: Float
claimedCount: Float
clawbackTime: Float
expiration: Float
fee: Float
position: Float
streamCliffDuration: Float
streamCliffPercentage: Float
streamInitialPercentage: Float
streamStartTime: Float
streamTotalDuration: Float
subgraphId: Float
timestamp: Float
totalRecipients: Float
}
```
### Fields
#### [Campaign_stddev_fields.aggregateAmount
](#)[Float
](/docs/api/airdrops/graphql/envio/scalars/float.mdx)
#### [Campaign_stddev_fields.chainId
](#)[Float
](/docs/api/airdrops/graphql/envio/scalars/float.mdx)
#### [Campaign_stddev_fields.claimedAmount
](#)[Float
](/docs/api/airdrops/graphql/envio/scalars/float.mdx)
#### [Campaign_stddev_fields.claimedCount
](#)[Float
](/docs/api/airdrops/graphql/envio/scalars/float.mdx)
#### [Campaign_stddev_fields.clawbackTime
](#)[Float
](/docs/api/airdrops/graphql/envio/scalars/float.mdx)
#### [Campaign_stddev_fields.expiration
](#)[Float
](/docs/api/airdrops/graphql/envio/scalars/float.mdx)
#### [Campaign_stddev_fields.fee
](#)[Float
](/docs/api/airdrops/graphql/envio/scalars/float.mdx)
#### [Campaign_stddev_fields.position
](#)[Float
](/docs/api/airdrops/graphql/envio/scalars/float.mdx)
#### [Campaign_stddev_fields.streamCliffDuration
](#)[Float
](/docs/api/airdrops/graphql/envio/scalars/float.mdx)
#### [Campaign_stddev_fields.streamCliffPercentage
](#)[Float
](/docs/api/airdrops/graphql/envio/scalars/float.mdx)
#### [Campaign_stddev_fields.streamInitialPercentage
](#)[Float
](/docs/api/airdrops/graphql/envio/scalars/float.mdx)
#### [Campaign_stddev_fields.streamStartTime
](#)[Float
](/docs/api/airdrops/graphql/envio/scalars/float.mdx)
#### [Campaign_stddev_fields.streamTotalDuration
](#)[Float
](/docs/api/airdrops/graphql/envio/scalars/float.mdx)
#### [Campaign_stddev_fields.subgraphId
](#)[Float
](/docs/api/airdrops/graphql/envio/scalars/float.mdx)
#### [Campaign_stddev_fields.timestamp
](#)[Float
](/docs/api/airdrops/graphql/envio/scalars/float.mdx)
#### [Campaign_stddev_fields.totalRecipients
](#)[Float
](/docs/api/airdrops/graphql/envio/scalars/float.mdx)
---
## Campaign_stddev_pop_fields
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
aggregate stddev_pop on columns
```graphql
type Campaign_stddev_pop_fields {
aggregateAmount: Float
chainId: Float
claimedAmount: Float
claimedCount: Float
clawbackTime: Float
expiration: Float
fee: Float
position: Float
streamCliffDuration: Float
streamCliffPercentage: Float
streamInitialPercentage: Float
streamStartTime: Float
streamTotalDuration: Float
subgraphId: Float
timestamp: Float
totalRecipients: Float
}
```
### Fields
#### [Campaign_stddev_pop_fields.aggregateAmount
](#)[Float
](/docs/api/airdrops/graphql/envio/scalars/float.mdx)
#### [Campaign_stddev_pop_fields.chainId
](#)[Float
](/docs/api/airdrops/graphql/envio/scalars/float.mdx)
#### [Campaign_stddev_pop_fields.claimedAmount
](#)[Float
](/docs/api/airdrops/graphql/envio/scalars/float.mdx)
#### [Campaign_stddev_pop_fields.claimedCount
](#)[Float
](/docs/api/airdrops/graphql/envio/scalars/float.mdx)
#### [Campaign_stddev_pop_fields.clawbackTime
](#)[Float
](/docs/api/airdrops/graphql/envio/scalars/float.mdx)
#### [Campaign_stddev_pop_fields.expiration
](#)[Float
](/docs/api/airdrops/graphql/envio/scalars/float.mdx)
#### [Campaign_stddev_pop_fields.fee
](#)[Float
](/docs/api/airdrops/graphql/envio/scalars/float.mdx)
#### [Campaign_stddev_pop_fields.position
](#)[Float
](/docs/api/airdrops/graphql/envio/scalars/float.mdx)
#### [Campaign_stddev_pop_fields.streamCliffDuration
](#)[Float
](/docs/api/airdrops/graphql/envio/scalars/float.mdx)
#### [Campaign_stddev_pop_fields.streamCliffPercentage
](#)[Float
](/docs/api/airdrops/graphql/envio/scalars/float.mdx)
#### [Campaign_stddev_pop_fields.streamInitialPercentage
](#)[Float
](/docs/api/airdrops/graphql/envio/scalars/float.mdx)
#### [Campaign_stddev_pop_fields.streamStartTime
](#)[Float
](/docs/api/airdrops/graphql/envio/scalars/float.mdx)
#### [Campaign_stddev_pop_fields.streamTotalDuration
](#)[Float
](/docs/api/airdrops/graphql/envio/scalars/float.mdx)
#### [Campaign_stddev_pop_fields.subgraphId
](#)[Float
](/docs/api/airdrops/graphql/envio/scalars/float.mdx)
#### [Campaign_stddev_pop_fields.timestamp
](#)[Float
](/docs/api/airdrops/graphql/envio/scalars/float.mdx)
#### [Campaign_stddev_pop_fields.totalRecipients
](#)[Float
](/docs/api/airdrops/graphql/envio/scalars/float.mdx)
---
## Campaign_stddev_samp_fields
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
aggregate stddev_samp on columns
```graphql
type Campaign_stddev_samp_fields {
aggregateAmount: Float
chainId: Float
claimedAmount: Float
claimedCount: Float
clawbackTime: Float
expiration: Float
fee: Float
position: Float
streamCliffDuration: Float
streamCliffPercentage: Float
streamInitialPercentage: Float
streamStartTime: Float
streamTotalDuration: Float
subgraphId: Float
timestamp: Float
totalRecipients: Float
}
```
### Fields
#### [Campaign_stddev_samp_fields.aggregateAmount
](#)[Float
](/docs/api/airdrops/graphql/envio/scalars/float.mdx)
#### [Campaign_stddev_samp_fields.chainId
](#)[Float
](/docs/api/airdrops/graphql/envio/scalars/float.mdx)
#### [Campaign_stddev_samp_fields.claimedAmount
](#)[Float
](/docs/api/airdrops/graphql/envio/scalars/float.mdx)
#### [Campaign_stddev_samp_fields.claimedCount
](#)[Float
](/docs/api/airdrops/graphql/envio/scalars/float.mdx)
#### [Campaign_stddev_samp_fields.clawbackTime
](#)[Float
](/docs/api/airdrops/graphql/envio/scalars/float.mdx)
#### [Campaign_stddev_samp_fields.expiration
](#)[Float
](/docs/api/airdrops/graphql/envio/scalars/float.mdx)
#### [Campaign_stddev_samp_fields.fee
](#)[Float
](/docs/api/airdrops/graphql/envio/scalars/float.mdx)
#### [Campaign_stddev_samp_fields.position
](#)[Float
](/docs/api/airdrops/graphql/envio/scalars/float.mdx)
#### [Campaign_stddev_samp_fields.streamCliffDuration
](#)[Float
](/docs/api/airdrops/graphql/envio/scalars/float.mdx)
#### [Campaign_stddev_samp_fields.streamCliffPercentage
](#)[Float
](/docs/api/airdrops/graphql/envio/scalars/float.mdx)
#### [Campaign_stddev_samp_fields.streamInitialPercentage
](#)[Float
](/docs/api/airdrops/graphql/envio/scalars/float.mdx)
#### [Campaign_stddev_samp_fields.streamStartTime
](#)[Float
](/docs/api/airdrops/graphql/envio/scalars/float.mdx)
#### [Campaign_stddev_samp_fields.streamTotalDuration
](#)[Float
](/docs/api/airdrops/graphql/envio/scalars/float.mdx)
#### [Campaign_stddev_samp_fields.subgraphId
](#)[Float
](/docs/api/airdrops/graphql/envio/scalars/float.mdx)
#### [Campaign_stddev_samp_fields.timestamp
](#)[Float
](/docs/api/airdrops/graphql/envio/scalars/float.mdx)
#### [Campaign_stddev_samp_fields.totalRecipients
](#)[Float
](/docs/api/airdrops/graphql/envio/scalars/float.mdx)
---
## Campaign_sum_fields
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
aggregate sum on columns
```graphql
type Campaign_sum_fields {
aggregateAmount: numeric
chainId: numeric
claimedAmount: numeric
claimedCount: numeric
clawbackTime: numeric
expiration: numeric
fee: numeric
position: numeric
streamCliffDuration: numeric
streamCliffPercentage: numeric
streamInitialPercentage: numeric
streamStartTime: numeric
streamTotalDuration: numeric
subgraphId: numeric
timestamp: numeric
totalRecipients: numeric
}
```
### Fields
#### [Campaign_sum_fields.aggregateAmount
](#)[numeric
](/docs/api/airdrops/graphql/envio/scalars/numeric.mdx)
#### [Campaign_sum_fields.chainId
](#)[numeric
](/docs/api/airdrops/graphql/envio/scalars/numeric.mdx)
#### [Campaign_sum_fields.claimedAmount
](#)[numeric
](/docs/api/airdrops/graphql/envio/scalars/numeric.mdx)
#### [Campaign_sum_fields.claimedCount
](#)[numeric
](/docs/api/airdrops/graphql/envio/scalars/numeric.mdx)
#### [Campaign_sum_fields.clawbackTime
](#)[numeric
](/docs/api/airdrops/graphql/envio/scalars/numeric.mdx)
#### [Campaign_sum_fields.expiration
](#)[numeric
](/docs/api/airdrops/graphql/envio/scalars/numeric.mdx)
#### [Campaign_sum_fields.fee
](#)[numeric
](/docs/api/airdrops/graphql/envio/scalars/numeric.mdx)
#### [Campaign_sum_fields.position
](#)[numeric
](/docs/api/airdrops/graphql/envio/scalars/numeric.mdx)
#### [Campaign_sum_fields.streamCliffDuration
](#)[numeric
](/docs/api/airdrops/graphql/envio/scalars/numeric.mdx)
#### [Campaign_sum_fields.streamCliffPercentage
](#)[numeric
](/docs/api/airdrops/graphql/envio/scalars/numeric.mdx)
#### [Campaign_sum_fields.streamInitialPercentage
](#)[numeric
](/docs/api/airdrops/graphql/envio/scalars/numeric.mdx)
#### [Campaign_sum_fields.streamStartTime
](#)[numeric
](/docs/api/airdrops/graphql/envio/scalars/numeric.mdx)
#### [Campaign_sum_fields.streamTotalDuration
](#)[numeric
](/docs/api/airdrops/graphql/envio/scalars/numeric.mdx)
#### [Campaign_sum_fields.subgraphId
](#)[numeric
](/docs/api/airdrops/graphql/envio/scalars/numeric.mdx)
#### [Campaign_sum_fields.timestamp
](#)[numeric
](/docs/api/airdrops/graphql/envio/scalars/numeric.mdx)
#### [Campaign_sum_fields.totalRecipients
](#)[numeric
](/docs/api/airdrops/graphql/envio/scalars/numeric.mdx)
---
## Campaign_var_pop_fields
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
aggregate var_pop on columns
```graphql
type Campaign_var_pop_fields {
aggregateAmount: Float
chainId: Float
claimedAmount: Float
claimedCount: Float
clawbackTime: Float
expiration: Float
fee: Float
position: Float
streamCliffDuration: Float
streamCliffPercentage: Float
streamInitialPercentage: Float
streamStartTime: Float
streamTotalDuration: Float
subgraphId: Float
timestamp: Float
totalRecipients: Float
}
```
### Fields
#### [Campaign_var_pop_fields.aggregateAmount
](#)[Float
](/docs/api/airdrops/graphql/envio/scalars/float.mdx)
#### [Campaign_var_pop_fields.chainId
](#)[Float
](/docs/api/airdrops/graphql/envio/scalars/float.mdx)
#### [Campaign_var_pop_fields.claimedAmount
](#)[Float
](/docs/api/airdrops/graphql/envio/scalars/float.mdx)
#### [Campaign_var_pop_fields.claimedCount
](#)[Float
](/docs/api/airdrops/graphql/envio/scalars/float.mdx)
#### [Campaign_var_pop_fields.clawbackTime
](#)[Float
](/docs/api/airdrops/graphql/envio/scalars/float.mdx)
#### [Campaign_var_pop_fields.expiration
](#)[Float
](/docs/api/airdrops/graphql/envio/scalars/float.mdx)
#### [Campaign_var_pop_fields.fee
](#)[Float
](/docs/api/airdrops/graphql/envio/scalars/float.mdx)
#### [Campaign_var_pop_fields.position
](#)[Float
](/docs/api/airdrops/graphql/envio/scalars/float.mdx)
#### [Campaign_var_pop_fields.streamCliffDuration
](#)[Float
](/docs/api/airdrops/graphql/envio/scalars/float.mdx)
#### [Campaign_var_pop_fields.streamCliffPercentage
](#)[Float
](/docs/api/airdrops/graphql/envio/scalars/float.mdx)
#### [Campaign_var_pop_fields.streamInitialPercentage
](#)[Float
](/docs/api/airdrops/graphql/envio/scalars/float.mdx)
#### [Campaign_var_pop_fields.streamStartTime
](#)[Float
](/docs/api/airdrops/graphql/envio/scalars/float.mdx)
#### [Campaign_var_pop_fields.streamTotalDuration
](#)[Float
](/docs/api/airdrops/graphql/envio/scalars/float.mdx)
#### [Campaign_var_pop_fields.subgraphId
](#)[Float
](/docs/api/airdrops/graphql/envio/scalars/float.mdx)
#### [Campaign_var_pop_fields.timestamp
](#)[Float
](/docs/api/airdrops/graphql/envio/scalars/float.mdx)
#### [Campaign_var_pop_fields.totalRecipients
](#)[Float
](/docs/api/airdrops/graphql/envio/scalars/float.mdx)
---
## Campaign_var_samp_fields
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
aggregate var_samp on columns
```graphql
type Campaign_var_samp_fields {
aggregateAmount: Float
chainId: Float
claimedAmount: Float
claimedCount: Float
clawbackTime: Float
expiration: Float
fee: Float
position: Float
streamCliffDuration: Float
streamCliffPercentage: Float
streamInitialPercentage: Float
streamStartTime: Float
streamTotalDuration: Float
subgraphId: Float
timestamp: Float
totalRecipients: Float
}
```
### Fields
#### [Campaign_var_samp_fields.aggregateAmount
](#)[Float
](/docs/api/airdrops/graphql/envio/scalars/float.mdx)
#### [Campaign_var_samp_fields.chainId
](#)[Float
](/docs/api/airdrops/graphql/envio/scalars/float.mdx)
#### [Campaign_var_samp_fields.claimedAmount
](#)[Float
](/docs/api/airdrops/graphql/envio/scalars/float.mdx)
#### [Campaign_var_samp_fields.claimedCount
](#)[Float
](/docs/api/airdrops/graphql/envio/scalars/float.mdx)
#### [Campaign_var_samp_fields.clawbackTime
](#)[Float
](/docs/api/airdrops/graphql/envio/scalars/float.mdx)
#### [Campaign_var_samp_fields.expiration
](#)[Float
](/docs/api/airdrops/graphql/envio/scalars/float.mdx)
#### [Campaign_var_samp_fields.fee
](#)[Float
](/docs/api/airdrops/graphql/envio/scalars/float.mdx)
#### [Campaign_var_samp_fields.position
](#)[Float
](/docs/api/airdrops/graphql/envio/scalars/float.mdx)
#### [Campaign_var_samp_fields.streamCliffDuration
](#)[Float
](/docs/api/airdrops/graphql/envio/scalars/float.mdx)
#### [Campaign_var_samp_fields.streamCliffPercentage
](#)[Float
](/docs/api/airdrops/graphql/envio/scalars/float.mdx)
#### [Campaign_var_samp_fields.streamInitialPercentage
](#)[Float
](/docs/api/airdrops/graphql/envio/scalars/float.mdx)
#### [Campaign_var_samp_fields.streamStartTime
](#)[Float
](/docs/api/airdrops/graphql/envio/scalars/float.mdx)
#### [Campaign_var_samp_fields.streamTotalDuration
](#)[Float
](/docs/api/airdrops/graphql/envio/scalars/float.mdx)
#### [Campaign_var_samp_fields.subgraphId
](#)[Float
](/docs/api/airdrops/graphql/envio/scalars/float.mdx)
#### [Campaign_var_samp_fields.timestamp
](#)[Float
](/docs/api/airdrops/graphql/envio/scalars/float.mdx)
#### [Campaign_var_samp_fields.totalRecipients
](#)[Float
](/docs/api/airdrops/graphql/envio/scalars/float.mdx)
---
## Campaign_variance_fields
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
aggregate variance on columns
```graphql
type Campaign_variance_fields {
aggregateAmount: Float
chainId: Float
claimedAmount: Float
claimedCount: Float
clawbackTime: Float
expiration: Float
fee: Float
position: Float
streamCliffDuration: Float
streamCliffPercentage: Float
streamInitialPercentage: Float
streamStartTime: Float
streamTotalDuration: Float
subgraphId: Float
timestamp: Float
totalRecipients: Float
}
```
### Fields
#### [Campaign_variance_fields.aggregateAmount
](#)[Float
](/docs/api/airdrops/graphql/envio/scalars/float.mdx)
#### [Campaign_variance_fields.chainId
](#)[Float
](/docs/api/airdrops/graphql/envio/scalars/float.mdx)
#### [Campaign_variance_fields.claimedAmount
](#)[Float
](/docs/api/airdrops/graphql/envio/scalars/float.mdx)
#### [Campaign_variance_fields.claimedCount
](#)[Float
](/docs/api/airdrops/graphql/envio/scalars/float.mdx)
#### [Campaign_variance_fields.clawbackTime
](#)[Float
](/docs/api/airdrops/graphql/envio/scalars/float.mdx)
#### [Campaign_variance_fields.expiration
](#)[Float
](/docs/api/airdrops/graphql/envio/scalars/float.mdx)
#### [Campaign_variance_fields.fee
](#)[Float
](/docs/api/airdrops/graphql/envio/scalars/float.mdx)
#### [Campaign_variance_fields.position
](#)[Float
](/docs/api/airdrops/graphql/envio/scalars/float.mdx)
#### [Campaign_variance_fields.streamCliffDuration
](#)[Float
](/docs/api/airdrops/graphql/envio/scalars/float.mdx)
#### [Campaign_variance_fields.streamCliffPercentage
](#)[Float
](/docs/api/airdrops/graphql/envio/scalars/float.mdx)
#### [Campaign_variance_fields.streamInitialPercentage
](#)[Float
](/docs/api/airdrops/graphql/envio/scalars/float.mdx)
#### [Campaign_variance_fields.streamStartTime
](#)[Float
](/docs/api/airdrops/graphql/envio/scalars/float.mdx)
#### [Campaign_variance_fields.streamTotalDuration
](#)[Float
](/docs/api/airdrops/graphql/envio/scalars/float.mdx)
#### [Campaign_variance_fields.subgraphId
](#)[Float
](/docs/api/airdrops/graphql/envio/scalars/float.mdx)
#### [Campaign_variance_fields.timestamp
](#)[Float
](/docs/api/airdrops/graphql/envio/scalars/float.mdx)
#### [Campaign_variance_fields.totalRecipients
](#)[Float
](/docs/api/airdrops/graphql/envio/scalars/float.mdx)
---
## Campaign
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
columns and relationships of "Campaign"
```graphql
type Campaign {
actions(
distinct_on: [Action_select_column!]
limit: Int
offset: Int
order_by: [Action_order_by!]
where: Action_bool_exp
): [Action!]!
activities(
distinct_on: [Activity_select_column!]
limit: Int
offset: Int
order_by: [Activity_order_by!]
where: Activity_bool_exp
): [Activity!]!
address: String!
admin: String!
aggregateAmount: numeric!
asset: Asset
asset_id: String!
category: campaigncategory!
chainId: numeric!
claimedAmount: numeric!
claimedCount: numeric!
clawbackAction: Action
clawbackAction_id: String
clawbackTime: numeric
db_write_timestamp: timestamp
expiration: numeric
expires: Boolean!
factory: Factory
factory_id: String!
fee: numeric
hash: String!
id: String!
ipfsCID: String!
lockup: String
name: String
nickname: String!
position: numeric!
root: String!
streamCancelable: Boolean
streamCliff: Boolean
streamCliffDuration: numeric
streamCliffPercentage: numeric
streamInitial: Boolean
streamInitialPercentage: numeric
streamShape: String
streamStart: Boolean
streamStartTime: numeric
streamTotalDuration: numeric
streamTranches(
distinct_on: [Tranche_select_column!]
limit: Int
offset: Int
order_by: [Tranche_order_by!]
where: Tranche_bool_exp
): [Tranche!]!
streamTransferable: Boolean
subgraphId: numeric!
timestamp: numeric!
totalRecipients: numeric!
version: String!
}
```
### Fields
#### [Campaign.actions
](#)[[Action!]!
](/docs/api/airdrops/graphql/envio/objects/action.mdx)
An array relationship
##### [Campaign.actions.distinct_on
](#)[[Action_select_column!]
](/docs/api/airdrops/graphql/envio/enums/action-select-column.mdx)
distinct select on columns
##### [Campaign.actions.limit
](#)[Int
](/docs/api/airdrops/graphql/envio/scalars/int.mdx)
limit the number of rows returned
##### [Campaign.actions.offset
](#)[Int
](/docs/api/airdrops/graphql/envio/scalars/int.mdx)
skip the first n rows. Use only with order_by
##### [Campaign.actions.order_by
](#)[[Action_order_by!]
](/docs/api/airdrops/graphql/envio/inputs/action-order-by.mdx)
sort the rows by one or more columns
##### [Campaign.actions.where
](#)[Action_bool_exp
](/docs/api/airdrops/graphql/envio/inputs/action-bool-exp.mdx)
filter the rows returned
#### [Campaign.activities
](#)[[Activity!]!
](/docs/api/airdrops/graphql/envio/objects/activity.mdx)
An array relationship
##### [Campaign.activities.distinct_on
](#)[[Activity_select_column!]
](/docs/api/airdrops/graphql/envio/enums/activity-select-column.mdx)
distinct select on columns
##### [Campaign.activities.limit
](#)[Int
](/docs/api/airdrops/graphql/envio/scalars/int.mdx)
limit the number of rows returned
##### [Campaign.activities.offset
](#)[Int
](/docs/api/airdrops/graphql/envio/scalars/int.mdx)
skip the first n rows. Use only with order_by
##### [Campaign.activities.order_by
](#)[[Activity_order_by!]
](/docs/api/airdrops/graphql/envio/inputs/activity-order-by.mdx)
sort the rows by one or more columns
##### [Campaign.activities.where
](#)[Activity_bool_exp
](/docs/api/airdrops/graphql/envio/inputs/activity-bool-exp.mdx)
filter the rows returned
#### [Campaign.address
](#)[String!
](/docs/api/airdrops/graphql/envio/scalars/string.mdx)
#### [Campaign.admin
](#)[String!
](/docs/api/airdrops/graphql/envio/scalars/string.mdx)
#### [Campaign.aggregateAmount
](#)[numeric!
](/docs/api/airdrops/graphql/envio/scalars/numeric.mdx)
#### [Campaign.asset
](#)[Asset
](/docs/api/airdrops/graphql/envio/objects/asset.mdx)
An object relationship
#### [Campaign.asset_id
](#)[String!
](/docs/api/airdrops/graphql/envio/scalars/string.mdx)
#### [Campaign.category
](#)[campaigncategory!
](/docs/api/airdrops/graphql/envio/scalars/campaigncategory.mdx)
#### [Campaign.chainId
](#)[numeric!
](/docs/api/airdrops/graphql/envio/scalars/numeric.mdx)
#### [Campaign.claimedAmount
](#)[numeric!
](/docs/api/airdrops/graphql/envio/scalars/numeric.mdx)
#### [Campaign.claimedCount
](#)[numeric!
](/docs/api/airdrops/graphql/envio/scalars/numeric.mdx)
#### [Campaign.clawbackAction
](#)[Action
](/docs/api/airdrops/graphql/envio/objects/action.mdx)
An object relationship
#### [Campaign.clawbackAction_id
](#)[String
](/docs/api/airdrops/graphql/envio/scalars/string.mdx)
#### [Campaign.clawbackTime
](#)[numeric
](/docs/api/airdrops/graphql/envio/scalars/numeric.mdx)
#### [Campaign.db_write_timestamp
](#)[timestamp
](/docs/api/airdrops/graphql/envio/scalars/timestamp.mdx)
#### [Campaign.expiration
](#)[numeric
](/docs/api/airdrops/graphql/envio/scalars/numeric.mdx)
#### [Campaign.expires
](#)[Boolean!
](/docs/api/airdrops/graphql/envio/scalars/boolean.mdx)
#### [Campaign.factory
](#)[Factory
](/docs/api/airdrops/graphql/envio/objects/factory.mdx)
An object relationship
#### [Campaign.factory_id
](#)[String!
](/docs/api/airdrops/graphql/envio/scalars/string.mdx)
#### [Campaign.fee
](#)[numeric
](/docs/api/airdrops/graphql/envio/scalars/numeric.mdx)
#### [Campaign.hash
](#)[String!
](/docs/api/airdrops/graphql/envio/scalars/string.mdx)
#### [Campaign.id
](#)[String!
](/docs/api/airdrops/graphql/envio/scalars/string.mdx)
#### [Campaign.ipfsCID
](#)[String!
](/docs/api/airdrops/graphql/envio/scalars/string.mdx)
#### [Campaign.lockup
](#)[String
](/docs/api/airdrops/graphql/envio/scalars/string.mdx)
#### [Campaign.name
](#)[String
](/docs/api/airdrops/graphql/envio/scalars/string.mdx)
#### [Campaign.nickname
](#)[String!
](/docs/api/airdrops/graphql/envio/scalars/string.mdx)
#### [Campaign.position
](#)[numeric!
](/docs/api/airdrops/graphql/envio/scalars/numeric.mdx)
#### [Campaign.root
](#)[String!
](/docs/api/airdrops/graphql/envio/scalars/string.mdx)
#### [Campaign.streamCancelable
](#)[Boolean
](/docs/api/airdrops/graphql/envio/scalars/boolean.mdx)
#### [Campaign.streamCliff
](#)[Boolean
](/docs/api/airdrops/graphql/envio/scalars/boolean.mdx)
#### [Campaign.streamCliffDuration
](#)[numeric
](/docs/api/airdrops/graphql/envio/scalars/numeric.mdx)
#### [Campaign.streamCliffPercentage
](#)[numeric
](/docs/api/airdrops/graphql/envio/scalars/numeric.mdx)
#### [Campaign.streamInitial
](#)[Boolean
](/docs/api/airdrops/graphql/envio/scalars/boolean.mdx)
#### [Campaign.streamInitialPercentage
](#)[numeric
](/docs/api/airdrops/graphql/envio/scalars/numeric.mdx)
#### [Campaign.streamShape
](#)[String
](/docs/api/airdrops/graphql/envio/scalars/string.mdx)
#### [Campaign.streamStart
](#)[Boolean
](/docs/api/airdrops/graphql/envio/scalars/boolean.mdx)
#### [Campaign.streamStartTime
](#)[numeric
](/docs/api/airdrops/graphql/envio/scalars/numeric.mdx)
#### [Campaign.streamTotalDuration
](#)[numeric
](/docs/api/airdrops/graphql/envio/scalars/numeric.mdx)
#### [Campaign.streamTranches
](#)[[Tranche!]!
](/docs/api/airdrops/graphql/envio/objects/tranche.mdx)
An array relationship
##### [Campaign.streamTranches.distinct_on
](#)[[Tranche_select_column!]
](/docs/api/airdrops/graphql/envio/enums/tranche-select-column.mdx)
distinct select on columns
##### [Campaign.streamTranches.limit
](#)[Int
](/docs/api/airdrops/graphql/envio/scalars/int.mdx)
limit the number of rows returned
##### [Campaign.streamTranches.offset
](#)[Int
](/docs/api/airdrops/graphql/envio/scalars/int.mdx)
skip the first n rows. Use only with order_by
##### [Campaign.streamTranches.order_by
](#)[[Tranche_order_by!]
](/docs/api/airdrops/graphql/envio/inputs/tranche-order-by.mdx)
sort the rows by one or more columns
##### [Campaign.streamTranches.where
](#)[Tranche_bool_exp
](/docs/api/airdrops/graphql/envio/inputs/tranche-bool-exp.mdx)
filter the rows returned
#### [Campaign.streamTransferable
](#)[Boolean
](/docs/api/airdrops/graphql/envio/scalars/boolean.mdx)
#### [Campaign.subgraphId
](#)[numeric!
](/docs/api/airdrops/graphql/envio/scalars/numeric.mdx)
#### [Campaign.timestamp
](#)[numeric!
](/docs/api/airdrops/graphql/envio/scalars/numeric.mdx)
#### [Campaign.totalRecipients
](#)[numeric!
](/docs/api/airdrops/graphql/envio/scalars/numeric.mdx)
#### [Campaign.version
](#)[String!
](/docs/api/airdrops/graphql/envio/scalars/string.mdx)
---
## chain_metadata
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
columns and relationships of "chain_metadata"
```graphql
type chain_metadata {
block_height: Int!
chain_id: Int!
end_block: Int
first_event_block_number: Int
is_hyper_sync: Boolean!
latest_fetched_block_number: Int!
latest_processed_block: Int
num_batches_fetched: Int!
num_events_processed: Int
start_block: Int!
timestamp_caught_up_to_head_or_endblock: timestamptz
}
```
### Fields
#### [chain_metadata.block_height
](#)[Int!
](/docs/api/airdrops/graphql/envio/scalars/int.mdx)
#### [chain_metadata.chain_id
](#)[Int!
](/docs/api/airdrops/graphql/envio/scalars/int.mdx)
#### [chain_metadata.end_block
](#)[Int
](/docs/api/airdrops/graphql/envio/scalars/int.mdx)
#### [chain_metadata.first_event_block_number
](#)[Int
](/docs/api/airdrops/graphql/envio/scalars/int.mdx)
#### [chain_metadata.is_hyper_sync
](#)[Boolean!
](/docs/api/airdrops/graphql/envio/scalars/boolean.mdx)
#### [chain_metadata.latest_fetched_block_number
](#)[Int!
](/docs/api/airdrops/graphql/envio/scalars/int.mdx)
#### [chain_metadata.latest_processed_block
](#)[Int
](/docs/api/airdrops/graphql/envio/scalars/int.mdx)
#### [chain_metadata.num_batches_fetched
](#)[Int!
](/docs/api/airdrops/graphql/envio/scalars/int.mdx)
#### [chain_metadata.num_events_processed
](#)[Int
](/docs/api/airdrops/graphql/envio/scalars/int.mdx)
#### [chain_metadata.start_block
](#)[Int!
](/docs/api/airdrops/graphql/envio/scalars/int.mdx)
#### [chain_metadata.timestamp_caught_up_to_head_or_endblock
](#)[timestamptz
](/docs/api/airdrops/graphql/envio/scalars/timestamptz.mdx)
---
## dynamic_contract_registry
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
columns and relationships of "dynamic_contract_registry"
```graphql
type dynamic_contract_registry {
chain_id: Int!
contract_address: String!
contract_type: contract_type!
id: String!
registering_event_block_number: Int!
registering_event_block_timestamp: Int!
registering_event_contract_name: String!
registering_event_log_index: Int!
registering_event_name: String!
registering_event_src_address: String!
}
```
### Fields
#### [dynamic_contract_registry.chain_id
](#)[Int!
](/docs/api/airdrops/graphql/envio/scalars/int.mdx)
#### [dynamic_contract_registry.contract_address
](#)[String!
](/docs/api/airdrops/graphql/envio/scalars/string.mdx)
#### [dynamic_contract_registry.contract_type
](#)[contract_type!
](/docs/api/airdrops/graphql/envio/scalars/contract-type.mdx)
#### [dynamic_contract_registry.id
](#)[String!
](/docs/api/airdrops/graphql/envio/scalars/string.mdx)
#### [dynamic_contract_registry.registering_event_block_number
](#)[Int!
](/docs/api/airdrops/graphql/envio/scalars/int.mdx)
#### [dynamic_contract_registry.registering_event_block_timestamp
](#)[Int!
](/docs/api/airdrops/graphql/envio/scalars/int.mdx)
#### [dynamic_contract_registry.registering_event_contract_name
](#)[String!
](/docs/api/airdrops/graphql/envio/scalars/string.mdx)
#### [dynamic_contract_registry.registering_event_log_index
](#)[Int!
](/docs/api/airdrops/graphql/envio/scalars/int.mdx)
#### [dynamic_contract_registry.registering_event_name
](#)[String!
](/docs/api/airdrops/graphql/envio/scalars/string.mdx)
#### [dynamic_contract_registry.registering_event_src_address
](#)[String!
](/docs/api/airdrops/graphql/envio/scalars/string.mdx)
---
## end_of_block_range_scanned_data
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
columns and relationships of "end_of_block_range_scanned_data"
```graphql
type end_of_block_range_scanned_data {
block_hash: String!
block_number: Int!
chain_id: Int!
}
```
### Fields
#### [end_of_block_range_scanned_data.block_hash
](#)[String!
](/docs/api/airdrops/graphql/envio/scalars/string.mdx)
#### [end_of_block_range_scanned_data.block_number
](#)[Int!
](/docs/api/airdrops/graphql/envio/scalars/int.mdx)
#### [end_of_block_range_scanned_data.chain_id
](#)[Int!
](/docs/api/airdrops/graphql/envio/scalars/int.mdx)
---
## event_sync_state
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
columns and relationships of "event_sync_state"
```graphql
type event_sync_state {
block_number: Int!
block_timestamp: Int!
chain_id: Int!
is_pre_registering_dynamic_contracts: Boolean
log_index: Int!
}
```
### Fields
#### [event_sync_state.block_number
](#)[Int!
](/docs/api/airdrops/graphql/envio/scalars/int.mdx)
#### [event_sync_state.block_timestamp
](#)[Int!
](/docs/api/airdrops/graphql/envio/scalars/int.mdx)
#### [event_sync_state.chain_id
](#)[Int!
](/docs/api/airdrops/graphql/envio/scalars/int.mdx)
#### [event_sync_state.is_pre_registering_dynamic_contracts
](#)[Boolean
](/docs/api/airdrops/graphql/envio/scalars/boolean.mdx)
#### [event_sync_state.log_index
](#)[Int!
](/docs/api/airdrops/graphql/envio/scalars/int.mdx)
---
## Factory
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
columns and relationships of "Factory"
```graphql
type Factory {
address: String!
alias: String!
campaignCounter: numeric!
campaigns(
distinct_on: [Campaign_select_column!]
limit: Int
offset: Int
order_by: [Campaign_order_by!]
where: Campaign_bool_exp
): [Campaign!]!
campaigns_aggregate(
distinct_on: [Campaign_select_column!]
limit: Int
offset: Int
order_by: [Campaign_order_by!]
where: Campaign_bool_exp
): Campaign_aggregate!
chainId: numeric!
db_write_timestamp: timestamp
id: String!
}
```
### Fields
#### [Factory.address
](#)[String!
](/docs/api/airdrops/graphql/envio/scalars/string.mdx)
#### [Factory.alias
](#)[String!
](/docs/api/airdrops/graphql/envio/scalars/string.mdx)
#### [Factory.campaignCounter
](#)[numeric!
](/docs/api/airdrops/graphql/envio/scalars/numeric.mdx)
#### [Factory.campaigns
](#)[[Campaign!]!
](/docs/api/airdrops/graphql/envio/objects/campaign.mdx)
An array relationship
##### [Factory.campaigns.distinct_on
](#)[[Campaign_select_column!]
](/docs/api/airdrops/graphql/envio/enums/campaign-select-column.mdx)
distinct select on columns
##### [Factory.campaigns.limit
](#)[Int
](/docs/api/airdrops/graphql/envio/scalars/int.mdx)
limit the number of rows returned
##### [Factory.campaigns.offset
](#)[Int
](/docs/api/airdrops/graphql/envio/scalars/int.mdx)
skip the first n rows. Use only with order_by
##### [Factory.campaigns.order_by
](#)[[Campaign_order_by!]
](/docs/api/airdrops/graphql/envio/inputs/campaign-order-by.mdx)
sort the rows by one or more columns
##### [Factory.campaigns.where
](#)[Campaign_bool_exp
](/docs/api/airdrops/graphql/envio/inputs/campaign-bool-exp.mdx)
filter the rows returned
#### [Factory.campaigns_aggregate
](#)[Campaign_aggregate!
](/docs/api/airdrops/graphql/envio/objects/campaign-aggregate.mdx)
An aggregate relationship
##### [Factory.campaigns_aggregate.distinct_on
](#)[[Campaign_select_column!]
](/docs/api/airdrops/graphql/envio/enums/campaign-select-column.mdx)
distinct select on columns
##### [Factory.campaigns_aggregate.limit
](#)[Int
](/docs/api/airdrops/graphql/envio/scalars/int.mdx)
limit the number of rows returned
##### [Factory.campaigns_aggregate.offset
](#)[Int
](/docs/api/airdrops/graphql/envio/scalars/int.mdx)
skip the first n rows. Use only with order_by
##### [Factory.campaigns_aggregate.order_by
](#)[[Campaign_order_by!]
](/docs/api/airdrops/graphql/envio/inputs/campaign-order-by.mdx)
sort the rows by one or more columns
##### [Factory.campaigns_aggregate.where
](#)[Campaign_bool_exp
](/docs/api/airdrops/graphql/envio/inputs/campaign-bool-exp.mdx)
filter the rows returned
#### [Factory.chainId
](#)[numeric!
](/docs/api/airdrops/graphql/envio/scalars/numeric.mdx)
#### [Factory.db_write_timestamp
](#)[timestamp
](/docs/api/airdrops/graphql/envio/scalars/timestamp.mdx)
#### [Factory.id
](#)[String!
](/docs/api/airdrops/graphql/envio/scalars/string.mdx)
---
## persisted_state
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
columns and relationships of "persisted_state"
```graphql
type persisted_state {
abi_files_hash: String!
config_hash: String!
envio_version: String!
handler_files_hash: String!
id: Int!
schema_hash: String!
}
```
### Fields
#### [persisted_state.abi_files_hash
](#)[String!
](/docs/api/airdrops/graphql/envio/scalars/string.mdx)
#### [persisted_state.config_hash
](#)[String!
](/docs/api/airdrops/graphql/envio/scalars/string.mdx)
#### [persisted_state.envio_version
](#)[String!
](/docs/api/airdrops/graphql/envio/scalars/string.mdx)
#### [persisted_state.handler_files_hash
](#)[String!
](/docs/api/airdrops/graphql/envio/scalars/string.mdx)
#### [persisted_state.id
](#)[Int!
](/docs/api/airdrops/graphql/envio/scalars/int.mdx)
#### [persisted_state.schema_hash
](#)[String!
](/docs/api/airdrops/graphql/envio/scalars/string.mdx)
---
## raw_events
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
columns and relationships of "raw_events"
```graphql
type raw_events {
block_fields(path: String): jsonb!
block_hash: String!
block_number: Int!
block_timestamp: Int!
chain_id: Int!
contract_name: String!
db_write_timestamp: timestamp
event_id: numeric!
event_name: String!
log_index: Int!
params(path: String): jsonb!
serial: Int!
src_address: String!
transaction_fields(path: String): jsonb!
}
```
### Fields
#### [raw_events.block_fields
](#)[jsonb!
](/docs/api/airdrops/graphql/envio/scalars/jsonb.mdx)
##### [raw_events.block_fields.path
](#)[String
](/docs/api/airdrops/graphql/envio/scalars/string.mdx)
JSON select path
#### [raw_events.block_hash
](#)[String!
](/docs/api/airdrops/graphql/envio/scalars/string.mdx)
#### [raw_events.block_number
](#)[Int!
](/docs/api/airdrops/graphql/envio/scalars/int.mdx)
#### [raw_events.block_timestamp
](#)[Int!
](/docs/api/airdrops/graphql/envio/scalars/int.mdx)
#### [raw_events.chain_id
](#)[Int!
](/docs/api/airdrops/graphql/envio/scalars/int.mdx)
#### [raw_events.contract_name
](#)[String!
](/docs/api/airdrops/graphql/envio/scalars/string.mdx)
#### [raw_events.db_write_timestamp
](#)[timestamp
](/docs/api/airdrops/graphql/envio/scalars/timestamp.mdx)
#### [raw_events.event_id
](#)[numeric!
](/docs/api/airdrops/graphql/envio/scalars/numeric.mdx)
#### [raw_events.event_name
](#)[String!
](/docs/api/airdrops/graphql/envio/scalars/string.mdx)
#### [raw_events.log_index
](#)[Int!
](/docs/api/airdrops/graphql/envio/scalars/int.mdx)
#### [raw_events.params
](#)[jsonb!
](/docs/api/airdrops/graphql/envio/scalars/jsonb.mdx)
##### [raw_events.params.path
](#)[String
](/docs/api/airdrops/graphql/envio/scalars/string.mdx)
JSON select path
#### [raw_events.serial
](#)[Int!
](/docs/api/airdrops/graphql/envio/scalars/int.mdx)
#### [raw_events.src_address
](#)[String!
](/docs/api/airdrops/graphql/envio/scalars/string.mdx)
#### [raw_events.transaction_fields
](#)[jsonb!
](/docs/api/airdrops/graphql/envio/scalars/jsonb.mdx)
##### [raw_events.transaction_fields.path
](#)[String
](/docs/api/airdrops/graphql/envio/scalars/string.mdx)
JSON select path
---
## Revenue_aggregate_fields
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
aggregate fields of "Revenue"
```graphql
type Revenue_aggregate_fields {
avg: Revenue_avg_fields
count(columns: [Revenue_select_column!], distinct: Boolean): Int!
max: Revenue_max_fields
min: Revenue_min_fields
stddev: Revenue_stddev_fields
stddev_pop: Revenue_stddev_pop_fields
stddev_samp: Revenue_stddev_samp_fields
sum: Revenue_sum_fields
var_pop: Revenue_var_pop_fields
var_samp: Revenue_var_samp_fields
variance: Revenue_variance_fields
}
```
### Fields
#### [Revenue_aggregate_fields.avg
](#)[Revenue_avg_fields
](/docs/api/airdrops/graphql/envio/objects/revenue-avg-fields.mdx)
#### [Revenue_aggregate_fields.count
](#)[Int!
](/docs/api/airdrops/graphql/envio/scalars/int.mdx)
##### [Revenue_aggregate_fields.count.columns
](#)[[Revenue_select_column!]
](/docs/api/airdrops/graphql/envio/enums/revenue-select-column.mdx)
##### [Revenue_aggregate_fields.count.distinct
](#)[Boolean
](/docs/api/airdrops/graphql/envio/scalars/boolean.mdx)
#### [Revenue_aggregate_fields.max
](#)[Revenue_max_fields
](/docs/api/airdrops/graphql/envio/objects/revenue-max-fields.mdx)
#### [Revenue_aggregate_fields.min
](#)[Revenue_min_fields
](/docs/api/airdrops/graphql/envio/objects/revenue-min-fields.mdx)
#### [Revenue_aggregate_fields.stddev
](#)[Revenue_stddev_fields
](/docs/api/airdrops/graphql/envio/objects/revenue-stddev-fields.mdx)
#### [Revenue_aggregate_fields.stddev_pop
](#)[Revenue_stddev_pop_fields
](/docs/api/airdrops/graphql/envio/objects/revenue-stddev-pop-fields.mdx)
#### [Revenue_aggregate_fields.stddev_samp
](#)[Revenue_stddev_samp_fields
](/docs/api/airdrops/graphql/envio/objects/revenue-stddev-samp-fields.mdx)
#### [Revenue_aggregate_fields.sum
](#)[Revenue_sum_fields
](/docs/api/airdrops/graphql/envio/objects/revenue-sum-fields.mdx)
#### [Revenue_aggregate_fields.var_pop
](#)[Revenue_var_pop_fields
](/docs/api/airdrops/graphql/envio/objects/revenue-var-pop-fields.mdx)
#### [Revenue_aggregate_fields.var_samp
](#)[Revenue_var_samp_fields
](/docs/api/airdrops/graphql/envio/objects/revenue-var-samp-fields.mdx)
#### [Revenue_aggregate_fields.variance
](#)[Revenue_variance_fields
](/docs/api/airdrops/graphql/envio/objects/revenue-variance-fields.mdx)
---
## Revenue_aggregate
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
aggregated selection of "Revenue"
```graphql
type Revenue_aggregate {
aggregate: Revenue_aggregate_fields
nodes: [Revenue!]!
}
```
### Fields
#### [Revenue_aggregate.aggregate
](#)[Revenue_aggregate_fields
](/docs/api/airdrops/graphql/envio/objects/revenue-aggregate-fields.mdx)
#### [Revenue_aggregate.nodes
](#)[[Revenue!]!
](/docs/api/airdrops/graphql/envio/objects/revenue.mdx)
---
## Revenue_avg_fields
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
aggregate avg on columns
```graphql
type Revenue_avg_fields {
amount: Float
chainId: Float
}
```
### Fields
#### [Revenue_avg_fields.amount
](#)[Float
](/docs/api/airdrops/graphql/envio/scalars/float.mdx)
#### [Revenue_avg_fields.chainId
](#)[Float
](/docs/api/airdrops/graphql/envio/scalars/float.mdx)
---
## Revenue_max_fields
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
aggregate max on columns
```graphql
type Revenue_max_fields {
amount: float8
chainId: numeric
currency: String
date: String
dateTimestamp: timestamptz
db_write_timestamp: timestamp
id: String
}
```
### Fields
#### [Revenue_max_fields.amount
](#)[float8
](/docs/api/airdrops/graphql/envio/scalars/float-8.mdx)
#### [Revenue_max_fields.chainId
](#)[numeric
](/docs/api/airdrops/graphql/envio/scalars/numeric.mdx)
#### [Revenue_max_fields.currency
](#)[String
](/docs/api/airdrops/graphql/envio/scalars/string.mdx)
#### [Revenue_max_fields.date
](#)[String
](/docs/api/airdrops/graphql/envio/scalars/string.mdx)
#### [Revenue_max_fields.dateTimestamp
](#)[timestamptz
](/docs/api/airdrops/graphql/envio/scalars/timestamptz.mdx)
#### [Revenue_max_fields.db_write_timestamp
](#)[timestamp
](/docs/api/airdrops/graphql/envio/scalars/timestamp.mdx)
#### [Revenue_max_fields.id
](#)[String
](/docs/api/airdrops/graphql/envio/scalars/string.mdx)
---
## Revenue_min_fields
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
aggregate min on columns
```graphql
type Revenue_min_fields {
amount: float8
chainId: numeric
currency: String
date: String
dateTimestamp: timestamptz
db_write_timestamp: timestamp
id: String
}
```
### Fields
#### [Revenue_min_fields.amount
](#)[float8
](/docs/api/airdrops/graphql/envio/scalars/float-8.mdx)
#### [Revenue_min_fields.chainId
](#)[numeric
](/docs/api/airdrops/graphql/envio/scalars/numeric.mdx)
#### [Revenue_min_fields.currency
](#)[String
](/docs/api/airdrops/graphql/envio/scalars/string.mdx)
#### [Revenue_min_fields.date
](#)[String
](/docs/api/airdrops/graphql/envio/scalars/string.mdx)
#### [Revenue_min_fields.dateTimestamp
](#)[timestamptz
](/docs/api/airdrops/graphql/envio/scalars/timestamptz.mdx)
#### [Revenue_min_fields.db_write_timestamp
](#)[timestamp
](/docs/api/airdrops/graphql/envio/scalars/timestamp.mdx)
#### [Revenue_min_fields.id
](#)[String
](/docs/api/airdrops/graphql/envio/scalars/string.mdx)
---
## Revenue_stddev_fields
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
aggregate stddev on columns
```graphql
type Revenue_stddev_fields {
amount: Float
chainId: Float
}
```
### Fields
#### [Revenue_stddev_fields.amount
](#)[Float
](/docs/api/airdrops/graphql/envio/scalars/float.mdx)
#### [Revenue_stddev_fields.chainId
](#)[Float
](/docs/api/airdrops/graphql/envio/scalars/float.mdx)
---
## Revenue_stddev_pop_fields
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
aggregate stddev_pop on columns
```graphql
type Revenue_stddev_pop_fields {
amount: Float
chainId: Float
}
```
### Fields
#### [Revenue_stddev_pop_fields.amount
](#)[Float
](/docs/api/airdrops/graphql/envio/scalars/float.mdx)
#### [Revenue_stddev_pop_fields.chainId
](#)[Float
](/docs/api/airdrops/graphql/envio/scalars/float.mdx)
---
## Revenue_stddev_samp_fields
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
aggregate stddev_samp on columns
```graphql
type Revenue_stddev_samp_fields {
amount: Float
chainId: Float
}
```
### Fields
#### [Revenue_stddev_samp_fields.amount
](#)[Float
](/docs/api/airdrops/graphql/envio/scalars/float.mdx)
#### [Revenue_stddev_samp_fields.chainId
](#)[Float
](/docs/api/airdrops/graphql/envio/scalars/float.mdx)
---
## Revenue_sum_fields
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
aggregate sum on columns
```graphql
type Revenue_sum_fields {
amount: float8
chainId: numeric
}
```
### Fields
#### [Revenue_sum_fields.amount
](#)[float8
](/docs/api/airdrops/graphql/envio/scalars/float-8.mdx)
#### [Revenue_sum_fields.chainId
](#)[numeric
](/docs/api/airdrops/graphql/envio/scalars/numeric.mdx)
---
## RevenueTransaction_aggregate_fields
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
aggregate fields of "RevenueTransaction"
```graphql
type RevenueTransaction_aggregate_fields {
avg: RevenueTransaction_avg_fields
count(columns: [RevenueTransaction_select_column!], distinct: Boolean): Int!
max: RevenueTransaction_max_fields
min: RevenueTransaction_min_fields
stddev: RevenueTransaction_stddev_fields
stddev_pop: RevenueTransaction_stddev_pop_fields
stddev_samp: RevenueTransaction_stddev_samp_fields
sum: RevenueTransaction_sum_fields
var_pop: RevenueTransaction_var_pop_fields
var_samp: RevenueTransaction_var_samp_fields
variance: RevenueTransaction_variance_fields
}
```
### Fields
#### [RevenueTransaction_aggregate_fields.avg
](#)[RevenueTransaction_avg_fields
](/docs/api/airdrops/graphql/envio/objects/revenue-transaction-avg-fields.mdx)
#### [RevenueTransaction_aggregate_fields.count
](#)[Int!
](/docs/api/airdrops/graphql/envio/scalars/int.mdx)
##### [RevenueTransaction_aggregate_fields.count.columns
](#)[[RevenueTransaction_select_column!]
](/docs/api/airdrops/graphql/envio/enums/revenue-transaction-select-column.mdx)
##### [RevenueTransaction_aggregate_fields.count.distinct
](#)[Boolean
](/docs/api/airdrops/graphql/envio/scalars/boolean.mdx)
#### [RevenueTransaction_aggregate_fields.max
](#)[RevenueTransaction_max_fields
](/docs/api/airdrops/graphql/envio/objects/revenue-transaction-max-fields.mdx)
#### [RevenueTransaction_aggregate_fields.min
](#)[RevenueTransaction_min_fields
](/docs/api/airdrops/graphql/envio/objects/revenue-transaction-min-fields.mdx)
#### [RevenueTransaction_aggregate_fields.stddev
](#)[RevenueTransaction_stddev_fields
](/docs/api/airdrops/graphql/envio/objects/revenue-transaction-stddev-fields.mdx)
#### [RevenueTransaction_aggregate_fields.stddev_pop
](#)[RevenueTransaction_stddev_pop_fields
](/docs/api/airdrops/graphql/envio/objects/revenue-transaction-stddev-pop-fields.mdx)
#### [RevenueTransaction_aggregate_fields.stddev_samp
](#)[RevenueTransaction_stddev_samp_fields
](/docs/api/airdrops/graphql/envio/objects/revenue-transaction-stddev-samp-fields.mdx)
#### [RevenueTransaction_aggregate_fields.sum
](#)[RevenueTransaction_sum_fields
](/docs/api/airdrops/graphql/envio/objects/revenue-transaction-sum-fields.mdx)
#### [RevenueTransaction_aggregate_fields.var_pop
](#)[RevenueTransaction_var_pop_fields
](/docs/api/airdrops/graphql/envio/objects/revenue-transaction-var-pop-fields.mdx)
#### [RevenueTransaction_aggregate_fields.var_samp
](#)[RevenueTransaction_var_samp_fields
](/docs/api/airdrops/graphql/envio/objects/revenue-transaction-var-samp-fields.mdx)
#### [RevenueTransaction_aggregate_fields.variance
](#)[RevenueTransaction_variance_fields
](/docs/api/airdrops/graphql/envio/objects/revenue-transaction-variance-fields.mdx)
---
## RevenueTransaction_aggregate
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
aggregated selection of "RevenueTransaction"
```graphql
type RevenueTransaction_aggregate {
aggregate: RevenueTransaction_aggregate_fields
nodes: [RevenueTransaction!]!
}
```
### Fields
#### [RevenueTransaction_aggregate.aggregate
](#)[RevenueTransaction_aggregate_fields
](/docs/api/airdrops/graphql/envio/objects/revenue-transaction-aggregate-fields.mdx)
#### [RevenueTransaction_aggregate.nodes
](#)[[RevenueTransaction!]!
](/docs/api/airdrops/graphql/envio/objects/revenue-transaction.mdx)
---
## RevenueTransaction_avg_fields
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
aggregate avg on columns
```graphql
type RevenueTransaction_avg_fields {
amount: Float
block: Float
timestamp: Float
}
```
### Fields
#### [RevenueTransaction_avg_fields.amount
](#)[Float
](/docs/api/airdrops/graphql/envio/scalars/float.mdx)
#### [RevenueTransaction_avg_fields.block
](#)[Float
](/docs/api/airdrops/graphql/envio/scalars/float.mdx)
#### [RevenueTransaction_avg_fields.timestamp
](#)[Float
](/docs/api/airdrops/graphql/envio/scalars/float.mdx)
---
## RevenueTransaction_max_fields
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
aggregate max on columns
```graphql
type RevenueTransaction_max_fields {
amount: float8
block: numeric
db_write_timestamp: timestamp
hash: String
id: String
revenue_id: String
timestamp: numeric
}
```
### Fields
#### [RevenueTransaction_max_fields.amount
](#)[float8
](/docs/api/airdrops/graphql/envio/scalars/float-8.mdx)
#### [RevenueTransaction_max_fields.block
](#)[numeric
](/docs/api/airdrops/graphql/envio/scalars/numeric.mdx)
#### [RevenueTransaction_max_fields.db_write_timestamp
](#)[timestamp
](/docs/api/airdrops/graphql/envio/scalars/timestamp.mdx)
#### [RevenueTransaction_max_fields.hash
](#)[String
](/docs/api/airdrops/graphql/envio/scalars/string.mdx)
#### [RevenueTransaction_max_fields.id
](#)[String
](/docs/api/airdrops/graphql/envio/scalars/string.mdx)
#### [RevenueTransaction_max_fields.revenue_id
](#)[String
](/docs/api/airdrops/graphql/envio/scalars/string.mdx)
#### [RevenueTransaction_max_fields.timestamp
](#)[numeric
](/docs/api/airdrops/graphql/envio/scalars/numeric.mdx)
---
## RevenueTransaction_min_fields
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
aggregate min on columns
```graphql
type RevenueTransaction_min_fields {
amount: float8
block: numeric
db_write_timestamp: timestamp
hash: String
id: String
revenue_id: String
timestamp: numeric
}
```
### Fields
#### [RevenueTransaction_min_fields.amount
](#)[float8
](/docs/api/airdrops/graphql/envio/scalars/float-8.mdx)
#### [RevenueTransaction_min_fields.block
](#)[numeric
](/docs/api/airdrops/graphql/envio/scalars/numeric.mdx)
#### [RevenueTransaction_min_fields.db_write_timestamp
](#)[timestamp
](/docs/api/airdrops/graphql/envio/scalars/timestamp.mdx)
#### [RevenueTransaction_min_fields.hash
](#)[String
](/docs/api/airdrops/graphql/envio/scalars/string.mdx)
#### [RevenueTransaction_min_fields.id
](#)[String
](/docs/api/airdrops/graphql/envio/scalars/string.mdx)
#### [RevenueTransaction_min_fields.revenue_id
](#)[String
](/docs/api/airdrops/graphql/envio/scalars/string.mdx)
#### [RevenueTransaction_min_fields.timestamp
](#)[numeric
](/docs/api/airdrops/graphql/envio/scalars/numeric.mdx)
---
## RevenueTransaction_stddev_fields
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
aggregate stddev on columns
```graphql
type RevenueTransaction_stddev_fields {
amount: Float
block: Float
timestamp: Float
}
```
### Fields
#### [RevenueTransaction_stddev_fields.amount
](#)[Float
](/docs/api/airdrops/graphql/envio/scalars/float.mdx)
#### [RevenueTransaction_stddev_fields.block
](#)[Float
](/docs/api/airdrops/graphql/envio/scalars/float.mdx)
#### [RevenueTransaction_stddev_fields.timestamp
](#)[Float
](/docs/api/airdrops/graphql/envio/scalars/float.mdx)
---
## RevenueTransaction_stddev_pop_fields
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
aggregate stddev_pop on columns
```graphql
type RevenueTransaction_stddev_pop_fields {
amount: Float
block: Float
timestamp: Float
}
```
### Fields
#### [RevenueTransaction_stddev_pop_fields.amount
](#)[Float
](/docs/api/airdrops/graphql/envio/scalars/float.mdx)
#### [RevenueTransaction_stddev_pop_fields.block
](#)[Float
](/docs/api/airdrops/graphql/envio/scalars/float.mdx)
#### [RevenueTransaction_stddev_pop_fields.timestamp
](#)[Float
](/docs/api/airdrops/graphql/envio/scalars/float.mdx)
---
## RevenueTransaction_stddev_samp_fields
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
aggregate stddev_samp on columns
```graphql
type RevenueTransaction_stddev_samp_fields {
amount: Float
block: Float
timestamp: Float
}
```
### Fields
#### [RevenueTransaction_stddev_samp_fields.amount
](#)[Float
](/docs/api/airdrops/graphql/envio/scalars/float.mdx)
#### [RevenueTransaction_stddev_samp_fields.block
](#)[Float
](/docs/api/airdrops/graphql/envio/scalars/float.mdx)
#### [RevenueTransaction_stddev_samp_fields.timestamp
](#)[Float
](/docs/api/airdrops/graphql/envio/scalars/float.mdx)
---
## RevenueTransaction_sum_fields
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
aggregate sum on columns
```graphql
type RevenueTransaction_sum_fields {
amount: float8
block: numeric
timestamp: numeric
}
```
### Fields
#### [RevenueTransaction_sum_fields.amount
](#)[float8
](/docs/api/airdrops/graphql/envio/scalars/float-8.mdx)
#### [RevenueTransaction_sum_fields.block
](#)[numeric
](/docs/api/airdrops/graphql/envio/scalars/numeric.mdx)
#### [RevenueTransaction_sum_fields.timestamp
](#)[numeric
](/docs/api/airdrops/graphql/envio/scalars/numeric.mdx)
---
## RevenueTransaction_var_pop_fields
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
aggregate var_pop on columns
```graphql
type RevenueTransaction_var_pop_fields {
amount: Float
block: Float
timestamp: Float
}
```
### Fields
#### [RevenueTransaction_var_pop_fields.amount
](#)[Float
](/docs/api/airdrops/graphql/envio/scalars/float.mdx)
#### [RevenueTransaction_var_pop_fields.block
](#)[Float
](/docs/api/airdrops/graphql/envio/scalars/float.mdx)
#### [RevenueTransaction_var_pop_fields.timestamp
](#)[Float
](/docs/api/airdrops/graphql/envio/scalars/float.mdx)
---
## RevenueTransaction_var_samp_fields
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
aggregate var_samp on columns
```graphql
type RevenueTransaction_var_samp_fields {
amount: Float
block: Float
timestamp: Float
}
```
### Fields
#### [RevenueTransaction_var_samp_fields.amount
](#)[Float
](/docs/api/airdrops/graphql/envio/scalars/float.mdx)
#### [RevenueTransaction_var_samp_fields.block
](#)[Float
](/docs/api/airdrops/graphql/envio/scalars/float.mdx)
#### [RevenueTransaction_var_samp_fields.timestamp
](#)[Float
](/docs/api/airdrops/graphql/envio/scalars/float.mdx)
---
## RevenueTransaction_variance_fields
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
aggregate variance on columns
```graphql
type RevenueTransaction_variance_fields {
amount: Float
block: Float
timestamp: Float
}
```
### Fields
#### [RevenueTransaction_variance_fields.amount
](#)[Float
](/docs/api/airdrops/graphql/envio/scalars/float.mdx)
#### [RevenueTransaction_variance_fields.block
](#)[Float
](/docs/api/airdrops/graphql/envio/scalars/float.mdx)
#### [RevenueTransaction_variance_fields.timestamp
](#)[Float
](/docs/api/airdrops/graphql/envio/scalars/float.mdx)
---
## RevenueTransaction
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
columns and relationships of "RevenueTransaction"
```graphql
type RevenueTransaction {
amount: float8!
block: numeric!
db_write_timestamp: timestamp
hash: String!
id: String!
revenue: Revenue
revenue_id: String!
timestamp: numeric!
}
```
### Fields
#### [RevenueTransaction.amount
](#)[float8!
](/docs/api/airdrops/graphql/envio/scalars/float-8.mdx)
#### [RevenueTransaction.block
](#)[numeric!
](/docs/api/airdrops/graphql/envio/scalars/numeric.mdx)
#### [RevenueTransaction.db_write_timestamp
](#)[timestamp
](/docs/api/airdrops/graphql/envio/scalars/timestamp.mdx)
#### [RevenueTransaction.hash
](#)[String!
](/docs/api/airdrops/graphql/envio/scalars/string.mdx)
#### [RevenueTransaction.id
](#)[String!
](/docs/api/airdrops/graphql/envio/scalars/string.mdx)
#### [RevenueTransaction.revenue
](#)[Revenue
](/docs/api/airdrops/graphql/envio/objects/revenue.mdx)
An object relationship
#### [RevenueTransaction.revenue_id
](#)[String!
](/docs/api/airdrops/graphql/envio/scalars/string.mdx)
#### [RevenueTransaction.timestamp
](#)[numeric!
](/docs/api/airdrops/graphql/envio/scalars/numeric.mdx)
---
## Revenue_var_pop_fields
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
aggregate var_pop on columns
```graphql
type Revenue_var_pop_fields {
amount: Float
chainId: Float
}
```
### Fields
#### [Revenue_var_pop_fields.amount
](#)[Float
](/docs/api/airdrops/graphql/envio/scalars/float.mdx)
#### [Revenue_var_pop_fields.chainId
](#)[Float
](/docs/api/airdrops/graphql/envio/scalars/float.mdx)
---
## Revenue_var_samp_fields
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
aggregate var_samp on columns
```graphql
type Revenue_var_samp_fields {
amount: Float
chainId: Float
}
```
### Fields
#### [Revenue_var_samp_fields.amount
](#)[Float
](/docs/api/airdrops/graphql/envio/scalars/float.mdx)
#### [Revenue_var_samp_fields.chainId
](#)[Float
](/docs/api/airdrops/graphql/envio/scalars/float.mdx)
---
## Revenue_variance_fields
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
aggregate variance on columns
```graphql
type Revenue_variance_fields {
amount: Float
chainId: Float
}
```
### Fields
#### [Revenue_variance_fields.amount
](#)[Float
](/docs/api/airdrops/graphql/envio/scalars/float.mdx)
#### [Revenue_variance_fields.chainId
](#)[Float
](/docs/api/airdrops/graphql/envio/scalars/float.mdx)
---
## Revenue
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
columns and relationships of "Revenue"
```graphql
type Revenue {
amount: float8!
chainId: numeric!
currency: String!
date: String!
dateTimestamp: timestamptz!
db_write_timestamp: timestamp
id: String!
transactions(
distinct_on: [RevenueTransaction_select_column!]
limit: Int
offset: Int
order_by: [RevenueTransaction_order_by!]
where: RevenueTransaction_bool_exp
): [RevenueTransaction!]!
transactions_aggregate(
distinct_on: [RevenueTransaction_select_column!]
limit: Int
offset: Int
order_by: [RevenueTransaction_order_by!]
where: RevenueTransaction_bool_exp
): RevenueTransaction_aggregate!
}
```
### Fields
#### [Revenue.amount
](#)[float8!
](/docs/api/airdrops/graphql/envio/scalars/float-8.mdx)
#### [Revenue.chainId
](#)[numeric!
](/docs/api/airdrops/graphql/envio/scalars/numeric.mdx)
#### [Revenue.currency
](#)[String!
](/docs/api/airdrops/graphql/envio/scalars/string.mdx)
#### [Revenue.date
](#)[String!
](/docs/api/airdrops/graphql/envio/scalars/string.mdx)
#### [Revenue.dateTimestamp
](#)[timestamptz!
](/docs/api/airdrops/graphql/envio/scalars/timestamptz.mdx)
#### [Revenue.db_write_timestamp
](#)[timestamp
](/docs/api/airdrops/graphql/envio/scalars/timestamp.mdx)
#### [Revenue.id
](#)[String!
](/docs/api/airdrops/graphql/envio/scalars/string.mdx)
#### [Revenue.transactions
](#)[[RevenueTransaction!]!
](/docs/api/airdrops/graphql/envio/objects/revenue-transaction.mdx)
An array relationship
##### [Revenue.transactions.distinct_on
](#)[[RevenueTransaction_select_column!]
](/docs/api/airdrops/graphql/envio/enums/revenue-transaction-select-column.mdx)
distinct select on columns
##### [Revenue.transactions.limit
](#)[Int
](/docs/api/airdrops/graphql/envio/scalars/int.mdx)
limit the number of rows returned
##### [Revenue.transactions.offset
](#)[Int
](/docs/api/airdrops/graphql/envio/scalars/int.mdx)
skip the first n rows. Use only with order_by
##### [Revenue.transactions.order_by
](#)[[RevenueTransaction_order_by!]
](/docs/api/airdrops/graphql/envio/inputs/revenue-transaction-order-by.mdx)
sort the rows by one or more columns
##### [Revenue.transactions.where
](#)[RevenueTransaction_bool_exp
](/docs/api/airdrops/graphql/envio/inputs/revenue-transaction-bool-exp.mdx)
filter the rows returned
#### [Revenue.transactions_aggregate
](#)[RevenueTransaction_aggregate!
](/docs/api/airdrops/graphql/envio/objects/revenue-transaction-aggregate.mdx)
An aggregate relationship
##### [Revenue.transactions_aggregate.distinct_on
](#)[[RevenueTransaction_select_column!]
](/docs/api/airdrops/graphql/envio/enums/revenue-transaction-select-column.mdx)
distinct select on columns
##### [Revenue.transactions_aggregate.limit
](#)[Int
](/docs/api/airdrops/graphql/envio/scalars/int.mdx)
limit the number of rows returned
##### [Revenue.transactions_aggregate.offset
](#)[Int
](/docs/api/airdrops/graphql/envio/scalars/int.mdx)
skip the first n rows. Use only with order_by
##### [Revenue.transactions_aggregate.order_by
](#)[[RevenueTransaction_order_by!]
](/docs/api/airdrops/graphql/envio/inputs/revenue-transaction-order-by.mdx)
sort the rows by one or more columns
##### [Revenue.transactions_aggregate.where
](#)[RevenueTransaction_bool_exp
](/docs/api/airdrops/graphql/envio/inputs/revenue-transaction-bool-exp.mdx)
filter the rows returned
---
## Tranche
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
columns and relationships of "Tranche"
```graphql
type Tranche {
campaign: Campaign
campaign_id: String!
db_write_timestamp: timestamp
duration: numeric!
endDuration: numeric!
endPercentage: numeric!
id: String!
percentage: numeric!
position: numeric!
startDuration: numeric!
startPercentage: numeric!
}
```
### Fields
#### [Tranche.campaign
](#)[Campaign
](/docs/api/airdrops/graphql/envio/objects/campaign.mdx)
An object relationship
#### [Tranche.campaign_id
](#)[String!
](/docs/api/airdrops/graphql/envio/scalars/string.mdx)
#### [Tranche.db_write_timestamp
](#)[timestamp
](/docs/api/airdrops/graphql/envio/scalars/timestamp.mdx)
#### [Tranche.duration
](#)[numeric!
](/docs/api/airdrops/graphql/envio/scalars/numeric.mdx)
#### [Tranche.endDuration
](#)[numeric!
](/docs/api/airdrops/graphql/envio/scalars/numeric.mdx)
#### [Tranche.endPercentage
](#)[numeric!
](/docs/api/airdrops/graphql/envio/scalars/numeric.mdx)
#### [Tranche.id
](#)[String!
](/docs/api/airdrops/graphql/envio/scalars/string.mdx)
#### [Tranche.percentage
](#)[numeric!
](/docs/api/airdrops/graphql/envio/scalars/numeric.mdx)
#### [Tranche.position
](#)[numeric!
](/docs/api/airdrops/graphql/envio/scalars/numeric.mdx)
#### [Tranche.startDuration
](#)[numeric!
](/docs/api/airdrops/graphql/envio/scalars/numeric.mdx)
#### [Tranche.startPercentage
](#)[numeric!
](/docs/api/airdrops/graphql/envio/scalars/numeric.mdx)
---
## User_aggregate_fields
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
aggregate fields of "User"
```graphql
type User_aggregate_fields {
avg: User_avg_fields
count(columns: [User_select_column!], distinct: Boolean): Int!
max: User_max_fields
min: User_min_fields
stddev: User_stddev_fields
stddev_pop: User_stddev_pop_fields
stddev_samp: User_stddev_samp_fields
sum: User_sum_fields
var_pop: User_var_pop_fields
var_samp: User_var_samp_fields
variance: User_variance_fields
}
```
### Fields
#### [User_aggregate_fields.avg
](#)[User_avg_fields
](/docs/api/airdrops/graphql/envio/objects/user-avg-fields.mdx)
#### [User_aggregate_fields.count
](#)[Int!
](/docs/api/airdrops/graphql/envio/scalars/int.mdx)
##### [User_aggregate_fields.count.columns
](#)[[User_select_column!]
](/docs/api/airdrops/graphql/envio/enums/user-select-column.mdx)
##### [User_aggregate_fields.count.distinct
](#)[Boolean
](/docs/api/airdrops/graphql/envio/scalars/boolean.mdx)
#### [User_aggregate_fields.max
](#)[User_max_fields
](/docs/api/airdrops/graphql/envio/objects/user-max-fields.mdx)
#### [User_aggregate_fields.min
](#)[User_min_fields
](/docs/api/airdrops/graphql/envio/objects/user-min-fields.mdx)
#### [User_aggregate_fields.stddev
](#)[User_stddev_fields
](/docs/api/airdrops/graphql/envio/objects/user-stddev-fields.mdx)
#### [User_aggregate_fields.stddev_pop
](#)[User_stddev_pop_fields
](/docs/api/airdrops/graphql/envio/objects/user-stddev-pop-fields.mdx)
#### [User_aggregate_fields.stddev_samp
](#)[User_stddev_samp_fields
](/docs/api/airdrops/graphql/envio/objects/user-stddev-samp-fields.mdx)
#### [User_aggregate_fields.sum
](#)[User_sum_fields
](/docs/api/airdrops/graphql/envio/objects/user-sum-fields.mdx)
#### [User_aggregate_fields.var_pop
](#)[User_var_pop_fields
](/docs/api/airdrops/graphql/envio/objects/user-var-pop-fields.mdx)
#### [User_aggregate_fields.var_samp
](#)[User_var_samp_fields
](/docs/api/airdrops/graphql/envio/objects/user-var-samp-fields.mdx)
#### [User_aggregate_fields.variance
](#)[User_variance_fields
](/docs/api/airdrops/graphql/envio/objects/user-variance-fields.mdx)
---
## User_aggregate
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
aggregated selection of "User"
```graphql
type User_aggregate {
aggregate: User_aggregate_fields
nodes: [User!]!
}
```
### Fields
#### [User_aggregate.aggregate
](#)[User_aggregate_fields
](/docs/api/airdrops/graphql/envio/objects/user-aggregate-fields.mdx)
#### [User_aggregate.nodes
](#)[[User!]!
](/docs/api/airdrops/graphql/envio/objects/user.mdx)
---
## User_avg_fields
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
aggregate avg on columns
```graphql
type User_avg_fields {
chainId: Float
}
```
### Fields
#### [User_avg_fields.chainId
](#)[Float
](/docs/api/airdrops/graphql/envio/scalars/float.mdx)
---
## User_max_fields
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
aggregate max on columns
```graphql
type User_max_fields {
address: String
chainId: numeric
db_write_timestamp: timestamp
id: String
}
```
### Fields
#### [User_max_fields.address
](#)[String
](/docs/api/airdrops/graphql/envio/scalars/string.mdx)
#### [User_max_fields.chainId
](#)[numeric
](/docs/api/airdrops/graphql/envio/scalars/numeric.mdx)
#### [User_max_fields.db_write_timestamp
](#)[timestamp
](/docs/api/airdrops/graphql/envio/scalars/timestamp.mdx)
#### [User_max_fields.id
](#)[String
](/docs/api/airdrops/graphql/envio/scalars/string.mdx)
---
## User_min_fields
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
aggregate min on columns
```graphql
type User_min_fields {
address: String
chainId: numeric
db_write_timestamp: timestamp
id: String
}
```
### Fields
#### [User_min_fields.address
](#)[String
](/docs/api/airdrops/graphql/envio/scalars/string.mdx)
#### [User_min_fields.chainId
](#)[numeric
](/docs/api/airdrops/graphql/envio/scalars/numeric.mdx)
#### [User_min_fields.db_write_timestamp
](#)[timestamp
](/docs/api/airdrops/graphql/envio/scalars/timestamp.mdx)
#### [User_min_fields.id
](#)[String
](/docs/api/airdrops/graphql/envio/scalars/string.mdx)
---
## User_stddev_fields
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
aggregate stddev on columns
```graphql
type User_stddev_fields {
chainId: Float
}
```
### Fields
#### [User_stddev_fields.chainId
](#)[Float
](/docs/api/airdrops/graphql/envio/scalars/float.mdx)
---
## User_stddev_pop_fields
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
aggregate stddev_pop on columns
```graphql
type User_stddev_pop_fields {
chainId: Float
}
```
### Fields
#### [User_stddev_pop_fields.chainId
](#)[Float
](/docs/api/airdrops/graphql/envio/scalars/float.mdx)
---
## User_stddev_samp_fields
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
aggregate stddev_samp on columns
```graphql
type User_stddev_samp_fields {
chainId: Float
}
```
### Fields
#### [User_stddev_samp_fields.chainId
](#)[Float
](/docs/api/airdrops/graphql/envio/scalars/float.mdx)
---
## User_sum_fields
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
aggregate sum on columns
```graphql
type User_sum_fields {
chainId: numeric
}
```
### Fields
#### [User_sum_fields.chainId
](#)[numeric
](/docs/api/airdrops/graphql/envio/scalars/numeric.mdx)
---
## UserTransaction_aggregate_fields
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
aggregate fields of "UserTransaction"
```graphql
type UserTransaction_aggregate_fields {
avg: UserTransaction_avg_fields
count(columns: [UserTransaction_select_column!], distinct: Boolean): Int!
max: UserTransaction_max_fields
min: UserTransaction_min_fields
stddev: UserTransaction_stddev_fields
stddev_pop: UserTransaction_stddev_pop_fields
stddev_samp: UserTransaction_stddev_samp_fields
sum: UserTransaction_sum_fields
var_pop: UserTransaction_var_pop_fields
var_samp: UserTransaction_var_samp_fields
variance: UserTransaction_variance_fields
}
```
### Fields
#### [UserTransaction_aggregate_fields.avg
](#)[UserTransaction_avg_fields
](/docs/api/airdrops/graphql/envio/objects/user-transaction-avg-fields.mdx)
#### [UserTransaction_aggregate_fields.count
](#)[Int!
](/docs/api/airdrops/graphql/envio/scalars/int.mdx)
##### [UserTransaction_aggregate_fields.count.columns
](#)[[UserTransaction_select_column!]
](/docs/api/airdrops/graphql/envio/enums/user-transaction-select-column.mdx)
##### [UserTransaction_aggregate_fields.count.distinct
](#)[Boolean
](/docs/api/airdrops/graphql/envio/scalars/boolean.mdx)
#### [UserTransaction_aggregate_fields.max
](#)[UserTransaction_max_fields
](/docs/api/airdrops/graphql/envio/objects/user-transaction-max-fields.mdx)
#### [UserTransaction_aggregate_fields.min
](#)[UserTransaction_min_fields
](/docs/api/airdrops/graphql/envio/objects/user-transaction-min-fields.mdx)
#### [UserTransaction_aggregate_fields.stddev
](#)[UserTransaction_stddev_fields
](/docs/api/airdrops/graphql/envio/objects/user-transaction-stddev-fields.mdx)
#### [UserTransaction_aggregate_fields.stddev_pop
](#)[UserTransaction_stddev_pop_fields
](/docs/api/airdrops/graphql/envio/objects/user-transaction-stddev-pop-fields.mdx)
#### [UserTransaction_aggregate_fields.stddev_samp
](#)[UserTransaction_stddev_samp_fields
](/docs/api/airdrops/graphql/envio/objects/user-transaction-stddev-samp-fields.mdx)
#### [UserTransaction_aggregate_fields.sum
](#)[UserTransaction_sum_fields
](/docs/api/airdrops/graphql/envio/objects/user-transaction-sum-fields.mdx)
#### [UserTransaction_aggregate_fields.var_pop
](#)[UserTransaction_var_pop_fields
](/docs/api/airdrops/graphql/envio/objects/user-transaction-var-pop-fields.mdx)
#### [UserTransaction_aggregate_fields.var_samp
](#)[UserTransaction_var_samp_fields
](/docs/api/airdrops/graphql/envio/objects/user-transaction-var-samp-fields.mdx)
#### [UserTransaction_aggregate_fields.variance
](#)[UserTransaction_variance_fields
](/docs/api/airdrops/graphql/envio/objects/user-transaction-variance-fields.mdx)
---
## UserTransaction_aggregate
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
aggregated selection of "UserTransaction"
```graphql
type UserTransaction_aggregate {
aggregate: UserTransaction_aggregate_fields
nodes: [UserTransaction!]!
}
```
### Fields
#### [UserTransaction_aggregate.aggregate
](#)[UserTransaction_aggregate_fields
](/docs/api/airdrops/graphql/envio/objects/user-transaction-aggregate-fields.mdx)
#### [UserTransaction_aggregate.nodes
](#)[[UserTransaction!]!
](/docs/api/airdrops/graphql/envio/objects/user-transaction.mdx)
---
## UserTransaction_avg_fields
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
aggregate avg on columns
```graphql
type UserTransaction_avg_fields {
block: Float
fee: Float
timestamp: Float
}
```
### Fields
#### [UserTransaction_avg_fields.block
](#)[Float
](/docs/api/airdrops/graphql/envio/scalars/float.mdx)
#### [UserTransaction_avg_fields.fee
](#)[Float
](/docs/api/airdrops/graphql/envio/scalars/float.mdx)
#### [UserTransaction_avg_fields.timestamp
](#)[Float
](/docs/api/airdrops/graphql/envio/scalars/float.mdx)
---
## UserTransaction_max_fields
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
aggregate max on columns
```graphql
type UserTransaction_max_fields {
block: numeric
db_write_timestamp: timestamp
fee: float8
hash: String
id: String
timestamp: numeric
user_id: String
}
```
### Fields
#### [UserTransaction_max_fields.block
](#)[numeric
](/docs/api/airdrops/graphql/envio/scalars/numeric.mdx)
#### [UserTransaction_max_fields.db_write_timestamp
](#)[timestamp
](/docs/api/airdrops/graphql/envio/scalars/timestamp.mdx)
#### [UserTransaction_max_fields.fee
](#)[float8
](/docs/api/airdrops/graphql/envio/scalars/float-8.mdx)
#### [UserTransaction_max_fields.hash
](#)[String
](/docs/api/airdrops/graphql/envio/scalars/string.mdx)
#### [UserTransaction_max_fields.id
](#)[String
](/docs/api/airdrops/graphql/envio/scalars/string.mdx)
#### [UserTransaction_max_fields.timestamp
](#)[numeric
](/docs/api/airdrops/graphql/envio/scalars/numeric.mdx)
#### [UserTransaction_max_fields.user_id
](#)[String
](/docs/api/airdrops/graphql/envio/scalars/string.mdx)
---
## UserTransaction_min_fields
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
aggregate min on columns
```graphql
type UserTransaction_min_fields {
block: numeric
db_write_timestamp: timestamp
fee: float8
hash: String
id: String
timestamp: numeric
user_id: String
}
```
### Fields
#### [UserTransaction_min_fields.block
](#)[numeric
](/docs/api/airdrops/graphql/envio/scalars/numeric.mdx)
#### [UserTransaction_min_fields.db_write_timestamp
](#)[timestamp
](/docs/api/airdrops/graphql/envio/scalars/timestamp.mdx)
#### [UserTransaction_min_fields.fee
](#)[float8
](/docs/api/airdrops/graphql/envio/scalars/float-8.mdx)
#### [UserTransaction_min_fields.hash
](#)[String
](/docs/api/airdrops/graphql/envio/scalars/string.mdx)
#### [UserTransaction_min_fields.id
](#)[String
](/docs/api/airdrops/graphql/envio/scalars/string.mdx)
#### [UserTransaction_min_fields.timestamp
](#)[numeric
](/docs/api/airdrops/graphql/envio/scalars/numeric.mdx)
#### [UserTransaction_min_fields.user_id
](#)[String
](/docs/api/airdrops/graphql/envio/scalars/string.mdx)
---
## UserTransaction_stddev_fields
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
aggregate stddev on columns
```graphql
type UserTransaction_stddev_fields {
block: Float
fee: Float
timestamp: Float
}
```
### Fields
#### [UserTransaction_stddev_fields.block
](#)[Float
](/docs/api/airdrops/graphql/envio/scalars/float.mdx)
#### [UserTransaction_stddev_fields.fee
](#)[Float
](/docs/api/airdrops/graphql/envio/scalars/float.mdx)
#### [UserTransaction_stddev_fields.timestamp
](#)[Float
](/docs/api/airdrops/graphql/envio/scalars/float.mdx)
---
## UserTransaction_stddev_pop_fields
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
aggregate stddev_pop on columns
```graphql
type UserTransaction_stddev_pop_fields {
block: Float
fee: Float
timestamp: Float
}
```
### Fields
#### [UserTransaction_stddev_pop_fields.block
](#)[Float
](/docs/api/airdrops/graphql/envio/scalars/float.mdx)
#### [UserTransaction_stddev_pop_fields.fee
](#)[Float
](/docs/api/airdrops/graphql/envio/scalars/float.mdx)
#### [UserTransaction_stddev_pop_fields.timestamp
](#)[Float
](/docs/api/airdrops/graphql/envio/scalars/float.mdx)
---
## UserTransaction_stddev_samp_fields
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
aggregate stddev_samp on columns
```graphql
type UserTransaction_stddev_samp_fields {
block: Float
fee: Float
timestamp: Float
}
```
### Fields
#### [UserTransaction_stddev_samp_fields.block
](#)[Float
](/docs/api/airdrops/graphql/envio/scalars/float.mdx)
#### [UserTransaction_stddev_samp_fields.fee
](#)[Float
](/docs/api/airdrops/graphql/envio/scalars/float.mdx)
#### [UserTransaction_stddev_samp_fields.timestamp
](#)[Float
](/docs/api/airdrops/graphql/envio/scalars/float.mdx)
---
## UserTransaction_sum_fields
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
aggregate sum on columns
```graphql
type UserTransaction_sum_fields {
block: numeric
fee: float8
timestamp: numeric
}
```
### Fields
#### [UserTransaction_sum_fields.block
](#)[numeric
](/docs/api/airdrops/graphql/envio/scalars/numeric.mdx)
#### [UserTransaction_sum_fields.fee
](#)[float8
](/docs/api/airdrops/graphql/envio/scalars/float-8.mdx)
#### [UserTransaction_sum_fields.timestamp
](#)[numeric
](/docs/api/airdrops/graphql/envio/scalars/numeric.mdx)
---
## UserTransaction_var_pop_fields
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
aggregate var_pop on columns
```graphql
type UserTransaction_var_pop_fields {
block: Float
fee: Float
timestamp: Float
}
```
### Fields
#### [UserTransaction_var_pop_fields.block
](#)[Float
](/docs/api/airdrops/graphql/envio/scalars/float.mdx)
#### [UserTransaction_var_pop_fields.fee
](#)[Float
](/docs/api/airdrops/graphql/envio/scalars/float.mdx)
#### [UserTransaction_var_pop_fields.timestamp
](#)[Float
](/docs/api/airdrops/graphql/envio/scalars/float.mdx)
---
## UserTransaction_var_samp_fields
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
aggregate var_samp on columns
```graphql
type UserTransaction_var_samp_fields {
block: Float
fee: Float
timestamp: Float
}
```
### Fields
#### [UserTransaction_var_samp_fields.block
](#)[Float
](/docs/api/airdrops/graphql/envio/scalars/float.mdx)
#### [UserTransaction_var_samp_fields.fee
](#)[Float
](/docs/api/airdrops/graphql/envio/scalars/float.mdx)
#### [UserTransaction_var_samp_fields.timestamp
](#)[Float
](/docs/api/airdrops/graphql/envio/scalars/float.mdx)
---
## UserTransaction_variance_fields
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
aggregate variance on columns
```graphql
type UserTransaction_variance_fields {
block: Float
fee: Float
timestamp: Float
}
```
### Fields
#### [UserTransaction_variance_fields.block
](#)[Float
](/docs/api/airdrops/graphql/envio/scalars/float.mdx)
#### [UserTransaction_variance_fields.fee
](#)[Float
](/docs/api/airdrops/graphql/envio/scalars/float.mdx)
#### [UserTransaction_variance_fields.timestamp
](#)[Float
](/docs/api/airdrops/graphql/envio/scalars/float.mdx)
---
## UserTransaction
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
columns and relationships of "UserTransaction"
```graphql
type UserTransaction {
block: numeric!
db_write_timestamp: timestamp
fee: float8!
hash: String!
id: String!
isAirdropClaim: Boolean!
timestamp: numeric!
user: User
user_id: String!
}
```
### Fields
#### [UserTransaction.block
](#)[numeric!
](/docs/api/airdrops/graphql/envio/scalars/numeric.mdx)
#### [UserTransaction.db_write_timestamp
](#)[timestamp
](/docs/api/airdrops/graphql/envio/scalars/timestamp.mdx)
#### [UserTransaction.fee
](#)[float8!
](/docs/api/airdrops/graphql/envio/scalars/float-8.mdx)
#### [UserTransaction.hash
](#)[String!
](/docs/api/airdrops/graphql/envio/scalars/string.mdx)
#### [UserTransaction.id
](#)[String!
](/docs/api/airdrops/graphql/envio/scalars/string.mdx)
#### [UserTransaction.isAirdropClaim
](#)[Boolean!
](/docs/api/airdrops/graphql/envio/scalars/boolean.mdx)
#### [UserTransaction.timestamp
](#)[numeric!
](/docs/api/airdrops/graphql/envio/scalars/numeric.mdx)
#### [UserTransaction.user
](#)[User
](/docs/api/airdrops/graphql/envio/objects/user.mdx)
An object relationship
#### [UserTransaction.user_id
](#)[String!
](/docs/api/airdrops/graphql/envio/scalars/string.mdx)
---
## User_var_pop_fields
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
aggregate var_pop on columns
```graphql
type User_var_pop_fields {
chainId: Float
}
```
### Fields
#### [User_var_pop_fields.chainId
](#)[Float
](/docs/api/airdrops/graphql/envio/scalars/float.mdx)
---
## User_var_samp_fields
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
aggregate var_samp on columns
```graphql
type User_var_samp_fields {
chainId: Float
}
```
### Fields
#### [User_var_samp_fields.chainId
](#)[Float
](/docs/api/airdrops/graphql/envio/scalars/float.mdx)
---
## User_variance_fields
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
aggregate variance on columns
```graphql
type User_variance_fields {
chainId: Float
}
```
### Fields
#### [User_variance_fields.chainId
](#)[Float
](/docs/api/airdrops/graphql/envio/scalars/float.mdx)
---
## User
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
columns and relationships of "User"
```graphql
type User {
address: String!
chainId: numeric!
db_write_timestamp: timestamp
id: String!
isOnlyAirdropClaimer: Boolean!
transactions(
distinct_on: [UserTransaction_select_column!]
limit: Int
offset: Int
order_by: [UserTransaction_order_by!]
where: UserTransaction_bool_exp
): [UserTransaction!]!
transactions_aggregate(
distinct_on: [UserTransaction_select_column!]
limit: Int
offset: Int
order_by: [UserTransaction_order_by!]
where: UserTransaction_bool_exp
): UserTransaction_aggregate!
}
```
### Fields
#### [User.address
](#)[String!
](/docs/api/airdrops/graphql/envio/scalars/string.mdx)
#### [User.chainId
](#)[numeric!
](/docs/api/airdrops/graphql/envio/scalars/numeric.mdx)
#### [User.db_write_timestamp
](#)[timestamp
](/docs/api/airdrops/graphql/envio/scalars/timestamp.mdx)
#### [User.id
](#)[String!
](/docs/api/airdrops/graphql/envio/scalars/string.mdx)
#### [User.isOnlyAirdropClaimer
](#)[Boolean!
](/docs/api/airdrops/graphql/envio/scalars/boolean.mdx)
#### [User.transactions
](#)[[UserTransaction!]!
](/docs/api/airdrops/graphql/envio/objects/user-transaction.mdx)
An array relationship
##### [User.transactions.distinct_on
](#)[[UserTransaction_select_column!]
](/docs/api/airdrops/graphql/envio/enums/user-transaction-select-column.mdx)
distinct select on columns
##### [User.transactions.limit
](#)[Int
](/docs/api/airdrops/graphql/envio/scalars/int.mdx)
limit the number of rows returned
##### [User.transactions.offset
](#)[Int
](/docs/api/airdrops/graphql/envio/scalars/int.mdx)
skip the first n rows. Use only with order_by
##### [User.transactions.order_by
](#)[[UserTransaction_order_by!]
](/docs/api/airdrops/graphql/envio/inputs/user-transaction-order-by.mdx)
sort the rows by one or more columns
##### [User.transactions.where
](#)[UserTransaction_bool_exp
](/docs/api/airdrops/graphql/envio/inputs/user-transaction-bool-exp.mdx)
filter the rows returned
#### [User.transactions_aggregate
](#)[UserTransaction_aggregate!
](/docs/api/airdrops/graphql/envio/objects/user-transaction-aggregate.mdx)
An aggregate relationship
##### [User.transactions_aggregate.distinct_on
](#)[[UserTransaction_select_column!]
](/docs/api/airdrops/graphql/envio/enums/user-transaction-select-column.mdx)
distinct select on columns
##### [User.transactions_aggregate.limit
](#)[Int
](/docs/api/airdrops/graphql/envio/scalars/int.mdx)
limit the number of rows returned
##### [User.transactions_aggregate.offset
](#)[Int
](/docs/api/airdrops/graphql/envio/scalars/int.mdx)
skip the first n rows. Use only with order_by
##### [User.transactions_aggregate.order_by
](#)[[UserTransaction_order_by!]
](/docs/api/airdrops/graphql/envio/inputs/user-transaction-order-by.mdx)
sort the rows by one or more columns
##### [User.transactions_aggregate.where
](#)[UserTransaction_bool_exp
](/docs/api/airdrops/graphql/envio/inputs/user-transaction-bool-exp.mdx)
filter the rows returned
---
## Watcher
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
columns and relationships of "Watcher"
```graphql
type Watcher {
actionCounter: numeric!
campaignCounter: numeric!
chainId: numeric!
db_write_timestamp: timestamp
id: String!
}
```
### Fields
#### [Watcher.actionCounter
](#)[numeric!
](/docs/api/airdrops/graphql/envio/scalars/numeric.mdx)
#### [Watcher.campaignCounter
](#)[numeric!
](/docs/api/airdrops/graphql/envio/scalars/numeric.mdx)
#### [Watcher.chainId
](#)[numeric!
](/docs/api/airdrops/graphql/envio/scalars/numeric.mdx)
#### [Watcher.db_write_timestamp
](#)[timestamp
](/docs/api/airdrops/graphql/envio/scalars/timestamp.mdx)
#### [Watcher.id
](#)[String!
](/docs/api/airdrops/graphql/envio/scalars/string.mdx)
---
## Action_by_pk
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
fetch data from the table: "Action" using primary key columns
```graphql
Action_by_pk(
id: String!
): Action
```
### Arguments
#### [Action_by_pk.id
](#)[String!
](/docs/api/airdrops/graphql/envio/scalars/string.mdx)
### Type
#### [Action
](/docs/api/airdrops/graphql/envio/objects/action.mdx)
columns and relationships of "Action"
---
## Action (2)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
fetch data from the table: "Action"
```graphql
Action(
distinct_on: [Action_select_column!]
limit: Int
offset: Int
order_by: [Action_order_by!]
where: Action_bool_exp
): [Action!]!
```
### Arguments
#### [Action.distinct_on
](#)[[Action_select_column!]
](/docs/api/airdrops/graphql/envio/enums/action-select-column.mdx)
distinct select on columns
#### [Action.limit
](#)[Int
](/docs/api/airdrops/graphql/envio/scalars/int.mdx)
limit the number of rows returned
#### [Action.offset
](#)[Int
](/docs/api/airdrops/graphql/envio/scalars/int.mdx)
skip the first n rows. Use only with order_by
#### [Action.order_by
](#)[[Action_order_by!]
](/docs/api/airdrops/graphql/envio/inputs/action-order-by.mdx)
sort the rows by one or more columns
#### [Action.where
](#)[Action_bool_exp
](/docs/api/airdrops/graphql/envio/inputs/action-bool-exp.mdx)
filter the rows returned
### Type
#### [Action
](/docs/api/airdrops/graphql/envio/objects/action.mdx)
columns and relationships of "Action"
---
## Activity_by_pk
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
fetch data from the table: "Activity" using primary key columns
```graphql
Activity_by_pk(
id: String!
): Activity
```
### Arguments
#### [Activity_by_pk.id
](#)[String!
](/docs/api/airdrops/graphql/envio/scalars/string.mdx)
### Type
#### [Activity
](/docs/api/airdrops/graphql/envio/objects/activity.mdx)
columns and relationships of "Activity"
---
## Activity (2)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
fetch data from the table: "Activity"
```graphql
Activity(
distinct_on: [Activity_select_column!]
limit: Int
offset: Int
order_by: [Activity_order_by!]
where: Activity_bool_exp
): [Activity!]!
```
### Arguments
#### [Activity.distinct_on
](#)[[Activity_select_column!]
](/docs/api/airdrops/graphql/envio/enums/activity-select-column.mdx)
distinct select on columns
#### [Activity.limit
](#)[Int
](/docs/api/airdrops/graphql/envio/scalars/int.mdx)
limit the number of rows returned
#### [Activity.offset
](#)[Int
](/docs/api/airdrops/graphql/envio/scalars/int.mdx)
skip the first n rows. Use only with order_by
#### [Activity.order_by
](#)[[Activity_order_by!]
](/docs/api/airdrops/graphql/envio/inputs/activity-order-by.mdx)
sort the rows by one or more columns
#### [Activity.where
](#)[Activity_bool_exp
](/docs/api/airdrops/graphql/envio/inputs/activity-bool-exp.mdx)
filter the rows returned
### Type
#### [Activity
](/docs/api/airdrops/graphql/envio/objects/activity.mdx)
columns and relationships of "Activity"
---
## Asset_by_pk
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
fetch data from the table: "Asset" using primary key columns
```graphql
Asset_by_pk(
id: String!
): Asset
```
### Arguments
#### [Asset_by_pk.id
](#)[String!
](/docs/api/airdrops/graphql/envio/scalars/string.mdx)
### Type
#### [Asset
](/docs/api/airdrops/graphql/envio/objects/asset.mdx)
columns and relationships of "Asset"
---
## Asset (2)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
fetch data from the table: "Asset"
```graphql
Asset(
distinct_on: [Asset_select_column!]
limit: Int
offset: Int
order_by: [Asset_order_by!]
where: Asset_bool_exp
): [Asset!]!
```
### Arguments
#### [Asset.distinct_on
](#)[[Asset_select_column!]
](/docs/api/airdrops/graphql/envio/enums/asset-select-column.mdx)
distinct select on columns
#### [Asset.limit
](#)[Int
](/docs/api/airdrops/graphql/envio/scalars/int.mdx)
limit the number of rows returned
#### [Asset.offset
](#)[Int
](/docs/api/airdrops/graphql/envio/scalars/int.mdx)
skip the first n rows. Use only with order_by
#### [Asset.order_by
](#)[[Asset_order_by!]
](/docs/api/airdrops/graphql/envio/inputs/asset-order-by.mdx)
sort the rows by one or more columns
#### [Asset.where
](#)[Asset_bool_exp
](/docs/api/airdrops/graphql/envio/inputs/asset-bool-exp.mdx)
filter the rows returned
### Type
#### [Asset
](/docs/api/airdrops/graphql/envio/objects/asset.mdx)
columns and relationships of "Asset"
---
## Campaign_aggregate (2)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
fetch aggregated fields from the table: "Campaign"
```graphql
Campaign_aggregate(
distinct_on: [Campaign_select_column!]
limit: Int
offset: Int
order_by: [Campaign_order_by!]
where: Campaign_bool_exp
): Campaign_aggregate!
```
### Arguments
#### [Campaign_aggregate.distinct_on
](#)[[Campaign_select_column!]
](/docs/api/airdrops/graphql/envio/enums/campaign-select-column.mdx)
distinct select on columns
#### [Campaign_aggregate.limit
](#)[Int
](/docs/api/airdrops/graphql/envio/scalars/int.mdx)
limit the number of rows returned
#### [Campaign_aggregate.offset
](#)[Int
](/docs/api/airdrops/graphql/envio/scalars/int.mdx)
skip the first n rows. Use only with order_by
#### [Campaign_aggregate.order_by
](#)[[Campaign_order_by!]
](/docs/api/airdrops/graphql/envio/inputs/campaign-order-by.mdx)
sort the rows by one or more columns
#### [Campaign_aggregate.where
](#)[Campaign_bool_exp
](/docs/api/airdrops/graphql/envio/inputs/campaign-bool-exp.mdx)
filter the rows returned
### Type
#### [Campaign_aggregate
](/docs/api/airdrops/graphql/envio/objects/campaign-aggregate.mdx)
aggregated selection of "Campaign"
---
## Campaign_by_pk
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
fetch data from the table: "Campaign" using primary key columns
```graphql
Campaign_by_pk(
id: String!
): Campaign
```
### Arguments
#### [Campaign_by_pk.id
](#)[String!
](/docs/api/airdrops/graphql/envio/scalars/string.mdx)
### Type
#### [Campaign
](/docs/api/airdrops/graphql/envio/objects/campaign.mdx)
columns and relationships of "Campaign"
---
## Campaign (2)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
fetch data from the table: "Campaign"
```graphql
Campaign(
distinct_on: [Campaign_select_column!]
limit: Int
offset: Int
order_by: [Campaign_order_by!]
where: Campaign_bool_exp
): [Campaign!]!
```
### Arguments
#### [Campaign.distinct_on
](#)[[Campaign_select_column!]
](/docs/api/airdrops/graphql/envio/enums/campaign-select-column.mdx)
distinct select on columns
#### [Campaign.limit
](#)[Int
](/docs/api/airdrops/graphql/envio/scalars/int.mdx)
limit the number of rows returned
#### [Campaign.offset
](#)[Int
](/docs/api/airdrops/graphql/envio/scalars/int.mdx)
skip the first n rows. Use only with order_by
#### [Campaign.order_by
](#)[[Campaign_order_by!]
](/docs/api/airdrops/graphql/envio/inputs/campaign-order-by.mdx)
sort the rows by one or more columns
#### [Campaign.where
](#)[Campaign_bool_exp
](/docs/api/airdrops/graphql/envio/inputs/campaign-bool-exp.mdx)
filter the rows returned
### Type
#### [Campaign
](/docs/api/airdrops/graphql/envio/objects/campaign.mdx)
columns and relationships of "Campaign"
---
## chain_metadata_by_pk
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
fetch data from the table: "chain_metadata" using primary key columns
```graphql
chain_metadata_by_pk(
chain_id: Int!
): chain_metadata
```
### Arguments
#### [chain_metadata_by_pk.chain_id
](#)[Int!
](/docs/api/airdrops/graphql/envio/scalars/int.mdx)
### Type
#### [chain_metadata
](/docs/api/airdrops/graphql/envio/objects/chain-metadata.mdx)
columns and relationships of "chain_metadata"
---
## chain_metadata (2)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
fetch data from the table: "chain_metadata"
```graphql
chain_metadata(
distinct_on: [chain_metadata_select_column!]
limit: Int
offset: Int
order_by: [chain_metadata_order_by!]
where: chain_metadata_bool_exp
): [chain_metadata!]!
```
### Arguments
#### [chain_metadata.distinct_on
](#)[[chain_metadata_select_column!]
](/docs/api/airdrops/graphql/envio/enums/chain-metadata-select-column.mdx)
distinct select on columns
#### [chain_metadata.limit
](#)[Int
](/docs/api/airdrops/graphql/envio/scalars/int.mdx)
limit the number of rows returned
#### [chain_metadata.offset
](#)[Int
](/docs/api/airdrops/graphql/envio/scalars/int.mdx)
skip the first n rows. Use only with order_by
#### [chain_metadata.order_by
](#)[[chain_metadata_order_by!]
](/docs/api/airdrops/graphql/envio/inputs/chain-metadata-order-by.mdx)
sort the rows by one or more columns
#### [chain_metadata.where
](#)[chain_metadata_bool_exp
](/docs/api/airdrops/graphql/envio/inputs/chain-metadata-bool-exp.mdx)
filter the rows returned
### Type
#### [chain_metadata
](/docs/api/airdrops/graphql/envio/objects/chain-metadata.mdx)
columns and relationships of "chain_metadata"
---
## dynamic_contract_registry_by_pk
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
fetch data from the table: "dynamic_contract_registry" using primary key columns
```graphql
dynamic_contract_registry_by_pk(
id: String!
): dynamic_contract_registry
```
### Arguments
#### [dynamic_contract_registry_by_pk.id
](#)[String!
](/docs/api/airdrops/graphql/envio/scalars/string.mdx)
### Type
#### [dynamic_contract_registry
](/docs/api/airdrops/graphql/envio/objects/dynamic-contract-registry.mdx)
columns and relationships of "dynamic_contract_registry"
---
## dynamic_contract_registry (2)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
fetch data from the table: "dynamic_contract_registry"
```graphql
dynamic_contract_registry(
distinct_on: [dynamic_contract_registry_select_column!]
limit: Int
offset: Int
order_by: [dynamic_contract_registry_order_by!]
where: dynamic_contract_registry_bool_exp
): [dynamic_contract_registry!]!
```
### Arguments
#### [dynamic_contract_registry.distinct_on
](#)[[dynamic_contract_registry_select_column!]
](/docs/api/airdrops/graphql/envio/enums/dynamic-contract-registry-select-column.mdx)
distinct select on columns
#### [dynamic_contract_registry.limit
](#)[Int
](/docs/api/airdrops/graphql/envio/scalars/int.mdx)
limit the number of rows returned
#### [dynamic_contract_registry.offset
](#)[Int
](/docs/api/airdrops/graphql/envio/scalars/int.mdx)
skip the first n rows. Use only with order_by
#### [dynamic_contract_registry.order_by
](#)[[dynamic_contract_registry_order_by!]
](/docs/api/airdrops/graphql/envio/inputs/dynamic-contract-registry-order-by.mdx)
sort the rows by one or more columns
#### [dynamic_contract_registry.where
](#)[dynamic_contract_registry_bool_exp
](/docs/api/airdrops/graphql/envio/inputs/dynamic-contract-registry-bool-exp.mdx)
filter the rows returned
### Type
#### [dynamic_contract_registry
](/docs/api/airdrops/graphql/envio/objects/dynamic-contract-registry.mdx)
columns and relationships of "dynamic_contract_registry"
---
## end_of_block_range_scanned_data_by_pk
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
fetch data from the table: "end_of_block_range_scanned_data" using primary key columns
```graphql
end_of_block_range_scanned_data_by_pk(
block_number: Int!
chain_id: Int!
): end_of_block_range_scanned_data
```
### Arguments
#### [end_of_block_range_scanned_data_by_pk.block_number
](#)[Int!
](/docs/api/airdrops/graphql/envio/scalars/int.mdx)
#### [end_of_block_range_scanned_data_by_pk.chain_id
](#)[Int!
](/docs/api/airdrops/graphql/envio/scalars/int.mdx)
### Type
#### [end_of_block_range_scanned_data
](/docs/api/airdrops/graphql/envio/objects/end-of-block-range-scanned-data.mdx)
columns and relationships of "end_of_block_range_scanned_data"
---
## end_of_block_range_scanned_data (2)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
fetch data from the table: "end_of_block_range_scanned_data"
```graphql
end_of_block_range_scanned_data(
distinct_on: [end_of_block_range_scanned_data_select_column!]
limit: Int
offset: Int
order_by: [end_of_block_range_scanned_data_order_by!]
where: end_of_block_range_scanned_data_bool_exp
): [end_of_block_range_scanned_data!]!
```
### Arguments
#### [end_of_block_range_scanned_data.distinct_on
](#)[[end_of_block_range_scanned_data_select_column!]
](/docs/api/airdrops/graphql/envio/enums/end-of-block-range-scanned-data-select-column.mdx)
distinct select on columns
#### [end_of_block_range_scanned_data.limit
](#)[Int
](/docs/api/airdrops/graphql/envio/scalars/int.mdx)
limit the number of rows returned
#### [end_of_block_range_scanned_data.offset
](#)[Int
](/docs/api/airdrops/graphql/envio/scalars/int.mdx)
skip the first n rows. Use only with order_by
#### [end_of_block_range_scanned_data.order_by
](#)[[end_of_block_range_scanned_data_order_by!]
](/docs/api/airdrops/graphql/envio/inputs/end-of-block-range-scanned-data-order-by.mdx)
sort the rows by one or more columns
#### [end_of_block_range_scanned_data.where
](#)[end_of_block_range_scanned_data_bool_exp
](/docs/api/airdrops/graphql/envio/inputs/end-of-block-range-scanned-data-bool-exp.mdx)
filter the rows returned
### Type
#### [end_of_block_range_scanned_data
](/docs/api/airdrops/graphql/envio/objects/end-of-block-range-scanned-data.mdx)
columns and relationships of "end_of_block_range_scanned_data"
---
## event_sync_state_by_pk
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
fetch data from the table: "event_sync_state" using primary key columns
```graphql
event_sync_state_by_pk(
chain_id: Int!
): event_sync_state
```
### Arguments
#### [event_sync_state_by_pk.chain_id
](#)[Int!
](/docs/api/airdrops/graphql/envio/scalars/int.mdx)
### Type
#### [event_sync_state
](/docs/api/airdrops/graphql/envio/objects/event-sync-state.mdx)
columns and relationships of "event_sync_state"
---
## event_sync_state (2)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
fetch data from the table: "event_sync_state"
```graphql
event_sync_state(
distinct_on: [event_sync_state_select_column!]
limit: Int
offset: Int
order_by: [event_sync_state_order_by!]
where: event_sync_state_bool_exp
): [event_sync_state!]!
```
### Arguments
#### [event_sync_state.distinct_on
](#)[[event_sync_state_select_column!]
](/docs/api/airdrops/graphql/envio/enums/event-sync-state-select-column.mdx)
distinct select on columns
#### [event_sync_state.limit
](#)[Int
](/docs/api/airdrops/graphql/envio/scalars/int.mdx)
limit the number of rows returned
#### [event_sync_state.offset
](#)[Int
](/docs/api/airdrops/graphql/envio/scalars/int.mdx)
skip the first n rows. Use only with order_by
#### [event_sync_state.order_by
](#)[[event_sync_state_order_by!]
](/docs/api/airdrops/graphql/envio/inputs/event-sync-state-order-by.mdx)
sort the rows by one or more columns
#### [event_sync_state.where
](#)[event_sync_state_bool_exp
](/docs/api/airdrops/graphql/envio/inputs/event-sync-state-bool-exp.mdx)
filter the rows returned
### Type
#### [event_sync_state
](/docs/api/airdrops/graphql/envio/objects/event-sync-state.mdx)
columns and relationships of "event_sync_state"
---
## Factory_by_pk
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
fetch data from the table: "Factory" using primary key columns
```graphql
Factory_by_pk(
id: String!
): Factory
```
### Arguments
#### [Factory_by_pk.id
](#)[String!
](/docs/api/airdrops/graphql/envio/scalars/string.mdx)
### Type
#### [Factory
](/docs/api/airdrops/graphql/envio/objects/factory.mdx)
columns and relationships of "Factory"
---
## Factory (2)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
fetch data from the table: "Factory"
```graphql
Factory(
distinct_on: [Factory_select_column!]
limit: Int
offset: Int
order_by: [Factory_order_by!]
where: Factory_bool_exp
): [Factory!]!
```
### Arguments
#### [Factory.distinct_on
](#)[[Factory_select_column!]
](/docs/api/airdrops/graphql/envio/enums/factory-select-column.mdx)
distinct select on columns
#### [Factory.limit
](#)[Int
](/docs/api/airdrops/graphql/envio/scalars/int.mdx)
limit the number of rows returned
#### [Factory.offset
](#)[Int
](/docs/api/airdrops/graphql/envio/scalars/int.mdx)
skip the first n rows. Use only with order_by
#### [Factory.order_by
](#)[[Factory_order_by!]
](/docs/api/airdrops/graphql/envio/inputs/factory-order-by.mdx)
sort the rows by one or more columns
#### [Factory.where
](#)[Factory_bool_exp
](/docs/api/airdrops/graphql/envio/inputs/factory-bool-exp.mdx)
filter the rows returned
### Type
#### [Factory
](/docs/api/airdrops/graphql/envio/objects/factory.mdx)
columns and relationships of "Factory"
---
## persisted_state_by_pk
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
fetch data from the table: "persisted_state" using primary key columns
```graphql
persisted_state_by_pk(
id: Int!
): persisted_state
```
### Arguments
#### [persisted_state_by_pk.id
](#)[Int!
](/docs/api/airdrops/graphql/envio/scalars/int.mdx)
### Type
#### [persisted_state
](/docs/api/airdrops/graphql/envio/objects/persisted-state.mdx)
columns and relationships of "persisted_state"
---
## persisted_state (2)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
fetch data from the table: "persisted_state"
```graphql
persisted_state(
distinct_on: [persisted_state_select_column!]
limit: Int
offset: Int
order_by: [persisted_state_order_by!]
where: persisted_state_bool_exp
): [persisted_state!]!
```
### Arguments
#### [persisted_state.distinct_on
](#)[[persisted_state_select_column!]
](/docs/api/airdrops/graphql/envio/enums/persisted-state-select-column.mdx)
distinct select on columns
#### [persisted_state.limit
](#)[Int
](/docs/api/airdrops/graphql/envio/scalars/int.mdx)
limit the number of rows returned
#### [persisted_state.offset
](#)[Int
](/docs/api/airdrops/graphql/envio/scalars/int.mdx)
skip the first n rows. Use only with order_by
#### [persisted_state.order_by
](#)[[persisted_state_order_by!]
](/docs/api/airdrops/graphql/envio/inputs/persisted-state-order-by.mdx)
sort the rows by one or more columns
#### [persisted_state.where
](#)[persisted_state_bool_exp
](/docs/api/airdrops/graphql/envio/inputs/persisted-state-bool-exp.mdx)
filter the rows returned
### Type
#### [persisted_state
](/docs/api/airdrops/graphql/envio/objects/persisted-state.mdx)
columns and relationships of "persisted_state"
---
## raw_events_by_pk
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
fetch data from the table: "raw_events" using primary key columns
```graphql
raw_events_by_pk(
serial: Int!
): raw_events
```
### Arguments
#### [raw_events_by_pk.serial
](#)[Int!
](/docs/api/airdrops/graphql/envio/scalars/int.mdx)
### Type
#### [raw_events
](/docs/api/airdrops/graphql/envio/objects/raw-events.mdx)
columns and relationships of "raw_events"
---
## raw_events (2)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
fetch data from the table: "raw_events"
```graphql
raw_events(
distinct_on: [raw_events_select_column!]
limit: Int
offset: Int
order_by: [raw_events_order_by!]
where: raw_events_bool_exp
): [raw_events!]!
```
### Arguments
#### [raw_events.distinct_on
](#)[[raw_events_select_column!]
](/docs/api/airdrops/graphql/envio/enums/raw-events-select-column.mdx)
distinct select on columns
#### [raw_events.limit
](#)[Int
](/docs/api/airdrops/graphql/envio/scalars/int.mdx)
limit the number of rows returned
#### [raw_events.offset
](#)[Int
](/docs/api/airdrops/graphql/envio/scalars/int.mdx)
skip the first n rows. Use only with order_by
#### [raw_events.order_by
](#)[[raw_events_order_by!]
](/docs/api/airdrops/graphql/envio/inputs/raw-events-order-by.mdx)
sort the rows by one or more columns
#### [raw_events.where
](#)[raw_events_bool_exp
](/docs/api/airdrops/graphql/envio/inputs/raw-events-bool-exp.mdx)
filter the rows returned
### Type
#### [raw_events
](/docs/api/airdrops/graphql/envio/objects/raw-events.mdx)
columns and relationships of "raw_events"
---
## Revenue_aggregate (2)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
fetch aggregated fields from the table: "Revenue"
```graphql
Revenue_aggregate(
distinct_on: [Revenue_select_column!]
limit: Int
offset: Int
order_by: [Revenue_order_by!]
where: Revenue_bool_exp
): Revenue_aggregate!
```
### Arguments
#### [Revenue_aggregate.distinct_on
](#)[[Revenue_select_column!]
](/docs/api/airdrops/graphql/envio/enums/revenue-select-column.mdx)
distinct select on columns
#### [Revenue_aggregate.limit
](#)[Int
](/docs/api/airdrops/graphql/envio/scalars/int.mdx)
limit the number of rows returned
#### [Revenue_aggregate.offset
](#)[Int
](/docs/api/airdrops/graphql/envio/scalars/int.mdx)
skip the first n rows. Use only with order_by
#### [Revenue_aggregate.order_by
](#)[[Revenue_order_by!]
](/docs/api/airdrops/graphql/envio/inputs/revenue-order-by.mdx)
sort the rows by one or more columns
#### [Revenue_aggregate.where
](#)[Revenue_bool_exp
](/docs/api/airdrops/graphql/envio/inputs/revenue-bool-exp.mdx)
filter the rows returned
### Type
#### [Revenue_aggregate
](/docs/api/airdrops/graphql/envio/objects/revenue-aggregate.mdx)
aggregated selection of "Revenue"
---
## Revenue_by_pk
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
fetch data from the table: "Revenue" using primary key columns
```graphql
Revenue_by_pk(
id: String!
): Revenue
```
### Arguments
#### [Revenue_by_pk.id
](#)[String!
](/docs/api/airdrops/graphql/envio/scalars/string.mdx)
### Type
#### [Revenue
](/docs/api/airdrops/graphql/envio/objects/revenue.mdx)
columns and relationships of "Revenue"
---
## RevenueTransaction_aggregate (2)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
fetch aggregated fields from the table: "RevenueTransaction"
```graphql
RevenueTransaction_aggregate(
distinct_on: [RevenueTransaction_select_column!]
limit: Int
offset: Int
order_by: [RevenueTransaction_order_by!]
where: RevenueTransaction_bool_exp
): RevenueTransaction_aggregate!
```
### Arguments
#### [RevenueTransaction_aggregate.distinct_on
](#)[[RevenueTransaction_select_column!]
](/docs/api/airdrops/graphql/envio/enums/revenue-transaction-select-column.mdx)
distinct select on columns
#### [RevenueTransaction_aggregate.limit
](#)[Int
](/docs/api/airdrops/graphql/envio/scalars/int.mdx)
limit the number of rows returned
#### [RevenueTransaction_aggregate.offset
](#)[Int
](/docs/api/airdrops/graphql/envio/scalars/int.mdx)
skip the first n rows. Use only with order_by
#### [RevenueTransaction_aggregate.order_by
](#)[[RevenueTransaction_order_by!]
](/docs/api/airdrops/graphql/envio/inputs/revenue-transaction-order-by.mdx)
sort the rows by one or more columns
#### [RevenueTransaction_aggregate.where
](#)[RevenueTransaction_bool_exp
](/docs/api/airdrops/graphql/envio/inputs/revenue-transaction-bool-exp.mdx)
filter the rows returned
### Type
#### [RevenueTransaction_aggregate
](/docs/api/airdrops/graphql/envio/objects/revenue-transaction-aggregate.mdx)
aggregated selection of "RevenueTransaction"
---
## RevenueTransaction_by_pk
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
fetch data from the table: "RevenueTransaction" using primary key columns
```graphql
RevenueTransaction_by_pk(
id: String!
): RevenueTransaction
```
### Arguments
#### [RevenueTransaction_by_pk.id
](#)[String!
](/docs/api/airdrops/graphql/envio/scalars/string.mdx)
### Type
#### [RevenueTransaction
](/docs/api/airdrops/graphql/envio/objects/revenue-transaction.mdx)
columns and relationships of "RevenueTransaction"
---
## RevenueTransaction (2)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
fetch data from the table: "RevenueTransaction"
```graphql
RevenueTransaction(
distinct_on: [RevenueTransaction_select_column!]
limit: Int
offset: Int
order_by: [RevenueTransaction_order_by!]
where: RevenueTransaction_bool_exp
): [RevenueTransaction!]!
```
### Arguments
#### [RevenueTransaction.distinct_on
](#)[[RevenueTransaction_select_column!]
](/docs/api/airdrops/graphql/envio/enums/revenue-transaction-select-column.mdx)
distinct select on columns
#### [RevenueTransaction.limit
](#)[Int
](/docs/api/airdrops/graphql/envio/scalars/int.mdx)
limit the number of rows returned
#### [RevenueTransaction.offset
](#)[Int
](/docs/api/airdrops/graphql/envio/scalars/int.mdx)
skip the first n rows. Use only with order_by
#### [RevenueTransaction.order_by
](#)[[RevenueTransaction_order_by!]
](/docs/api/airdrops/graphql/envio/inputs/revenue-transaction-order-by.mdx)
sort the rows by one or more columns
#### [RevenueTransaction.where
](#)[RevenueTransaction_bool_exp
](/docs/api/airdrops/graphql/envio/inputs/revenue-transaction-bool-exp.mdx)
filter the rows returned
### Type
#### [RevenueTransaction
](/docs/api/airdrops/graphql/envio/objects/revenue-transaction.mdx)
columns and relationships of "RevenueTransaction"
---
## Revenue (2)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
fetch data from the table: "Revenue"
```graphql
Revenue(
distinct_on: [Revenue_select_column!]
limit: Int
offset: Int
order_by: [Revenue_order_by!]
where: Revenue_bool_exp
): [Revenue!]!
```
### Arguments
#### [Revenue.distinct_on
](#)[[Revenue_select_column!]
](/docs/api/airdrops/graphql/envio/enums/revenue-select-column.mdx)
distinct select on columns
#### [Revenue.limit
](#)[Int
](/docs/api/airdrops/graphql/envio/scalars/int.mdx)
limit the number of rows returned
#### [Revenue.offset
](#)[Int
](/docs/api/airdrops/graphql/envio/scalars/int.mdx)
skip the first n rows. Use only with order_by
#### [Revenue.order_by
](#)[[Revenue_order_by!]
](/docs/api/airdrops/graphql/envio/inputs/revenue-order-by.mdx)
sort the rows by one or more columns
#### [Revenue.where
](#)[Revenue_bool_exp
](/docs/api/airdrops/graphql/envio/inputs/revenue-bool-exp.mdx)
filter the rows returned
### Type
#### [Revenue
](/docs/api/airdrops/graphql/envio/objects/revenue.mdx)
columns and relationships of "Revenue"
---
## Tranche_by_pk
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
fetch data from the table: "Tranche" using primary key columns
```graphql
Tranche_by_pk(
id: String!
): Tranche
```
### Arguments
#### [Tranche_by_pk.id
](#)[String!
](/docs/api/airdrops/graphql/envio/scalars/string.mdx)
### Type
#### [Tranche
](/docs/api/airdrops/graphql/envio/objects/tranche.mdx)
columns and relationships of "Tranche"
---
## Tranche (2)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
fetch data from the table: "Tranche"
```graphql
Tranche(
distinct_on: [Tranche_select_column!]
limit: Int
offset: Int
order_by: [Tranche_order_by!]
where: Tranche_bool_exp
): [Tranche!]!
```
### Arguments
#### [Tranche.distinct_on
](#)[[Tranche_select_column!]
](/docs/api/airdrops/graphql/envio/enums/tranche-select-column.mdx)
distinct select on columns
#### [Tranche.limit
](#)[Int
](/docs/api/airdrops/graphql/envio/scalars/int.mdx)
limit the number of rows returned
#### [Tranche.offset
](#)[Int
](/docs/api/airdrops/graphql/envio/scalars/int.mdx)
skip the first n rows. Use only with order_by
#### [Tranche.order_by
](#)[[Tranche_order_by!]
](/docs/api/airdrops/graphql/envio/inputs/tranche-order-by.mdx)
sort the rows by one or more columns
#### [Tranche.where
](#)[Tranche_bool_exp
](/docs/api/airdrops/graphql/envio/inputs/tranche-bool-exp.mdx)
filter the rows returned
### Type
#### [Tranche
](/docs/api/airdrops/graphql/envio/objects/tranche.mdx)
columns and relationships of "Tranche"
---
## User_aggregate (2)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
fetch aggregated fields from the table: "User"
```graphql
User_aggregate(
distinct_on: [User_select_column!]
limit: Int
offset: Int
order_by: [User_order_by!]
where: User_bool_exp
): User_aggregate!
```
### Arguments
#### [User_aggregate.distinct_on
](#)[[User_select_column!]
](/docs/api/airdrops/graphql/envio/enums/user-select-column.mdx)
distinct select on columns
#### [User_aggregate.limit
](#)[Int
](/docs/api/airdrops/graphql/envio/scalars/int.mdx)
limit the number of rows returned
#### [User_aggregate.offset
](#)[Int
](/docs/api/airdrops/graphql/envio/scalars/int.mdx)
skip the first n rows. Use only with order_by
#### [User_aggregate.order_by
](#)[[User_order_by!]
](/docs/api/airdrops/graphql/envio/inputs/user-order-by.mdx)
sort the rows by one or more columns
#### [User_aggregate.where
](#)[User_bool_exp
](/docs/api/airdrops/graphql/envio/inputs/user-bool-exp.mdx)
filter the rows returned
### Type
#### [User_aggregate
](/docs/api/airdrops/graphql/envio/objects/user-aggregate.mdx)
aggregated selection of "User"
---
## User_by_pk
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
fetch data from the table: "User" using primary key columns
```graphql
User_by_pk(
id: String!
): User
```
### Arguments
#### [User_by_pk.id
](#)[String!
](/docs/api/airdrops/graphql/envio/scalars/string.mdx)
### Type
#### [User
](/docs/api/airdrops/graphql/envio/objects/user.mdx)
columns and relationships of "User"
---
## UserTransaction_aggregate (2)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
fetch aggregated fields from the table: "UserTransaction"
```graphql
UserTransaction_aggregate(
distinct_on: [UserTransaction_select_column!]
limit: Int
offset: Int
order_by: [UserTransaction_order_by!]
where: UserTransaction_bool_exp
): UserTransaction_aggregate!
```
### Arguments
#### [UserTransaction_aggregate.distinct_on
](#)[[UserTransaction_select_column!]
](/docs/api/airdrops/graphql/envio/enums/user-transaction-select-column.mdx)
distinct select on columns
#### [UserTransaction_aggregate.limit
](#)[Int
](/docs/api/airdrops/graphql/envio/scalars/int.mdx)
limit the number of rows returned
#### [UserTransaction_aggregate.offset
](#)[Int
](/docs/api/airdrops/graphql/envio/scalars/int.mdx)
skip the first n rows. Use only with order_by
#### [UserTransaction_aggregate.order_by
](#)[[UserTransaction_order_by!]
](/docs/api/airdrops/graphql/envio/inputs/user-transaction-order-by.mdx)
sort the rows by one or more columns
#### [UserTransaction_aggregate.where
](#)[UserTransaction_bool_exp
](/docs/api/airdrops/graphql/envio/inputs/user-transaction-bool-exp.mdx)
filter the rows returned
### Type
#### [UserTransaction_aggregate
](/docs/api/airdrops/graphql/envio/objects/user-transaction-aggregate.mdx)
aggregated selection of "UserTransaction"
---
## UserTransaction_by_pk
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
fetch data from the table: "UserTransaction" using primary key columns
```graphql
UserTransaction_by_pk(
id: String!
): UserTransaction
```
### Arguments
#### [UserTransaction_by_pk.id
](#)[String!
](/docs/api/airdrops/graphql/envio/scalars/string.mdx)
### Type
#### [UserTransaction
](/docs/api/airdrops/graphql/envio/objects/user-transaction.mdx)
columns and relationships of "UserTransaction"
---
## UserTransaction (2)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
fetch data from the table: "UserTransaction"
```graphql
UserTransaction(
distinct_on: [UserTransaction_select_column!]
limit: Int
offset: Int
order_by: [UserTransaction_order_by!]
where: UserTransaction_bool_exp
): [UserTransaction!]!
```
### Arguments
#### [UserTransaction.distinct_on
](#)[[UserTransaction_select_column!]
](/docs/api/airdrops/graphql/envio/enums/user-transaction-select-column.mdx)
distinct select on columns
#### [UserTransaction.limit
](#)[Int
](/docs/api/airdrops/graphql/envio/scalars/int.mdx)
limit the number of rows returned
#### [UserTransaction.offset
](#)[Int
](/docs/api/airdrops/graphql/envio/scalars/int.mdx)
skip the first n rows. Use only with order_by
#### [UserTransaction.order_by
](#)[[UserTransaction_order_by!]
](/docs/api/airdrops/graphql/envio/inputs/user-transaction-order-by.mdx)
sort the rows by one or more columns
#### [UserTransaction.where
](#)[UserTransaction_bool_exp
](/docs/api/airdrops/graphql/envio/inputs/user-transaction-bool-exp.mdx)
filter the rows returned
### Type
#### [UserTransaction
](/docs/api/airdrops/graphql/envio/objects/user-transaction.mdx)
columns and relationships of "UserTransaction"
---
## User (2)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
fetch data from the table: "User"
```graphql
User(
distinct_on: [User_select_column!]
limit: Int
offset: Int
order_by: [User_order_by!]
where: User_bool_exp
): [User!]!
```
### Arguments
#### [User.distinct_on
](#)[[User_select_column!]
](/docs/api/airdrops/graphql/envio/enums/user-select-column.mdx)
distinct select on columns
#### [User.limit
](#)[Int
](/docs/api/airdrops/graphql/envio/scalars/int.mdx)
limit the number of rows returned
#### [User.offset
](#)[Int
](/docs/api/airdrops/graphql/envio/scalars/int.mdx)
skip the first n rows. Use only with order_by
#### [User.order_by
](#)[[User_order_by!]
](/docs/api/airdrops/graphql/envio/inputs/user-order-by.mdx)
sort the rows by one or more columns
#### [User.where
](#)[User_bool_exp
](/docs/api/airdrops/graphql/envio/inputs/user-bool-exp.mdx)
filter the rows returned
### Type
#### [User
](/docs/api/airdrops/graphql/envio/objects/user.mdx)
columns and relationships of "User"
---
## Watcher_by_pk
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
fetch data from the table: "Watcher" using primary key columns
```graphql
Watcher_by_pk(
id: String!
): Watcher
```
### Arguments
#### [Watcher_by_pk.id
](#)[String!
](/docs/api/airdrops/graphql/envio/scalars/string.mdx)
### Type
#### [Watcher
](/docs/api/airdrops/graphql/envio/objects/watcher.mdx)
columns and relationships of "Watcher"
---
## Watcher (2)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
fetch data from the table: "Watcher"
```graphql
Watcher(
distinct_on: [Watcher_select_column!]
limit: Int
offset: Int
order_by: [Watcher_order_by!]
where: Watcher_bool_exp
): [Watcher!]!
```
### Arguments
#### [Watcher.distinct_on
](#)[[Watcher_select_column!]
](/docs/api/airdrops/graphql/envio/enums/watcher-select-column.mdx)
distinct select on columns
#### [Watcher.limit
](#)[Int
](/docs/api/airdrops/graphql/envio/scalars/int.mdx)
limit the number of rows returned
#### [Watcher.offset
](#)[Int
](/docs/api/airdrops/graphql/envio/scalars/int.mdx)
skip the first n rows. Use only with order_by
#### [Watcher.order_by
](#)[[Watcher_order_by!]
](/docs/api/airdrops/graphql/envio/inputs/watcher-order-by.mdx)
sort the rows by one or more columns
#### [Watcher.where
](#)[Watcher_bool_exp
](/docs/api/airdrops/graphql/envio/inputs/watcher-bool-exp.mdx)
filter the rows returned
### Type
#### [Watcher
](/docs/api/airdrops/graphql/envio/objects/watcher.mdx)
columns and relationships of "Watcher"
---
## actioncategory
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
No description
```graphql
scalar actioncategory
```
---
## Boolean
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
The `Boolean` scalar type represents `true` or `false`.
```graphql
scalar Boolean
```
---
## campaigncategory
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
No description
```graphql
scalar campaigncategory
```
---
## contract_type
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
No description
```graphql
scalar contract_type
```
---
## float8
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
No description
```graphql
scalar float8
```
---
## Float
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
The `Float` scalar type represents signed double-precision fractional values as specified by [IEEE 754](https://en.wikipedia.org/wiki/IEEE_floating_point).
```graphql
scalar Float
```
---
## Int
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
The `Int` scalar type represents non-fractional signed whole numeric values. Int can represent values between -(2^31) and 2^31 - 1.
```graphql
scalar Int
```
---
## jsonb
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
No description
```graphql
scalar jsonb
```
---
## numeric
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
No description
```graphql
scalar numeric
```
---
## String
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
The `String` scalar type represents textual data, represented as UTF-8 character sequences. The String type is most often used by GraphQL to represent free-form human-readable text.
```graphql
scalar String
```
---
## timestamp
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
No description
```graphql
scalar timestamp
```
---
## timestamptz
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
No description
```graphql
scalar timestamptz
```
---
## ActionCategory (2)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
No description
```graphql
enum ActionCategory {
Claim
Clawback
Create
TransferAdmin
}
```
### Values
#### [ActionCategory.Claim
](#)
#### [ActionCategory.Clawback
](#)
#### [ActionCategory.Create
](#)
#### [ActionCategory.TransferAdmin
](#)
---
## Action_orderBy
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
No description
```graphql
enum Action_orderBy {
id
subgraphId
block
chainId
from
hash
timestamp
campaign
campaign__id
campaign__chainId
campaign__subgraphId
campaign__hash
campaign__timestamp
campaign__category
campaign__name
campaign__nickname
campaign__address
campaign__admin
campaign__aggregateAmount
campaign__claimedAmount
campaign__claimedCount
campaign__clawbackTime
campaign__expiration
campaign__expires
campaign__fee
campaign__ipfsCID
campaign__position
campaign__root
campaign__totalRecipients
campaign__version
campaign__lockup
campaign__streamCancelable
campaign__streamCliff
campaign__streamCliffDuration
campaign__streamCliffPercentage
campaign__streamInitial
campaign__streamInitialPercentage
campaign__streamShape
campaign__streamStart
campaign__streamStartTime
campaign__streamTotalDuration
campaign__streamTransferable
category
fee
claimAmount
claimIndex
claimRecipient
claimStreamId
claimTokenId
clawbackAmount
clawbackFrom
clawbackTo
}
```
### Values
#### [Action_orderBy.id
](#)
#### [Action_orderBy.subgraphId
](#)
#### [Action_orderBy.block
](#)
#### [Action_orderBy.chainId
](#)
#### [Action_orderBy.from
](#)
#### [Action_orderBy.hash
](#)
#### [Action_orderBy.timestamp
](#)
#### [Action_orderBy.campaign
](#)
#### [Action_orderBy.campaign\_\_id
](#)
#### [Action_orderBy.campaign\_\_chainId
](#)
#### [Action_orderBy.campaign\_\_subgraphId
](#)
#### [Action_orderBy.campaign\_\_hash
](#)
#### [Action_orderBy.campaign\_\_timestamp
](#)
#### [Action_orderBy.campaign\_\_category
](#)
#### [Action_orderBy.campaign\_\_name
](#)
#### [Action_orderBy.campaign\_\_nickname
](#)
#### [Action_orderBy.campaign\_\_address
](#)
#### [Action_orderBy.campaign\_\_admin
](#)
#### [Action_orderBy.campaign\_\_aggregateAmount
](#)
#### [Action_orderBy.campaign\_\_claimedAmount
](#)
#### [Action_orderBy.campaign\_\_claimedCount
](#)
#### [Action_orderBy.campaign\_\_clawbackTime
](#)
#### [Action_orderBy.campaign\_\_expiration
](#)
#### [Action_orderBy.campaign\_\_expires
](#)
#### [Action_orderBy.campaign\_\_fee
](#)
#### [Action_orderBy.campaign\_\_ipfsCID
](#)
#### [Action_orderBy.campaign\_\_position
](#)
#### [Action_orderBy.campaign\_\_root
](#)
#### [Action_orderBy.campaign\_\_totalRecipients
](#)
#### [Action_orderBy.campaign\_\_version
](#)
#### [Action_orderBy.campaign\_\_lockup
](#)
#### [Action_orderBy.campaign\_\_streamCancelable
](#)
#### [Action_orderBy.campaign\_\_streamCliff
](#)
#### [Action_orderBy.campaign\_\_streamCliffDuration
](#)
#### [Action_orderBy.campaign\_\_streamCliffPercentage
](#)
#### [Action_orderBy.campaign\_\_streamInitial
](#)
#### [Action_orderBy.campaign\_\_streamInitialPercentage
](#)
#### [Action_orderBy.campaign\_\_streamShape
](#)
#### [Action_orderBy.campaign\_\_streamStart
](#)
#### [Action_orderBy.campaign\_\_streamStartTime
](#)
#### [Action_orderBy.campaign\_\_streamTotalDuration
](#)
#### [Action_orderBy.campaign\_\_streamTransferable
](#)
#### [Action_orderBy.category
](#)
#### [Action_orderBy.fee
](#)
#### [Action_orderBy.claimAmount
](#)
#### [Action_orderBy.claimIndex
](#)
#### [Action_orderBy.claimRecipient
](#)
#### [Action_orderBy.claimStreamId
](#)
#### [Action_orderBy.claimTokenId
](#)
#### [Action_orderBy.clawbackAmount
](#)
#### [Action_orderBy.clawbackFrom
](#)
#### [Action_orderBy.clawbackTo
](#)
---
## Activity_orderBy
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
No description
```graphql
enum Activity_orderBy {
id
amount
campaign
campaign__id
campaign__chainId
campaign__subgraphId
campaign__hash
campaign__timestamp
campaign__category
campaign__name
campaign__nickname
campaign__address
campaign__admin
campaign__aggregateAmount
campaign__claimedAmount
campaign__claimedCount
campaign__clawbackTime
campaign__expiration
campaign__expires
campaign__fee
campaign__ipfsCID
campaign__position
campaign__root
campaign__totalRecipients
campaign__version
campaign__lockup
campaign__streamCancelable
campaign__streamCliff
campaign__streamCliffDuration
campaign__streamCliffPercentage
campaign__streamInitial
campaign__streamInitialPercentage
campaign__streamShape
campaign__streamStart
campaign__streamStartTime
campaign__streamTotalDuration
campaign__streamTransferable
claims
day
timestamp
}
```
### Values
#### [Activity_orderBy.id
](#)
#### [Activity_orderBy.amount
](#)
#### [Activity_orderBy.campaign
](#)
#### [Activity_orderBy.campaign\_\_id
](#)
#### [Activity_orderBy.campaign\_\_chainId
](#)
#### [Activity_orderBy.campaign\_\_subgraphId
](#)
#### [Activity_orderBy.campaign\_\_hash
](#)
#### [Activity_orderBy.campaign\_\_timestamp
](#)
#### [Activity_orderBy.campaign\_\_category
](#)
#### [Activity_orderBy.campaign\_\_name
](#)
#### [Activity_orderBy.campaign\_\_nickname
](#)
#### [Activity_orderBy.campaign\_\_address
](#)
#### [Activity_orderBy.campaign\_\_admin
](#)
#### [Activity_orderBy.campaign\_\_aggregateAmount
](#)
#### [Activity_orderBy.campaign\_\_claimedAmount
](#)
#### [Activity_orderBy.campaign\_\_claimedCount
](#)
#### [Activity_orderBy.campaign\_\_clawbackTime
](#)
#### [Activity_orderBy.campaign\_\_expiration
](#)
#### [Activity_orderBy.campaign\_\_expires
](#)
#### [Activity_orderBy.campaign\_\_fee
](#)
#### [Activity_orderBy.campaign\_\_ipfsCID
](#)
#### [Activity_orderBy.campaign\_\_position
](#)
#### [Activity_orderBy.campaign\_\_root
](#)
#### [Activity_orderBy.campaign\_\_totalRecipients
](#)
#### [Activity_orderBy.campaign\_\_version
](#)
#### [Activity_orderBy.campaign\_\_lockup
](#)
#### [Activity_orderBy.campaign\_\_streamCancelable
](#)
#### [Activity_orderBy.campaign\_\_streamCliff
](#)
#### [Activity_orderBy.campaign\_\_streamCliffDuration
](#)
#### [Activity_orderBy.campaign\_\_streamCliffPercentage
](#)
#### [Activity_orderBy.campaign\_\_streamInitial
](#)
#### [Activity_orderBy.campaign\_\_streamInitialPercentage
](#)
#### [Activity_orderBy.campaign\_\_streamShape
](#)
#### [Activity_orderBy.campaign\_\_streamStart
](#)
#### [Activity_orderBy.campaign\_\_streamStartTime
](#)
#### [Activity_orderBy.campaign\_\_streamTotalDuration
](#)
#### [Activity_orderBy.campaign\_\_streamTransferable
](#)
#### [Activity_orderBy.claims
](#)
#### [Activity_orderBy.day
](#)
#### [Activity_orderBy.timestamp
](#)
---
## Aggregation_interval
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
No description
```graphql
enum Aggregation_interval {
hour
day
}
```
### Values
#### [Aggregation_interval.hour
](#)
#### [Aggregation_interval.day
](#)
---
## Asset_orderBy
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
No description
```graphql
enum Asset_orderBy {
id
address
chainId
decimals
name
symbol
campaigns
}
```
### Values
#### [Asset_orderBy.id
](#)
#### [Asset_orderBy.address
](#)
#### [Asset_orderBy.chainId
](#)
#### [Asset_orderBy.decimals
](#)
#### [Asset_orderBy.name
](#)
#### [Asset_orderBy.symbol
](#)
#### [Asset_orderBy.campaigns
](#)
---
## Batch_orderBy
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
No description
```graphql
enum Batch_orderBy {
id
hash
timestamp
batcher
batcher__id
batcher__batchCounter
position
size
streams
}
```
### Values
#### [Batch_orderBy.id
](#)
#### [Batch_orderBy.hash
](#)
#### [Batch_orderBy.timestamp
](#)
#### [Batch_orderBy.batcher
](#)
#### [Batch_orderBy.batcher\_\_id
](#)
#### [Batch_orderBy.batcher\_\_batchCounter
](#)
#### [Batch_orderBy.position
](#)
#### [Batch_orderBy.size
](#)
#### [Batch_orderBy.streams
](#)
---
## Batcher_orderBy
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
No description
```graphql
enum Batcher_orderBy {
id
batchCounter
batches
}
```
### Values
#### [Batcher_orderBy.id
](#)
#### [Batcher_orderBy.batchCounter
](#)
#### [Batcher_orderBy.batches
](#)
---
## CampaignCategory (2)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
No description
```graphql
enum CampaignCategory {
Instant
LockupLinear
LockupTranched
}
```
### Values
#### [CampaignCategory.Instant
](#)
#### [CampaignCategory.LockupLinear
](#)
#### [CampaignCategory.LockupTranched
](#)
---
## Campaign_orderBy
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
No description
```graphql
enum Campaign_orderBy {
id
chainId
subgraphId
hash
timestamp
actions
clawbackAction
clawbackAction__id
clawbackAction__subgraphId
clawbackAction__block
clawbackAction__chainId
clawbackAction__from
clawbackAction__hash
clawbackAction__timestamp
clawbackAction__category
clawbackAction__fee
clawbackAction__claimAmount
clawbackAction__claimIndex
clawbackAction__claimRecipient
clawbackAction__claimStreamId
clawbackAction__claimTokenId
clawbackAction__clawbackAmount
clawbackAction__clawbackFrom
clawbackAction__clawbackTo
category
name
nickname
activities
address
admin
aggregateAmount
asset
asset__id
asset__address
asset__chainId
asset__decimals
asset__name
asset__symbol
claimedAmount
claimedCount
clawbackTime
expiration
expires
factory
factory__id
factory__address
factory__alias
factory__campaignCounter
factory__chainId
fee
ipfsCID
position
root
totalRecipients
version
lockup
streamCancelable
streamCliff
streamCliffDuration
streamCliffPercentage
streamInitial
streamInitialPercentage
streamShape
streamStart
streamStartTime
streamTotalDuration
streamTranches
streamTransferable
}
```
### Values
#### [Campaign_orderBy.id
](#)
#### [Campaign_orderBy.chainId
](#)
#### [Campaign_orderBy.subgraphId
](#)
#### [Campaign_orderBy.hash
](#)
#### [Campaign_orderBy.timestamp
](#)
#### [Campaign_orderBy.actions
](#)
#### [Campaign_orderBy.clawbackAction
](#)
#### [Campaign_orderBy.clawbackAction\_\_id
](#)
#### [Campaign_orderBy.clawbackAction\_\_subgraphId
](#)
#### [Campaign_orderBy.clawbackAction\_\_block
](#)
#### [Campaign_orderBy.clawbackAction\_\_chainId
](#)
#### [Campaign_orderBy.clawbackAction\_\_from
](#)
#### [Campaign_orderBy.clawbackAction\_\_hash
](#)
#### [Campaign_orderBy.clawbackAction\_\_timestamp
](#)
#### [Campaign_orderBy.clawbackAction\_\_category
](#)
#### [Campaign_orderBy.clawbackAction\_\_fee
](#)
#### [Campaign_orderBy.clawbackAction\_\_claimAmount
](#)
#### [Campaign_orderBy.clawbackAction\_\_claimIndex
](#)
#### [Campaign_orderBy.clawbackAction\_\_claimRecipient
](#)
#### [Campaign_orderBy.clawbackAction\_\_claimStreamId
](#)
#### [Campaign_orderBy.clawbackAction\_\_claimTokenId
](#)
#### [Campaign_orderBy.clawbackAction\_\_clawbackAmount
](#)
#### [Campaign_orderBy.clawbackAction\_\_clawbackFrom
](#)
#### [Campaign_orderBy.clawbackAction\_\_clawbackTo
](#)
#### [Campaign_orderBy.category
](#)
#### [Campaign_orderBy.name
](#)
#### [Campaign_orderBy.nickname
](#)
#### [Campaign_orderBy.activities
](#)
#### [Campaign_orderBy.address
](#)
#### [Campaign_orderBy.admin
](#)
#### [Campaign_orderBy.aggregateAmount
](#)
#### [Campaign_orderBy.asset
](#)
#### [Campaign_orderBy.asset\_\_id
](#)
#### [Campaign_orderBy.asset\_\_address
](#)
#### [Campaign_orderBy.asset\_\_chainId
](#)
#### [Campaign_orderBy.asset\_\_decimals
](#)
#### [Campaign_orderBy.asset\_\_name
](#)
#### [Campaign_orderBy.asset\_\_symbol
](#)
#### [Campaign_orderBy.claimedAmount
](#)
#### [Campaign_orderBy.claimedCount
](#)
#### [Campaign_orderBy.clawbackTime
](#)
#### [Campaign_orderBy.expiration
](#)
#### [Campaign_orderBy.expires
](#)
#### [Campaign_orderBy.factory
](#)
#### [Campaign_orderBy.factory\_\_id
](#)
#### [Campaign_orderBy.factory\_\_address
](#)
#### [Campaign_orderBy.factory\_\_alias
](#)
#### [Campaign_orderBy.factory\_\_campaignCounter
](#)
#### [Campaign_orderBy.factory\_\_chainId
](#)
#### [Campaign_orderBy.fee
](#)
#### [Campaign_orderBy.ipfsCID
](#)
#### [Campaign_orderBy.position
](#)
#### [Campaign_orderBy.root
](#)
#### [Campaign_orderBy.totalRecipients
](#)
#### [Campaign_orderBy.version
](#)
#### [Campaign_orderBy.lockup
](#)
#### [Campaign_orderBy.streamCancelable
](#)
#### [Campaign_orderBy.streamCliff
](#)
#### [Campaign_orderBy.streamCliffDuration
](#)
#### [Campaign_orderBy.streamCliffPercentage
](#)
#### [Campaign_orderBy.streamInitial
](#)
#### [Campaign_orderBy.streamInitialPercentage
](#)
#### [Campaign_orderBy.streamShape
](#)
#### [Campaign_orderBy.streamStart
](#)
#### [Campaign_orderBy.streamStartTime
](#)
#### [Campaign_orderBy.streamTotalDuration
](#)
#### [Campaign_orderBy.streamTranches
](#)
#### [Campaign_orderBy.streamTransferable
](#)
---
## Factory_orderBy
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
No description
```graphql
enum Factory_orderBy {
id
address
alias
campaignCounter
chainId
campaigns
}
```
### Values
#### [Factory_orderBy.id
](#)
#### [Factory_orderBy.address
](#)
#### [Factory_orderBy.alias
](#)
#### [Factory_orderBy.campaignCounter
](#)
#### [Factory_orderBy.chainId
](#)
#### [Factory_orderBy.campaigns
](#)
---
## OrderDirection
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
Defines the order direction, either ascending or descending
```graphql
enum OrderDirection {
asc
desc
}
```
### Values
#### [OrderDirection.asc
](#)
#### [OrderDirection.desc
](#)
---
## StreamCategory
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
No description
```graphql
enum StreamCategory {
Flow
}
```
### Values
#### [StreamCategory.Flow
](#)
---
## Stream_orderBy
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
No description
```graphql
enum Stream_orderBy {
id
alias
chainId
subgraphId
tokenId
hash
timestamp
actions
asset
asset__id
asset__address
asset__chainId
asset__decimals
asset__name
asset__symbol
assetDecimalsValue
batch
batch__id
batch__hash
batch__timestamp
batch__position
batch__size
category
contract
position
recipient
sender
startTime
transferable
version
withdrawnAmount
availableAmount
creator
depletionTime
depositedAmount
forgivenDebt
lastAdjustmentAction
lastAdjustmentAction__id
lastAdjustmentAction__subgraphId
lastAdjustmentAction__block
lastAdjustmentAction__chainId
lastAdjustmentAction__from
lastAdjustmentAction__hash
lastAdjustmentAction__timestamp
lastAdjustmentAction__category
lastAdjustmentAction__contract
lastAdjustmentAction__fee
lastAdjustmentAction__addressA
lastAdjustmentAction__addressB
lastAdjustmentAction__amountA
lastAdjustmentAction__amountB
lastAdjustmentTimestamp
paused
pausedAction
pausedAction__id
pausedAction__subgraphId
pausedAction__block
pausedAction__chainId
pausedAction__from
pausedAction__hash
pausedAction__timestamp
pausedAction__category
pausedAction__contract
pausedAction__fee
pausedAction__addressA
pausedAction__addressB
pausedAction__amountA
pausedAction__amountB
pausedTime
ratePerSecond
refundedAmount
snapshotAmount
voided
voidedAction
voidedAction__id
voidedAction__subgraphId
voidedAction__block
voidedAction__chainId
voidedAction__from
voidedAction__hash
voidedAction__timestamp
voidedAction__category
voidedAction__contract
voidedAction__fee
voidedAction__addressA
voidedAction__addressB
voidedAction__amountA
voidedAction__amountB
voidedTime
}
```
### Values
#### [Stream_orderBy.id
](#)
#### [Stream_orderBy.alias
](#)
#### [Stream_orderBy.chainId
](#)
#### [Stream_orderBy.subgraphId
](#)
#### [Stream_orderBy.tokenId
](#)
#### [Stream_orderBy.hash
](#)
#### [Stream_orderBy.timestamp
](#)
#### [Stream_orderBy.actions
](#)
#### [Stream_orderBy.asset
](#)
#### [Stream_orderBy.asset\_\_id
](#)
#### [Stream_orderBy.asset\_\_address
](#)
#### [Stream_orderBy.asset\_\_chainId
](#)
#### [Stream_orderBy.asset\_\_decimals
](#)
#### [Stream_orderBy.asset\_\_name
](#)
#### [Stream_orderBy.asset\_\_symbol
](#)
#### [Stream_orderBy.assetDecimalsValue
](#)
#### [Stream_orderBy.batch
](#)
#### [Stream_orderBy.batch\_\_id
](#)
#### [Stream_orderBy.batch\_\_hash
](#)
#### [Stream_orderBy.batch\_\_timestamp
](#)
#### [Stream_orderBy.batch\_\_position
](#)
#### [Stream_orderBy.batch\_\_size
](#)
#### [Stream_orderBy.category
](#)
#### [Stream_orderBy.contract
](#)
#### [Stream_orderBy.position
](#)
#### [Stream_orderBy.recipient
](#)
#### [Stream_orderBy.sender
](#)
#### [Stream_orderBy.startTime
](#)
#### [Stream_orderBy.transferable
](#)
#### [Stream_orderBy.version
](#)
#### [Stream_orderBy.withdrawnAmount
](#)
#### [Stream_orderBy.availableAmount
](#)
#### [Stream_orderBy.creator
](#)
#### [Stream_orderBy.depletionTime
](#)
#### [Stream_orderBy.depositedAmount
](#)
#### [Stream_orderBy.forgivenDebt
](#)
#### [Stream_orderBy.lastAdjustmentAction
](#)
#### [Stream_orderBy.lastAdjustmentAction\_\_id
](#)
#### [Stream_orderBy.lastAdjustmentAction\_\_subgraphId
](#)
#### [Stream_orderBy.lastAdjustmentAction\_\_block
](#)
#### [Stream_orderBy.lastAdjustmentAction\_\_chainId
](#)
#### [Stream_orderBy.lastAdjustmentAction\_\_from
](#)
#### [Stream_orderBy.lastAdjustmentAction\_\_hash
](#)
#### [Stream_orderBy.lastAdjustmentAction\_\_timestamp
](#)
#### [Stream_orderBy.lastAdjustmentAction\_\_category
](#)
#### [Stream_orderBy.lastAdjustmentAction\_\_contract
](#)
#### [Stream_orderBy.lastAdjustmentAction\_\_fee
](#)
#### [Stream_orderBy.lastAdjustmentAction\_\_addressA
](#)
#### [Stream_orderBy.lastAdjustmentAction\_\_addressB
](#)
#### [Stream_orderBy.lastAdjustmentAction\_\_amountA
](#)
#### [Stream_orderBy.lastAdjustmentAction\_\_amountB
](#)
#### [Stream_orderBy.lastAdjustmentTimestamp
](#)
#### [Stream_orderBy.paused
](#)
#### [Stream_orderBy.pausedAction
](#)
#### [Stream_orderBy.pausedAction\_\_id
](#)
#### [Stream_orderBy.pausedAction\_\_subgraphId
](#)
#### [Stream_orderBy.pausedAction\_\_block
](#)
#### [Stream_orderBy.pausedAction\_\_chainId
](#)
#### [Stream_orderBy.pausedAction\_\_from
](#)
#### [Stream_orderBy.pausedAction\_\_hash
](#)
#### [Stream_orderBy.pausedAction\_\_timestamp
](#)
#### [Stream_orderBy.pausedAction\_\_category
](#)
#### [Stream_orderBy.pausedAction\_\_contract
](#)
#### [Stream_orderBy.pausedAction\_\_fee
](#)
#### [Stream_orderBy.pausedAction\_\_addressA
](#)
#### [Stream_orderBy.pausedAction\_\_addressB
](#)
#### [Stream_orderBy.pausedAction\_\_amountA
](#)
#### [Stream_orderBy.pausedAction\_\_amountB
](#)
#### [Stream_orderBy.pausedTime
](#)
#### [Stream_orderBy.ratePerSecond
](#)
#### [Stream_orderBy.refundedAmount
](#)
#### [Stream_orderBy.snapshotAmount
](#)
#### [Stream_orderBy.voided
](#)
#### [Stream_orderBy.voidedAction
](#)
#### [Stream_orderBy.voidedAction\_\_id
](#)
#### [Stream_orderBy.voidedAction\_\_subgraphId
](#)
#### [Stream_orderBy.voidedAction\_\_block
](#)
#### [Stream_orderBy.voidedAction\_\_chainId
](#)
#### [Stream_orderBy.voidedAction\_\_from
](#)
#### [Stream_orderBy.voidedAction\_\_hash
](#)
#### [Stream_orderBy.voidedAction\_\_timestamp
](#)
#### [Stream_orderBy.voidedAction\_\_category
](#)
#### [Stream_orderBy.voidedAction\_\_contract
](#)
#### [Stream_orderBy.voidedAction\_\_fee
](#)
#### [Stream_orderBy.voidedAction\_\_addressA
](#)
#### [Stream_orderBy.voidedAction\_\_addressB
](#)
#### [Stream_orderBy.voidedAction\_\_amountA
](#)
#### [Stream_orderBy.voidedAction\_\_amountB
](#)
#### [Stream_orderBy.voidedTime
](#)
---
## _SubgraphErrorPolicy_
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
No description
```graphql
enum _SubgraphErrorPolicy_ {
allow
deny
}
```
### Values
#### [\_SubgraphErrorPolicy\_.allow
](#)
Data will be returned even if the subgraph has indexing errors
#### [\_SubgraphErrorPolicy\_.deny
](#)
If the subgraph has indexing errors, data will be omitted. The default.
---
## Tranche_orderBy
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
No description
```graphql
enum Tranche_orderBy {
id
campaign
campaign__id
campaign__chainId
campaign__subgraphId
campaign__hash
campaign__timestamp
campaign__category
campaign__name
campaign__nickname
campaign__address
campaign__admin
campaign__aggregateAmount
campaign__claimedAmount
campaign__claimedCount
campaign__clawbackTime
campaign__expiration
campaign__expires
campaign__fee
campaign__ipfsCID
campaign__position
campaign__root
campaign__totalRecipients
campaign__version
campaign__lockup
campaign__streamCancelable
campaign__streamCliff
campaign__streamCliffDuration
campaign__streamCliffPercentage
campaign__streamInitial
campaign__streamInitialPercentage
campaign__streamShape
campaign__streamStart
campaign__streamStartTime
campaign__streamTotalDuration
campaign__streamTransferable
duration
endDuration
endPercentage
percentage
position
startDuration
startPercentage
}
```
### Values
#### [Tranche_orderBy.id
](#)
#### [Tranche_orderBy.campaign
](#)
#### [Tranche_orderBy.campaign\_\_id
](#)
#### [Tranche_orderBy.campaign\_\_chainId
](#)
#### [Tranche_orderBy.campaign\_\_subgraphId
](#)
#### [Tranche_orderBy.campaign\_\_hash
](#)
#### [Tranche_orderBy.campaign\_\_timestamp
](#)
#### [Tranche_orderBy.campaign\_\_category
](#)
#### [Tranche_orderBy.campaign\_\_name
](#)
#### [Tranche_orderBy.campaign\_\_nickname
](#)
#### [Tranche_orderBy.campaign\_\_address
](#)
#### [Tranche_orderBy.campaign\_\_admin
](#)
#### [Tranche_orderBy.campaign\_\_aggregateAmount
](#)
#### [Tranche_orderBy.campaign\_\_claimedAmount
](#)
#### [Tranche_orderBy.campaign\_\_claimedCount
](#)
#### [Tranche_orderBy.campaign\_\_clawbackTime
](#)
#### [Tranche_orderBy.campaign\_\_expiration
](#)
#### [Tranche_orderBy.campaign\_\_expires
](#)
#### [Tranche_orderBy.campaign\_\_fee
](#)
#### [Tranche_orderBy.campaign\_\_ipfsCID
](#)
#### [Tranche_orderBy.campaign\_\_position
](#)
#### [Tranche_orderBy.campaign\_\_root
](#)
#### [Tranche_orderBy.campaign\_\_totalRecipients
](#)
#### [Tranche_orderBy.campaign\_\_version
](#)
#### [Tranche_orderBy.campaign\_\_lockup
](#)
#### [Tranche_orderBy.campaign\_\_streamCancelable
](#)
#### [Tranche_orderBy.campaign\_\_streamCliff
](#)
#### [Tranche_orderBy.campaign\_\_streamCliffDuration
](#)
#### [Tranche_orderBy.campaign\_\_streamCliffPercentage
](#)
#### [Tranche_orderBy.campaign\_\_streamInitial
](#)
#### [Tranche_orderBy.campaign\_\_streamInitialPercentage
](#)
#### [Tranche_orderBy.campaign\_\_streamShape
](#)
#### [Tranche_orderBy.campaign\_\_streamStart
](#)
#### [Tranche_orderBy.campaign\_\_streamStartTime
](#)
#### [Tranche_orderBy.campaign\_\_streamTotalDuration
](#)
#### [Tranche_orderBy.campaign\_\_streamTransferable
](#)
#### [Tranche_orderBy.duration
](#)
#### [Tranche_orderBy.endDuration
](#)
#### [Tranche_orderBy.endPercentage
](#)
#### [Tranche_orderBy.percentage
](#)
#### [Tranche_orderBy.position
](#)
#### [Tranche_orderBy.startDuration
](#)
#### [Tranche_orderBy.startPercentage
](#)
---
## Watcher_orderBy
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
No description
```graphql
enum Watcher_orderBy {
id
actionCounter
chainId
campaignCounter
}
```
### Values
#### [Watcher_orderBy.id
](#)
#### [Watcher_orderBy.actionCounter
](#)
#### [Watcher_orderBy.chainId
](#)
#### [Watcher_orderBy.campaignCounter
](#)
---
## Overview (3)
This documentation has been automatically generated from the GraphQL schema, with
[GraphQL-Markdown](https://graphql-markdown.github.io).
---
## Action_filter
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
No description
```graphql
input Action_filter {
id: String
id_not: String
id_gt: String
id_lt: String
id_gte: String
id_lte: String
id_in: [String!]
id_not_in: [String!]
id_contains: String
id_contains_nocase: String
id_not_contains: String
id_not_contains_nocase: String
id_starts_with: String
id_starts_with_nocase: String
id_not_starts_with: String
id_not_starts_with_nocase: String
id_ends_with: String
id_ends_with_nocase: String
id_not_ends_with: String
id_not_ends_with_nocase: String
subgraphId: BigInt
subgraphId_not: BigInt
subgraphId_gt: BigInt
subgraphId_lt: BigInt
subgraphId_gte: BigInt
subgraphId_lte: BigInt
subgraphId_in: [BigInt!]
subgraphId_not_in: [BigInt!]
block: BigInt
block_not: BigInt
block_gt: BigInt
block_lt: BigInt
block_gte: BigInt
block_lte: BigInt
block_in: [BigInt!]
block_not_in: [BigInt!]
chainId: BigInt
chainId_not: BigInt
chainId_gt: BigInt
chainId_lt: BigInt
chainId_gte: BigInt
chainId_lte: BigInt
chainId_in: [BigInt!]
chainId_not_in: [BigInt!]
from: Bytes
from_not: Bytes
from_gt: Bytes
from_lt: Bytes
from_gte: Bytes
from_lte: Bytes
from_in: [Bytes!]
from_not_in: [Bytes!]
from_contains: Bytes
from_not_contains: Bytes
hash: Bytes
hash_not: Bytes
hash_gt: Bytes
hash_lt: Bytes
hash_gte: Bytes
hash_lte: Bytes
hash_in: [Bytes!]
hash_not_in: [Bytes!]
hash_contains: Bytes
hash_not_contains: Bytes
timestamp: BigInt
timestamp_not: BigInt
timestamp_gt: BigInt
timestamp_lt: BigInt
timestamp_gte: BigInt
timestamp_lte: BigInt
timestamp_in: [BigInt!]
timestamp_not_in: [BigInt!]
campaign: String
campaign_not: String
campaign_gt: String
campaign_lt: String
campaign_gte: String
campaign_lte: String
campaign_in: [String!]
campaign_not_in: [String!]
campaign_contains: String
campaign_contains_nocase: String
campaign_not_contains: String
campaign_not_contains_nocase: String
campaign_starts_with: String
campaign_starts_with_nocase: String
campaign_not_starts_with: String
campaign_not_starts_with_nocase: String
campaign_ends_with: String
campaign_ends_with_nocase: String
campaign_not_ends_with: String
campaign_not_ends_with_nocase: String
campaign_: Campaign_filter
category: ActionCategory
category_not: ActionCategory
category_in: [ActionCategory!]
category_not_in: [ActionCategory!]
fee: BigInt
fee_not: BigInt
fee_gt: BigInt
fee_lt: BigInt
fee_gte: BigInt
fee_lte: BigInt
fee_in: [BigInt!]
fee_not_in: [BigInt!]
claimAmount: BigInt
claimAmount_not: BigInt
claimAmount_gt: BigInt
claimAmount_lt: BigInt
claimAmount_gte: BigInt
claimAmount_lte: BigInt
claimAmount_in: [BigInt!]
claimAmount_not_in: [BigInt!]
claimIndex: BigInt
claimIndex_not: BigInt
claimIndex_gt: BigInt
claimIndex_lt: BigInt
claimIndex_gte: BigInt
claimIndex_lte: BigInt
claimIndex_in: [BigInt!]
claimIndex_not_in: [BigInt!]
claimRecipient: Bytes
claimRecipient_not: Bytes
claimRecipient_gt: Bytes
claimRecipient_lt: Bytes
claimRecipient_gte: Bytes
claimRecipient_lte: Bytes
claimRecipient_in: [Bytes!]
claimRecipient_not_in: [Bytes!]
claimRecipient_contains: Bytes
claimRecipient_not_contains: Bytes
claimStreamId: String
claimStreamId_not: String
claimStreamId_gt: String
claimStreamId_lt: String
claimStreamId_gte: String
claimStreamId_lte: String
claimStreamId_in: [String!]
claimStreamId_not_in: [String!]
claimStreamId_contains: String
claimStreamId_contains_nocase: String
claimStreamId_not_contains: String
claimStreamId_not_contains_nocase: String
claimStreamId_starts_with: String
claimStreamId_starts_with_nocase: String
claimStreamId_not_starts_with: String
claimStreamId_not_starts_with_nocase: String
claimStreamId_ends_with: String
claimStreamId_ends_with_nocase: String
claimStreamId_not_ends_with: String
claimStreamId_not_ends_with_nocase: String
claimTokenId: BigInt
claimTokenId_not: BigInt
claimTokenId_gt: BigInt
claimTokenId_lt: BigInt
claimTokenId_gte: BigInt
claimTokenId_lte: BigInt
claimTokenId_in: [BigInt!]
claimTokenId_not_in: [BigInt!]
clawbackAmount: BigInt
clawbackAmount_not: BigInt
clawbackAmount_gt: BigInt
clawbackAmount_lt: BigInt
clawbackAmount_gte: BigInt
clawbackAmount_lte: BigInt
clawbackAmount_in: [BigInt!]
clawbackAmount_not_in: [BigInt!]
clawbackFrom: Bytes
clawbackFrom_not: Bytes
clawbackFrom_gt: Bytes
clawbackFrom_lt: Bytes
clawbackFrom_gte: Bytes
clawbackFrom_lte: Bytes
clawbackFrom_in: [Bytes!]
clawbackFrom_not_in: [Bytes!]
clawbackFrom_contains: Bytes
clawbackFrom_not_contains: Bytes
clawbackTo: Bytes
clawbackTo_not: Bytes
clawbackTo_gt: Bytes
clawbackTo_lt: Bytes
clawbackTo_gte: Bytes
clawbackTo_lte: Bytes
clawbackTo_in: [Bytes!]
clawbackTo_not_in: [Bytes!]
clawbackTo_contains: Bytes
clawbackTo_not_contains: Bytes
_change_block: BlockChangedFilter
and: [Action_filter]
or: [Action_filter]
}
```
### Fields
#### [Action_filter.id
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Action_filter.id_not
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Action_filter.id_gt
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Action_filter.id_lt
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Action_filter.id_gte
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Action_filter.id_lte
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Action_filter.id_in
](#)[[String!]
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Action_filter.id_not_in
](#)[[String!]
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Action_filter.id_contains
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Action_filter.id_contains_nocase
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Action_filter.id_not_contains
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Action_filter.id_not_contains_nocase
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Action_filter.id_starts_with
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Action_filter.id_starts_with_nocase
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Action_filter.id_not_starts_with
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Action_filter.id_not_starts_with_nocase
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Action_filter.id_ends_with
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Action_filter.id_ends_with_nocase
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Action_filter.id_not_ends_with
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Action_filter.id_not_ends_with_nocase
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Action_filter.subgraphId
](#)[BigInt
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
#### [Action_filter.subgraphId_not
](#)[BigInt
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
#### [Action_filter.subgraphId_gt
](#)[BigInt
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
#### [Action_filter.subgraphId_lt
](#)[BigInt
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
#### [Action_filter.subgraphId_gte
](#)[BigInt
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
#### [Action_filter.subgraphId_lte
](#)[BigInt
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
#### [Action_filter.subgraphId_in
](#)[[BigInt!]
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
#### [Action_filter.subgraphId_not_in
](#)[[BigInt!]
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
#### [Action_filter.block
](#)[BigInt
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
#### [Action_filter.block_not
](#)[BigInt
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
#### [Action_filter.block_gt
](#)[BigInt
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
#### [Action_filter.block_lt
](#)[BigInt
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
#### [Action_filter.block_gte
](#)[BigInt
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
#### [Action_filter.block_lte
](#)[BigInt
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
#### [Action_filter.block_in
](#)[[BigInt!]
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
#### [Action_filter.block_not_in
](#)[[BigInt!]
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
#### [Action_filter.chainId
](#)[BigInt
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
#### [Action_filter.chainId_not
](#)[BigInt
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
#### [Action_filter.chainId_gt
](#)[BigInt
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
#### [Action_filter.chainId_lt
](#)[BigInt
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
#### [Action_filter.chainId_gte
](#)[BigInt
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
#### [Action_filter.chainId_lte
](#)[BigInt
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
#### [Action_filter.chainId_in
](#)[[BigInt!]
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
#### [Action_filter.chainId_not_in
](#)[[BigInt!]
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
#### [Action_filter.from
](#)[Bytes
](/docs/api/airdrops/graphql/the-graph/scalars/bytes.mdx)
#### [Action_filter.from_not
](#)[Bytes
](/docs/api/airdrops/graphql/the-graph/scalars/bytes.mdx)
#### [Action_filter.from_gt
](#)[Bytes
](/docs/api/airdrops/graphql/the-graph/scalars/bytes.mdx)
#### [Action_filter.from_lt
](#)[Bytes
](/docs/api/airdrops/graphql/the-graph/scalars/bytes.mdx)
#### [Action_filter.from_gte
](#)[Bytes
](/docs/api/airdrops/graphql/the-graph/scalars/bytes.mdx)
#### [Action_filter.from_lte
](#)[Bytes
](/docs/api/airdrops/graphql/the-graph/scalars/bytes.mdx)
#### [Action_filter.from_in
](#)[[Bytes!]
](/docs/api/airdrops/graphql/the-graph/scalars/bytes.mdx)
#### [Action_filter.from_not_in
](#)[[Bytes!]
](/docs/api/airdrops/graphql/the-graph/scalars/bytes.mdx)
#### [Action_filter.from_contains
](#)[Bytes
](/docs/api/airdrops/graphql/the-graph/scalars/bytes.mdx)
#### [Action_filter.from_not_contains
](#)[Bytes
](/docs/api/airdrops/graphql/the-graph/scalars/bytes.mdx)
#### [Action_filter.hash
](#)[Bytes
](/docs/api/airdrops/graphql/the-graph/scalars/bytes.mdx)
#### [Action_filter.hash_not
](#)[Bytes
](/docs/api/airdrops/graphql/the-graph/scalars/bytes.mdx)
#### [Action_filter.hash_gt
](#)[Bytes
](/docs/api/airdrops/graphql/the-graph/scalars/bytes.mdx)
#### [Action_filter.hash_lt
](#)[Bytes
](/docs/api/airdrops/graphql/the-graph/scalars/bytes.mdx)
#### [Action_filter.hash_gte
](#)[Bytes
](/docs/api/airdrops/graphql/the-graph/scalars/bytes.mdx)
#### [Action_filter.hash_lte
](#)[Bytes
](/docs/api/airdrops/graphql/the-graph/scalars/bytes.mdx)
#### [Action_filter.hash_in
](#)[[Bytes!]
](/docs/api/airdrops/graphql/the-graph/scalars/bytes.mdx)
#### [Action_filter.hash_not_in
](#)[[Bytes!]
](/docs/api/airdrops/graphql/the-graph/scalars/bytes.mdx)
#### [Action_filter.hash_contains
](#)[Bytes
](/docs/api/airdrops/graphql/the-graph/scalars/bytes.mdx)
#### [Action_filter.hash_not_contains
](#)[Bytes
](/docs/api/airdrops/graphql/the-graph/scalars/bytes.mdx)
#### [Action_filter.timestamp
](#)[BigInt
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
#### [Action_filter.timestamp_not
](#)[BigInt
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
#### [Action_filter.timestamp_gt
](#)[BigInt
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
#### [Action_filter.timestamp_lt
](#)[BigInt
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
#### [Action_filter.timestamp_gte
](#)[BigInt
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
#### [Action_filter.timestamp_lte
](#)[BigInt
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
#### [Action_filter.timestamp_in
](#)[[BigInt!]
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
#### [Action_filter.timestamp_not_in
](#)[[BigInt!]
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
#### [Action_filter.campaign
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Action_filter.campaign_not
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Action_filter.campaign_gt
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Action_filter.campaign_lt
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Action_filter.campaign_gte
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Action_filter.campaign_lte
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Action_filter.campaign_in
](#)[[String!]
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Action_filter.campaign_not_in
](#)[[String!]
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Action_filter.campaign_contains
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Action_filter.campaign_contains_nocase
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Action_filter.campaign_not_contains
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Action_filter.campaign_not_contains_nocase
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Action_filter.campaign_starts_with
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Action_filter.campaign_starts_with_nocase
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Action_filter.campaign_not_starts_with
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Action_filter.campaign_not_starts_with_nocase
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Action_filter.campaign_ends_with
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Action_filter.campaign_ends_with_nocase
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Action_filter.campaign_not_ends_with
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Action_filter.campaign_not_ends_with_nocase
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Action_filter.campaign\_
](#)[Campaign_filter
](/docs/api/airdrops/graphql/the-graph/inputs/campaign-filter.mdx)
#### [Action_filter.category
](#)[ActionCategory
](/docs/api/airdrops/graphql/the-graph/enums/action-category.mdx)
#### [Action_filter.category_not
](#)[ActionCategory
](/docs/api/airdrops/graphql/the-graph/enums/action-category.mdx)
#### [Action_filter.category_in
](#)[[ActionCategory!]
](/docs/api/airdrops/graphql/the-graph/enums/action-category.mdx)
#### [Action_filter.category_not_in
](#)[[ActionCategory!]
](/docs/api/airdrops/graphql/the-graph/enums/action-category.mdx)
#### [Action_filter.fee
](#)[BigInt
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
#### [Action_filter.fee_not
](#)[BigInt
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
#### [Action_filter.fee_gt
](#)[BigInt
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
#### [Action_filter.fee_lt
](#)[BigInt
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
#### [Action_filter.fee_gte
](#)[BigInt
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
#### [Action_filter.fee_lte
](#)[BigInt
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
#### [Action_filter.fee_in
](#)[[BigInt!]
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
#### [Action_filter.fee_not_in
](#)[[BigInt!]
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
#### [Action_filter.claimAmount
](#)[BigInt
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
#### [Action_filter.claimAmount_not
](#)[BigInt
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
#### [Action_filter.claimAmount_gt
](#)[BigInt
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
#### [Action_filter.claimAmount_lt
](#)[BigInt
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
#### [Action_filter.claimAmount_gte
](#)[BigInt
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
#### [Action_filter.claimAmount_lte
](#)[BigInt
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
#### [Action_filter.claimAmount_in
](#)[[BigInt!]
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
#### [Action_filter.claimAmount_not_in
](#)[[BigInt!]
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
#### [Action_filter.claimIndex
](#)[BigInt
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
#### [Action_filter.claimIndex_not
](#)[BigInt
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
#### [Action_filter.claimIndex_gt
](#)[BigInt
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
#### [Action_filter.claimIndex_lt
](#)[BigInt
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
#### [Action_filter.claimIndex_gte
](#)[BigInt
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
#### [Action_filter.claimIndex_lte
](#)[BigInt
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
#### [Action_filter.claimIndex_in
](#)[[BigInt!]
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
#### [Action_filter.claimIndex_not_in
](#)[[BigInt!]
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
#### [Action_filter.claimRecipient
](#)[Bytes
](/docs/api/airdrops/graphql/the-graph/scalars/bytes.mdx)
#### [Action_filter.claimRecipient_not
](#)[Bytes
](/docs/api/airdrops/graphql/the-graph/scalars/bytes.mdx)
#### [Action_filter.claimRecipient_gt
](#)[Bytes
](/docs/api/airdrops/graphql/the-graph/scalars/bytes.mdx)
#### [Action_filter.claimRecipient_lt
](#)[Bytes
](/docs/api/airdrops/graphql/the-graph/scalars/bytes.mdx)
#### [Action_filter.claimRecipient_gte
](#)[Bytes
](/docs/api/airdrops/graphql/the-graph/scalars/bytes.mdx)
#### [Action_filter.claimRecipient_lte
](#)[Bytes
](/docs/api/airdrops/graphql/the-graph/scalars/bytes.mdx)
#### [Action_filter.claimRecipient_in
](#)[[Bytes!]
](/docs/api/airdrops/graphql/the-graph/scalars/bytes.mdx)
#### [Action_filter.claimRecipient_not_in
](#)[[Bytes!]
](/docs/api/airdrops/graphql/the-graph/scalars/bytes.mdx)
#### [Action_filter.claimRecipient_contains
](#)[Bytes
](/docs/api/airdrops/graphql/the-graph/scalars/bytes.mdx)
#### [Action_filter.claimRecipient_not_contains
](#)[Bytes
](/docs/api/airdrops/graphql/the-graph/scalars/bytes.mdx)
#### [Action_filter.claimStreamId
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Action_filter.claimStreamId_not
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Action_filter.claimStreamId_gt
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Action_filter.claimStreamId_lt
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Action_filter.claimStreamId_gte
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Action_filter.claimStreamId_lte
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Action_filter.claimStreamId_in
](#)[[String!]
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Action_filter.claimStreamId_not_in
](#)[[String!]
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Action_filter.claimStreamId_contains
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Action_filter.claimStreamId_contains_nocase
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Action_filter.claimStreamId_not_contains
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Action_filter.claimStreamId_not_contains_nocase
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Action_filter.claimStreamId_starts_with
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Action_filter.claimStreamId_starts_with_nocase
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Action_filter.claimStreamId_not_starts_with
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Action_filter.claimStreamId_not_starts_with_nocase
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Action_filter.claimStreamId_ends_with
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Action_filter.claimStreamId_ends_with_nocase
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Action_filter.claimStreamId_not_ends_with
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Action_filter.claimStreamId_not_ends_with_nocase
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Action_filter.claimTokenId
](#)[BigInt
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
#### [Action_filter.claimTokenId_not
](#)[BigInt
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
#### [Action_filter.claimTokenId_gt
](#)[BigInt
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
#### [Action_filter.claimTokenId_lt
](#)[BigInt
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
#### [Action_filter.claimTokenId_gte
](#)[BigInt
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
#### [Action_filter.claimTokenId_lte
](#)[BigInt
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
#### [Action_filter.claimTokenId_in
](#)[[BigInt!]
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
#### [Action_filter.claimTokenId_not_in
](#)[[BigInt!]
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
#### [Action_filter.clawbackAmount
](#)[BigInt
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
#### [Action_filter.clawbackAmount_not
](#)[BigInt
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
#### [Action_filter.clawbackAmount_gt
](#)[BigInt
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
#### [Action_filter.clawbackAmount_lt
](#)[BigInt
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
#### [Action_filter.clawbackAmount_gte
](#)[BigInt
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
#### [Action_filter.clawbackAmount_lte
](#)[BigInt
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
#### [Action_filter.clawbackAmount_in
](#)[[BigInt!]
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
#### [Action_filter.clawbackAmount_not_in
](#)[[BigInt!]
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
#### [Action_filter.clawbackFrom
](#)[Bytes
](/docs/api/airdrops/graphql/the-graph/scalars/bytes.mdx)
#### [Action_filter.clawbackFrom_not
](#)[Bytes
](/docs/api/airdrops/graphql/the-graph/scalars/bytes.mdx)
#### [Action_filter.clawbackFrom_gt
](#)[Bytes
](/docs/api/airdrops/graphql/the-graph/scalars/bytes.mdx)
#### [Action_filter.clawbackFrom_lt
](#)[Bytes
](/docs/api/airdrops/graphql/the-graph/scalars/bytes.mdx)
#### [Action_filter.clawbackFrom_gte
](#)[Bytes
](/docs/api/airdrops/graphql/the-graph/scalars/bytes.mdx)
#### [Action_filter.clawbackFrom_lte
](#)[Bytes
](/docs/api/airdrops/graphql/the-graph/scalars/bytes.mdx)
#### [Action_filter.clawbackFrom_in
](#)[[Bytes!]
](/docs/api/airdrops/graphql/the-graph/scalars/bytes.mdx)
#### [Action_filter.clawbackFrom_not_in
](#)[[Bytes!]
](/docs/api/airdrops/graphql/the-graph/scalars/bytes.mdx)
#### [Action_filter.clawbackFrom_contains
](#)[Bytes
](/docs/api/airdrops/graphql/the-graph/scalars/bytes.mdx)
#### [Action_filter.clawbackFrom_not_contains
](#)[Bytes
](/docs/api/airdrops/graphql/the-graph/scalars/bytes.mdx)
#### [Action_filter.clawbackTo
](#)[Bytes
](/docs/api/airdrops/graphql/the-graph/scalars/bytes.mdx)
#### [Action_filter.clawbackTo_not
](#)[Bytes
](/docs/api/airdrops/graphql/the-graph/scalars/bytes.mdx)
#### [Action_filter.clawbackTo_gt
](#)[Bytes
](/docs/api/airdrops/graphql/the-graph/scalars/bytes.mdx)
#### [Action_filter.clawbackTo_lt
](#)[Bytes
](/docs/api/airdrops/graphql/the-graph/scalars/bytes.mdx)
#### [Action_filter.clawbackTo_gte
](#)[Bytes
](/docs/api/airdrops/graphql/the-graph/scalars/bytes.mdx)
#### [Action_filter.clawbackTo_lte
](#)[Bytes
](/docs/api/airdrops/graphql/the-graph/scalars/bytes.mdx)
#### [Action_filter.clawbackTo_in
](#)[[Bytes!]
](/docs/api/airdrops/graphql/the-graph/scalars/bytes.mdx)
#### [Action_filter.clawbackTo_not_in
](#)[[Bytes!]
](/docs/api/airdrops/graphql/the-graph/scalars/bytes.mdx)
#### [Action_filter.clawbackTo_contains
](#)[Bytes
](/docs/api/airdrops/graphql/the-graph/scalars/bytes.mdx)
#### [Action_filter.clawbackTo_not_contains
](#)[Bytes
](/docs/api/airdrops/graphql/the-graph/scalars/bytes.mdx)
#### [Action_filter.\_change_block
](#)[BlockChangedFilter
](/docs/api/airdrops/graphql/the-graph/inputs/block-changed-filter.mdx)
Filter for the block changed event.
#### [Action_filter.and
](#)[[Action_filter]
](/docs/api/airdrops/graphql/the-graph/inputs/action-filter.mdx)
#### [Action_filter.or
](#)[[Action_filter]
](/docs/api/airdrops/graphql/the-graph/inputs/action-filter.mdx)
---
## Activity_filter
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
No description
```graphql
input Activity_filter {
id: String
id_not: String
id_gt: String
id_lt: String
id_gte: String
id_lte: String
id_in: [String!]
id_not_in: [String!]
id_contains: String
id_contains_nocase: String
id_not_contains: String
id_not_contains_nocase: String
id_starts_with: String
id_starts_with_nocase: String
id_not_starts_with: String
id_not_starts_with_nocase: String
id_ends_with: String
id_ends_with_nocase: String
id_not_ends_with: String
id_not_ends_with_nocase: String
amount: BigInt
amount_not: BigInt
amount_gt: BigInt
amount_lt: BigInt
amount_gte: BigInt
amount_lte: BigInt
amount_in: [BigInt!]
amount_not_in: [BigInt!]
campaign: String
campaign_not: String
campaign_gt: String
campaign_lt: String
campaign_gte: String
campaign_lte: String
campaign_in: [String!]
campaign_not_in: [String!]
campaign_contains: String
campaign_contains_nocase: String
campaign_not_contains: String
campaign_not_contains_nocase: String
campaign_starts_with: String
campaign_starts_with_nocase: String
campaign_not_starts_with: String
campaign_not_starts_with_nocase: String
campaign_ends_with: String
campaign_ends_with_nocase: String
campaign_not_ends_with: String
campaign_not_ends_with_nocase: String
campaign_: Campaign_filter
claims: BigInt
claims_not: BigInt
claims_gt: BigInt
claims_lt: BigInt
claims_gte: BigInt
claims_lte: BigInt
claims_in: [BigInt!]
claims_not_in: [BigInt!]
day: BigInt
day_not: BigInt
day_gt: BigInt
day_lt: BigInt
day_gte: BigInt
day_lte: BigInt
day_in: [BigInt!]
day_not_in: [BigInt!]
timestamp: BigInt
timestamp_not: BigInt
timestamp_gt: BigInt
timestamp_lt: BigInt
timestamp_gte: BigInt
timestamp_lte: BigInt
timestamp_in: [BigInt!]
timestamp_not_in: [BigInt!]
_change_block: BlockChangedFilter
and: [Activity_filter]
or: [Activity_filter]
}
```
### Fields
#### [Activity_filter.id
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Activity_filter.id_not
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Activity_filter.id_gt
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Activity_filter.id_lt
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Activity_filter.id_gte
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Activity_filter.id_lte
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Activity_filter.id_in
](#)[[String!]
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Activity_filter.id_not_in
](#)[[String!]
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Activity_filter.id_contains
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Activity_filter.id_contains_nocase
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Activity_filter.id_not_contains
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Activity_filter.id_not_contains_nocase
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Activity_filter.id_starts_with
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Activity_filter.id_starts_with_nocase
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Activity_filter.id_not_starts_with
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Activity_filter.id_not_starts_with_nocase
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Activity_filter.id_ends_with
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Activity_filter.id_ends_with_nocase
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Activity_filter.id_not_ends_with
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Activity_filter.id_not_ends_with_nocase
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Activity_filter.amount
](#)[BigInt
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
#### [Activity_filter.amount_not
](#)[BigInt
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
#### [Activity_filter.amount_gt
](#)[BigInt
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
#### [Activity_filter.amount_lt
](#)[BigInt
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
#### [Activity_filter.amount_gte
](#)[BigInt
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
#### [Activity_filter.amount_lte
](#)[BigInt
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
#### [Activity_filter.amount_in
](#)[[BigInt!]
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
#### [Activity_filter.amount_not_in
](#)[[BigInt!]
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
#### [Activity_filter.campaign
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Activity_filter.campaign_not
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Activity_filter.campaign_gt
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Activity_filter.campaign_lt
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Activity_filter.campaign_gte
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Activity_filter.campaign_lte
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Activity_filter.campaign_in
](#)[[String!]
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Activity_filter.campaign_not_in
](#)[[String!]
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Activity_filter.campaign_contains
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Activity_filter.campaign_contains_nocase
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Activity_filter.campaign_not_contains
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Activity_filter.campaign_not_contains_nocase
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Activity_filter.campaign_starts_with
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Activity_filter.campaign_starts_with_nocase
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Activity_filter.campaign_not_starts_with
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Activity_filter.campaign_not_starts_with_nocase
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Activity_filter.campaign_ends_with
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Activity_filter.campaign_ends_with_nocase
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Activity_filter.campaign_not_ends_with
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Activity_filter.campaign_not_ends_with_nocase
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Activity_filter.campaign\_
](#)[Campaign_filter
](/docs/api/airdrops/graphql/the-graph/inputs/campaign-filter.mdx)
#### [Activity_filter.claims
](#)[BigInt
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
#### [Activity_filter.claims_not
](#)[BigInt
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
#### [Activity_filter.claims_gt
](#)[BigInt
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
#### [Activity_filter.claims_lt
](#)[BigInt
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
#### [Activity_filter.claims_gte
](#)[BigInt
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
#### [Activity_filter.claims_lte
](#)[BigInt
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
#### [Activity_filter.claims_in
](#)[[BigInt!]
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
#### [Activity_filter.claims_not_in
](#)[[BigInt!]
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
#### [Activity_filter.day
](#)[BigInt
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
#### [Activity_filter.day_not
](#)[BigInt
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
#### [Activity_filter.day_gt
](#)[BigInt
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
#### [Activity_filter.day_lt
](#)[BigInt
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
#### [Activity_filter.day_gte
](#)[BigInt
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
#### [Activity_filter.day_lte
](#)[BigInt
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
#### [Activity_filter.day_in
](#)[[BigInt!]
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
#### [Activity_filter.day_not_in
](#)[[BigInt!]
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
#### [Activity_filter.timestamp
](#)[BigInt
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
#### [Activity_filter.timestamp_not
](#)[BigInt
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
#### [Activity_filter.timestamp_gt
](#)[BigInt
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
#### [Activity_filter.timestamp_lt
](#)[BigInt
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
#### [Activity_filter.timestamp_gte
](#)[BigInt
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
#### [Activity_filter.timestamp_lte
](#)[BigInt
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
#### [Activity_filter.timestamp_in
](#)[[BigInt!]
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
#### [Activity_filter.timestamp_not_in
](#)[[BigInt!]
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
#### [Activity_filter.\_change_block
](#)[BlockChangedFilter
](/docs/api/airdrops/graphql/the-graph/inputs/block-changed-filter.mdx)
Filter for the block changed event.
#### [Activity_filter.and
](#)[[Activity_filter]
](/docs/api/airdrops/graphql/the-graph/inputs/activity-filter.mdx)
#### [Activity_filter.or
](#)[[Activity_filter]
](/docs/api/airdrops/graphql/the-graph/inputs/activity-filter.mdx)
---
## Asset_filter
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
No description
```graphql
input Asset_filter {
id: String
id_not: String
id_gt: String
id_lt: String
id_gte: String
id_lte: String
id_in: [String!]
id_not_in: [String!]
id_contains: String
id_contains_nocase: String
id_not_contains: String
id_not_contains_nocase: String
id_starts_with: String
id_starts_with_nocase: String
id_not_starts_with: String
id_not_starts_with_nocase: String
id_ends_with: String
id_ends_with_nocase: String
id_not_ends_with: String
id_not_ends_with_nocase: String
address: Bytes
address_not: Bytes
address_gt: Bytes
address_lt: Bytes
address_gte: Bytes
address_lte: Bytes
address_in: [Bytes!]
address_not_in: [Bytes!]
address_contains: Bytes
address_not_contains: Bytes
chainId: BigInt
chainId_not: BigInt
chainId_gt: BigInt
chainId_lt: BigInt
chainId_gte: BigInt
chainId_lte: BigInt
chainId_in: [BigInt!]
chainId_not_in: [BigInt!]
decimals: BigInt
decimals_not: BigInt
decimals_gt: BigInt
decimals_lt: BigInt
decimals_gte: BigInt
decimals_lte: BigInt
decimals_in: [BigInt!]
decimals_not_in: [BigInt!]
name: String
name_not: String
name_gt: String
name_lt: String
name_gte: String
name_lte: String
name_in: [String!]
name_not_in: [String!]
name_contains: String
name_contains_nocase: String
name_not_contains: String
name_not_contains_nocase: String
name_starts_with: String
name_starts_with_nocase: String
name_not_starts_with: String
name_not_starts_with_nocase: String
name_ends_with: String
name_ends_with_nocase: String
name_not_ends_with: String
name_not_ends_with_nocase: String
symbol: String
symbol_not: String
symbol_gt: String
symbol_lt: String
symbol_gte: String
symbol_lte: String
symbol_in: [String!]
symbol_not_in: [String!]
symbol_contains: String
symbol_contains_nocase: String
symbol_not_contains: String
symbol_not_contains_nocase: String
symbol_starts_with: String
symbol_starts_with_nocase: String
symbol_not_starts_with: String
symbol_not_starts_with_nocase: String
symbol_ends_with: String
symbol_ends_with_nocase: String
symbol_not_ends_with: String
symbol_not_ends_with_nocase: String
campaigns_: Campaign_filter
_change_block: BlockChangedFilter
and: [Asset_filter]
or: [Asset_filter]
}
```
### Fields
#### [Asset_filter.id
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Asset_filter.id_not
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Asset_filter.id_gt
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Asset_filter.id_lt
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Asset_filter.id_gte
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Asset_filter.id_lte
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Asset_filter.id_in
](#)[[String!]
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Asset_filter.id_not_in
](#)[[String!]
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Asset_filter.id_contains
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Asset_filter.id_contains_nocase
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Asset_filter.id_not_contains
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Asset_filter.id_not_contains_nocase
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Asset_filter.id_starts_with
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Asset_filter.id_starts_with_nocase
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Asset_filter.id_not_starts_with
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Asset_filter.id_not_starts_with_nocase
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Asset_filter.id_ends_with
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Asset_filter.id_ends_with_nocase
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Asset_filter.id_not_ends_with
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Asset_filter.id_not_ends_with_nocase
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Asset_filter.address
](#)[Bytes
](/docs/api/airdrops/graphql/the-graph/scalars/bytes.mdx)
#### [Asset_filter.address_not
](#)[Bytes
](/docs/api/airdrops/graphql/the-graph/scalars/bytes.mdx)
#### [Asset_filter.address_gt
](#)[Bytes
](/docs/api/airdrops/graphql/the-graph/scalars/bytes.mdx)
#### [Asset_filter.address_lt
](#)[Bytes
](/docs/api/airdrops/graphql/the-graph/scalars/bytes.mdx)
#### [Asset_filter.address_gte
](#)[Bytes
](/docs/api/airdrops/graphql/the-graph/scalars/bytes.mdx)
#### [Asset_filter.address_lte
](#)[Bytes
](/docs/api/airdrops/graphql/the-graph/scalars/bytes.mdx)
#### [Asset_filter.address_in
](#)[[Bytes!]
](/docs/api/airdrops/graphql/the-graph/scalars/bytes.mdx)
#### [Asset_filter.address_not_in
](#)[[Bytes!]
](/docs/api/airdrops/graphql/the-graph/scalars/bytes.mdx)
#### [Asset_filter.address_contains
](#)[Bytes
](/docs/api/airdrops/graphql/the-graph/scalars/bytes.mdx)
#### [Asset_filter.address_not_contains
](#)[Bytes
](/docs/api/airdrops/graphql/the-graph/scalars/bytes.mdx)
#### [Asset_filter.chainId
](#)[BigInt
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
#### [Asset_filter.chainId_not
](#)[BigInt
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
#### [Asset_filter.chainId_gt
](#)[BigInt
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
#### [Asset_filter.chainId_lt
](#)[BigInt
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
#### [Asset_filter.chainId_gte
](#)[BigInt
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
#### [Asset_filter.chainId_lte
](#)[BigInt
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
#### [Asset_filter.chainId_in
](#)[[BigInt!]
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
#### [Asset_filter.chainId_not_in
](#)[[BigInt!]
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
#### [Asset_filter.decimals
](#)[BigInt
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
#### [Asset_filter.decimals_not
](#)[BigInt
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
#### [Asset_filter.decimals_gt
](#)[BigInt
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
#### [Asset_filter.decimals_lt
](#)[BigInt
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
#### [Asset_filter.decimals_gte
](#)[BigInt
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
#### [Asset_filter.decimals_lte
](#)[BigInt
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
#### [Asset_filter.decimals_in
](#)[[BigInt!]
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
#### [Asset_filter.decimals_not_in
](#)[[BigInt!]
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
#### [Asset_filter.name
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Asset_filter.name_not
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Asset_filter.name_gt
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Asset_filter.name_lt
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Asset_filter.name_gte
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Asset_filter.name_lte
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Asset_filter.name_in
](#)[[String!]
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Asset_filter.name_not_in
](#)[[String!]
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Asset_filter.name_contains
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Asset_filter.name_contains_nocase
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Asset_filter.name_not_contains
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Asset_filter.name_not_contains_nocase
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Asset_filter.name_starts_with
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Asset_filter.name_starts_with_nocase
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Asset_filter.name_not_starts_with
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Asset_filter.name_not_starts_with_nocase
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Asset_filter.name_ends_with
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Asset_filter.name_ends_with_nocase
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Asset_filter.name_not_ends_with
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Asset_filter.name_not_ends_with_nocase
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Asset_filter.symbol
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Asset_filter.symbol_not
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Asset_filter.symbol_gt
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Asset_filter.symbol_lt
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Asset_filter.symbol_gte
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Asset_filter.symbol_lte
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Asset_filter.symbol_in
](#)[[String!]
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Asset_filter.symbol_not_in
](#)[[String!]
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Asset_filter.symbol_contains
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Asset_filter.symbol_contains_nocase
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Asset_filter.symbol_not_contains
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Asset_filter.symbol_not_contains_nocase
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Asset_filter.symbol_starts_with
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Asset_filter.symbol_starts_with_nocase
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Asset_filter.symbol_not_starts_with
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Asset_filter.symbol_not_starts_with_nocase
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Asset_filter.symbol_ends_with
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Asset_filter.symbol_ends_with_nocase
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Asset_filter.symbol_not_ends_with
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Asset_filter.symbol_not_ends_with_nocase
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Asset_filter.campaigns\_
](#)[Campaign_filter
](/docs/api/airdrops/graphql/the-graph/inputs/campaign-filter.mdx)
#### [Asset_filter.\_change_block
](#)[BlockChangedFilter
](/docs/api/airdrops/graphql/the-graph/inputs/block-changed-filter.mdx)
Filter for the block changed event.
#### [Asset_filter.and
](#)[[Asset_filter]
](/docs/api/airdrops/graphql/the-graph/inputs/asset-filter.mdx)
#### [Asset_filter.or
](#)[[Asset_filter]
](/docs/api/airdrops/graphql/the-graph/inputs/asset-filter.mdx)
---
## Batch_filter
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
No description
```graphql
input Batch_filter {
id: String
id_not: String
id_gt: String
id_lt: String
id_gte: String
id_lte: String
id_in: [String!]
id_not_in: [String!]
id_contains: String
id_contains_nocase: String
id_not_contains: String
id_not_contains_nocase: String
id_starts_with: String
id_starts_with_nocase: String
id_not_starts_with: String
id_not_starts_with_nocase: String
id_ends_with: String
id_ends_with_nocase: String
id_not_ends_with: String
id_not_ends_with_nocase: String
hash: Bytes
hash_not: Bytes
hash_gt: Bytes
hash_lt: Bytes
hash_gte: Bytes
hash_lte: Bytes
hash_in: [Bytes!]
hash_not_in: [Bytes!]
hash_contains: Bytes
hash_not_contains: Bytes
timestamp: BigInt
timestamp_not: BigInt
timestamp_gt: BigInt
timestamp_lt: BigInt
timestamp_gte: BigInt
timestamp_lte: BigInt
timestamp_in: [BigInt!]
timestamp_not_in: [BigInt!]
batcher: String
batcher_not: String
batcher_gt: String
batcher_lt: String
batcher_gte: String
batcher_lte: String
batcher_in: [String!]
batcher_not_in: [String!]
batcher_contains: String
batcher_contains_nocase: String
batcher_not_contains: String
batcher_not_contains_nocase: String
batcher_starts_with: String
batcher_starts_with_nocase: String
batcher_not_starts_with: String
batcher_not_starts_with_nocase: String
batcher_ends_with: String
batcher_ends_with_nocase: String
batcher_not_ends_with: String
batcher_not_ends_with_nocase: String
batcher_: Batcher_filter
position: BigInt
position_not: BigInt
position_gt: BigInt
position_lt: BigInt
position_gte: BigInt
position_lte: BigInt
position_in: [BigInt!]
position_not_in: [BigInt!]
size: BigInt
size_not: BigInt
size_gt: BigInt
size_lt: BigInt
size_gte: BigInt
size_lte: BigInt
size_in: [BigInt!]
size_not_in: [BigInt!]
streams_: Stream_filter
_change_block: BlockChangedFilter
and: [Batch_filter]
or: [Batch_filter]
}
```
### Fields
#### [Batch_filter.id
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Batch_filter.id_not
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Batch_filter.id_gt
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Batch_filter.id_lt
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Batch_filter.id_gte
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Batch_filter.id_lte
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Batch_filter.id_in
](#)[[String!]
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Batch_filter.id_not_in
](#)[[String!]
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Batch_filter.id_contains
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Batch_filter.id_contains_nocase
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Batch_filter.id_not_contains
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Batch_filter.id_not_contains_nocase
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Batch_filter.id_starts_with
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Batch_filter.id_starts_with_nocase
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Batch_filter.id_not_starts_with
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Batch_filter.id_not_starts_with_nocase
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Batch_filter.id_ends_with
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Batch_filter.id_ends_with_nocase
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Batch_filter.id_not_ends_with
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Batch_filter.id_not_ends_with_nocase
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Batch_filter.hash
](#)[Bytes
](/docs/api/airdrops/graphql/the-graph/scalars/bytes.mdx)
#### [Batch_filter.hash_not
](#)[Bytes
](/docs/api/airdrops/graphql/the-graph/scalars/bytes.mdx)
#### [Batch_filter.hash_gt
](#)[Bytes
](/docs/api/airdrops/graphql/the-graph/scalars/bytes.mdx)
#### [Batch_filter.hash_lt
](#)[Bytes
](/docs/api/airdrops/graphql/the-graph/scalars/bytes.mdx)
#### [Batch_filter.hash_gte
](#)[Bytes
](/docs/api/airdrops/graphql/the-graph/scalars/bytes.mdx)
#### [Batch_filter.hash_lte
](#)[Bytes
](/docs/api/airdrops/graphql/the-graph/scalars/bytes.mdx)
#### [Batch_filter.hash_in
](#)[[Bytes!]
](/docs/api/airdrops/graphql/the-graph/scalars/bytes.mdx)
#### [Batch_filter.hash_not_in
](#)[[Bytes!]
](/docs/api/airdrops/graphql/the-graph/scalars/bytes.mdx)
#### [Batch_filter.hash_contains
](#)[Bytes
](/docs/api/airdrops/graphql/the-graph/scalars/bytes.mdx)
#### [Batch_filter.hash_not_contains
](#)[Bytes
](/docs/api/airdrops/graphql/the-graph/scalars/bytes.mdx)
#### [Batch_filter.timestamp
](#)[BigInt
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
#### [Batch_filter.timestamp_not
](#)[BigInt
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
#### [Batch_filter.timestamp_gt
](#)[BigInt
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
#### [Batch_filter.timestamp_lt
](#)[BigInt
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
#### [Batch_filter.timestamp_gte
](#)[BigInt
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
#### [Batch_filter.timestamp_lte
](#)[BigInt
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
#### [Batch_filter.timestamp_in
](#)[[BigInt!]
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
#### [Batch_filter.timestamp_not_in
](#)[[BigInt!]
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
#### [Batch_filter.batcher
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Batch_filter.batcher_not
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Batch_filter.batcher_gt
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Batch_filter.batcher_lt
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Batch_filter.batcher_gte
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Batch_filter.batcher_lte
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Batch_filter.batcher_in
](#)[[String!]
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Batch_filter.batcher_not_in
](#)[[String!]
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Batch_filter.batcher_contains
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Batch_filter.batcher_contains_nocase
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Batch_filter.batcher_not_contains
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Batch_filter.batcher_not_contains_nocase
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Batch_filter.batcher_starts_with
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Batch_filter.batcher_starts_with_nocase
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Batch_filter.batcher_not_starts_with
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Batch_filter.batcher_not_starts_with_nocase
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Batch_filter.batcher_ends_with
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Batch_filter.batcher_ends_with_nocase
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Batch_filter.batcher_not_ends_with
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Batch_filter.batcher_not_ends_with_nocase
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Batch_filter.batcher\_
](#)[Batcher_filter
](/docs/api/airdrops/graphql/the-graph/inputs/batcher-filter.mdx)
#### [Batch_filter.position
](#)[BigInt
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
#### [Batch_filter.position_not
](#)[BigInt
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
#### [Batch_filter.position_gt
](#)[BigInt
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
#### [Batch_filter.position_lt
](#)[BigInt
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
#### [Batch_filter.position_gte
](#)[BigInt
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
#### [Batch_filter.position_lte
](#)[BigInt
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
#### [Batch_filter.position_in
](#)[[BigInt!]
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
#### [Batch_filter.position_not_in
](#)[[BigInt!]
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
#### [Batch_filter.size
](#)[BigInt
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
#### [Batch_filter.size_not
](#)[BigInt
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
#### [Batch_filter.size_gt
](#)[BigInt
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
#### [Batch_filter.size_lt
](#)[BigInt
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
#### [Batch_filter.size_gte
](#)[BigInt
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
#### [Batch_filter.size_lte
](#)[BigInt
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
#### [Batch_filter.size_in
](#)[[BigInt!]
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
#### [Batch_filter.size_not_in
](#)[[BigInt!]
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
#### [Batch_filter.streams\_
](#)[Stream_filter
](/docs/api/airdrops/graphql/the-graph/inputs/stream-filter.mdx)
#### [Batch_filter.\_change_block
](#)[BlockChangedFilter
](/docs/api/airdrops/graphql/the-graph/inputs/block-changed-filter.mdx)
Filter for the block changed event.
#### [Batch_filter.and
](#)[[Batch_filter]
](/docs/api/airdrops/graphql/the-graph/inputs/batch-filter.mdx)
#### [Batch_filter.or
](#)[[Batch_filter]
](/docs/api/airdrops/graphql/the-graph/inputs/batch-filter.mdx)
---
## Batcher_filter
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
No description
```graphql
input Batcher_filter {
id: String
id_not: String
id_gt: String
id_lt: String
id_gte: String
id_lte: String
id_in: [String!]
id_not_in: [String!]
id_contains: String
id_contains_nocase: String
id_not_contains: String
id_not_contains_nocase: String
id_starts_with: String
id_starts_with_nocase: String
id_not_starts_with: String
id_not_starts_with_nocase: String
id_ends_with: String
id_ends_with_nocase: String
id_not_ends_with: String
id_not_ends_with_nocase: String
batchCounter: BigInt
batchCounter_not: BigInt
batchCounter_gt: BigInt
batchCounter_lt: BigInt
batchCounter_gte: BigInt
batchCounter_lte: BigInt
batchCounter_in: [BigInt!]
batchCounter_not_in: [BigInt!]
batches_: Batch_filter
_change_block: BlockChangedFilter
and: [Batcher_filter]
or: [Batcher_filter]
}
```
### Fields
#### [Batcher_filter.id
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Batcher_filter.id_not
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Batcher_filter.id_gt
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Batcher_filter.id_lt
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Batcher_filter.id_gte
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Batcher_filter.id_lte
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Batcher_filter.id_in
](#)[[String!]
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Batcher_filter.id_not_in
](#)[[String!]
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Batcher_filter.id_contains
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Batcher_filter.id_contains_nocase
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Batcher_filter.id_not_contains
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Batcher_filter.id_not_contains_nocase
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Batcher_filter.id_starts_with
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Batcher_filter.id_starts_with_nocase
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Batcher_filter.id_not_starts_with
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Batcher_filter.id_not_starts_with_nocase
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Batcher_filter.id_ends_with
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Batcher_filter.id_ends_with_nocase
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Batcher_filter.id_not_ends_with
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Batcher_filter.id_not_ends_with_nocase
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Batcher_filter.batchCounter
](#)[BigInt
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
#### [Batcher_filter.batchCounter_not
](#)[BigInt
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
#### [Batcher_filter.batchCounter_gt
](#)[BigInt
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
#### [Batcher_filter.batchCounter_lt
](#)[BigInt
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
#### [Batcher_filter.batchCounter_gte
](#)[BigInt
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
#### [Batcher_filter.batchCounter_lte
](#)[BigInt
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
#### [Batcher_filter.batchCounter_in
](#)[[BigInt!]
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
#### [Batcher_filter.batchCounter_not_in
](#)[[BigInt!]
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
#### [Batcher_filter.batches\_
](#)[Batch_filter
](/docs/api/airdrops/graphql/the-graph/inputs/batch-filter.mdx)
#### [Batcher_filter.\_change_block
](#)[BlockChangedFilter
](/docs/api/airdrops/graphql/the-graph/inputs/block-changed-filter.mdx)
Filter for the block changed event.
#### [Batcher_filter.and
](#)[[Batcher_filter]
](/docs/api/airdrops/graphql/the-graph/inputs/batcher-filter.mdx)
#### [Batcher_filter.or
](#)[[Batcher_filter]
](/docs/api/airdrops/graphql/the-graph/inputs/batcher-filter.mdx)
---
## BlockChangedFilter
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
No description
```graphql
input BlockChangedFilter {
number_gte: Int!
}
```
### Fields
#### [BlockChangedFilter.number_gte
](#)[Int!
](/docs/api/airdrops/graphql/the-graph/scalars/int.mdx)
---
## Block_height
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
No description
```graphql
input Block_height {
hash: Bytes
number: Int
number_gte: Int
}
```
### Fields
#### [Block_height.hash
](#)[Bytes
](/docs/api/airdrops/graphql/the-graph/scalars/bytes.mdx)
#### [Block_height.number
](#)[Int
](/docs/api/airdrops/graphql/the-graph/scalars/int.mdx)
#### [Block_height.number_gte
](#)[Int
](/docs/api/airdrops/graphql/the-graph/scalars/int.mdx)
---
## Campaign_filter
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
No description
```graphql
input Campaign_filter {
id: String
id_not: String
id_gt: String
id_lt: String
id_gte: String
id_lte: String
id_in: [String!]
id_not_in: [String!]
id_contains: String
id_contains_nocase: String
id_not_contains: String
id_not_contains_nocase: String
id_starts_with: String
id_starts_with_nocase: String
id_not_starts_with: String
id_not_starts_with_nocase: String
id_ends_with: String
id_ends_with_nocase: String
id_not_ends_with: String
id_not_ends_with_nocase: String
chainId: BigInt
chainId_not: BigInt
chainId_gt: BigInt
chainId_lt: BigInt
chainId_gte: BigInt
chainId_lte: BigInt
chainId_in: [BigInt!]
chainId_not_in: [BigInt!]
subgraphId: BigInt
subgraphId_not: BigInt
subgraphId_gt: BigInt
subgraphId_lt: BigInt
subgraphId_gte: BigInt
subgraphId_lte: BigInt
subgraphId_in: [BigInt!]
subgraphId_not_in: [BigInt!]
hash: Bytes
hash_not: Bytes
hash_gt: Bytes
hash_lt: Bytes
hash_gte: Bytes
hash_lte: Bytes
hash_in: [Bytes!]
hash_not_in: [Bytes!]
hash_contains: Bytes
hash_not_contains: Bytes
timestamp: BigInt
timestamp_not: BigInt
timestamp_gt: BigInt
timestamp_lt: BigInt
timestamp_gte: BigInt
timestamp_lte: BigInt
timestamp_in: [BigInt!]
timestamp_not_in: [BigInt!]
actions_: Action_filter
clawbackAction: String
clawbackAction_not: String
clawbackAction_gt: String
clawbackAction_lt: String
clawbackAction_gte: String
clawbackAction_lte: String
clawbackAction_in: [String!]
clawbackAction_not_in: [String!]
clawbackAction_contains: String
clawbackAction_contains_nocase: String
clawbackAction_not_contains: String
clawbackAction_not_contains_nocase: String
clawbackAction_starts_with: String
clawbackAction_starts_with_nocase: String
clawbackAction_not_starts_with: String
clawbackAction_not_starts_with_nocase: String
clawbackAction_ends_with: String
clawbackAction_ends_with_nocase: String
clawbackAction_not_ends_with: String
clawbackAction_not_ends_with_nocase: String
clawbackAction_: Action_filter
category: CampaignCategory
category_not: CampaignCategory
category_in: [CampaignCategory!]
category_not_in: [CampaignCategory!]
name: String
name_not: String
name_gt: String
name_lt: String
name_gte: String
name_lte: String
name_in: [String!]
name_not_in: [String!]
name_contains: String
name_contains_nocase: String
name_not_contains: String
name_not_contains_nocase: String
name_starts_with: String
name_starts_with_nocase: String
name_not_starts_with: String
name_not_starts_with_nocase: String
name_ends_with: String
name_ends_with_nocase: String
name_not_ends_with: String
name_not_ends_with_nocase: String
nickname: String
nickname_not: String
nickname_gt: String
nickname_lt: String
nickname_gte: String
nickname_lte: String
nickname_in: [String!]
nickname_not_in: [String!]
nickname_contains: String
nickname_contains_nocase: String
nickname_not_contains: String
nickname_not_contains_nocase: String
nickname_starts_with: String
nickname_starts_with_nocase: String
nickname_not_starts_with: String
nickname_not_starts_with_nocase: String
nickname_ends_with: String
nickname_ends_with_nocase: String
nickname_not_ends_with: String
nickname_not_ends_with_nocase: String
activities_: Activity_filter
address: Bytes
address_not: Bytes
address_gt: Bytes
address_lt: Bytes
address_gte: Bytes
address_lte: Bytes
address_in: [Bytes!]
address_not_in: [Bytes!]
address_contains: Bytes
address_not_contains: Bytes
admin: Bytes
admin_not: Bytes
admin_gt: Bytes
admin_lt: Bytes
admin_gte: Bytes
admin_lte: Bytes
admin_in: [Bytes!]
admin_not_in: [Bytes!]
admin_contains: Bytes
admin_not_contains: Bytes
aggregateAmount: BigInt
aggregateAmount_not: BigInt
aggregateAmount_gt: BigInt
aggregateAmount_lt: BigInt
aggregateAmount_gte: BigInt
aggregateAmount_lte: BigInt
aggregateAmount_in: [BigInt!]
aggregateAmount_not_in: [BigInt!]
asset: String
asset_not: String
asset_gt: String
asset_lt: String
asset_gte: String
asset_lte: String
asset_in: [String!]
asset_not_in: [String!]
asset_contains: String
asset_contains_nocase: String
asset_not_contains: String
asset_not_contains_nocase: String
asset_starts_with: String
asset_starts_with_nocase: String
asset_not_starts_with: String
asset_not_starts_with_nocase: String
asset_ends_with: String
asset_ends_with_nocase: String
asset_not_ends_with: String
asset_not_ends_with_nocase: String
asset_: Asset_filter
claimedAmount: BigInt
claimedAmount_not: BigInt
claimedAmount_gt: BigInt
claimedAmount_lt: BigInt
claimedAmount_gte: BigInt
claimedAmount_lte: BigInt
claimedAmount_in: [BigInt!]
claimedAmount_not_in: [BigInt!]
claimedCount: BigInt
claimedCount_not: BigInt
claimedCount_gt: BigInt
claimedCount_lt: BigInt
claimedCount_gte: BigInt
claimedCount_lte: BigInt
claimedCount_in: [BigInt!]
claimedCount_not_in: [BigInt!]
clawbackTime: BigInt
clawbackTime_not: BigInt
clawbackTime_gt: BigInt
clawbackTime_lt: BigInt
clawbackTime_gte: BigInt
clawbackTime_lte: BigInt
clawbackTime_in: [BigInt!]
clawbackTime_not_in: [BigInt!]
expiration: BigInt
expiration_not: BigInt
expiration_gt: BigInt
expiration_lt: BigInt
expiration_gte: BigInt
expiration_lte: BigInt
expiration_in: [BigInt!]
expiration_not_in: [BigInt!]
expires: Boolean
expires_not: Boolean
expires_in: [Boolean!]
expires_not_in: [Boolean!]
factory: String
factory_not: String
factory_gt: String
factory_lt: String
factory_gte: String
factory_lte: String
factory_in: [String!]
factory_not_in: [String!]
factory_contains: String
factory_contains_nocase: String
factory_not_contains: String
factory_not_contains_nocase: String
factory_starts_with: String
factory_starts_with_nocase: String
factory_not_starts_with: String
factory_not_starts_with_nocase: String
factory_ends_with: String
factory_ends_with_nocase: String
factory_not_ends_with: String
factory_not_ends_with_nocase: String
factory_: Factory_filter
fee: BigInt
fee_not: BigInt
fee_gt: BigInt
fee_lt: BigInt
fee_gte: BigInt
fee_lte: BigInt
fee_in: [BigInt!]
fee_not_in: [BigInt!]
ipfsCID: String
ipfsCID_not: String
ipfsCID_gt: String
ipfsCID_lt: String
ipfsCID_gte: String
ipfsCID_lte: String
ipfsCID_in: [String!]
ipfsCID_not_in: [String!]
ipfsCID_contains: String
ipfsCID_contains_nocase: String
ipfsCID_not_contains: String
ipfsCID_not_contains_nocase: String
ipfsCID_starts_with: String
ipfsCID_starts_with_nocase: String
ipfsCID_not_starts_with: String
ipfsCID_not_starts_with_nocase: String
ipfsCID_ends_with: String
ipfsCID_ends_with_nocase: String
ipfsCID_not_ends_with: String
ipfsCID_not_ends_with_nocase: String
position: BigInt
position_not: BigInt
position_gt: BigInt
position_lt: BigInt
position_gte: BigInt
position_lte: BigInt
position_in: [BigInt!]
position_not_in: [BigInt!]
root: Bytes
root_not: Bytes
root_gt: Bytes
root_lt: Bytes
root_gte: Bytes
root_lte: Bytes
root_in: [Bytes!]
root_not_in: [Bytes!]
root_contains: Bytes
root_not_contains: Bytes
totalRecipients: BigInt
totalRecipients_not: BigInt
totalRecipients_gt: BigInt
totalRecipients_lt: BigInt
totalRecipients_gte: BigInt
totalRecipients_lte: BigInt
totalRecipients_in: [BigInt!]
totalRecipients_not_in: [BigInt!]
version: String
version_not: String
version_gt: String
version_lt: String
version_gte: String
version_lte: String
version_in: [String!]
version_not_in: [String!]
version_contains: String
version_contains_nocase: String
version_not_contains: String
version_not_contains_nocase: String
version_starts_with: String
version_starts_with_nocase: String
version_not_starts_with: String
version_not_starts_with_nocase: String
version_ends_with: String
version_ends_with_nocase: String
version_not_ends_with: String
version_not_ends_with_nocase: String
lockup: Bytes
lockup_not: Bytes
lockup_gt: Bytes
lockup_lt: Bytes
lockup_gte: Bytes
lockup_lte: Bytes
lockup_in: [Bytes!]
lockup_not_in: [Bytes!]
lockup_contains: Bytes
lockup_not_contains: Bytes
streamCancelable: Boolean
streamCancelable_not: Boolean
streamCancelable_in: [Boolean!]
streamCancelable_not_in: [Boolean!]
streamCliff: Boolean
streamCliff_not: Boolean
streamCliff_in: [Boolean!]
streamCliff_not_in: [Boolean!]
streamCliffDuration: BigInt
streamCliffDuration_not: BigInt
streamCliffDuration_gt: BigInt
streamCliffDuration_lt: BigInt
streamCliffDuration_gte: BigInt
streamCliffDuration_lte: BigInt
streamCliffDuration_in: [BigInt!]
streamCliffDuration_not_in: [BigInt!]
streamCliffPercentage: BigInt
streamCliffPercentage_not: BigInt
streamCliffPercentage_gt: BigInt
streamCliffPercentage_lt: BigInt
streamCliffPercentage_gte: BigInt
streamCliffPercentage_lte: BigInt
streamCliffPercentage_in: [BigInt!]
streamCliffPercentage_not_in: [BigInt!]
streamInitial: Boolean
streamInitial_not: Boolean
streamInitial_in: [Boolean!]
streamInitial_not_in: [Boolean!]
streamInitialPercentage: BigInt
streamInitialPercentage_not: BigInt
streamInitialPercentage_gt: BigInt
streamInitialPercentage_lt: BigInt
streamInitialPercentage_gte: BigInt
streamInitialPercentage_lte: BigInt
streamInitialPercentage_in: [BigInt!]
streamInitialPercentage_not_in: [BigInt!]
streamShape: String
streamShape_not: String
streamShape_gt: String
streamShape_lt: String
streamShape_gte: String
streamShape_lte: String
streamShape_in: [String!]
streamShape_not_in: [String!]
streamShape_contains: String
streamShape_contains_nocase: String
streamShape_not_contains: String
streamShape_not_contains_nocase: String
streamShape_starts_with: String
streamShape_starts_with_nocase: String
streamShape_not_starts_with: String
streamShape_not_starts_with_nocase: String
streamShape_ends_with: String
streamShape_ends_with_nocase: String
streamShape_not_ends_with: String
streamShape_not_ends_with_nocase: String
streamStart: Boolean
streamStart_not: Boolean
streamStart_in: [Boolean!]
streamStart_not_in: [Boolean!]
streamStartTime: BigInt
streamStartTime_not: BigInt
streamStartTime_gt: BigInt
streamStartTime_lt: BigInt
streamStartTime_gte: BigInt
streamStartTime_lte: BigInt
streamStartTime_in: [BigInt!]
streamStartTime_not_in: [BigInt!]
streamTotalDuration: BigInt
streamTotalDuration_not: BigInt
streamTotalDuration_gt: BigInt
streamTotalDuration_lt: BigInt
streamTotalDuration_gte: BigInt
streamTotalDuration_lte: BigInt
streamTotalDuration_in: [BigInt!]
streamTotalDuration_not_in: [BigInt!]
streamTranches_: Tranche_filter
streamTransferable: Boolean
streamTransferable_not: Boolean
streamTransferable_in: [Boolean!]
streamTransferable_not_in: [Boolean!]
_change_block: BlockChangedFilter
and: [Campaign_filter]
or: [Campaign_filter]
}
```
### Fields
#### [Campaign_filter.id
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Campaign_filter.id_not
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Campaign_filter.id_gt
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Campaign_filter.id_lt
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Campaign_filter.id_gte
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Campaign_filter.id_lte
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Campaign_filter.id_in
](#)[[String!]
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Campaign_filter.id_not_in
](#)[[String!]
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Campaign_filter.id_contains
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Campaign_filter.id_contains_nocase
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Campaign_filter.id_not_contains
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Campaign_filter.id_not_contains_nocase
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Campaign_filter.id_starts_with
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Campaign_filter.id_starts_with_nocase
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Campaign_filter.id_not_starts_with
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Campaign_filter.id_not_starts_with_nocase
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Campaign_filter.id_ends_with
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Campaign_filter.id_ends_with_nocase
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Campaign_filter.id_not_ends_with
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Campaign_filter.id_not_ends_with_nocase
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Campaign_filter.chainId
](#)[BigInt
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
#### [Campaign_filter.chainId_not
](#)[BigInt
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
#### [Campaign_filter.chainId_gt
](#)[BigInt
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
#### [Campaign_filter.chainId_lt
](#)[BigInt
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
#### [Campaign_filter.chainId_gte
](#)[BigInt
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
#### [Campaign_filter.chainId_lte
](#)[BigInt
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
#### [Campaign_filter.chainId_in
](#)[[BigInt!]
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
#### [Campaign_filter.chainId_not_in
](#)[[BigInt!]
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
#### [Campaign_filter.subgraphId
](#)[BigInt
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
#### [Campaign_filter.subgraphId_not
](#)[BigInt
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
#### [Campaign_filter.subgraphId_gt
](#)[BigInt
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
#### [Campaign_filter.subgraphId_lt
](#)[BigInt
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
#### [Campaign_filter.subgraphId_gte
](#)[BigInt
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
#### [Campaign_filter.subgraphId_lte
](#)[BigInt
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
#### [Campaign_filter.subgraphId_in
](#)[[BigInt!]
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
#### [Campaign_filter.subgraphId_not_in
](#)[[BigInt!]
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
#### [Campaign_filter.hash
](#)[Bytes
](/docs/api/airdrops/graphql/the-graph/scalars/bytes.mdx)
#### [Campaign_filter.hash_not
](#)[Bytes
](/docs/api/airdrops/graphql/the-graph/scalars/bytes.mdx)
#### [Campaign_filter.hash_gt
](#)[Bytes
](/docs/api/airdrops/graphql/the-graph/scalars/bytes.mdx)
#### [Campaign_filter.hash_lt
](#)[Bytes
](/docs/api/airdrops/graphql/the-graph/scalars/bytes.mdx)
#### [Campaign_filter.hash_gte
](#)[Bytes
](/docs/api/airdrops/graphql/the-graph/scalars/bytes.mdx)
#### [Campaign_filter.hash_lte
](#)[Bytes
](/docs/api/airdrops/graphql/the-graph/scalars/bytes.mdx)
#### [Campaign_filter.hash_in
](#)[[Bytes!]
](/docs/api/airdrops/graphql/the-graph/scalars/bytes.mdx)
#### [Campaign_filter.hash_not_in
](#)[[Bytes!]
](/docs/api/airdrops/graphql/the-graph/scalars/bytes.mdx)
#### [Campaign_filter.hash_contains
](#)[Bytes
](/docs/api/airdrops/graphql/the-graph/scalars/bytes.mdx)
#### [Campaign_filter.hash_not_contains
](#)[Bytes
](/docs/api/airdrops/graphql/the-graph/scalars/bytes.mdx)
#### [Campaign_filter.timestamp
](#)[BigInt
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
#### [Campaign_filter.timestamp_not
](#)[BigInt
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
#### [Campaign_filter.timestamp_gt
](#)[BigInt
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
#### [Campaign_filter.timestamp_lt
](#)[BigInt
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
#### [Campaign_filter.timestamp_gte
](#)[BigInt
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
#### [Campaign_filter.timestamp_lte
](#)[BigInt
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
#### [Campaign_filter.timestamp_in
](#)[[BigInt!]
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
#### [Campaign_filter.timestamp_not_in
](#)[[BigInt!]
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
#### [Campaign_filter.actions\_
](#)[Action_filter
](/docs/api/airdrops/graphql/the-graph/inputs/action-filter.mdx)
#### [Campaign_filter.clawbackAction
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Campaign_filter.clawbackAction_not
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Campaign_filter.clawbackAction_gt
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Campaign_filter.clawbackAction_lt
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Campaign_filter.clawbackAction_gte
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Campaign_filter.clawbackAction_lte
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Campaign_filter.clawbackAction_in
](#)[[String!]
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Campaign_filter.clawbackAction_not_in
](#)[[String!]
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Campaign_filter.clawbackAction_contains
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Campaign_filter.clawbackAction_contains_nocase
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Campaign_filter.clawbackAction_not_contains
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Campaign_filter.clawbackAction_not_contains_nocase
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Campaign_filter.clawbackAction_starts_with
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Campaign_filter.clawbackAction_starts_with_nocase
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Campaign_filter.clawbackAction_not_starts_with
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Campaign_filter.clawbackAction_not_starts_with_nocase
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Campaign_filter.clawbackAction_ends_with
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Campaign_filter.clawbackAction_ends_with_nocase
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Campaign_filter.clawbackAction_not_ends_with
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Campaign_filter.clawbackAction_not_ends_with_nocase
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Campaign_filter.clawbackAction\_
](#)[Action_filter
](/docs/api/airdrops/graphql/the-graph/inputs/action-filter.mdx)
#### [Campaign_filter.category
](#)[CampaignCategory
](/docs/api/airdrops/graphql/the-graph/enums/campaign-category.mdx)
#### [Campaign_filter.category_not
](#)[CampaignCategory
](/docs/api/airdrops/graphql/the-graph/enums/campaign-category.mdx)
#### [Campaign_filter.category_in
](#)[[CampaignCategory!]
](/docs/api/airdrops/graphql/the-graph/enums/campaign-category.mdx)
#### [Campaign_filter.category_not_in
](#)[[CampaignCategory!]
](/docs/api/airdrops/graphql/the-graph/enums/campaign-category.mdx)
#### [Campaign_filter.name
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Campaign_filter.name_not
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Campaign_filter.name_gt
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Campaign_filter.name_lt
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Campaign_filter.name_gte
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Campaign_filter.name_lte
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Campaign_filter.name_in
](#)[[String!]
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Campaign_filter.name_not_in
](#)[[String!]
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Campaign_filter.name_contains
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Campaign_filter.name_contains_nocase
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Campaign_filter.name_not_contains
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Campaign_filter.name_not_contains_nocase
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Campaign_filter.name_starts_with
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Campaign_filter.name_starts_with_nocase
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Campaign_filter.name_not_starts_with
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Campaign_filter.name_not_starts_with_nocase
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Campaign_filter.name_ends_with
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Campaign_filter.name_ends_with_nocase
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Campaign_filter.name_not_ends_with
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Campaign_filter.name_not_ends_with_nocase
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Campaign_filter.nickname
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Campaign_filter.nickname_not
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Campaign_filter.nickname_gt
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Campaign_filter.nickname_lt
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Campaign_filter.nickname_gte
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Campaign_filter.nickname_lte
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Campaign_filter.nickname_in
](#)[[String!]
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Campaign_filter.nickname_not_in
](#)[[String!]
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Campaign_filter.nickname_contains
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Campaign_filter.nickname_contains_nocase
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Campaign_filter.nickname_not_contains
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Campaign_filter.nickname_not_contains_nocase
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Campaign_filter.nickname_starts_with
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Campaign_filter.nickname_starts_with_nocase
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Campaign_filter.nickname_not_starts_with
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Campaign_filter.nickname_not_starts_with_nocase
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Campaign_filter.nickname_ends_with
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Campaign_filter.nickname_ends_with_nocase
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Campaign_filter.nickname_not_ends_with
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Campaign_filter.nickname_not_ends_with_nocase
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Campaign_filter.activities\_
](#)[Activity_filter
](/docs/api/airdrops/graphql/the-graph/inputs/activity-filter.mdx)
#### [Campaign_filter.address
](#)[Bytes
](/docs/api/airdrops/graphql/the-graph/scalars/bytes.mdx)
#### [Campaign_filter.address_not
](#)[Bytes
](/docs/api/airdrops/graphql/the-graph/scalars/bytes.mdx)
#### [Campaign_filter.address_gt
](#)[Bytes
](/docs/api/airdrops/graphql/the-graph/scalars/bytes.mdx)
#### [Campaign_filter.address_lt
](#)[Bytes
](/docs/api/airdrops/graphql/the-graph/scalars/bytes.mdx)
#### [Campaign_filter.address_gte
](#)[Bytes
](/docs/api/airdrops/graphql/the-graph/scalars/bytes.mdx)
#### [Campaign_filter.address_lte
](#)[Bytes
](/docs/api/airdrops/graphql/the-graph/scalars/bytes.mdx)
#### [Campaign_filter.address_in
](#)[[Bytes!]
](/docs/api/airdrops/graphql/the-graph/scalars/bytes.mdx)
#### [Campaign_filter.address_not_in
](#)[[Bytes!]
](/docs/api/airdrops/graphql/the-graph/scalars/bytes.mdx)
#### [Campaign_filter.address_contains
](#)[Bytes
](/docs/api/airdrops/graphql/the-graph/scalars/bytes.mdx)
#### [Campaign_filter.address_not_contains
](#)[Bytes
](/docs/api/airdrops/graphql/the-graph/scalars/bytes.mdx)
#### [Campaign_filter.admin
](#)[Bytes
](/docs/api/airdrops/graphql/the-graph/scalars/bytes.mdx)
#### [Campaign_filter.admin_not
](#)[Bytes
](/docs/api/airdrops/graphql/the-graph/scalars/bytes.mdx)
#### [Campaign_filter.admin_gt
](#)[Bytes
](/docs/api/airdrops/graphql/the-graph/scalars/bytes.mdx)
#### [Campaign_filter.admin_lt
](#)[Bytes
](/docs/api/airdrops/graphql/the-graph/scalars/bytes.mdx)
#### [Campaign_filter.admin_gte
](#)[Bytes
](/docs/api/airdrops/graphql/the-graph/scalars/bytes.mdx)
#### [Campaign_filter.admin_lte
](#)[Bytes
](/docs/api/airdrops/graphql/the-graph/scalars/bytes.mdx)
#### [Campaign_filter.admin_in
](#)[[Bytes!]
](/docs/api/airdrops/graphql/the-graph/scalars/bytes.mdx)
#### [Campaign_filter.admin_not_in
](#)[[Bytes!]
](/docs/api/airdrops/graphql/the-graph/scalars/bytes.mdx)
#### [Campaign_filter.admin_contains
](#)[Bytes
](/docs/api/airdrops/graphql/the-graph/scalars/bytes.mdx)
#### [Campaign_filter.admin_not_contains
](#)[Bytes
](/docs/api/airdrops/graphql/the-graph/scalars/bytes.mdx)
#### [Campaign_filter.aggregateAmount
](#)[BigInt
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
#### [Campaign_filter.aggregateAmount_not
](#)[BigInt
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
#### [Campaign_filter.aggregateAmount_gt
](#)[BigInt
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
#### [Campaign_filter.aggregateAmount_lt
](#)[BigInt
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
#### [Campaign_filter.aggregateAmount_gte
](#)[BigInt
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
#### [Campaign_filter.aggregateAmount_lte
](#)[BigInt
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
#### [Campaign_filter.aggregateAmount_in
](#)[[BigInt!]
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
#### [Campaign_filter.aggregateAmount_not_in
](#)[[BigInt!]
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
#### [Campaign_filter.asset
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Campaign_filter.asset_not
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Campaign_filter.asset_gt
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Campaign_filter.asset_lt
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Campaign_filter.asset_gte
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Campaign_filter.asset_lte
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Campaign_filter.asset_in
](#)[[String!]
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Campaign_filter.asset_not_in
](#)[[String!]
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Campaign_filter.asset_contains
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Campaign_filter.asset_contains_nocase
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Campaign_filter.asset_not_contains
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Campaign_filter.asset_not_contains_nocase
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Campaign_filter.asset_starts_with
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Campaign_filter.asset_starts_with_nocase
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Campaign_filter.asset_not_starts_with
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Campaign_filter.asset_not_starts_with_nocase
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Campaign_filter.asset_ends_with
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Campaign_filter.asset_ends_with_nocase
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Campaign_filter.asset_not_ends_with
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Campaign_filter.asset_not_ends_with_nocase
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Campaign_filter.asset\_
](#)[Asset_filter
](/docs/api/airdrops/graphql/the-graph/inputs/asset-filter.mdx)
#### [Campaign_filter.claimedAmount
](#)[BigInt
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
#### [Campaign_filter.claimedAmount_not
](#)[BigInt
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
#### [Campaign_filter.claimedAmount_gt
](#)[BigInt
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
#### [Campaign_filter.claimedAmount_lt
](#)[BigInt
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
#### [Campaign_filter.claimedAmount_gte
](#)[BigInt
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
#### [Campaign_filter.claimedAmount_lte
](#)[BigInt
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
#### [Campaign_filter.claimedAmount_in
](#)[[BigInt!]
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
#### [Campaign_filter.claimedAmount_not_in
](#)[[BigInt!]
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
#### [Campaign_filter.claimedCount
](#)[BigInt
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
#### [Campaign_filter.claimedCount_not
](#)[BigInt
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
#### [Campaign_filter.claimedCount_gt
](#)[BigInt
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
#### [Campaign_filter.claimedCount_lt
](#)[BigInt
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
#### [Campaign_filter.claimedCount_gte
](#)[BigInt
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
#### [Campaign_filter.claimedCount_lte
](#)[BigInt
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
#### [Campaign_filter.claimedCount_in
](#)[[BigInt!]
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
#### [Campaign_filter.claimedCount_not_in
](#)[[BigInt!]
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
#### [Campaign_filter.clawbackTime
](#)[BigInt
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
#### [Campaign_filter.clawbackTime_not
](#)[BigInt
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
#### [Campaign_filter.clawbackTime_gt
](#)[BigInt
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
#### [Campaign_filter.clawbackTime_lt
](#)[BigInt
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
#### [Campaign_filter.clawbackTime_gte
](#)[BigInt
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
#### [Campaign_filter.clawbackTime_lte
](#)[BigInt
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
#### [Campaign_filter.clawbackTime_in
](#)[[BigInt!]
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
#### [Campaign_filter.clawbackTime_not_in
](#)[[BigInt!]
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
#### [Campaign_filter.expiration
](#)[BigInt
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
#### [Campaign_filter.expiration_not
](#)[BigInt
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
#### [Campaign_filter.expiration_gt
](#)[BigInt
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
#### [Campaign_filter.expiration_lt
](#)[BigInt
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
#### [Campaign_filter.expiration_gte
](#)[BigInt
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
#### [Campaign_filter.expiration_lte
](#)[BigInt
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
#### [Campaign_filter.expiration_in
](#)[[BigInt!]
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
#### [Campaign_filter.expiration_not_in
](#)[[BigInt!]
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
#### [Campaign_filter.expires
](#)[Boolean
](/docs/api/airdrops/graphql/the-graph/scalars/boolean.mdx)
#### [Campaign_filter.expires_not
](#)[Boolean
](/docs/api/airdrops/graphql/the-graph/scalars/boolean.mdx)
#### [Campaign_filter.expires_in
](#)[[Boolean!]
](/docs/api/airdrops/graphql/the-graph/scalars/boolean.mdx)
#### [Campaign_filter.expires_not_in
](#)[[Boolean!]
](/docs/api/airdrops/graphql/the-graph/scalars/boolean.mdx)
#### [Campaign_filter.factory
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Campaign_filter.factory_not
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Campaign_filter.factory_gt
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Campaign_filter.factory_lt
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Campaign_filter.factory_gte
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Campaign_filter.factory_lte
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Campaign_filter.factory_in
](#)[[String!]
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Campaign_filter.factory_not_in
](#)[[String!]
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Campaign_filter.factory_contains
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Campaign_filter.factory_contains_nocase
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Campaign_filter.factory_not_contains
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Campaign_filter.factory_not_contains_nocase
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Campaign_filter.factory_starts_with
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Campaign_filter.factory_starts_with_nocase
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Campaign_filter.factory_not_starts_with
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Campaign_filter.factory_not_starts_with_nocase
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Campaign_filter.factory_ends_with
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Campaign_filter.factory_ends_with_nocase
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Campaign_filter.factory_not_ends_with
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Campaign_filter.factory_not_ends_with_nocase
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Campaign_filter.factory\_
](#)[Factory_filter
](/docs/api/airdrops/graphql/the-graph/inputs/factory-filter.mdx)
#### [Campaign_filter.fee
](#)[BigInt
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
#### [Campaign_filter.fee_not
](#)[BigInt
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
#### [Campaign_filter.fee_gt
](#)[BigInt
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
#### [Campaign_filter.fee_lt
](#)[BigInt
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
#### [Campaign_filter.fee_gte
](#)[BigInt
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
#### [Campaign_filter.fee_lte
](#)[BigInt
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
#### [Campaign_filter.fee_in
](#)[[BigInt!]
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
#### [Campaign_filter.fee_not_in
](#)[[BigInt!]
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
#### [Campaign_filter.ipfsCID
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Campaign_filter.ipfsCID_not
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Campaign_filter.ipfsCID_gt
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Campaign_filter.ipfsCID_lt
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Campaign_filter.ipfsCID_gte
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Campaign_filter.ipfsCID_lte
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Campaign_filter.ipfsCID_in
](#)[[String!]
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Campaign_filter.ipfsCID_not_in
](#)[[String!]
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Campaign_filter.ipfsCID_contains
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Campaign_filter.ipfsCID_contains_nocase
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Campaign_filter.ipfsCID_not_contains
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Campaign_filter.ipfsCID_not_contains_nocase
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Campaign_filter.ipfsCID_starts_with
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Campaign_filter.ipfsCID_starts_with_nocase
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Campaign_filter.ipfsCID_not_starts_with
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Campaign_filter.ipfsCID_not_starts_with_nocase
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Campaign_filter.ipfsCID_ends_with
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Campaign_filter.ipfsCID_ends_with_nocase
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Campaign_filter.ipfsCID_not_ends_with
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Campaign_filter.ipfsCID_not_ends_with_nocase
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Campaign_filter.position
](#)[BigInt
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
#### [Campaign_filter.position_not
](#)[BigInt
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
#### [Campaign_filter.position_gt
](#)[BigInt
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
#### [Campaign_filter.position_lt
](#)[BigInt
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
#### [Campaign_filter.position_gte
](#)[BigInt
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
#### [Campaign_filter.position_lte
](#)[BigInt
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
#### [Campaign_filter.position_in
](#)[[BigInt!]
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
#### [Campaign_filter.position_not_in
](#)[[BigInt!]
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
#### [Campaign_filter.root
](#)[Bytes
](/docs/api/airdrops/graphql/the-graph/scalars/bytes.mdx)
#### [Campaign_filter.root_not
](#)[Bytes
](/docs/api/airdrops/graphql/the-graph/scalars/bytes.mdx)
#### [Campaign_filter.root_gt
](#)[Bytes
](/docs/api/airdrops/graphql/the-graph/scalars/bytes.mdx)
#### [Campaign_filter.root_lt
](#)[Bytes
](/docs/api/airdrops/graphql/the-graph/scalars/bytes.mdx)
#### [Campaign_filter.root_gte
](#)[Bytes
](/docs/api/airdrops/graphql/the-graph/scalars/bytes.mdx)
#### [Campaign_filter.root_lte
](#)[Bytes
](/docs/api/airdrops/graphql/the-graph/scalars/bytes.mdx)
#### [Campaign_filter.root_in
](#)[[Bytes!]
](/docs/api/airdrops/graphql/the-graph/scalars/bytes.mdx)
#### [Campaign_filter.root_not_in
](#)[[Bytes!]
](/docs/api/airdrops/graphql/the-graph/scalars/bytes.mdx)
#### [Campaign_filter.root_contains
](#)[Bytes
](/docs/api/airdrops/graphql/the-graph/scalars/bytes.mdx)
#### [Campaign_filter.root_not_contains
](#)[Bytes
](/docs/api/airdrops/graphql/the-graph/scalars/bytes.mdx)
#### [Campaign_filter.totalRecipients
](#)[BigInt
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
#### [Campaign_filter.totalRecipients_not
](#)[BigInt
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
#### [Campaign_filter.totalRecipients_gt
](#)[BigInt
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
#### [Campaign_filter.totalRecipients_lt
](#)[BigInt
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
#### [Campaign_filter.totalRecipients_gte
](#)[BigInt
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
#### [Campaign_filter.totalRecipients_lte
](#)[BigInt
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
#### [Campaign_filter.totalRecipients_in
](#)[[BigInt!]
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
#### [Campaign_filter.totalRecipients_not_in
](#)[[BigInt!]
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
#### [Campaign_filter.version
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Campaign_filter.version_not
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Campaign_filter.version_gt
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Campaign_filter.version_lt
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Campaign_filter.version_gte
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Campaign_filter.version_lte
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Campaign_filter.version_in
](#)[[String!]
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Campaign_filter.version_not_in
](#)[[String!]
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Campaign_filter.version_contains
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Campaign_filter.version_contains_nocase
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Campaign_filter.version_not_contains
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Campaign_filter.version_not_contains_nocase
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Campaign_filter.version_starts_with
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Campaign_filter.version_starts_with_nocase
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Campaign_filter.version_not_starts_with
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Campaign_filter.version_not_starts_with_nocase
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Campaign_filter.version_ends_with
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Campaign_filter.version_ends_with_nocase
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Campaign_filter.version_not_ends_with
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Campaign_filter.version_not_ends_with_nocase
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Campaign_filter.lockup
](#)[Bytes
](/docs/api/airdrops/graphql/the-graph/scalars/bytes.mdx)
#### [Campaign_filter.lockup_not
](#)[Bytes
](/docs/api/airdrops/graphql/the-graph/scalars/bytes.mdx)
#### [Campaign_filter.lockup_gt
](#)[Bytes
](/docs/api/airdrops/graphql/the-graph/scalars/bytes.mdx)
#### [Campaign_filter.lockup_lt
](#)[Bytes
](/docs/api/airdrops/graphql/the-graph/scalars/bytes.mdx)
#### [Campaign_filter.lockup_gte
](#)[Bytes
](/docs/api/airdrops/graphql/the-graph/scalars/bytes.mdx)
#### [Campaign_filter.lockup_lte
](#)[Bytes
](/docs/api/airdrops/graphql/the-graph/scalars/bytes.mdx)
#### [Campaign_filter.lockup_in
](#)[[Bytes!]
](/docs/api/airdrops/graphql/the-graph/scalars/bytes.mdx)
#### [Campaign_filter.lockup_not_in
](#)[[Bytes!]
](/docs/api/airdrops/graphql/the-graph/scalars/bytes.mdx)
#### [Campaign_filter.lockup_contains
](#)[Bytes
](/docs/api/airdrops/graphql/the-graph/scalars/bytes.mdx)
#### [Campaign_filter.lockup_not_contains
](#)[Bytes
](/docs/api/airdrops/graphql/the-graph/scalars/bytes.mdx)
#### [Campaign_filter.streamCancelable
](#)[Boolean
](/docs/api/airdrops/graphql/the-graph/scalars/boolean.mdx)
#### [Campaign_filter.streamCancelable_not
](#)[Boolean
](/docs/api/airdrops/graphql/the-graph/scalars/boolean.mdx)
#### [Campaign_filter.streamCancelable_in
](#)[[Boolean!]
](/docs/api/airdrops/graphql/the-graph/scalars/boolean.mdx)
#### [Campaign_filter.streamCancelable_not_in
](#)[[Boolean!]
](/docs/api/airdrops/graphql/the-graph/scalars/boolean.mdx)
#### [Campaign_filter.streamCliff
](#)[Boolean
](/docs/api/airdrops/graphql/the-graph/scalars/boolean.mdx)
#### [Campaign_filter.streamCliff_not
](#)[Boolean
](/docs/api/airdrops/graphql/the-graph/scalars/boolean.mdx)
#### [Campaign_filter.streamCliff_in
](#)[[Boolean!]
](/docs/api/airdrops/graphql/the-graph/scalars/boolean.mdx)
#### [Campaign_filter.streamCliff_not_in
](#)[[Boolean!]
](/docs/api/airdrops/graphql/the-graph/scalars/boolean.mdx)
#### [Campaign_filter.streamCliffDuration
](#)[BigInt
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
#### [Campaign_filter.streamCliffDuration_not
](#)[BigInt
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
#### [Campaign_filter.streamCliffDuration_gt
](#)[BigInt
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
#### [Campaign_filter.streamCliffDuration_lt
](#)[BigInt
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
#### [Campaign_filter.streamCliffDuration_gte
](#)[BigInt
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
#### [Campaign_filter.streamCliffDuration_lte
](#)[BigInt
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
#### [Campaign_filter.streamCliffDuration_in
](#)[[BigInt!]
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
#### [Campaign_filter.streamCliffDuration_not_in
](#)[[BigInt!]
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
#### [Campaign_filter.streamCliffPercentage
](#)[BigInt
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
#### [Campaign_filter.streamCliffPercentage_not
](#)[BigInt
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
#### [Campaign_filter.streamCliffPercentage_gt
](#)[BigInt
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
#### [Campaign_filter.streamCliffPercentage_lt
](#)[BigInt
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
#### [Campaign_filter.streamCliffPercentage_gte
](#)[BigInt
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
#### [Campaign_filter.streamCliffPercentage_lte
](#)[BigInt
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
#### [Campaign_filter.streamCliffPercentage_in
](#)[[BigInt!]
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
#### [Campaign_filter.streamCliffPercentage_not_in
](#)[[BigInt!]
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
#### [Campaign_filter.streamInitial
](#)[Boolean
](/docs/api/airdrops/graphql/the-graph/scalars/boolean.mdx)
#### [Campaign_filter.streamInitial_not
](#)[Boolean
](/docs/api/airdrops/graphql/the-graph/scalars/boolean.mdx)
#### [Campaign_filter.streamInitial_in
](#)[[Boolean!]
](/docs/api/airdrops/graphql/the-graph/scalars/boolean.mdx)
#### [Campaign_filter.streamInitial_not_in
](#)[[Boolean!]
](/docs/api/airdrops/graphql/the-graph/scalars/boolean.mdx)
#### [Campaign_filter.streamInitialPercentage
](#)[BigInt
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
#### [Campaign_filter.streamInitialPercentage_not
](#)[BigInt
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
#### [Campaign_filter.streamInitialPercentage_gt
](#)[BigInt
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
#### [Campaign_filter.streamInitialPercentage_lt
](#)[BigInt
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
#### [Campaign_filter.streamInitialPercentage_gte
](#)[BigInt
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
#### [Campaign_filter.streamInitialPercentage_lte
](#)[BigInt
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
#### [Campaign_filter.streamInitialPercentage_in
](#)[[BigInt!]
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
#### [Campaign_filter.streamInitialPercentage_not_in
](#)[[BigInt!]
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
#### [Campaign_filter.streamShape
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Campaign_filter.streamShape_not
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Campaign_filter.streamShape_gt
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Campaign_filter.streamShape_lt
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Campaign_filter.streamShape_gte
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Campaign_filter.streamShape_lte
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Campaign_filter.streamShape_in
](#)[[String!]
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Campaign_filter.streamShape_not_in
](#)[[String!]
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Campaign_filter.streamShape_contains
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Campaign_filter.streamShape_contains_nocase
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Campaign_filter.streamShape_not_contains
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Campaign_filter.streamShape_not_contains_nocase
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Campaign_filter.streamShape_starts_with
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Campaign_filter.streamShape_starts_with_nocase
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Campaign_filter.streamShape_not_starts_with
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Campaign_filter.streamShape_not_starts_with_nocase
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Campaign_filter.streamShape_ends_with
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Campaign_filter.streamShape_ends_with_nocase
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Campaign_filter.streamShape_not_ends_with
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Campaign_filter.streamShape_not_ends_with_nocase
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Campaign_filter.streamStart
](#)[Boolean
](/docs/api/airdrops/graphql/the-graph/scalars/boolean.mdx)
#### [Campaign_filter.streamStart_not
](#)[Boolean
](/docs/api/airdrops/graphql/the-graph/scalars/boolean.mdx)
#### [Campaign_filter.streamStart_in
](#)[[Boolean!]
](/docs/api/airdrops/graphql/the-graph/scalars/boolean.mdx)
#### [Campaign_filter.streamStart_not_in
](#)[[Boolean!]
](/docs/api/airdrops/graphql/the-graph/scalars/boolean.mdx)
#### [Campaign_filter.streamStartTime
](#)[BigInt
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
#### [Campaign_filter.streamStartTime_not
](#)[BigInt
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
#### [Campaign_filter.streamStartTime_gt
](#)[BigInt
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
#### [Campaign_filter.streamStartTime_lt
](#)[BigInt
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
#### [Campaign_filter.streamStartTime_gte
](#)[BigInt
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
#### [Campaign_filter.streamStartTime_lte
](#)[BigInt
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
#### [Campaign_filter.streamStartTime_in
](#)[[BigInt!]
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
#### [Campaign_filter.streamStartTime_not_in
](#)[[BigInt!]
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
#### [Campaign_filter.streamTotalDuration
](#)[BigInt
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
#### [Campaign_filter.streamTotalDuration_not
](#)[BigInt
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
#### [Campaign_filter.streamTotalDuration_gt
](#)[BigInt
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
#### [Campaign_filter.streamTotalDuration_lt
](#)[BigInt
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
#### [Campaign_filter.streamTotalDuration_gte
](#)[BigInt
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
#### [Campaign_filter.streamTotalDuration_lte
](#)[BigInt
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
#### [Campaign_filter.streamTotalDuration_in
](#)[[BigInt!]
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
#### [Campaign_filter.streamTotalDuration_not_in
](#)[[BigInt!]
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
#### [Campaign_filter.streamTranches\_
](#)[Tranche_filter
](/docs/api/airdrops/graphql/the-graph/inputs/tranche-filter.mdx)
#### [Campaign_filter.streamTransferable
](#)[Boolean
](/docs/api/airdrops/graphql/the-graph/scalars/boolean.mdx)
#### [Campaign_filter.streamTransferable_not
](#)[Boolean
](/docs/api/airdrops/graphql/the-graph/scalars/boolean.mdx)
#### [Campaign_filter.streamTransferable_in
](#)[[Boolean!]
](/docs/api/airdrops/graphql/the-graph/scalars/boolean.mdx)
#### [Campaign_filter.streamTransferable_not_in
](#)[[Boolean!]
](/docs/api/airdrops/graphql/the-graph/scalars/boolean.mdx)
#### [Campaign_filter.\_change_block
](#)[BlockChangedFilter
](/docs/api/airdrops/graphql/the-graph/inputs/block-changed-filter.mdx)
Filter for the block changed event.
#### [Campaign_filter.and
](#)[[Campaign_filter]
](/docs/api/airdrops/graphql/the-graph/inputs/campaign-filter.mdx)
#### [Campaign_filter.or
](#)[[Campaign_filter]
](/docs/api/airdrops/graphql/the-graph/inputs/campaign-filter.mdx)
---
## Factory_filter
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
No description
```graphql
input Factory_filter {
id: String
id_not: String
id_gt: String
id_lt: String
id_gte: String
id_lte: String
id_in: [String!]
id_not_in: [String!]
id_contains: String
id_contains_nocase: String
id_not_contains: String
id_not_contains_nocase: String
id_starts_with: String
id_starts_with_nocase: String
id_not_starts_with: String
id_not_starts_with_nocase: String
id_ends_with: String
id_ends_with_nocase: String
id_not_ends_with: String
id_not_ends_with_nocase: String
address: Bytes
address_not: Bytes
address_gt: Bytes
address_lt: Bytes
address_gte: Bytes
address_lte: Bytes
address_in: [Bytes!]
address_not_in: [Bytes!]
address_contains: Bytes
address_not_contains: Bytes
alias: String
alias_not: String
alias_gt: String
alias_lt: String
alias_gte: String
alias_lte: String
alias_in: [String!]
alias_not_in: [String!]
alias_contains: String
alias_contains_nocase: String
alias_not_contains: String
alias_not_contains_nocase: String
alias_starts_with: String
alias_starts_with_nocase: String
alias_not_starts_with: String
alias_not_starts_with_nocase: String
alias_ends_with: String
alias_ends_with_nocase: String
alias_not_ends_with: String
alias_not_ends_with_nocase: String
campaignCounter: BigInt
campaignCounter_not: BigInt
campaignCounter_gt: BigInt
campaignCounter_lt: BigInt
campaignCounter_gte: BigInt
campaignCounter_lte: BigInt
campaignCounter_in: [BigInt!]
campaignCounter_not_in: [BigInt!]
chainId: BigInt
chainId_not: BigInt
chainId_gt: BigInt
chainId_lt: BigInt
chainId_gte: BigInt
chainId_lte: BigInt
chainId_in: [BigInt!]
chainId_not_in: [BigInt!]
campaigns_: Campaign_filter
_change_block: BlockChangedFilter
and: [Factory_filter]
or: [Factory_filter]
}
```
### Fields
#### [Factory_filter.id
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Factory_filter.id_not
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Factory_filter.id_gt
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Factory_filter.id_lt
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Factory_filter.id_gte
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Factory_filter.id_lte
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Factory_filter.id_in
](#)[[String!]
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Factory_filter.id_not_in
](#)[[String!]
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Factory_filter.id_contains
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Factory_filter.id_contains_nocase
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Factory_filter.id_not_contains
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Factory_filter.id_not_contains_nocase
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Factory_filter.id_starts_with
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Factory_filter.id_starts_with_nocase
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Factory_filter.id_not_starts_with
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Factory_filter.id_not_starts_with_nocase
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Factory_filter.id_ends_with
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Factory_filter.id_ends_with_nocase
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Factory_filter.id_not_ends_with
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Factory_filter.id_not_ends_with_nocase
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Factory_filter.address
](#)[Bytes
](/docs/api/airdrops/graphql/the-graph/scalars/bytes.mdx)
#### [Factory_filter.address_not
](#)[Bytes
](/docs/api/airdrops/graphql/the-graph/scalars/bytes.mdx)
#### [Factory_filter.address_gt
](#)[Bytes
](/docs/api/airdrops/graphql/the-graph/scalars/bytes.mdx)
#### [Factory_filter.address_lt
](#)[Bytes
](/docs/api/airdrops/graphql/the-graph/scalars/bytes.mdx)
#### [Factory_filter.address_gte
](#)[Bytes
](/docs/api/airdrops/graphql/the-graph/scalars/bytes.mdx)
#### [Factory_filter.address_lte
](#)[Bytes
](/docs/api/airdrops/graphql/the-graph/scalars/bytes.mdx)
#### [Factory_filter.address_in
](#)[[Bytes!]
](/docs/api/airdrops/graphql/the-graph/scalars/bytes.mdx)
#### [Factory_filter.address_not_in
](#)[[Bytes!]
](/docs/api/airdrops/graphql/the-graph/scalars/bytes.mdx)
#### [Factory_filter.address_contains
](#)[Bytes
](/docs/api/airdrops/graphql/the-graph/scalars/bytes.mdx)
#### [Factory_filter.address_not_contains
](#)[Bytes
](/docs/api/airdrops/graphql/the-graph/scalars/bytes.mdx)
#### [Factory_filter.alias
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Factory_filter.alias_not
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Factory_filter.alias_gt
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Factory_filter.alias_lt
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Factory_filter.alias_gte
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Factory_filter.alias_lte
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Factory_filter.alias_in
](#)[[String!]
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Factory_filter.alias_not_in
](#)[[String!]
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Factory_filter.alias_contains
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Factory_filter.alias_contains_nocase
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Factory_filter.alias_not_contains
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Factory_filter.alias_not_contains_nocase
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Factory_filter.alias_starts_with
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Factory_filter.alias_starts_with_nocase
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Factory_filter.alias_not_starts_with
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Factory_filter.alias_not_starts_with_nocase
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Factory_filter.alias_ends_with
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Factory_filter.alias_ends_with_nocase
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Factory_filter.alias_not_ends_with
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Factory_filter.alias_not_ends_with_nocase
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Factory_filter.campaignCounter
](#)[BigInt
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
#### [Factory_filter.campaignCounter_not
](#)[BigInt
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
#### [Factory_filter.campaignCounter_gt
](#)[BigInt
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
#### [Factory_filter.campaignCounter_lt
](#)[BigInt
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
#### [Factory_filter.campaignCounter_gte
](#)[BigInt
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
#### [Factory_filter.campaignCounter_lte
](#)[BigInt
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
#### [Factory_filter.campaignCounter_in
](#)[[BigInt!]
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
#### [Factory_filter.campaignCounter_not_in
](#)[[BigInt!]
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
#### [Factory_filter.chainId
](#)[BigInt
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
#### [Factory_filter.chainId_not
](#)[BigInt
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
#### [Factory_filter.chainId_gt
](#)[BigInt
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
#### [Factory_filter.chainId_lt
](#)[BigInt
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
#### [Factory_filter.chainId_gte
](#)[BigInt
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
#### [Factory_filter.chainId_lte
](#)[BigInt
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
#### [Factory_filter.chainId_in
](#)[[BigInt!]
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
#### [Factory_filter.chainId_not_in
](#)[[BigInt!]
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
#### [Factory_filter.campaigns\_
](#)[Campaign_filter
](/docs/api/airdrops/graphql/the-graph/inputs/campaign-filter.mdx)
#### [Factory_filter.\_change_block
](#)[BlockChangedFilter
](/docs/api/airdrops/graphql/the-graph/inputs/block-changed-filter.mdx)
Filter for the block changed event.
#### [Factory_filter.and
](#)[[Factory_filter]
](/docs/api/airdrops/graphql/the-graph/inputs/factory-filter.mdx)
#### [Factory_filter.or
](#)[[Factory_filter]
](/docs/api/airdrops/graphql/the-graph/inputs/factory-filter.mdx)
---
## Stream_filter
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
No description
```graphql
input Stream_filter {
id: String
id_not: String
id_gt: String
id_lt: String
id_gte: String
id_lte: String
id_in: [String!]
id_not_in: [String!]
id_contains: String
id_contains_nocase: String
id_not_contains: String
id_not_contains_nocase: String
id_starts_with: String
id_starts_with_nocase: String
id_not_starts_with: String
id_not_starts_with_nocase: String
id_ends_with: String
id_ends_with_nocase: String
id_not_ends_with: String
id_not_ends_with_nocase: String
alias: String
alias_not: String
alias_gt: String
alias_lt: String
alias_gte: String
alias_lte: String
alias_in: [String!]
alias_not_in: [String!]
alias_contains: String
alias_contains_nocase: String
alias_not_contains: String
alias_not_contains_nocase: String
alias_starts_with: String
alias_starts_with_nocase: String
alias_not_starts_with: String
alias_not_starts_with_nocase: String
alias_ends_with: String
alias_ends_with_nocase: String
alias_not_ends_with: String
alias_not_ends_with_nocase: String
chainId: BigInt
chainId_not: BigInt
chainId_gt: BigInt
chainId_lt: BigInt
chainId_gte: BigInt
chainId_lte: BigInt
chainId_in: [BigInt!]
chainId_not_in: [BigInt!]
subgraphId: BigInt
subgraphId_not: BigInt
subgraphId_gt: BigInt
subgraphId_lt: BigInt
subgraphId_gte: BigInt
subgraphId_lte: BigInt
subgraphId_in: [BigInt!]
subgraphId_not_in: [BigInt!]
tokenId: BigInt
tokenId_not: BigInt
tokenId_gt: BigInt
tokenId_lt: BigInt
tokenId_gte: BigInt
tokenId_lte: BigInt
tokenId_in: [BigInt!]
tokenId_not_in: [BigInt!]
hash: Bytes
hash_not: Bytes
hash_gt: Bytes
hash_lt: Bytes
hash_gte: Bytes
hash_lte: Bytes
hash_in: [Bytes!]
hash_not_in: [Bytes!]
hash_contains: Bytes
hash_not_contains: Bytes
timestamp: BigInt
timestamp_not: BigInt
timestamp_gt: BigInt
timestamp_lt: BigInt
timestamp_gte: BigInt
timestamp_lte: BigInt
timestamp_in: [BigInt!]
timestamp_not_in: [BigInt!]
actions_: Action_filter
asset: String
asset_not: String
asset_gt: String
asset_lt: String
asset_gte: String
asset_lte: String
asset_in: [String!]
asset_not_in: [String!]
asset_contains: String
asset_contains_nocase: String
asset_not_contains: String
asset_not_contains_nocase: String
asset_starts_with: String
asset_starts_with_nocase: String
asset_not_starts_with: String
asset_not_starts_with_nocase: String
asset_ends_with: String
asset_ends_with_nocase: String
asset_not_ends_with: String
asset_not_ends_with_nocase: String
asset_: Asset_filter
assetDecimalsValue: BigInt
assetDecimalsValue_not: BigInt
assetDecimalsValue_gt: BigInt
assetDecimalsValue_lt: BigInt
assetDecimalsValue_gte: BigInt
assetDecimalsValue_lte: BigInt
assetDecimalsValue_in: [BigInt!]
assetDecimalsValue_not_in: [BigInt!]
batch: String
batch_not: String
batch_gt: String
batch_lt: String
batch_gte: String
batch_lte: String
batch_in: [String!]
batch_not_in: [String!]
batch_contains: String
batch_contains_nocase: String
batch_not_contains: String
batch_not_contains_nocase: String
batch_starts_with: String
batch_starts_with_nocase: String
batch_not_starts_with: String
batch_not_starts_with_nocase: String
batch_ends_with: String
batch_ends_with_nocase: String
batch_not_ends_with: String
batch_not_ends_with_nocase: String
batch_: Batch_filter
category: StreamCategory
category_not: StreamCategory
category_in: [StreamCategory!]
category_not_in: [StreamCategory!]
contract: Bytes
contract_not: Bytes
contract_gt: Bytes
contract_lt: Bytes
contract_gte: Bytes
contract_lte: Bytes
contract_in: [Bytes!]
contract_not_in: [Bytes!]
contract_contains: Bytes
contract_not_contains: Bytes
position: BigInt
position_not: BigInt
position_gt: BigInt
position_lt: BigInt
position_gte: BigInt
position_lte: BigInt
position_in: [BigInt!]
position_not_in: [BigInt!]
recipient: Bytes
recipient_not: Bytes
recipient_gt: Bytes
recipient_lt: Bytes
recipient_gte: Bytes
recipient_lte: Bytes
recipient_in: [Bytes!]
recipient_not_in: [Bytes!]
recipient_contains: Bytes
recipient_not_contains: Bytes
sender: Bytes
sender_not: Bytes
sender_gt: Bytes
sender_lt: Bytes
sender_gte: Bytes
sender_lte: Bytes
sender_in: [Bytes!]
sender_not_in: [Bytes!]
sender_contains: Bytes
sender_not_contains: Bytes
startTime: BigInt
startTime_not: BigInt
startTime_gt: BigInt
startTime_lt: BigInt
startTime_gte: BigInt
startTime_lte: BigInt
startTime_in: [BigInt!]
startTime_not_in: [BigInt!]
transferable: Boolean
transferable_not: Boolean
transferable_in: [Boolean!]
transferable_not_in: [Boolean!]
version: String
version_not: String
version_gt: String
version_lt: String
version_gte: String
version_lte: String
version_in: [String!]
version_not_in: [String!]
version_contains: String
version_contains_nocase: String
version_not_contains: String
version_not_contains_nocase: String
version_starts_with: String
version_starts_with_nocase: String
version_not_starts_with: String
version_not_starts_with_nocase: String
version_ends_with: String
version_ends_with_nocase: String
version_not_ends_with: String
version_not_ends_with_nocase: String
withdrawnAmount: BigInt
withdrawnAmount_not: BigInt
withdrawnAmount_gt: BigInt
withdrawnAmount_lt: BigInt
withdrawnAmount_gte: BigInt
withdrawnAmount_lte: BigInt
withdrawnAmount_in: [BigInt!]
withdrawnAmount_not_in: [BigInt!]
availableAmount: BigInt
availableAmount_not: BigInt
availableAmount_gt: BigInt
availableAmount_lt: BigInt
availableAmount_gte: BigInt
availableAmount_lte: BigInt
availableAmount_in: [BigInt!]
availableAmount_not_in: [BigInt!]
creator: Bytes
creator_not: Bytes
creator_gt: Bytes
creator_lt: Bytes
creator_gte: Bytes
creator_lte: Bytes
creator_in: [Bytes!]
creator_not_in: [Bytes!]
creator_contains: Bytes
creator_not_contains: Bytes
depletionTime: BigInt
depletionTime_not: BigInt
depletionTime_gt: BigInt
depletionTime_lt: BigInt
depletionTime_gte: BigInt
depletionTime_lte: BigInt
depletionTime_in: [BigInt!]
depletionTime_not_in: [BigInt!]
depositedAmount: BigInt
depositedAmount_not: BigInt
depositedAmount_gt: BigInt
depositedAmount_lt: BigInt
depositedAmount_gte: BigInt
depositedAmount_lte: BigInt
depositedAmount_in: [BigInt!]
depositedAmount_not_in: [BigInt!]
forgivenDebt: BigInt
forgivenDebt_not: BigInt
forgivenDebt_gt: BigInt
forgivenDebt_lt: BigInt
forgivenDebt_gte: BigInt
forgivenDebt_lte: BigInt
forgivenDebt_in: [BigInt!]
forgivenDebt_not_in: [BigInt!]
lastAdjustmentAction: String
lastAdjustmentAction_not: String
lastAdjustmentAction_gt: String
lastAdjustmentAction_lt: String
lastAdjustmentAction_gte: String
lastAdjustmentAction_lte: String
lastAdjustmentAction_in: [String!]
lastAdjustmentAction_not_in: [String!]
lastAdjustmentAction_contains: String
lastAdjustmentAction_contains_nocase: String
lastAdjustmentAction_not_contains: String
lastAdjustmentAction_not_contains_nocase: String
lastAdjustmentAction_starts_with: String
lastAdjustmentAction_starts_with_nocase: String
lastAdjustmentAction_not_starts_with: String
lastAdjustmentAction_not_starts_with_nocase: String
lastAdjustmentAction_ends_with: String
lastAdjustmentAction_ends_with_nocase: String
lastAdjustmentAction_not_ends_with: String
lastAdjustmentAction_not_ends_with_nocase: String
lastAdjustmentAction_: Action_filter
lastAdjustmentTimestamp: BigInt
lastAdjustmentTimestamp_not: BigInt
lastAdjustmentTimestamp_gt: BigInt
lastAdjustmentTimestamp_lt: BigInt
lastAdjustmentTimestamp_gte: BigInt
lastAdjustmentTimestamp_lte: BigInt
lastAdjustmentTimestamp_in: [BigInt!]
lastAdjustmentTimestamp_not_in: [BigInt!]
paused: Boolean
paused_not: Boolean
paused_in: [Boolean!]
paused_not_in: [Boolean!]
pausedAction: String
pausedAction_not: String
pausedAction_gt: String
pausedAction_lt: String
pausedAction_gte: String
pausedAction_lte: String
pausedAction_in: [String!]
pausedAction_not_in: [String!]
pausedAction_contains: String
pausedAction_contains_nocase: String
pausedAction_not_contains: String
pausedAction_not_contains_nocase: String
pausedAction_starts_with: String
pausedAction_starts_with_nocase: String
pausedAction_not_starts_with: String
pausedAction_not_starts_with_nocase: String
pausedAction_ends_with: String
pausedAction_ends_with_nocase: String
pausedAction_not_ends_with: String
pausedAction_not_ends_with_nocase: String
pausedAction_: Action_filter
pausedTime: BigInt
pausedTime_not: BigInt
pausedTime_gt: BigInt
pausedTime_lt: BigInt
pausedTime_gte: BigInt
pausedTime_lte: BigInt
pausedTime_in: [BigInt!]
pausedTime_not_in: [BigInt!]
ratePerSecond: BigInt
ratePerSecond_not: BigInt
ratePerSecond_gt: BigInt
ratePerSecond_lt: BigInt
ratePerSecond_gte: BigInt
ratePerSecond_lte: BigInt
ratePerSecond_in: [BigInt!]
ratePerSecond_not_in: [BigInt!]
refundedAmount: BigInt
refundedAmount_not: BigInt
refundedAmount_gt: BigInt
refundedAmount_lt: BigInt
refundedAmount_gte: BigInt
refundedAmount_lte: BigInt
refundedAmount_in: [BigInt!]
refundedAmount_not_in: [BigInt!]
snapshotAmount: BigInt
snapshotAmount_not: BigInt
snapshotAmount_gt: BigInt
snapshotAmount_lt: BigInt
snapshotAmount_gte: BigInt
snapshotAmount_lte: BigInt
snapshotAmount_in: [BigInt!]
snapshotAmount_not_in: [BigInt!]
voided: Boolean
voided_not: Boolean
voided_in: [Boolean!]
voided_not_in: [Boolean!]
voidedAction: String
voidedAction_not: String
voidedAction_gt: String
voidedAction_lt: String
voidedAction_gte: String
voidedAction_lte: String
voidedAction_in: [String!]
voidedAction_not_in: [String!]
voidedAction_contains: String
voidedAction_contains_nocase: String
voidedAction_not_contains: String
voidedAction_not_contains_nocase: String
voidedAction_starts_with: String
voidedAction_starts_with_nocase: String
voidedAction_not_starts_with: String
voidedAction_not_starts_with_nocase: String
voidedAction_ends_with: String
voidedAction_ends_with_nocase: String
voidedAction_not_ends_with: String
voidedAction_not_ends_with_nocase: String
voidedAction_: Action_filter
voidedTime: BigInt
voidedTime_not: BigInt
voidedTime_gt: BigInt
voidedTime_lt: BigInt
voidedTime_gte: BigInt
voidedTime_lte: BigInt
voidedTime_in: [BigInt!]
voidedTime_not_in: [BigInt!]
_change_block: BlockChangedFilter
and: [Stream_filter]
or: [Stream_filter]
}
```
### Fields
#### [Stream_filter.id
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Stream_filter.id_not
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Stream_filter.id_gt
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Stream_filter.id_lt
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Stream_filter.id_gte
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Stream_filter.id_lte
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Stream_filter.id_in
](#)[[String!]
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Stream_filter.id_not_in
](#)[[String!]
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Stream_filter.id_contains
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Stream_filter.id_contains_nocase
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Stream_filter.id_not_contains
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Stream_filter.id_not_contains_nocase
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Stream_filter.id_starts_with
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Stream_filter.id_starts_with_nocase
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Stream_filter.id_not_starts_with
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Stream_filter.id_not_starts_with_nocase
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Stream_filter.id_ends_with
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Stream_filter.id_ends_with_nocase
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Stream_filter.id_not_ends_with
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Stream_filter.id_not_ends_with_nocase
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Stream_filter.alias
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Stream_filter.alias_not
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Stream_filter.alias_gt
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Stream_filter.alias_lt
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Stream_filter.alias_gte
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Stream_filter.alias_lte
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Stream_filter.alias_in
](#)[[String!]
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Stream_filter.alias_not_in
](#)[[String!]
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Stream_filter.alias_contains
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Stream_filter.alias_contains_nocase
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Stream_filter.alias_not_contains
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Stream_filter.alias_not_contains_nocase
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Stream_filter.alias_starts_with
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Stream_filter.alias_starts_with_nocase
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Stream_filter.alias_not_starts_with
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Stream_filter.alias_not_starts_with_nocase
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Stream_filter.alias_ends_with
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Stream_filter.alias_ends_with_nocase
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Stream_filter.alias_not_ends_with
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Stream_filter.alias_not_ends_with_nocase
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Stream_filter.chainId
](#)[BigInt
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
#### [Stream_filter.chainId_not
](#)[BigInt
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
#### [Stream_filter.chainId_gt
](#)[BigInt
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
#### [Stream_filter.chainId_lt
](#)[BigInt
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
#### [Stream_filter.chainId_gte
](#)[BigInt
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
#### [Stream_filter.chainId_lte
](#)[BigInt
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
#### [Stream_filter.chainId_in
](#)[[BigInt!]
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
#### [Stream_filter.chainId_not_in
](#)[[BigInt!]
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
#### [Stream_filter.subgraphId
](#)[BigInt
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
#### [Stream_filter.subgraphId_not
](#)[BigInt
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
#### [Stream_filter.subgraphId_gt
](#)[BigInt
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
#### [Stream_filter.subgraphId_lt
](#)[BigInt
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
#### [Stream_filter.subgraphId_gte
](#)[BigInt
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
#### [Stream_filter.subgraphId_lte
](#)[BigInt
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
#### [Stream_filter.subgraphId_in
](#)[[BigInt!]
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
#### [Stream_filter.subgraphId_not_in
](#)[[BigInt!]
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
#### [Stream_filter.tokenId
](#)[BigInt
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
#### [Stream_filter.tokenId_not
](#)[BigInt
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
#### [Stream_filter.tokenId_gt
](#)[BigInt
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
#### [Stream_filter.tokenId_lt
](#)[BigInt
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
#### [Stream_filter.tokenId_gte
](#)[BigInt
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
#### [Stream_filter.tokenId_lte
](#)[BigInt
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
#### [Stream_filter.tokenId_in
](#)[[BigInt!]
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
#### [Stream_filter.tokenId_not_in
](#)[[BigInt!]
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
#### [Stream_filter.hash
](#)[Bytes
](/docs/api/airdrops/graphql/the-graph/scalars/bytes.mdx)
#### [Stream_filter.hash_not
](#)[Bytes
](/docs/api/airdrops/graphql/the-graph/scalars/bytes.mdx)
#### [Stream_filter.hash_gt
](#)[Bytes
](/docs/api/airdrops/graphql/the-graph/scalars/bytes.mdx)
#### [Stream_filter.hash_lt
](#)[Bytes
](/docs/api/airdrops/graphql/the-graph/scalars/bytes.mdx)
#### [Stream_filter.hash_gte
](#)[Bytes
](/docs/api/airdrops/graphql/the-graph/scalars/bytes.mdx)
#### [Stream_filter.hash_lte
](#)[Bytes
](/docs/api/airdrops/graphql/the-graph/scalars/bytes.mdx)
#### [Stream_filter.hash_in
](#)[[Bytes!]
](/docs/api/airdrops/graphql/the-graph/scalars/bytes.mdx)
#### [Stream_filter.hash_not_in
](#)[[Bytes!]
](/docs/api/airdrops/graphql/the-graph/scalars/bytes.mdx)
#### [Stream_filter.hash_contains
](#)[Bytes
](/docs/api/airdrops/graphql/the-graph/scalars/bytes.mdx)
#### [Stream_filter.hash_not_contains
](#)[Bytes
](/docs/api/airdrops/graphql/the-graph/scalars/bytes.mdx)
#### [Stream_filter.timestamp
](#)[BigInt
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
#### [Stream_filter.timestamp_not
](#)[BigInt
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
#### [Stream_filter.timestamp_gt
](#)[BigInt
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
#### [Stream_filter.timestamp_lt
](#)[BigInt
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
#### [Stream_filter.timestamp_gte
](#)[BigInt
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
#### [Stream_filter.timestamp_lte
](#)[BigInt
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
#### [Stream_filter.timestamp_in
](#)[[BigInt!]
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
#### [Stream_filter.timestamp_not_in
](#)[[BigInt!]
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
#### [Stream_filter.actions\_
](#)[Action_filter
](/docs/api/airdrops/graphql/the-graph/inputs/action-filter.mdx)
#### [Stream_filter.asset
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Stream_filter.asset_not
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Stream_filter.asset_gt
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Stream_filter.asset_lt
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Stream_filter.asset_gte
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Stream_filter.asset_lte
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Stream_filter.asset_in
](#)[[String!]
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Stream_filter.asset_not_in
](#)[[String!]
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Stream_filter.asset_contains
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Stream_filter.asset_contains_nocase
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Stream_filter.asset_not_contains
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Stream_filter.asset_not_contains_nocase
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Stream_filter.asset_starts_with
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Stream_filter.asset_starts_with_nocase
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Stream_filter.asset_not_starts_with
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Stream_filter.asset_not_starts_with_nocase
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Stream_filter.asset_ends_with
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Stream_filter.asset_ends_with_nocase
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Stream_filter.asset_not_ends_with
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Stream_filter.asset_not_ends_with_nocase
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Stream_filter.asset\_
](#)[Asset_filter
](/docs/api/airdrops/graphql/the-graph/inputs/asset-filter.mdx)
#### [Stream_filter.assetDecimalsValue
](#)[BigInt
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
#### [Stream_filter.assetDecimalsValue_not
](#)[BigInt
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
#### [Stream_filter.assetDecimalsValue_gt
](#)[BigInt
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
#### [Stream_filter.assetDecimalsValue_lt
](#)[BigInt
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
#### [Stream_filter.assetDecimalsValue_gte
](#)[BigInt
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
#### [Stream_filter.assetDecimalsValue_lte
](#)[BigInt
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
#### [Stream_filter.assetDecimalsValue_in
](#)[[BigInt!]
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
#### [Stream_filter.assetDecimalsValue_not_in
](#)[[BigInt!]
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
#### [Stream_filter.batch
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Stream_filter.batch_not
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Stream_filter.batch_gt
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Stream_filter.batch_lt
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Stream_filter.batch_gte
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Stream_filter.batch_lte
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Stream_filter.batch_in
](#)[[String!]
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Stream_filter.batch_not_in
](#)[[String!]
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Stream_filter.batch_contains
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Stream_filter.batch_contains_nocase
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Stream_filter.batch_not_contains
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Stream_filter.batch_not_contains_nocase
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Stream_filter.batch_starts_with
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Stream_filter.batch_starts_with_nocase
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Stream_filter.batch_not_starts_with
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Stream_filter.batch_not_starts_with_nocase
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Stream_filter.batch_ends_with
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Stream_filter.batch_ends_with_nocase
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Stream_filter.batch_not_ends_with
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Stream_filter.batch_not_ends_with_nocase
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Stream_filter.batch\_
](#)[Batch_filter
](/docs/api/airdrops/graphql/the-graph/inputs/batch-filter.mdx)
#### [Stream_filter.category
](#)[StreamCategory
](/docs/api/airdrops/graphql/the-graph/enums/stream-category.mdx)
#### [Stream_filter.category_not
](#)[StreamCategory
](/docs/api/airdrops/graphql/the-graph/enums/stream-category.mdx)
#### [Stream_filter.category_in
](#)[[StreamCategory!]
](/docs/api/airdrops/graphql/the-graph/enums/stream-category.mdx)
#### [Stream_filter.category_not_in
](#)[[StreamCategory!]
](/docs/api/airdrops/graphql/the-graph/enums/stream-category.mdx)
#### [Stream_filter.contract
](#)[Bytes
](/docs/api/airdrops/graphql/the-graph/scalars/bytes.mdx)
#### [Stream_filter.contract_not
](#)[Bytes
](/docs/api/airdrops/graphql/the-graph/scalars/bytes.mdx)
#### [Stream_filter.contract_gt
](#)[Bytes
](/docs/api/airdrops/graphql/the-graph/scalars/bytes.mdx)
#### [Stream_filter.contract_lt
](#)[Bytes
](/docs/api/airdrops/graphql/the-graph/scalars/bytes.mdx)
#### [Stream_filter.contract_gte
](#)[Bytes
](/docs/api/airdrops/graphql/the-graph/scalars/bytes.mdx)
#### [Stream_filter.contract_lte
](#)[Bytes
](/docs/api/airdrops/graphql/the-graph/scalars/bytes.mdx)
#### [Stream_filter.contract_in
](#)[[Bytes!]
](/docs/api/airdrops/graphql/the-graph/scalars/bytes.mdx)
#### [Stream_filter.contract_not_in
](#)[[Bytes!]
](/docs/api/airdrops/graphql/the-graph/scalars/bytes.mdx)
#### [Stream_filter.contract_contains
](#)[Bytes
](/docs/api/airdrops/graphql/the-graph/scalars/bytes.mdx)
#### [Stream_filter.contract_not_contains
](#)[Bytes
](/docs/api/airdrops/graphql/the-graph/scalars/bytes.mdx)
#### [Stream_filter.position
](#)[BigInt
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
#### [Stream_filter.position_not
](#)[BigInt
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
#### [Stream_filter.position_gt
](#)[BigInt
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
#### [Stream_filter.position_lt
](#)[BigInt
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
#### [Stream_filter.position_gte
](#)[BigInt
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
#### [Stream_filter.position_lte
](#)[BigInt
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
#### [Stream_filter.position_in
](#)[[BigInt!]
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
#### [Stream_filter.position_not_in
](#)[[BigInt!]
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
#### [Stream_filter.recipient
](#)[Bytes
](/docs/api/airdrops/graphql/the-graph/scalars/bytes.mdx)
#### [Stream_filter.recipient_not
](#)[Bytes
](/docs/api/airdrops/graphql/the-graph/scalars/bytes.mdx)
#### [Stream_filter.recipient_gt
](#)[Bytes
](/docs/api/airdrops/graphql/the-graph/scalars/bytes.mdx)
#### [Stream_filter.recipient_lt
](#)[Bytes
](/docs/api/airdrops/graphql/the-graph/scalars/bytes.mdx)
#### [Stream_filter.recipient_gte
](#)[Bytes
](/docs/api/airdrops/graphql/the-graph/scalars/bytes.mdx)
#### [Stream_filter.recipient_lte
](#)[Bytes
](/docs/api/airdrops/graphql/the-graph/scalars/bytes.mdx)
#### [Stream_filter.recipient_in
](#)[[Bytes!]
](/docs/api/airdrops/graphql/the-graph/scalars/bytes.mdx)
#### [Stream_filter.recipient_not_in
](#)[[Bytes!]
](/docs/api/airdrops/graphql/the-graph/scalars/bytes.mdx)
#### [Stream_filter.recipient_contains
](#)[Bytes
](/docs/api/airdrops/graphql/the-graph/scalars/bytes.mdx)
#### [Stream_filter.recipient_not_contains
](#)[Bytes
](/docs/api/airdrops/graphql/the-graph/scalars/bytes.mdx)
#### [Stream_filter.sender
](#)[Bytes
](/docs/api/airdrops/graphql/the-graph/scalars/bytes.mdx)
#### [Stream_filter.sender_not
](#)[Bytes
](/docs/api/airdrops/graphql/the-graph/scalars/bytes.mdx)
#### [Stream_filter.sender_gt
](#)[Bytes
](/docs/api/airdrops/graphql/the-graph/scalars/bytes.mdx)
#### [Stream_filter.sender_lt
](#)[Bytes
](/docs/api/airdrops/graphql/the-graph/scalars/bytes.mdx)
#### [Stream_filter.sender_gte
](#)[Bytes
](/docs/api/airdrops/graphql/the-graph/scalars/bytes.mdx)
#### [Stream_filter.sender_lte
](#)[Bytes
](/docs/api/airdrops/graphql/the-graph/scalars/bytes.mdx)
#### [Stream_filter.sender_in
](#)[[Bytes!]
](/docs/api/airdrops/graphql/the-graph/scalars/bytes.mdx)
#### [Stream_filter.sender_not_in
](#)[[Bytes!]
](/docs/api/airdrops/graphql/the-graph/scalars/bytes.mdx)
#### [Stream_filter.sender_contains
](#)[Bytes
](/docs/api/airdrops/graphql/the-graph/scalars/bytes.mdx)
#### [Stream_filter.sender_not_contains
](#)[Bytes
](/docs/api/airdrops/graphql/the-graph/scalars/bytes.mdx)
#### [Stream_filter.startTime
](#)[BigInt
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
#### [Stream_filter.startTime_not
](#)[BigInt
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
#### [Stream_filter.startTime_gt
](#)[BigInt
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
#### [Stream_filter.startTime_lt
](#)[BigInt
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
#### [Stream_filter.startTime_gte
](#)[BigInt
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
#### [Stream_filter.startTime_lte
](#)[BigInt
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
#### [Stream_filter.startTime_in
](#)[[BigInt!]
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
#### [Stream_filter.startTime_not_in
](#)[[BigInt!]
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
#### [Stream_filter.transferable
](#)[Boolean
](/docs/api/airdrops/graphql/the-graph/scalars/boolean.mdx)
#### [Stream_filter.transferable_not
](#)[Boolean
](/docs/api/airdrops/graphql/the-graph/scalars/boolean.mdx)
#### [Stream_filter.transferable_in
](#)[[Boolean!]
](/docs/api/airdrops/graphql/the-graph/scalars/boolean.mdx)
#### [Stream_filter.transferable_not_in
](#)[[Boolean!]
](/docs/api/airdrops/graphql/the-graph/scalars/boolean.mdx)
#### [Stream_filter.version
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Stream_filter.version_not
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Stream_filter.version_gt
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Stream_filter.version_lt
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Stream_filter.version_gte
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Stream_filter.version_lte
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Stream_filter.version_in
](#)[[String!]
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Stream_filter.version_not_in
](#)[[String!]
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Stream_filter.version_contains
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Stream_filter.version_contains_nocase
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Stream_filter.version_not_contains
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Stream_filter.version_not_contains_nocase
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Stream_filter.version_starts_with
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Stream_filter.version_starts_with_nocase
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Stream_filter.version_not_starts_with
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Stream_filter.version_not_starts_with_nocase
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Stream_filter.version_ends_with
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Stream_filter.version_ends_with_nocase
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Stream_filter.version_not_ends_with
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Stream_filter.version_not_ends_with_nocase
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Stream_filter.withdrawnAmount
](#)[BigInt
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
#### [Stream_filter.withdrawnAmount_not
](#)[BigInt
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
#### [Stream_filter.withdrawnAmount_gt
](#)[BigInt
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
#### [Stream_filter.withdrawnAmount_lt
](#)[BigInt
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
#### [Stream_filter.withdrawnAmount_gte
](#)[BigInt
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
#### [Stream_filter.withdrawnAmount_lte
](#)[BigInt
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
#### [Stream_filter.withdrawnAmount_in
](#)[[BigInt!]
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
#### [Stream_filter.withdrawnAmount_not_in
](#)[[BigInt!]
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
#### [Stream_filter.availableAmount
](#)[BigInt
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
#### [Stream_filter.availableAmount_not
](#)[BigInt
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
#### [Stream_filter.availableAmount_gt
](#)[BigInt
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
#### [Stream_filter.availableAmount_lt
](#)[BigInt
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
#### [Stream_filter.availableAmount_gte
](#)[BigInt
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
#### [Stream_filter.availableAmount_lte
](#)[BigInt
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
#### [Stream_filter.availableAmount_in
](#)[[BigInt!]
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
#### [Stream_filter.availableAmount_not_in
](#)[[BigInt!]
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
#### [Stream_filter.creator
](#)[Bytes
](/docs/api/airdrops/graphql/the-graph/scalars/bytes.mdx)
#### [Stream_filter.creator_not
](#)[Bytes
](/docs/api/airdrops/graphql/the-graph/scalars/bytes.mdx)
#### [Stream_filter.creator_gt
](#)[Bytes
](/docs/api/airdrops/graphql/the-graph/scalars/bytes.mdx)
#### [Stream_filter.creator_lt
](#)[Bytes
](/docs/api/airdrops/graphql/the-graph/scalars/bytes.mdx)
#### [Stream_filter.creator_gte
](#)[Bytes
](/docs/api/airdrops/graphql/the-graph/scalars/bytes.mdx)
#### [Stream_filter.creator_lte
](#)[Bytes
](/docs/api/airdrops/graphql/the-graph/scalars/bytes.mdx)
#### [Stream_filter.creator_in
](#)[[Bytes!]
](/docs/api/airdrops/graphql/the-graph/scalars/bytes.mdx)
#### [Stream_filter.creator_not_in
](#)[[Bytes!]
](/docs/api/airdrops/graphql/the-graph/scalars/bytes.mdx)
#### [Stream_filter.creator_contains
](#)[Bytes
](/docs/api/airdrops/graphql/the-graph/scalars/bytes.mdx)
#### [Stream_filter.creator_not_contains
](#)[Bytes
](/docs/api/airdrops/graphql/the-graph/scalars/bytes.mdx)
#### [Stream_filter.depletionTime
](#)[BigInt
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
#### [Stream_filter.depletionTime_not
](#)[BigInt
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
#### [Stream_filter.depletionTime_gt
](#)[BigInt
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
#### [Stream_filter.depletionTime_lt
](#)[BigInt
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
#### [Stream_filter.depletionTime_gte
](#)[BigInt
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
#### [Stream_filter.depletionTime_lte
](#)[BigInt
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
#### [Stream_filter.depletionTime_in
](#)[[BigInt!]
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
#### [Stream_filter.depletionTime_not_in
](#)[[BigInt!]
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
#### [Stream_filter.depositedAmount
](#)[BigInt
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
#### [Stream_filter.depositedAmount_not
](#)[BigInt
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
#### [Stream_filter.depositedAmount_gt
](#)[BigInt
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
#### [Stream_filter.depositedAmount_lt
](#)[BigInt
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
#### [Stream_filter.depositedAmount_gte
](#)[BigInt
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
#### [Stream_filter.depositedAmount_lte
](#)[BigInt
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
#### [Stream_filter.depositedAmount_in
](#)[[BigInt!]
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
#### [Stream_filter.depositedAmount_not_in
](#)[[BigInt!]
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
#### [Stream_filter.forgivenDebt
](#)[BigInt
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
#### [Stream_filter.forgivenDebt_not
](#)[BigInt
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
#### [Stream_filter.forgivenDebt_gt
](#)[BigInt
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
#### [Stream_filter.forgivenDebt_lt
](#)[BigInt
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
#### [Stream_filter.forgivenDebt_gte
](#)[BigInt
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
#### [Stream_filter.forgivenDebt_lte
](#)[BigInt
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
#### [Stream_filter.forgivenDebt_in
](#)[[BigInt!]
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
#### [Stream_filter.forgivenDebt_not_in
](#)[[BigInt!]
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
#### [Stream_filter.lastAdjustmentAction
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Stream_filter.lastAdjustmentAction_not
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Stream_filter.lastAdjustmentAction_gt
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Stream_filter.lastAdjustmentAction_lt
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Stream_filter.lastAdjustmentAction_gte
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Stream_filter.lastAdjustmentAction_lte
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Stream_filter.lastAdjustmentAction_in
](#)[[String!]
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Stream_filter.lastAdjustmentAction_not_in
](#)[[String!]
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Stream_filter.lastAdjustmentAction_contains
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Stream_filter.lastAdjustmentAction_contains_nocase
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Stream_filter.lastAdjustmentAction_not_contains
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Stream_filter.lastAdjustmentAction_not_contains_nocase
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Stream_filter.lastAdjustmentAction_starts_with
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Stream_filter.lastAdjustmentAction_starts_with_nocase
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Stream_filter.lastAdjustmentAction_not_starts_with
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Stream_filter.lastAdjustmentAction_not_starts_with_nocase
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Stream_filter.lastAdjustmentAction_ends_with
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Stream_filter.lastAdjustmentAction_ends_with_nocase
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Stream_filter.lastAdjustmentAction_not_ends_with
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Stream_filter.lastAdjustmentAction_not_ends_with_nocase
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Stream_filter.lastAdjustmentAction\_
](#)[Action_filter
](/docs/api/airdrops/graphql/the-graph/inputs/action-filter.mdx)
#### [Stream_filter.lastAdjustmentTimestamp
](#)[BigInt
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
#### [Stream_filter.lastAdjustmentTimestamp_not
](#)[BigInt
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
#### [Stream_filter.lastAdjustmentTimestamp_gt
](#)[BigInt
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
#### [Stream_filter.lastAdjustmentTimestamp_lt
](#)[BigInt
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
#### [Stream_filter.lastAdjustmentTimestamp_gte
](#)[BigInt
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
#### [Stream_filter.lastAdjustmentTimestamp_lte
](#)[BigInt
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
#### [Stream_filter.lastAdjustmentTimestamp_in
](#)[[BigInt!]
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
#### [Stream_filter.lastAdjustmentTimestamp_not_in
](#)[[BigInt!]
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
#### [Stream_filter.paused
](#)[Boolean
](/docs/api/airdrops/graphql/the-graph/scalars/boolean.mdx)
#### [Stream_filter.paused_not
](#)[Boolean
](/docs/api/airdrops/graphql/the-graph/scalars/boolean.mdx)
#### [Stream_filter.paused_in
](#)[[Boolean!]
](/docs/api/airdrops/graphql/the-graph/scalars/boolean.mdx)
#### [Stream_filter.paused_not_in
](#)[[Boolean!]
](/docs/api/airdrops/graphql/the-graph/scalars/boolean.mdx)
#### [Stream_filter.pausedAction
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Stream_filter.pausedAction_not
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Stream_filter.pausedAction_gt
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Stream_filter.pausedAction_lt
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Stream_filter.pausedAction_gte
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Stream_filter.pausedAction_lte
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Stream_filter.pausedAction_in
](#)[[String!]
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Stream_filter.pausedAction_not_in
](#)[[String!]
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Stream_filter.pausedAction_contains
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Stream_filter.pausedAction_contains_nocase
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Stream_filter.pausedAction_not_contains
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Stream_filter.pausedAction_not_contains_nocase
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Stream_filter.pausedAction_starts_with
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Stream_filter.pausedAction_starts_with_nocase
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Stream_filter.pausedAction_not_starts_with
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Stream_filter.pausedAction_not_starts_with_nocase
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Stream_filter.pausedAction_ends_with
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Stream_filter.pausedAction_ends_with_nocase
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Stream_filter.pausedAction_not_ends_with
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Stream_filter.pausedAction_not_ends_with_nocase
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Stream_filter.pausedAction\_
](#)[Action_filter
](/docs/api/airdrops/graphql/the-graph/inputs/action-filter.mdx)
#### [Stream_filter.pausedTime
](#)[BigInt
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
#### [Stream_filter.pausedTime_not
](#)[BigInt
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
#### [Stream_filter.pausedTime_gt
](#)[BigInt
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
#### [Stream_filter.pausedTime_lt
](#)[BigInt
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
#### [Stream_filter.pausedTime_gte
](#)[BigInt
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
#### [Stream_filter.pausedTime_lte
](#)[BigInt
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
#### [Stream_filter.pausedTime_in
](#)[[BigInt!]
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
#### [Stream_filter.pausedTime_not_in
](#)[[BigInt!]
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
#### [Stream_filter.ratePerSecond
](#)[BigInt
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
#### [Stream_filter.ratePerSecond_not
](#)[BigInt
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
#### [Stream_filter.ratePerSecond_gt
](#)[BigInt
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
#### [Stream_filter.ratePerSecond_lt
](#)[BigInt
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
#### [Stream_filter.ratePerSecond_gte
](#)[BigInt
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
#### [Stream_filter.ratePerSecond_lte
](#)[BigInt
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
#### [Stream_filter.ratePerSecond_in
](#)[[BigInt!]
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
#### [Stream_filter.ratePerSecond_not_in
](#)[[BigInt!]
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
#### [Stream_filter.refundedAmount
](#)[BigInt
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
#### [Stream_filter.refundedAmount_not
](#)[BigInt
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
#### [Stream_filter.refundedAmount_gt
](#)[BigInt
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
#### [Stream_filter.refundedAmount_lt
](#)[BigInt
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
#### [Stream_filter.refundedAmount_gte
](#)[BigInt
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
#### [Stream_filter.refundedAmount_lte
](#)[BigInt
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
#### [Stream_filter.refundedAmount_in
](#)[[BigInt!]
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
#### [Stream_filter.refundedAmount_not_in
](#)[[BigInt!]
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
#### [Stream_filter.snapshotAmount
](#)[BigInt
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
#### [Stream_filter.snapshotAmount_not
](#)[BigInt
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
#### [Stream_filter.snapshotAmount_gt
](#)[BigInt
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
#### [Stream_filter.snapshotAmount_lt
](#)[BigInt
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
#### [Stream_filter.snapshotAmount_gte
](#)[BigInt
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
#### [Stream_filter.snapshotAmount_lte
](#)[BigInt
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
#### [Stream_filter.snapshotAmount_in
](#)[[BigInt!]
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
#### [Stream_filter.snapshotAmount_not_in
](#)[[BigInt!]
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
#### [Stream_filter.voided
](#)[Boolean
](/docs/api/airdrops/graphql/the-graph/scalars/boolean.mdx)
#### [Stream_filter.voided_not
](#)[Boolean
](/docs/api/airdrops/graphql/the-graph/scalars/boolean.mdx)
#### [Stream_filter.voided_in
](#)[[Boolean!]
](/docs/api/airdrops/graphql/the-graph/scalars/boolean.mdx)
#### [Stream_filter.voided_not_in
](#)[[Boolean!]
](/docs/api/airdrops/graphql/the-graph/scalars/boolean.mdx)
#### [Stream_filter.voidedAction
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Stream_filter.voidedAction_not
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Stream_filter.voidedAction_gt
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Stream_filter.voidedAction_lt
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Stream_filter.voidedAction_gte
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Stream_filter.voidedAction_lte
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Stream_filter.voidedAction_in
](#)[[String!]
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Stream_filter.voidedAction_not_in
](#)[[String!]
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Stream_filter.voidedAction_contains
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Stream_filter.voidedAction_contains_nocase
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Stream_filter.voidedAction_not_contains
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Stream_filter.voidedAction_not_contains_nocase
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Stream_filter.voidedAction_starts_with
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Stream_filter.voidedAction_starts_with_nocase
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Stream_filter.voidedAction_not_starts_with
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Stream_filter.voidedAction_not_starts_with_nocase
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Stream_filter.voidedAction_ends_with
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Stream_filter.voidedAction_ends_with_nocase
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Stream_filter.voidedAction_not_ends_with
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Stream_filter.voidedAction_not_ends_with_nocase
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Stream_filter.voidedAction\_
](#)[Action_filter
](/docs/api/airdrops/graphql/the-graph/inputs/action-filter.mdx)
#### [Stream_filter.voidedTime
](#)[BigInt
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
#### [Stream_filter.voidedTime_not
](#)[BigInt
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
#### [Stream_filter.voidedTime_gt
](#)[BigInt
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
#### [Stream_filter.voidedTime_lt
](#)[BigInt
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
#### [Stream_filter.voidedTime_gte
](#)[BigInt
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
#### [Stream_filter.voidedTime_lte
](#)[BigInt
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
#### [Stream_filter.voidedTime_in
](#)[[BigInt!]
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
#### [Stream_filter.voidedTime_not_in
](#)[[BigInt!]
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
#### [Stream_filter.\_change_block
](#)[BlockChangedFilter
](/docs/api/airdrops/graphql/the-graph/inputs/block-changed-filter.mdx)
Filter for the block changed event.
#### [Stream_filter.and
](#)[[Stream_filter]
](/docs/api/airdrops/graphql/the-graph/inputs/stream-filter.mdx)
#### [Stream_filter.or
](#)[[Stream_filter]
](/docs/api/airdrops/graphql/the-graph/inputs/stream-filter.mdx)
---
## Tranche_filter
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
No description
```graphql
input Tranche_filter {
id: String
id_not: String
id_gt: String
id_lt: String
id_gte: String
id_lte: String
id_in: [String!]
id_not_in: [String!]
id_contains: String
id_contains_nocase: String
id_not_contains: String
id_not_contains_nocase: String
id_starts_with: String
id_starts_with_nocase: String
id_not_starts_with: String
id_not_starts_with_nocase: String
id_ends_with: String
id_ends_with_nocase: String
id_not_ends_with: String
id_not_ends_with_nocase: String
campaign: String
campaign_not: String
campaign_gt: String
campaign_lt: String
campaign_gte: String
campaign_lte: String
campaign_in: [String!]
campaign_not_in: [String!]
campaign_contains: String
campaign_contains_nocase: String
campaign_not_contains: String
campaign_not_contains_nocase: String
campaign_starts_with: String
campaign_starts_with_nocase: String
campaign_not_starts_with: String
campaign_not_starts_with_nocase: String
campaign_ends_with: String
campaign_ends_with_nocase: String
campaign_not_ends_with: String
campaign_not_ends_with_nocase: String
campaign_: Campaign_filter
duration: BigInt
duration_not: BigInt
duration_gt: BigInt
duration_lt: BigInt
duration_gte: BigInt
duration_lte: BigInt
duration_in: [BigInt!]
duration_not_in: [BigInt!]
endDuration: BigInt
endDuration_not: BigInt
endDuration_gt: BigInt
endDuration_lt: BigInt
endDuration_gte: BigInt
endDuration_lte: BigInt
endDuration_in: [BigInt!]
endDuration_not_in: [BigInt!]
endPercentage: BigInt
endPercentage_not: BigInt
endPercentage_gt: BigInt
endPercentage_lt: BigInt
endPercentage_gte: BigInt
endPercentage_lte: BigInt
endPercentage_in: [BigInt!]
endPercentage_not_in: [BigInt!]
percentage: BigInt
percentage_not: BigInt
percentage_gt: BigInt
percentage_lt: BigInt
percentage_gte: BigInt
percentage_lte: BigInt
percentage_in: [BigInt!]
percentage_not_in: [BigInt!]
position: BigInt
position_not: BigInt
position_gt: BigInt
position_lt: BigInt
position_gte: BigInt
position_lte: BigInt
position_in: [BigInt!]
position_not_in: [BigInt!]
startDuration: BigInt
startDuration_not: BigInt
startDuration_gt: BigInt
startDuration_lt: BigInt
startDuration_gte: BigInt
startDuration_lte: BigInt
startDuration_in: [BigInt!]
startDuration_not_in: [BigInt!]
startPercentage: BigInt
startPercentage_not: BigInt
startPercentage_gt: BigInt
startPercentage_lt: BigInt
startPercentage_gte: BigInt
startPercentage_lte: BigInt
startPercentage_in: [BigInt!]
startPercentage_not_in: [BigInt!]
_change_block: BlockChangedFilter
and: [Tranche_filter]
or: [Tranche_filter]
}
```
### Fields
#### [Tranche_filter.id
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Tranche_filter.id_not
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Tranche_filter.id_gt
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Tranche_filter.id_lt
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Tranche_filter.id_gte
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Tranche_filter.id_lte
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Tranche_filter.id_in
](#)[[String!]
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Tranche_filter.id_not_in
](#)[[String!]
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Tranche_filter.id_contains
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Tranche_filter.id_contains_nocase
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Tranche_filter.id_not_contains
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Tranche_filter.id_not_contains_nocase
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Tranche_filter.id_starts_with
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Tranche_filter.id_starts_with_nocase
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Tranche_filter.id_not_starts_with
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Tranche_filter.id_not_starts_with_nocase
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Tranche_filter.id_ends_with
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Tranche_filter.id_ends_with_nocase
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Tranche_filter.id_not_ends_with
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Tranche_filter.id_not_ends_with_nocase
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Tranche_filter.campaign
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Tranche_filter.campaign_not
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Tranche_filter.campaign_gt
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Tranche_filter.campaign_lt
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Tranche_filter.campaign_gte
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Tranche_filter.campaign_lte
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Tranche_filter.campaign_in
](#)[[String!]
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Tranche_filter.campaign_not_in
](#)[[String!]
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Tranche_filter.campaign_contains
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Tranche_filter.campaign_contains_nocase
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Tranche_filter.campaign_not_contains
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Tranche_filter.campaign_not_contains_nocase
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Tranche_filter.campaign_starts_with
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Tranche_filter.campaign_starts_with_nocase
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Tranche_filter.campaign_not_starts_with
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Tranche_filter.campaign_not_starts_with_nocase
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Tranche_filter.campaign_ends_with
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Tranche_filter.campaign_ends_with_nocase
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Tranche_filter.campaign_not_ends_with
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Tranche_filter.campaign_not_ends_with_nocase
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Tranche_filter.campaign\_
](#)[Campaign_filter
](/docs/api/airdrops/graphql/the-graph/inputs/campaign-filter.mdx)
#### [Tranche_filter.duration
](#)[BigInt
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
#### [Tranche_filter.duration_not
](#)[BigInt
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
#### [Tranche_filter.duration_gt
](#)[BigInt
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
#### [Tranche_filter.duration_lt
](#)[BigInt
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
#### [Tranche_filter.duration_gte
](#)[BigInt
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
#### [Tranche_filter.duration_lte
](#)[BigInt
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
#### [Tranche_filter.duration_in
](#)[[BigInt!]
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
#### [Tranche_filter.duration_not_in
](#)[[BigInt!]
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
#### [Tranche_filter.endDuration
](#)[BigInt
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
#### [Tranche_filter.endDuration_not
](#)[BigInt
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
#### [Tranche_filter.endDuration_gt
](#)[BigInt
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
#### [Tranche_filter.endDuration_lt
](#)[BigInt
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
#### [Tranche_filter.endDuration_gte
](#)[BigInt
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
#### [Tranche_filter.endDuration_lte
](#)[BigInt
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
#### [Tranche_filter.endDuration_in
](#)[[BigInt!]
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
#### [Tranche_filter.endDuration_not_in
](#)[[BigInt!]
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
#### [Tranche_filter.endPercentage
](#)[BigInt
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
#### [Tranche_filter.endPercentage_not
](#)[BigInt
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
#### [Tranche_filter.endPercentage_gt
](#)[BigInt
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
#### [Tranche_filter.endPercentage_lt
](#)[BigInt
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
#### [Tranche_filter.endPercentage_gte
](#)[BigInt
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
#### [Tranche_filter.endPercentage_lte
](#)[BigInt
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
#### [Tranche_filter.endPercentage_in
](#)[[BigInt!]
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
#### [Tranche_filter.endPercentage_not_in
](#)[[BigInt!]
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
#### [Tranche_filter.percentage
](#)[BigInt
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
#### [Tranche_filter.percentage_not
](#)[BigInt
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
#### [Tranche_filter.percentage_gt
](#)[BigInt
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
#### [Tranche_filter.percentage_lt
](#)[BigInt
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
#### [Tranche_filter.percentage_gte
](#)[BigInt
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
#### [Tranche_filter.percentage_lte
](#)[BigInt
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
#### [Tranche_filter.percentage_in
](#)[[BigInt!]
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
#### [Tranche_filter.percentage_not_in
](#)[[BigInt!]
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
#### [Tranche_filter.position
](#)[BigInt
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
#### [Tranche_filter.position_not
](#)[BigInt
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
#### [Tranche_filter.position_gt
](#)[BigInt
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
#### [Tranche_filter.position_lt
](#)[BigInt
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
#### [Tranche_filter.position_gte
](#)[BigInt
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
#### [Tranche_filter.position_lte
](#)[BigInt
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
#### [Tranche_filter.position_in
](#)[[BigInt!]
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
#### [Tranche_filter.position_not_in
](#)[[BigInt!]
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
#### [Tranche_filter.startDuration
](#)[BigInt
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
#### [Tranche_filter.startDuration_not
](#)[BigInt
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
#### [Tranche_filter.startDuration_gt
](#)[BigInt
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
#### [Tranche_filter.startDuration_lt
](#)[BigInt
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
#### [Tranche_filter.startDuration_gte
](#)[BigInt
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
#### [Tranche_filter.startDuration_lte
](#)[BigInt
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
#### [Tranche_filter.startDuration_in
](#)[[BigInt!]
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
#### [Tranche_filter.startDuration_not_in
](#)[[BigInt!]
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
#### [Tranche_filter.startPercentage
](#)[BigInt
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
#### [Tranche_filter.startPercentage_not
](#)[BigInt
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
#### [Tranche_filter.startPercentage_gt
](#)[BigInt
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
#### [Tranche_filter.startPercentage_lt
](#)[BigInt
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
#### [Tranche_filter.startPercentage_gte
](#)[BigInt
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
#### [Tranche_filter.startPercentage_lte
](#)[BigInt
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
#### [Tranche_filter.startPercentage_in
](#)[[BigInt!]
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
#### [Tranche_filter.startPercentage_not_in
](#)[[BigInt!]
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
#### [Tranche_filter.\_change_block
](#)[BlockChangedFilter
](/docs/api/airdrops/graphql/the-graph/inputs/block-changed-filter.mdx)
Filter for the block changed event.
#### [Tranche_filter.and
](#)[[Tranche_filter]
](/docs/api/airdrops/graphql/the-graph/inputs/tranche-filter.mdx)
#### [Tranche_filter.or
](#)[[Tranche_filter]
](/docs/api/airdrops/graphql/the-graph/inputs/tranche-filter.mdx)
---
## Watcher_filter
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
No description
```graphql
input Watcher_filter {
id: String
id_not: String
id_gt: String
id_lt: String
id_gte: String
id_lte: String
id_in: [String!]
id_not_in: [String!]
id_contains: String
id_contains_nocase: String
id_not_contains: String
id_not_contains_nocase: String
id_starts_with: String
id_starts_with_nocase: String
id_not_starts_with: String
id_not_starts_with_nocase: String
id_ends_with: String
id_ends_with_nocase: String
id_not_ends_with: String
id_not_ends_with_nocase: String
actionCounter: BigInt
actionCounter_not: BigInt
actionCounter_gt: BigInt
actionCounter_lt: BigInt
actionCounter_gte: BigInt
actionCounter_lte: BigInt
actionCounter_in: [BigInt!]
actionCounter_not_in: [BigInt!]
chainId: BigInt
chainId_not: BigInt
chainId_gt: BigInt
chainId_lt: BigInt
chainId_gte: BigInt
chainId_lte: BigInt
chainId_in: [BigInt!]
chainId_not_in: [BigInt!]
campaignCounter: BigInt
campaignCounter_not: BigInt
campaignCounter_gt: BigInt
campaignCounter_lt: BigInt
campaignCounter_gte: BigInt
campaignCounter_lte: BigInt
campaignCounter_in: [BigInt!]
campaignCounter_not_in: [BigInt!]
_change_block: BlockChangedFilter
and: [Watcher_filter]
or: [Watcher_filter]
}
```
### Fields
#### [Watcher_filter.id
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Watcher_filter.id_not
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Watcher_filter.id_gt
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Watcher_filter.id_lt
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Watcher_filter.id_gte
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Watcher_filter.id_lte
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Watcher_filter.id_in
](#)[[String!]
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Watcher_filter.id_not_in
](#)[[String!]
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Watcher_filter.id_contains
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Watcher_filter.id_contains_nocase
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Watcher_filter.id_not_contains
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Watcher_filter.id_not_contains_nocase
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Watcher_filter.id_starts_with
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Watcher_filter.id_starts_with_nocase
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Watcher_filter.id_not_starts_with
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Watcher_filter.id_not_starts_with_nocase
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Watcher_filter.id_ends_with
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Watcher_filter.id_ends_with_nocase
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Watcher_filter.id_not_ends_with
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Watcher_filter.id_not_ends_with_nocase
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
#### [Watcher_filter.actionCounter
](#)[BigInt
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
#### [Watcher_filter.actionCounter_not
](#)[BigInt
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
#### [Watcher_filter.actionCounter_gt
](#)[BigInt
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
#### [Watcher_filter.actionCounter_lt
](#)[BigInt
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
#### [Watcher_filter.actionCounter_gte
](#)[BigInt
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
#### [Watcher_filter.actionCounter_lte
](#)[BigInt
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
#### [Watcher_filter.actionCounter_in
](#)[[BigInt!]
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
#### [Watcher_filter.actionCounter_not_in
](#)[[BigInt!]
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
#### [Watcher_filter.chainId
](#)[BigInt
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
#### [Watcher_filter.chainId_not
](#)[BigInt
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
#### [Watcher_filter.chainId_gt
](#)[BigInt
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
#### [Watcher_filter.chainId_lt
](#)[BigInt
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
#### [Watcher_filter.chainId_gte
](#)[BigInt
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
#### [Watcher_filter.chainId_lte
](#)[BigInt
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
#### [Watcher_filter.chainId_in
](#)[[BigInt!]
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
#### [Watcher_filter.chainId_not_in
](#)[[BigInt!]
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
#### [Watcher_filter.campaignCounter
](#)[BigInt
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
#### [Watcher_filter.campaignCounter_not
](#)[BigInt
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
#### [Watcher_filter.campaignCounter_gt
](#)[BigInt
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
#### [Watcher_filter.campaignCounter_lt
](#)[BigInt
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
#### [Watcher_filter.campaignCounter_gte
](#)[BigInt
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
#### [Watcher_filter.campaignCounter_lte
](#)[BigInt
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
#### [Watcher_filter.campaignCounter_in
](#)[[BigInt!]
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
#### [Watcher_filter.campaignCounter_not_in
](#)[[BigInt!]
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
#### [Watcher_filter.\_change_block
](#)[BlockChangedFilter
](/docs/api/airdrops/graphql/the-graph/inputs/block-changed-filter.mdx)
Filter for the block changed event.
#### [Watcher_filter.and
](#)[[Watcher_filter]
](/docs/api/airdrops/graphql/the-graph/inputs/watcher-filter.mdx)
#### [Watcher_filter.or
](#)[[Watcher_filter]
](/docs/api/airdrops/graphql/the-graph/inputs/watcher-filter.mdx)
---
## Action (3)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
A generic entity for tracking protocol actions. There may be multiple actions for a single tx.
```graphql
type Action {
id: String!
subgraphId: BigInt!
block: BigInt!
chainId: BigInt!
from: Bytes!
hash: Bytes!
timestamp: BigInt!
campaign: Campaign!
category: ActionCategory!
fee: BigInt
claimAmount: BigInt
claimIndex: BigInt
claimRecipient: Bytes
claimStreamId: String
claimTokenId: BigInt
clawbackAmount: BigInt
clawbackFrom: Bytes
clawbackTo: Bytes
}
```
### Fields
#### [Action.id
](#)[String!
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
Unique identifier: `action-{chainId}-{txHash}-{logIndex}`
#### [Action.subgraphId
](#)[BigInt!
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
Unique global id as tracked by the `Watcher` entity.
#### [Action.block
](#)[BigInt!
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
Transaction details: block number
#### [Action.chainId
](#)[BigInt!
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
The chain ID where the action was created (e.g., 137 for Polygon).
#### [Action.from
](#)[Bytes!
](/docs/api/airdrops/graphql/the-graph/scalars/bytes.mdx)
The msg.sender of the Ethereum transaction.
#### [Action.hash
](#)[Bytes!
](/docs/api/airdrops/graphql/the-graph/scalars/bytes.mdx)
Transaction details: hash
#### [Action.timestamp
](#)[BigInt!
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
Transaction details: timestamp
#### [Action.campaign
](#)[Campaign!
](/docs/api/airdrops/graphql/the-graph/objects/campaign.mdx)
Contract through which the stream actions has been triggered
#### [Action.category
](#)[ActionCategory!
](/docs/api/airdrops/graphql/the-graph/enums/action-category.mdx)
Category of action, e.g., Create.
#### [Action.fee
](#)[BigInt
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
The Sablier fee paid in the native token of the chain (e.g., ETH for Mainnet).
See https://docs.sablier.com/concepts/fees
#### [Action.claimAmount
](#)[BigInt
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
Claim action data: amount.
#### [Action.claimIndex
](#)[BigInt
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
Claim action data: index.
#### [Action.claimRecipient
](#)[Bytes
](/docs/api/airdrops/graphql/the-graph/scalars/bytes.mdx)
Claim action data: recipient.
#### [Action.claimStreamId
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
Claim action data: stream ID as provided by the Lockup subgraph: {contractAddress}-{chainId}-{tokenId}.
#### [Action.claimTokenId
](#)[BigInt
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
Claim action data: ERC-721 token id as provided by the Lockup contract.
#### [Action.clawbackAmount
](#)[BigInt
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
Clawback action data: amount
#### [Action.clawbackFrom
](#)[Bytes
](/docs/api/airdrops/graphql/the-graph/scalars/bytes.mdx)
Clawback action data: from
#### [Action.clawbackTo
](#)[Bytes
](/docs/api/airdrops/graphql/the-graph/scalars/bytes.mdx)
Clawback action data: to
---
## Activity (3)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
User activity grouped by day.
```graphql
type Activity {
id: String!
amount: BigInt!
campaign: Campaign!
claims: BigInt!
day: BigInt!
timestamp: BigInt!
}
```
### Fields
#### [Activity.id
](#)[String!
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
Unique identifier: `activity-{campaignId}-{dayOfSnapshot}`
#### [Activity.amount
](#)[BigInt!
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
Total amount claimed during the day.
#### [Activity.campaign
](#)[Campaign!
](/docs/api/airdrops/graphql/the-graph/objects/campaign.mdx)
Campaign the activity is linked to.
#### [Activity.claims
](#)[BigInt!
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
Number of claims completed during the day.
#### [Activity.day
](#)[BigInt!
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
Day index: Unix timestamp / 24 \* 60 \* 60.
#### [Activity.timestamp
](#)[BigInt!
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
Timestamp of the start of the day.
---
## Asset (3)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
ERC-20 asset
```graphql
type Asset {
id: String!
address: Bytes!
chainId: BigInt!
decimals: BigInt!
name: String!
symbol: String!
campaigns(
skip: Int = 0
first: Int = 100
orderBy: Campaign_orderBy
orderDirection: OrderDirection
where: Campaign_filter
): [Campaign!]!
}
```
### Fields
#### [Asset.id
](#)[String!
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
Unique identifier: `asset-{chainId}-{address}`
#### [Asset.address
](#)[Bytes!
](/docs/api/airdrops/graphql/the-graph/scalars/bytes.mdx)
Address of the ERC-20 token.
#### [Asset.chainId
](#)[BigInt!
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
The chain ID where the asset exists (e.g., 137 for Polygon).
#### [Asset.decimals
](#)[BigInt!
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
Decimals of the ERC20 token.
#### [Asset.name
](#)[String!
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
Name of the ERC20 token.
#### [Asset.symbol
](#)[String!
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
Symbol of the ERC20 token.
#### [Asset.campaigns
](#)[[Campaign!]!
](/docs/api/airdrops/graphql/the-graph/objects/campaign.mdx)
Campaigns that rely on this asset.
##### [Asset.campaigns.skip
](#)[Int
](/docs/api/airdrops/graphql/the-graph/scalars/int.mdx)
##### [Asset.campaigns.first
](#)[Int
](/docs/api/airdrops/graphql/the-graph/scalars/int.mdx)
##### [Asset.campaigns.orderBy
](#)[Campaign_orderBy
](/docs/api/airdrops/graphql/the-graph/enums/campaign-order-by.mdx)
##### [Asset.campaigns.orderDirection
](#)[OrderDirection
](/docs/api/airdrops/graphql/the-graph/enums/order-direction.mdx)
##### [Asset.campaigns.where
](#)[Campaign_filter
](/docs/api/airdrops/graphql/the-graph/inputs/campaign-filter.mdx)
---
## Batch
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
Creating streams in bulk is possible using the SablierBatchLockup contract.
See https://github.com/sablier-labs/lockup/blob/v2.0/src/SablierBatchLockup.sol
Note: the entity can be immutable because a batch is only updated in the same block.
See https://thegraph.com/docs/en/subgraphs/developing/creating/ql-schema/#defining-entities
```graphql
type Batch {
id: String!
hash: Bytes
timestamp: BigInt
batcher: Batcher
position: BigInt
size: BigInt!
streams(
skip: Int = 0
first: Int = 100
orderBy: Stream_orderBy
orderDirection: OrderDirection
where: Stream_filter
): [Stream!]!
}
```
### Fields
#### [Batch.id
](#)[String!
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
Unique identifier: `batch-{chainId}-{txHash}-{batcher}`
#### [Batch.hash
](#)[Bytes
](/docs/api/airdrops/graphql/the-graph/scalars/bytes.mdx)
Hash of the Ethereum transaction that created this batch.
#### [Batch.timestamp
](#)[BigInt
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
Timestamp of the transaction that created this batch.
#### [Batch.batcher
](#)[Batcher
](/docs/api/airdrops/graphql/the-graph/objects/batcher.mdx)
The sender address that created this batch.
#### [Batch.position
](#)[BigInt
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
Index of the batch based on the `batchCounter` in the `Batcher` entity.
#### [Batch.size
](#)[BigInt!
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
Number of streams part of this batch.
#### [Batch.streams
](#)[[Stream!]!
](/docs/api/airdrops/graphql/the-graph/objects/stream.mdx)
Streams part of this batch.
##### [Batch.streams.skip
](#)[Int
](/docs/api/airdrops/graphql/the-graph/scalars/int.mdx)
##### [Batch.streams.first
](#)[Int
](/docs/api/airdrops/graphql/the-graph/scalars/int.mdx)
##### [Batch.streams.orderBy
](#)[Stream_orderBy
](/docs/api/airdrops/graphql/the-graph/enums/stream-order-by.mdx)
##### [Batch.streams.orderDirection
](#)[OrderDirection
](/docs/api/airdrops/graphql/the-graph/enums/order-direction.mdx)
##### [Batch.streams.where
](#)[Stream_filter
](/docs/api/airdrops/graphql/the-graph/inputs/stream-filter.mdx)
---
## Batcher
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
Sender address that created batches.
```graphql
type Batcher {
id: String!
batchCounter: BigInt!
batches(
skip: Int = 0
first: Int = 100
orderBy: Batch_orderBy
orderDirection: OrderDirection
where: Batch_filter
): [Batch!]!
}
```
### Fields
#### [Batcher.id
](#)[String!
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
Unique identifier: `batcher-{chainId}-{sender}`
#### [Batcher.batchCounter
](#)[BigInt!
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
Total number of batches started by this sender.
#### [Batcher.batches
](#)[[Batch!]!
](/docs/api/airdrops/graphql/the-graph/objects/batch.mdx)
Batches started by this sender.
##### [Batcher.batches.skip
](#)[Int
](/docs/api/airdrops/graphql/the-graph/scalars/int.mdx)
##### [Batcher.batches.first
](#)[Int
](/docs/api/airdrops/graphql/the-graph/scalars/int.mdx)
##### [Batcher.batches.orderBy
](#)[Batch_orderBy
](/docs/api/airdrops/graphql/the-graph/enums/batch-order-by.mdx)
##### [Batcher.batches.orderDirection
](#)[OrderDirection
](/docs/api/airdrops/graphql/the-graph/enums/order-direction.mdx)
##### [Batcher.batches.where
](#)[Batch_filter
](/docs/api/airdrops/graphql/the-graph/inputs/batch-filter.mdx)
---
## _Block_
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
No description
```graphql
type _Block_ {
hash: Bytes
number: Int!
timestamp: Int
parentHash: Bytes
}
```
### Fields
#### [\_Block\_.hash
](#)[Bytes
](/docs/api/airdrops/graphql/the-graph/scalars/bytes.mdx)
The hash of the block
#### [\_Block\_.number
](#)[Int!
](/docs/api/airdrops/graphql/the-graph/scalars/int.mdx)
The block number
#### [\_Block\_.timestamp
](#)[Int
](/docs/api/airdrops/graphql/the-graph/scalars/int.mdx)
Integer representation of the timestamp stored in blocks for the chain
#### [\_Block\_.parentHash
](#)[Bytes
](/docs/api/airdrops/graphql/the-graph/scalars/bytes.mdx)
The hash of the parent block
---
## Campaign (3)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
Entity for Merkle campaigns.
```graphql
type Campaign {
id: String!
chainId: BigInt!
subgraphId: BigInt!
hash: Bytes!
timestamp: BigInt!
actions(
skip: Int = 0
first: Int = 100
orderBy: Action_orderBy
orderDirection: OrderDirection
where: Action_filter
): [Action!]!
clawbackAction: Action
category: CampaignCategory!
name: String
nickname: String!
activities(
skip: Int = 0
first: Int = 100
orderBy: Activity_orderBy
orderDirection: OrderDirection
where: Activity_filter
): [Activity!]!
address: Bytes!
admin: Bytes!
aggregateAmount: BigInt!
asset: Asset!
claimedAmount: BigInt!
claimedCount: BigInt!
clawbackTime: BigInt
expiration: BigInt
expires: Boolean!
factory: Factory!
fee: BigInt
ipfsCID: String!
position: BigInt!
root: Bytes!
totalRecipients: BigInt!
version: String!
lockup: Bytes
streamCancelable: Boolean
streamCliff: Boolean
streamCliffDuration: BigInt
streamCliffPercentage: BigInt
streamInitial: Boolean
streamInitialPercentage: BigInt
streamShape: String
streamStart: Boolean
streamStartTime: BigInt
streamTotalDuration: BigInt
streamTranches(
skip: Int = 0
first: Int = 100
orderBy: Tranche_orderBy
orderDirection: OrderDirection
where: Tranche_filter
): [Tranche!]!
streamTransferable: Boolean
}
```
### Fields
#### [Campaign.id
](#)[String!
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
Unique identifier: `{contractAddress}-{chainId}`
#### [Campaign.chainId
](#)[BigInt!
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
The chain ID where the campaign was created (e.g., 137 for Polygon).
#### [Campaign.subgraphId
](#)[BigInt!
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
Unique global id as tracked by the subgraph watcher.
#### [Campaign.hash
](#)[Bytes!
](/docs/api/airdrops/graphql/the-graph/scalars/bytes.mdx)
Hash of the Ethereum transaction that created this campaign.
#### [Campaign.timestamp
](#)[BigInt!
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
Unix timestamp of the Ethereum transaction that created this campaign.
#### [Campaign.actions
](#)[[Action!]!
](/docs/api/airdrops/graphql/the-graph/objects/action.mdx)
Actions triggered by this campaign.
##### [Campaign.actions.skip
](#)[Int
](/docs/api/airdrops/graphql/the-graph/scalars/int.mdx)
##### [Campaign.actions.first
](#)[Int
](/docs/api/airdrops/graphql/the-graph/scalars/int.mdx)
##### [Campaign.actions.orderBy
](#)[Action_orderBy
](/docs/api/airdrops/graphql/the-graph/enums/action-order-by.mdx)
##### [Campaign.actions.orderDirection
](#)[OrderDirection
](/docs/api/airdrops/graphql/the-graph/enums/order-direction.mdx)
##### [Campaign.actions.where
](#)[Action_filter
](/docs/api/airdrops/graphql/the-graph/inputs/action-filter.mdx)
#### [Campaign.clawbackAction
](#)[Action
](/docs/api/airdrops/graphql/the-graph/objects/action.mdx)
Action in which the admin clawed back funds from the campaign.
#### [Campaign.category
](#)[CampaignCategory!
](/docs/api/airdrops/graphql/the-graph/enums/campaign-category.mdx)
Type of campaign, e.g. Instant.
#### [Campaign.name
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
User-provided name for the campaign, which is null in Airdrops v1.1.
#### [Campaign.nickname
](#)[String!
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
Internal name generated by us, derived from `name` or generated from scratch in older versions.
#### [Campaign.activities
](#)[[Activity!]!
](/docs/api/airdrops/graphql/the-graph/objects/activity.mdx)
List of daily activity snapshots for days in which at least one action was triggered.
##### [Campaign.activities.skip
](#)[Int
](/docs/api/airdrops/graphql/the-graph/scalars/int.mdx)
##### [Campaign.activities.first
](#)[Int
](/docs/api/airdrops/graphql/the-graph/scalars/int.mdx)
##### [Campaign.activities.orderBy
](#)[Activity_orderBy
](/docs/api/airdrops/graphql/the-graph/enums/activity-order-by.mdx)
##### [Campaign.activities.orderDirection
](#)[OrderDirection
](/docs/api/airdrops/graphql/the-graph/enums/order-direction.mdx)
##### [Campaign.activities.where
](#)[Activity_filter
](/docs/api/airdrops/graphql/the-graph/inputs/activity-filter.mdx)
#### [Campaign.address
](#)[Bytes!
](/docs/api/airdrops/graphql/the-graph/scalars/bytes.mdx)
Address of the campaign contract.
#### [Campaign.admin
](#)[Bytes!
](/docs/api/airdrops/graphql/the-graph/scalars/bytes.mdx)
Address of the campaign admin, with permission to clawback.
#### [Campaign.aggregateAmount
](#)[BigInt!
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
Total airdrop amount.
#### [Campaign.asset
](#)[Asset!
](/docs/api/airdrops/graphql/the-graph/objects/asset.mdx)
Underlying ERC-20 token distributed via the campaign.
#### [Campaign.claimedAmount
](#)[BigInt!
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
Total amount claimed so far.
#### [Campaign.claimedCount
](#)[BigInt!
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
Number of claims made so far.
#### [Campaign.clawbackTime
](#)[BigInt
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
Unix timestamp when the campaign underwent a clawback.
#### [Campaign.expiration
](#)[BigInt
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
Unix timestamp when the campaign expires and clawback becomes available (if `expires` is true).
#### [Campaign.expires
](#)[Boolean!
](/docs/api/airdrops/graphql/the-graph/scalars/boolean.mdx)
Flag indicating if the campaign expires or is claimable indefinitely.
#### [Campaign.factory
](#)[Factory!
](/docs/api/airdrops/graphql/the-graph/objects/factory.mdx)
The factory contract that deployed this campaign.
#### [Campaign.fee
](#)[BigInt
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
Minimum fee charged by this campaign, denominated in the native token of the chain (e.g., ETH for Mainnet).
Only available in v1.3 and later
See https://docs.sablier.com/concepts/fees
#### [Campaign.ipfsCID
](#)[String!
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
IPFS content identifier for the list of recipients and other static details.
#### [Campaign.position
](#)[BigInt!
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
Index of the campaign based on the `campaignCounter` in the `Factory` entity.
#### [Campaign.root
](#)[Bytes!
](/docs/api/airdrops/graphql/the-graph/scalars/bytes.mdx)
Merkle root.
#### [Campaign.totalRecipients
](#)[BigInt!
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
Total number of recipients.
#### [Campaign.version
](#)[String!
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
Version of the campaign contract, e.g., v1.3.
#### [Campaign.lockup
](#)[Bytes
](/docs/api/airdrops/graphql/the-graph/scalars/bytes.mdx)
Address of the Lockup contract through which streams are created.
#### [Campaign.streamCancelable
](#)[Boolean
](/docs/api/airdrops/graphql/the-graph/scalars/boolean.mdx)
Flag indicating whether the claimed streams will be cancelable initially.
#### [Campaign.streamCliff
](#)[Boolean
](/docs/api/airdrops/graphql/the-graph/scalars/boolean.mdx)
Flag indicating whether the claimed streams will have a cliff.
Only available for Linear streams.
#### [Campaign.streamCliffDuration
](#)[BigInt
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
The duration of the cliff that the stream will have, in seconds.
Only available for Linear streams.
#### [Campaign.streamCliffPercentage
](#)[BigInt
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
The amount that will unlock at the cliff of the claimed stream, expressed as a percentage of the total amount.
Only available for Linear streams.
#### [Campaign.streamInitial
](#)[Boolean
](/docs/api/airdrops/graphql/the-graph/scalars/boolean.mdx)
Flag indicating whether the claimed stream will have an initial unlock.
Only available for Linear streams.
#### [Campaign.streamInitialPercentage
](#)[BigInt
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
The initial unlock amount of the claimed stream, expressed as a percentage of the total.
Only available for Linear streams.
#### [Campaign.streamShape
](#)[String
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
The shape of the distribution.
#### [Campaign.streamStart
](#)[Boolean
](/docs/api/airdrops/graphql/the-graph/scalars/boolean.mdx)
Flag indicating if the claimed stream will have a preset start time or it will use the claim time as the start time.
#### [Campaign.streamStartTime
](#)[BigInt
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
Unix timestamp for the start time.
#### [Campaign.streamTotalDuration
](#)[BigInt
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
Snapshot of the duration in seconds for produced streams.
#### [Campaign.streamTranches
](#)[[Tranche!]!
](/docs/api/airdrops/graphql/the-graph/objects/tranche.mdx)
Tranches of the claimed stream.
##### [Campaign.streamTranches.skip
](#)[Int
](/docs/api/airdrops/graphql/the-graph/scalars/int.mdx)
##### [Campaign.streamTranches.first
](#)[Int
](/docs/api/airdrops/graphql/the-graph/scalars/int.mdx)
##### [Campaign.streamTranches.orderBy
](#)[Tranche_orderBy
](/docs/api/airdrops/graphql/the-graph/enums/tranche-order-by.mdx)
##### [Campaign.streamTranches.orderDirection
](#)[OrderDirection
](/docs/api/airdrops/graphql/the-graph/enums/order-direction.mdx)
##### [Campaign.streamTranches.where
](#)[Tranche_filter
](/docs/api/airdrops/graphql/the-graph/inputs/tranche-filter.mdx)
#### [Campaign.streamTransferable
](#)[Boolean
](/docs/api/airdrops/graphql/the-graph/scalars/boolean.mdx)
Flag indicating whether the claimed streams will be transferable.
---
## Factory (3)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
Entity for Merkle factories, which deploy campaigns.
```graphql
type Factory {
id: String!
address: Bytes!
alias: String!
campaignCounter: BigInt!
chainId: BigInt!
campaigns(
skip: Int = 0
first: Int = 100
orderBy: Campaign_orderBy
orderDirection: OrderDirection
where: Campaign_filter
): [Campaign!]!
}
```
### Fields
#### [Factory.id
](#)[String!
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
Unique identifier: `factory-{chainId}-{address}`
#### [Factory.address
](#)[Bytes!
](/docs/api/airdrops/graphql/the-graph/scalars/bytes.mdx)
The address of the factory contract.
#### [Factory.alias
](#)[String!
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
Factory alias, e.g., `MSF2`. For historical reasons, the alias comes from the
the name of the `MerkleStreamFactory` contract.
#### [Factory.campaignCounter
](#)[BigInt!
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
Factory index for campaigns
#### [Factory.chainId
](#)[BigInt!
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
The chain ID where the factory was created (e.g., 137 for Polygon).
#### [Factory.campaigns
](#)[[Campaign!]!
](/docs/api/airdrops/graphql/the-graph/objects/campaign.mdx)
Campaigns deployed by this factory.
##### [Factory.campaigns.skip
](#)[Int
](/docs/api/airdrops/graphql/the-graph/scalars/int.mdx)
##### [Factory.campaigns.first
](#)[Int
](/docs/api/airdrops/graphql/the-graph/scalars/int.mdx)
##### [Factory.campaigns.orderBy
](#)[Campaign_orderBy
](/docs/api/airdrops/graphql/the-graph/enums/campaign-order-by.mdx)
##### [Factory.campaigns.orderDirection
](#)[OrderDirection
](/docs/api/airdrops/graphql/the-graph/enums/order-direction.mdx)
##### [Factory.campaigns.where
](#)[Campaign_filter
](/docs/api/airdrops/graphql/the-graph/inputs/campaign-filter.mdx)
---
## _Meta_
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
The type for the top-level \_meta field
```graphql
type _Meta_ {
block: _Block_!
deployment: String!
hasIndexingErrors: Boolean!
}
```
### Fields
#### [\_Meta\_.block
](#)[\_Block\_!
](/docs/api/airdrops/graphql/the-graph/objects/block.mdx)
Information about a specific subgraph block. The hash of the block
will be null if the \_meta field has a block constraint that asks for
a block number. It will be filled if the \_meta field has no block constraint
and therefore asks for the latest block
#### [\_Meta\_.deployment
](#)[String!
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
The deployment ID
#### [\_Meta\_.hasIndexingErrors
](#)[Boolean!
](/docs/api/airdrops/graphql/the-graph/scalars/boolean.mdx)
If `true`, the subgraph encountered indexing errors at some past block
---
## Stream
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
No description
```graphql
type Stream {
id: String!
alias: String!
chainId: BigInt!
subgraphId: BigInt!
tokenId: BigInt!
hash: Bytes!
timestamp: BigInt!
actions(
skip: Int = 0
first: Int = 100
orderBy: Action_orderBy
orderDirection: OrderDirection
where: Action_filter
): [Action!]!
asset: Asset!
assetDecimalsValue: BigInt!
batch: Batch!
category: StreamCategory!
contract: Bytes!
position: BigInt!
recipient: Bytes!
sender: Bytes!
startTime: BigInt!
transferable: Boolean!
version: String!
withdrawnAmount: BigInt!
availableAmount: BigInt!
creator: Bytes!
depletionTime: BigInt!
depositedAmount: BigInt!
forgivenDebt: BigInt!
lastAdjustmentAction: Action
lastAdjustmentTimestamp: BigInt!
paused: Boolean!
pausedAction: Action
pausedTime: BigInt
ratePerSecond: BigInt!
refundedAmount: BigInt!
snapshotAmount: BigInt!
voided: Boolean!
voidedAction: Action
voidedTime: BigInt
}
```
### Fields
#### [Stream.id
](#)[String!
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
Unique identifier: `{contractAddress}-{chainId}-{tokenId}`
#### [Stream.alias
](#)[String!
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
Like the id: `{contractAlias}-{chainId}-{tokenId}`
#### [Stream.chainId
](#)[BigInt!
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
The chain ID where the stream was created (e.g., 137 for Polygon).
#### [Stream.subgraphId
](#)[BigInt!
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
Unique global id as tracked by the `Watcher` entity.
ኆ80 This may change if new data sources are added and the chronological order of streams changes.
#### [Stream.tokenId
](#)[BigInt!
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
The id provided by the Lockup contract. This is the ERC-721 tokenId.
#### [Stream.hash
](#)[Bytes!
](/docs/api/airdrops/graphql/the-graph/scalars/bytes.mdx)
Hash of the Ethereum transaction that created this stream.
#### [Stream.timestamp
](#)[BigInt!
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
Unix timestamp of the Ethereum transaction that created this stream.
#### [Stream.actions
](#)[[Action!]!
](/docs/api/airdrops/graphql/the-graph/objects/action.mdx)
Actions triggered by this stream.
##### [Stream.actions.skip
](#)[Int
](/docs/api/airdrops/graphql/the-graph/scalars/int.mdx)
##### [Stream.actions.first
](#)[Int
](/docs/api/airdrops/graphql/the-graph/scalars/int.mdx)
##### [Stream.actions.orderBy
](#)[Action_orderBy
](/docs/api/airdrops/graphql/the-graph/enums/action-order-by.mdx)
##### [Stream.actions.orderDirection
](#)[OrderDirection
](/docs/api/airdrops/graphql/the-graph/enums/order-direction.mdx)
##### [Stream.actions.where
](#)[Action_filter
](/docs/api/airdrops/graphql/the-graph/inputs/action-filter.mdx)
#### [Stream.asset
](#)[Asset!
](/docs/api/airdrops/graphql/the-graph/objects/asset.mdx)
ERC-20 token distributed via this stream.
#### [Stream.assetDecimalsValue
](#)[BigInt!
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
ERC-20 token decimals. Stored here to avoid loading the asset entity on each stream.
Note: the "Value" suffix is added because of a bug in GraphQL Code Generator.
#### [Stream.batch
](#)[Batch!
](/docs/api/airdrops/graphql/the-graph/objects/batch.mdx)
The batch the stream may be part of.
Note: this is available only when created within a batch create transaction.
#### [Stream.category
](#)[StreamCategory!
](/docs/api/airdrops/graphql/the-graph/enums/stream-category.mdx)
Category used for sorting.
#### [Stream.contract
](#)[Bytes!
](/docs/api/airdrops/graphql/the-graph/scalars/bytes.mdx)
The address of the contract the stream originates from.
#### [Stream.position
](#)[BigInt!
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
Position in the batch, if available.
#### [Stream.recipient
](#)[Bytes!
](/docs/api/airdrops/graphql/the-graph/scalars/bytes.mdx)
Current recipient of the stream, with permission to withdraw funds to any third-party address.
Note: the recipient can change on NFT transfer.
#### [Stream.sender
](#)[Bytes!
](/docs/api/airdrops/graphql/the-graph/scalars/bytes.mdx)
Manager of the stream, with ability to cancel the stream.
#### [Stream.startTime
](#)[BigInt!
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
Unix timestamp for the start of the stream.
#### [Stream.transferable
](#)[Boolean!
](/docs/api/airdrops/graphql/the-graph/scalars/boolean.mdx)
Flag indicating the transferability of the stream. This is set when the stream is created, and cannot
be changed later.
#### [Stream.version
](#)[String!
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
Version of contract, e.g., v1.0.
#### [Stream.withdrawnAmount
](#)[BigInt!
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
The sum of all withdrawn amounts.
#### [Stream.availableAmount
](#)[BigInt!
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
This is equivalent to the value returned by ERC20.balanceOf, and it changes after deposit and withdrawal.
#### [Stream.creator
](#)[Bytes!
](/docs/api/airdrops/graphql/the-graph/scalars/bytes.mdx)
The account that created the stream, which can be different from the sender.
#### [Stream.depletionTime
](#)[BigInt!
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
Unix timestamp indicating the time when the stream will become insolvent.
#### [Stream.depositedAmount
](#)[BigInt!
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
The sum of all deposits.
#### [Stream.forgivenDebt
](#)[BigInt!
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
The amount of debt forgiven by a void action.
#### [Stream.lastAdjustmentAction
](#)[Action
](/docs/api/airdrops/graphql/the-graph/objects/action.mdx)
Action in which the payment rate was adjusted.
#### [Stream.lastAdjustmentTimestamp
](#)[BigInt!
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
Unix timestamp for when the payment rate was adjusted.
#### [Stream.paused
](#)[Boolean!
](/docs/api/airdrops/graphql/the-graph/scalars/boolean.mdx)
Flag indicating if a stream is paused.
#### [Stream.pausedAction
](#)[Action
](/docs/api/airdrops/graphql/the-graph/objects/action.mdx)
Action in which the stream was paused.
#### [Stream.pausedTime
](#)[BigInt
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
Unix timestamp for when the stream was paused.
#### [Stream.ratePerSecond
](#)[BigInt!
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
Current payment rate per second, denominated in 18 decimals.
#### [Stream.refundedAmount
](#)[BigInt!
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
The sum of all refunds.
#### [Stream.snapshotAmount
](#)[BigInt!
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
The amount streamed up until the time of the last adjustment, denominated in 18 decimals.
#### [Stream.voided
](#)[Boolean!
](/docs/api/airdrops/graphql/the-graph/scalars/boolean.mdx)
Flag indicating if a stream is voided.
#### [Stream.voidedAction
](#)[Action
](/docs/api/airdrops/graphql/the-graph/objects/action.mdx)
Action in which the stream was voided.
#### [Stream.voidedTime
](#)[BigInt
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
Unix timestamp for when the stream was voided.
---
## Tranche (3)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
Used in Merkle Lockup campaigns for the vesting schedule.
```graphql
type Tranche {
id: String!
campaign: Campaign!
duration: BigInt!
endDuration: BigInt!
endPercentage: BigInt!
percentage: BigInt!
position: BigInt!
startDuration: BigInt!
startPercentage: BigInt!
}
```
### Fields
#### [Tranche.id
](#)[String!
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
Unique identifier: `tranche-{campaignId}-{position}`
#### [Tranche.campaign
](#)[Campaign!
](/docs/api/airdrops/graphql/the-graph/objects/campaign.mdx)
The campaign in which this tranche was created.
#### [Tranche.duration
](#)[BigInt!
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
Duration of the tranche, in seconds.
#### [Tranche.endDuration
](#)[BigInt!
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
Total duration accrued at the end of the tranche. This is the sum of this tranche's duration and all previous tranches' durations.
#### [Tranche.endPercentage
](#)[BigInt!
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
Total percentage unlocked at the end of the tranche. This is the sum of this tranche's percentage and all previous tranches' percentages.
#### [Tranche.percentage
](#)[BigInt!
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
Percentage of the total amount unlocked by this tranche.
#### [Tranche.position
](#)[BigInt!
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
Position of the tranche inside the array.
#### [Tranche.startDuration
](#)[BigInt!
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
Total duration accrued at the start of the tranche. This is the sum of all previous tranches' durations.
#### [Tranche.startPercentage
](#)[BigInt!
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
Total percentage unlocked at the start of the tranche. This is the sum of all previous tranches' percentages.
---
## Watcher (3)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
No description
```graphql
type Watcher {
id: String!
actionCounter: BigInt!
chainId: BigInt!
campaignCounter: BigInt!
}
```
### Fields
#### [Watcher.id
](#)[String!
](/docs/api/airdrops/graphql/the-graph/scalars/string.mdx)
The chain ID. There is one watcher per subgraph.
#### [Watcher.actionCounter
](#)[BigInt!
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
Global counter for actions.
#### [Watcher.chainId
](#)[BigInt!
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
Alias for id.
#### [Watcher.campaignCounter
](#)[BigInt!
](/docs/api/airdrops/graphql/the-graph/scalars/big-int.mdx)
Global counter.
---
## action (4)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
No description
```graphql
action(
id: ID!
block: Block_height
subgraphError: _SubgraphErrorPolicy_! = deny
): Action
```
### Arguments
#### [action.id
](#)[ID!
](/docs/api/airdrops/graphql/the-graph/scalars/id.mdx)
#### [action.block
](#)[Block_height
](/docs/api/airdrops/graphql/the-graph/inputs/block-height.mdx)
The block at which the query should be executed. Can either be a `{ hash: Bytes }` value containing a block hash, a `{ number: Int }` containing the block number, or a `{ number_gte: Int }` containing the minimum block number. In the case of `number_gte`, the query will be executed on the latest block only if the subgraph has progressed to or past the minimum block number. Defaults to the latest block when omitted.
#### [action.subgraphError
](#)[\_SubgraphErrorPolicy\_!
](/docs/api/airdrops/graphql/the-graph/enums/subgraph-error-policy.mdx)
Set to `allow` to receive data even if the subgraph has skipped over errors while syncing.
### Type
#### [Action
](/docs/api/airdrops/graphql/the-graph/objects/action.mdx)
A generic entity for tracking protocol actions. There may be multiple actions for a single tx.
---
## actions
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
No description
```graphql
actions(
skip: Int = 0
first: Int = 100
orderBy: Action_orderBy
orderDirection: OrderDirection
where: Action_filter
block: Block_height
subgraphError: _SubgraphErrorPolicy_! = deny
): [Action!]!
```
### Arguments
#### [actions.skip
](#)[Int
](/docs/api/airdrops/graphql/the-graph/scalars/int.mdx)
#### [actions.first
](#)[Int
](/docs/api/airdrops/graphql/the-graph/scalars/int.mdx)
#### [actions.orderBy
](#)[Action_orderBy
](/docs/api/airdrops/graphql/the-graph/enums/action-order-by.mdx)
#### [actions.orderDirection
](#)[OrderDirection
](/docs/api/airdrops/graphql/the-graph/enums/order-direction.mdx)
#### [actions.where
](#)[Action_filter
](/docs/api/airdrops/graphql/the-graph/inputs/action-filter.mdx)
#### [actions.block
](#)[Block_height
](/docs/api/airdrops/graphql/the-graph/inputs/block-height.mdx)
The block at which the query should be executed. Can either be a `{ hash: Bytes }` value containing a block hash, a `{ number: Int }` containing the block number, or a `{ number_gte: Int }` containing the minimum block number. In the case of `number_gte`, the query will be executed on the latest block only if the subgraph has progressed to or past the minimum block number. Defaults to the latest block when omitted.
#### [actions.subgraphError
](#)[\_SubgraphErrorPolicy\_!
](/docs/api/airdrops/graphql/the-graph/enums/subgraph-error-policy.mdx)
Set to `allow` to receive data even if the subgraph has skipped over errors while syncing.
### Type
#### [Action
](/docs/api/airdrops/graphql/the-graph/objects/action.mdx)
A generic entity for tracking protocol actions. There may be multiple actions for a single tx.
---
## activities
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
No description
```graphql
activities(
skip: Int = 0
first: Int = 100
orderBy: Activity_orderBy
orderDirection: OrderDirection
where: Activity_filter
block: Block_height
subgraphError: _SubgraphErrorPolicy_! = deny
): [Activity!]!
```
### Arguments
#### [activities.skip
](#)[Int
](/docs/api/airdrops/graphql/the-graph/scalars/int.mdx)
#### [activities.first
](#)[Int
](/docs/api/airdrops/graphql/the-graph/scalars/int.mdx)
#### [activities.orderBy
](#)[Activity_orderBy
](/docs/api/airdrops/graphql/the-graph/enums/activity-order-by.mdx)
#### [activities.orderDirection
](#)[OrderDirection
](/docs/api/airdrops/graphql/the-graph/enums/order-direction.mdx)
#### [activities.where
](#)[Activity_filter
](/docs/api/airdrops/graphql/the-graph/inputs/activity-filter.mdx)
#### [activities.block
](#)[Block_height
](/docs/api/airdrops/graphql/the-graph/inputs/block-height.mdx)
The block at which the query should be executed. Can either be a `{ hash: Bytes }` value containing a block hash, a `{ number: Int }` containing the block number, or a `{ number_gte: Int }` containing the minimum block number. In the case of `number_gte`, the query will be executed on the latest block only if the subgraph has progressed to or past the minimum block number. Defaults to the latest block when omitted.
#### [activities.subgraphError
](#)[\_SubgraphErrorPolicy\_!
](/docs/api/airdrops/graphql/the-graph/enums/subgraph-error-policy.mdx)
Set to `allow` to receive data even if the subgraph has skipped over errors while syncing.
### Type
#### [Activity
](/docs/api/airdrops/graphql/the-graph/objects/activity.mdx)
User activity grouped by day.
---
## activity (4)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
No description
```graphql
activity(
id: ID!
block: Block_height
subgraphError: _SubgraphErrorPolicy_! = deny
): Activity
```
### Arguments
#### [activity.id
](#)[ID!
](/docs/api/airdrops/graphql/the-graph/scalars/id.mdx)
#### [activity.block
](#)[Block_height
](/docs/api/airdrops/graphql/the-graph/inputs/block-height.mdx)
The block at which the query should be executed. Can either be a `{ hash: Bytes }` value containing a block hash, a `{ number: Int }` containing the block number, or a `{ number_gte: Int }` containing the minimum block number. In the case of `number_gte`, the query will be executed on the latest block only if the subgraph has progressed to or past the minimum block number. Defaults to the latest block when omitted.
#### [activity.subgraphError
](#)[\_SubgraphErrorPolicy\_!
](/docs/api/airdrops/graphql/the-graph/enums/subgraph-error-policy.mdx)
Set to `allow` to receive data even if the subgraph has skipped over errors while syncing.
### Type
#### [Activity
](/docs/api/airdrops/graphql/the-graph/objects/activity.mdx)
User activity grouped by day.
---
## asset (4)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
No description
```graphql
asset(
id: ID!
block: Block_height
subgraphError: _SubgraphErrorPolicy_! = deny
): Asset
```
### Arguments
#### [asset.id
](#)[ID!
](/docs/api/airdrops/graphql/the-graph/scalars/id.mdx)
#### [asset.block
](#)[Block_height
](/docs/api/airdrops/graphql/the-graph/inputs/block-height.mdx)
The block at which the query should be executed. Can either be a `{ hash: Bytes }` value containing a block hash, a `{ number: Int }` containing the block number, or a `{ number_gte: Int }` containing the minimum block number. In the case of `number_gte`, the query will be executed on the latest block only if the subgraph has progressed to or past the minimum block number. Defaults to the latest block when omitted.
#### [asset.subgraphError
](#)[\_SubgraphErrorPolicy\_!
](/docs/api/airdrops/graphql/the-graph/enums/subgraph-error-policy.mdx)
Set to `allow` to receive data even if the subgraph has skipped over errors while syncing.
### Type
#### [Asset
](/docs/api/airdrops/graphql/the-graph/objects/asset.mdx)
ERC-20 asset
---
## assets
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
No description
```graphql
assets(
skip: Int = 0
first: Int = 100
orderBy: Asset_orderBy
orderDirection: OrderDirection
where: Asset_filter
block: Block_height
subgraphError: _SubgraphErrorPolicy_! = deny
): [Asset!]!
```
### Arguments
#### [assets.skip
](#)[Int
](/docs/api/airdrops/graphql/the-graph/scalars/int.mdx)
#### [assets.first
](#)[Int
](/docs/api/airdrops/graphql/the-graph/scalars/int.mdx)
#### [assets.orderBy
](#)[Asset_orderBy
](/docs/api/airdrops/graphql/the-graph/enums/asset-order-by.mdx)
#### [assets.orderDirection
](#)[OrderDirection
](/docs/api/airdrops/graphql/the-graph/enums/order-direction.mdx)
#### [assets.where
](#)[Asset_filter
](/docs/api/airdrops/graphql/the-graph/inputs/asset-filter.mdx)
#### [assets.block
](#)[Block_height
](/docs/api/airdrops/graphql/the-graph/inputs/block-height.mdx)
The block at which the query should be executed. Can either be a `{ hash: Bytes }` value containing a block hash, a `{ number: Int }` containing the block number, or a `{ number_gte: Int }` containing the minimum block number. In the case of `number_gte`, the query will be executed on the latest block only if the subgraph has progressed to or past the minimum block number. Defaults to the latest block when omitted.
#### [assets.subgraphError
](#)[\_SubgraphErrorPolicy\_!
](/docs/api/airdrops/graphql/the-graph/enums/subgraph-error-policy.mdx)
Set to `allow` to receive data even if the subgraph has skipped over errors while syncing.
### Type
#### [Asset
](/docs/api/airdrops/graphql/the-graph/objects/asset.mdx)
ERC-20 asset
---
## batch (2)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
No description
```graphql
batch(
id: ID!
block: Block_height
subgraphError: _SubgraphErrorPolicy_! = deny
): Batch
```
### Arguments
#### [batch.id
](#)[ID!
](/docs/api/airdrops/graphql/the-graph/scalars/id.mdx)
#### [batch.block
](#)[Block_height
](/docs/api/airdrops/graphql/the-graph/inputs/block-height.mdx)
The block at which the query should be executed. Can either be a `{ hash: Bytes }` value containing a block hash, a `{ number: Int }` containing the block number, or a `{ number_gte: Int }` containing the minimum block number. In the case of `number_gte`, the query will be executed on the latest block only if the subgraph has progressed to or past the minimum block number. Defaults to the latest block when omitted.
#### [batch.subgraphError
](#)[\_SubgraphErrorPolicy\_!
](/docs/api/airdrops/graphql/the-graph/enums/subgraph-error-policy.mdx)
Set to `allow` to receive data even if the subgraph has skipped over errors while syncing.
### Type
#### [Batch
](/docs/api/airdrops/graphql/the-graph/objects/batch.mdx)
Creating streams in bulk is possible using the SablierBatchLockup contract.
See https://github.com/sablier-labs/lockup/blob/v2.0/src/SablierBatchLockup.sol
Note: the entity can be immutable because a batch is only updated in the same block.
See https://thegraph.com/docs/en/subgraphs/developing/creating/ql-schema/#defining-entities
---
## batcher (2)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
No description
```graphql
batcher(
id: ID!
block: Block_height
subgraphError: _SubgraphErrorPolicy_! = deny
): Batcher
```
### Arguments
#### [batcher.id
](#)[ID!
](/docs/api/airdrops/graphql/the-graph/scalars/id.mdx)
#### [batcher.block
](#)[Block_height
](/docs/api/airdrops/graphql/the-graph/inputs/block-height.mdx)
The block at which the query should be executed. Can either be a `{ hash: Bytes }` value containing a block hash, a `{ number: Int }` containing the block number, or a `{ number_gte: Int }` containing the minimum block number. In the case of `number_gte`, the query will be executed on the latest block only if the subgraph has progressed to or past the minimum block number. Defaults to the latest block when omitted.
#### [batcher.subgraphError
](#)[\_SubgraphErrorPolicy\_!
](/docs/api/airdrops/graphql/the-graph/enums/subgraph-error-policy.mdx)
Set to `allow` to receive data even if the subgraph has skipped over errors while syncing.
### Type
#### [Batcher
](/docs/api/airdrops/graphql/the-graph/objects/batcher.mdx)
Sender address that created batches.
---
## batchers
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
No description
```graphql
batchers(
skip: Int = 0
first: Int = 100
orderBy: Batcher_orderBy
orderDirection: OrderDirection
where: Batcher_filter
block: Block_height
subgraphError: _SubgraphErrorPolicy_! = deny
): [Batcher!]!
```
### Arguments
#### [batchers.skip
](#)[Int
](/docs/api/airdrops/graphql/the-graph/scalars/int.mdx)
#### [batchers.first
](#)[Int
](/docs/api/airdrops/graphql/the-graph/scalars/int.mdx)
#### [batchers.orderBy
](#)[Batcher_orderBy
](/docs/api/airdrops/graphql/the-graph/enums/batcher-order-by.mdx)
#### [batchers.orderDirection
](#)[OrderDirection
](/docs/api/airdrops/graphql/the-graph/enums/order-direction.mdx)
#### [batchers.where
](#)[Batcher_filter
](/docs/api/airdrops/graphql/the-graph/inputs/batcher-filter.mdx)
#### [batchers.block
](#)[Block_height
](/docs/api/airdrops/graphql/the-graph/inputs/block-height.mdx)
The block at which the query should be executed. Can either be a `{ hash: Bytes }` value containing a block hash, a `{ number: Int }` containing the block number, or a `{ number_gte: Int }` containing the minimum block number. In the case of `number_gte`, the query will be executed on the latest block only if the subgraph has progressed to or past the minimum block number. Defaults to the latest block when omitted.
#### [batchers.subgraphError
](#)[\_SubgraphErrorPolicy\_!
](/docs/api/airdrops/graphql/the-graph/enums/subgraph-error-policy.mdx)
Set to `allow` to receive data even if the subgraph has skipped over errors while syncing.
### Type
#### [Batcher
](/docs/api/airdrops/graphql/the-graph/objects/batcher.mdx)
Sender address that created batches.
---
## batches
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
No description
```graphql
batches(
skip: Int = 0
first: Int = 100
orderBy: Batch_orderBy
orderDirection: OrderDirection
where: Batch_filter
block: Block_height
subgraphError: _SubgraphErrorPolicy_! = deny
): [Batch!]!
```
### Arguments
#### [batches.skip
](#)[Int
](/docs/api/airdrops/graphql/the-graph/scalars/int.mdx)
#### [batches.first
](#)[Int
](/docs/api/airdrops/graphql/the-graph/scalars/int.mdx)
#### [batches.orderBy
](#)[Batch_orderBy
](/docs/api/airdrops/graphql/the-graph/enums/batch-order-by.mdx)
#### [batches.orderDirection
](#)[OrderDirection
](/docs/api/airdrops/graphql/the-graph/enums/order-direction.mdx)
#### [batches.where
](#)[Batch_filter
](/docs/api/airdrops/graphql/the-graph/inputs/batch-filter.mdx)
#### [batches.block
](#)[Block_height
](/docs/api/airdrops/graphql/the-graph/inputs/block-height.mdx)
The block at which the query should be executed. Can either be a `{ hash: Bytes }` value containing a block hash, a `{ number: Int }` containing the block number, or a `{ number_gte: Int }` containing the minimum block number. In the case of `number_gte`, the query will be executed on the latest block only if the subgraph has progressed to or past the minimum block number. Defaults to the latest block when omitted.
#### [batches.subgraphError
](#)[\_SubgraphErrorPolicy\_!
](/docs/api/airdrops/graphql/the-graph/enums/subgraph-error-policy.mdx)
Set to `allow` to receive data even if the subgraph has skipped over errors while syncing.
### Type
#### [Batch
](/docs/api/airdrops/graphql/the-graph/objects/batch.mdx)
Creating streams in bulk is possible using the SablierBatchLockup contract.
See https://github.com/sablier-labs/lockup/blob/v2.0/src/SablierBatchLockup.sol
Note: the entity can be immutable because a batch is only updated in the same block.
See https://thegraph.com/docs/en/subgraphs/developing/creating/ql-schema/#defining-entities
---
## campaign (4)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
No description
```graphql
campaign(
id: ID!
block: Block_height
subgraphError: _SubgraphErrorPolicy_! = deny
): Campaign
```
### Arguments
#### [campaign.id
](#)[ID!
](/docs/api/airdrops/graphql/the-graph/scalars/id.mdx)
#### [campaign.block
](#)[Block_height
](/docs/api/airdrops/graphql/the-graph/inputs/block-height.mdx)
The block at which the query should be executed. Can either be a `{ hash: Bytes }` value containing a block hash, a `{ number: Int }` containing the block number, or a `{ number_gte: Int }` containing the minimum block number. In the case of `number_gte`, the query will be executed on the latest block only if the subgraph has progressed to or past the minimum block number. Defaults to the latest block when omitted.
#### [campaign.subgraphError
](#)[\_SubgraphErrorPolicy\_!
](/docs/api/airdrops/graphql/the-graph/enums/subgraph-error-policy.mdx)
Set to `allow` to receive data even if the subgraph has skipped over errors while syncing.
### Type
#### [Campaign
](/docs/api/airdrops/graphql/the-graph/objects/campaign.mdx)
Entity for Merkle campaigns.
---
## campaigns
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
No description
```graphql
campaigns(
skip: Int = 0
first: Int = 100
orderBy: Campaign_orderBy
orderDirection: OrderDirection
where: Campaign_filter
block: Block_height
subgraphError: _SubgraphErrorPolicy_! = deny
): [Campaign!]!
```
### Arguments
#### [campaigns.skip
](#)[Int
](/docs/api/airdrops/graphql/the-graph/scalars/int.mdx)
#### [campaigns.first
](#)[Int
](/docs/api/airdrops/graphql/the-graph/scalars/int.mdx)
#### [campaigns.orderBy
](#)[Campaign_orderBy
](/docs/api/airdrops/graphql/the-graph/enums/campaign-order-by.mdx)
#### [campaigns.orderDirection
](#)[OrderDirection
](/docs/api/airdrops/graphql/the-graph/enums/order-direction.mdx)
#### [campaigns.where
](#)[Campaign_filter
](/docs/api/airdrops/graphql/the-graph/inputs/campaign-filter.mdx)
#### [campaigns.block
](#)[Block_height
](/docs/api/airdrops/graphql/the-graph/inputs/block-height.mdx)
The block at which the query should be executed. Can either be a `{ hash: Bytes }` value containing a block hash, a `{ number: Int }` containing the block number, or a `{ number_gte: Int }` containing the minimum block number. In the case of `number_gte`, the query will be executed on the latest block only if the subgraph has progressed to or past the minimum block number. Defaults to the latest block when omitted.
#### [campaigns.subgraphError
](#)[\_SubgraphErrorPolicy\_!
](/docs/api/airdrops/graphql/the-graph/enums/subgraph-error-policy.mdx)
Set to `allow` to receive data even if the subgraph has skipped over errors while syncing.
### Type
#### [Campaign
](/docs/api/airdrops/graphql/the-graph/objects/campaign.mdx)
Entity for Merkle campaigns.
---
## factories
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
No description
```graphql
factories(
skip: Int = 0
first: Int = 100
orderBy: Factory_orderBy
orderDirection: OrderDirection
where: Factory_filter
block: Block_height
subgraphError: _SubgraphErrorPolicy_! = deny
): [Factory!]!
```
### Arguments
#### [factories.skip
](#)[Int
](/docs/api/airdrops/graphql/the-graph/scalars/int.mdx)
#### [factories.first
](#)[Int
](/docs/api/airdrops/graphql/the-graph/scalars/int.mdx)
#### [factories.orderBy
](#)[Factory_orderBy
](/docs/api/airdrops/graphql/the-graph/enums/factory-order-by.mdx)
#### [factories.orderDirection
](#)[OrderDirection
](/docs/api/airdrops/graphql/the-graph/enums/order-direction.mdx)
#### [factories.where
](#)[Factory_filter
](/docs/api/airdrops/graphql/the-graph/inputs/factory-filter.mdx)
#### [factories.block
](#)[Block_height
](/docs/api/airdrops/graphql/the-graph/inputs/block-height.mdx)
The block at which the query should be executed. Can either be a `{ hash: Bytes }` value containing a block hash, a `{ number: Int }` containing the block number, or a `{ number_gte: Int }` containing the minimum block number. In the case of `number_gte`, the query will be executed on the latest block only if the subgraph has progressed to or past the minimum block number. Defaults to the latest block when omitted.
#### [factories.subgraphError
](#)[\_SubgraphErrorPolicy\_!
](/docs/api/airdrops/graphql/the-graph/enums/subgraph-error-policy.mdx)
Set to `allow` to receive data even if the subgraph has skipped over errors while syncing.
### Type
#### [Factory
](/docs/api/airdrops/graphql/the-graph/objects/factory.mdx)
Entity for Merkle factories, which deploy campaigns.
---
## factory (4)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
No description
```graphql
factory(
id: ID!
block: Block_height
subgraphError: _SubgraphErrorPolicy_! = deny
): Factory
```
### Arguments
#### [factory.id
](#)[ID!
](/docs/api/airdrops/graphql/the-graph/scalars/id.mdx)
#### [factory.block
](#)[Block_height
](/docs/api/airdrops/graphql/the-graph/inputs/block-height.mdx)
The block at which the query should be executed. Can either be a `{ hash: Bytes }` value containing a block hash, a `{ number: Int }` containing the block number, or a `{ number_gte: Int }` containing the minimum block number. In the case of `number_gte`, the query will be executed on the latest block only if the subgraph has progressed to or past the minimum block number. Defaults to the latest block when omitted.
#### [factory.subgraphError
](#)[\_SubgraphErrorPolicy\_!
](/docs/api/airdrops/graphql/the-graph/enums/subgraph-error-policy.mdx)
Set to `allow` to receive data even if the subgraph has skipped over errors while syncing.
### Type
#### [Factory
](/docs/api/airdrops/graphql/the-graph/objects/factory.mdx)
Entity for Merkle factories, which deploy campaigns.
---
## _meta
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
Access to subgraph metadata
```graphql
_meta(
block: Block_height
): _Meta_
```
### Arguments
#### [\_meta.block
](#)[Block_height
](/docs/api/airdrops/graphql/the-graph/inputs/block-height.mdx)
### Type
#### [\_Meta\_
](/docs/api/airdrops/graphql/the-graph/objects/meta.mdx)
The type for the top-level \_meta field
---
## stream (2)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
No description
```graphql
stream(
id: ID!
block: Block_height
subgraphError: _SubgraphErrorPolicy_! = deny
): Stream
```
### Arguments
#### [stream.id
](#)[ID!
](/docs/api/airdrops/graphql/the-graph/scalars/id.mdx)
#### [stream.block
](#)[Block_height
](/docs/api/airdrops/graphql/the-graph/inputs/block-height.mdx)
The block at which the query should be executed. Can either be a `{ hash: Bytes }` value containing a block hash, a `{ number: Int }` containing the block number, or a `{ number_gte: Int }` containing the minimum block number. In the case of `number_gte`, the query will be executed on the latest block only if the subgraph has progressed to or past the minimum block number. Defaults to the latest block when omitted.
#### [stream.subgraphError
](#)[\_SubgraphErrorPolicy\_!
](/docs/api/airdrops/graphql/the-graph/enums/subgraph-error-policy.mdx)
Set to `allow` to receive data even if the subgraph has skipped over errors while syncing.
### Type
#### [Stream
](/docs/api/airdrops/graphql/the-graph/objects/stream.mdx)
---
## streams
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
No description
```graphql
streams(
skip: Int = 0
first: Int = 100
orderBy: Stream_orderBy
orderDirection: OrderDirection
where: Stream_filter
block: Block_height
subgraphError: _SubgraphErrorPolicy_! = deny
): [Stream!]!
```
### Arguments
#### [streams.skip
](#)[Int
](/docs/api/airdrops/graphql/the-graph/scalars/int.mdx)
#### [streams.first
](#)[Int
](/docs/api/airdrops/graphql/the-graph/scalars/int.mdx)
#### [streams.orderBy
](#)[Stream_orderBy
](/docs/api/airdrops/graphql/the-graph/enums/stream-order-by.mdx)
#### [streams.orderDirection
](#)[OrderDirection
](/docs/api/airdrops/graphql/the-graph/enums/order-direction.mdx)
#### [streams.where
](#)[Stream_filter
](/docs/api/airdrops/graphql/the-graph/inputs/stream-filter.mdx)
#### [streams.block
](#)[Block_height
](/docs/api/airdrops/graphql/the-graph/inputs/block-height.mdx)
The block at which the query should be executed. Can either be a `{ hash: Bytes }` value containing a block hash, a `{ number: Int }` containing the block number, or a `{ number_gte: Int }` containing the minimum block number. In the case of `number_gte`, the query will be executed on the latest block only if the subgraph has progressed to or past the minimum block number. Defaults to the latest block when omitted.
#### [streams.subgraphError
](#)[\_SubgraphErrorPolicy\_!
](/docs/api/airdrops/graphql/the-graph/enums/subgraph-error-policy.mdx)
Set to `allow` to receive data even if the subgraph has skipped over errors while syncing.
### Type
#### [Stream
](/docs/api/airdrops/graphql/the-graph/objects/stream.mdx)
---
## tranche (4)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
No description
```graphql
tranche(
id: ID!
block: Block_height
subgraphError: _SubgraphErrorPolicy_! = deny
): Tranche
```
### Arguments
#### [tranche.id
](#)[ID!
](/docs/api/airdrops/graphql/the-graph/scalars/id.mdx)
#### [tranche.block
](#)[Block_height
](/docs/api/airdrops/graphql/the-graph/inputs/block-height.mdx)
The block at which the query should be executed. Can either be a `{ hash: Bytes }` value containing a block hash, a `{ number: Int }` containing the block number, or a `{ number_gte: Int }` containing the minimum block number. In the case of `number_gte`, the query will be executed on the latest block only if the subgraph has progressed to or past the minimum block number. Defaults to the latest block when omitted.
#### [tranche.subgraphError
](#)[\_SubgraphErrorPolicy\_!
](/docs/api/airdrops/graphql/the-graph/enums/subgraph-error-policy.mdx)
Set to `allow` to receive data even if the subgraph has skipped over errors while syncing.
### Type
#### [Tranche
](/docs/api/airdrops/graphql/the-graph/objects/tranche.mdx)
Used in Merkle Lockup campaigns for the vesting schedule.
---
## tranches
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
No description
```graphql
tranches(
skip: Int = 0
first: Int = 100
orderBy: Tranche_orderBy
orderDirection: OrderDirection
where: Tranche_filter
block: Block_height
subgraphError: _SubgraphErrorPolicy_! = deny
): [Tranche!]!
```
### Arguments
#### [tranches.skip
](#)[Int
](/docs/api/airdrops/graphql/the-graph/scalars/int.mdx)
#### [tranches.first
](#)[Int
](/docs/api/airdrops/graphql/the-graph/scalars/int.mdx)
#### [tranches.orderBy
](#)[Tranche_orderBy
](/docs/api/airdrops/graphql/the-graph/enums/tranche-order-by.mdx)
#### [tranches.orderDirection
](#)[OrderDirection
](/docs/api/airdrops/graphql/the-graph/enums/order-direction.mdx)
#### [tranches.where
](#)[Tranche_filter
](/docs/api/airdrops/graphql/the-graph/inputs/tranche-filter.mdx)
#### [tranches.block
](#)[Block_height
](/docs/api/airdrops/graphql/the-graph/inputs/block-height.mdx)
The block at which the query should be executed. Can either be a `{ hash: Bytes }` value containing a block hash, a `{ number: Int }` containing the block number, or a `{ number_gte: Int }` containing the minimum block number. In the case of `number_gte`, the query will be executed on the latest block only if the subgraph has progressed to or past the minimum block number. Defaults to the latest block when omitted.
#### [tranches.subgraphError
](#)[\_SubgraphErrorPolicy\_!
](/docs/api/airdrops/graphql/the-graph/enums/subgraph-error-policy.mdx)
Set to `allow` to receive data even if the subgraph has skipped over errors while syncing.
### Type
#### [Tranche
](/docs/api/airdrops/graphql/the-graph/objects/tranche.mdx)
Used in Merkle Lockup campaigns for the vesting schedule.
---
## watcher (4)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
No description
```graphql
watcher(
id: ID!
block: Block_height
subgraphError: _SubgraphErrorPolicy_! = deny
): Watcher
```
### Arguments
#### [watcher.id
](#)[ID!
](/docs/api/airdrops/graphql/the-graph/scalars/id.mdx)
#### [watcher.block
](#)[Block_height
](/docs/api/airdrops/graphql/the-graph/inputs/block-height.mdx)
The block at which the query should be executed. Can either be a `{ hash: Bytes }` value containing a block hash, a `{ number: Int }` containing the block number, or a `{ number_gte: Int }` containing the minimum block number. In the case of `number_gte`, the query will be executed on the latest block only if the subgraph has progressed to or past the minimum block number. Defaults to the latest block when omitted.
#### [watcher.subgraphError
](#)[\_SubgraphErrorPolicy\_!
](/docs/api/airdrops/graphql/the-graph/enums/subgraph-error-policy.mdx)
Set to `allow` to receive data even if the subgraph has skipped over errors while syncing.
### Type
#### [Watcher
](/docs/api/airdrops/graphql/the-graph/objects/watcher.mdx)
---
## watchers
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
No description
```graphql
watchers(
skip: Int = 0
first: Int = 100
orderBy: Watcher_orderBy
orderDirection: OrderDirection
where: Watcher_filter
block: Block_height
subgraphError: _SubgraphErrorPolicy_! = deny
): [Watcher!]!
```
### Arguments
#### [watchers.skip
](#)[Int
](/docs/api/airdrops/graphql/the-graph/scalars/int.mdx)
#### [watchers.first
](#)[Int
](/docs/api/airdrops/graphql/the-graph/scalars/int.mdx)
#### [watchers.orderBy
](#)[Watcher_orderBy
](/docs/api/airdrops/graphql/the-graph/enums/watcher-order-by.mdx)
#### [watchers.orderDirection
](#)[OrderDirection
](/docs/api/airdrops/graphql/the-graph/enums/order-direction.mdx)
#### [watchers.where
](#)[Watcher_filter
](/docs/api/airdrops/graphql/the-graph/inputs/watcher-filter.mdx)
#### [watchers.block
](#)[Block_height
](/docs/api/airdrops/graphql/the-graph/inputs/block-height.mdx)
The block at which the query should be executed. Can either be a `{ hash: Bytes }` value containing a block hash, a `{ number: Int }` containing the block number, or a `{ number_gte: Int }` containing the minimum block number. In the case of `number_gte`, the query will be executed on the latest block only if the subgraph has progressed to or past the minimum block number. Defaults to the latest block when omitted.
#### [watchers.subgraphError
](#)[\_SubgraphErrorPolicy\_!
](/docs/api/airdrops/graphql/the-graph/enums/subgraph-error-policy.mdx)
Set to `allow` to receive data even if the subgraph has skipped over errors while syncing.
### Type
#### [Watcher
](/docs/api/airdrops/graphql/the-graph/objects/watcher.mdx)
---
## BigDecimal
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
No description
```graphql
scalar BigDecimal
```
---
## BigInt
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
No description
```graphql
scalar BigInt
```
---
## Boolean (2)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
The `Boolean` scalar type represents `true` or `false`.
```graphql
scalar Boolean
```
---
## Bytes
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
No description
```graphql
scalar Bytes
```
---
## Float (2)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
The `Float` scalar type represents signed double-precision fractional values as specified by [IEEE 754](https://en.wikipedia.org/wiki/IEEE_floating_point).
```graphql
scalar Float
```
---
## ID
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
The `ID` scalar type represents a unique identifier, often used to refetch an object or as key for a cache. The ID type appears in a JSON response as a String; however, it is not intended to be human-readable. When expected as an input type, any string (such as `"4"`) or integer (such as `4`) input value will be accepted as an ID.
```graphql
scalar ID
```
---
## Int8
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
8 bytes signed integer
```graphql
scalar Int8
```
---
## Int (2)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
The `Int` scalar type represents non-fractional signed whole numeric values. Int can represent values between -(2^31) and 2^31 - 1.
```graphql
scalar Int
```
---
## String (2)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
The `String` scalar type represents textual data, represented as UTF-8 character sequences. The String type is most often used by GraphQL to represent free-form human-readable text.
```graphql
scalar String
```
---
## Timestamp (2)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
A string representation of microseconds UNIX timestamp (16 digits)
```graphql
scalar Timestamp
```
---
## Overview (4)
Sablier Airdrops use pre-configured Merkle trees, a data structure that efficiently stores recipient lists and their individual claim details.
## General data flow
Merkle trees enable minimal onchain storage while maintaining cryptographic proof of eligibility. The system stores only the tree's root hash in the deployed Airstream contract, while the complete tree and recipient list reside in IPFS.
Operations like eligibility checks or claim detail requests follow this process:
1. Read data from the IPFS file
2. Generate Merkle proofs from the tree
3. Interact with the contract using the obtained data
## Open-source solution
We've built a Rust backend service that provides REST API access to Merkle tree functionality. This service handles tree creation, storage, and data retrieval for both the Sablier Interface and third-party applications.
## Integrations
Integrate this API using our official endpoints or fork the repository to run your own instance. We actively improve and optimize this service, so submit suggestions or issues directly on GitHub.
---
## Functionality
## Architecture
The backend is written in Rust and can run locally or in self-hosted environments using [`warp`](https://github.com/seanmonstar/warp), as well as on Vercel with its [`rust runtime`](https://github.com/vercel-community/rust).
You can integrate the backend functionality using our official endpoints (below), but we recommend self-hosting for improved reliability. This allows you to fork the repository and provide your own IPFS and Pinata access keys.
Feel free to reach out for guidance or feedback.
The official endpoints are documented in the [Airdrops Indexers](/api/airdrops/indexers) section.
## Create: `/api/create`
Call this route to create a new Merkle airdrop campaign.
### Prerequisites
Before creating a campaign, you'll need:
- The `decimals` of the token you're basing the campaign on
- A CSV file containing `[address, amount]` pairs for every campaign recipient
Download a template CSV file from the link below or preview it [here](https://github.com/sablier-labs/sablier-labs.github.io/blob/1933e3b5176c93b236d9a483683dad3a282cc39a/templates/airstream-template.csv).
:::tip
The CSV contains a header row, followed by address and amount pairs. Amounts should be in human-readable form—the API handles decimal padding automatically.
:::
### Description
| | |
| :--------------- | ------------------------------------------------------------------------------------------------------------------------ |
| **Endpoint** | `/api/create` |
| **Method** | `POST` |
| **Query Params** | `{decimals: number}` |
| **Body** | `FormData` on `{data: File}` |
| **Response** | See in [Rust](https://github.com/sablier-labs/merkle-api/blob/main/src/data_objects/response.rs#L22) Overview TS (below) |
```typescript
type Response = {
/** IPFS content identifier for the uploaded file */
cid: string;
/** Expected number of recipients */
recipients: string;
/** HEX root of the Merkle tree */
root: string;
/** Humanized status */
status: string;
/** Expected amount of assets required by the campaign */
total: string;
};
```
### Functionality
The `/api/create` route performs the following actions:
**1. Validation and processing**
- Validates the CSV file and its contents
- Adds decimal padding to every amount
- Builds the Merkle tree and generates a root hash
- Computes intermediary data (total expected amount, number of recipients)
- Prepares an object containing the list, tree, and computed data
**2. Upload to IPFS**
- Uploads the object as a JSON file to IPFS
- Retrieves the IPFS CID (unique identifier of the uploaded file)
**3. Return data to client**
- Returns the root hash, IPFS CID, and intermediary data to the client
- The client uses this data to call the factory and deploy a new campaign
### Code
For implementation details, check out the source code:
---
## Eligibility: `/api/eligibility`
Call this route to check if a recipient is eligible to claim a stream from the Merkle airdrop campaign.
:::info
This endpoint uses authentication. Please reach out if you need to use our deployed endpoints in your application.
:::
### Prerequisites
To check eligibility for an address, you'll need:
- The recipient's address
- The CID of the IPFS file (see the [create](/api/airdrops/merkle-api/functionality#create-apicreate) flow above) linked to the campaign
For obtaining the CID, see options in the [Common flows](/api/airdrops/merkle-api/examples#get-a-campaigns-cid) page.
### Description
| | |
| :--------------- | ------------------------------------------------------------------------------------------------------------------------ |
| **Endpoint** | `/api/eligibility` |
| **Method** | `GET` |
| **Query Params** | `{address: string, cid: string}` |
| **Response** | See in [Rust](https://github.com/sablier-labs/merkle-api/blob/main/src/data_objects/response.rs#L32) Overview TS (below) |
```typescript
type Response = {
/** Address of the requested recipient */
address: IAddress;
/** Amount the recipient is eligible for */
amount: string;
/** Position of the recipient in the list */
index: 0;
/** Merkle proof */
proof: string[];
};
```
### Functionality
The `/api/eligibility` route performs the following actions:
1. Retrieves the campaign's IPFS file and extracts the recipient list and Merkle tree
2. Searches for the provided wallet address
### Code
For implementation details, check out the source code:
---
## Validity: `/api/validity`
Call this route to check if an IPFS CID links to a valid Merkle airdrop campaign file. Since users may accidentally provide invalid IPFS CIDs, we use this route to perform sanity checks before allowing admins to create campaigns in the UI.
### Prerequisites
To check validity, you'll need:
- The CID of the IPFS file linked to the campaign
For obtaining the CID, see options in the [Common flows](/api/airdrops/merkle-api/examples#get-a-campaigns-cid) page.
### Description
| | |
| :--------------- | ------------------------------------------------------------------------------------------------------------------------ |
| **Endpoint** | `/api/validity` |
| **Method** | `GET` |
| **Query Params** | `{cid: string}` |
| **Response** | See in [Rust](https://github.com/sablier-labs/merkle-api/blob/main/src/data_objects/response.rs#L41) Overview TS (below) |
```typescript
type Response = {
/** IPFS content identifier for the uploaded file */
cid: string;
/** Expected number of recipients */
recipients: string;
/** HEX root of the Merkle tree */
root: string;
/** Expected amount of assets required by the campaign */
total: string;
};
```
### Functionality
The `/api/validity` route performs the following actions:
1. Retrieves the campaign's IPFS file
2. Runs sanity checks on the file contents
### Code
For implementation details, check out the source code:
---
## Examples
# Examples of common flows
Here are common architectural flows you may need to integrate into your application. These include methods to gather prerequisite data for each backend [functionality](/api/airdrops/merkle-api/functionality) described earlier.
## Get a campaign's CID
To obtain a campaign's IPFS CID, you can:
Check the [create](/reference/airdrops/contracts/interfaces/interface.ISablierMerkleFactory#events) events emitted
by the Merkle factory
Use the Sablier [indexers](/api/overview) to query for that information.
For approach "B", run the following query against the official endpoints:
```graphql
query getCampaignData($campaignId: String!){
campaign(id: $campaignId){
id
lockup
root
//highlight-start
ipfsCID
//highlight-end
aggregateAmount
totalRecipients
}
}
```
```graphql
query getCampaignData($campaignId: String!){
Campaign(where: {id: {_eq: $campaignId}} ){
id
lockup
root
//highlight-start
ipfsCID
//highlight-end
aggregateAmount
totalRecipients
}
}
```
## Check eligibility for an address
To check if an address is eligible, use the [/api/eligibility](functionality#eligibility-apieligibility) route provided by the merkle-api backend.
#### Steps
1. Get the campaign CID (see [the example](examples#get-a-campaigns-cid) above)
2. Call the `/api/eligibility` route using the CID and wallet address
Read more in the dedicated route documentation within the [/api/eligibility](functionality#eligibility-apieligibility) section of the functionality page.
Alternatively, you can check eligibility by searching for the address in the list stored within the IPFS file from step 1. You'll still need to download the file first using its CID.
## Get the `tokenId` after a claim
After someone claims, you may want to show them a preview of the stream or its NFT. To do this, you'll need the `tokenId` (or `streamId`) related to that user's claim.
To obtain a `tokenId` linked to a claim, you can:
Listen to the [claim](/reference/airdrops/contracts/interfaces/interface.ISablierMerkleLL#claim) method and the
Claim event emitted by the Merkle contract instance
Use the [Sablier Indexers](/api/overview) to query for that information.
For approach "B", run the following query against the official endpoints (ensure the address is lowercase):
```graphql
query getClaimForRecipient($campaignId: String!, $recipient: String) {
actions(where: { campaign: $campaignId, category: Claim, claimRecipient: $recipient }) {
campaign {
id
lockup
}
claimTokenId
claimRecipient
claimIndex
}
}
```
```graphql
query getClaimForRecipient($campaignId: String!, $recipient: String) {
Action(
where: {
_and: [{ campaign: { _eq: $campaignId } }, { category: { _eq: Claim } }, { claimRecipient: { _eq: $recipient } }]
}
) {
campaignObject {
id
lockup
}
claimTokenId
claimRecipient
claimIndex
}
}
```
#### Bonus: Stream NFT
To get the Stream NFT, use the same query as option "B" to retrieve the `lockup` contract (where the Stream NFT is issued) and its `tokenId`. With these, you can call the [`tokenURI`](/reference/lockup/contracts/contract.LockupNFTDescriptor#tokenuri) method, which returns the SVG code of the onchain NFT.
:::note Extract the SVG tags
The actual SVG tags are encoded inside the `tokenURI` method response. You can feed this blob to an HTML `img` tag or render the SVG tags directly. To extract this code in plain format (not `base64`), run the following JavaScript code to decode the response:
```typescript
const toPart = output.split("data:application/json;base64,").pop();
const toString = Buffer.from(toPart || "", "base64").toString("utf-8");
const toJSON = JSON.parse(toString);
const blob = _.get(toJSON, "image")?.split("data:image/svg+xml;base64,")[1];
const toSVG = Buffer.from(blob || "", "base64").toString("utf-8");
```
:::
## Check if a user claimed their stream
To check if a user has already claimed their stream from a campaign, you can:
Call the [`hasClaimed`](/reference/airdrops/contracts/interfaces/interface.ISablierMerkleBase#hasclaimed) method
from the Merkle contract instance
Use the [Sablier Indexers](/api/overview) to query for that information.
#### Approach A
For approach "A", perform the following actions:
1. Get the campaign's CID, Lockup contract address, and user address (for the first items, see the [Get a campaign's CID](/api/airdrops/merkle-api/examples#get-a-campaigns-cid) example above)
2. Check user eligibility (see [Eligibility](/api/airdrops/merkle-api/examples#check-eligibility-for-an-address) example above) and extract their `index`
3. Call the `hasClaimed` method inside the `lockup` contract using the `index` from step 2
:::note
A user's index represents their assigned order number in the eligibility list. We use this value to generate a proof if the recipient is eligible and to register their claim directly in the contract.
:::
#### Approach B
For approach "B", run the same query as in the [Get the tokenId after a claim](/api/airdrops/merkle-api/examples#get-the-tokenid-after-a-claim) example. If the query returns results, the user has claimed their stream.
:::tip
A missing claim could also mean the user wasn't eligible initially. We recommend checking for eligibility alongside any existing claim checks.
:::
---
## Indexers (2)
# Sablier Flow
This page documents the indexers for the [Sablier Flow](/concepts/flow/overview) protocol, which powers the [Payments](/apps/features/payments) product in the Sablier Interfaces.
## Envio
### Source Code
### Endpoints
Envio is a multi-chain indexer. There's a single GraphQL API endpoint that aggregates data across chains. This approach differs from
other vendors like The Graph, which require a separate indexer for each chain where Sablier is available.
| Chain | Production URL | Playground URL | Explorer URL |
| -------- | -------------- | ----------- | ------------ |
| Abstract | https://indexer.hyperindex.xyz/3b4ea6b/v1/graphql | [Playground](https://cloud.hasura.io/public/graphiql?endpoint=https%3A%2F%2Findexer.hyperindex.xyz%2F3b4ea6b%2Fv1%2Fgraphql) | [Explorer](https://envio.dev/app/sablier-labs/flow-envio) |
| Arbitrum | https://indexer.hyperindex.xyz/3b4ea6b/v1/graphql | [Playground](https://cloud.hasura.io/public/graphiql?endpoint=https%3A%2F%2Findexer.hyperindex.xyz%2F3b4ea6b%2Fv1%2Fgraphql) | [Explorer](https://envio.dev/app/sablier-labs/flow-envio) |
| Avalanche | https://indexer.hyperindex.xyz/3b4ea6b/v1/graphql | [Playground](https://cloud.hasura.io/public/graphiql?endpoint=https%3A%2F%2Findexer.hyperindex.xyz%2F3b4ea6b%2Fv1%2Fgraphql) | [Explorer](https://envio.dev/app/sablier-labs/flow-envio) |
| Base | https://indexer.hyperindex.xyz/3b4ea6b/v1/graphql | [Playground](https://cloud.hasura.io/public/graphiql?endpoint=https%3A%2F%2Findexer.hyperindex.xyz%2F3b4ea6b%2Fv1%2Fgraphql) | [Explorer](https://envio.dev/app/sablier-labs/flow-envio) |
| Blast | https://indexer.hyperindex.xyz/3b4ea6b/v1/graphql | [Playground](https://cloud.hasura.io/public/graphiql?endpoint=https%3A%2F%2Findexer.hyperindex.xyz%2F3b4ea6b%2Fv1%2Fgraphql) | [Explorer](https://envio.dev/app/sablier-labs/flow-envio) |
| Berachain | https://indexer.hyperindex.xyz/3b4ea6b/v1/graphql | [Playground](https://cloud.hasura.io/public/graphiql?endpoint=https%3A%2F%2Findexer.hyperindex.xyz%2F3b4ea6b%2Fv1%2Fgraphql) | [Explorer](https://envio.dev/app/sablier-labs/flow-envio) |
| BNB Chain | https://indexer.hyperindex.xyz/3b4ea6b/v1/graphql | [Playground](https://cloud.hasura.io/public/graphiql?endpoint=https%3A%2F%2Findexer.hyperindex.xyz%2F3b4ea6b%2Fv1%2Fgraphql) | [Explorer](https://envio.dev/app/sablier-labs/flow-envio) |
| Chiliz | https://indexer.hyperindex.xyz/3b4ea6b/v1/graphql | [Playground](https://cloud.hasura.io/public/graphiql?endpoint=https%3A%2F%2Findexer.hyperindex.xyz%2F3b4ea6b%2Fv1%2Fgraphql) | [Explorer](https://envio.dev/app/sablier-labs/flow-envio) |
| Form | https://indexer.hyperindex.xyz/3b4ea6b/v1/graphql | [Playground](https://cloud.hasura.io/public/graphiql?endpoint=https%3A%2F%2Findexer.hyperindex.xyz%2F3b4ea6b%2Fv1%2Fgraphql) | [Explorer](https://envio.dev/app/sablier-labs/flow-envio) |
| Gnosis | https://indexer.hyperindex.xyz/3b4ea6b/v1/graphql | [Playground](https://cloud.hasura.io/public/graphiql?endpoint=https%3A%2F%2Findexer.hyperindex.xyz%2F3b4ea6b%2Fv1%2Fgraphql) | [Explorer](https://envio.dev/app/sablier-labs/flow-envio) |
| HyperEVM | https://indexer.hyperindex.xyz/3b4ea6b/v1/graphql | [Playground](https://cloud.hasura.io/public/graphiql?endpoint=https%3A%2F%2Findexer.hyperindex.xyz%2F3b4ea6b%2Fv1%2Fgraphql) | [Explorer](https://envio.dev/app/sablier-labs/flow-envio) |
| Lightlink | https://indexer.hyperindex.xyz/3b4ea6b/v1/graphql | [Playground](https://cloud.hasura.io/public/graphiql?endpoint=https%3A%2F%2Findexer.hyperindex.xyz%2F3b4ea6b%2Fv1%2Fgraphql) | [Explorer](https://envio.dev/app/sablier-labs/flow-envio) |
| Linea Mainnet | https://indexer.hyperindex.xyz/3b4ea6b/v1/graphql | [Playground](https://cloud.hasura.io/public/graphiql?endpoint=https%3A%2F%2Findexer.hyperindex.xyz%2F3b4ea6b%2Fv1%2Fgraphql) | [Explorer](https://envio.dev/app/sablier-labs/flow-envio) |
| Ethereum | https://indexer.hyperindex.xyz/3b4ea6b/v1/graphql | [Playground](https://cloud.hasura.io/public/graphiql?endpoint=https%3A%2F%2Findexer.hyperindex.xyz%2F3b4ea6b%2Fv1%2Fgraphql) | [Explorer](https://envio.dev/app/sablier-labs/flow-envio) |
| Mode | https://indexer.hyperindex.xyz/3b4ea6b/v1/graphql | [Playground](https://cloud.hasura.io/public/graphiql?endpoint=https%3A%2F%2Findexer.hyperindex.xyz%2F3b4ea6b%2Fv1%2Fgraphql) | [Explorer](https://envio.dev/app/sablier-labs/flow-envio) |
| Morph | https://indexer.hyperindex.xyz/3b4ea6b/v1/graphql | [Playground](https://cloud.hasura.io/public/graphiql?endpoint=https%3A%2F%2Findexer.hyperindex.xyz%2F3b4ea6b%2Fv1%2Fgraphql) | [Explorer](https://envio.dev/app/sablier-labs/flow-envio) |
| OP Mainnet | https://indexer.hyperindex.xyz/3b4ea6b/v1/graphql | [Playground](https://cloud.hasura.io/public/graphiql?endpoint=https%3A%2F%2Findexer.hyperindex.xyz%2F3b4ea6b%2Fv1%2Fgraphql) | [Explorer](https://envio.dev/app/sablier-labs/flow-envio) |
| Polygon | https://indexer.hyperindex.xyz/3b4ea6b/v1/graphql | [Playground](https://cloud.hasura.io/public/graphiql?endpoint=https%3A%2F%2Findexer.hyperindex.xyz%2F3b4ea6b%2Fv1%2Fgraphql) | [Explorer](https://envio.dev/app/sablier-labs/flow-envio) |
| Sonic | https://indexer.hyperindex.xyz/3b4ea6b/v1/graphql | [Playground](https://cloud.hasura.io/public/graphiql?endpoint=https%3A%2F%2Findexer.hyperindex.xyz%2F3b4ea6b%2Fv1%2Fgraphql) | [Explorer](https://envio.dev/app/sablier-labs/flow-envio) |
| Scroll | https://indexer.hyperindex.xyz/3b4ea6b/v1/graphql | [Playground](https://cloud.hasura.io/public/graphiql?endpoint=https%3A%2F%2Findexer.hyperindex.xyz%2F3b4ea6b%2Fv1%2Fgraphql) | [Explorer](https://envio.dev/app/sablier-labs/flow-envio) |
| Sophon | https://indexer.hyperindex.xyz/3b4ea6b/v1/graphql | [Playground](https://cloud.hasura.io/public/graphiql?endpoint=https%3A%2F%2Findexer.hyperindex.xyz%2F3b4ea6b%2Fv1%2Fgraphql) | [Explorer](https://envio.dev/app/sablier-labs/flow-envio) |
| Superseed | https://indexer.hyperindex.xyz/3b4ea6b/v1/graphql | [Playground](https://cloud.hasura.io/public/graphiql?endpoint=https%3A%2F%2Findexer.hyperindex.xyz%2F3b4ea6b%2Fv1%2Fgraphql) | [Explorer](https://envio.dev/app/sablier-labs/flow-envio) |
| Tangle | https://indexer.hyperindex.xyz/3b4ea6b/v1/graphql | [Playground](https://cloud.hasura.io/public/graphiql?endpoint=https%3A%2F%2Findexer.hyperindex.xyz%2F3b4ea6b%2Fv1%2Fgraphql) | [Explorer](https://envio.dev/app/sablier-labs/flow-envio) |
| Unichain | https://indexer.hyperindex.xyz/3b4ea6b/v1/graphql | [Playground](https://cloud.hasura.io/public/graphiql?endpoint=https%3A%2F%2Findexer.hyperindex.xyz%2F3b4ea6b%2Fv1%2Fgraphql) | [Explorer](https://envio.dev/app/sablier-labs/flow-envio) |
| XDC | https://indexer.hyperindex.xyz/3b4ea6b/v1/graphql | [Playground](https://cloud.hasura.io/public/graphiql?endpoint=https%3A%2F%2Findexer.hyperindex.xyz%2F3b4ea6b%2Fv1%2Fgraphql) | [Explorer](https://envio.dev/app/sablier-labs/flow-envio) |
| ZKsync Era | https://indexer.hyperindex.xyz/3b4ea6b/v1/graphql | [Playground](https://cloud.hasura.io/public/graphiql?endpoint=https%3A%2F%2Findexer.hyperindex.xyz%2F3b4ea6b%2Fv1%2Fgraphql) | [Explorer](https://envio.dev/app/sablier-labs/flow-envio) |
| Base Sepolia | https://indexer.hyperindex.xyz/3b4ea6b/v1/graphql | [Playground](https://cloud.hasura.io/public/graphiql?endpoint=https%3A%2F%2Findexer.hyperindex.xyz%2F3b4ea6b%2Fv1%2Fgraphql) | [Explorer](https://envio.dev/app/sablier-labs/flow-envio) |
| Sepolia | https://indexer.hyperindex.xyz/3b4ea6b/v1/graphql | [Playground](https://cloud.hasura.io/public/graphiql?endpoint=https%3A%2F%2Findexer.hyperindex.xyz%2F3b4ea6b%2Fv1%2Fgraphql) | [Explorer](https://envio.dev/app/sablier-labs/flow-envio) |
## The Graph
### Source Code
### Endpoints
In the table below, you will see three URLs:
- `Production URL`: requires a Studio API key for making queries.
- `Testing URL`: doesn't require an API key but it's rate-limited to 3000 queries per day. Opening this URL in the browser opens a GraphiQL playground.
- `Explorer URL`: The explorer URL for the indexer, if available.
To learn how to create a Studio API key, check out [this guide](https://thegraph.com/docs/en/studio/managing-api-keys).
The API key has to be provided via an `Authorization: Bearer ` header. Here are two examples in curl and JavaScript:
```bash
curl -X POST \
-H "Authorization: Bearer " \
-H "Content-Type: application/json" \
-d '{"query": "{ _meta: { block { number } } }"' \
```
```js
async function getBlockNumber() {
const client = new GraphQLClient("", {
headers: {
Authorization: `Bearer `,
},
});
const query = `query { _meta: { block { number } } }`;
const result = await client.request(query);
console.log(result);
}
```
| Chain | Production URL | Testing URL | Explorer URL |
| -------- | -------------- | ----------- | ------------ |
| Abstract | [sablier-flow-abstract](https://gateway.thegraph.com/api/subgraphs/id/Gq3e1gihMoSynURwGXQnPoKGVZzdsyomdrMH934vQHuG) | [Testing](https://api.studio.thegraph.com/query/112500/sablier-flow-abstract/version/latest) | [Explorer](https://thegraph.com/explorer/subgraphs/Gq3e1gihMoSynURwGXQnPoKGVZzdsyomdrMH934vQHuG) |
| Arbitrum | [sablier-flow-arbitrum-one](https://gateway.thegraph.com/api/subgraphs/id/C3kBBUVtW2rxqGpAgSgEuSaT49izkH6Q8UibRt7XFTyW) | [Testing](https://api.studio.thegraph.com/query/112500/sablier-flow-arbitrum-one/version/latest) | [Explorer](https://thegraph.com/explorer/subgraphs/C3kBBUVtW2rxqGpAgSgEuSaT49izkH6Q8UibRt7XFTyW) |
| Arbitrum Sepolia | [sablier-flow-arbitrum-sepolia](https://gateway.thegraph.com/api/subgraphs/id/2uWnxpYiDMkEMu1urxqt925mLfuax9XbvfcBoD97AU6d) | [Testing](https://api.studio.thegraph.com/query/112500/sablier-flow-arbitrum-sepolia/version/latest) | [Explorer](https://thegraph.com/explorer/subgraphs/2uWnxpYiDMkEMu1urxqt925mLfuax9XbvfcBoD97AU6d) |
| Avalanche | [sablier-flow-avalanche](https://gateway.thegraph.com/api/subgraphs/id/6PAizjTALVqLLB7Ycq6XnpTeck8Z8QUpDFnVznMnisUh) | [Testing](https://api.studio.thegraph.com/query/112500/sablier-flow-avalanche/version/latest) | [Explorer](https://thegraph.com/explorer/subgraphs/6PAizjTALVqLLB7Ycq6XnpTeck8Z8QUpDFnVznMnisUh) |
| Base | [sablier-flow-base](https://gateway.thegraph.com/api/subgraphs/id/4XSxXh8ZgkzaA35nrbQG9Ry3FYz3ZFD8QBdWwVg5pF9W) | [Testing](https://api.studio.thegraph.com/query/112500/sablier-flow-base/version/latest) | [Explorer](https://thegraph.com/explorer/subgraphs/4XSxXh8ZgkzaA35nrbQG9Ry3FYz3ZFD8QBdWwVg5pF9W) |
| Base Sepolia | [sablier-flow-base-sepolia](https://gateway.thegraph.com/api/subgraphs/id/AsnKT1waQMvuQxZAqfFuYwtRtAfN8uekDu75jPttfyLh) | [Testing](https://api.studio.thegraph.com/query/112500/sablier-flow-base-sepolia/version/latest) | [Explorer](https://thegraph.com/explorer/subgraphs/AsnKT1waQMvuQxZAqfFuYwtRtAfN8uekDu75jPttfyLh) |
| Berachain | [sablier-flow-berachain](https://gateway.thegraph.com/api/subgraphs/id/J87eaBLfTe7kKWgUGqe5TxntNCzA4pyWmqJowMddehuh) | [Testing](https://api.studio.thegraph.com/query/112500/sablier-flow-berachain/version/latest) | [Explorer](https://thegraph.com/explorer/subgraphs/J87eaBLfTe7kKWgUGqe5TxntNCzA4pyWmqJowMddehuh) |
| Blast | [sablier-flow-blast-mainnet](https://gateway.thegraph.com/api/subgraphs/id/8joiC9LpUbSV6eGRr3RWXDArM8p9Q65FKiFekAakkyia) | [Testing](https://api.studio.thegraph.com/query/112500/sablier-flow-blast-mainnet/version/latest) | [Explorer](https://thegraph.com/explorer/subgraphs/8joiC9LpUbSV6eGRr3RWXDArM8p9Q65FKiFekAakkyia) |
| BNB Chain | [sablier-flow-bsc](https://gateway.thegraph.com/api/subgraphs/id/2vU8KF4yWh3vvFjtg7MrRXMnYF3hPX2T3cvVBdaiXhNb) | [Testing](https://api.studio.thegraph.com/query/112500/sablier-flow-bsc/version/latest) | [Explorer](https://thegraph.com/explorer/subgraphs/2vU8KF4yWh3vvFjtg7MrRXMnYF3hPX2T3cvVBdaiXhNb) |
| Chiliz | [sablier-flow-chiliz](https://gateway.thegraph.com/api/subgraphs/id/7QX7tJsANNFpxFLLjqzmXRzfY1wPGp3Lty5xGbhgADa6) | [Testing](https://api.studio.thegraph.com/query/112500/sablier-flow-chiliz/version/latest) | [Explorer](https://thegraph.com/explorer/subgraphs/7QX7tJsANNFpxFLLjqzmXRzfY1wPGp3Lty5xGbhgADa6) |
| Ethereum | [sablier-flow-mainnet](https://gateway.thegraph.com/api/subgraphs/id/ECxBJhKceBGaVvK6vqmK3VQAncKwPeAQutEb8TeiUiod) | [Testing](https://api.studio.thegraph.com/query/112500/sablier-flow-mainnet/version/latest) | [Explorer](https://thegraph.com/explorer/subgraphs/ECxBJhKceBGaVvK6vqmK3VQAncKwPeAQutEb8TeiUiod) |
| Form | [sablier-flow-form](https://formapi.0xgraph.xyz/api/public/5961fb30-8fdc-45ad-9a35-555dd5e0dd56/subgraphs/sablier-flow-form/2.3_1.0.0/gn) | N/A | N/A |
| Gnosis | [sablier-flow-gnosis](https://gateway.thegraph.com/api/subgraphs/id/4KiJ53cTNKdFWPBPmDNQ55tYj8hn1WQg8R4UcTY2STLL) | [Testing](https://api.studio.thegraph.com/query/112500/sablier-flow-gnosis/version/latest) | [Explorer](https://thegraph.com/explorer/subgraphs/4KiJ53cTNKdFWPBPmDNQ55tYj8hn1WQg8R4UcTY2STLL) |
| IoTeX | [sablier-flow-iotex](https://gateway.thegraph.com/api/subgraphs/id/6No3QmRiC8HXLEerDFoBpF47jUPRjhntmv28HHEMxcA2) | [Testing](https://api.studio.thegraph.com/query/112500/sablier-flow-iotex/version/latest) | [Explorer](https://thegraph.com/explorer/subgraphs/6No3QmRiC8HXLEerDFoBpF47jUPRjhntmv28HHEMxcA2) |
| Lightlink | [sablier-flow-lightlink](https://graph.phoenix.lightlink.io/query/subgraphs/name/lightlink/sablier-flow-lightlink) | N/A | N/A |
| Linea Mainnet | [sablier-flow-linea](https://gateway.thegraph.com/api/subgraphs/id/DV9XgcCCPKzUn6pgetg4yPetpW2fNoRKBUQC43aNeLG6) | [Testing](https://api.studio.thegraph.com/query/112500/sablier-flow-linea/version/latest) | [Explorer](https://thegraph.com/explorer/subgraphs/DV9XgcCCPKzUn6pgetg4yPetpW2fNoRKBUQC43aNeLG6) |
| Mode | [sablier-flow-mode-mainnet](https://gateway.thegraph.com/api/subgraphs/id/9TwfoUZoxYUyxzDgspCPyxW6uMUKetWQDaTGsZjY1qJZ) | [Testing](https://api.studio.thegraph.com/query/112500/sablier-flow-mode-mainnet/version/latest) | [Explorer](https://thegraph.com/explorer/subgraphs/9TwfoUZoxYUyxzDgspCPyxW6uMUKetWQDaTGsZjY1qJZ) |
| OP Mainnet | [sablier-flow-optimism](https://gateway.thegraph.com/api/subgraphs/id/AygPgsehNGSB4K7DYYtvBPhTpEiU4dCu3nt95bh9FhRf) | [Testing](https://api.studio.thegraph.com/query/112500/sablier-flow-optimism/version/latest) | [Explorer](https://thegraph.com/explorer/subgraphs/AygPgsehNGSB4K7DYYtvBPhTpEiU4dCu3nt95bh9FhRf) |
| OP Sepolia | [sablier-flow-optimism-sepolia](https://gateway.thegraph.com/api/subgraphs/id/EFKqBB6TeH6etGuHCffnbMbETEgDZ6U29Lgpc4gpYvdB) | [Testing](https://api.studio.thegraph.com/query/112500/sablier-flow-optimism-sepolia/version/latest) | [Explorer](https://thegraph.com/explorer/subgraphs/EFKqBB6TeH6etGuHCffnbMbETEgDZ6U29Lgpc4gpYvdB) |
| Polygon | [sablier-flow-matic](https://gateway.thegraph.com/api/subgraphs/id/ykp38sLarwz3cpmjSSPqo7UuTjYtkZ1KiL4PM2qwmT8) | [Testing](https://api.studio.thegraph.com/query/112500/sablier-flow-matic/version/latest) | [Explorer](https://thegraph.com/explorer/subgraphs/ykp38sLarwz3cpmjSSPqo7UuTjYtkZ1KiL4PM2qwmT8) |
| Scroll | [sablier-flow-scroll](https://gateway.thegraph.com/api/subgraphs/id/HFpTrPzJyrHKWZ9ebb4VFRQSxRwpepyfz5wd138daFkF) | [Testing](https://api.studio.thegraph.com/query/112500/sablier-flow-scroll/version/latest) | [Explorer](https://thegraph.com/explorer/subgraphs/HFpTrPzJyrHKWZ9ebb4VFRQSxRwpepyfz5wd138daFkF) |
| Sei Network | [sablier-flow-sei-mainnet](https://gateway.thegraph.com/api/subgraphs/id/41ZGYcFgL2N7L5ng78S4sD6NHDNYEYcNFxnz4T8Zh3iU) | [Testing](https://api.studio.thegraph.com/query/112500/sablier-flow-sei-mainnet/version/latest) | [Explorer](https://thegraph.com/explorer/subgraphs/41ZGYcFgL2N7L5ng78S4sD6NHDNYEYcNFxnz4T8Zh3iU) |
| Sepolia | [sablier-flow-sepolia](https://gateway.thegraph.com/api/subgraphs/id/EU9AWmJjrjMRkjxcdHfuWPZvPTNAL3hiXfNGN5MwUpvm) | [Testing](https://api.studio.thegraph.com/query/112500/sablier-flow-sepolia/version/latest) | [Explorer](https://thegraph.com/explorer/subgraphs/EU9AWmJjrjMRkjxcdHfuWPZvPTNAL3hiXfNGN5MwUpvm) |
| Sonic | [sablier-flow-sonic](https://gateway.thegraph.com/api/subgraphs/id/HkQKZKuM6dZ7Vc4FGC1gZTVVTniYJWRhTRmDDMNzN8zk) | [Testing](https://api.studio.thegraph.com/query/112500/sablier-flow-sonic/version/latest) | [Explorer](https://thegraph.com/explorer/subgraphs/HkQKZKuM6dZ7Vc4FGC1gZTVVTniYJWRhTRmDDMNzN8zk) |
| Unichain | [sablier-flow-unichain](https://gateway.thegraph.com/api/subgraphs/id/Cb5uDYfy4ukN9fjhQ3PQZgDzyo6G66ztn1e847rS7Xa8) | [Testing](https://api.studio.thegraph.com/query/112500/sablier-flow-unichain/version/latest) | [Explorer](https://thegraph.com/explorer/subgraphs/Cb5uDYfy4ukN9fjhQ3PQZgDzyo6G66ztn1e847rS7Xa8) |
| ZKsync Era | [sablier-flow-zksync-era](https://gateway.thegraph.com/api/subgraphs/id/9DRgWhDAMovpkej3eT8izum6jxEKHE62ciArffsTAScx) | [Testing](https://api.studio.thegraph.com/query/112500/sablier-flow-zksync-era/version/latest) | [Explorer](https://thegraph.com/explorer/subgraphs/9DRgWhDAMovpkej3eT8izum6jxEKHE62ciArffsTAScx) |
---
## Previous Indexers (2)
:::important
The following indexers were deprecated on February 3, 2025, so they might return outdated data if queried now. Please
use our latest endpoints to query up-to-date data for the Sablier Protocol.
:::
| Chain | Explorer | Studio[^2] | Decentralized Network[^1] |
| ---------------- | ---------------------------------------------------------------- | -------------------------------------- | ----------------------------------------- |
| Ethereum | [sablier-v2-fl][flow-explorer-ethereum] | [Studio][flow-studio-ethereum] | [Network][flow-network-ethereum] |
| Arbitrum | [sablier-v2-fl-arbitrum][flow-explorer-arbitrum] | [Studio][flow-studio-arbitrum] | [Network][flow-network-arbitrum] |
| Arbitrum Sepolia | [sablier-v2-fl-arbitrum-sepolia][flow-explorer-arbitrum-sepolia] | [Studio][flow-studio-arbitrum-sepolia] | [Network][flow-network-arbitrum-sepolia] |
| Avalanche | [sablier-v2-fl-avalanche][flow-explorer-avalanche] | [Studio][flow-studio-avalanche] | [Network][flow-network-avalanche] |
| Base | [sablier-v2-fl-base][flow-explorer-base] | [Studio][flow-studio-base] | [Network][flow-network-base] |
| Blast | [sablier-v2-fl-blast][flow-explorer-blast] | [Studio][flow-studio-blast] | [Network][flow-network-blast] |
| BNB Chain | [sablier-v2-fl-bsc][flow-explorer-bsc] | [Studio][flow-studio-bsc] | [Network][flow-network-bsc] |
| Chiliz Chain | [sablier-v2-fl-chiliz][flow-explorer-chiliz] | [Studio][flow-studio-chiliz] | [Network][flow-network-chiliz] |
| Gnosis | [sablier-v2-fl-gnosis][flow-explorer-gnosis] | [Studio][flow-studio-gnosis] | [Network][flow-network-gnosis] |
| Linea | [sablier-v2-fl-linea][flow-explorer-linea] | [Studio][flow-studio-linea] | [Network][flow-network-linea] |
| Lightlink | [sablier-v2-fl-lightlink\*][flow-explorer-lightlink] | N/A | [Lightlink Node\*][flow-custom-lightlink] |
| Mode | [sablier-v2-fl-mode][flow-explorer-mode] | [Studio][flow-studio-mode] | [Network][flow-network-mode] |
| Optimism | [sablier-v2-fl-optimism][flow-explorer-optimism] | [Studio][flow-studio-optimism] | [Network][flow-network-optimism] |
| Optimism Sepolia | [sablier-v2-fl-optimism-sepolia][flow-explorer-optimism-sepolia] | [Studio][flow-studio-optimism-sepolia] | [Network][flow-network-optimism-sepolia] |
| Polygon | [sablier-v2-fl-polygon][flow-explorer-polygon] | [Studio][flow-studio-polygon] | [Network][flow-network-polygon] |
| Scroll | [sablier-v2-fl-scroll][flow-explorer-scroll] | [Studio][flow-studio-scroll] | [Network][flow-network-scroll] |
| Ethereum Sepolia | [sablier-v2-fl-sepolia][flow-explorer-sepolia] | [Studio][flow-studio-sepolia] | [Network][flow-network-sepolia] |
| zkSync | [sablier-v2-fl-zksync][flow-explorer-zksync] | [Studio][flow-studio-zksync] | [Network][flow-network-zksync] |
{/* --------------------------------------------------------------------------------------------------------------------------------- */}
{/* --------------------------------------------------------------------------------------------------------------------------------- */}
{/* --------------------------------------------------------------------------------------------------------------------------------- */}
{/* Chain: Arbitrum */}
[flow-network-arbitrum]: https://gateway-arbitrum.network.thegraph.com/api/API_KEY/subgraphs/id/61wTsPJr76vzcaMMrqQq7RkHSUsQmHoqiJbkFc1iaNN1
[flow-explorer-arbitrum]: https://thegraph.com/explorer/subgraphs/61wTsPJr76vzcaMMrqQq7RkHSUsQmHoqiJbkFc1iaNN1
[flow-studio-arbitrum]: https://api.studio.thegraph.com/query/57079/sablier-v2-fl-arbitrum/version/latest
{/* Chain: Arbitrum Sepolia */}
[flow-network-arbitrum-sepolia]: https://gateway-arbitrum.network.thegraph.com/api/API_KEY/subgraphs/id/Ai8sJzb4W6B19kPzqWxe47R29YGw5dACy9AJ97nZzm5W
[flow-explorer-arbitrum-sepolia]: https://thegraph.com/explorer/subgraphs/Ai8sJzb4W6B19kPzqWxe47R29YGw5dACy9AJ97nZzm5W
[flow-studio-arbitrum-sepolia]: https://api.studio.thegraph.com/query/57079/sablier-v2-fl-arbitrum-sepolia/version/latest
{/* Chain: Avalanche */}
[flow-network-avalanche]: https://gateway-arbitrum.network.thegraph.com/api/API_KEY/subgraphs/id/CUFanZFBBAaKcJDPLnCwWjo6gAruG92DcK38Y2PzARH8
[flow-explorer-avalanche]: https://thegraph.com/explorer/subgraphs/CUFanZFBBAaKcJDPLnCwWjo6gAruG92DcK38Y2PzARH8
[flow-studio-avalanche]: https://api.studio.thegraph.com/query/57079/sablier-v2-fl-avalanche/version/latest
{/* Chain: Base */}
[flow-network-base]: https://gateway-arbitrum.network.thegraph.com/api/API_KEY/subgraphs/id/DVuHKeqguX339rd6JGav7wjXBVi5R4qneHSDNu1urTKr
[flow-explorer-base]: https://thegraph.com/explorer/subgraphs/DVuHKeqguX339rd6JGav7wjXBVi5R4qneHSDNu1urTKr
[flow-studio-base]: https://api.studio.thegraph.com/query/57079/sablier-v2-fl-base/version/latest
{/* Chain: Blast */}
[flow-network-blast]: https://gateway-arbitrum.network.thegraph.com/api/API_KEY/subgraphs/id/84gjGqyeWDG2VxvRTRjTFxrnPMuZhAYF4iETBox2ix5D
[flow-explorer-blast]: https://thegraph.com/explorer/subgraphs/84gjGqyeWDG2VxvRTRjTFxrnPMuZhAYF4iETBox2ix5D
[flow-studio-blast]: https://api.studio.thegraph.com/query/57079/sablier-v2-fl-blast/version/latest
{/* Chain: BSC */}
[flow-network-bsc]: https://gateway-arbitrum.network.thegraph.com/api/API_KEY/subgraphs/id/GJvqaYwX9vGXPXDFrANs6LcDALcN22bjvvPvrcNvU8rn
[flow-explorer-bsc]: https://thegraph.com/explorer/subgraphs/GJvqaYwX9vGXPXDFrANs6LcDALcN22bjvvPvrcNvU8rn
[flow-studio-bsc]: https://api.studio.thegraph.com/query/57079/sablier-v2-fl-bsc/version/latest
{/* Chain: Chiliz */}
[flow-network-chiliz]: https://gateway-arbitrum.network.thegraph.com/api/API_KEY/subgraphs/id/H5LERpVjK2ugD42PX774kv5shHfqd13HkBPWtASq75L4
[flow-explorer-chiliz]: https://thegraph.com/explorer/subgraphs/H5LERpVjK2ugD42PX774kv5shHfqd13HkBPWtASq75L4
[flow-studio-chiliz]: https://api.studio.thegraph.com/query/57079/sablier-v2-fl-chiliz/version/latest
{/* Chain: Gnosis */}
[flow-network-gnosis]: https://gateway-arbitrum.network.thegraph.com/api/API_KEY/subgraphs/id/3XxHfFUMixMJTGVn1FJFFER1NFYpDDQo4QAbR2sQSpAH
[flow-explorer-gnosis]: https://thegraph.com/explorer/subgraphs/3XxHfFUMixMJTGVn1FJFFER1NFYpDDQo4QAbR2sQSpAH
[flow-studio-gnosis]: https://api.studio.thegraph.com/query/57079/sablier-v2-fl-gnosis/version/latest
{/* Chain: Linea */}
[flow-network-linea]: https://gateway-arbitrum.network.thegraph.com/api/API_KEY/subgraphs/id/25Ry5DsjAKLXh6b8uXSu6H85Jk9d3MHxQbpDUJTstwvx
[flow-explorer-linea]: https://thegraph.com/explorer/subgraphs/25Ry5DsjAKLXh6b8uXSu6H85Jk9d3MHxQbpDUJTstwvx
[flow-studio-linea]: https://api.studio.thegraph.com/query/57079/sablier-v2-fl-linea/version/latest
{/* Chain: Lightlink */}
[flow-explorer-lightlink]: https://graph.phoenix.lightlink.io/query/subgraphs/name/lightlink/sablier-v2-fl-lightlink/graphql
[flow-custom-lightlink]: https://graph.phoenix.lightlink.io/query/subgraphs/name/lightlink/sablier-v2-fl-lightlink
{/* Chain: Mainnet | Ethereum */}
[flow-explorer-ethereum]: https://thegraph.com/explorer/subgraphs/DgXaXAUMFTZdwo1aZ21dmGV2vyU1Wdb1DkHyVmy3y7xi
[flow-studio-ethereum]: https://api.studio.thegraph.com/query/57079/sablier-v2-fl/version/latest
[flow-network-ethereum]: https://gateway-arbitrum.network.thegraph.com/api/API_KEY/subgraphs/id/DgXaXAUMFTZdwo1aZ21dmGV2vyU1Wdb1DkHyVmy3y7xi
{/* Chain: Mode */}
[flow-network-mode]: https://gateway-arbitrum.network.thegraph.com/api/API_KEY/subgraphs/id/H9D24a58cCZmzZTnu4VNdUoFCEMhNYjHP9uohXr9Qi65
[flow-explorer-mode]: https://thegraph.com/explorer/subgraphs/H9D24a58cCZmzZTnu4VNdUoFCEMhNYjHP9uohXr9Qi65
[flow-studio-mode]: https://api.studio.thegraph.com/query/57079/sablier-v2-fl-mode/version/latest
{/* Chain: Optimism */}
[flow-network-optimism]: https://gateway-arbitrum.network.thegraph.com/api/API_KEY/subgraphs/id/JAf9rM9bn6Z91htddJ33JAyrWdNXHmseHhvx11Bpfysg
[flow-explorer-optimism]: https://thegraph.com/explorer/subgraphs/JAf9rM9bn6Z91htddJ33JAyrWdNXHmseHhvx11Bpfysg
[flow-studio-optimism]: https://api.studio.thegraph.com/query/57079/sablier-v2-fl-optimism/version/latest
{/* Chain: Optimism Sepolia */}
[flow-network-optimism-sepolia]: https://gateway-arbitrum.network.thegraph.com/api/API_KEY/subgraphs/id/5tosMw7VVdE9ie3Z8Hdz6Y4SqaMaKrBb3XnM9rTYUag2
[flow-explorer-optimism-sepolia]: https://thegraph.com/explorer/subgraphs/5tosMw7VVdE9ie3Z8Hdz6Y4SqaMaKrBb3XnM9rTYUag2
[flow-studio-optimism-sepolia]: https://api.studio.thegraph.com/query/57079/sablier-v2-fl-optimism-sepolia/version/latest
{/* Chain: Polygon */}
[flow-network-polygon]: https://gateway-arbitrum.network.thegraph.com/api/API_KEY/subgraphs/id/G49hZr29bZK7TAa7KK8z4sZ3ZkL93Ss6CZDG6ffCSifV
[flow-explorer-polygon]: https://thegraph.com/explorer/subgraphs/G49hZr29bZK7TAa7KK8z4sZ3ZkL93Ss6CZDG6ffCSifV
[flow-studio-polygon]: https://api.studio.thegraph.com/query/57079/sablier-v2-fl-polygon/version/latest
{/* Chain: Scroll */}
[flow-network-scroll]: https://gateway-arbitrum.network.thegraph.com/api/API_KEY/subgraphs/id/2d1uvMnHnohZowpGwDdj6Gpk5gT8SNcZjbLfTA3JVRa8
[flow-explorer-scroll]: https://thegraph.com/explorer/subgraphs/2d1uvMnHnohZowpGwDdj6Gpk5gT8SNcZjbLfTA3JVRa8
[flow-studio-scroll]: https://api.studio.thegraph.com/query/57079/sablier-v2-fl-scroll/version/latest
{/* Chain: Ethereum Sepolia */}
[flow-network-sepolia]: https://gateway-arbitrum.network.thegraph.com/api/API_KEY/subgraphs/id/iYRc4ETBqkeiyVhMeXktJ9jxEuQhQ1eJb2Bv68mGkQm
[flow-explorer-sepolia]: https://thegraph.com/explorer/subgraphs/iYRc4ETBqkeiyVhMeXktJ9jxEuQhQ1eJb2Bv68mGkQm
[flow-studio-sepolia]: https://api.studio.thegraph.com/query/57079/sablier-v2-fl-sepolia/version/latest
{/* Chain: zkSync */}
[flow-network-zksync]: https://gateway-arbitrum.network.thegraph.com/api/API_KEY/subgraphs/id/iYRc4ETBqkeiyVhMeXktJ9jxEuQhQ1eJb2Bv68mGkQm
[flow-explorer-zksync]: https://thegraph.com/explorer/subgraphs/iYRc4ETBqkeiyVhMeXktJ9jxEuQhQ1eJb2Bv68mGkQm
[flow-studio-zksync]: https://api.studio.thegraph.com/query/57079/sablier-v2-fl-zksync/version/latest
{/* --------------------------------------------------------------------------------------------------------------------------------- */}
[endpoint-flow]: https://indexer.hyperindex.xyz/3b4ea6b/v1/graphql
{/* --------------------------------------------------------------------------------------------------------------------------------- */}
{/* --------------------------------------------------------------------------------------------------------------------------------- */}
{/* --------------------------------------------------------------------------------------------------------------------------------- */}
---
## Schema (2)
## Overview
We provide auto-generated GraphQL schema documentation for both The Graph and Envio:
- The Graph schema docs
- Envio schema docs
## Query Syntax Differences
| Feature | The Graph | Envio |
| ------------ | -------------------------------------------------- | ------------------------------------------------------- |
| Pagination | `first` | `limit` |
| Pagination | `skip` | `offset` |
| Get by ID | `stream(id: "...")` | `Stream_by_pk(id: "...")` |
| Get multiple | `streams{}` | `Stream(where: {chainId: {_eq: ""}}){}` |
| Nested items | `campaigns{ id, asset: {id, symbol}}` | `Campaign{ asset_id, asset: {id, symbol}}` |
## Entities
This is the raw GraphQL file that is used by both The Graph and Envio for generating the final schemas hosted on their services.
The schema only contains entities:
{/* Add the code block */}
```graphql reference title="Sablier Flow - GraphQL Schema Entities"
https://github.com/sablier-labs/indexers/blob/main/src/schemas/flow.graphql
```
---
## Action_select_column (2)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
select columns of table "Action"
```graphql
enum Action_select_column {
addressA
addressB
amountA
amountB
block
category
chainId
contract
db_write_timestamp
fee
from
hash
id
stream_id
subgraphId
timestamp
}
```
### Values
#### [Action_select_column.addressA
](#)
column name
#### [Action_select_column.addressB
](#)
column name
#### [Action_select_column.amountA
](#)
column name
#### [Action_select_column.amountB
](#)
column name
#### [Action_select_column.block
](#)
column name
#### [Action_select_column.category
](#)
column name
#### [Action_select_column.chainId
](#)
column name
#### [Action_select_column.contract
](#)
column name
#### [Action_select_column.db_write_timestamp
](#)
column name
#### [Action_select_column.fee
](#)
column name
#### [Action_select_column.from
](#)
column name
#### [Action_select_column.hash
](#)
column name
#### [Action_select_column.id
](#)
column name
#### [Action_select_column.stream_id
](#)
column name
#### [Action_select_column.subgraphId
](#)
column name
#### [Action_select_column.timestamp
](#)
column name
---
## Asset_select_column (2)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
select columns of table "Asset"
```graphql
enum Asset_select_column {
address
chainId
db_write_timestamp
decimals
id
name
symbol
}
```
### Values
#### [Asset_select_column.address
](#)
column name
#### [Asset_select_column.chainId
](#)
column name
#### [Asset_select_column.db_write_timestamp
](#)
column name
#### [Asset_select_column.decimals
](#)
column name
#### [Asset_select_column.id
](#)
column name
#### [Asset_select_column.name
](#)
column name
#### [Asset_select_column.symbol
](#)
column name
---
## Batch_select_column
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
select columns of table "Batch"
```graphql
enum Batch_select_column {
batcher_id
db_write_timestamp
hash
id
position
size
timestamp
}
```
### Values
#### [Batch_select_column.batcher_id
](#)
column name
#### [Batch_select_column.db_write_timestamp
](#)
column name
#### [Batch_select_column.hash
](#)
column name
#### [Batch_select_column.id
](#)
column name
#### [Batch_select_column.position
](#)
column name
#### [Batch_select_column.size
](#)
column name
#### [Batch_select_column.timestamp
](#)
column name
---
## Batcher_select_column
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
select columns of table "Batcher"
```graphql
enum Batcher_select_column {
batchCounter
db_write_timestamp
id
}
```
### Values
#### [Batcher_select_column.batchCounter
](#)
column name
#### [Batcher_select_column.db_write_timestamp
](#)
column name
#### [Batcher_select_column.id
](#)
column name
---
## chain_metadata_select_column (2)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
select columns of table "chain_metadata"
```graphql
enum chain_metadata_select_column {
block_height
chain_id
end_block
first_event_block_number
is_hyper_sync
latest_fetched_block_number
latest_processed_block
num_batches_fetched
num_events_processed
start_block
timestamp_caught_up_to_head_or_endblock
}
```
### Values
#### [chain_metadata_select_column.block_height
](#)
column name
#### [chain_metadata_select_column.chain_id
](#)
column name
#### [chain_metadata_select_column.end_block
](#)
column name
#### [chain_metadata_select_column.first_event_block_number
](#)
column name
#### [chain_metadata_select_column.is_hyper_sync
](#)
column name
#### [chain_metadata_select_column.latest_fetched_block_number
](#)
column name
#### [chain_metadata_select_column.latest_processed_block
](#)
column name
#### [chain_metadata_select_column.num_batches_fetched
](#)
column name
#### [chain_metadata_select_column.num_events_processed
](#)
column name
#### [chain_metadata_select_column.start_block
](#)
column name
#### [chain_metadata_select_column.timestamp_caught_up_to_head_or_endblock
](#)
column name
---
## Contract_select_column
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
select columns of table "Contract"
```graphql
enum Contract_select_column {
address
admin
alias
db_write_timestamp
id
version
}
```
### Values
#### [Contract_select_column.address
](#)
column name
#### [Contract_select_column.admin
](#)
column name
#### [Contract_select_column.alias
](#)
column name
#### [Contract_select_column.db_write_timestamp
](#)
column name
#### [Contract_select_column.id
](#)
column name
#### [Contract_select_column.version
](#)
column name
---
## cursor_ordering (2)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
ordering argument of a cursor
```graphql
enum cursor_ordering {
ASC
DESC
}
```
### Values
#### [cursor_ordering.ASC
](#)
ascending ordering of the cursor
#### [cursor_ordering.DESC
](#)
descending ordering of the cursor
---
## dynamic_contract_registry_select_column (2)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
select columns of table "dynamic_contract_registry"
```graphql
enum dynamic_contract_registry_select_column {
chain_id
contract_address
contract_type
id
registering_event_block_number
registering_event_block_timestamp
registering_event_contract_name
registering_event_log_index
registering_event_name
registering_event_src_address
}
```
### Values
#### [dynamic_contract_registry_select_column.chain_id
](#)
column name
#### [dynamic_contract_registry_select_column.contract_address
](#)
column name
#### [dynamic_contract_registry_select_column.contract_type
](#)
column name
#### [dynamic_contract_registry_select_column.id
](#)
column name
#### [dynamic_contract_registry_select_column.registering_event_block_number
](#)
column name
#### [dynamic_contract_registry_select_column.registering_event_block_timestamp
](#)
column name
#### [dynamic_contract_registry_select_column.registering_event_contract_name
](#)
column name
#### [dynamic_contract_registry_select_column.registering_event_log_index
](#)
column name
#### [dynamic_contract_registry_select_column.registering_event_name
](#)
column name
#### [dynamic_contract_registry_select_column.registering_event_src_address
](#)
column name
---
## end_of_block_range_scanned_data_select_column (2)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
select columns of table "end_of_block_range_scanned_data"
```graphql
enum end_of_block_range_scanned_data_select_column {
block_hash
block_number
chain_id
}
```
### Values
#### [end_of_block_range_scanned_data_select_column.block_hash
](#)
column name
#### [end_of_block_range_scanned_data_select_column.block_number
](#)
column name
#### [end_of_block_range_scanned_data_select_column.chain_id
](#)
column name
---
## event_sync_state_select_column (2)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
select columns of table "event_sync_state"
```graphql
enum event_sync_state_select_column {
block_number
block_timestamp
chain_id
is_pre_registering_dynamic_contracts
log_index
}
```
### Values
#### [event_sync_state_select_column.block_number
](#)
column name
#### [event_sync_state_select_column.block_timestamp
](#)
column name
#### [event_sync_state_select_column.chain_id
](#)
column name
#### [event_sync_state_select_column.is_pre_registering_dynamic_contracts
](#)
column name
#### [event_sync_state_select_column.log_index
](#)
column name
---
## order_by (2)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
column ordering options
```graphql
enum order_by {
asc
asc_nulls_first
asc_nulls_last
desc
desc_nulls_first
desc_nulls_last
}
```
### Values
#### [order_by.asc
](#)
in ascending order, nulls last
#### [order_by.asc_nulls_first
](#)
in ascending order, nulls first
#### [order_by.asc_nulls_last
](#)
in ascending order, nulls last
#### [order_by.desc
](#)
in descending order, nulls first
#### [order_by.desc_nulls_first
](#)
in descending order, nulls first
#### [order_by.desc_nulls_last
](#)
in descending order, nulls last
---
## persisted_state_select_column (2)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
select columns of table "persisted_state"
```graphql
enum persisted_state_select_column {
abi_files_hash
config_hash
envio_version
handler_files_hash
id
schema_hash
}
```
### Values
#### [persisted_state_select_column.abi_files_hash
](#)
column name
#### [persisted_state_select_column.config_hash
](#)
column name
#### [persisted_state_select_column.envio_version
](#)
column name
#### [persisted_state_select_column.handler_files_hash
](#)
column name
#### [persisted_state_select_column.id
](#)
column name
#### [persisted_state_select_column.schema_hash
](#)
column name
---
## raw_events_select_column (2)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
select columns of table "raw_events"
```graphql
enum raw_events_select_column {
block_fields
block_hash
block_number
block_timestamp
chain_id
contract_name
db_write_timestamp
event_id
event_name
log_index
params
serial
src_address
transaction_fields
}
```
### Values
#### [raw_events_select_column.block_fields
](#)
column name
#### [raw_events_select_column.block_hash
](#)
column name
#### [raw_events_select_column.block_number
](#)
column name
#### [raw_events_select_column.block_timestamp
](#)
column name
#### [raw_events_select_column.chain_id
](#)
column name
#### [raw_events_select_column.contract_name
](#)
column name
#### [raw_events_select_column.db_write_timestamp
](#)
column name
#### [raw_events_select_column.event_id
](#)
column name
#### [raw_events_select_column.event_name
](#)
column name
#### [raw_events_select_column.log_index
](#)
column name
#### [raw_events_select_column.params
](#)
column name
#### [raw_events_select_column.serial
](#)
column name
#### [raw_events_select_column.src_address
](#)
column name
#### [raw_events_select_column.transaction_fields
](#)
column name
---
## Revenue_select_column (2)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
select columns of table "Revenue"
```graphql
enum Revenue_select_column {
amount
chainId
currency
date
dateTimestamp
db_write_timestamp
id
}
```
### Values
#### [Revenue_select_column.amount
](#)
column name
#### [Revenue_select_column.chainId
](#)
column name
#### [Revenue_select_column.currency
](#)
column name
#### [Revenue_select_column.date
](#)
column name
#### [Revenue_select_column.dateTimestamp
](#)
column name
#### [Revenue_select_column.db_write_timestamp
](#)
column name
#### [Revenue_select_column.id
](#)
column name
---
## RevenueTransaction_select_column_RevenueTransaction_aggregate_bool_exp_avg_arguments_columns (2)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
select "RevenueTransaction_aggregate_bool_exp_avg_arguments_columns" columns of table "RevenueTransaction"
```graphql
enum RevenueTransaction_select_column_RevenueTransaction_aggregate_bool_exp_avg_arguments_columns {
amount
}
```
### Values
#### [RevenueTransaction_select_column_RevenueTransaction_aggregate_bool_exp_avg_arguments_columns.amount
](#)
column name
---
## RevenueTransaction_select_column_RevenueTransaction_aggregate_bool_exp_corr_arguments_columns (2)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
select "RevenueTransaction_aggregate_bool_exp_corr_arguments_columns" columns of table "RevenueTransaction"
```graphql
enum RevenueTransaction_select_column_RevenueTransaction_aggregate_bool_exp_corr_arguments_columns {
amount
}
```
### Values
#### [RevenueTransaction_select_column_RevenueTransaction_aggregate_bool_exp_corr_arguments_columns.amount
](#)
column name
---
## RevenueTransaction_select_column_RevenueTransaction_aggregate_bool_exp_covar_samp_arguments_columns (2)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
select "RevenueTransaction_aggregate_bool_exp_covar_samp_arguments_columns" columns of table "RevenueTransaction"
```graphql
enum RevenueTransaction_select_column_RevenueTransaction_aggregate_bool_exp_covar_samp_arguments_columns {
amount
}
```
### Values
#### [RevenueTransaction_select_column_RevenueTransaction_aggregate_bool_exp_covar_samp_arguments_columns.amount
](#)
column name
---
## RevenueTransaction_select_column_RevenueTransaction_aggregate_bool_exp_max_arguments_columns (2)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
select "RevenueTransaction_aggregate_bool_exp_max_arguments_columns" columns of table "RevenueTransaction"
```graphql
enum RevenueTransaction_select_column_RevenueTransaction_aggregate_bool_exp_max_arguments_columns {
amount
}
```
### Values
#### [RevenueTransaction_select_column_RevenueTransaction_aggregate_bool_exp_max_arguments_columns.amount
](#)
column name
---
## RevenueTransaction_select_column_RevenueTransaction_aggregate_bool_exp_min_arguments_columns (2)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
select "RevenueTransaction_aggregate_bool_exp_min_arguments_columns" columns of table "RevenueTransaction"
```graphql
enum RevenueTransaction_select_column_RevenueTransaction_aggregate_bool_exp_min_arguments_columns {
amount
}
```
### Values
#### [RevenueTransaction_select_column_RevenueTransaction_aggregate_bool_exp_min_arguments_columns.amount
](#)
column name
---
## RevenueTransaction_select_column_RevenueTransaction_aggregate_bool_exp_stddev_samp_arguments_columns (2)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
select "RevenueTransaction_aggregate_bool_exp_stddev_samp_arguments_columns" columns of table "RevenueTransaction"
```graphql
enum RevenueTransaction_select_column_RevenueTransaction_aggregate_bool_exp_stddev_samp_arguments_columns {
amount
}
```
### Values
#### [RevenueTransaction_select_column_RevenueTransaction_aggregate_bool_exp_stddev_samp_arguments_columns.amount
](#)
column name
---
## RevenueTransaction_select_column_RevenueTransaction_aggregate_bool_exp_sum_arguments_columns (2)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
select "RevenueTransaction_aggregate_bool_exp_sum_arguments_columns" columns of table "RevenueTransaction"
```graphql
enum RevenueTransaction_select_column_RevenueTransaction_aggregate_bool_exp_sum_arguments_columns {
amount
}
```
### Values
#### [RevenueTransaction_select_column_RevenueTransaction_aggregate_bool_exp_sum_arguments_columns.amount
](#)
column name
---
## RevenueTransaction_select_column_RevenueTransaction_aggregate_bool_exp_var_samp_arguments_columns (2)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
select "RevenueTransaction_aggregate_bool_exp_var_samp_arguments_columns" columns of table "RevenueTransaction"
```graphql
enum RevenueTransaction_select_column_RevenueTransaction_aggregate_bool_exp_var_samp_arguments_columns {
amount
}
```
### Values
#### [RevenueTransaction_select_column_RevenueTransaction_aggregate_bool_exp_var_samp_arguments_columns.amount
](#)
column name
---
## RevenueTransaction_select_column (2)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
select columns of table "RevenueTransaction"
```graphql
enum RevenueTransaction_select_column {
amount
block
db_write_timestamp
hash
id
revenue_id
timestamp
}
```
### Values
#### [RevenueTransaction_select_column.amount
](#)
column name
#### [RevenueTransaction_select_column.block
](#)
column name
#### [RevenueTransaction_select_column.db_write_timestamp
](#)
column name
#### [RevenueTransaction_select_column.hash
](#)
column name
#### [RevenueTransaction_select_column.id
](#)
column name
#### [RevenueTransaction_select_column.revenue_id
](#)
column name
#### [RevenueTransaction_select_column.timestamp
](#)
column name
---
## Stream_select_column_Stream_aggregate_bool_exp_bool_and_arguments_columns
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
select "Stream_aggregate_bool_exp_bool_and_arguments_columns" columns of table "Stream"
```graphql
enum Stream_select_column_Stream_aggregate_bool_exp_bool_and_arguments_columns {
paused
transferable
voided
}
```
### Values
#### [Stream_select_column_Stream_aggregate_bool_exp_bool_and_arguments_columns.paused
](#)
column name
#### [Stream_select_column_Stream_aggregate_bool_exp_bool_and_arguments_columns.transferable
](#)
column name
#### [Stream_select_column_Stream_aggregate_bool_exp_bool_and_arguments_columns.voided
](#)
column name
---
## Stream_select_column_Stream_aggregate_bool_exp_bool_or_arguments_columns
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
select "Stream_aggregate_bool_exp_bool_or_arguments_columns" columns of table "Stream"
```graphql
enum Stream_select_column_Stream_aggregate_bool_exp_bool_or_arguments_columns {
paused
transferable
voided
}
```
### Values
#### [Stream_select_column_Stream_aggregate_bool_exp_bool_or_arguments_columns.paused
](#)
column name
#### [Stream_select_column_Stream_aggregate_bool_exp_bool_or_arguments_columns.transferable
](#)
column name
#### [Stream_select_column_Stream_aggregate_bool_exp_bool_or_arguments_columns.voided
](#)
column name
---
## Stream_select_column
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
select columns of table "Stream"
```graphql
enum Stream_select_column {
alias
assetDecimalsValue
asset_id
availableAmount
batch_id
category
chainId
contract
creator
db_write_timestamp
depletionTime
depositedAmount
forgivenDebt
hash
id
lastAdjustmentAction_id
lastAdjustmentTimestamp
paused
pausedAction_id
pausedTime
position
ratePerSecond
recipient
refundedAmount
sender
snapshotAmount
startTime
subgraphId
timestamp
tokenId
transferable
version
voided
voidedAction_id
voidedTime
withdrawnAmount
}
```
### Values
#### [Stream_select_column.alias
](#)
column name
#### [Stream_select_column.assetDecimalsValue
](#)
column name
#### [Stream_select_column.asset_id
](#)
column name
#### [Stream_select_column.availableAmount
](#)
column name
#### [Stream_select_column.batch_id
](#)
column name
#### [Stream_select_column.category
](#)
column name
#### [Stream_select_column.chainId
](#)
column name
#### [Stream_select_column.contract
](#)
column name
#### [Stream_select_column.creator
](#)
column name
#### [Stream_select_column.db_write_timestamp
](#)
column name
#### [Stream_select_column.depletionTime
](#)
column name
#### [Stream_select_column.depositedAmount
](#)
column name
#### [Stream_select_column.forgivenDebt
](#)
column name
#### [Stream_select_column.hash
](#)
column name
#### [Stream_select_column.id
](#)
column name
#### [Stream_select_column.lastAdjustmentAction_id
](#)
column name
#### [Stream_select_column.lastAdjustmentTimestamp
](#)
column name
#### [Stream_select_column.paused
](#)
column name
#### [Stream_select_column.pausedAction_id
](#)
column name
#### [Stream_select_column.pausedTime
](#)
column name
#### [Stream_select_column.position
](#)
column name
#### [Stream_select_column.ratePerSecond
](#)
column name
#### [Stream_select_column.recipient
](#)
column name
#### [Stream_select_column.refundedAmount
](#)
column name
#### [Stream_select_column.sender
](#)
column name
#### [Stream_select_column.snapshotAmount
](#)
column name
#### [Stream_select_column.startTime
](#)
column name
#### [Stream_select_column.subgraphId
](#)
column name
#### [Stream_select_column.timestamp
](#)
column name
#### [Stream_select_column.tokenId
](#)
column name
#### [Stream_select_column.transferable
](#)
column name
#### [Stream_select_column.version
](#)
column name
#### [Stream_select_column.voided
](#)
column name
#### [Stream_select_column.voidedAction_id
](#)
column name
#### [Stream_select_column.voidedTime
](#)
column name
#### [Stream_select_column.withdrawnAmount
](#)
column name
---
## User_select_column (2)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
select columns of table "User"
```graphql
enum User_select_column {
address
chainId
db_write_timestamp
id
isOnlyAirdropClaimer
}
```
### Values
#### [User_select_column.address
](#)
column name
#### [User_select_column.chainId
](#)
column name
#### [User_select_column.db_write_timestamp
](#)
column name
#### [User_select_column.id
](#)
column name
#### [User_select_column.isOnlyAirdropClaimer
](#)
column name
---
## UserTransaction_select_column_UserTransaction_aggregate_bool_exp_avg_arguments_columns (2)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
select "UserTransaction_aggregate_bool_exp_avg_arguments_columns" columns of table "UserTransaction"
```graphql
enum UserTransaction_select_column_UserTransaction_aggregate_bool_exp_avg_arguments_columns {
fee
}
```
### Values
#### [UserTransaction_select_column_UserTransaction_aggregate_bool_exp_avg_arguments_columns.fee
](#)
column name
---
## UserTransaction_select_column_UserTransaction_aggregate_bool_exp_bool_and_arguments_columns (2)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
select "UserTransaction_aggregate_bool_exp_bool_and_arguments_columns" columns of table "UserTransaction"
```graphql
enum UserTransaction_select_column_UserTransaction_aggregate_bool_exp_bool_and_arguments_columns {
isAirdropClaim
}
```
### Values
#### [UserTransaction_select_column_UserTransaction_aggregate_bool_exp_bool_and_arguments_columns.isAirdropClaim
](#)
column name
---
## UserTransaction_select_column_UserTransaction_aggregate_bool_exp_bool_or_arguments_columns (2)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
select "UserTransaction_aggregate_bool_exp_bool_or_arguments_columns" columns of table "UserTransaction"
```graphql
enum UserTransaction_select_column_UserTransaction_aggregate_bool_exp_bool_or_arguments_columns {
isAirdropClaim
}
```
### Values
#### [UserTransaction_select_column_UserTransaction_aggregate_bool_exp_bool_or_arguments_columns.isAirdropClaim
](#)
column name
---
## UserTransaction_select_column_UserTransaction_aggregate_bool_exp_corr_arguments_columns (2)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
select "UserTransaction_aggregate_bool_exp_corr_arguments_columns" columns of table "UserTransaction"
```graphql
enum UserTransaction_select_column_UserTransaction_aggregate_bool_exp_corr_arguments_columns {
fee
}
```
### Values
#### [UserTransaction_select_column_UserTransaction_aggregate_bool_exp_corr_arguments_columns.fee
](#)
column name
---
## UserTransaction_select_column_UserTransaction_aggregate_bool_exp_covar_samp_arguments_columns (2)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
select "UserTransaction_aggregate_bool_exp_covar_samp_arguments_columns" columns of table "UserTransaction"
```graphql
enum UserTransaction_select_column_UserTransaction_aggregate_bool_exp_covar_samp_arguments_columns {
fee
}
```
### Values
#### [UserTransaction_select_column_UserTransaction_aggregate_bool_exp_covar_samp_arguments_columns.fee
](#)
column name
---
## UserTransaction_select_column_UserTransaction_aggregate_bool_exp_max_arguments_columns (2)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
select "UserTransaction_aggregate_bool_exp_max_arguments_columns" columns of table "UserTransaction"
```graphql
enum UserTransaction_select_column_UserTransaction_aggregate_bool_exp_max_arguments_columns {
fee
}
```
### Values
#### [UserTransaction_select_column_UserTransaction_aggregate_bool_exp_max_arguments_columns.fee
](#)
column name
---
## UserTransaction_select_column_UserTransaction_aggregate_bool_exp_min_arguments_columns (2)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
select "UserTransaction_aggregate_bool_exp_min_arguments_columns" columns of table "UserTransaction"
```graphql
enum UserTransaction_select_column_UserTransaction_aggregate_bool_exp_min_arguments_columns {
fee
}
```
### Values
#### [UserTransaction_select_column_UserTransaction_aggregate_bool_exp_min_arguments_columns.fee
](#)
column name
---
## UserTransaction_select_column_UserTransaction_aggregate_bool_exp_stddev_samp_arguments_columns (2)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
select "UserTransaction_aggregate_bool_exp_stddev_samp_arguments_columns" columns of table "UserTransaction"
```graphql
enum UserTransaction_select_column_UserTransaction_aggregate_bool_exp_stddev_samp_arguments_columns {
fee
}
```
### Values
#### [UserTransaction_select_column_UserTransaction_aggregate_bool_exp_stddev_samp_arguments_columns.fee
](#)
column name
---
## UserTransaction_select_column_UserTransaction_aggregate_bool_exp_sum_arguments_columns (2)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
select "UserTransaction_aggregate_bool_exp_sum_arguments_columns" columns of table "UserTransaction"
```graphql
enum UserTransaction_select_column_UserTransaction_aggregate_bool_exp_sum_arguments_columns {
fee
}
```
### Values
#### [UserTransaction_select_column_UserTransaction_aggregate_bool_exp_sum_arguments_columns.fee
](#)
column name
---
## UserTransaction_select_column_UserTransaction_aggregate_bool_exp_var_samp_arguments_columns (2)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
select "UserTransaction_aggregate_bool_exp_var_samp_arguments_columns" columns of table "UserTransaction"
```graphql
enum UserTransaction_select_column_UserTransaction_aggregate_bool_exp_var_samp_arguments_columns {
fee
}
```
### Values
#### [UserTransaction_select_column_UserTransaction_aggregate_bool_exp_var_samp_arguments_columns.fee
](#)
column name
---
## UserTransaction_select_column (2)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
select columns of table "UserTransaction"
```graphql
enum UserTransaction_select_column {
block
db_write_timestamp
fee
hash
id
isAirdropClaim
timestamp
user_id
}
```
### Values
#### [UserTransaction_select_column.block
](#)
column name
#### [UserTransaction_select_column.db_write_timestamp
](#)
column name
#### [UserTransaction_select_column.fee
](#)
column name
#### [UserTransaction_select_column.hash
](#)
column name
#### [UserTransaction_select_column.id
](#)
column name
#### [UserTransaction_select_column.isAirdropClaim
](#)
column name
#### [UserTransaction_select_column.timestamp
](#)
column name
#### [UserTransaction_select_column.user_id
](#)
column name
---
## Watcher_select_column (2)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
select columns of table "Watcher"
```graphql
enum Watcher_select_column {
actionCounter
chainId
db_write_timestamp
id
streamCounter
}
```
### Values
#### [Watcher_select_column.actionCounter
](#)
column name
#### [Watcher_select_column.chainId
](#)
column name
#### [Watcher_select_column.db_write_timestamp
](#)
column name
#### [Watcher_select_column.id
](#)
column name
#### [Watcher_select_column.streamCounter
](#)
column name
---
## Overview (5)
This documentation has been automatically generated from the GraphQL schema, with
[GraphQL-Markdown](https://graphql-markdown.github.io).
---
## Action_aggregate_order_by (2)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
order by aggregate values of table "Action"
```graphql
input Action_aggregate_order_by {
avg: Action_avg_order_by
count: order_by
max: Action_max_order_by
min: Action_min_order_by
stddev: Action_stddev_order_by
stddev_pop: Action_stddev_pop_order_by
stddev_samp: Action_stddev_samp_order_by
sum: Action_sum_order_by
var_pop: Action_var_pop_order_by
var_samp: Action_var_samp_order_by
variance: Action_variance_order_by
}
```
### Fields
#### [Action_aggregate_order_by.avg
](#)[Action_avg_order_by
](/docs/api/flow/graphql/envio/inputs/action-avg-order-by.mdx)
#### [Action_aggregate_order_by.count
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
#### [Action_aggregate_order_by.max
](#)[Action_max_order_by
](/docs/api/flow/graphql/envio/inputs/action-max-order-by.mdx)
#### [Action_aggregate_order_by.min
](#)[Action_min_order_by
](/docs/api/flow/graphql/envio/inputs/action-min-order-by.mdx)
#### [Action_aggregate_order_by.stddev
](#)[Action_stddev_order_by
](/docs/api/flow/graphql/envio/inputs/action-stddev-order-by.mdx)
#### [Action_aggregate_order_by.stddev_pop
](#)[Action_stddev_pop_order_by
](/docs/api/flow/graphql/envio/inputs/action-stddev-pop-order-by.mdx)
#### [Action_aggregate_order_by.stddev_samp
](#)[Action_stddev_samp_order_by
](/docs/api/flow/graphql/envio/inputs/action-stddev-samp-order-by.mdx)
#### [Action_aggregate_order_by.sum
](#)[Action_sum_order_by
](/docs/api/flow/graphql/envio/inputs/action-sum-order-by.mdx)
#### [Action_aggregate_order_by.var_pop
](#)[Action_var_pop_order_by
](/docs/api/flow/graphql/envio/inputs/action-var-pop-order-by.mdx)
#### [Action_aggregate_order_by.var_samp
](#)[Action_var_samp_order_by
](/docs/api/flow/graphql/envio/inputs/action-var-samp-order-by.mdx)
#### [Action_aggregate_order_by.variance
](#)[Action_variance_order_by
](/docs/api/flow/graphql/envio/inputs/action-variance-order-by.mdx)
---
## Action_avg_order_by (2)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
order by avg() on columns of table "Action"
```graphql
input Action_avg_order_by {
amountA: order_by
amountB: order_by
block: order_by
chainId: order_by
fee: order_by
subgraphId: order_by
timestamp: order_by
}
```
### Fields
#### [Action_avg_order_by.amountA
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
#### [Action_avg_order_by.amountB
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
#### [Action_avg_order_by.block
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
#### [Action_avg_order_by.chainId
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
#### [Action_avg_order_by.fee
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
#### [Action_avg_order_by.subgraphId
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
#### [Action_avg_order_by.timestamp
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
---
## Action_bool_exp (2)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
Boolean expression to filter rows from the table "Action". All fields are combined with a logical 'AND'.
```graphql
input Action_bool_exp {
_and: [Action_bool_exp!]
_not: Action_bool_exp
_or: [Action_bool_exp!]
addressA: String_comparison_exp
addressB: String_comparison_exp
amountA: numeric_comparison_exp
amountB: numeric_comparison_exp
block: numeric_comparison_exp
category: actioncategory_comparison_exp
chainId: numeric_comparison_exp
contract: String_comparison_exp
db_write_timestamp: timestamp_comparison_exp
fee: numeric_comparison_exp
from: String_comparison_exp
hash: String_comparison_exp
id: String_comparison_exp
stream: Stream_bool_exp
stream_id: String_comparison_exp
subgraphId: numeric_comparison_exp
timestamp: numeric_comparison_exp
}
```
### Fields
#### [Action_bool_exp.\_and
](#)[[Action_bool_exp!]
](/docs/api/flow/graphql/envio/inputs/action-bool-exp.mdx)
#### [Action_bool_exp.\_not
](#)[Action_bool_exp
](/docs/api/flow/graphql/envio/inputs/action-bool-exp.mdx)
#### [Action_bool_exp.\_or
](#)[[Action_bool_exp!]
](/docs/api/flow/graphql/envio/inputs/action-bool-exp.mdx)
#### [Action_bool_exp.addressA
](#)[String_comparison_exp
](/docs/api/flow/graphql/envio/inputs/string-comparison-exp.mdx)
#### [Action_bool_exp.addressB
](#)[String_comparison_exp
](/docs/api/flow/graphql/envio/inputs/string-comparison-exp.mdx)
#### [Action_bool_exp.amountA
](#)[numeric_comparison_exp
](/docs/api/flow/graphql/envio/inputs/numeric-comparison-exp.mdx)
#### [Action_bool_exp.amountB
](#)[numeric_comparison_exp
](/docs/api/flow/graphql/envio/inputs/numeric-comparison-exp.mdx)
#### [Action_bool_exp.block
](#)[numeric_comparison_exp
](/docs/api/flow/graphql/envio/inputs/numeric-comparison-exp.mdx)
#### [Action_bool_exp.category
](#)[actioncategory_comparison_exp
](/docs/api/flow/graphql/envio/inputs/actioncategory-comparison-exp.mdx)
#### [Action_bool_exp.chainId
](#)[numeric_comparison_exp
](/docs/api/flow/graphql/envio/inputs/numeric-comparison-exp.mdx)
#### [Action_bool_exp.contract
](#)[String_comparison_exp
](/docs/api/flow/graphql/envio/inputs/string-comparison-exp.mdx)
#### [Action_bool_exp.db_write_timestamp
](#)[timestamp_comparison_exp
](/docs/api/flow/graphql/envio/inputs/timestamp-comparison-exp.mdx)
#### [Action_bool_exp.fee
](#)[numeric_comparison_exp
](/docs/api/flow/graphql/envio/inputs/numeric-comparison-exp.mdx)
#### [Action_bool_exp.from
](#)[String_comparison_exp
](/docs/api/flow/graphql/envio/inputs/string-comparison-exp.mdx)
#### [Action_bool_exp.hash
](#)[String_comparison_exp
](/docs/api/flow/graphql/envio/inputs/string-comparison-exp.mdx)
#### [Action_bool_exp.id
](#)[String_comparison_exp
](/docs/api/flow/graphql/envio/inputs/string-comparison-exp.mdx)
#### [Action_bool_exp.stream
](#)[Stream_bool_exp
](/docs/api/flow/graphql/envio/inputs/stream-bool-exp.mdx)
#### [Action_bool_exp.stream_id
](#)[String_comparison_exp
](/docs/api/flow/graphql/envio/inputs/string-comparison-exp.mdx)
#### [Action_bool_exp.subgraphId
](#)[numeric_comparison_exp
](/docs/api/flow/graphql/envio/inputs/numeric-comparison-exp.mdx)
#### [Action_bool_exp.timestamp
](#)[numeric_comparison_exp
](/docs/api/flow/graphql/envio/inputs/numeric-comparison-exp.mdx)
---
## Action_max_order_by (2)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
order by max() on columns of table "Action"
```graphql
input Action_max_order_by {
addressA: order_by
addressB: order_by
amountA: order_by
amountB: order_by
block: order_by
category: order_by
chainId: order_by
contract: order_by
db_write_timestamp: order_by
fee: order_by
from: order_by
hash: order_by
id: order_by
stream_id: order_by
subgraphId: order_by
timestamp: order_by
}
```
### Fields
#### [Action_max_order_by.addressA
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
#### [Action_max_order_by.addressB
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
#### [Action_max_order_by.amountA
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
#### [Action_max_order_by.amountB
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
#### [Action_max_order_by.block
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
#### [Action_max_order_by.category
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
#### [Action_max_order_by.chainId
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
#### [Action_max_order_by.contract
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
#### [Action_max_order_by.db_write_timestamp
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
#### [Action_max_order_by.fee
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
#### [Action_max_order_by.from
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
#### [Action_max_order_by.hash
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
#### [Action_max_order_by.id
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
#### [Action_max_order_by.stream_id
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
#### [Action_max_order_by.subgraphId
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
#### [Action_max_order_by.timestamp
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
---
## Action_min_order_by (2)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
order by min() on columns of table "Action"
```graphql
input Action_min_order_by {
addressA: order_by
addressB: order_by
amountA: order_by
amountB: order_by
block: order_by
category: order_by
chainId: order_by
contract: order_by
db_write_timestamp: order_by
fee: order_by
from: order_by
hash: order_by
id: order_by
stream_id: order_by
subgraphId: order_by
timestamp: order_by
}
```
### Fields
#### [Action_min_order_by.addressA
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
#### [Action_min_order_by.addressB
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
#### [Action_min_order_by.amountA
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
#### [Action_min_order_by.amountB
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
#### [Action_min_order_by.block
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
#### [Action_min_order_by.category
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
#### [Action_min_order_by.chainId
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
#### [Action_min_order_by.contract
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
#### [Action_min_order_by.db_write_timestamp
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
#### [Action_min_order_by.fee
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
#### [Action_min_order_by.from
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
#### [Action_min_order_by.hash
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
#### [Action_min_order_by.id
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
#### [Action_min_order_by.stream_id
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
#### [Action_min_order_by.subgraphId
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
#### [Action_min_order_by.timestamp
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
---
## Action_order_by (2)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
Ordering options when selecting data from "Action".
```graphql
input Action_order_by {
addressA: order_by
addressB: order_by
amountA: order_by
amountB: order_by
block: order_by
category: order_by
chainId: order_by
contract: order_by
db_write_timestamp: order_by
fee: order_by
from: order_by
hash: order_by
id: order_by
stream: Stream_order_by
stream_id: order_by
subgraphId: order_by
timestamp: order_by
}
```
### Fields
#### [Action_order_by.addressA
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
#### [Action_order_by.addressB
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
#### [Action_order_by.amountA
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
#### [Action_order_by.amountB
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
#### [Action_order_by.block
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
#### [Action_order_by.category
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
#### [Action_order_by.chainId
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
#### [Action_order_by.contract
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
#### [Action_order_by.db_write_timestamp
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
#### [Action_order_by.fee
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
#### [Action_order_by.from
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
#### [Action_order_by.hash
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
#### [Action_order_by.id
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
#### [Action_order_by.stream
](#)[Stream_order_by
](/docs/api/flow/graphql/envio/inputs/stream-order-by.mdx)
#### [Action_order_by.stream_id
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
#### [Action_order_by.subgraphId
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
#### [Action_order_by.timestamp
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
---
## Action_stddev_order_by (2)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
order by stddev() on columns of table "Action"
```graphql
input Action_stddev_order_by {
amountA: order_by
amountB: order_by
block: order_by
chainId: order_by
fee: order_by
subgraphId: order_by
timestamp: order_by
}
```
### Fields
#### [Action_stddev_order_by.amountA
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
#### [Action_stddev_order_by.amountB
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
#### [Action_stddev_order_by.block
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
#### [Action_stddev_order_by.chainId
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
#### [Action_stddev_order_by.fee
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
#### [Action_stddev_order_by.subgraphId
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
#### [Action_stddev_order_by.timestamp
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
---
## Action_stddev_pop_order_by (2)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
order by stddev_pop() on columns of table "Action"
```graphql
input Action_stddev_pop_order_by {
amountA: order_by
amountB: order_by
block: order_by
chainId: order_by
fee: order_by
subgraphId: order_by
timestamp: order_by
}
```
### Fields
#### [Action_stddev_pop_order_by.amountA
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
#### [Action_stddev_pop_order_by.amountB
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
#### [Action_stddev_pop_order_by.block
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
#### [Action_stddev_pop_order_by.chainId
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
#### [Action_stddev_pop_order_by.fee
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
#### [Action_stddev_pop_order_by.subgraphId
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
#### [Action_stddev_pop_order_by.timestamp
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
---
## Action_stddev_samp_order_by (2)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
order by stddev_samp() on columns of table "Action"
```graphql
input Action_stddev_samp_order_by {
amountA: order_by
amountB: order_by
block: order_by
chainId: order_by
fee: order_by
subgraphId: order_by
timestamp: order_by
}
```
### Fields
#### [Action_stddev_samp_order_by.amountA
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
#### [Action_stddev_samp_order_by.amountB
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
#### [Action_stddev_samp_order_by.block
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
#### [Action_stddev_samp_order_by.chainId
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
#### [Action_stddev_samp_order_by.fee
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
#### [Action_stddev_samp_order_by.subgraphId
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
#### [Action_stddev_samp_order_by.timestamp
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
---
## Action_stream_cursor_input (2)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
Streaming cursor of the table "Action"
```graphql
input Action_stream_cursor_input {
initial_value: Action_stream_cursor_value_input!
ordering: cursor_ordering
}
```
### Fields
#### [Action_stream_cursor_input.initial_value
](#)[Action_stream_cursor_value_input!
](/docs/api/flow/graphql/envio/inputs/action-stream-cursor-value-input.mdx)
Stream column input with initial value
#### [Action_stream_cursor_input.ordering
](#)[cursor_ordering
](/docs/api/flow/graphql/envio/enums/cursor-ordering.mdx)
cursor ordering
---
## Action_stream_cursor_value_input (2)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
Initial value of the column from where the streaming should start
```graphql
input Action_stream_cursor_value_input {
addressA: String
addressB: String
amountA: numeric
amountB: numeric
block: numeric
category: actioncategory
chainId: numeric
contract: String
db_write_timestamp: timestamp
fee: numeric
from: String
hash: String
id: String
stream_id: String
subgraphId: numeric
timestamp: numeric
}
```
### Fields
#### [Action_stream_cursor_value_input.addressA
](#)[String
](/docs/api/flow/graphql/envio/scalars/string.mdx)
#### [Action_stream_cursor_value_input.addressB
](#)[String
](/docs/api/flow/graphql/envio/scalars/string.mdx)
#### [Action_stream_cursor_value_input.amountA
](#)[numeric
](/docs/api/flow/graphql/envio/scalars/numeric.mdx)
#### [Action_stream_cursor_value_input.amountB
](#)[numeric
](/docs/api/flow/graphql/envio/scalars/numeric.mdx)
#### [Action_stream_cursor_value_input.block
](#)[numeric
](/docs/api/flow/graphql/envio/scalars/numeric.mdx)
#### [Action_stream_cursor_value_input.category
](#)[actioncategory
](/docs/api/flow/graphql/envio/scalars/actioncategory.mdx)
#### [Action_stream_cursor_value_input.chainId
](#)[numeric
](/docs/api/flow/graphql/envio/scalars/numeric.mdx)
#### [Action_stream_cursor_value_input.contract
](#)[String
](/docs/api/flow/graphql/envio/scalars/string.mdx)
#### [Action_stream_cursor_value_input.db_write_timestamp
](#)[timestamp
](/docs/api/flow/graphql/envio/scalars/timestamp.mdx)
#### [Action_stream_cursor_value_input.fee
](#)[numeric
](/docs/api/flow/graphql/envio/scalars/numeric.mdx)
#### [Action_stream_cursor_value_input.from
](#)[String
](/docs/api/flow/graphql/envio/scalars/string.mdx)
#### [Action_stream_cursor_value_input.hash
](#)[String
](/docs/api/flow/graphql/envio/scalars/string.mdx)
#### [Action_stream_cursor_value_input.id
](#)[String
](/docs/api/flow/graphql/envio/scalars/string.mdx)
#### [Action_stream_cursor_value_input.stream_id
](#)[String
](/docs/api/flow/graphql/envio/scalars/string.mdx)
#### [Action_stream_cursor_value_input.subgraphId
](#)[numeric
](/docs/api/flow/graphql/envio/scalars/numeric.mdx)
#### [Action_stream_cursor_value_input.timestamp
](#)[numeric
](/docs/api/flow/graphql/envio/scalars/numeric.mdx)
---
## Action_sum_order_by (2)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
order by sum() on columns of table "Action"
```graphql
input Action_sum_order_by {
amountA: order_by
amountB: order_by
block: order_by
chainId: order_by
fee: order_by
subgraphId: order_by
timestamp: order_by
}
```
### Fields
#### [Action_sum_order_by.amountA
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
#### [Action_sum_order_by.amountB
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
#### [Action_sum_order_by.block
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
#### [Action_sum_order_by.chainId
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
#### [Action_sum_order_by.fee
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
#### [Action_sum_order_by.subgraphId
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
#### [Action_sum_order_by.timestamp
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
---
## Action_var_pop_order_by (2)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
order by var_pop() on columns of table "Action"
```graphql
input Action_var_pop_order_by {
amountA: order_by
amountB: order_by
block: order_by
chainId: order_by
fee: order_by
subgraphId: order_by
timestamp: order_by
}
```
### Fields
#### [Action_var_pop_order_by.amountA
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
#### [Action_var_pop_order_by.amountB
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
#### [Action_var_pop_order_by.block
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
#### [Action_var_pop_order_by.chainId
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
#### [Action_var_pop_order_by.fee
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
#### [Action_var_pop_order_by.subgraphId
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
#### [Action_var_pop_order_by.timestamp
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
---
## Action_var_samp_order_by (2)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
order by var_samp() on columns of table "Action"
```graphql
input Action_var_samp_order_by {
amountA: order_by
amountB: order_by
block: order_by
chainId: order_by
fee: order_by
subgraphId: order_by
timestamp: order_by
}
```
### Fields
#### [Action_var_samp_order_by.amountA
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
#### [Action_var_samp_order_by.amountB
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
#### [Action_var_samp_order_by.block
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
#### [Action_var_samp_order_by.chainId
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
#### [Action_var_samp_order_by.fee
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
#### [Action_var_samp_order_by.subgraphId
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
#### [Action_var_samp_order_by.timestamp
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
---
## Action_variance_order_by (2)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
order by variance() on columns of table "Action"
```graphql
input Action_variance_order_by {
amountA: order_by
amountB: order_by
block: order_by
chainId: order_by
fee: order_by
subgraphId: order_by
timestamp: order_by
}
```
### Fields
#### [Action_variance_order_by.amountA
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
#### [Action_variance_order_by.amountB
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
#### [Action_variance_order_by.block
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
#### [Action_variance_order_by.chainId
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
#### [Action_variance_order_by.fee
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
#### [Action_variance_order_by.subgraphId
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
#### [Action_variance_order_by.timestamp
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
---
## actioncategory_comparison_exp (2)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
Boolean expression to compare columns of type "actioncategory". All fields are combined with logical 'AND'.
```graphql
input actioncategory_comparison_exp {
_eq: actioncategory
_gt: actioncategory
_gte: actioncategory
_in: [actioncategory!]
_is_null: Boolean
_lt: actioncategory
_lte: actioncategory
_neq: actioncategory
_nin: [actioncategory!]
}
```
### Fields
#### [actioncategory_comparison_exp.\_eq
](#)[actioncategory
](/docs/api/flow/graphql/envio/scalars/actioncategory.mdx)
#### [actioncategory_comparison_exp.\_gt
](#)[actioncategory
](/docs/api/flow/graphql/envio/scalars/actioncategory.mdx)
#### [actioncategory_comparison_exp.\_gte
](#)[actioncategory
](/docs/api/flow/graphql/envio/scalars/actioncategory.mdx)
#### [actioncategory_comparison_exp.\_in
](#)[[actioncategory!]
](/docs/api/flow/graphql/envio/scalars/actioncategory.mdx)
#### [actioncategory_comparison_exp.\_is_null
](#)[Boolean
](/docs/api/flow/graphql/envio/scalars/boolean.mdx)
#### [actioncategory_comparison_exp.\_lt
](#)[actioncategory
](/docs/api/flow/graphql/envio/scalars/actioncategory.mdx)
#### [actioncategory_comparison_exp.\_lte
](#)[actioncategory
](/docs/api/flow/graphql/envio/scalars/actioncategory.mdx)
#### [actioncategory_comparison_exp.\_neq
](#)[actioncategory
](/docs/api/flow/graphql/envio/scalars/actioncategory.mdx)
#### [actioncategory_comparison_exp.\_nin
](#)[[actioncategory!]
](/docs/api/flow/graphql/envio/scalars/actioncategory.mdx)
---
## Asset_bool_exp (2)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
Boolean expression to filter rows from the table "Asset". All fields are combined with a logical 'AND'.
```graphql
input Asset_bool_exp {
_and: [Asset_bool_exp!]
_not: Asset_bool_exp
_or: [Asset_bool_exp!]
address: String_comparison_exp
chainId: numeric_comparison_exp
db_write_timestamp: timestamp_comparison_exp
decimals: numeric_comparison_exp
id: String_comparison_exp
name: String_comparison_exp
streams: Stream_bool_exp
streams_aggregate: Stream_aggregate_bool_exp
symbol: String_comparison_exp
}
```
### Fields
#### [Asset_bool_exp.\_and
](#)[[Asset_bool_exp!]
](/docs/api/flow/graphql/envio/inputs/asset-bool-exp.mdx)
#### [Asset_bool_exp.\_not
](#)[Asset_bool_exp
](/docs/api/flow/graphql/envio/inputs/asset-bool-exp.mdx)
#### [Asset_bool_exp.\_or
](#)[[Asset_bool_exp!]
](/docs/api/flow/graphql/envio/inputs/asset-bool-exp.mdx)
#### [Asset_bool_exp.address
](#)[String_comparison_exp
](/docs/api/flow/graphql/envio/inputs/string-comparison-exp.mdx)
#### [Asset_bool_exp.chainId
](#)[numeric_comparison_exp
](/docs/api/flow/graphql/envio/inputs/numeric-comparison-exp.mdx)
#### [Asset_bool_exp.db_write_timestamp
](#)[timestamp_comparison_exp
](/docs/api/flow/graphql/envio/inputs/timestamp-comparison-exp.mdx)
#### [Asset_bool_exp.decimals
](#)[numeric_comparison_exp
](/docs/api/flow/graphql/envio/inputs/numeric-comparison-exp.mdx)
#### [Asset_bool_exp.id
](#)[String_comparison_exp
](/docs/api/flow/graphql/envio/inputs/string-comparison-exp.mdx)
#### [Asset_bool_exp.name
](#)[String_comparison_exp
](/docs/api/flow/graphql/envio/inputs/string-comparison-exp.mdx)
#### [Asset_bool_exp.streams
](#)[Stream_bool_exp
](/docs/api/flow/graphql/envio/inputs/stream-bool-exp.mdx)
#### [Asset_bool_exp.streams_aggregate
](#)[Stream_aggregate_bool_exp
](/docs/api/flow/graphql/envio/inputs/stream-aggregate-bool-exp.mdx)
#### [Asset_bool_exp.symbol
](#)[String_comparison_exp
](/docs/api/flow/graphql/envio/inputs/string-comparison-exp.mdx)
---
## Asset_order_by (2)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
Ordering options when selecting data from "Asset".
```graphql
input Asset_order_by {
address: order_by
chainId: order_by
db_write_timestamp: order_by
decimals: order_by
id: order_by
name: order_by
streams_aggregate: Stream_aggregate_order_by
symbol: order_by
}
```
### Fields
#### [Asset_order_by.address
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
#### [Asset_order_by.chainId
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
#### [Asset_order_by.db_write_timestamp
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
#### [Asset_order_by.decimals
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
#### [Asset_order_by.id
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
#### [Asset_order_by.name
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
#### [Asset_order_by.streams_aggregate
](#)[Stream_aggregate_order_by
](/docs/api/flow/graphql/envio/inputs/stream-aggregate-order-by.mdx)
#### [Asset_order_by.symbol
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
---
## Asset_stream_cursor_input (2)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
Streaming cursor of the table "Asset"
```graphql
input Asset_stream_cursor_input {
initial_value: Asset_stream_cursor_value_input!
ordering: cursor_ordering
}
```
### Fields
#### [Asset_stream_cursor_input.initial_value
](#)[Asset_stream_cursor_value_input!
](/docs/api/flow/graphql/envio/inputs/asset-stream-cursor-value-input.mdx)
Stream column input with initial value
#### [Asset_stream_cursor_input.ordering
](#)[cursor_ordering
](/docs/api/flow/graphql/envio/enums/cursor-ordering.mdx)
cursor ordering
---
## Asset_stream_cursor_value_input (2)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
Initial value of the column from where the streaming should start
```graphql
input Asset_stream_cursor_value_input {
address: String
chainId: numeric
db_write_timestamp: timestamp
decimals: numeric
id: String
name: String
symbol: String
}
```
### Fields
#### [Asset_stream_cursor_value_input.address
](#)[String
](/docs/api/flow/graphql/envio/scalars/string.mdx)
#### [Asset_stream_cursor_value_input.chainId
](#)[numeric
](/docs/api/flow/graphql/envio/scalars/numeric.mdx)
#### [Asset_stream_cursor_value_input.db_write_timestamp
](#)[timestamp
](/docs/api/flow/graphql/envio/scalars/timestamp.mdx)
#### [Asset_stream_cursor_value_input.decimals
](#)[numeric
](/docs/api/flow/graphql/envio/scalars/numeric.mdx)
#### [Asset_stream_cursor_value_input.id
](#)[String
](/docs/api/flow/graphql/envio/scalars/string.mdx)
#### [Asset_stream_cursor_value_input.name
](#)[String
](/docs/api/flow/graphql/envio/scalars/string.mdx)
#### [Asset_stream_cursor_value_input.symbol
](#)[String
](/docs/api/flow/graphql/envio/scalars/string.mdx)
---
## Batch_aggregate_order_by
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
order by aggregate values of table "Batch"
```graphql
input Batch_aggregate_order_by {
avg: Batch_avg_order_by
count: order_by
max: Batch_max_order_by
min: Batch_min_order_by
stddev: Batch_stddev_order_by
stddev_pop: Batch_stddev_pop_order_by
stddev_samp: Batch_stddev_samp_order_by
sum: Batch_sum_order_by
var_pop: Batch_var_pop_order_by
var_samp: Batch_var_samp_order_by
variance: Batch_variance_order_by
}
```
### Fields
#### [Batch_aggregate_order_by.avg
](#)[Batch_avg_order_by
](/docs/api/flow/graphql/envio/inputs/batch-avg-order-by.mdx)
#### [Batch_aggregate_order_by.count
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
#### [Batch_aggregate_order_by.max
](#)[Batch_max_order_by
](/docs/api/flow/graphql/envio/inputs/batch-max-order-by.mdx)
#### [Batch_aggregate_order_by.min
](#)[Batch_min_order_by
](/docs/api/flow/graphql/envio/inputs/batch-min-order-by.mdx)
#### [Batch_aggregate_order_by.stddev
](#)[Batch_stddev_order_by
](/docs/api/flow/graphql/envio/inputs/batch-stddev-order-by.mdx)
#### [Batch_aggregate_order_by.stddev_pop
](#)[Batch_stddev_pop_order_by
](/docs/api/flow/graphql/envio/inputs/batch-stddev-pop-order-by.mdx)
#### [Batch_aggregate_order_by.stddev_samp
](#)[Batch_stddev_samp_order_by
](/docs/api/flow/graphql/envio/inputs/batch-stddev-samp-order-by.mdx)
#### [Batch_aggregate_order_by.sum
](#)[Batch_sum_order_by
](/docs/api/flow/graphql/envio/inputs/batch-sum-order-by.mdx)
#### [Batch_aggregate_order_by.var_pop
](#)[Batch_var_pop_order_by
](/docs/api/flow/graphql/envio/inputs/batch-var-pop-order-by.mdx)
#### [Batch_aggregate_order_by.var_samp
](#)[Batch_var_samp_order_by
](/docs/api/flow/graphql/envio/inputs/batch-var-samp-order-by.mdx)
#### [Batch_aggregate_order_by.variance
](#)[Batch_variance_order_by
](/docs/api/flow/graphql/envio/inputs/batch-variance-order-by.mdx)
---
## Batch_avg_order_by
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
order by avg() on columns of table "Batch"
```graphql
input Batch_avg_order_by {
position: order_by
size: order_by
timestamp: order_by
}
```
### Fields
#### [Batch_avg_order_by.position
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
#### [Batch_avg_order_by.size
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
#### [Batch_avg_order_by.timestamp
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
---
## Batch_bool_exp
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
Boolean expression to filter rows from the table "Batch". All fields are combined with a logical 'AND'.
```graphql
input Batch_bool_exp {
_and: [Batch_bool_exp!]
_not: Batch_bool_exp
_or: [Batch_bool_exp!]
batcher: Batcher_bool_exp
batcher_id: String_comparison_exp
db_write_timestamp: timestamp_comparison_exp
hash: String_comparison_exp
id: String_comparison_exp
position: numeric_comparison_exp
size: numeric_comparison_exp
streams: Stream_bool_exp
streams_aggregate: Stream_aggregate_bool_exp
timestamp: numeric_comparison_exp
}
```
### Fields
#### [Batch_bool_exp.\_and
](#)[[Batch_bool_exp!]
](/docs/api/flow/graphql/envio/inputs/batch-bool-exp.mdx)
#### [Batch_bool_exp.\_not
](#)[Batch_bool_exp
](/docs/api/flow/graphql/envio/inputs/batch-bool-exp.mdx)
#### [Batch_bool_exp.\_or
](#)[[Batch_bool_exp!]
](/docs/api/flow/graphql/envio/inputs/batch-bool-exp.mdx)
#### [Batch_bool_exp.batcher
](#)[Batcher_bool_exp
](/docs/api/flow/graphql/envio/inputs/batcher-bool-exp.mdx)
#### [Batch_bool_exp.batcher_id
](#)[String_comparison_exp
](/docs/api/flow/graphql/envio/inputs/string-comparison-exp.mdx)
#### [Batch_bool_exp.db_write_timestamp
](#)[timestamp_comparison_exp
](/docs/api/flow/graphql/envio/inputs/timestamp-comparison-exp.mdx)
#### [Batch_bool_exp.hash
](#)[String_comparison_exp
](/docs/api/flow/graphql/envio/inputs/string-comparison-exp.mdx)
#### [Batch_bool_exp.id
](#)[String_comparison_exp
](/docs/api/flow/graphql/envio/inputs/string-comparison-exp.mdx)
#### [Batch_bool_exp.position
](#)[numeric_comparison_exp
](/docs/api/flow/graphql/envio/inputs/numeric-comparison-exp.mdx)
#### [Batch_bool_exp.size
](#)[numeric_comparison_exp
](/docs/api/flow/graphql/envio/inputs/numeric-comparison-exp.mdx)
#### [Batch_bool_exp.streams
](#)[Stream_bool_exp
](/docs/api/flow/graphql/envio/inputs/stream-bool-exp.mdx)
#### [Batch_bool_exp.streams_aggregate
](#)[Stream_aggregate_bool_exp
](/docs/api/flow/graphql/envio/inputs/stream-aggregate-bool-exp.mdx)
#### [Batch_bool_exp.timestamp
](#)[numeric_comparison_exp
](/docs/api/flow/graphql/envio/inputs/numeric-comparison-exp.mdx)
---
## Batch_max_order_by
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
order by max() on columns of table "Batch"
```graphql
input Batch_max_order_by {
batcher_id: order_by
db_write_timestamp: order_by
hash: order_by
id: order_by
position: order_by
size: order_by
timestamp: order_by
}
```
### Fields
#### [Batch_max_order_by.batcher_id
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
#### [Batch_max_order_by.db_write_timestamp
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
#### [Batch_max_order_by.hash
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
#### [Batch_max_order_by.id
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
#### [Batch_max_order_by.position
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
#### [Batch_max_order_by.size
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
#### [Batch_max_order_by.timestamp
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
---
## Batch_min_order_by
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
order by min() on columns of table "Batch"
```graphql
input Batch_min_order_by {
batcher_id: order_by
db_write_timestamp: order_by
hash: order_by
id: order_by
position: order_by
size: order_by
timestamp: order_by
}
```
### Fields
#### [Batch_min_order_by.batcher_id
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
#### [Batch_min_order_by.db_write_timestamp
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
#### [Batch_min_order_by.hash
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
#### [Batch_min_order_by.id
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
#### [Batch_min_order_by.position
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
#### [Batch_min_order_by.size
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
#### [Batch_min_order_by.timestamp
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
---
## Batch_order_by
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
Ordering options when selecting data from "Batch".
```graphql
input Batch_order_by {
batcher: Batcher_order_by
batcher_id: order_by
db_write_timestamp: order_by
hash: order_by
id: order_by
position: order_by
size: order_by
streams_aggregate: Stream_aggregate_order_by
timestamp: order_by
}
```
### Fields
#### [Batch_order_by.batcher
](#)[Batcher_order_by
](/docs/api/flow/graphql/envio/inputs/batcher-order-by.mdx)
#### [Batch_order_by.batcher_id
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
#### [Batch_order_by.db_write_timestamp
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
#### [Batch_order_by.hash
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
#### [Batch_order_by.id
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
#### [Batch_order_by.position
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
#### [Batch_order_by.size
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
#### [Batch_order_by.streams_aggregate
](#)[Stream_aggregate_order_by
](/docs/api/flow/graphql/envio/inputs/stream-aggregate-order-by.mdx)
#### [Batch_order_by.timestamp
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
---
## Batch_stddev_order_by
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
order by stddev() on columns of table "Batch"
```graphql
input Batch_stddev_order_by {
position: order_by
size: order_by
timestamp: order_by
}
```
### Fields
#### [Batch_stddev_order_by.position
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
#### [Batch_stddev_order_by.size
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
#### [Batch_stddev_order_by.timestamp
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
---
## Batch_stddev_pop_order_by
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
order by stddev_pop() on columns of table "Batch"
```graphql
input Batch_stddev_pop_order_by {
position: order_by
size: order_by
timestamp: order_by
}
```
### Fields
#### [Batch_stddev_pop_order_by.position
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
#### [Batch_stddev_pop_order_by.size
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
#### [Batch_stddev_pop_order_by.timestamp
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
---
## Batch_stddev_samp_order_by
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
order by stddev_samp() on columns of table "Batch"
```graphql
input Batch_stddev_samp_order_by {
position: order_by
size: order_by
timestamp: order_by
}
```
### Fields
#### [Batch_stddev_samp_order_by.position
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
#### [Batch_stddev_samp_order_by.size
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
#### [Batch_stddev_samp_order_by.timestamp
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
---
## Batch_stream_cursor_input
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
Streaming cursor of the table "Batch"
```graphql
input Batch_stream_cursor_input {
initial_value: Batch_stream_cursor_value_input!
ordering: cursor_ordering
}
```
### Fields
#### [Batch_stream_cursor_input.initial_value
](#)[Batch_stream_cursor_value_input!
](/docs/api/flow/graphql/envio/inputs/batch-stream-cursor-value-input.mdx)
Stream column input with initial value
#### [Batch_stream_cursor_input.ordering
](#)[cursor_ordering
](/docs/api/flow/graphql/envio/enums/cursor-ordering.mdx)
cursor ordering
---
## Batch_stream_cursor_value_input
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
Initial value of the column from where the streaming should start
```graphql
input Batch_stream_cursor_value_input {
batcher_id: String
db_write_timestamp: timestamp
hash: String
id: String
position: numeric
size: numeric
timestamp: numeric
}
```
### Fields
#### [Batch_stream_cursor_value_input.batcher_id
](#)[String
](/docs/api/flow/graphql/envio/scalars/string.mdx)
#### [Batch_stream_cursor_value_input.db_write_timestamp
](#)[timestamp
](/docs/api/flow/graphql/envio/scalars/timestamp.mdx)
#### [Batch_stream_cursor_value_input.hash
](#)[String
](/docs/api/flow/graphql/envio/scalars/string.mdx)
#### [Batch_stream_cursor_value_input.id
](#)[String
](/docs/api/flow/graphql/envio/scalars/string.mdx)
#### [Batch_stream_cursor_value_input.position
](#)[numeric
](/docs/api/flow/graphql/envio/scalars/numeric.mdx)
#### [Batch_stream_cursor_value_input.size
](#)[numeric
](/docs/api/flow/graphql/envio/scalars/numeric.mdx)
#### [Batch_stream_cursor_value_input.timestamp
](#)[numeric
](/docs/api/flow/graphql/envio/scalars/numeric.mdx)
---
## Batch_sum_order_by
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
order by sum() on columns of table "Batch"
```graphql
input Batch_sum_order_by {
position: order_by
size: order_by
timestamp: order_by
}
```
### Fields
#### [Batch_sum_order_by.position
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
#### [Batch_sum_order_by.size
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
#### [Batch_sum_order_by.timestamp
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
---
## Batch_var_pop_order_by
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
order by var_pop() on columns of table "Batch"
```graphql
input Batch_var_pop_order_by {
position: order_by
size: order_by
timestamp: order_by
}
```
### Fields
#### [Batch_var_pop_order_by.position
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
#### [Batch_var_pop_order_by.size
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
#### [Batch_var_pop_order_by.timestamp
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
---
## Batch_var_samp_order_by
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
order by var_samp() on columns of table "Batch"
```graphql
input Batch_var_samp_order_by {
position: order_by
size: order_by
timestamp: order_by
}
```
### Fields
#### [Batch_var_samp_order_by.position
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
#### [Batch_var_samp_order_by.size
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
#### [Batch_var_samp_order_by.timestamp
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
---
## Batch_variance_order_by
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
order by variance() on columns of table "Batch"
```graphql
input Batch_variance_order_by {
position: order_by
size: order_by
timestamp: order_by
}
```
### Fields
#### [Batch_variance_order_by.position
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
#### [Batch_variance_order_by.size
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
#### [Batch_variance_order_by.timestamp
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
---
## Batcher_bool_exp
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
Boolean expression to filter rows from the table "Batcher". All fields are combined with a logical 'AND'.
```graphql
input Batcher_bool_exp {
_and: [Batcher_bool_exp!]
_not: Batcher_bool_exp
_or: [Batcher_bool_exp!]
batchCounter: numeric_comparison_exp
batches: Batch_bool_exp
db_write_timestamp: timestamp_comparison_exp
id: String_comparison_exp
}
```
### Fields
#### [Batcher_bool_exp.\_and
](#)[[Batcher_bool_exp!]
](/docs/api/flow/graphql/envio/inputs/batcher-bool-exp.mdx)
#### [Batcher_bool_exp.\_not
](#)[Batcher_bool_exp
](/docs/api/flow/graphql/envio/inputs/batcher-bool-exp.mdx)
#### [Batcher_bool_exp.\_or
](#)[[Batcher_bool_exp!]
](/docs/api/flow/graphql/envio/inputs/batcher-bool-exp.mdx)
#### [Batcher_bool_exp.batchCounter
](#)[numeric_comparison_exp
](/docs/api/flow/graphql/envio/inputs/numeric-comparison-exp.mdx)
#### [Batcher_bool_exp.batches
](#)[Batch_bool_exp
](/docs/api/flow/graphql/envio/inputs/batch-bool-exp.mdx)
#### [Batcher_bool_exp.db_write_timestamp
](#)[timestamp_comparison_exp
](/docs/api/flow/graphql/envio/inputs/timestamp-comparison-exp.mdx)
#### [Batcher_bool_exp.id
](#)[String_comparison_exp
](/docs/api/flow/graphql/envio/inputs/string-comparison-exp.mdx)
---
## Batcher_order_by
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
Ordering options when selecting data from "Batcher".
```graphql
input Batcher_order_by {
batchCounter: order_by
batches_aggregate: Batch_aggregate_order_by
db_write_timestamp: order_by
id: order_by
}
```
### Fields
#### [Batcher_order_by.batchCounter
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
#### [Batcher_order_by.batches_aggregate
](#)[Batch_aggregate_order_by
](/docs/api/flow/graphql/envio/inputs/batch-aggregate-order-by.mdx)
#### [Batcher_order_by.db_write_timestamp
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
#### [Batcher_order_by.id
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
---
## Batcher_stream_cursor_input
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
Streaming cursor of the table "Batcher"
```graphql
input Batcher_stream_cursor_input {
initial_value: Batcher_stream_cursor_value_input!
ordering: cursor_ordering
}
```
### Fields
#### [Batcher_stream_cursor_input.initial_value
](#)[Batcher_stream_cursor_value_input!
](/docs/api/flow/graphql/envio/inputs/batcher-stream-cursor-value-input.mdx)
Stream column input with initial value
#### [Batcher_stream_cursor_input.ordering
](#)[cursor_ordering
](/docs/api/flow/graphql/envio/enums/cursor-ordering.mdx)
cursor ordering
---
## Batcher_stream_cursor_value_input
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
Initial value of the column from where the streaming should start
```graphql
input Batcher_stream_cursor_value_input {
batchCounter: numeric
db_write_timestamp: timestamp
id: String
}
```
### Fields
#### [Batcher_stream_cursor_value_input.batchCounter
](#)[numeric
](/docs/api/flow/graphql/envio/scalars/numeric.mdx)
#### [Batcher_stream_cursor_value_input.db_write_timestamp
](#)[timestamp
](/docs/api/flow/graphql/envio/scalars/timestamp.mdx)
#### [Batcher_stream_cursor_value_input.id
](#)[String
](/docs/api/flow/graphql/envio/scalars/string.mdx)
---
## Boolean_comparison_exp (2)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
Boolean expression to compare columns of type "Boolean". All fields are combined with logical 'AND'.
```graphql
input Boolean_comparison_exp {
_eq: Boolean
_gt: Boolean
_gte: Boolean
_in: [Boolean!]
_is_null: Boolean
_lt: Boolean
_lte: Boolean
_neq: Boolean
_nin: [Boolean!]
}
```
### Fields
#### [Boolean_comparison_exp.\_eq
](#)[Boolean
](/docs/api/flow/graphql/envio/scalars/boolean.mdx)
#### [Boolean_comparison_exp.\_gt
](#)[Boolean
](/docs/api/flow/graphql/envio/scalars/boolean.mdx)
#### [Boolean_comparison_exp.\_gte
](#)[Boolean
](/docs/api/flow/graphql/envio/scalars/boolean.mdx)
#### [Boolean_comparison_exp.\_in
](#)[[Boolean!]
](/docs/api/flow/graphql/envio/scalars/boolean.mdx)
#### [Boolean_comparison_exp.\_is_null
](#)[Boolean
](/docs/api/flow/graphql/envio/scalars/boolean.mdx)
#### [Boolean_comparison_exp.\_lt
](#)[Boolean
](/docs/api/flow/graphql/envio/scalars/boolean.mdx)
#### [Boolean_comparison_exp.\_lte
](#)[Boolean
](/docs/api/flow/graphql/envio/scalars/boolean.mdx)
#### [Boolean_comparison_exp.\_neq
](#)[Boolean
](/docs/api/flow/graphql/envio/scalars/boolean.mdx)
#### [Boolean_comparison_exp.\_nin
](#)[[Boolean!]
](/docs/api/flow/graphql/envio/scalars/boolean.mdx)
---
## chain_metadata_bool_exp (2)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
Boolean expression to filter rows from the table "chain_metadata". All fields are combined with a logical 'AND'.
```graphql
input chain_metadata_bool_exp {
_and: [chain_metadata_bool_exp!]
_not: chain_metadata_bool_exp
_or: [chain_metadata_bool_exp!]
block_height: Int_comparison_exp
chain_id: Int_comparison_exp
end_block: Int_comparison_exp
first_event_block_number: Int_comparison_exp
is_hyper_sync: Boolean_comparison_exp
latest_fetched_block_number: Int_comparison_exp
latest_processed_block: Int_comparison_exp
num_batches_fetched: Int_comparison_exp
num_events_processed: Int_comparison_exp
start_block: Int_comparison_exp
timestamp_caught_up_to_head_or_endblock: timestamptz_comparison_exp
}
```
### Fields
#### [chain_metadata_bool_exp.\_and
](#)[[chain_metadata_bool_exp!]
](/docs/api/flow/graphql/envio/inputs/chain-metadata-bool-exp.mdx)
#### [chain_metadata_bool_exp.\_not
](#)[chain_metadata_bool_exp
](/docs/api/flow/graphql/envio/inputs/chain-metadata-bool-exp.mdx)
#### [chain_metadata_bool_exp.\_or
](#)[[chain_metadata_bool_exp!]
](/docs/api/flow/graphql/envio/inputs/chain-metadata-bool-exp.mdx)
#### [chain_metadata_bool_exp.block_height
](#)[Int_comparison_exp
](/docs/api/flow/graphql/envio/inputs/int-comparison-exp.mdx)
#### [chain_metadata_bool_exp.chain_id
](#)[Int_comparison_exp
](/docs/api/flow/graphql/envio/inputs/int-comparison-exp.mdx)
#### [chain_metadata_bool_exp.end_block
](#)[Int_comparison_exp
](/docs/api/flow/graphql/envio/inputs/int-comparison-exp.mdx)
#### [chain_metadata_bool_exp.first_event_block_number
](#)[Int_comparison_exp
](/docs/api/flow/graphql/envio/inputs/int-comparison-exp.mdx)
#### [chain_metadata_bool_exp.is_hyper_sync
](#)[Boolean_comparison_exp
](/docs/api/flow/graphql/envio/inputs/boolean-comparison-exp.mdx)
#### [chain_metadata_bool_exp.latest_fetched_block_number
](#)[Int_comparison_exp
](/docs/api/flow/graphql/envio/inputs/int-comparison-exp.mdx)
#### [chain_metadata_bool_exp.latest_processed_block
](#)[Int_comparison_exp
](/docs/api/flow/graphql/envio/inputs/int-comparison-exp.mdx)
#### [chain_metadata_bool_exp.num_batches_fetched
](#)[Int_comparison_exp
](/docs/api/flow/graphql/envio/inputs/int-comparison-exp.mdx)
#### [chain_metadata_bool_exp.num_events_processed
](#)[Int_comparison_exp
](/docs/api/flow/graphql/envio/inputs/int-comparison-exp.mdx)
#### [chain_metadata_bool_exp.start_block
](#)[Int_comparison_exp
](/docs/api/flow/graphql/envio/inputs/int-comparison-exp.mdx)
#### [chain_metadata_bool_exp.timestamp_caught_up_to_head_or_endblock
](#)[timestamptz_comparison_exp
](/docs/api/flow/graphql/envio/inputs/timestamptz-comparison-exp.mdx)
---
## chain_metadata_order_by (2)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
Ordering options when selecting data from "chain_metadata".
```graphql
input chain_metadata_order_by {
block_height: order_by
chain_id: order_by
end_block: order_by
first_event_block_number: order_by
is_hyper_sync: order_by
latest_fetched_block_number: order_by
latest_processed_block: order_by
num_batches_fetched: order_by
num_events_processed: order_by
start_block: order_by
timestamp_caught_up_to_head_or_endblock: order_by
}
```
### Fields
#### [chain_metadata_order_by.block_height
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
#### [chain_metadata_order_by.chain_id
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
#### [chain_metadata_order_by.end_block
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
#### [chain_metadata_order_by.first_event_block_number
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
#### [chain_metadata_order_by.is_hyper_sync
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
#### [chain_metadata_order_by.latest_fetched_block_number
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
#### [chain_metadata_order_by.latest_processed_block
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
#### [chain_metadata_order_by.num_batches_fetched
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
#### [chain_metadata_order_by.num_events_processed
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
#### [chain_metadata_order_by.start_block
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
#### [chain_metadata_order_by.timestamp_caught_up_to_head_or_endblock
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
---
## chain_metadata_stream_cursor_input (2)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
Streaming cursor of the table "chain_metadata"
```graphql
input chain_metadata_stream_cursor_input {
initial_value: chain_metadata_stream_cursor_value_input!
ordering: cursor_ordering
}
```
### Fields
#### [chain_metadata_stream_cursor_input.initial_value
](#)[chain_metadata_stream_cursor_value_input!
](/docs/api/flow/graphql/envio/inputs/chain-metadata-stream-cursor-value-input.mdx)
Stream column input with initial value
#### [chain_metadata_stream_cursor_input.ordering
](#)[cursor_ordering
](/docs/api/flow/graphql/envio/enums/cursor-ordering.mdx)
cursor ordering
---
## chain_metadata_stream_cursor_value_input (2)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
Initial value of the column from where the streaming should start
```graphql
input chain_metadata_stream_cursor_value_input {
block_height: Int
chain_id: Int
end_block: Int
first_event_block_number: Int
is_hyper_sync: Boolean
latest_fetched_block_number: Int
latest_processed_block: Int
num_batches_fetched: Int
num_events_processed: Int
start_block: Int
timestamp_caught_up_to_head_or_endblock: timestamptz
}
```
### Fields
#### [chain_metadata_stream_cursor_value_input.block_height
](#)[Int
](/docs/api/flow/graphql/envio/scalars/int.mdx)
#### [chain_metadata_stream_cursor_value_input.chain_id
](#)[Int
](/docs/api/flow/graphql/envio/scalars/int.mdx)
#### [chain_metadata_stream_cursor_value_input.end_block
](#)[Int
](/docs/api/flow/graphql/envio/scalars/int.mdx)
#### [chain_metadata_stream_cursor_value_input.first_event_block_number
](#)[Int
](/docs/api/flow/graphql/envio/scalars/int.mdx)
#### [chain_metadata_stream_cursor_value_input.is_hyper_sync
](#)[Boolean
](/docs/api/flow/graphql/envio/scalars/boolean.mdx)
#### [chain_metadata_stream_cursor_value_input.latest_fetched_block_number
](#)[Int
](/docs/api/flow/graphql/envio/scalars/int.mdx)
#### [chain_metadata_stream_cursor_value_input.latest_processed_block
](#)[Int
](/docs/api/flow/graphql/envio/scalars/int.mdx)
#### [chain_metadata_stream_cursor_value_input.num_batches_fetched
](#)[Int
](/docs/api/flow/graphql/envio/scalars/int.mdx)
#### [chain_metadata_stream_cursor_value_input.num_events_processed
](#)[Int
](/docs/api/flow/graphql/envio/scalars/int.mdx)
#### [chain_metadata_stream_cursor_value_input.start_block
](#)[Int
](/docs/api/flow/graphql/envio/scalars/int.mdx)
#### [chain_metadata_stream_cursor_value_input.timestamp_caught_up_to_head_or_endblock
](#)[timestamptz
](/docs/api/flow/graphql/envio/scalars/timestamptz.mdx)
---
## Contract_bool_exp
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
Boolean expression to filter rows from the table "Contract". All fields are combined with a logical 'AND'.
```graphql
input Contract_bool_exp {
_and: [Contract_bool_exp!]
_not: Contract_bool_exp
_or: [Contract_bool_exp!]
actions: Action_bool_exp
address: String_comparison_exp
admin: String_comparison_exp
alias: String_comparison_exp
db_write_timestamp: timestamp_comparison_exp
id: String_comparison_exp
streams: Stream_bool_exp
version: String_comparison_exp
}
```
### Fields
#### [Contract_bool_exp.\_and
](#)[[Contract_bool_exp!]
](/docs/api/flow/graphql/envio/inputs/contract-bool-exp.mdx)
#### [Contract_bool_exp.\_not
](#)[Contract_bool_exp
](/docs/api/flow/graphql/envio/inputs/contract-bool-exp.mdx)
#### [Contract_bool_exp.\_or
](#)[[Contract_bool_exp!]
](/docs/api/flow/graphql/envio/inputs/contract-bool-exp.mdx)
#### [Contract_bool_exp.actions
](#)[Action_bool_exp
](/docs/api/flow/graphql/envio/inputs/action-bool-exp.mdx)
#### [Contract_bool_exp.address
](#)[String_comparison_exp
](/docs/api/flow/graphql/envio/inputs/string-comparison-exp.mdx)
#### [Contract_bool_exp.admin
](#)[String_comparison_exp
](/docs/api/flow/graphql/envio/inputs/string-comparison-exp.mdx)
#### [Contract_bool_exp.alias
](#)[String_comparison_exp
](/docs/api/flow/graphql/envio/inputs/string-comparison-exp.mdx)
#### [Contract_bool_exp.db_write_timestamp
](#)[timestamp_comparison_exp
](/docs/api/flow/graphql/envio/inputs/timestamp-comparison-exp.mdx)
#### [Contract_bool_exp.id
](#)[String_comparison_exp
](/docs/api/flow/graphql/envio/inputs/string-comparison-exp.mdx)
#### [Contract_bool_exp.streams
](#)[Stream_bool_exp
](/docs/api/flow/graphql/envio/inputs/stream-bool-exp.mdx)
#### [Contract_bool_exp.version
](#)[String_comparison_exp
](/docs/api/flow/graphql/envio/inputs/string-comparison-exp.mdx)
---
## Contract_order_by
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
Ordering options when selecting data from "Contract".
```graphql
input Contract_order_by {
actions_aggregate: Action_aggregate_order_by
address: order_by
admin: order_by
alias: order_by
db_write_timestamp: order_by
id: order_by
streams_aggregate: Stream_aggregate_order_by
version: order_by
}
```
### Fields
#### [Contract_order_by.actions_aggregate
](#)[Action_aggregate_order_by
](/docs/api/flow/graphql/envio/inputs/action-aggregate-order-by.mdx)
#### [Contract_order_by.address
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
#### [Contract_order_by.admin
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
#### [Contract_order_by.alias
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
#### [Contract_order_by.db_write_timestamp
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
#### [Contract_order_by.id
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
#### [Contract_order_by.streams_aggregate
](#)[Stream_aggregate_order_by
](/docs/api/flow/graphql/envio/inputs/stream-aggregate-order-by.mdx)
#### [Contract_order_by.version
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
---
## Contract_stream_cursor_input
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
Streaming cursor of the table "Contract"
```graphql
input Contract_stream_cursor_input {
initial_value: Contract_stream_cursor_value_input!
ordering: cursor_ordering
}
```
### Fields
#### [Contract_stream_cursor_input.initial_value
](#)[Contract_stream_cursor_value_input!
](/docs/api/flow/graphql/envio/inputs/contract-stream-cursor-value-input.mdx)
Stream column input with initial value
#### [Contract_stream_cursor_input.ordering
](#)[cursor_ordering
](/docs/api/flow/graphql/envio/enums/cursor-ordering.mdx)
cursor ordering
---
## Contract_stream_cursor_value_input
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
Initial value of the column from where the streaming should start
```graphql
input Contract_stream_cursor_value_input {
address: String
admin: String
alias: String
db_write_timestamp: timestamp
id: String
version: String
}
```
### Fields
#### [Contract_stream_cursor_value_input.address
](#)[String
](/docs/api/flow/graphql/envio/scalars/string.mdx)
#### [Contract_stream_cursor_value_input.admin
](#)[String
](/docs/api/flow/graphql/envio/scalars/string.mdx)
#### [Contract_stream_cursor_value_input.alias
](#)[String
](/docs/api/flow/graphql/envio/scalars/string.mdx)
#### [Contract_stream_cursor_value_input.db_write_timestamp
](#)[timestamp
](/docs/api/flow/graphql/envio/scalars/timestamp.mdx)
#### [Contract_stream_cursor_value_input.id
](#)[String
](/docs/api/flow/graphql/envio/scalars/string.mdx)
#### [Contract_stream_cursor_value_input.version
](#)[String
](/docs/api/flow/graphql/envio/scalars/string.mdx)
---
## contract_type_comparison_exp (2)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
Boolean expression to compare columns of type "contract_type". All fields are combined with logical 'AND'.
```graphql
input contract_type_comparison_exp {
_eq: contract_type
_gt: contract_type
_gte: contract_type
_in: [contract_type!]
_is_null: Boolean
_lt: contract_type
_lte: contract_type
_neq: contract_type
_nin: [contract_type!]
}
```
### Fields
#### [contract_type_comparison_exp.\_eq
](#)[contract_type
](/docs/api/flow/graphql/envio/scalars/contract-type.mdx)
#### [contract_type_comparison_exp.\_gt
](#)[contract_type
](/docs/api/flow/graphql/envio/scalars/contract-type.mdx)
#### [contract_type_comparison_exp.\_gte
](#)[contract_type
](/docs/api/flow/graphql/envio/scalars/contract-type.mdx)
#### [contract_type_comparison_exp.\_in
](#)[[contract_type!]
](/docs/api/flow/graphql/envio/scalars/contract-type.mdx)
#### [contract_type_comparison_exp.\_is_null
](#)[Boolean
](/docs/api/flow/graphql/envio/scalars/boolean.mdx)
#### [contract_type_comparison_exp.\_lt
](#)[contract_type
](/docs/api/flow/graphql/envio/scalars/contract-type.mdx)
#### [contract_type_comparison_exp.\_lte
](#)[contract_type
](/docs/api/flow/graphql/envio/scalars/contract-type.mdx)
#### [contract_type_comparison_exp.\_neq
](#)[contract_type
](/docs/api/flow/graphql/envio/scalars/contract-type.mdx)
#### [contract_type_comparison_exp.\_nin
](#)[[contract_type!]
](/docs/api/flow/graphql/envio/scalars/contract-type.mdx)
---
## dynamic_contract_registry_bool_exp (2)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
Boolean expression to filter rows from the table "dynamic_contract_registry". All fields are combined with a logical 'AND'.
```graphql
input dynamic_contract_registry_bool_exp {
_and: [dynamic_contract_registry_bool_exp!]
_not: dynamic_contract_registry_bool_exp
_or: [dynamic_contract_registry_bool_exp!]
chain_id: Int_comparison_exp
contract_address: String_comparison_exp
contract_type: contract_type_comparison_exp
id: String_comparison_exp
registering_event_block_number: Int_comparison_exp
registering_event_block_timestamp: Int_comparison_exp
registering_event_contract_name: String_comparison_exp
registering_event_log_index: Int_comparison_exp
registering_event_name: String_comparison_exp
registering_event_src_address: String_comparison_exp
}
```
### Fields
#### [dynamic_contract_registry_bool_exp.\_and
](#)[[dynamic_contract_registry_bool_exp!]
](/docs/api/flow/graphql/envio/inputs/dynamic-contract-registry-bool-exp.mdx)
#### [dynamic_contract_registry_bool_exp.\_not
](#)[dynamic_contract_registry_bool_exp
](/docs/api/flow/graphql/envio/inputs/dynamic-contract-registry-bool-exp.mdx)
#### [dynamic_contract_registry_bool_exp.\_or
](#)[[dynamic_contract_registry_bool_exp!]
](/docs/api/flow/graphql/envio/inputs/dynamic-contract-registry-bool-exp.mdx)
#### [dynamic_contract_registry_bool_exp.chain_id
](#)[Int_comparison_exp
](/docs/api/flow/graphql/envio/inputs/int-comparison-exp.mdx)
#### [dynamic_contract_registry_bool_exp.contract_address
](#)[String_comparison_exp
](/docs/api/flow/graphql/envio/inputs/string-comparison-exp.mdx)
#### [dynamic_contract_registry_bool_exp.contract_type
](#)[contract_type_comparison_exp
](/docs/api/flow/graphql/envio/inputs/contract-type-comparison-exp.mdx)
#### [dynamic_contract_registry_bool_exp.id
](#)[String_comparison_exp
](/docs/api/flow/graphql/envio/inputs/string-comparison-exp.mdx)
#### [dynamic_contract_registry_bool_exp.registering_event_block_number
](#)[Int_comparison_exp
](/docs/api/flow/graphql/envio/inputs/int-comparison-exp.mdx)
#### [dynamic_contract_registry_bool_exp.registering_event_block_timestamp
](#)[Int_comparison_exp
](/docs/api/flow/graphql/envio/inputs/int-comparison-exp.mdx)
#### [dynamic_contract_registry_bool_exp.registering_event_contract_name
](#)[String_comparison_exp
](/docs/api/flow/graphql/envio/inputs/string-comparison-exp.mdx)
#### [dynamic_contract_registry_bool_exp.registering_event_log_index
](#)[Int_comparison_exp
](/docs/api/flow/graphql/envio/inputs/int-comparison-exp.mdx)
#### [dynamic_contract_registry_bool_exp.registering_event_name
](#)[String_comparison_exp
](/docs/api/flow/graphql/envio/inputs/string-comparison-exp.mdx)
#### [dynamic_contract_registry_bool_exp.registering_event_src_address
](#)[String_comparison_exp
](/docs/api/flow/graphql/envio/inputs/string-comparison-exp.mdx)
---
## dynamic_contract_registry_order_by (2)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
Ordering options when selecting data from "dynamic_contract_registry".
```graphql
input dynamic_contract_registry_order_by {
chain_id: order_by
contract_address: order_by
contract_type: order_by
id: order_by
registering_event_block_number: order_by
registering_event_block_timestamp: order_by
registering_event_contract_name: order_by
registering_event_log_index: order_by
registering_event_name: order_by
registering_event_src_address: order_by
}
```
### Fields
#### [dynamic_contract_registry_order_by.chain_id
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
#### [dynamic_contract_registry_order_by.contract_address
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
#### [dynamic_contract_registry_order_by.contract_type
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
#### [dynamic_contract_registry_order_by.id
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
#### [dynamic_contract_registry_order_by.registering_event_block_number
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
#### [dynamic_contract_registry_order_by.registering_event_block_timestamp
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
#### [dynamic_contract_registry_order_by.registering_event_contract_name
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
#### [dynamic_contract_registry_order_by.registering_event_log_index
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
#### [dynamic_contract_registry_order_by.registering_event_name
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
#### [dynamic_contract_registry_order_by.registering_event_src_address
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
---
## dynamic_contract_registry_stream_cursor_input (2)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
Streaming cursor of the table "dynamic_contract_registry"
```graphql
input dynamic_contract_registry_stream_cursor_input {
initial_value: dynamic_contract_registry_stream_cursor_value_input!
ordering: cursor_ordering
}
```
### Fields
#### [dynamic_contract_registry_stream_cursor_input.initial_value
](#)[dynamic_contract_registry_stream_cursor_value_input!
](/docs/api/flow/graphql/envio/inputs/dynamic-contract-registry-stream-cursor-value-input.mdx)
Stream column input with initial value
#### [dynamic_contract_registry_stream_cursor_input.ordering
](#)[cursor_ordering
](/docs/api/flow/graphql/envio/enums/cursor-ordering.mdx)
cursor ordering
---
## dynamic_contract_registry_stream_cursor_value_input (2)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
Initial value of the column from where the streaming should start
```graphql
input dynamic_contract_registry_stream_cursor_value_input {
chain_id: Int
contract_address: String
contract_type: contract_type
id: String
registering_event_block_number: Int
registering_event_block_timestamp: Int
registering_event_contract_name: String
registering_event_log_index: Int
registering_event_name: String
registering_event_src_address: String
}
```
### Fields
#### [dynamic_contract_registry_stream_cursor_value_input.chain_id
](#)[Int
](/docs/api/flow/graphql/envio/scalars/int.mdx)
#### [dynamic_contract_registry_stream_cursor_value_input.contract_address
](#)[String
](/docs/api/flow/graphql/envio/scalars/string.mdx)
#### [dynamic_contract_registry_stream_cursor_value_input.contract_type
](#)[contract_type
](/docs/api/flow/graphql/envio/scalars/contract-type.mdx)
#### [dynamic_contract_registry_stream_cursor_value_input.id
](#)[String
](/docs/api/flow/graphql/envio/scalars/string.mdx)
#### [dynamic_contract_registry_stream_cursor_value_input.registering_event_block_number
](#)[Int
](/docs/api/flow/graphql/envio/scalars/int.mdx)
#### [dynamic_contract_registry_stream_cursor_value_input.registering_event_block_timestamp
](#)[Int
](/docs/api/flow/graphql/envio/scalars/int.mdx)
#### [dynamic_contract_registry_stream_cursor_value_input.registering_event_contract_name
](#)[String
](/docs/api/flow/graphql/envio/scalars/string.mdx)
#### [dynamic_contract_registry_stream_cursor_value_input.registering_event_log_index
](#)[Int
](/docs/api/flow/graphql/envio/scalars/int.mdx)
#### [dynamic_contract_registry_stream_cursor_value_input.registering_event_name
](#)[String
](/docs/api/flow/graphql/envio/scalars/string.mdx)
#### [dynamic_contract_registry_stream_cursor_value_input.registering_event_src_address
](#)[String
](/docs/api/flow/graphql/envio/scalars/string.mdx)
---
## end_of_block_range_scanned_data_bool_exp (2)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
Boolean expression to filter rows from the table "end_of_block_range_scanned_data". All fields are combined with a logical 'AND'.
```graphql
input end_of_block_range_scanned_data_bool_exp {
_and: [end_of_block_range_scanned_data_bool_exp!]
_not: end_of_block_range_scanned_data_bool_exp
_or: [end_of_block_range_scanned_data_bool_exp!]
block_hash: String_comparison_exp
block_number: Int_comparison_exp
chain_id: Int_comparison_exp
}
```
### Fields
#### [end_of_block_range_scanned_data_bool_exp.\_and
](#)[[end_of_block_range_scanned_data_bool_exp!]
](/docs/api/flow/graphql/envio/inputs/end-of-block-range-scanned-data-bool-exp.mdx)
#### [end_of_block_range_scanned_data_bool_exp.\_not
](#)[end_of_block_range_scanned_data_bool_exp
](/docs/api/flow/graphql/envio/inputs/end-of-block-range-scanned-data-bool-exp.mdx)
#### [end_of_block_range_scanned_data_bool_exp.\_or
](#)[[end_of_block_range_scanned_data_bool_exp!]
](/docs/api/flow/graphql/envio/inputs/end-of-block-range-scanned-data-bool-exp.mdx)
#### [end_of_block_range_scanned_data_bool_exp.block_hash
](#)[String_comparison_exp
](/docs/api/flow/graphql/envio/inputs/string-comparison-exp.mdx)
#### [end_of_block_range_scanned_data_bool_exp.block_number
](#)[Int_comparison_exp
](/docs/api/flow/graphql/envio/inputs/int-comparison-exp.mdx)
#### [end_of_block_range_scanned_data_bool_exp.chain_id
](#)[Int_comparison_exp
](/docs/api/flow/graphql/envio/inputs/int-comparison-exp.mdx)
---
## end_of_block_range_scanned_data_order_by (2)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
Ordering options when selecting data from "end_of_block_range_scanned_data".
```graphql
input end_of_block_range_scanned_data_order_by {
block_hash: order_by
block_number: order_by
chain_id: order_by
}
```
### Fields
#### [end_of_block_range_scanned_data_order_by.block_hash
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
#### [end_of_block_range_scanned_data_order_by.block_number
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
#### [end_of_block_range_scanned_data_order_by.chain_id
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
---
## end_of_block_range_scanned_data_stream_cursor_input (2)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
Streaming cursor of the table "end_of_block_range_scanned_data"
```graphql
input end_of_block_range_scanned_data_stream_cursor_input {
initial_value: end_of_block_range_scanned_data_stream_cursor_value_input!
ordering: cursor_ordering
}
```
### Fields
#### [end_of_block_range_scanned_data_stream_cursor_input.initial_value
](#)[end_of_block_range_scanned_data_stream_cursor_value_input!
](/docs/api/flow/graphql/envio/inputs/end-of-block-range-scanned-data-stream-cursor-value-input.mdx)
Stream column input with initial value
#### [end_of_block_range_scanned_data_stream_cursor_input.ordering
](#)[cursor_ordering
](/docs/api/flow/graphql/envio/enums/cursor-ordering.mdx)
cursor ordering
---
## end_of_block_range_scanned_data_stream_cursor_value_input (2)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
Initial value of the column from where the streaming should start
```graphql
input end_of_block_range_scanned_data_stream_cursor_value_input {
block_hash: String
block_number: Int
chain_id: Int
}
```
### Fields
#### [end_of_block_range_scanned_data_stream_cursor_value_input.block_hash
](#)[String
](/docs/api/flow/graphql/envio/scalars/string.mdx)
#### [end_of_block_range_scanned_data_stream_cursor_value_input.block_number
](#)[Int
](/docs/api/flow/graphql/envio/scalars/int.mdx)
#### [end_of_block_range_scanned_data_stream_cursor_value_input.chain_id
](#)[Int
](/docs/api/flow/graphql/envio/scalars/int.mdx)
---
## event_sync_state_bool_exp (2)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
Boolean expression to filter rows from the table "event_sync_state". All fields are combined with a logical 'AND'.
```graphql
input event_sync_state_bool_exp {
_and: [event_sync_state_bool_exp!]
_not: event_sync_state_bool_exp
_or: [event_sync_state_bool_exp!]
block_number: Int_comparison_exp
block_timestamp: Int_comparison_exp
chain_id: Int_comparison_exp
is_pre_registering_dynamic_contracts: Boolean_comparison_exp
log_index: Int_comparison_exp
}
```
### Fields
#### [event_sync_state_bool_exp.\_and
](#)[[event_sync_state_bool_exp!]
](/docs/api/flow/graphql/envio/inputs/event-sync-state-bool-exp.mdx)
#### [event_sync_state_bool_exp.\_not
](#)[event_sync_state_bool_exp
](/docs/api/flow/graphql/envio/inputs/event-sync-state-bool-exp.mdx)
#### [event_sync_state_bool_exp.\_or
](#)[[event_sync_state_bool_exp!]
](/docs/api/flow/graphql/envio/inputs/event-sync-state-bool-exp.mdx)
#### [event_sync_state_bool_exp.block_number
](#)[Int_comparison_exp
](/docs/api/flow/graphql/envio/inputs/int-comparison-exp.mdx)
#### [event_sync_state_bool_exp.block_timestamp
](#)[Int_comparison_exp
](/docs/api/flow/graphql/envio/inputs/int-comparison-exp.mdx)
#### [event_sync_state_bool_exp.chain_id
](#)[Int_comparison_exp
](/docs/api/flow/graphql/envio/inputs/int-comparison-exp.mdx)
#### [event_sync_state_bool_exp.is_pre_registering_dynamic_contracts
](#)[Boolean_comparison_exp
](/docs/api/flow/graphql/envio/inputs/boolean-comparison-exp.mdx)
#### [event_sync_state_bool_exp.log_index
](#)[Int_comparison_exp
](/docs/api/flow/graphql/envio/inputs/int-comparison-exp.mdx)
---
## event_sync_state_order_by (2)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
Ordering options when selecting data from "event_sync_state".
```graphql
input event_sync_state_order_by {
block_number: order_by
block_timestamp: order_by
chain_id: order_by
is_pre_registering_dynamic_contracts: order_by
log_index: order_by
}
```
### Fields
#### [event_sync_state_order_by.block_number
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
#### [event_sync_state_order_by.block_timestamp
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
#### [event_sync_state_order_by.chain_id
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
#### [event_sync_state_order_by.is_pre_registering_dynamic_contracts
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
#### [event_sync_state_order_by.log_index
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
---
## event_sync_state_stream_cursor_input (2)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
Streaming cursor of the table "event_sync_state"
```graphql
input event_sync_state_stream_cursor_input {
initial_value: event_sync_state_stream_cursor_value_input!
ordering: cursor_ordering
}
```
### Fields
#### [event_sync_state_stream_cursor_input.initial_value
](#)[event_sync_state_stream_cursor_value_input!
](/docs/api/flow/graphql/envio/inputs/event-sync-state-stream-cursor-value-input.mdx)
Stream column input with initial value
#### [event_sync_state_stream_cursor_input.ordering
](#)[cursor_ordering
](/docs/api/flow/graphql/envio/enums/cursor-ordering.mdx)
cursor ordering
---
## event_sync_state_stream_cursor_value_input (2)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
Initial value of the column from where the streaming should start
```graphql
input event_sync_state_stream_cursor_value_input {
block_number: Int
block_timestamp: Int
chain_id: Int
is_pre_registering_dynamic_contracts: Boolean
log_index: Int
}
```
### Fields
#### [event_sync_state_stream_cursor_value_input.block_number
](#)[Int
](/docs/api/flow/graphql/envio/scalars/int.mdx)
#### [event_sync_state_stream_cursor_value_input.block_timestamp
](#)[Int
](/docs/api/flow/graphql/envio/scalars/int.mdx)
#### [event_sync_state_stream_cursor_value_input.chain_id
](#)[Int
](/docs/api/flow/graphql/envio/scalars/int.mdx)
#### [event_sync_state_stream_cursor_value_input.is_pre_registering_dynamic_contracts
](#)[Boolean
](/docs/api/flow/graphql/envio/scalars/boolean.mdx)
#### [event_sync_state_stream_cursor_value_input.log_index
](#)[Int
](/docs/api/flow/graphql/envio/scalars/int.mdx)
---
## float8_comparison_exp (2)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
Boolean expression to compare columns of type "float8". All fields are combined with logical 'AND'.
```graphql
input float8_comparison_exp {
_eq: float8
_gt: float8
_gte: float8
_in: [float8!]
_is_null: Boolean
_lt: float8
_lte: float8
_neq: float8
_nin: [float8!]
}
```
### Fields
#### [float8_comparison_exp.\_eq
](#)[float8
](/docs/api/flow/graphql/envio/scalars/float-8.mdx)
#### [float8_comparison_exp.\_gt
](#)[float8
](/docs/api/flow/graphql/envio/scalars/float-8.mdx)
#### [float8_comparison_exp.\_gte
](#)[float8
](/docs/api/flow/graphql/envio/scalars/float-8.mdx)
#### [float8_comparison_exp.\_in
](#)[[float8!]
](/docs/api/flow/graphql/envio/scalars/float-8.mdx)
#### [float8_comparison_exp.\_is_null
](#)[Boolean
](/docs/api/flow/graphql/envio/scalars/boolean.mdx)
#### [float8_comparison_exp.\_lt
](#)[float8
](/docs/api/flow/graphql/envio/scalars/float-8.mdx)
#### [float8_comparison_exp.\_lte
](#)[float8
](/docs/api/flow/graphql/envio/scalars/float-8.mdx)
#### [float8_comparison_exp.\_neq
](#)[float8
](/docs/api/flow/graphql/envio/scalars/float-8.mdx)
#### [float8_comparison_exp.\_nin
](#)[[float8!]
](/docs/api/flow/graphql/envio/scalars/float-8.mdx)
---
## Int_comparison_exp (2)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
Boolean expression to compare columns of type "Int". All fields are combined with logical 'AND'.
```graphql
input Int_comparison_exp {
_eq: Int
_gt: Int
_gte: Int
_in: [Int!]
_is_null: Boolean
_lt: Int
_lte: Int
_neq: Int
_nin: [Int!]
}
```
### Fields
#### [Int_comparison_exp.\_eq
](#)[Int
](/docs/api/flow/graphql/envio/scalars/int.mdx)
#### [Int_comparison_exp.\_gt
](#)[Int
](/docs/api/flow/graphql/envio/scalars/int.mdx)
#### [Int_comparison_exp.\_gte
](#)[Int
](/docs/api/flow/graphql/envio/scalars/int.mdx)
#### [Int_comparison_exp.\_in
](#)[[Int!]
](/docs/api/flow/graphql/envio/scalars/int.mdx)
#### [Int_comparison_exp.\_is_null
](#)[Boolean
](/docs/api/flow/graphql/envio/scalars/boolean.mdx)
#### [Int_comparison_exp.\_lt
](#)[Int
](/docs/api/flow/graphql/envio/scalars/int.mdx)
#### [Int_comparison_exp.\_lte
](#)[Int
](/docs/api/flow/graphql/envio/scalars/int.mdx)
#### [Int_comparison_exp.\_neq
](#)[Int
](/docs/api/flow/graphql/envio/scalars/int.mdx)
#### [Int_comparison_exp.\_nin
](#)[[Int!]
](/docs/api/flow/graphql/envio/scalars/int.mdx)
---
## jsonb_cast_exp (2)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
No description
```graphql
input jsonb_cast_exp {
String: String_comparison_exp
}
```
### Fields
#### [jsonb_cast_exp.String
](#)[String_comparison_exp
](/docs/api/flow/graphql/envio/inputs/string-comparison-exp.mdx)
---
## jsonb_comparison_exp (2)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
Boolean expression to compare columns of type "jsonb". All fields are combined with logical 'AND'.
```graphql
input jsonb_comparison_exp {
_cast: jsonb_cast_exp
_contained_in: jsonb
_contains: jsonb
_eq: jsonb
_gt: jsonb
_gte: jsonb
_has_key: String
_has_keys_all: [String!]
_has_keys_any: [String!]
_in: [jsonb!]
_is_null: Boolean
_lt: jsonb
_lte: jsonb
_neq: jsonb
_nin: [jsonb!]
}
```
### Fields
#### [jsonb_comparison_exp.\_cast
](#)[jsonb_cast_exp
](/docs/api/flow/graphql/envio/inputs/jsonb-cast-exp.mdx)
#### [jsonb_comparison_exp.\_contained_in
](#)[jsonb
](/docs/api/flow/graphql/envio/scalars/jsonb.mdx)
is the column contained in the given json value
#### [jsonb_comparison_exp.\_contains
](#)[jsonb
](/docs/api/flow/graphql/envio/scalars/jsonb.mdx)
does the column contain the given json value at the top level
#### [jsonb_comparison_exp.\_eq
](#)[jsonb
](/docs/api/flow/graphql/envio/scalars/jsonb.mdx)
#### [jsonb_comparison_exp.\_gt
](#)[jsonb
](/docs/api/flow/graphql/envio/scalars/jsonb.mdx)
#### [jsonb_comparison_exp.\_gte
](#)[jsonb
](/docs/api/flow/graphql/envio/scalars/jsonb.mdx)
#### [jsonb_comparison_exp.\_has_key
](#)[String
](/docs/api/flow/graphql/envio/scalars/string.mdx)
does the string exist as a top-level key in the column
#### [jsonb_comparison_exp.\_has_keys_all
](#)[[String!]
](/docs/api/flow/graphql/envio/scalars/string.mdx)
do all of these strings exist as top-level keys in the column
#### [jsonb_comparison_exp.\_has_keys_any
](#)[[String!]
](/docs/api/flow/graphql/envio/scalars/string.mdx)
do any of these strings exist as top-level keys in the column
#### [jsonb_comparison_exp.\_in
](#)[[jsonb!]
](/docs/api/flow/graphql/envio/scalars/jsonb.mdx)
#### [jsonb_comparison_exp.\_is_null
](#)[Boolean
](/docs/api/flow/graphql/envio/scalars/boolean.mdx)
#### [jsonb_comparison_exp.\_lt
](#)[jsonb
](/docs/api/flow/graphql/envio/scalars/jsonb.mdx)
#### [jsonb_comparison_exp.\_lte
](#)[jsonb
](/docs/api/flow/graphql/envio/scalars/jsonb.mdx)
#### [jsonb_comparison_exp.\_neq
](#)[jsonb
](/docs/api/flow/graphql/envio/scalars/jsonb.mdx)
#### [jsonb_comparison_exp.\_nin
](#)[[jsonb!]
](/docs/api/flow/graphql/envio/scalars/jsonb.mdx)
---
## numeric_comparison_exp (2)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
Boolean expression to compare columns of type "numeric". All fields are combined with logical 'AND'.
```graphql
input numeric_comparison_exp {
_eq: numeric
_gt: numeric
_gte: numeric
_in: [numeric!]
_is_null: Boolean
_lt: numeric
_lte: numeric
_neq: numeric
_nin: [numeric!]
}
```
### Fields
#### [numeric_comparison_exp.\_eq
](#)[numeric
](/docs/api/flow/graphql/envio/scalars/numeric.mdx)
#### [numeric_comparison_exp.\_gt
](#)[numeric
](/docs/api/flow/graphql/envio/scalars/numeric.mdx)
#### [numeric_comparison_exp.\_gte
](#)[numeric
](/docs/api/flow/graphql/envio/scalars/numeric.mdx)
#### [numeric_comparison_exp.\_in
](#)[[numeric!]
](/docs/api/flow/graphql/envio/scalars/numeric.mdx)
#### [numeric_comparison_exp.\_is_null
](#)[Boolean
](/docs/api/flow/graphql/envio/scalars/boolean.mdx)
#### [numeric_comparison_exp.\_lt
](#)[numeric
](/docs/api/flow/graphql/envio/scalars/numeric.mdx)
#### [numeric_comparison_exp.\_lte
](#)[numeric
](/docs/api/flow/graphql/envio/scalars/numeric.mdx)
#### [numeric_comparison_exp.\_neq
](#)[numeric
](/docs/api/flow/graphql/envio/scalars/numeric.mdx)
#### [numeric_comparison_exp.\_nin
](#)[[numeric!]
](/docs/api/flow/graphql/envio/scalars/numeric.mdx)
---
## persisted_state_bool_exp (2)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
Boolean expression to filter rows from the table "persisted_state". All fields are combined with a logical 'AND'.
```graphql
input persisted_state_bool_exp {
_and: [persisted_state_bool_exp!]
_not: persisted_state_bool_exp
_or: [persisted_state_bool_exp!]
abi_files_hash: String_comparison_exp
config_hash: String_comparison_exp
envio_version: String_comparison_exp
handler_files_hash: String_comparison_exp
id: Int_comparison_exp
schema_hash: String_comparison_exp
}
```
### Fields
#### [persisted_state_bool_exp.\_and
](#)[[persisted_state_bool_exp!]
](/docs/api/flow/graphql/envio/inputs/persisted-state-bool-exp.mdx)
#### [persisted_state_bool_exp.\_not
](#)[persisted_state_bool_exp
](/docs/api/flow/graphql/envio/inputs/persisted-state-bool-exp.mdx)
#### [persisted_state_bool_exp.\_or
](#)[[persisted_state_bool_exp!]
](/docs/api/flow/graphql/envio/inputs/persisted-state-bool-exp.mdx)
#### [persisted_state_bool_exp.abi_files_hash
](#)[String_comparison_exp
](/docs/api/flow/graphql/envio/inputs/string-comparison-exp.mdx)
#### [persisted_state_bool_exp.config_hash
](#)[String_comparison_exp
](/docs/api/flow/graphql/envio/inputs/string-comparison-exp.mdx)
#### [persisted_state_bool_exp.envio_version
](#)[String_comparison_exp
](/docs/api/flow/graphql/envio/inputs/string-comparison-exp.mdx)
#### [persisted_state_bool_exp.handler_files_hash
](#)[String_comparison_exp
](/docs/api/flow/graphql/envio/inputs/string-comparison-exp.mdx)
#### [persisted_state_bool_exp.id
](#)[Int_comparison_exp
](/docs/api/flow/graphql/envio/inputs/int-comparison-exp.mdx)
#### [persisted_state_bool_exp.schema_hash
](#)[String_comparison_exp
](/docs/api/flow/graphql/envio/inputs/string-comparison-exp.mdx)
---
## persisted_state_order_by (2)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
Ordering options when selecting data from "persisted_state".
```graphql
input persisted_state_order_by {
abi_files_hash: order_by
config_hash: order_by
envio_version: order_by
handler_files_hash: order_by
id: order_by
schema_hash: order_by
}
```
### Fields
#### [persisted_state_order_by.abi_files_hash
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
#### [persisted_state_order_by.config_hash
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
#### [persisted_state_order_by.envio_version
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
#### [persisted_state_order_by.handler_files_hash
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
#### [persisted_state_order_by.id
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
#### [persisted_state_order_by.schema_hash
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
---
## persisted_state_stream_cursor_input (2)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
Streaming cursor of the table "persisted_state"
```graphql
input persisted_state_stream_cursor_input {
initial_value: persisted_state_stream_cursor_value_input!
ordering: cursor_ordering
}
```
### Fields
#### [persisted_state_stream_cursor_input.initial_value
](#)[persisted_state_stream_cursor_value_input!
](/docs/api/flow/graphql/envio/inputs/persisted-state-stream-cursor-value-input.mdx)
Stream column input with initial value
#### [persisted_state_stream_cursor_input.ordering
](#)[cursor_ordering
](/docs/api/flow/graphql/envio/enums/cursor-ordering.mdx)
cursor ordering
---
## persisted_state_stream_cursor_value_input (2)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
Initial value of the column from where the streaming should start
```graphql
input persisted_state_stream_cursor_value_input {
abi_files_hash: String
config_hash: String
envio_version: String
handler_files_hash: String
id: Int
schema_hash: String
}
```
### Fields
#### [persisted_state_stream_cursor_value_input.abi_files_hash
](#)[String
](/docs/api/flow/graphql/envio/scalars/string.mdx)
#### [persisted_state_stream_cursor_value_input.config_hash
](#)[String
](/docs/api/flow/graphql/envio/scalars/string.mdx)
#### [persisted_state_stream_cursor_value_input.envio_version
](#)[String
](/docs/api/flow/graphql/envio/scalars/string.mdx)
#### [persisted_state_stream_cursor_value_input.handler_files_hash
](#)[String
](/docs/api/flow/graphql/envio/scalars/string.mdx)
#### [persisted_state_stream_cursor_value_input.id
](#)[Int
](/docs/api/flow/graphql/envio/scalars/int.mdx)
#### [persisted_state_stream_cursor_value_input.schema_hash
](#)[String
](/docs/api/flow/graphql/envio/scalars/string.mdx)
---
## raw_events_bool_exp (2)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
Boolean expression to filter rows from the table "raw_events". All fields are combined with a logical 'AND'.
```graphql
input raw_events_bool_exp {
_and: [raw_events_bool_exp!]
_not: raw_events_bool_exp
_or: [raw_events_bool_exp!]
block_fields: jsonb_comparison_exp
block_hash: String_comparison_exp
block_number: Int_comparison_exp
block_timestamp: Int_comparison_exp
chain_id: Int_comparison_exp
contract_name: String_comparison_exp
db_write_timestamp: timestamp_comparison_exp
event_id: numeric_comparison_exp
event_name: String_comparison_exp
log_index: Int_comparison_exp
params: jsonb_comparison_exp
serial: Int_comparison_exp
src_address: String_comparison_exp
transaction_fields: jsonb_comparison_exp
}
```
### Fields
#### [raw_events_bool_exp.\_and
](#)[[raw_events_bool_exp!]
](/docs/api/flow/graphql/envio/inputs/raw-events-bool-exp.mdx)
#### [raw_events_bool_exp.\_not
](#)[raw_events_bool_exp
](/docs/api/flow/graphql/envio/inputs/raw-events-bool-exp.mdx)
#### [raw_events_bool_exp.\_or
](#)[[raw_events_bool_exp!]
](/docs/api/flow/graphql/envio/inputs/raw-events-bool-exp.mdx)
#### [raw_events_bool_exp.block_fields
](#)[jsonb_comparison_exp
](/docs/api/flow/graphql/envio/inputs/jsonb-comparison-exp.mdx)
#### [raw_events_bool_exp.block_hash
](#)[String_comparison_exp
](/docs/api/flow/graphql/envio/inputs/string-comparison-exp.mdx)
#### [raw_events_bool_exp.block_number
](#)[Int_comparison_exp
](/docs/api/flow/graphql/envio/inputs/int-comparison-exp.mdx)
#### [raw_events_bool_exp.block_timestamp
](#)[Int_comparison_exp
](/docs/api/flow/graphql/envio/inputs/int-comparison-exp.mdx)
#### [raw_events_bool_exp.chain_id
](#)[Int_comparison_exp
](/docs/api/flow/graphql/envio/inputs/int-comparison-exp.mdx)
#### [raw_events_bool_exp.contract_name
](#)[String_comparison_exp
](/docs/api/flow/graphql/envio/inputs/string-comparison-exp.mdx)
#### [raw_events_bool_exp.db_write_timestamp
](#)[timestamp_comparison_exp
](/docs/api/flow/graphql/envio/inputs/timestamp-comparison-exp.mdx)
#### [raw_events_bool_exp.event_id
](#)[numeric_comparison_exp
](/docs/api/flow/graphql/envio/inputs/numeric-comparison-exp.mdx)
#### [raw_events_bool_exp.event_name
](#)[String_comparison_exp
](/docs/api/flow/graphql/envio/inputs/string-comparison-exp.mdx)
#### [raw_events_bool_exp.log_index
](#)[Int_comparison_exp
](/docs/api/flow/graphql/envio/inputs/int-comparison-exp.mdx)
#### [raw_events_bool_exp.params
](#)[jsonb_comparison_exp
](/docs/api/flow/graphql/envio/inputs/jsonb-comparison-exp.mdx)
#### [raw_events_bool_exp.serial
](#)[Int_comparison_exp
](/docs/api/flow/graphql/envio/inputs/int-comparison-exp.mdx)
#### [raw_events_bool_exp.src_address
](#)[String_comparison_exp
](/docs/api/flow/graphql/envio/inputs/string-comparison-exp.mdx)
#### [raw_events_bool_exp.transaction_fields
](#)[jsonb_comparison_exp
](/docs/api/flow/graphql/envio/inputs/jsonb-comparison-exp.mdx)
---
## raw_events_order_by (2)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
Ordering options when selecting data from "raw_events".
```graphql
input raw_events_order_by {
block_fields: order_by
block_hash: order_by
block_number: order_by
block_timestamp: order_by
chain_id: order_by
contract_name: order_by
db_write_timestamp: order_by
event_id: order_by
event_name: order_by
log_index: order_by
params: order_by
serial: order_by
src_address: order_by
transaction_fields: order_by
}
```
### Fields
#### [raw_events_order_by.block_fields
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
#### [raw_events_order_by.block_hash
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
#### [raw_events_order_by.block_number
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
#### [raw_events_order_by.block_timestamp
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
#### [raw_events_order_by.chain_id
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
#### [raw_events_order_by.contract_name
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
#### [raw_events_order_by.db_write_timestamp
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
#### [raw_events_order_by.event_id
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
#### [raw_events_order_by.event_name
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
#### [raw_events_order_by.log_index
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
#### [raw_events_order_by.params
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
#### [raw_events_order_by.serial
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
#### [raw_events_order_by.src_address
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
#### [raw_events_order_by.transaction_fields
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
---
## raw_events_stream_cursor_input (2)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
Streaming cursor of the table "raw_events"
```graphql
input raw_events_stream_cursor_input {
initial_value: raw_events_stream_cursor_value_input!
ordering: cursor_ordering
}
```
### Fields
#### [raw_events_stream_cursor_input.initial_value
](#)[raw_events_stream_cursor_value_input!
](/docs/api/flow/graphql/envio/inputs/raw-events-stream-cursor-value-input.mdx)
Stream column input with initial value
#### [raw_events_stream_cursor_input.ordering
](#)[cursor_ordering
](/docs/api/flow/graphql/envio/enums/cursor-ordering.mdx)
cursor ordering
---
## raw_events_stream_cursor_value_input (2)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
Initial value of the column from where the streaming should start
```graphql
input raw_events_stream_cursor_value_input {
block_fields: jsonb
block_hash: String
block_number: Int
block_timestamp: Int
chain_id: Int
contract_name: String
db_write_timestamp: timestamp
event_id: numeric
event_name: String
log_index: Int
params: jsonb
serial: Int
src_address: String
transaction_fields: jsonb
}
```
### Fields
#### [raw_events_stream_cursor_value_input.block_fields
](#)[jsonb
](/docs/api/flow/graphql/envio/scalars/jsonb.mdx)
#### [raw_events_stream_cursor_value_input.block_hash
](#)[String
](/docs/api/flow/graphql/envio/scalars/string.mdx)
#### [raw_events_stream_cursor_value_input.block_number
](#)[Int
](/docs/api/flow/graphql/envio/scalars/int.mdx)
#### [raw_events_stream_cursor_value_input.block_timestamp
](#)[Int
](/docs/api/flow/graphql/envio/scalars/int.mdx)
#### [raw_events_stream_cursor_value_input.chain_id
](#)[Int
](/docs/api/flow/graphql/envio/scalars/int.mdx)
#### [raw_events_stream_cursor_value_input.contract_name
](#)[String
](/docs/api/flow/graphql/envio/scalars/string.mdx)
#### [raw_events_stream_cursor_value_input.db_write_timestamp
](#)[timestamp
](/docs/api/flow/graphql/envio/scalars/timestamp.mdx)
#### [raw_events_stream_cursor_value_input.event_id
](#)[numeric
](/docs/api/flow/graphql/envio/scalars/numeric.mdx)
#### [raw_events_stream_cursor_value_input.event_name
](#)[String
](/docs/api/flow/graphql/envio/scalars/string.mdx)
#### [raw_events_stream_cursor_value_input.log_index
](#)[Int
](/docs/api/flow/graphql/envio/scalars/int.mdx)
#### [raw_events_stream_cursor_value_input.params
](#)[jsonb
](/docs/api/flow/graphql/envio/scalars/jsonb.mdx)
#### [raw_events_stream_cursor_value_input.serial
](#)[Int
](/docs/api/flow/graphql/envio/scalars/int.mdx)
#### [raw_events_stream_cursor_value_input.src_address
](#)[String
](/docs/api/flow/graphql/envio/scalars/string.mdx)
#### [raw_events_stream_cursor_value_input.transaction_fields
](#)[jsonb
](/docs/api/flow/graphql/envio/scalars/jsonb.mdx)
---
## Revenue_bool_exp (2)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
Boolean expression to filter rows from the table "Revenue". All fields are combined with a logical 'AND'.
```graphql
input Revenue_bool_exp {
_and: [Revenue_bool_exp!]
_not: Revenue_bool_exp
_or: [Revenue_bool_exp!]
amount: float8_comparison_exp
chainId: numeric_comparison_exp
currency: String_comparison_exp
date: String_comparison_exp
dateTimestamp: timestamptz_comparison_exp
db_write_timestamp: timestamp_comparison_exp
id: String_comparison_exp
transactions: RevenueTransaction_bool_exp
transactions_aggregate: RevenueTransaction_aggregate_bool_exp
}
```
### Fields
#### [Revenue_bool_exp.\_and
](#)[[Revenue_bool_exp!]
](/docs/api/flow/graphql/envio/inputs/revenue-bool-exp.mdx)
#### [Revenue_bool_exp.\_not
](#)[Revenue_bool_exp
](/docs/api/flow/graphql/envio/inputs/revenue-bool-exp.mdx)
#### [Revenue_bool_exp.\_or
](#)[[Revenue_bool_exp!]
](/docs/api/flow/graphql/envio/inputs/revenue-bool-exp.mdx)
#### [Revenue_bool_exp.amount
](#)[float8_comparison_exp
](/docs/api/flow/graphql/envio/inputs/float-8-comparison-exp.mdx)
#### [Revenue_bool_exp.chainId
](#)[numeric_comparison_exp
](/docs/api/flow/graphql/envio/inputs/numeric-comparison-exp.mdx)
#### [Revenue_bool_exp.currency
](#)[String_comparison_exp
](/docs/api/flow/graphql/envio/inputs/string-comparison-exp.mdx)
#### [Revenue_bool_exp.date
](#)[String_comparison_exp
](/docs/api/flow/graphql/envio/inputs/string-comparison-exp.mdx)
#### [Revenue_bool_exp.dateTimestamp
](#)[timestamptz_comparison_exp
](/docs/api/flow/graphql/envio/inputs/timestamptz-comparison-exp.mdx)
#### [Revenue_bool_exp.db_write_timestamp
](#)[timestamp_comparison_exp
](/docs/api/flow/graphql/envio/inputs/timestamp-comparison-exp.mdx)
#### [Revenue_bool_exp.id
](#)[String_comparison_exp
](/docs/api/flow/graphql/envio/inputs/string-comparison-exp.mdx)
#### [Revenue_bool_exp.transactions
](#)[RevenueTransaction_bool_exp
](/docs/api/flow/graphql/envio/inputs/revenue-transaction-bool-exp.mdx)
#### [Revenue_bool_exp.transactions_aggregate
](#)[RevenueTransaction_aggregate_bool_exp
](/docs/api/flow/graphql/envio/inputs/revenue-transaction-aggregate-bool-exp.mdx)
---
## Revenue_order_by (2)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
Ordering options when selecting data from "Revenue".
```graphql
input Revenue_order_by {
amount: order_by
chainId: order_by
currency: order_by
date: order_by
dateTimestamp: order_by
db_write_timestamp: order_by
id: order_by
transactions_aggregate: RevenueTransaction_aggregate_order_by
}
```
### Fields
#### [Revenue_order_by.amount
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
#### [Revenue_order_by.chainId
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
#### [Revenue_order_by.currency
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
#### [Revenue_order_by.date
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
#### [Revenue_order_by.dateTimestamp
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
#### [Revenue_order_by.db_write_timestamp
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
#### [Revenue_order_by.id
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
#### [Revenue_order_by.transactions_aggregate
](#)[RevenueTransaction_aggregate_order_by
](/docs/api/flow/graphql/envio/inputs/revenue-transaction-aggregate-order-by.mdx)
---
## Revenue_stream_cursor_input (2)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
Streaming cursor of the table "Revenue"
```graphql
input Revenue_stream_cursor_input {
initial_value: Revenue_stream_cursor_value_input!
ordering: cursor_ordering
}
```
### Fields
#### [Revenue_stream_cursor_input.initial_value
](#)[Revenue_stream_cursor_value_input!
](/docs/api/flow/graphql/envio/inputs/revenue-stream-cursor-value-input.mdx)
Stream column input with initial value
#### [Revenue_stream_cursor_input.ordering
](#)[cursor_ordering
](/docs/api/flow/graphql/envio/enums/cursor-ordering.mdx)
cursor ordering
---
## Revenue_stream_cursor_value_input (2)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
Initial value of the column from where the streaming should start
```graphql
input Revenue_stream_cursor_value_input {
amount: float8
chainId: numeric
currency: String
date: String
dateTimestamp: timestamptz
db_write_timestamp: timestamp
id: String
}
```
### Fields
#### [Revenue_stream_cursor_value_input.amount
](#)[float8
](/docs/api/flow/graphql/envio/scalars/float-8.mdx)
#### [Revenue_stream_cursor_value_input.chainId
](#)[numeric
](/docs/api/flow/graphql/envio/scalars/numeric.mdx)
#### [Revenue_stream_cursor_value_input.currency
](#)[String
](/docs/api/flow/graphql/envio/scalars/string.mdx)
#### [Revenue_stream_cursor_value_input.date
](#)[String
](/docs/api/flow/graphql/envio/scalars/string.mdx)
#### [Revenue_stream_cursor_value_input.dateTimestamp
](#)[timestamptz
](/docs/api/flow/graphql/envio/scalars/timestamptz.mdx)
#### [Revenue_stream_cursor_value_input.db_write_timestamp
](#)[timestamp
](/docs/api/flow/graphql/envio/scalars/timestamp.mdx)
#### [Revenue_stream_cursor_value_input.id
](#)[String
](/docs/api/flow/graphql/envio/scalars/string.mdx)
---
## RevenueTransaction_aggregate_bool_exp_avg (2)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
No description
```graphql
input RevenueTransaction_aggregate_bool_exp_avg {
arguments: RevenueTransaction_select_column_RevenueTransaction_aggregate_bool_exp_avg_arguments_columns!
distinct: Boolean
filter: RevenueTransaction_bool_exp
predicate: float8_comparison_exp!
}
```
### Fields
#### [RevenueTransaction_aggregate_bool_exp_avg.arguments
](#)[RevenueTransaction_select_column_RevenueTransaction_aggregate_bool_exp_avg_arguments_columns!
](/docs/api/flow/graphql/envio/enums/revenue-transaction-select-column-revenue-transaction-aggregate-bool-exp-avg-arguments-columns.mdx)
#### [RevenueTransaction_aggregate_bool_exp_avg.distinct
](#)[Boolean
](/docs/api/flow/graphql/envio/scalars/boolean.mdx)
#### [RevenueTransaction_aggregate_bool_exp_avg.filter
](#)[RevenueTransaction_bool_exp
](/docs/api/flow/graphql/envio/inputs/revenue-transaction-bool-exp.mdx)
#### [RevenueTransaction_aggregate_bool_exp_avg.predicate
](#)[float8_comparison_exp!
](/docs/api/flow/graphql/envio/inputs/float-8-comparison-exp.mdx)
---
## RevenueTransaction_aggregate_bool_exp_corr_arguments (2)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
No description
```graphql
input RevenueTransaction_aggregate_bool_exp_corr_arguments {
X: RevenueTransaction_select_column_RevenueTransaction_aggregate_bool_exp_corr_arguments_columns!
Y: RevenueTransaction_select_column_RevenueTransaction_aggregate_bool_exp_corr_arguments_columns!
}
```
### Fields
#### [RevenueTransaction_aggregate_bool_exp_corr_arguments.X
](#)[RevenueTransaction_select_column_RevenueTransaction_aggregate_bool_exp_corr_arguments_columns!
](/docs/api/flow/graphql/envio/enums/revenue-transaction-select-column-revenue-transaction-aggregate-bool-exp-corr-arguments-columns.mdx)
#### [RevenueTransaction_aggregate_bool_exp_corr_arguments.Y
](#)[RevenueTransaction_select_column_RevenueTransaction_aggregate_bool_exp_corr_arguments_columns!
](/docs/api/flow/graphql/envio/enums/revenue-transaction-select-column-revenue-transaction-aggregate-bool-exp-corr-arguments-columns.mdx)
---
## RevenueTransaction_aggregate_bool_exp_corr (2)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
No description
```graphql
input RevenueTransaction_aggregate_bool_exp_corr {
arguments: RevenueTransaction_aggregate_bool_exp_corr_arguments!
distinct: Boolean
filter: RevenueTransaction_bool_exp
predicate: float8_comparison_exp!
}
```
### Fields
#### [RevenueTransaction_aggregate_bool_exp_corr.arguments
](#)[RevenueTransaction_aggregate_bool_exp_corr_arguments!
](/docs/api/flow/graphql/envio/inputs/revenue-transaction-aggregate-bool-exp-corr-arguments.mdx)
#### [RevenueTransaction_aggregate_bool_exp_corr.distinct
](#)[Boolean
](/docs/api/flow/graphql/envio/scalars/boolean.mdx)
#### [RevenueTransaction_aggregate_bool_exp_corr.filter
](#)[RevenueTransaction_bool_exp
](/docs/api/flow/graphql/envio/inputs/revenue-transaction-bool-exp.mdx)
#### [RevenueTransaction_aggregate_bool_exp_corr.predicate
](#)[float8_comparison_exp!
](/docs/api/flow/graphql/envio/inputs/float-8-comparison-exp.mdx)
---
## RevenueTransaction_aggregate_bool_exp_count (2)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
No description
```graphql
input RevenueTransaction_aggregate_bool_exp_count {
arguments: [RevenueTransaction_select_column!]
distinct: Boolean
filter: RevenueTransaction_bool_exp
predicate: Int_comparison_exp!
}
```
### Fields
#### [RevenueTransaction_aggregate_bool_exp_count.arguments
](#)[[RevenueTransaction_select_column!]
](/docs/api/flow/graphql/envio/enums/revenue-transaction-select-column.mdx)
#### [RevenueTransaction_aggregate_bool_exp_count.distinct
](#)[Boolean
](/docs/api/flow/graphql/envio/scalars/boolean.mdx)
#### [RevenueTransaction_aggregate_bool_exp_count.filter
](#)[RevenueTransaction_bool_exp
](/docs/api/flow/graphql/envio/inputs/revenue-transaction-bool-exp.mdx)
#### [RevenueTransaction_aggregate_bool_exp_count.predicate
](#)[Int_comparison_exp!
](/docs/api/flow/graphql/envio/inputs/int-comparison-exp.mdx)
---
## RevenueTransaction_aggregate_bool_exp_covar_samp_arguments (2)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
No description
```graphql
input RevenueTransaction_aggregate_bool_exp_covar_samp_arguments {
X: RevenueTransaction_select_column_RevenueTransaction_aggregate_bool_exp_covar_samp_arguments_columns!
Y: RevenueTransaction_select_column_RevenueTransaction_aggregate_bool_exp_covar_samp_arguments_columns!
}
```
### Fields
#### [RevenueTransaction_aggregate_bool_exp_covar_samp_arguments.X
](#)[RevenueTransaction_select_column_RevenueTransaction_aggregate_bool_exp_covar_samp_arguments_columns!
](/docs/api/flow/graphql/envio/enums/revenue-transaction-select-column-revenue-transaction-aggregate-bool-exp-covar-samp-arguments-columns.mdx)
#### [RevenueTransaction_aggregate_bool_exp_covar_samp_arguments.Y
](#)[RevenueTransaction_select_column_RevenueTransaction_aggregate_bool_exp_covar_samp_arguments_columns!
](/docs/api/flow/graphql/envio/enums/revenue-transaction-select-column-revenue-transaction-aggregate-bool-exp-covar-samp-arguments-columns.mdx)
---
## RevenueTransaction_aggregate_bool_exp_covar_samp (2)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
No description
```graphql
input RevenueTransaction_aggregate_bool_exp_covar_samp {
arguments: RevenueTransaction_aggregate_bool_exp_covar_samp_arguments!
distinct: Boolean
filter: RevenueTransaction_bool_exp
predicate: float8_comparison_exp!
}
```
### Fields
#### [RevenueTransaction_aggregate_bool_exp_covar_samp.arguments
](#)[RevenueTransaction_aggregate_bool_exp_covar_samp_arguments!
](/docs/api/flow/graphql/envio/inputs/revenue-transaction-aggregate-bool-exp-covar-samp-arguments.mdx)
#### [RevenueTransaction_aggregate_bool_exp_covar_samp.distinct
](#)[Boolean
](/docs/api/flow/graphql/envio/scalars/boolean.mdx)
#### [RevenueTransaction_aggregate_bool_exp_covar_samp.filter
](#)[RevenueTransaction_bool_exp
](/docs/api/flow/graphql/envio/inputs/revenue-transaction-bool-exp.mdx)
#### [RevenueTransaction_aggregate_bool_exp_covar_samp.predicate
](#)[float8_comparison_exp!
](/docs/api/flow/graphql/envio/inputs/float-8-comparison-exp.mdx)
---
## RevenueTransaction_aggregate_bool_exp_max (2)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
No description
```graphql
input RevenueTransaction_aggregate_bool_exp_max {
arguments: RevenueTransaction_select_column_RevenueTransaction_aggregate_bool_exp_max_arguments_columns!
distinct: Boolean
filter: RevenueTransaction_bool_exp
predicate: float8_comparison_exp!
}
```
### Fields
#### [RevenueTransaction_aggregate_bool_exp_max.arguments
](#)[RevenueTransaction_select_column_RevenueTransaction_aggregate_bool_exp_max_arguments_columns!
](/docs/api/flow/graphql/envio/enums/revenue-transaction-select-column-revenue-transaction-aggregate-bool-exp-max-arguments-columns.mdx)
#### [RevenueTransaction_aggregate_bool_exp_max.distinct
](#)[Boolean
](/docs/api/flow/graphql/envio/scalars/boolean.mdx)
#### [RevenueTransaction_aggregate_bool_exp_max.filter
](#)[RevenueTransaction_bool_exp
](/docs/api/flow/graphql/envio/inputs/revenue-transaction-bool-exp.mdx)
#### [RevenueTransaction_aggregate_bool_exp_max.predicate
](#)[float8_comparison_exp!
](/docs/api/flow/graphql/envio/inputs/float-8-comparison-exp.mdx)
---
## RevenueTransaction_aggregate_bool_exp_min (2)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
No description
```graphql
input RevenueTransaction_aggregate_bool_exp_min {
arguments: RevenueTransaction_select_column_RevenueTransaction_aggregate_bool_exp_min_arguments_columns!
distinct: Boolean
filter: RevenueTransaction_bool_exp
predicate: float8_comparison_exp!
}
```
### Fields
#### [RevenueTransaction_aggregate_bool_exp_min.arguments
](#)[RevenueTransaction_select_column_RevenueTransaction_aggregate_bool_exp_min_arguments_columns!
](/docs/api/flow/graphql/envio/enums/revenue-transaction-select-column-revenue-transaction-aggregate-bool-exp-min-arguments-columns.mdx)
#### [RevenueTransaction_aggregate_bool_exp_min.distinct
](#)[Boolean
](/docs/api/flow/graphql/envio/scalars/boolean.mdx)
#### [RevenueTransaction_aggregate_bool_exp_min.filter
](#)[RevenueTransaction_bool_exp
](/docs/api/flow/graphql/envio/inputs/revenue-transaction-bool-exp.mdx)
#### [RevenueTransaction_aggregate_bool_exp_min.predicate
](#)[float8_comparison_exp!
](/docs/api/flow/graphql/envio/inputs/float-8-comparison-exp.mdx)
---
## RevenueTransaction_aggregate_bool_exp_stddev_samp (2)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
No description
```graphql
input RevenueTransaction_aggregate_bool_exp_stddev_samp {
arguments: RevenueTransaction_select_column_RevenueTransaction_aggregate_bool_exp_stddev_samp_arguments_columns!
distinct: Boolean
filter: RevenueTransaction_bool_exp
predicate: float8_comparison_exp!
}
```
### Fields
#### [RevenueTransaction_aggregate_bool_exp_stddev_samp.arguments
](#)[RevenueTransaction_select_column_RevenueTransaction_aggregate_bool_exp_stddev_samp_arguments_columns!
](/docs/api/flow/graphql/envio/enums/revenue-transaction-select-column-revenue-transaction-aggregate-bool-exp-stddev-samp-arguments-columns.mdx)
#### [RevenueTransaction_aggregate_bool_exp_stddev_samp.distinct
](#)[Boolean
](/docs/api/flow/graphql/envio/scalars/boolean.mdx)
#### [RevenueTransaction_aggregate_bool_exp_stddev_samp.filter
](#)[RevenueTransaction_bool_exp
](/docs/api/flow/graphql/envio/inputs/revenue-transaction-bool-exp.mdx)
#### [RevenueTransaction_aggregate_bool_exp_stddev_samp.predicate
](#)[float8_comparison_exp!
](/docs/api/flow/graphql/envio/inputs/float-8-comparison-exp.mdx)
---
## RevenueTransaction_aggregate_bool_exp_sum (2)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
No description
```graphql
input RevenueTransaction_aggregate_bool_exp_sum {
arguments: RevenueTransaction_select_column_RevenueTransaction_aggregate_bool_exp_sum_arguments_columns!
distinct: Boolean
filter: RevenueTransaction_bool_exp
predicate: float8_comparison_exp!
}
```
### Fields
#### [RevenueTransaction_aggregate_bool_exp_sum.arguments
](#)[RevenueTransaction_select_column_RevenueTransaction_aggregate_bool_exp_sum_arguments_columns!
](/docs/api/flow/graphql/envio/enums/revenue-transaction-select-column-revenue-transaction-aggregate-bool-exp-sum-arguments-columns.mdx)
#### [RevenueTransaction_aggregate_bool_exp_sum.distinct
](#)[Boolean
](/docs/api/flow/graphql/envio/scalars/boolean.mdx)
#### [RevenueTransaction_aggregate_bool_exp_sum.filter
](#)[RevenueTransaction_bool_exp
](/docs/api/flow/graphql/envio/inputs/revenue-transaction-bool-exp.mdx)
#### [RevenueTransaction_aggregate_bool_exp_sum.predicate
](#)[float8_comparison_exp!
](/docs/api/flow/graphql/envio/inputs/float-8-comparison-exp.mdx)
---
## RevenueTransaction_aggregate_bool_exp_var_samp (2)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
No description
```graphql
input RevenueTransaction_aggregate_bool_exp_var_samp {
arguments: RevenueTransaction_select_column_RevenueTransaction_aggregate_bool_exp_var_samp_arguments_columns!
distinct: Boolean
filter: RevenueTransaction_bool_exp
predicate: float8_comparison_exp!
}
```
### Fields
#### [RevenueTransaction_aggregate_bool_exp_var_samp.arguments
](#)[RevenueTransaction_select_column_RevenueTransaction_aggregate_bool_exp_var_samp_arguments_columns!
](/docs/api/flow/graphql/envio/enums/revenue-transaction-select-column-revenue-transaction-aggregate-bool-exp-var-samp-arguments-columns.mdx)
#### [RevenueTransaction_aggregate_bool_exp_var_samp.distinct
](#)[Boolean
](/docs/api/flow/graphql/envio/scalars/boolean.mdx)
#### [RevenueTransaction_aggregate_bool_exp_var_samp.filter
](#)[RevenueTransaction_bool_exp
](/docs/api/flow/graphql/envio/inputs/revenue-transaction-bool-exp.mdx)
#### [RevenueTransaction_aggregate_bool_exp_var_samp.predicate
](#)[float8_comparison_exp!
](/docs/api/flow/graphql/envio/inputs/float-8-comparison-exp.mdx)
---
## RevenueTransaction_aggregate_bool_exp (2)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
No description
```graphql
input RevenueTransaction_aggregate_bool_exp {
avg: RevenueTransaction_aggregate_bool_exp_avg
corr: RevenueTransaction_aggregate_bool_exp_corr
count: RevenueTransaction_aggregate_bool_exp_count
covar_samp: RevenueTransaction_aggregate_bool_exp_covar_samp
max: RevenueTransaction_aggregate_bool_exp_max
min: RevenueTransaction_aggregate_bool_exp_min
stddev_samp: RevenueTransaction_aggregate_bool_exp_stddev_samp
sum: RevenueTransaction_aggregate_bool_exp_sum
var_samp: RevenueTransaction_aggregate_bool_exp_var_samp
}
```
### Fields
#### [RevenueTransaction_aggregate_bool_exp.avg
](#)[RevenueTransaction_aggregate_bool_exp_avg
](/docs/api/flow/graphql/envio/inputs/revenue-transaction-aggregate-bool-exp-avg.mdx)
#### [RevenueTransaction_aggregate_bool_exp.corr
](#)[RevenueTransaction_aggregate_bool_exp_corr
](/docs/api/flow/graphql/envio/inputs/revenue-transaction-aggregate-bool-exp-corr.mdx)
#### [RevenueTransaction_aggregate_bool_exp.count
](#)[RevenueTransaction_aggregate_bool_exp_count
](/docs/api/flow/graphql/envio/inputs/revenue-transaction-aggregate-bool-exp-count.mdx)
#### [RevenueTransaction_aggregate_bool_exp.covar_samp
](#)[RevenueTransaction_aggregate_bool_exp_covar_samp
](/docs/api/flow/graphql/envio/inputs/revenue-transaction-aggregate-bool-exp-covar-samp.mdx)
#### [RevenueTransaction_aggregate_bool_exp.max
](#)[RevenueTransaction_aggregate_bool_exp_max
](/docs/api/flow/graphql/envio/inputs/revenue-transaction-aggregate-bool-exp-max.mdx)
#### [RevenueTransaction_aggregate_bool_exp.min
](#)[RevenueTransaction_aggregate_bool_exp_min
](/docs/api/flow/graphql/envio/inputs/revenue-transaction-aggregate-bool-exp-min.mdx)
#### [RevenueTransaction_aggregate_bool_exp.stddev_samp
](#)[RevenueTransaction_aggregate_bool_exp_stddev_samp
](/docs/api/flow/graphql/envio/inputs/revenue-transaction-aggregate-bool-exp-stddev-samp.mdx)
#### [RevenueTransaction_aggregate_bool_exp.sum
](#)[RevenueTransaction_aggregate_bool_exp_sum
](/docs/api/flow/graphql/envio/inputs/revenue-transaction-aggregate-bool-exp-sum.mdx)
#### [RevenueTransaction_aggregate_bool_exp.var_samp
](#)[RevenueTransaction_aggregate_bool_exp_var_samp
](/docs/api/flow/graphql/envio/inputs/revenue-transaction-aggregate-bool-exp-var-samp.mdx)
---
## RevenueTransaction_aggregate_order_by (2)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
order by aggregate values of table "RevenueTransaction"
```graphql
input RevenueTransaction_aggregate_order_by {
avg: RevenueTransaction_avg_order_by
count: order_by
max: RevenueTransaction_max_order_by
min: RevenueTransaction_min_order_by
stddev: RevenueTransaction_stddev_order_by
stddev_pop: RevenueTransaction_stddev_pop_order_by
stddev_samp: RevenueTransaction_stddev_samp_order_by
sum: RevenueTransaction_sum_order_by
var_pop: RevenueTransaction_var_pop_order_by
var_samp: RevenueTransaction_var_samp_order_by
variance: RevenueTransaction_variance_order_by
}
```
### Fields
#### [RevenueTransaction_aggregate_order_by.avg
](#)[RevenueTransaction_avg_order_by
](/docs/api/flow/graphql/envio/inputs/revenue-transaction-avg-order-by.mdx)
#### [RevenueTransaction_aggregate_order_by.count
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
#### [RevenueTransaction_aggregate_order_by.max
](#)[RevenueTransaction_max_order_by
](/docs/api/flow/graphql/envio/inputs/revenue-transaction-max-order-by.mdx)
#### [RevenueTransaction_aggregate_order_by.min
](#)[RevenueTransaction_min_order_by
](/docs/api/flow/graphql/envio/inputs/revenue-transaction-min-order-by.mdx)
#### [RevenueTransaction_aggregate_order_by.stddev
](#)[RevenueTransaction_stddev_order_by
](/docs/api/flow/graphql/envio/inputs/revenue-transaction-stddev-order-by.mdx)
#### [RevenueTransaction_aggregate_order_by.stddev_pop
](#)[RevenueTransaction_stddev_pop_order_by
](/docs/api/flow/graphql/envio/inputs/revenue-transaction-stddev-pop-order-by.mdx)
#### [RevenueTransaction_aggregate_order_by.stddev_samp
](#)[RevenueTransaction_stddev_samp_order_by
](/docs/api/flow/graphql/envio/inputs/revenue-transaction-stddev-samp-order-by.mdx)
#### [RevenueTransaction_aggregate_order_by.sum
](#)[RevenueTransaction_sum_order_by
](/docs/api/flow/graphql/envio/inputs/revenue-transaction-sum-order-by.mdx)
#### [RevenueTransaction_aggregate_order_by.var_pop
](#)[RevenueTransaction_var_pop_order_by
](/docs/api/flow/graphql/envio/inputs/revenue-transaction-var-pop-order-by.mdx)
#### [RevenueTransaction_aggregate_order_by.var_samp
](#)[RevenueTransaction_var_samp_order_by
](/docs/api/flow/graphql/envio/inputs/revenue-transaction-var-samp-order-by.mdx)
#### [RevenueTransaction_aggregate_order_by.variance
](#)[RevenueTransaction_variance_order_by
](/docs/api/flow/graphql/envio/inputs/revenue-transaction-variance-order-by.mdx)
---
## RevenueTransaction_avg_order_by (2)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
order by avg() on columns of table "RevenueTransaction"
```graphql
input RevenueTransaction_avg_order_by {
amount: order_by
block: order_by
timestamp: order_by
}
```
### Fields
#### [RevenueTransaction_avg_order_by.amount
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
#### [RevenueTransaction_avg_order_by.block
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
#### [RevenueTransaction_avg_order_by.timestamp
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
---
## RevenueTransaction_bool_exp (2)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
Boolean expression to filter rows from the table "RevenueTransaction". All fields are combined with a logical 'AND'.
```graphql
input RevenueTransaction_bool_exp {
_and: [RevenueTransaction_bool_exp!]
_not: RevenueTransaction_bool_exp
_or: [RevenueTransaction_bool_exp!]
amount: float8_comparison_exp
block: numeric_comparison_exp
db_write_timestamp: timestamp_comparison_exp
hash: String_comparison_exp
id: String_comparison_exp
revenue: Revenue_bool_exp
revenue_id: String_comparison_exp
timestamp: numeric_comparison_exp
}
```
### Fields
#### [RevenueTransaction_bool_exp.\_and
](#)[[RevenueTransaction_bool_exp!]
](/docs/api/flow/graphql/envio/inputs/revenue-transaction-bool-exp.mdx)
#### [RevenueTransaction_bool_exp.\_not
](#)[RevenueTransaction_bool_exp
](/docs/api/flow/graphql/envio/inputs/revenue-transaction-bool-exp.mdx)
#### [RevenueTransaction_bool_exp.\_or
](#)[[RevenueTransaction_bool_exp!]
](/docs/api/flow/graphql/envio/inputs/revenue-transaction-bool-exp.mdx)
#### [RevenueTransaction_bool_exp.amount
](#)[float8_comparison_exp
](/docs/api/flow/graphql/envio/inputs/float-8-comparison-exp.mdx)
#### [RevenueTransaction_bool_exp.block
](#)[numeric_comparison_exp
](/docs/api/flow/graphql/envio/inputs/numeric-comparison-exp.mdx)
#### [RevenueTransaction_bool_exp.db_write_timestamp
](#)[timestamp_comparison_exp
](/docs/api/flow/graphql/envio/inputs/timestamp-comparison-exp.mdx)
#### [RevenueTransaction_bool_exp.hash
](#)[String_comparison_exp
](/docs/api/flow/graphql/envio/inputs/string-comparison-exp.mdx)
#### [RevenueTransaction_bool_exp.id
](#)[String_comparison_exp
](/docs/api/flow/graphql/envio/inputs/string-comparison-exp.mdx)
#### [RevenueTransaction_bool_exp.revenue
](#)[Revenue_bool_exp
](/docs/api/flow/graphql/envio/inputs/revenue-bool-exp.mdx)
#### [RevenueTransaction_bool_exp.revenue_id
](#)[String_comparison_exp
](/docs/api/flow/graphql/envio/inputs/string-comparison-exp.mdx)
#### [RevenueTransaction_bool_exp.timestamp
](#)[numeric_comparison_exp
](/docs/api/flow/graphql/envio/inputs/numeric-comparison-exp.mdx)
---
## RevenueTransaction_max_order_by (2)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
order by max() on columns of table "RevenueTransaction"
```graphql
input RevenueTransaction_max_order_by {
amount: order_by
block: order_by
db_write_timestamp: order_by
hash: order_by
id: order_by
revenue_id: order_by
timestamp: order_by
}
```
### Fields
#### [RevenueTransaction_max_order_by.amount
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
#### [RevenueTransaction_max_order_by.block
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
#### [RevenueTransaction_max_order_by.db_write_timestamp
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
#### [RevenueTransaction_max_order_by.hash
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
#### [RevenueTransaction_max_order_by.id
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
#### [RevenueTransaction_max_order_by.revenue_id
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
#### [RevenueTransaction_max_order_by.timestamp
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
---
## RevenueTransaction_min_order_by (2)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
order by min() on columns of table "RevenueTransaction"
```graphql
input RevenueTransaction_min_order_by {
amount: order_by
block: order_by
db_write_timestamp: order_by
hash: order_by
id: order_by
revenue_id: order_by
timestamp: order_by
}
```
### Fields
#### [RevenueTransaction_min_order_by.amount
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
#### [RevenueTransaction_min_order_by.block
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
#### [RevenueTransaction_min_order_by.db_write_timestamp
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
#### [RevenueTransaction_min_order_by.hash
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
#### [RevenueTransaction_min_order_by.id
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
#### [RevenueTransaction_min_order_by.revenue_id
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
#### [RevenueTransaction_min_order_by.timestamp
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
---
## RevenueTransaction_order_by (2)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
Ordering options when selecting data from "RevenueTransaction".
```graphql
input RevenueTransaction_order_by {
amount: order_by
block: order_by
db_write_timestamp: order_by
hash: order_by
id: order_by
revenue: Revenue_order_by
revenue_id: order_by
timestamp: order_by
}
```
### Fields
#### [RevenueTransaction_order_by.amount
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
#### [RevenueTransaction_order_by.block
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
#### [RevenueTransaction_order_by.db_write_timestamp
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
#### [RevenueTransaction_order_by.hash
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
#### [RevenueTransaction_order_by.id
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
#### [RevenueTransaction_order_by.revenue
](#)[Revenue_order_by
](/docs/api/flow/graphql/envio/inputs/revenue-order-by.mdx)
#### [RevenueTransaction_order_by.revenue_id
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
#### [RevenueTransaction_order_by.timestamp
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
---
## RevenueTransaction_stddev_order_by (2)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
order by stddev() on columns of table "RevenueTransaction"
```graphql
input RevenueTransaction_stddev_order_by {
amount: order_by
block: order_by
timestamp: order_by
}
```
### Fields
#### [RevenueTransaction_stddev_order_by.amount
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
#### [RevenueTransaction_stddev_order_by.block
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
#### [RevenueTransaction_stddev_order_by.timestamp
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
---
## RevenueTransaction_stddev_pop_order_by (2)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
order by stddev_pop() on columns of table "RevenueTransaction"
```graphql
input RevenueTransaction_stddev_pop_order_by {
amount: order_by
block: order_by
timestamp: order_by
}
```
### Fields
#### [RevenueTransaction_stddev_pop_order_by.amount
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
#### [RevenueTransaction_stddev_pop_order_by.block
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
#### [RevenueTransaction_stddev_pop_order_by.timestamp
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
---
## RevenueTransaction_stddev_samp_order_by (2)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
order by stddev_samp() on columns of table "RevenueTransaction"
```graphql
input RevenueTransaction_stddev_samp_order_by {
amount: order_by
block: order_by
timestamp: order_by
}
```
### Fields
#### [RevenueTransaction_stddev_samp_order_by.amount
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
#### [RevenueTransaction_stddev_samp_order_by.block
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
#### [RevenueTransaction_stddev_samp_order_by.timestamp
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
---
## RevenueTransaction_stream_cursor_input (2)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
Streaming cursor of the table "RevenueTransaction"
```graphql
input RevenueTransaction_stream_cursor_input {
initial_value: RevenueTransaction_stream_cursor_value_input!
ordering: cursor_ordering
}
```
### Fields
#### [RevenueTransaction_stream_cursor_input.initial_value
](#)[RevenueTransaction_stream_cursor_value_input!
](/docs/api/flow/graphql/envio/inputs/revenue-transaction-stream-cursor-value-input.mdx)
Stream column input with initial value
#### [RevenueTransaction_stream_cursor_input.ordering
](#)[cursor_ordering
](/docs/api/flow/graphql/envio/enums/cursor-ordering.mdx)
cursor ordering
---
## RevenueTransaction_stream_cursor_value_input (2)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
Initial value of the column from where the streaming should start
```graphql
input RevenueTransaction_stream_cursor_value_input {
amount: float8
block: numeric
db_write_timestamp: timestamp
hash: String
id: String
revenue_id: String
timestamp: numeric
}
```
### Fields
#### [RevenueTransaction_stream_cursor_value_input.amount
](#)[float8
](/docs/api/flow/graphql/envio/scalars/float-8.mdx)
#### [RevenueTransaction_stream_cursor_value_input.block
](#)[numeric
](/docs/api/flow/graphql/envio/scalars/numeric.mdx)
#### [RevenueTransaction_stream_cursor_value_input.db_write_timestamp
](#)[timestamp
](/docs/api/flow/graphql/envio/scalars/timestamp.mdx)
#### [RevenueTransaction_stream_cursor_value_input.hash
](#)[String
](/docs/api/flow/graphql/envio/scalars/string.mdx)
#### [RevenueTransaction_stream_cursor_value_input.id
](#)[String
](/docs/api/flow/graphql/envio/scalars/string.mdx)
#### [RevenueTransaction_stream_cursor_value_input.revenue_id
](#)[String
](/docs/api/flow/graphql/envio/scalars/string.mdx)
#### [RevenueTransaction_stream_cursor_value_input.timestamp
](#)[numeric
](/docs/api/flow/graphql/envio/scalars/numeric.mdx)
---
## RevenueTransaction_sum_order_by (2)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
order by sum() on columns of table "RevenueTransaction"
```graphql
input RevenueTransaction_sum_order_by {
amount: order_by
block: order_by
timestamp: order_by
}
```
### Fields
#### [RevenueTransaction_sum_order_by.amount
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
#### [RevenueTransaction_sum_order_by.block
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
#### [RevenueTransaction_sum_order_by.timestamp
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
---
## RevenueTransaction_var_pop_order_by (2)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
order by var_pop() on columns of table "RevenueTransaction"
```graphql
input RevenueTransaction_var_pop_order_by {
amount: order_by
block: order_by
timestamp: order_by
}
```
### Fields
#### [RevenueTransaction_var_pop_order_by.amount
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
#### [RevenueTransaction_var_pop_order_by.block
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
#### [RevenueTransaction_var_pop_order_by.timestamp
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
---
## RevenueTransaction_var_samp_order_by (2)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
order by var_samp() on columns of table "RevenueTransaction"
```graphql
input RevenueTransaction_var_samp_order_by {
amount: order_by
block: order_by
timestamp: order_by
}
```
### Fields
#### [RevenueTransaction_var_samp_order_by.amount
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
#### [RevenueTransaction_var_samp_order_by.block
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
#### [RevenueTransaction_var_samp_order_by.timestamp
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
---
## RevenueTransaction_variance_order_by (2)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
order by variance() on columns of table "RevenueTransaction"
```graphql
input RevenueTransaction_variance_order_by {
amount: order_by
block: order_by
timestamp: order_by
}
```
### Fields
#### [RevenueTransaction_variance_order_by.amount
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
#### [RevenueTransaction_variance_order_by.block
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
#### [RevenueTransaction_variance_order_by.timestamp
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
---
## Stream_aggregate_bool_exp_bool_and
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
No description
```graphql
input Stream_aggregate_bool_exp_bool_and {
arguments: Stream_select_column_Stream_aggregate_bool_exp_bool_and_arguments_columns!
distinct: Boolean
filter: Stream_bool_exp
predicate: Boolean_comparison_exp!
}
```
### Fields
#### [Stream_aggregate_bool_exp_bool_and.arguments
](#)[Stream_select_column_Stream_aggregate_bool_exp_bool_and_arguments_columns!
](/docs/api/flow/graphql/envio/enums/stream-select-column-stream-aggregate-bool-exp-bool-and-arguments-columns.mdx)
#### [Stream_aggregate_bool_exp_bool_and.distinct
](#)[Boolean
](/docs/api/flow/graphql/envio/scalars/boolean.mdx)
#### [Stream_aggregate_bool_exp_bool_and.filter
](#)[Stream_bool_exp
](/docs/api/flow/graphql/envio/inputs/stream-bool-exp.mdx)
#### [Stream_aggregate_bool_exp_bool_and.predicate
](#)[Boolean_comparison_exp!
](/docs/api/flow/graphql/envio/inputs/boolean-comparison-exp.mdx)
---
## Stream_aggregate_bool_exp_bool_or
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
No description
```graphql
input Stream_aggregate_bool_exp_bool_or {
arguments: Stream_select_column_Stream_aggregate_bool_exp_bool_or_arguments_columns!
distinct: Boolean
filter: Stream_bool_exp
predicate: Boolean_comparison_exp!
}
```
### Fields
#### [Stream_aggregate_bool_exp_bool_or.arguments
](#)[Stream_select_column_Stream_aggregate_bool_exp_bool_or_arguments_columns!
](/docs/api/flow/graphql/envio/enums/stream-select-column-stream-aggregate-bool-exp-bool-or-arguments-columns.mdx)
#### [Stream_aggregate_bool_exp_bool_or.distinct
](#)[Boolean
](/docs/api/flow/graphql/envio/scalars/boolean.mdx)
#### [Stream_aggregate_bool_exp_bool_or.filter
](#)[Stream_bool_exp
](/docs/api/flow/graphql/envio/inputs/stream-bool-exp.mdx)
#### [Stream_aggregate_bool_exp_bool_or.predicate
](#)[Boolean_comparison_exp!
](/docs/api/flow/graphql/envio/inputs/boolean-comparison-exp.mdx)
---
## Stream_aggregate_bool_exp_count
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
No description
```graphql
input Stream_aggregate_bool_exp_count {
arguments: [Stream_select_column!]
distinct: Boolean
filter: Stream_bool_exp
predicate: Int_comparison_exp!
}
```
### Fields
#### [Stream_aggregate_bool_exp_count.arguments
](#)[[Stream_select_column!]
](/docs/api/flow/graphql/envio/enums/stream-select-column.mdx)
#### [Stream_aggregate_bool_exp_count.distinct
](#)[Boolean
](/docs/api/flow/graphql/envio/scalars/boolean.mdx)
#### [Stream_aggregate_bool_exp_count.filter
](#)[Stream_bool_exp
](/docs/api/flow/graphql/envio/inputs/stream-bool-exp.mdx)
#### [Stream_aggregate_bool_exp_count.predicate
](#)[Int_comparison_exp!
](/docs/api/flow/graphql/envio/inputs/int-comparison-exp.mdx)
---
## Stream_aggregate_bool_exp
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
No description
```graphql
input Stream_aggregate_bool_exp {
bool_and: Stream_aggregate_bool_exp_bool_and
bool_or: Stream_aggregate_bool_exp_bool_or
count: Stream_aggregate_bool_exp_count
}
```
### Fields
#### [Stream_aggregate_bool_exp.bool_and
](#)[Stream_aggregate_bool_exp_bool_and
](/docs/api/flow/graphql/envio/inputs/stream-aggregate-bool-exp-bool-and.mdx)
#### [Stream_aggregate_bool_exp.bool_or
](#)[Stream_aggregate_bool_exp_bool_or
](/docs/api/flow/graphql/envio/inputs/stream-aggregate-bool-exp-bool-or.mdx)
#### [Stream_aggregate_bool_exp.count
](#)[Stream_aggregate_bool_exp_count
](/docs/api/flow/graphql/envio/inputs/stream-aggregate-bool-exp-count.mdx)
---
## Stream_aggregate_order_by
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
order by aggregate values of table "Stream"
```graphql
input Stream_aggregate_order_by {
avg: Stream_avg_order_by
count: order_by
max: Stream_max_order_by
min: Stream_min_order_by
stddev: Stream_stddev_order_by
stddev_pop: Stream_stddev_pop_order_by
stddev_samp: Stream_stddev_samp_order_by
sum: Stream_sum_order_by
var_pop: Stream_var_pop_order_by
var_samp: Stream_var_samp_order_by
variance: Stream_variance_order_by
}
```
### Fields
#### [Stream_aggregate_order_by.avg
](#)[Stream_avg_order_by
](/docs/api/flow/graphql/envio/inputs/stream-avg-order-by.mdx)
#### [Stream_aggregate_order_by.count
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
#### [Stream_aggregate_order_by.max
](#)[Stream_max_order_by
](/docs/api/flow/graphql/envio/inputs/stream-max-order-by.mdx)
#### [Stream_aggregate_order_by.min
](#)[Stream_min_order_by
](/docs/api/flow/graphql/envio/inputs/stream-min-order-by.mdx)
#### [Stream_aggregate_order_by.stddev
](#)[Stream_stddev_order_by
](/docs/api/flow/graphql/envio/inputs/stream-stddev-order-by.mdx)
#### [Stream_aggregate_order_by.stddev_pop
](#)[Stream_stddev_pop_order_by
](/docs/api/flow/graphql/envio/inputs/stream-stddev-pop-order-by.mdx)
#### [Stream_aggregate_order_by.stddev_samp
](#)[Stream_stddev_samp_order_by
](/docs/api/flow/graphql/envio/inputs/stream-stddev-samp-order-by.mdx)
#### [Stream_aggregate_order_by.sum
](#)[Stream_sum_order_by
](/docs/api/flow/graphql/envio/inputs/stream-sum-order-by.mdx)
#### [Stream_aggregate_order_by.var_pop
](#)[Stream_var_pop_order_by
](/docs/api/flow/graphql/envio/inputs/stream-var-pop-order-by.mdx)
#### [Stream_aggregate_order_by.var_samp
](#)[Stream_var_samp_order_by
](/docs/api/flow/graphql/envio/inputs/stream-var-samp-order-by.mdx)
#### [Stream_aggregate_order_by.variance
](#)[Stream_variance_order_by
](/docs/api/flow/graphql/envio/inputs/stream-variance-order-by.mdx)
---
## Stream_avg_order_by
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
order by avg() on columns of table "Stream"
```graphql
input Stream_avg_order_by {
assetDecimalsValue: order_by
availableAmount: order_by
chainId: order_by
depletionTime: order_by
depositedAmount: order_by
forgivenDebt: order_by
lastAdjustmentTimestamp: order_by
pausedTime: order_by
position: order_by
ratePerSecond: order_by
refundedAmount: order_by
snapshotAmount: order_by
startTime: order_by
subgraphId: order_by
timestamp: order_by
tokenId: order_by
voidedTime: order_by
withdrawnAmount: order_by
}
```
### Fields
#### [Stream_avg_order_by.assetDecimalsValue
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
#### [Stream_avg_order_by.availableAmount
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
#### [Stream_avg_order_by.chainId
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
#### [Stream_avg_order_by.depletionTime
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
#### [Stream_avg_order_by.depositedAmount
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
#### [Stream_avg_order_by.forgivenDebt
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
#### [Stream_avg_order_by.lastAdjustmentTimestamp
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
#### [Stream_avg_order_by.pausedTime
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
#### [Stream_avg_order_by.position
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
#### [Stream_avg_order_by.ratePerSecond
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
#### [Stream_avg_order_by.refundedAmount
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
#### [Stream_avg_order_by.snapshotAmount
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
#### [Stream_avg_order_by.startTime
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
#### [Stream_avg_order_by.subgraphId
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
#### [Stream_avg_order_by.timestamp
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
#### [Stream_avg_order_by.tokenId
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
#### [Stream_avg_order_by.voidedTime
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
#### [Stream_avg_order_by.withdrawnAmount
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
---
## Stream_bool_exp
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
Boolean expression to filter rows from the table "Stream". All fields are combined with a logical 'AND'.
```graphql
input Stream_bool_exp {
_and: [Stream_bool_exp!]
_not: Stream_bool_exp
_or: [Stream_bool_exp!]
actions: Action_bool_exp
alias: String_comparison_exp
asset: Asset_bool_exp
assetDecimalsValue: numeric_comparison_exp
asset_id: String_comparison_exp
availableAmount: numeric_comparison_exp
batch: Batch_bool_exp
batch_id: String_comparison_exp
category: streamcategory_comparison_exp
chainId: numeric_comparison_exp
contract: String_comparison_exp
creator: String_comparison_exp
db_write_timestamp: timestamp_comparison_exp
depletionTime: numeric_comparison_exp
depositedAmount: numeric_comparison_exp
forgivenDebt: numeric_comparison_exp
hash: String_comparison_exp
id: String_comparison_exp
lastAdjustmentAction: Action_bool_exp
lastAdjustmentAction_id: String_comparison_exp
lastAdjustmentTimestamp: numeric_comparison_exp
paused: Boolean_comparison_exp
pausedAction: Action_bool_exp
pausedAction_id: String_comparison_exp
pausedTime: numeric_comparison_exp
position: numeric_comparison_exp
ratePerSecond: numeric_comparison_exp
recipient: String_comparison_exp
refundedAmount: numeric_comparison_exp
sender: String_comparison_exp
snapshotAmount: numeric_comparison_exp
startTime: numeric_comparison_exp
subgraphId: numeric_comparison_exp
timestamp: numeric_comparison_exp
tokenId: numeric_comparison_exp
transferable: Boolean_comparison_exp
version: String_comparison_exp
voided: Boolean_comparison_exp
voidedAction: Action_bool_exp
voidedAction_id: String_comparison_exp
voidedTime: numeric_comparison_exp
withdrawnAmount: numeric_comparison_exp
}
```
### Fields
#### [Stream_bool_exp.\_and
](#)[[Stream_bool_exp!]
](/docs/api/flow/graphql/envio/inputs/stream-bool-exp.mdx)
#### [Stream_bool_exp.\_not
](#)[Stream_bool_exp
](/docs/api/flow/graphql/envio/inputs/stream-bool-exp.mdx)
#### [Stream_bool_exp.\_or
](#)[[Stream_bool_exp!]
](/docs/api/flow/graphql/envio/inputs/stream-bool-exp.mdx)
#### [Stream_bool_exp.actions
](#)[Action_bool_exp
](/docs/api/flow/graphql/envio/inputs/action-bool-exp.mdx)
#### [Stream_bool_exp.alias
](#)[String_comparison_exp
](/docs/api/flow/graphql/envio/inputs/string-comparison-exp.mdx)
#### [Stream_bool_exp.asset
](#)[Asset_bool_exp
](/docs/api/flow/graphql/envio/inputs/asset-bool-exp.mdx)
#### [Stream_bool_exp.assetDecimalsValue
](#)[numeric_comparison_exp
](/docs/api/flow/graphql/envio/inputs/numeric-comparison-exp.mdx)
#### [Stream_bool_exp.asset_id
](#)[String_comparison_exp
](/docs/api/flow/graphql/envio/inputs/string-comparison-exp.mdx)
#### [Stream_bool_exp.availableAmount
](#)[numeric_comparison_exp
](/docs/api/flow/graphql/envio/inputs/numeric-comparison-exp.mdx)
#### [Stream_bool_exp.batch
](#)[Batch_bool_exp
](/docs/api/flow/graphql/envio/inputs/batch-bool-exp.mdx)
#### [Stream_bool_exp.batch_id
](#)[String_comparison_exp
](/docs/api/flow/graphql/envio/inputs/string-comparison-exp.mdx)
#### [Stream_bool_exp.category
](#)[streamcategory_comparison_exp
](/docs/api/flow/graphql/envio/inputs/streamcategory-comparison-exp.mdx)
#### [Stream_bool_exp.chainId
](#)[numeric_comparison_exp
](/docs/api/flow/graphql/envio/inputs/numeric-comparison-exp.mdx)
#### [Stream_bool_exp.contract
](#)[String_comparison_exp
](/docs/api/flow/graphql/envio/inputs/string-comparison-exp.mdx)
#### [Stream_bool_exp.creator
](#)[String_comparison_exp
](/docs/api/flow/graphql/envio/inputs/string-comparison-exp.mdx)
#### [Stream_bool_exp.db_write_timestamp
](#)[timestamp_comparison_exp
](/docs/api/flow/graphql/envio/inputs/timestamp-comparison-exp.mdx)
#### [Stream_bool_exp.depletionTime
](#)[numeric_comparison_exp
](/docs/api/flow/graphql/envio/inputs/numeric-comparison-exp.mdx)
#### [Stream_bool_exp.depositedAmount
](#)[numeric_comparison_exp
](/docs/api/flow/graphql/envio/inputs/numeric-comparison-exp.mdx)
#### [Stream_bool_exp.forgivenDebt
](#)[numeric_comparison_exp
](/docs/api/flow/graphql/envio/inputs/numeric-comparison-exp.mdx)
#### [Stream_bool_exp.hash
](#)[String_comparison_exp
](/docs/api/flow/graphql/envio/inputs/string-comparison-exp.mdx)
#### [Stream_bool_exp.id
](#)[String_comparison_exp
](/docs/api/flow/graphql/envio/inputs/string-comparison-exp.mdx)
#### [Stream_bool_exp.lastAdjustmentAction
](#)[Action_bool_exp
](/docs/api/flow/graphql/envio/inputs/action-bool-exp.mdx)
#### [Stream_bool_exp.lastAdjustmentAction_id
](#)[String_comparison_exp
](/docs/api/flow/graphql/envio/inputs/string-comparison-exp.mdx)
#### [Stream_bool_exp.lastAdjustmentTimestamp
](#)[numeric_comparison_exp
](/docs/api/flow/graphql/envio/inputs/numeric-comparison-exp.mdx)
#### [Stream_bool_exp.paused
](#)[Boolean_comparison_exp
](/docs/api/flow/graphql/envio/inputs/boolean-comparison-exp.mdx)
#### [Stream_bool_exp.pausedAction
](#)[Action_bool_exp
](/docs/api/flow/graphql/envio/inputs/action-bool-exp.mdx)
#### [Stream_bool_exp.pausedAction_id
](#)[String_comparison_exp
](/docs/api/flow/graphql/envio/inputs/string-comparison-exp.mdx)
#### [Stream_bool_exp.pausedTime
](#)[numeric_comparison_exp
](/docs/api/flow/graphql/envio/inputs/numeric-comparison-exp.mdx)
#### [Stream_bool_exp.position
](#)[numeric_comparison_exp
](/docs/api/flow/graphql/envio/inputs/numeric-comparison-exp.mdx)
#### [Stream_bool_exp.ratePerSecond
](#)[numeric_comparison_exp
](/docs/api/flow/graphql/envio/inputs/numeric-comparison-exp.mdx)
#### [Stream_bool_exp.recipient
](#)[String_comparison_exp
](/docs/api/flow/graphql/envio/inputs/string-comparison-exp.mdx)
#### [Stream_bool_exp.refundedAmount
](#)[numeric_comparison_exp
](/docs/api/flow/graphql/envio/inputs/numeric-comparison-exp.mdx)
#### [Stream_bool_exp.sender
](#)[String_comparison_exp
](/docs/api/flow/graphql/envio/inputs/string-comparison-exp.mdx)
#### [Stream_bool_exp.snapshotAmount
](#)[numeric_comparison_exp
](/docs/api/flow/graphql/envio/inputs/numeric-comparison-exp.mdx)
#### [Stream_bool_exp.startTime
](#)[numeric_comparison_exp
](/docs/api/flow/graphql/envio/inputs/numeric-comparison-exp.mdx)
#### [Stream_bool_exp.subgraphId
](#)[numeric_comparison_exp
](/docs/api/flow/graphql/envio/inputs/numeric-comparison-exp.mdx)
#### [Stream_bool_exp.timestamp
](#)[numeric_comparison_exp
](/docs/api/flow/graphql/envio/inputs/numeric-comparison-exp.mdx)
#### [Stream_bool_exp.tokenId
](#)[numeric_comparison_exp
](/docs/api/flow/graphql/envio/inputs/numeric-comparison-exp.mdx)
#### [Stream_bool_exp.transferable
](#)[Boolean_comparison_exp
](/docs/api/flow/graphql/envio/inputs/boolean-comparison-exp.mdx)
#### [Stream_bool_exp.version
](#)[String_comparison_exp
](/docs/api/flow/graphql/envio/inputs/string-comparison-exp.mdx)
#### [Stream_bool_exp.voided
](#)[Boolean_comparison_exp
](/docs/api/flow/graphql/envio/inputs/boolean-comparison-exp.mdx)
#### [Stream_bool_exp.voidedAction
](#)[Action_bool_exp
](/docs/api/flow/graphql/envio/inputs/action-bool-exp.mdx)
#### [Stream_bool_exp.voidedAction_id
](#)[String_comparison_exp
](/docs/api/flow/graphql/envio/inputs/string-comparison-exp.mdx)
#### [Stream_bool_exp.voidedTime
](#)[numeric_comparison_exp
](/docs/api/flow/graphql/envio/inputs/numeric-comparison-exp.mdx)
#### [Stream_bool_exp.withdrawnAmount
](#)[numeric_comparison_exp
](/docs/api/flow/graphql/envio/inputs/numeric-comparison-exp.mdx)
---
## Stream_max_order_by
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
order by max() on columns of table "Stream"
```graphql
input Stream_max_order_by {
alias: order_by
assetDecimalsValue: order_by
asset_id: order_by
availableAmount: order_by
batch_id: order_by
category: order_by
chainId: order_by
contract: order_by
creator: order_by
db_write_timestamp: order_by
depletionTime: order_by
depositedAmount: order_by
forgivenDebt: order_by
hash: order_by
id: order_by
lastAdjustmentAction_id: order_by
lastAdjustmentTimestamp: order_by
pausedAction_id: order_by
pausedTime: order_by
position: order_by
ratePerSecond: order_by
recipient: order_by
refundedAmount: order_by
sender: order_by
snapshotAmount: order_by
startTime: order_by
subgraphId: order_by
timestamp: order_by
tokenId: order_by
version: order_by
voidedAction_id: order_by
voidedTime: order_by
withdrawnAmount: order_by
}
```
### Fields
#### [Stream_max_order_by.alias
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
#### [Stream_max_order_by.assetDecimalsValue
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
#### [Stream_max_order_by.asset_id
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
#### [Stream_max_order_by.availableAmount
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
#### [Stream_max_order_by.batch_id
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
#### [Stream_max_order_by.category
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
#### [Stream_max_order_by.chainId
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
#### [Stream_max_order_by.contract
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
#### [Stream_max_order_by.creator
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
#### [Stream_max_order_by.db_write_timestamp
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
#### [Stream_max_order_by.depletionTime
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
#### [Stream_max_order_by.depositedAmount
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
#### [Stream_max_order_by.forgivenDebt
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
#### [Stream_max_order_by.hash
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
#### [Stream_max_order_by.id
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
#### [Stream_max_order_by.lastAdjustmentAction_id
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
#### [Stream_max_order_by.lastAdjustmentTimestamp
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
#### [Stream_max_order_by.pausedAction_id
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
#### [Stream_max_order_by.pausedTime
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
#### [Stream_max_order_by.position
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
#### [Stream_max_order_by.ratePerSecond
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
#### [Stream_max_order_by.recipient
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
#### [Stream_max_order_by.refundedAmount
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
#### [Stream_max_order_by.sender
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
#### [Stream_max_order_by.snapshotAmount
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
#### [Stream_max_order_by.startTime
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
#### [Stream_max_order_by.subgraphId
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
#### [Stream_max_order_by.timestamp
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
#### [Stream_max_order_by.tokenId
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
#### [Stream_max_order_by.version
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
#### [Stream_max_order_by.voidedAction_id
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
#### [Stream_max_order_by.voidedTime
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
#### [Stream_max_order_by.withdrawnAmount
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
---
## Stream_min_order_by
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
order by min() on columns of table "Stream"
```graphql
input Stream_min_order_by {
alias: order_by
assetDecimalsValue: order_by
asset_id: order_by
availableAmount: order_by
batch_id: order_by
category: order_by
chainId: order_by
contract: order_by
creator: order_by
db_write_timestamp: order_by
depletionTime: order_by
depositedAmount: order_by
forgivenDebt: order_by
hash: order_by
id: order_by
lastAdjustmentAction_id: order_by
lastAdjustmentTimestamp: order_by
pausedAction_id: order_by
pausedTime: order_by
position: order_by
ratePerSecond: order_by
recipient: order_by
refundedAmount: order_by
sender: order_by
snapshotAmount: order_by
startTime: order_by
subgraphId: order_by
timestamp: order_by
tokenId: order_by
version: order_by
voidedAction_id: order_by
voidedTime: order_by
withdrawnAmount: order_by
}
```
### Fields
#### [Stream_min_order_by.alias
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
#### [Stream_min_order_by.assetDecimalsValue
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
#### [Stream_min_order_by.asset_id
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
#### [Stream_min_order_by.availableAmount
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
#### [Stream_min_order_by.batch_id
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
#### [Stream_min_order_by.category
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
#### [Stream_min_order_by.chainId
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
#### [Stream_min_order_by.contract
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
#### [Stream_min_order_by.creator
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
#### [Stream_min_order_by.db_write_timestamp
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
#### [Stream_min_order_by.depletionTime
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
#### [Stream_min_order_by.depositedAmount
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
#### [Stream_min_order_by.forgivenDebt
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
#### [Stream_min_order_by.hash
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
#### [Stream_min_order_by.id
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
#### [Stream_min_order_by.lastAdjustmentAction_id
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
#### [Stream_min_order_by.lastAdjustmentTimestamp
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
#### [Stream_min_order_by.pausedAction_id
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
#### [Stream_min_order_by.pausedTime
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
#### [Stream_min_order_by.position
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
#### [Stream_min_order_by.ratePerSecond
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
#### [Stream_min_order_by.recipient
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
#### [Stream_min_order_by.refundedAmount
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
#### [Stream_min_order_by.sender
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
#### [Stream_min_order_by.snapshotAmount
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
#### [Stream_min_order_by.startTime
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
#### [Stream_min_order_by.subgraphId
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
#### [Stream_min_order_by.timestamp
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
#### [Stream_min_order_by.tokenId
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
#### [Stream_min_order_by.version
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
#### [Stream_min_order_by.voidedAction_id
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
#### [Stream_min_order_by.voidedTime
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
#### [Stream_min_order_by.withdrawnAmount
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
---
## Stream_order_by
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
Ordering options when selecting data from "Stream".
```graphql
input Stream_order_by {
actions_aggregate: Action_aggregate_order_by
alias: order_by
asset: Asset_order_by
assetDecimalsValue: order_by
asset_id: order_by
availableAmount: order_by
batch: Batch_order_by
batch_id: order_by
category: order_by
chainId: order_by
contract: order_by
creator: order_by
db_write_timestamp: order_by
depletionTime: order_by
depositedAmount: order_by
forgivenDebt: order_by
hash: order_by
id: order_by
lastAdjustmentAction: Action_order_by
lastAdjustmentAction_id: order_by
lastAdjustmentTimestamp: order_by
paused: order_by
pausedAction: Action_order_by
pausedAction_id: order_by
pausedTime: order_by
position: order_by
ratePerSecond: order_by
recipient: order_by
refundedAmount: order_by
sender: order_by
snapshotAmount: order_by
startTime: order_by
subgraphId: order_by
timestamp: order_by
tokenId: order_by
transferable: order_by
version: order_by
voided: order_by
voidedAction: Action_order_by
voidedAction_id: order_by
voidedTime: order_by
withdrawnAmount: order_by
}
```
### Fields
#### [Stream_order_by.actions_aggregate
](#)[Action_aggregate_order_by
](/docs/api/flow/graphql/envio/inputs/action-aggregate-order-by.mdx)
#### [Stream_order_by.alias
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
#### [Stream_order_by.asset
](#)[Asset_order_by
](/docs/api/flow/graphql/envio/inputs/asset-order-by.mdx)
#### [Stream_order_by.assetDecimalsValue
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
#### [Stream_order_by.asset_id
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
#### [Stream_order_by.availableAmount
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
#### [Stream_order_by.batch
](#)[Batch_order_by
](/docs/api/flow/graphql/envio/inputs/batch-order-by.mdx)
#### [Stream_order_by.batch_id
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
#### [Stream_order_by.category
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
#### [Stream_order_by.chainId
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
#### [Stream_order_by.contract
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
#### [Stream_order_by.creator
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
#### [Stream_order_by.db_write_timestamp
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
#### [Stream_order_by.depletionTime
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
#### [Stream_order_by.depositedAmount
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
#### [Stream_order_by.forgivenDebt
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
#### [Stream_order_by.hash
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
#### [Stream_order_by.id
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
#### [Stream_order_by.lastAdjustmentAction
](#)[Action_order_by
](/docs/api/flow/graphql/envio/inputs/action-order-by.mdx)
#### [Stream_order_by.lastAdjustmentAction_id
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
#### [Stream_order_by.lastAdjustmentTimestamp
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
#### [Stream_order_by.paused
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
#### [Stream_order_by.pausedAction
](#)[Action_order_by
](/docs/api/flow/graphql/envio/inputs/action-order-by.mdx)
#### [Stream_order_by.pausedAction_id
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
#### [Stream_order_by.pausedTime
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
#### [Stream_order_by.position
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
#### [Stream_order_by.ratePerSecond
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
#### [Stream_order_by.recipient
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
#### [Stream_order_by.refundedAmount
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
#### [Stream_order_by.sender
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
#### [Stream_order_by.snapshotAmount
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
#### [Stream_order_by.startTime
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
#### [Stream_order_by.subgraphId
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
#### [Stream_order_by.timestamp
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
#### [Stream_order_by.tokenId
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
#### [Stream_order_by.transferable
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
#### [Stream_order_by.version
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
#### [Stream_order_by.voided
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
#### [Stream_order_by.voidedAction
](#)[Action_order_by
](/docs/api/flow/graphql/envio/inputs/action-order-by.mdx)
#### [Stream_order_by.voidedAction_id
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
#### [Stream_order_by.voidedTime
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
#### [Stream_order_by.withdrawnAmount
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
---
## Stream_stddev_order_by
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
order by stddev() on columns of table "Stream"
```graphql
input Stream_stddev_order_by {
assetDecimalsValue: order_by
availableAmount: order_by
chainId: order_by
depletionTime: order_by
depositedAmount: order_by
forgivenDebt: order_by
lastAdjustmentTimestamp: order_by
pausedTime: order_by
position: order_by
ratePerSecond: order_by
refundedAmount: order_by
snapshotAmount: order_by
startTime: order_by
subgraphId: order_by
timestamp: order_by
tokenId: order_by
voidedTime: order_by
withdrawnAmount: order_by
}
```
### Fields
#### [Stream_stddev_order_by.assetDecimalsValue
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
#### [Stream_stddev_order_by.availableAmount
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
#### [Stream_stddev_order_by.chainId
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
#### [Stream_stddev_order_by.depletionTime
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
#### [Stream_stddev_order_by.depositedAmount
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
#### [Stream_stddev_order_by.forgivenDebt
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
#### [Stream_stddev_order_by.lastAdjustmentTimestamp
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
#### [Stream_stddev_order_by.pausedTime
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
#### [Stream_stddev_order_by.position
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
#### [Stream_stddev_order_by.ratePerSecond
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
#### [Stream_stddev_order_by.refundedAmount
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
#### [Stream_stddev_order_by.snapshotAmount
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
#### [Stream_stddev_order_by.startTime
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
#### [Stream_stddev_order_by.subgraphId
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
#### [Stream_stddev_order_by.timestamp
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
#### [Stream_stddev_order_by.tokenId
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
#### [Stream_stddev_order_by.voidedTime
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
#### [Stream_stddev_order_by.withdrawnAmount
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
---
## Stream_stddev_pop_order_by
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
order by stddev_pop() on columns of table "Stream"
```graphql
input Stream_stddev_pop_order_by {
assetDecimalsValue: order_by
availableAmount: order_by
chainId: order_by
depletionTime: order_by
depositedAmount: order_by
forgivenDebt: order_by
lastAdjustmentTimestamp: order_by
pausedTime: order_by
position: order_by
ratePerSecond: order_by
refundedAmount: order_by
snapshotAmount: order_by
startTime: order_by
subgraphId: order_by
timestamp: order_by
tokenId: order_by
voidedTime: order_by
withdrawnAmount: order_by
}
```
### Fields
#### [Stream_stddev_pop_order_by.assetDecimalsValue
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
#### [Stream_stddev_pop_order_by.availableAmount
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
#### [Stream_stddev_pop_order_by.chainId
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
#### [Stream_stddev_pop_order_by.depletionTime
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
#### [Stream_stddev_pop_order_by.depositedAmount
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
#### [Stream_stddev_pop_order_by.forgivenDebt
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
#### [Stream_stddev_pop_order_by.lastAdjustmentTimestamp
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
#### [Stream_stddev_pop_order_by.pausedTime
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
#### [Stream_stddev_pop_order_by.position
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
#### [Stream_stddev_pop_order_by.ratePerSecond
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
#### [Stream_stddev_pop_order_by.refundedAmount
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
#### [Stream_stddev_pop_order_by.snapshotAmount
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
#### [Stream_stddev_pop_order_by.startTime
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
#### [Stream_stddev_pop_order_by.subgraphId
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
#### [Stream_stddev_pop_order_by.timestamp
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
#### [Stream_stddev_pop_order_by.tokenId
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
#### [Stream_stddev_pop_order_by.voidedTime
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
#### [Stream_stddev_pop_order_by.withdrawnAmount
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
---
## Stream_stddev_samp_order_by
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
order by stddev_samp() on columns of table "Stream"
```graphql
input Stream_stddev_samp_order_by {
assetDecimalsValue: order_by
availableAmount: order_by
chainId: order_by
depletionTime: order_by
depositedAmount: order_by
forgivenDebt: order_by
lastAdjustmentTimestamp: order_by
pausedTime: order_by
position: order_by
ratePerSecond: order_by
refundedAmount: order_by
snapshotAmount: order_by
startTime: order_by
subgraphId: order_by
timestamp: order_by
tokenId: order_by
voidedTime: order_by
withdrawnAmount: order_by
}
```
### Fields
#### [Stream_stddev_samp_order_by.assetDecimalsValue
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
#### [Stream_stddev_samp_order_by.availableAmount
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
#### [Stream_stddev_samp_order_by.chainId
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
#### [Stream_stddev_samp_order_by.depletionTime
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
#### [Stream_stddev_samp_order_by.depositedAmount
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
#### [Stream_stddev_samp_order_by.forgivenDebt
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
#### [Stream_stddev_samp_order_by.lastAdjustmentTimestamp
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
#### [Stream_stddev_samp_order_by.pausedTime
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
#### [Stream_stddev_samp_order_by.position
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
#### [Stream_stddev_samp_order_by.ratePerSecond
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
#### [Stream_stddev_samp_order_by.refundedAmount
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
#### [Stream_stddev_samp_order_by.snapshotAmount
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
#### [Stream_stddev_samp_order_by.startTime
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
#### [Stream_stddev_samp_order_by.subgraphId
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
#### [Stream_stddev_samp_order_by.timestamp
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
#### [Stream_stddev_samp_order_by.tokenId
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
#### [Stream_stddev_samp_order_by.voidedTime
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
#### [Stream_stddev_samp_order_by.withdrawnAmount
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
---
## Stream_stream_cursor_input
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
Streaming cursor of the table "Stream"
```graphql
input Stream_stream_cursor_input {
initial_value: Stream_stream_cursor_value_input!
ordering: cursor_ordering
}
```
### Fields
#### [Stream_stream_cursor_input.initial_value
](#)[Stream_stream_cursor_value_input!
](/docs/api/flow/graphql/envio/inputs/stream-stream-cursor-value-input.mdx)
Stream column input with initial value
#### [Stream_stream_cursor_input.ordering
](#)[cursor_ordering
](/docs/api/flow/graphql/envio/enums/cursor-ordering.mdx)
cursor ordering
---
## Stream_stream_cursor_value_input
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
Initial value of the column from where the streaming should start
```graphql
input Stream_stream_cursor_value_input {
alias: String
assetDecimalsValue: numeric
asset_id: String
availableAmount: numeric
batch_id: String
category: streamcategory
chainId: numeric
contract: String
creator: String
db_write_timestamp: timestamp
depletionTime: numeric
depositedAmount: numeric
forgivenDebt: numeric
hash: String
id: String
lastAdjustmentAction_id: String
lastAdjustmentTimestamp: numeric
paused: Boolean
pausedAction_id: String
pausedTime: numeric
position: numeric
ratePerSecond: numeric
recipient: String
refundedAmount: numeric
sender: String
snapshotAmount: numeric
startTime: numeric
subgraphId: numeric
timestamp: numeric
tokenId: numeric
transferable: Boolean
version: String
voided: Boolean
voidedAction_id: String
voidedTime: numeric
withdrawnAmount: numeric
}
```
### Fields
#### [Stream_stream_cursor_value_input.alias
](#)[String
](/docs/api/flow/graphql/envio/scalars/string.mdx)
#### [Stream_stream_cursor_value_input.assetDecimalsValue
](#)[numeric
](/docs/api/flow/graphql/envio/scalars/numeric.mdx)
#### [Stream_stream_cursor_value_input.asset_id
](#)[String
](/docs/api/flow/graphql/envio/scalars/string.mdx)
#### [Stream_stream_cursor_value_input.availableAmount
](#)[numeric
](/docs/api/flow/graphql/envio/scalars/numeric.mdx)
#### [Stream_stream_cursor_value_input.batch_id
](#)[String
](/docs/api/flow/graphql/envio/scalars/string.mdx)
#### [Stream_stream_cursor_value_input.category
](#)[streamcategory
](/docs/api/flow/graphql/envio/scalars/streamcategory.mdx)
#### [Stream_stream_cursor_value_input.chainId
](#)[numeric
](/docs/api/flow/graphql/envio/scalars/numeric.mdx)
#### [Stream_stream_cursor_value_input.contract
](#)[String
](/docs/api/flow/graphql/envio/scalars/string.mdx)
#### [Stream_stream_cursor_value_input.creator
](#)[String
](/docs/api/flow/graphql/envio/scalars/string.mdx)
#### [Stream_stream_cursor_value_input.db_write_timestamp
](#)[timestamp
](/docs/api/flow/graphql/envio/scalars/timestamp.mdx)
#### [Stream_stream_cursor_value_input.depletionTime
](#)[numeric
](/docs/api/flow/graphql/envio/scalars/numeric.mdx)
#### [Stream_stream_cursor_value_input.depositedAmount
](#)[numeric
](/docs/api/flow/graphql/envio/scalars/numeric.mdx)
#### [Stream_stream_cursor_value_input.forgivenDebt
](#)[numeric
](/docs/api/flow/graphql/envio/scalars/numeric.mdx)
#### [Stream_stream_cursor_value_input.hash
](#)[String
](/docs/api/flow/graphql/envio/scalars/string.mdx)
#### [Stream_stream_cursor_value_input.id
](#)[String
](/docs/api/flow/graphql/envio/scalars/string.mdx)
#### [Stream_stream_cursor_value_input.lastAdjustmentAction_id
](#)[String
](/docs/api/flow/graphql/envio/scalars/string.mdx)
#### [Stream_stream_cursor_value_input.lastAdjustmentTimestamp
](#)[numeric
](/docs/api/flow/graphql/envio/scalars/numeric.mdx)
#### [Stream_stream_cursor_value_input.paused
](#)[Boolean
](/docs/api/flow/graphql/envio/scalars/boolean.mdx)
#### [Stream_stream_cursor_value_input.pausedAction_id
](#)[String
](/docs/api/flow/graphql/envio/scalars/string.mdx)
#### [Stream_stream_cursor_value_input.pausedTime
](#)[numeric
](/docs/api/flow/graphql/envio/scalars/numeric.mdx)
#### [Stream_stream_cursor_value_input.position
](#)[numeric
](/docs/api/flow/graphql/envio/scalars/numeric.mdx)
#### [Stream_stream_cursor_value_input.ratePerSecond
](#)[numeric
](/docs/api/flow/graphql/envio/scalars/numeric.mdx)
#### [Stream_stream_cursor_value_input.recipient
](#)[String
](/docs/api/flow/graphql/envio/scalars/string.mdx)
#### [Stream_stream_cursor_value_input.refundedAmount
](#)[numeric
](/docs/api/flow/graphql/envio/scalars/numeric.mdx)
#### [Stream_stream_cursor_value_input.sender
](#)[String
](/docs/api/flow/graphql/envio/scalars/string.mdx)
#### [Stream_stream_cursor_value_input.snapshotAmount
](#)[numeric
](/docs/api/flow/graphql/envio/scalars/numeric.mdx)
#### [Stream_stream_cursor_value_input.startTime
](#)[numeric
](/docs/api/flow/graphql/envio/scalars/numeric.mdx)
#### [Stream_stream_cursor_value_input.subgraphId
](#)[numeric
](/docs/api/flow/graphql/envio/scalars/numeric.mdx)
#### [Stream_stream_cursor_value_input.timestamp
](#)[numeric
](/docs/api/flow/graphql/envio/scalars/numeric.mdx)
#### [Stream_stream_cursor_value_input.tokenId
](#)[numeric
](/docs/api/flow/graphql/envio/scalars/numeric.mdx)
#### [Stream_stream_cursor_value_input.transferable
](#)[Boolean
](/docs/api/flow/graphql/envio/scalars/boolean.mdx)
#### [Stream_stream_cursor_value_input.version
](#)[String
](/docs/api/flow/graphql/envio/scalars/string.mdx)
#### [Stream_stream_cursor_value_input.voided
](#)[Boolean
](/docs/api/flow/graphql/envio/scalars/boolean.mdx)
#### [Stream_stream_cursor_value_input.voidedAction_id
](#)[String
](/docs/api/flow/graphql/envio/scalars/string.mdx)
#### [Stream_stream_cursor_value_input.voidedTime
](#)[numeric
](/docs/api/flow/graphql/envio/scalars/numeric.mdx)
#### [Stream_stream_cursor_value_input.withdrawnAmount
](#)[numeric
](/docs/api/flow/graphql/envio/scalars/numeric.mdx)
---
## Stream_sum_order_by
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
order by sum() on columns of table "Stream"
```graphql
input Stream_sum_order_by {
assetDecimalsValue: order_by
availableAmount: order_by
chainId: order_by
depletionTime: order_by
depositedAmount: order_by
forgivenDebt: order_by
lastAdjustmentTimestamp: order_by
pausedTime: order_by
position: order_by
ratePerSecond: order_by
refundedAmount: order_by
snapshotAmount: order_by
startTime: order_by
subgraphId: order_by
timestamp: order_by
tokenId: order_by
voidedTime: order_by
withdrawnAmount: order_by
}
```
### Fields
#### [Stream_sum_order_by.assetDecimalsValue
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
#### [Stream_sum_order_by.availableAmount
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
#### [Stream_sum_order_by.chainId
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
#### [Stream_sum_order_by.depletionTime
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
#### [Stream_sum_order_by.depositedAmount
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
#### [Stream_sum_order_by.forgivenDebt
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
#### [Stream_sum_order_by.lastAdjustmentTimestamp
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
#### [Stream_sum_order_by.pausedTime
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
#### [Stream_sum_order_by.position
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
#### [Stream_sum_order_by.ratePerSecond
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
#### [Stream_sum_order_by.refundedAmount
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
#### [Stream_sum_order_by.snapshotAmount
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
#### [Stream_sum_order_by.startTime
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
#### [Stream_sum_order_by.subgraphId
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
#### [Stream_sum_order_by.timestamp
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
#### [Stream_sum_order_by.tokenId
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
#### [Stream_sum_order_by.voidedTime
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
#### [Stream_sum_order_by.withdrawnAmount
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
---
## Stream_var_pop_order_by
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
order by var_pop() on columns of table "Stream"
```graphql
input Stream_var_pop_order_by {
assetDecimalsValue: order_by
availableAmount: order_by
chainId: order_by
depletionTime: order_by
depositedAmount: order_by
forgivenDebt: order_by
lastAdjustmentTimestamp: order_by
pausedTime: order_by
position: order_by
ratePerSecond: order_by
refundedAmount: order_by
snapshotAmount: order_by
startTime: order_by
subgraphId: order_by
timestamp: order_by
tokenId: order_by
voidedTime: order_by
withdrawnAmount: order_by
}
```
### Fields
#### [Stream_var_pop_order_by.assetDecimalsValue
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
#### [Stream_var_pop_order_by.availableAmount
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
#### [Stream_var_pop_order_by.chainId
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
#### [Stream_var_pop_order_by.depletionTime
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
#### [Stream_var_pop_order_by.depositedAmount
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
#### [Stream_var_pop_order_by.forgivenDebt
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
#### [Stream_var_pop_order_by.lastAdjustmentTimestamp
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
#### [Stream_var_pop_order_by.pausedTime
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
#### [Stream_var_pop_order_by.position
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
#### [Stream_var_pop_order_by.ratePerSecond
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
#### [Stream_var_pop_order_by.refundedAmount
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
#### [Stream_var_pop_order_by.snapshotAmount
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
#### [Stream_var_pop_order_by.startTime
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
#### [Stream_var_pop_order_by.subgraphId
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
#### [Stream_var_pop_order_by.timestamp
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
#### [Stream_var_pop_order_by.tokenId
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
#### [Stream_var_pop_order_by.voidedTime
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
#### [Stream_var_pop_order_by.withdrawnAmount
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
---
## Stream_var_samp_order_by
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
order by var_samp() on columns of table "Stream"
```graphql
input Stream_var_samp_order_by {
assetDecimalsValue: order_by
availableAmount: order_by
chainId: order_by
depletionTime: order_by
depositedAmount: order_by
forgivenDebt: order_by
lastAdjustmentTimestamp: order_by
pausedTime: order_by
position: order_by
ratePerSecond: order_by
refundedAmount: order_by
snapshotAmount: order_by
startTime: order_by
subgraphId: order_by
timestamp: order_by
tokenId: order_by
voidedTime: order_by
withdrawnAmount: order_by
}
```
### Fields
#### [Stream_var_samp_order_by.assetDecimalsValue
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
#### [Stream_var_samp_order_by.availableAmount
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
#### [Stream_var_samp_order_by.chainId
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
#### [Stream_var_samp_order_by.depletionTime
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
#### [Stream_var_samp_order_by.depositedAmount
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
#### [Stream_var_samp_order_by.forgivenDebt
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
#### [Stream_var_samp_order_by.lastAdjustmentTimestamp
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
#### [Stream_var_samp_order_by.pausedTime
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
#### [Stream_var_samp_order_by.position
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
#### [Stream_var_samp_order_by.ratePerSecond
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
#### [Stream_var_samp_order_by.refundedAmount
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
#### [Stream_var_samp_order_by.snapshotAmount
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
#### [Stream_var_samp_order_by.startTime
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
#### [Stream_var_samp_order_by.subgraphId
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
#### [Stream_var_samp_order_by.timestamp
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
#### [Stream_var_samp_order_by.tokenId
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
#### [Stream_var_samp_order_by.voidedTime
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
#### [Stream_var_samp_order_by.withdrawnAmount
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
---
## Stream_variance_order_by
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
order by variance() on columns of table "Stream"
```graphql
input Stream_variance_order_by {
assetDecimalsValue: order_by
availableAmount: order_by
chainId: order_by
depletionTime: order_by
depositedAmount: order_by
forgivenDebt: order_by
lastAdjustmentTimestamp: order_by
pausedTime: order_by
position: order_by
ratePerSecond: order_by
refundedAmount: order_by
snapshotAmount: order_by
startTime: order_by
subgraphId: order_by
timestamp: order_by
tokenId: order_by
voidedTime: order_by
withdrawnAmount: order_by
}
```
### Fields
#### [Stream_variance_order_by.assetDecimalsValue
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
#### [Stream_variance_order_by.availableAmount
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
#### [Stream_variance_order_by.chainId
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
#### [Stream_variance_order_by.depletionTime
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
#### [Stream_variance_order_by.depositedAmount
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
#### [Stream_variance_order_by.forgivenDebt
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
#### [Stream_variance_order_by.lastAdjustmentTimestamp
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
#### [Stream_variance_order_by.pausedTime
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
#### [Stream_variance_order_by.position
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
#### [Stream_variance_order_by.ratePerSecond
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
#### [Stream_variance_order_by.refundedAmount
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
#### [Stream_variance_order_by.snapshotAmount
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
#### [Stream_variance_order_by.startTime
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
#### [Stream_variance_order_by.subgraphId
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
#### [Stream_variance_order_by.timestamp
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
#### [Stream_variance_order_by.tokenId
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
#### [Stream_variance_order_by.voidedTime
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
#### [Stream_variance_order_by.withdrawnAmount
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
---
## streamcategory_comparison_exp
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
Boolean expression to compare columns of type "streamcategory". All fields are combined with logical 'AND'.
```graphql
input streamcategory_comparison_exp {
_eq: streamcategory
_gt: streamcategory
_gte: streamcategory
_in: [streamcategory!]
_is_null: Boolean
_lt: streamcategory
_lte: streamcategory
_neq: streamcategory
_nin: [streamcategory!]
}
```
### Fields
#### [streamcategory_comparison_exp.\_eq
](#)[streamcategory
](/docs/api/flow/graphql/envio/scalars/streamcategory.mdx)
#### [streamcategory_comparison_exp.\_gt
](#)[streamcategory
](/docs/api/flow/graphql/envio/scalars/streamcategory.mdx)
#### [streamcategory_comparison_exp.\_gte
](#)[streamcategory
](/docs/api/flow/graphql/envio/scalars/streamcategory.mdx)
#### [streamcategory_comparison_exp.\_in
](#)[[streamcategory!]
](/docs/api/flow/graphql/envio/scalars/streamcategory.mdx)
#### [streamcategory_comparison_exp.\_is_null
](#)[Boolean
](/docs/api/flow/graphql/envio/scalars/boolean.mdx)
#### [streamcategory_comparison_exp.\_lt
](#)[streamcategory
](/docs/api/flow/graphql/envio/scalars/streamcategory.mdx)
#### [streamcategory_comparison_exp.\_lte
](#)[streamcategory
](/docs/api/flow/graphql/envio/scalars/streamcategory.mdx)
#### [streamcategory_comparison_exp.\_neq
](#)[streamcategory
](/docs/api/flow/graphql/envio/scalars/streamcategory.mdx)
#### [streamcategory_comparison_exp.\_nin
](#)[[streamcategory!]
](/docs/api/flow/graphql/envio/scalars/streamcategory.mdx)
---
## String_array_comparison_exp (2)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
Boolean expression to compare columns of type "String". All fields are combined with logical 'AND'.
```graphql
input String_array_comparison_exp {
_contained_in: [String!]
_contains: [String!]
_eq: [String!]
_gt: [String!]
_gte: [String!]
_in: [[String!]!]
_is_null: Boolean
_lt: [String!]
_lte: [String!]
_neq: [String!]
_nin: [[String!]!]
}
```
### Fields
#### [String_array_comparison_exp.\_contained_in
](#)[[String!]
](/docs/api/flow/graphql/envio/scalars/string.mdx)
is the array contained in the given array value
#### [String_array_comparison_exp.\_contains
](#)[[String!]
](/docs/api/flow/graphql/envio/scalars/string.mdx)
does the array contain the given value
#### [String_array_comparison_exp.\_eq
](#)[[String!]
](/docs/api/flow/graphql/envio/scalars/string.mdx)
#### [String_array_comparison_exp.\_gt
](#)[[String!]
](/docs/api/flow/graphql/envio/scalars/string.mdx)
#### [String_array_comparison_exp.\_gte
](#)[[String!]
](/docs/api/flow/graphql/envio/scalars/string.mdx)
#### [String_array_comparison_exp.\_in
](#)[[[String!]!]
](/docs/api/flow/graphql/envio/scalars/string.mdx)
#### [String_array_comparison_exp.\_is_null
](#)[Boolean
](/docs/api/flow/graphql/envio/scalars/boolean.mdx)
#### [String_array_comparison_exp.\_lt
](#)[[String!]
](/docs/api/flow/graphql/envio/scalars/string.mdx)
#### [String_array_comparison_exp.\_lte
](#)[[String!]
](/docs/api/flow/graphql/envio/scalars/string.mdx)
#### [String_array_comparison_exp.\_neq
](#)[[String!]
](/docs/api/flow/graphql/envio/scalars/string.mdx)
#### [String_array_comparison_exp.\_nin
](#)[[[String!]!]
](/docs/api/flow/graphql/envio/scalars/string.mdx)
---
## String_comparison_exp (2)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
Boolean expression to compare columns of type "String". All fields are combined with logical 'AND'.
```graphql
input String_comparison_exp {
_eq: String
_gt: String
_gte: String
_ilike: String
_in: [String!]
_iregex: String
_is_null: Boolean
_like: String
_lt: String
_lte: String
_neq: String
_nilike: String
_nin: [String!]
_niregex: String
_nlike: String
_nregex: String
_nsimilar: String
_regex: String
_similar: String
}
```
### Fields
#### [String_comparison_exp.\_eq
](#)[String
](/docs/api/flow/graphql/envio/scalars/string.mdx)
#### [String_comparison_exp.\_gt
](#)[String
](/docs/api/flow/graphql/envio/scalars/string.mdx)
#### [String_comparison_exp.\_gte
](#)[String
](/docs/api/flow/graphql/envio/scalars/string.mdx)
#### [String_comparison_exp.\_ilike
](#)[String
](/docs/api/flow/graphql/envio/scalars/string.mdx)
does the column match the given case-insensitive pattern
#### [String_comparison_exp.\_in
](#)[[String!]
](/docs/api/flow/graphql/envio/scalars/string.mdx)
#### [String_comparison_exp.\_iregex
](#)[String
](/docs/api/flow/graphql/envio/scalars/string.mdx)
does the column match the given POSIX regular expression, case insensitive
#### [String_comparison_exp.\_is_null
](#)[Boolean
](/docs/api/flow/graphql/envio/scalars/boolean.mdx)
#### [String_comparison_exp.\_like
](#)[String
](/docs/api/flow/graphql/envio/scalars/string.mdx)
does the column match the given pattern
#### [String_comparison_exp.\_lt
](#)[String
](/docs/api/flow/graphql/envio/scalars/string.mdx)
#### [String_comparison_exp.\_lte
](#)[String
](/docs/api/flow/graphql/envio/scalars/string.mdx)
#### [String_comparison_exp.\_neq
](#)[String
](/docs/api/flow/graphql/envio/scalars/string.mdx)
#### [String_comparison_exp.\_nilike
](#)[String
](/docs/api/flow/graphql/envio/scalars/string.mdx)
does the column NOT match the given case-insensitive pattern
#### [String_comparison_exp.\_nin
](#)[[String!]
](/docs/api/flow/graphql/envio/scalars/string.mdx)
#### [String_comparison_exp.\_niregex
](#)[String
](/docs/api/flow/graphql/envio/scalars/string.mdx)
does the column NOT match the given POSIX regular expression, case insensitive
#### [String_comparison_exp.\_nlike
](#)[String
](/docs/api/flow/graphql/envio/scalars/string.mdx)
does the column NOT match the given pattern
#### [String_comparison_exp.\_nregex
](#)[String
](/docs/api/flow/graphql/envio/scalars/string.mdx)
does the column NOT match the given POSIX regular expression, case sensitive
#### [String_comparison_exp.\_nsimilar
](#)[String
](/docs/api/flow/graphql/envio/scalars/string.mdx)
does the column NOT match the given SQL regular expression
#### [String_comparison_exp.\_regex
](#)[String
](/docs/api/flow/graphql/envio/scalars/string.mdx)
does the column match the given POSIX regular expression, case sensitive
#### [String_comparison_exp.\_similar
](#)[String
](/docs/api/flow/graphql/envio/scalars/string.mdx)
does the column match the given SQL regular expression
---
## timestamp_comparison_exp (2)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
Boolean expression to compare columns of type "timestamp". All fields are combined with logical 'AND'.
```graphql
input timestamp_comparison_exp {
_eq: timestamp
_gt: timestamp
_gte: timestamp
_in: [timestamp!]
_is_null: Boolean
_lt: timestamp
_lte: timestamp
_neq: timestamp
_nin: [timestamp!]
}
```
### Fields
#### [timestamp_comparison_exp.\_eq
](#)[timestamp
](/docs/api/flow/graphql/envio/scalars/timestamp.mdx)
#### [timestamp_comparison_exp.\_gt
](#)[timestamp
](/docs/api/flow/graphql/envio/scalars/timestamp.mdx)
#### [timestamp_comparison_exp.\_gte
](#)[timestamp
](/docs/api/flow/graphql/envio/scalars/timestamp.mdx)
#### [timestamp_comparison_exp.\_in
](#)[[timestamp!]
](/docs/api/flow/graphql/envio/scalars/timestamp.mdx)
#### [timestamp_comparison_exp.\_is_null
](#)[Boolean
](/docs/api/flow/graphql/envio/scalars/boolean.mdx)
#### [timestamp_comparison_exp.\_lt
](#)[timestamp
](/docs/api/flow/graphql/envio/scalars/timestamp.mdx)
#### [timestamp_comparison_exp.\_lte
](#)[timestamp
](/docs/api/flow/graphql/envio/scalars/timestamp.mdx)
#### [timestamp_comparison_exp.\_neq
](#)[timestamp
](/docs/api/flow/graphql/envio/scalars/timestamp.mdx)
#### [timestamp_comparison_exp.\_nin
](#)[[timestamp!]
](/docs/api/flow/graphql/envio/scalars/timestamp.mdx)
---
## timestamptz_comparison_exp (2)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
Boolean expression to compare columns of type "timestamptz". All fields are combined with logical 'AND'.
```graphql
input timestamptz_comparison_exp {
_eq: timestamptz
_gt: timestamptz
_gte: timestamptz
_in: [timestamptz!]
_is_null: Boolean
_lt: timestamptz
_lte: timestamptz
_neq: timestamptz
_nin: [timestamptz!]
}
```
### Fields
#### [timestamptz_comparison_exp.\_eq
](#)[timestamptz
](/docs/api/flow/graphql/envio/scalars/timestamptz.mdx)
#### [timestamptz_comparison_exp.\_gt
](#)[timestamptz
](/docs/api/flow/graphql/envio/scalars/timestamptz.mdx)
#### [timestamptz_comparison_exp.\_gte
](#)[timestamptz
](/docs/api/flow/graphql/envio/scalars/timestamptz.mdx)
#### [timestamptz_comparison_exp.\_in
](#)[[timestamptz!]
](/docs/api/flow/graphql/envio/scalars/timestamptz.mdx)
#### [timestamptz_comparison_exp.\_is_null
](#)[Boolean
](/docs/api/flow/graphql/envio/scalars/boolean.mdx)
#### [timestamptz_comparison_exp.\_lt
](#)[timestamptz
](/docs/api/flow/graphql/envio/scalars/timestamptz.mdx)
#### [timestamptz_comparison_exp.\_lte
](#)[timestamptz
](/docs/api/flow/graphql/envio/scalars/timestamptz.mdx)
#### [timestamptz_comparison_exp.\_neq
](#)[timestamptz
](/docs/api/flow/graphql/envio/scalars/timestamptz.mdx)
#### [timestamptz_comparison_exp.\_nin
](#)[[timestamptz!]
](/docs/api/flow/graphql/envio/scalars/timestamptz.mdx)
---
## User_bool_exp (2)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
Boolean expression to filter rows from the table "User". All fields are combined with a logical 'AND'.
```graphql
input User_bool_exp {
_and: [User_bool_exp!]
_not: User_bool_exp
_or: [User_bool_exp!]
address: String_comparison_exp
chainId: numeric_comparison_exp
db_write_timestamp: timestamp_comparison_exp
id: String_comparison_exp
isOnlyAirdropClaimer: Boolean_comparison_exp
transactions: UserTransaction_bool_exp
transactions_aggregate: UserTransaction_aggregate_bool_exp
}
```
### Fields
#### [User_bool_exp.\_and
](#)[[User_bool_exp!]
](/docs/api/flow/graphql/envio/inputs/user-bool-exp.mdx)
#### [User_bool_exp.\_not
](#)[User_bool_exp
](/docs/api/flow/graphql/envio/inputs/user-bool-exp.mdx)
#### [User_bool_exp.\_or
](#)[[User_bool_exp!]
](/docs/api/flow/graphql/envio/inputs/user-bool-exp.mdx)
#### [User_bool_exp.address
](#)[String_comparison_exp
](/docs/api/flow/graphql/envio/inputs/string-comparison-exp.mdx)
#### [User_bool_exp.chainId
](#)[numeric_comparison_exp
](/docs/api/flow/graphql/envio/inputs/numeric-comparison-exp.mdx)
#### [User_bool_exp.db_write_timestamp
](#)[timestamp_comparison_exp
](/docs/api/flow/graphql/envio/inputs/timestamp-comparison-exp.mdx)
#### [User_bool_exp.id
](#)[String_comparison_exp
](/docs/api/flow/graphql/envio/inputs/string-comparison-exp.mdx)
#### [User_bool_exp.isOnlyAirdropClaimer
](#)[Boolean_comparison_exp
](/docs/api/flow/graphql/envio/inputs/boolean-comparison-exp.mdx)
#### [User_bool_exp.transactions
](#)[UserTransaction_bool_exp
](/docs/api/flow/graphql/envio/inputs/user-transaction-bool-exp.mdx)
#### [User_bool_exp.transactions_aggregate
](#)[UserTransaction_aggregate_bool_exp
](/docs/api/flow/graphql/envio/inputs/user-transaction-aggregate-bool-exp.mdx)
---
## User_order_by (2)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
Ordering options when selecting data from "User".
```graphql
input User_order_by {
address: order_by
chainId: order_by
db_write_timestamp: order_by
id: order_by
isOnlyAirdropClaimer: order_by
transactions_aggregate: UserTransaction_aggregate_order_by
}
```
### Fields
#### [User_order_by.address
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
#### [User_order_by.chainId
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
#### [User_order_by.db_write_timestamp
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
#### [User_order_by.id
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
#### [User_order_by.isOnlyAirdropClaimer
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
#### [User_order_by.transactions_aggregate
](#)[UserTransaction_aggregate_order_by
](/docs/api/flow/graphql/envio/inputs/user-transaction-aggregate-order-by.mdx)
---
## User_stream_cursor_input (2)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
Streaming cursor of the table "User"
```graphql
input User_stream_cursor_input {
initial_value: User_stream_cursor_value_input!
ordering: cursor_ordering
}
```
### Fields
#### [User_stream_cursor_input.initial_value
](#)[User_stream_cursor_value_input!
](/docs/api/flow/graphql/envio/inputs/user-stream-cursor-value-input.mdx)
Stream column input with initial value
#### [User_stream_cursor_input.ordering
](#)[cursor_ordering
](/docs/api/flow/graphql/envio/enums/cursor-ordering.mdx)
cursor ordering
---
## User_stream_cursor_value_input (2)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
Initial value of the column from where the streaming should start
```graphql
input User_stream_cursor_value_input {
address: String
chainId: numeric
db_write_timestamp: timestamp
id: String
isOnlyAirdropClaimer: Boolean
}
```
### Fields
#### [User_stream_cursor_value_input.address
](#)[String
](/docs/api/flow/graphql/envio/scalars/string.mdx)
#### [User_stream_cursor_value_input.chainId
](#)[numeric
](/docs/api/flow/graphql/envio/scalars/numeric.mdx)
#### [User_stream_cursor_value_input.db_write_timestamp
](#)[timestamp
](/docs/api/flow/graphql/envio/scalars/timestamp.mdx)
#### [User_stream_cursor_value_input.id
](#)[String
](/docs/api/flow/graphql/envio/scalars/string.mdx)
#### [User_stream_cursor_value_input.isOnlyAirdropClaimer
](#)[Boolean
](/docs/api/flow/graphql/envio/scalars/boolean.mdx)
---
## UserTransaction_aggregate_bool_exp_avg (2)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
No description
```graphql
input UserTransaction_aggregate_bool_exp_avg {
arguments: UserTransaction_select_column_UserTransaction_aggregate_bool_exp_avg_arguments_columns!
distinct: Boolean
filter: UserTransaction_bool_exp
predicate: float8_comparison_exp!
}
```
### Fields
#### [UserTransaction_aggregate_bool_exp_avg.arguments
](#)[UserTransaction_select_column_UserTransaction_aggregate_bool_exp_avg_arguments_columns!
](/docs/api/flow/graphql/envio/enums/user-transaction-select-column-user-transaction-aggregate-bool-exp-avg-arguments-columns.mdx)
#### [UserTransaction_aggregate_bool_exp_avg.distinct
](#)[Boolean
](/docs/api/flow/graphql/envio/scalars/boolean.mdx)
#### [UserTransaction_aggregate_bool_exp_avg.filter
](#)[UserTransaction_bool_exp
](/docs/api/flow/graphql/envio/inputs/user-transaction-bool-exp.mdx)
#### [UserTransaction_aggregate_bool_exp_avg.predicate
](#)[float8_comparison_exp!
](/docs/api/flow/graphql/envio/inputs/float-8-comparison-exp.mdx)
---
## UserTransaction_aggregate_bool_exp_bool_and (2)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
No description
```graphql
input UserTransaction_aggregate_bool_exp_bool_and {
arguments: UserTransaction_select_column_UserTransaction_aggregate_bool_exp_bool_and_arguments_columns!
distinct: Boolean
filter: UserTransaction_bool_exp
predicate: Boolean_comparison_exp!
}
```
### Fields
#### [UserTransaction_aggregate_bool_exp_bool_and.arguments
](#)[UserTransaction_select_column_UserTransaction_aggregate_bool_exp_bool_and_arguments_columns!
](/docs/api/flow/graphql/envio/enums/user-transaction-select-column-user-transaction-aggregate-bool-exp-bool-and-arguments-columns.mdx)
#### [UserTransaction_aggregate_bool_exp_bool_and.distinct
](#)[Boolean
](/docs/api/flow/graphql/envio/scalars/boolean.mdx)
#### [UserTransaction_aggregate_bool_exp_bool_and.filter
](#)[UserTransaction_bool_exp
](/docs/api/flow/graphql/envio/inputs/user-transaction-bool-exp.mdx)
#### [UserTransaction_aggregate_bool_exp_bool_and.predicate
](#)[Boolean_comparison_exp!
](/docs/api/flow/graphql/envio/inputs/boolean-comparison-exp.mdx)
---
## UserTransaction_aggregate_bool_exp_bool_or (2)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
No description
```graphql
input UserTransaction_aggregate_bool_exp_bool_or {
arguments: UserTransaction_select_column_UserTransaction_aggregate_bool_exp_bool_or_arguments_columns!
distinct: Boolean
filter: UserTransaction_bool_exp
predicate: Boolean_comparison_exp!
}
```
### Fields
#### [UserTransaction_aggregate_bool_exp_bool_or.arguments
](#)[UserTransaction_select_column_UserTransaction_aggregate_bool_exp_bool_or_arguments_columns!
](/docs/api/flow/graphql/envio/enums/user-transaction-select-column-user-transaction-aggregate-bool-exp-bool-or-arguments-columns.mdx)
#### [UserTransaction_aggregate_bool_exp_bool_or.distinct
](#)[Boolean
](/docs/api/flow/graphql/envio/scalars/boolean.mdx)
#### [UserTransaction_aggregate_bool_exp_bool_or.filter
](#)[UserTransaction_bool_exp
](/docs/api/flow/graphql/envio/inputs/user-transaction-bool-exp.mdx)
#### [UserTransaction_aggregate_bool_exp_bool_or.predicate
](#)[Boolean_comparison_exp!
](/docs/api/flow/graphql/envio/inputs/boolean-comparison-exp.mdx)
---
## UserTransaction_aggregate_bool_exp_corr_arguments (2)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
No description
```graphql
input UserTransaction_aggregate_bool_exp_corr_arguments {
X: UserTransaction_select_column_UserTransaction_aggregate_bool_exp_corr_arguments_columns!
Y: UserTransaction_select_column_UserTransaction_aggregate_bool_exp_corr_arguments_columns!
}
```
### Fields
#### [UserTransaction_aggregate_bool_exp_corr_arguments.X
](#)[UserTransaction_select_column_UserTransaction_aggregate_bool_exp_corr_arguments_columns!
](/docs/api/flow/graphql/envio/enums/user-transaction-select-column-user-transaction-aggregate-bool-exp-corr-arguments-columns.mdx)
#### [UserTransaction_aggregate_bool_exp_corr_arguments.Y
](#)[UserTransaction_select_column_UserTransaction_aggregate_bool_exp_corr_arguments_columns!
](/docs/api/flow/graphql/envio/enums/user-transaction-select-column-user-transaction-aggregate-bool-exp-corr-arguments-columns.mdx)
---
## UserTransaction_aggregate_bool_exp_corr (2)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
No description
```graphql
input UserTransaction_aggregate_bool_exp_corr {
arguments: UserTransaction_aggregate_bool_exp_corr_arguments!
distinct: Boolean
filter: UserTransaction_bool_exp
predicate: float8_comparison_exp!
}
```
### Fields
#### [UserTransaction_aggregate_bool_exp_corr.arguments
](#)[UserTransaction_aggregate_bool_exp_corr_arguments!
](/docs/api/flow/graphql/envio/inputs/user-transaction-aggregate-bool-exp-corr-arguments.mdx)
#### [UserTransaction_aggregate_bool_exp_corr.distinct
](#)[Boolean
](/docs/api/flow/graphql/envio/scalars/boolean.mdx)
#### [UserTransaction_aggregate_bool_exp_corr.filter
](#)[UserTransaction_bool_exp
](/docs/api/flow/graphql/envio/inputs/user-transaction-bool-exp.mdx)
#### [UserTransaction_aggregate_bool_exp_corr.predicate
](#)[float8_comparison_exp!
](/docs/api/flow/graphql/envio/inputs/float-8-comparison-exp.mdx)
---
## UserTransaction_aggregate_bool_exp_count (2)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
No description
```graphql
input UserTransaction_aggregate_bool_exp_count {
arguments: [UserTransaction_select_column!]
distinct: Boolean
filter: UserTransaction_bool_exp
predicate: Int_comparison_exp!
}
```
### Fields
#### [UserTransaction_aggregate_bool_exp_count.arguments
](#)[[UserTransaction_select_column!]
](/docs/api/flow/graphql/envio/enums/user-transaction-select-column.mdx)
#### [UserTransaction_aggregate_bool_exp_count.distinct
](#)[Boolean
](/docs/api/flow/graphql/envio/scalars/boolean.mdx)
#### [UserTransaction_aggregate_bool_exp_count.filter
](#)[UserTransaction_bool_exp
](/docs/api/flow/graphql/envio/inputs/user-transaction-bool-exp.mdx)
#### [UserTransaction_aggregate_bool_exp_count.predicate
](#)[Int_comparison_exp!
](/docs/api/flow/graphql/envio/inputs/int-comparison-exp.mdx)
---
## UserTransaction_aggregate_bool_exp_covar_samp_arguments (2)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
No description
```graphql
input UserTransaction_aggregate_bool_exp_covar_samp_arguments {
X: UserTransaction_select_column_UserTransaction_aggregate_bool_exp_covar_samp_arguments_columns!
Y: UserTransaction_select_column_UserTransaction_aggregate_bool_exp_covar_samp_arguments_columns!
}
```
### Fields
#### [UserTransaction_aggregate_bool_exp_covar_samp_arguments.X
](#)[UserTransaction_select_column_UserTransaction_aggregate_bool_exp_covar_samp_arguments_columns!
](/docs/api/flow/graphql/envio/enums/user-transaction-select-column-user-transaction-aggregate-bool-exp-covar-samp-arguments-columns.mdx)
#### [UserTransaction_aggregate_bool_exp_covar_samp_arguments.Y
](#)[UserTransaction_select_column_UserTransaction_aggregate_bool_exp_covar_samp_arguments_columns!
](/docs/api/flow/graphql/envio/enums/user-transaction-select-column-user-transaction-aggregate-bool-exp-covar-samp-arguments-columns.mdx)
---
## UserTransaction_aggregate_bool_exp_covar_samp (2)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
No description
```graphql
input UserTransaction_aggregate_bool_exp_covar_samp {
arguments: UserTransaction_aggregate_bool_exp_covar_samp_arguments!
distinct: Boolean
filter: UserTransaction_bool_exp
predicate: float8_comparison_exp!
}
```
### Fields
#### [UserTransaction_aggregate_bool_exp_covar_samp.arguments
](#)[UserTransaction_aggregate_bool_exp_covar_samp_arguments!
](/docs/api/flow/graphql/envio/inputs/user-transaction-aggregate-bool-exp-covar-samp-arguments.mdx)
#### [UserTransaction_aggregate_bool_exp_covar_samp.distinct
](#)[Boolean
](/docs/api/flow/graphql/envio/scalars/boolean.mdx)
#### [UserTransaction_aggregate_bool_exp_covar_samp.filter
](#)[UserTransaction_bool_exp
](/docs/api/flow/graphql/envio/inputs/user-transaction-bool-exp.mdx)
#### [UserTransaction_aggregate_bool_exp_covar_samp.predicate
](#)[float8_comparison_exp!
](/docs/api/flow/graphql/envio/inputs/float-8-comparison-exp.mdx)
---
## UserTransaction_aggregate_bool_exp_max (2)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
No description
```graphql
input UserTransaction_aggregate_bool_exp_max {
arguments: UserTransaction_select_column_UserTransaction_aggregate_bool_exp_max_arguments_columns!
distinct: Boolean
filter: UserTransaction_bool_exp
predicate: float8_comparison_exp!
}
```
### Fields
#### [UserTransaction_aggregate_bool_exp_max.arguments
](#)[UserTransaction_select_column_UserTransaction_aggregate_bool_exp_max_arguments_columns!
](/docs/api/flow/graphql/envio/enums/user-transaction-select-column-user-transaction-aggregate-bool-exp-max-arguments-columns.mdx)
#### [UserTransaction_aggregate_bool_exp_max.distinct
](#)[Boolean
](/docs/api/flow/graphql/envio/scalars/boolean.mdx)
#### [UserTransaction_aggregate_bool_exp_max.filter
](#)[UserTransaction_bool_exp
](/docs/api/flow/graphql/envio/inputs/user-transaction-bool-exp.mdx)
#### [UserTransaction_aggregate_bool_exp_max.predicate
](#)[float8_comparison_exp!
](/docs/api/flow/graphql/envio/inputs/float-8-comparison-exp.mdx)
---
## UserTransaction_aggregate_bool_exp_min (2)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
No description
```graphql
input UserTransaction_aggregate_bool_exp_min {
arguments: UserTransaction_select_column_UserTransaction_aggregate_bool_exp_min_arguments_columns!
distinct: Boolean
filter: UserTransaction_bool_exp
predicate: float8_comparison_exp!
}
```
### Fields
#### [UserTransaction_aggregate_bool_exp_min.arguments
](#)[UserTransaction_select_column_UserTransaction_aggregate_bool_exp_min_arguments_columns!
](/docs/api/flow/graphql/envio/enums/user-transaction-select-column-user-transaction-aggregate-bool-exp-min-arguments-columns.mdx)
#### [UserTransaction_aggregate_bool_exp_min.distinct
](#)[Boolean
](/docs/api/flow/graphql/envio/scalars/boolean.mdx)
#### [UserTransaction_aggregate_bool_exp_min.filter
](#)[UserTransaction_bool_exp
](/docs/api/flow/graphql/envio/inputs/user-transaction-bool-exp.mdx)
#### [UserTransaction_aggregate_bool_exp_min.predicate
](#)[float8_comparison_exp!
](/docs/api/flow/graphql/envio/inputs/float-8-comparison-exp.mdx)
---
## UserTransaction_aggregate_bool_exp_stddev_samp (2)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
No description
```graphql
input UserTransaction_aggregate_bool_exp_stddev_samp {
arguments: UserTransaction_select_column_UserTransaction_aggregate_bool_exp_stddev_samp_arguments_columns!
distinct: Boolean
filter: UserTransaction_bool_exp
predicate: float8_comparison_exp!
}
```
### Fields
#### [UserTransaction_aggregate_bool_exp_stddev_samp.arguments
](#)[UserTransaction_select_column_UserTransaction_aggregate_bool_exp_stddev_samp_arguments_columns!
](/docs/api/flow/graphql/envio/enums/user-transaction-select-column-user-transaction-aggregate-bool-exp-stddev-samp-arguments-columns.mdx)
#### [UserTransaction_aggregate_bool_exp_stddev_samp.distinct
](#)[Boolean
](/docs/api/flow/graphql/envio/scalars/boolean.mdx)
#### [UserTransaction_aggregate_bool_exp_stddev_samp.filter
](#)[UserTransaction_bool_exp
](/docs/api/flow/graphql/envio/inputs/user-transaction-bool-exp.mdx)
#### [UserTransaction_aggregate_bool_exp_stddev_samp.predicate
](#)[float8_comparison_exp!
](/docs/api/flow/graphql/envio/inputs/float-8-comparison-exp.mdx)
---
## UserTransaction_aggregate_bool_exp_sum (2)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
No description
```graphql
input UserTransaction_aggregate_bool_exp_sum {
arguments: UserTransaction_select_column_UserTransaction_aggregate_bool_exp_sum_arguments_columns!
distinct: Boolean
filter: UserTransaction_bool_exp
predicate: float8_comparison_exp!
}
```
### Fields
#### [UserTransaction_aggregate_bool_exp_sum.arguments
](#)[UserTransaction_select_column_UserTransaction_aggregate_bool_exp_sum_arguments_columns!
](/docs/api/flow/graphql/envio/enums/user-transaction-select-column-user-transaction-aggregate-bool-exp-sum-arguments-columns.mdx)
#### [UserTransaction_aggregate_bool_exp_sum.distinct
](#)[Boolean
](/docs/api/flow/graphql/envio/scalars/boolean.mdx)
#### [UserTransaction_aggregate_bool_exp_sum.filter
](#)[UserTransaction_bool_exp
](/docs/api/flow/graphql/envio/inputs/user-transaction-bool-exp.mdx)
#### [UserTransaction_aggregate_bool_exp_sum.predicate
](#)[float8_comparison_exp!
](/docs/api/flow/graphql/envio/inputs/float-8-comparison-exp.mdx)
---
## UserTransaction_aggregate_bool_exp_var_samp (2)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
No description
```graphql
input UserTransaction_aggregate_bool_exp_var_samp {
arguments: UserTransaction_select_column_UserTransaction_aggregate_bool_exp_var_samp_arguments_columns!
distinct: Boolean
filter: UserTransaction_bool_exp
predicate: float8_comparison_exp!
}
```
### Fields
#### [UserTransaction_aggregate_bool_exp_var_samp.arguments
](#)[UserTransaction_select_column_UserTransaction_aggregate_bool_exp_var_samp_arguments_columns!
](/docs/api/flow/graphql/envio/enums/user-transaction-select-column-user-transaction-aggregate-bool-exp-var-samp-arguments-columns.mdx)
#### [UserTransaction_aggregate_bool_exp_var_samp.distinct
](#)[Boolean
](/docs/api/flow/graphql/envio/scalars/boolean.mdx)
#### [UserTransaction_aggregate_bool_exp_var_samp.filter
](#)[UserTransaction_bool_exp
](/docs/api/flow/graphql/envio/inputs/user-transaction-bool-exp.mdx)
#### [UserTransaction_aggregate_bool_exp_var_samp.predicate
](#)[float8_comparison_exp!
](/docs/api/flow/graphql/envio/inputs/float-8-comparison-exp.mdx)
---
## UserTransaction_aggregate_bool_exp (2)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
No description
```graphql
input UserTransaction_aggregate_bool_exp {
avg: UserTransaction_aggregate_bool_exp_avg
bool_and: UserTransaction_aggregate_bool_exp_bool_and
bool_or: UserTransaction_aggregate_bool_exp_bool_or
corr: UserTransaction_aggregate_bool_exp_corr
count: UserTransaction_aggregate_bool_exp_count
covar_samp: UserTransaction_aggregate_bool_exp_covar_samp
max: UserTransaction_aggregate_bool_exp_max
min: UserTransaction_aggregate_bool_exp_min
stddev_samp: UserTransaction_aggregate_bool_exp_stddev_samp
sum: UserTransaction_aggregate_bool_exp_sum
var_samp: UserTransaction_aggregate_bool_exp_var_samp
}
```
### Fields
#### [UserTransaction_aggregate_bool_exp.avg
](#)[UserTransaction_aggregate_bool_exp_avg
](/docs/api/flow/graphql/envio/inputs/user-transaction-aggregate-bool-exp-avg.mdx)
#### [UserTransaction_aggregate_bool_exp.bool_and
](#)[UserTransaction_aggregate_bool_exp_bool_and
](/docs/api/flow/graphql/envio/inputs/user-transaction-aggregate-bool-exp-bool-and.mdx)
#### [UserTransaction_aggregate_bool_exp.bool_or
](#)[UserTransaction_aggregate_bool_exp_bool_or
](/docs/api/flow/graphql/envio/inputs/user-transaction-aggregate-bool-exp-bool-or.mdx)
#### [UserTransaction_aggregate_bool_exp.corr
](#)[UserTransaction_aggregate_bool_exp_corr
](/docs/api/flow/graphql/envio/inputs/user-transaction-aggregate-bool-exp-corr.mdx)
#### [UserTransaction_aggregate_bool_exp.count
](#)[UserTransaction_aggregate_bool_exp_count
](/docs/api/flow/graphql/envio/inputs/user-transaction-aggregate-bool-exp-count.mdx)
#### [UserTransaction_aggregate_bool_exp.covar_samp
](#)[UserTransaction_aggregate_bool_exp_covar_samp
](/docs/api/flow/graphql/envio/inputs/user-transaction-aggregate-bool-exp-covar-samp.mdx)
#### [UserTransaction_aggregate_bool_exp.max
](#)[UserTransaction_aggregate_bool_exp_max
](/docs/api/flow/graphql/envio/inputs/user-transaction-aggregate-bool-exp-max.mdx)
#### [UserTransaction_aggregate_bool_exp.min
](#)[UserTransaction_aggregate_bool_exp_min
](/docs/api/flow/graphql/envio/inputs/user-transaction-aggregate-bool-exp-min.mdx)
#### [UserTransaction_aggregate_bool_exp.stddev_samp
](#)[UserTransaction_aggregate_bool_exp_stddev_samp
](/docs/api/flow/graphql/envio/inputs/user-transaction-aggregate-bool-exp-stddev-samp.mdx)
#### [UserTransaction_aggregate_bool_exp.sum
](#)[UserTransaction_aggregate_bool_exp_sum
](/docs/api/flow/graphql/envio/inputs/user-transaction-aggregate-bool-exp-sum.mdx)
#### [UserTransaction_aggregate_bool_exp.var_samp
](#)[UserTransaction_aggregate_bool_exp_var_samp
](/docs/api/flow/graphql/envio/inputs/user-transaction-aggregate-bool-exp-var-samp.mdx)
---
## UserTransaction_aggregate_order_by (2)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
order by aggregate values of table "UserTransaction"
```graphql
input UserTransaction_aggregate_order_by {
avg: UserTransaction_avg_order_by
count: order_by
max: UserTransaction_max_order_by
min: UserTransaction_min_order_by
stddev: UserTransaction_stddev_order_by
stddev_pop: UserTransaction_stddev_pop_order_by
stddev_samp: UserTransaction_stddev_samp_order_by
sum: UserTransaction_sum_order_by
var_pop: UserTransaction_var_pop_order_by
var_samp: UserTransaction_var_samp_order_by
variance: UserTransaction_variance_order_by
}
```
### Fields
#### [UserTransaction_aggregate_order_by.avg
](#)[UserTransaction_avg_order_by
](/docs/api/flow/graphql/envio/inputs/user-transaction-avg-order-by.mdx)
#### [UserTransaction_aggregate_order_by.count
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
#### [UserTransaction_aggregate_order_by.max
](#)[UserTransaction_max_order_by
](/docs/api/flow/graphql/envio/inputs/user-transaction-max-order-by.mdx)
#### [UserTransaction_aggregate_order_by.min
](#)[UserTransaction_min_order_by
](/docs/api/flow/graphql/envio/inputs/user-transaction-min-order-by.mdx)
#### [UserTransaction_aggregate_order_by.stddev
](#)[UserTransaction_stddev_order_by
](/docs/api/flow/graphql/envio/inputs/user-transaction-stddev-order-by.mdx)
#### [UserTransaction_aggregate_order_by.stddev_pop
](#)[UserTransaction_stddev_pop_order_by
](/docs/api/flow/graphql/envio/inputs/user-transaction-stddev-pop-order-by.mdx)
#### [UserTransaction_aggregate_order_by.stddev_samp
](#)[UserTransaction_stddev_samp_order_by
](/docs/api/flow/graphql/envio/inputs/user-transaction-stddev-samp-order-by.mdx)
#### [UserTransaction_aggregate_order_by.sum
](#)[UserTransaction_sum_order_by
](/docs/api/flow/graphql/envio/inputs/user-transaction-sum-order-by.mdx)
#### [UserTransaction_aggregate_order_by.var_pop
](#)[UserTransaction_var_pop_order_by
](/docs/api/flow/graphql/envio/inputs/user-transaction-var-pop-order-by.mdx)
#### [UserTransaction_aggregate_order_by.var_samp
](#)[UserTransaction_var_samp_order_by
](/docs/api/flow/graphql/envio/inputs/user-transaction-var-samp-order-by.mdx)
#### [UserTransaction_aggregate_order_by.variance
](#)[UserTransaction_variance_order_by
](/docs/api/flow/graphql/envio/inputs/user-transaction-variance-order-by.mdx)
---
## UserTransaction_avg_order_by (2)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
order by avg() on columns of table "UserTransaction"
```graphql
input UserTransaction_avg_order_by {
block: order_by
fee: order_by
timestamp: order_by
}
```
### Fields
#### [UserTransaction_avg_order_by.block
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
#### [UserTransaction_avg_order_by.fee
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
#### [UserTransaction_avg_order_by.timestamp
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
---
## UserTransaction_bool_exp (2)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
Boolean expression to filter rows from the table "UserTransaction". All fields are combined with a logical 'AND'.
```graphql
input UserTransaction_bool_exp {
_and: [UserTransaction_bool_exp!]
_not: UserTransaction_bool_exp
_or: [UserTransaction_bool_exp!]
block: numeric_comparison_exp
db_write_timestamp: timestamp_comparison_exp
fee: float8_comparison_exp
hash: String_comparison_exp
id: String_comparison_exp
isAirdropClaim: Boolean_comparison_exp
timestamp: numeric_comparison_exp
user: User_bool_exp
user_id: String_comparison_exp
}
```
### Fields
#### [UserTransaction_bool_exp.\_and
](#)[[UserTransaction_bool_exp!]
](/docs/api/flow/graphql/envio/inputs/user-transaction-bool-exp.mdx)
#### [UserTransaction_bool_exp.\_not
](#)[UserTransaction_bool_exp
](/docs/api/flow/graphql/envio/inputs/user-transaction-bool-exp.mdx)
#### [UserTransaction_bool_exp.\_or
](#)[[UserTransaction_bool_exp!]
](/docs/api/flow/graphql/envio/inputs/user-transaction-bool-exp.mdx)
#### [UserTransaction_bool_exp.block
](#)[numeric_comparison_exp
](/docs/api/flow/graphql/envio/inputs/numeric-comparison-exp.mdx)
#### [UserTransaction_bool_exp.db_write_timestamp
](#)[timestamp_comparison_exp
](/docs/api/flow/graphql/envio/inputs/timestamp-comparison-exp.mdx)
#### [UserTransaction_bool_exp.fee
](#)[float8_comparison_exp
](/docs/api/flow/graphql/envio/inputs/float-8-comparison-exp.mdx)
#### [UserTransaction_bool_exp.hash
](#)[String_comparison_exp
](/docs/api/flow/graphql/envio/inputs/string-comparison-exp.mdx)
#### [UserTransaction_bool_exp.id
](#)[String_comparison_exp
](/docs/api/flow/graphql/envio/inputs/string-comparison-exp.mdx)
#### [UserTransaction_bool_exp.isAirdropClaim
](#)[Boolean_comparison_exp
](/docs/api/flow/graphql/envio/inputs/boolean-comparison-exp.mdx)
#### [UserTransaction_bool_exp.timestamp
](#)[numeric_comparison_exp
](/docs/api/flow/graphql/envio/inputs/numeric-comparison-exp.mdx)
#### [UserTransaction_bool_exp.user
](#)[User_bool_exp
](/docs/api/flow/graphql/envio/inputs/user-bool-exp.mdx)
#### [UserTransaction_bool_exp.user_id
](#)[String_comparison_exp
](/docs/api/flow/graphql/envio/inputs/string-comparison-exp.mdx)
---
## UserTransaction_max_order_by (2)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
order by max() on columns of table "UserTransaction"
```graphql
input UserTransaction_max_order_by {
block: order_by
db_write_timestamp: order_by
fee: order_by
hash: order_by
id: order_by
timestamp: order_by
user_id: order_by
}
```
### Fields
#### [UserTransaction_max_order_by.block
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
#### [UserTransaction_max_order_by.db_write_timestamp
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
#### [UserTransaction_max_order_by.fee
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
#### [UserTransaction_max_order_by.hash
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
#### [UserTransaction_max_order_by.id
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
#### [UserTransaction_max_order_by.timestamp
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
#### [UserTransaction_max_order_by.user_id
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
---
## UserTransaction_min_order_by (2)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
order by min() on columns of table "UserTransaction"
```graphql
input UserTransaction_min_order_by {
block: order_by
db_write_timestamp: order_by
fee: order_by
hash: order_by
id: order_by
timestamp: order_by
user_id: order_by
}
```
### Fields
#### [UserTransaction_min_order_by.block
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
#### [UserTransaction_min_order_by.db_write_timestamp
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
#### [UserTransaction_min_order_by.fee
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
#### [UserTransaction_min_order_by.hash
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
#### [UserTransaction_min_order_by.id
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
#### [UserTransaction_min_order_by.timestamp
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
#### [UserTransaction_min_order_by.user_id
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
---
## UserTransaction_order_by (2)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
Ordering options when selecting data from "UserTransaction".
```graphql
input UserTransaction_order_by {
block: order_by
db_write_timestamp: order_by
fee: order_by
hash: order_by
id: order_by
isAirdropClaim: order_by
timestamp: order_by
user: User_order_by
user_id: order_by
}
```
### Fields
#### [UserTransaction_order_by.block
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
#### [UserTransaction_order_by.db_write_timestamp
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
#### [UserTransaction_order_by.fee
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
#### [UserTransaction_order_by.hash
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
#### [UserTransaction_order_by.id
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
#### [UserTransaction_order_by.isAirdropClaim
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
#### [UserTransaction_order_by.timestamp
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
#### [UserTransaction_order_by.user
](#)[User_order_by
](/docs/api/flow/graphql/envio/inputs/user-order-by.mdx)
#### [UserTransaction_order_by.user_id
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
---
## UserTransaction_stddev_order_by (2)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
order by stddev() on columns of table "UserTransaction"
```graphql
input UserTransaction_stddev_order_by {
block: order_by
fee: order_by
timestamp: order_by
}
```
### Fields
#### [UserTransaction_stddev_order_by.block
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
#### [UserTransaction_stddev_order_by.fee
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
#### [UserTransaction_stddev_order_by.timestamp
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
---
## UserTransaction_stddev_pop_order_by (2)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
order by stddev_pop() on columns of table "UserTransaction"
```graphql
input UserTransaction_stddev_pop_order_by {
block: order_by
fee: order_by
timestamp: order_by
}
```
### Fields
#### [UserTransaction_stddev_pop_order_by.block
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
#### [UserTransaction_stddev_pop_order_by.fee
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
#### [UserTransaction_stddev_pop_order_by.timestamp
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
---
## UserTransaction_stddev_samp_order_by (2)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
order by stddev_samp() on columns of table "UserTransaction"
```graphql
input UserTransaction_stddev_samp_order_by {
block: order_by
fee: order_by
timestamp: order_by
}
```
### Fields
#### [UserTransaction_stddev_samp_order_by.block
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
#### [UserTransaction_stddev_samp_order_by.fee
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
#### [UserTransaction_stddev_samp_order_by.timestamp
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
---
## UserTransaction_stream_cursor_input (2)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
Streaming cursor of the table "UserTransaction"
```graphql
input UserTransaction_stream_cursor_input {
initial_value: UserTransaction_stream_cursor_value_input!
ordering: cursor_ordering
}
```
### Fields
#### [UserTransaction_stream_cursor_input.initial_value
](#)[UserTransaction_stream_cursor_value_input!
](/docs/api/flow/graphql/envio/inputs/user-transaction-stream-cursor-value-input.mdx)
Stream column input with initial value
#### [UserTransaction_stream_cursor_input.ordering
](#)[cursor_ordering
](/docs/api/flow/graphql/envio/enums/cursor-ordering.mdx)
cursor ordering
---
## UserTransaction_stream_cursor_value_input (2)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
Initial value of the column from where the streaming should start
```graphql
input UserTransaction_stream_cursor_value_input {
block: numeric
db_write_timestamp: timestamp
fee: float8
hash: String
id: String
isAirdropClaim: Boolean
timestamp: numeric
user_id: String
}
```
### Fields
#### [UserTransaction_stream_cursor_value_input.block
](#)[numeric
](/docs/api/flow/graphql/envio/scalars/numeric.mdx)
#### [UserTransaction_stream_cursor_value_input.db_write_timestamp
](#)[timestamp
](/docs/api/flow/graphql/envio/scalars/timestamp.mdx)
#### [UserTransaction_stream_cursor_value_input.fee
](#)[float8
](/docs/api/flow/graphql/envio/scalars/float-8.mdx)
#### [UserTransaction_stream_cursor_value_input.hash
](#)[String
](/docs/api/flow/graphql/envio/scalars/string.mdx)
#### [UserTransaction_stream_cursor_value_input.id
](#)[String
](/docs/api/flow/graphql/envio/scalars/string.mdx)
#### [UserTransaction_stream_cursor_value_input.isAirdropClaim
](#)[Boolean
](/docs/api/flow/graphql/envio/scalars/boolean.mdx)
#### [UserTransaction_stream_cursor_value_input.timestamp
](#)[numeric
](/docs/api/flow/graphql/envio/scalars/numeric.mdx)
#### [UserTransaction_stream_cursor_value_input.user_id
](#)[String
](/docs/api/flow/graphql/envio/scalars/string.mdx)
---
## UserTransaction_sum_order_by (2)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
order by sum() on columns of table "UserTransaction"
```graphql
input UserTransaction_sum_order_by {
block: order_by
fee: order_by
timestamp: order_by
}
```
### Fields
#### [UserTransaction_sum_order_by.block
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
#### [UserTransaction_sum_order_by.fee
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
#### [UserTransaction_sum_order_by.timestamp
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
---
## UserTransaction_var_pop_order_by (2)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
order by var_pop() on columns of table "UserTransaction"
```graphql
input UserTransaction_var_pop_order_by {
block: order_by
fee: order_by
timestamp: order_by
}
```
### Fields
#### [UserTransaction_var_pop_order_by.block
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
#### [UserTransaction_var_pop_order_by.fee
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
#### [UserTransaction_var_pop_order_by.timestamp
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
---
## UserTransaction_var_samp_order_by (2)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
order by var_samp() on columns of table "UserTransaction"
```graphql
input UserTransaction_var_samp_order_by {
block: order_by
fee: order_by
timestamp: order_by
}
```
### Fields
#### [UserTransaction_var_samp_order_by.block
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
#### [UserTransaction_var_samp_order_by.fee
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
#### [UserTransaction_var_samp_order_by.timestamp
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
---
## UserTransaction_variance_order_by (2)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
order by variance() on columns of table "UserTransaction"
```graphql
input UserTransaction_variance_order_by {
block: order_by
fee: order_by
timestamp: order_by
}
```
### Fields
#### [UserTransaction_variance_order_by.block
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
#### [UserTransaction_variance_order_by.fee
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
#### [UserTransaction_variance_order_by.timestamp
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
---
## Watcher_bool_exp (2)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
Boolean expression to filter rows from the table "Watcher". All fields are combined with a logical 'AND'.
```graphql
input Watcher_bool_exp {
_and: [Watcher_bool_exp!]
_not: Watcher_bool_exp
_or: [Watcher_bool_exp!]
actionCounter: numeric_comparison_exp
chainId: numeric_comparison_exp
db_write_timestamp: timestamp_comparison_exp
id: String_comparison_exp
streamCounter: numeric_comparison_exp
}
```
### Fields
#### [Watcher_bool_exp.\_and
](#)[[Watcher_bool_exp!]
](/docs/api/flow/graphql/envio/inputs/watcher-bool-exp.mdx)
#### [Watcher_bool_exp.\_not
](#)[Watcher_bool_exp
](/docs/api/flow/graphql/envio/inputs/watcher-bool-exp.mdx)
#### [Watcher_bool_exp.\_or
](#)[[Watcher_bool_exp!]
](/docs/api/flow/graphql/envio/inputs/watcher-bool-exp.mdx)
#### [Watcher_bool_exp.actionCounter
](#)[numeric_comparison_exp
](/docs/api/flow/graphql/envio/inputs/numeric-comparison-exp.mdx)
#### [Watcher_bool_exp.chainId
](#)[numeric_comparison_exp
](/docs/api/flow/graphql/envio/inputs/numeric-comparison-exp.mdx)
#### [Watcher_bool_exp.db_write_timestamp
](#)[timestamp_comparison_exp
](/docs/api/flow/graphql/envio/inputs/timestamp-comparison-exp.mdx)
#### [Watcher_bool_exp.id
](#)[String_comparison_exp
](/docs/api/flow/graphql/envio/inputs/string-comparison-exp.mdx)
#### [Watcher_bool_exp.streamCounter
](#)[numeric_comparison_exp
](/docs/api/flow/graphql/envio/inputs/numeric-comparison-exp.mdx)
---
## Watcher_order_by (2)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
Ordering options when selecting data from "Watcher".
```graphql
input Watcher_order_by {
actionCounter: order_by
chainId: order_by
db_write_timestamp: order_by
id: order_by
streamCounter: order_by
}
```
### Fields
#### [Watcher_order_by.actionCounter
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
#### [Watcher_order_by.chainId
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
#### [Watcher_order_by.db_write_timestamp
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
#### [Watcher_order_by.id
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
#### [Watcher_order_by.streamCounter
](#)[order_by
](/docs/api/flow/graphql/envio/enums/order-by.mdx)
---
## Watcher_stream_cursor_input (2)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
Streaming cursor of the table "Watcher"
```graphql
input Watcher_stream_cursor_input {
initial_value: Watcher_stream_cursor_value_input!
ordering: cursor_ordering
}
```
### Fields
#### [Watcher_stream_cursor_input.initial_value
](#)[Watcher_stream_cursor_value_input!
](/docs/api/flow/graphql/envio/inputs/watcher-stream-cursor-value-input.mdx)
Stream column input with initial value
#### [Watcher_stream_cursor_input.ordering
](#)[cursor_ordering
](/docs/api/flow/graphql/envio/enums/cursor-ordering.mdx)
cursor ordering
---
## Watcher_stream_cursor_value_input (2)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
Initial value of the column from where the streaming should start
```graphql
input Watcher_stream_cursor_value_input {
actionCounter: numeric
chainId: numeric
db_write_timestamp: timestamp
id: String
streamCounter: numeric
}
```
### Fields
#### [Watcher_stream_cursor_value_input.actionCounter
](#)[numeric
](/docs/api/flow/graphql/envio/scalars/numeric.mdx)
#### [Watcher_stream_cursor_value_input.chainId
](#)[numeric
](/docs/api/flow/graphql/envio/scalars/numeric.mdx)
#### [Watcher_stream_cursor_value_input.db_write_timestamp
](#)[timestamp
](/docs/api/flow/graphql/envio/scalars/timestamp.mdx)
#### [Watcher_stream_cursor_value_input.id
](#)[String
](/docs/api/flow/graphql/envio/scalars/string.mdx)
#### [Watcher_stream_cursor_value_input.streamCounter
](#)[numeric
](/docs/api/flow/graphql/envio/scalars/numeric.mdx)
---
## Action (5)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
columns and relationships of "Action"
```graphql
type Action {
addressA: String
addressB: String
amountA: numeric
amountB: numeric
block: numeric!
category: actioncategory!
chainId: numeric!
contract: String!
db_write_timestamp: timestamp
fee: numeric
from: String!
hash: String!
id: String!
stream: Stream
stream_id: String
subgraphId: numeric!
timestamp: numeric!
}
```
### Fields
#### [Action.addressA
](#)[String
](/docs/api/flow/graphql/envio/scalars/string.mdx)
#### [Action.addressB
](#)[String
](/docs/api/flow/graphql/envio/scalars/string.mdx)
#### [Action.amountA
](#)[numeric
](/docs/api/flow/graphql/envio/scalars/numeric.mdx)
#### [Action.amountB
](#)[numeric
](/docs/api/flow/graphql/envio/scalars/numeric.mdx)
#### [Action.block
](#)[numeric!
](/docs/api/flow/graphql/envio/scalars/numeric.mdx)
#### [Action.category
](#)[actioncategory!
](/docs/api/flow/graphql/envio/scalars/actioncategory.mdx)
#### [Action.chainId
](#)[numeric!
](/docs/api/flow/graphql/envio/scalars/numeric.mdx)
#### [Action.contract
](#)[String!
](/docs/api/flow/graphql/envio/scalars/string.mdx)
#### [Action.db_write_timestamp
](#)[timestamp
](/docs/api/flow/graphql/envio/scalars/timestamp.mdx)
#### [Action.fee
](#)[numeric
](/docs/api/flow/graphql/envio/scalars/numeric.mdx)
#### [Action.from
](#)[String!
](/docs/api/flow/graphql/envio/scalars/string.mdx)
#### [Action.hash
](#)[String!
](/docs/api/flow/graphql/envio/scalars/string.mdx)
#### [Action.id
](#)[String!
](/docs/api/flow/graphql/envio/scalars/string.mdx)
#### [Action.stream
](#)[Stream
](/docs/api/flow/graphql/envio/objects/stream.mdx)
An object relationship
#### [Action.stream_id
](#)[String
](/docs/api/flow/graphql/envio/scalars/string.mdx)
#### [Action.subgraphId
](#)[numeric!
](/docs/api/flow/graphql/envio/scalars/numeric.mdx)
#### [Action.timestamp
](#)[numeric!
](/docs/api/flow/graphql/envio/scalars/numeric.mdx)
---
## Asset (5)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
columns and relationships of "Asset"
```graphql
type Asset {
address: String!
chainId: numeric!
db_write_timestamp: timestamp
decimals: numeric!
id: String!
name: String!
streams(
distinct_on: [Stream_select_column!]
limit: Int
offset: Int
order_by: [Stream_order_by!]
where: Stream_bool_exp
): [Stream!]!
streams_aggregate(
distinct_on: [Stream_select_column!]
limit: Int
offset: Int
order_by: [Stream_order_by!]
where: Stream_bool_exp
): Stream_aggregate!
symbol: String!
}
```
### Fields
#### [Asset.address
](#)[String!
](/docs/api/flow/graphql/envio/scalars/string.mdx)
#### [Asset.chainId
](#)[numeric!
](/docs/api/flow/graphql/envio/scalars/numeric.mdx)
#### [Asset.db_write_timestamp
](#)[timestamp
](/docs/api/flow/graphql/envio/scalars/timestamp.mdx)
#### [Asset.decimals
](#)[numeric!
](/docs/api/flow/graphql/envio/scalars/numeric.mdx)
#### [Asset.id
](#)[String!
](/docs/api/flow/graphql/envio/scalars/string.mdx)
#### [Asset.name
](#)[String!
](/docs/api/flow/graphql/envio/scalars/string.mdx)
#### [Asset.streams
](#)[[Stream!]!
](/docs/api/flow/graphql/envio/objects/stream.mdx)
An array relationship
##### [Asset.streams.distinct_on
](#)[[Stream_select_column!]
](/docs/api/flow/graphql/envio/enums/stream-select-column.mdx)
distinct select on columns
##### [Asset.streams.limit
](#)[Int
](/docs/api/flow/graphql/envio/scalars/int.mdx)
limit the number of rows returned
##### [Asset.streams.offset
](#)[Int
](/docs/api/flow/graphql/envio/scalars/int.mdx)
skip the first n rows. Use only with order_by
##### [Asset.streams.order_by
](#)[[Stream_order_by!]
](/docs/api/flow/graphql/envio/inputs/stream-order-by.mdx)
sort the rows by one or more columns
##### [Asset.streams.where
](#)[Stream_bool_exp
](/docs/api/flow/graphql/envio/inputs/stream-bool-exp.mdx)
filter the rows returned
#### [Asset.streams_aggregate
](#)[Stream_aggregate!
](/docs/api/flow/graphql/envio/objects/stream-aggregate.mdx)
An aggregate relationship
##### [Asset.streams_aggregate.distinct_on
](#)[[Stream_select_column!]
](/docs/api/flow/graphql/envio/enums/stream-select-column.mdx)
distinct select on columns
##### [Asset.streams_aggregate.limit
](#)[Int
](/docs/api/flow/graphql/envio/scalars/int.mdx)
limit the number of rows returned
##### [Asset.streams_aggregate.offset
](#)[Int
](/docs/api/flow/graphql/envio/scalars/int.mdx)
skip the first n rows. Use only with order_by
##### [Asset.streams_aggregate.order_by
](#)[[Stream_order_by!]
](/docs/api/flow/graphql/envio/inputs/stream-order-by.mdx)
sort the rows by one or more columns
##### [Asset.streams_aggregate.where
](#)[Stream_bool_exp
](/docs/api/flow/graphql/envio/inputs/stream-bool-exp.mdx)
filter the rows returned
#### [Asset.symbol
](#)[String!
](/docs/api/flow/graphql/envio/scalars/string.mdx)
---
## Batch (3)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
columns and relationships of "Batch"
```graphql
type Batch {
batcher: Batcher
batcher_id: String
db_write_timestamp: timestamp
hash: String
id: String!
position: numeric
size: numeric!
streams(
distinct_on: [Stream_select_column!]
limit: Int
offset: Int
order_by: [Stream_order_by!]
where: Stream_bool_exp
): [Stream!]!
streams_aggregate(
distinct_on: [Stream_select_column!]
limit: Int
offset: Int
order_by: [Stream_order_by!]
where: Stream_bool_exp
): Stream_aggregate!
timestamp: numeric
}
```
### Fields
#### [Batch.batcher
](#)[Batcher
](/docs/api/flow/graphql/envio/objects/batcher.mdx)
An object relationship
#### [Batch.batcher_id
](#)[String
](/docs/api/flow/graphql/envio/scalars/string.mdx)
#### [Batch.db_write_timestamp
](#)[timestamp
](/docs/api/flow/graphql/envio/scalars/timestamp.mdx)
#### [Batch.hash
](#)[String
](/docs/api/flow/graphql/envio/scalars/string.mdx)
#### [Batch.id
](#)[String!
](/docs/api/flow/graphql/envio/scalars/string.mdx)
#### [Batch.position
](#)[numeric
](/docs/api/flow/graphql/envio/scalars/numeric.mdx)
#### [Batch.size
](#)[numeric!
](/docs/api/flow/graphql/envio/scalars/numeric.mdx)
#### [Batch.streams
](#)[[Stream!]!
](/docs/api/flow/graphql/envio/objects/stream.mdx)
An array relationship
##### [Batch.streams.distinct_on
](#)[[Stream_select_column!]
](/docs/api/flow/graphql/envio/enums/stream-select-column.mdx)
distinct select on columns
##### [Batch.streams.limit
](#)[Int
](/docs/api/flow/graphql/envio/scalars/int.mdx)
limit the number of rows returned
##### [Batch.streams.offset
](#)[Int
](/docs/api/flow/graphql/envio/scalars/int.mdx)
skip the first n rows. Use only with order_by
##### [Batch.streams.order_by
](#)[[Stream_order_by!]
](/docs/api/flow/graphql/envio/inputs/stream-order-by.mdx)
sort the rows by one or more columns
##### [Batch.streams.where
](#)[Stream_bool_exp
](/docs/api/flow/graphql/envio/inputs/stream-bool-exp.mdx)
filter the rows returned
#### [Batch.streams_aggregate
](#)[Stream_aggregate!
](/docs/api/flow/graphql/envio/objects/stream-aggregate.mdx)
An aggregate relationship
##### [Batch.streams_aggregate.distinct_on
](#)[[Stream_select_column!]
](/docs/api/flow/graphql/envio/enums/stream-select-column.mdx)
distinct select on columns
##### [Batch.streams_aggregate.limit
](#)[Int
](/docs/api/flow/graphql/envio/scalars/int.mdx)
limit the number of rows returned
##### [Batch.streams_aggregate.offset
](#)[Int
](/docs/api/flow/graphql/envio/scalars/int.mdx)
skip the first n rows. Use only with order_by
##### [Batch.streams_aggregate.order_by
](#)[[Stream_order_by!]
](/docs/api/flow/graphql/envio/inputs/stream-order-by.mdx)
sort the rows by one or more columns
##### [Batch.streams_aggregate.where
](#)[Stream_bool_exp
](/docs/api/flow/graphql/envio/inputs/stream-bool-exp.mdx)
filter the rows returned
#### [Batch.timestamp
](#)[numeric
](/docs/api/flow/graphql/envio/scalars/numeric.mdx)
---
## Batcher (3)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
columns and relationships of "Batcher"
```graphql
type Batcher {
batchCounter: numeric!
batches(
distinct_on: [Batch_select_column!]
limit: Int
offset: Int
order_by: [Batch_order_by!]
where: Batch_bool_exp
): [Batch!]!
db_write_timestamp: timestamp
id: String!
}
```
### Fields
#### [Batcher.batchCounter
](#)[numeric!
](/docs/api/flow/graphql/envio/scalars/numeric.mdx)
#### [Batcher.batches
](#)[[Batch!]!
](/docs/api/flow/graphql/envio/objects/batch.mdx)
An array relationship
##### [Batcher.batches.distinct_on
](#)[[Batch_select_column!]
](/docs/api/flow/graphql/envio/enums/batch-select-column.mdx)
distinct select on columns
##### [Batcher.batches.limit
](#)[Int
](/docs/api/flow/graphql/envio/scalars/int.mdx)
limit the number of rows returned
##### [Batcher.batches.offset
](#)[Int
](/docs/api/flow/graphql/envio/scalars/int.mdx)
skip the first n rows. Use only with order_by
##### [Batcher.batches.order_by
](#)[[Batch_order_by!]
](/docs/api/flow/graphql/envio/inputs/batch-order-by.mdx)
sort the rows by one or more columns
##### [Batcher.batches.where
](#)[Batch_bool_exp
](/docs/api/flow/graphql/envio/inputs/batch-bool-exp.mdx)
filter the rows returned
#### [Batcher.db_write_timestamp
](#)[timestamp
](/docs/api/flow/graphql/envio/scalars/timestamp.mdx)
#### [Batcher.id
](#)[String!
](/docs/api/flow/graphql/envio/scalars/string.mdx)
---
## chain_metadata (3)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
columns and relationships of "chain_metadata"
```graphql
type chain_metadata {
block_height: Int!
chain_id: Int!
end_block: Int
first_event_block_number: Int
is_hyper_sync: Boolean!
latest_fetched_block_number: Int!
latest_processed_block: Int
num_batches_fetched: Int!
num_events_processed: Int
start_block: Int!
timestamp_caught_up_to_head_or_endblock: timestamptz
}
```
### Fields
#### [chain_metadata.block_height
](#)[Int!
](/docs/api/flow/graphql/envio/scalars/int.mdx)
#### [chain_metadata.chain_id
](#)[Int!
](/docs/api/flow/graphql/envio/scalars/int.mdx)
#### [chain_metadata.end_block
](#)[Int
](/docs/api/flow/graphql/envio/scalars/int.mdx)
#### [chain_metadata.first_event_block_number
](#)[Int
](/docs/api/flow/graphql/envio/scalars/int.mdx)
#### [chain_metadata.is_hyper_sync
](#)[Boolean!
](/docs/api/flow/graphql/envio/scalars/boolean.mdx)
#### [chain_metadata.latest_fetched_block_number
](#)[Int!
](/docs/api/flow/graphql/envio/scalars/int.mdx)
#### [chain_metadata.latest_processed_block
](#)[Int
](/docs/api/flow/graphql/envio/scalars/int.mdx)
#### [chain_metadata.num_batches_fetched
](#)[Int!
](/docs/api/flow/graphql/envio/scalars/int.mdx)
#### [chain_metadata.num_events_processed
](#)[Int
](/docs/api/flow/graphql/envio/scalars/int.mdx)
#### [chain_metadata.start_block
](#)[Int!
](/docs/api/flow/graphql/envio/scalars/int.mdx)
#### [chain_metadata.timestamp_caught_up_to_head_or_endblock
](#)[timestamptz
](/docs/api/flow/graphql/envio/scalars/timestamptz.mdx)
---
## Contract
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
columns and relationships of "Contract"
```graphql
type Contract {
actions(
distinct_on: [Action_select_column!]
limit: Int
offset: Int
order_by: [Action_order_by!]
where: Action_bool_exp
): [Action!]!
address: String!
admin: String
alias: String!
db_write_timestamp: timestamp
id: String!
streams(
distinct_on: [Stream_select_column!]
limit: Int
offset: Int
order_by: [Stream_order_by!]
where: Stream_bool_exp
): [Stream!]!
version: String!
}
```
### Fields
#### [Contract.actions
](#)[[Action!]!
](/docs/api/flow/graphql/envio/objects/action.mdx)
An array relationship
##### [Contract.actions.distinct_on
](#)[[Action_select_column!]
](/docs/api/flow/graphql/envio/enums/action-select-column.mdx)
distinct select on columns
##### [Contract.actions.limit
](#)[Int
](/docs/api/flow/graphql/envio/scalars/int.mdx)
limit the number of rows returned
##### [Contract.actions.offset
](#)[Int
](/docs/api/flow/graphql/envio/scalars/int.mdx)
skip the first n rows. Use only with order_by
##### [Contract.actions.order_by
](#)[[Action_order_by!]
](/docs/api/flow/graphql/envio/inputs/action-order-by.mdx)
sort the rows by one or more columns
##### [Contract.actions.where
](#)[Action_bool_exp
](/docs/api/flow/graphql/envio/inputs/action-bool-exp.mdx)
filter the rows returned
#### [Contract.address
](#)[String!
](/docs/api/flow/graphql/envio/scalars/string.mdx)
#### [Contract.admin
](#)[String
](/docs/api/flow/graphql/envio/scalars/string.mdx)
#### [Contract.alias
](#)[String!
](/docs/api/flow/graphql/envio/scalars/string.mdx)
#### [Contract.db_write_timestamp
](#)[timestamp
](/docs/api/flow/graphql/envio/scalars/timestamp.mdx)
#### [Contract.id
](#)[String!
](/docs/api/flow/graphql/envio/scalars/string.mdx)
#### [Contract.streams
](#)[[Stream!]!
](/docs/api/flow/graphql/envio/objects/stream.mdx)
An array relationship
##### [Contract.streams.distinct_on
](#)[[Stream_select_column!]
](/docs/api/flow/graphql/envio/enums/stream-select-column.mdx)
distinct select on columns
##### [Contract.streams.limit
](#)[Int
](/docs/api/flow/graphql/envio/scalars/int.mdx)
limit the number of rows returned
##### [Contract.streams.offset
](#)[Int
](/docs/api/flow/graphql/envio/scalars/int.mdx)
skip the first n rows. Use only with order_by
##### [Contract.streams.order_by
](#)[[Stream_order_by!]
](/docs/api/flow/graphql/envio/inputs/stream-order-by.mdx)
sort the rows by one or more columns
##### [Contract.streams.where
](#)[Stream_bool_exp
](/docs/api/flow/graphql/envio/inputs/stream-bool-exp.mdx)
filter the rows returned
#### [Contract.version
](#)[String!
](/docs/api/flow/graphql/envio/scalars/string.mdx)
---
## dynamic_contract_registry (3)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
columns and relationships of "dynamic_contract_registry"
```graphql
type dynamic_contract_registry {
chain_id: Int!
contract_address: String!
contract_type: contract_type!
id: String!
registering_event_block_number: Int!
registering_event_block_timestamp: Int!
registering_event_contract_name: String!
registering_event_log_index: Int!
registering_event_name: String!
registering_event_src_address: String!
}
```
### Fields
#### [dynamic_contract_registry.chain_id
](#)[Int!
](/docs/api/flow/graphql/envio/scalars/int.mdx)
#### [dynamic_contract_registry.contract_address
](#)[String!
](/docs/api/flow/graphql/envio/scalars/string.mdx)
#### [dynamic_contract_registry.contract_type
](#)[contract_type!
](/docs/api/flow/graphql/envio/scalars/contract-type.mdx)
#### [dynamic_contract_registry.id
](#)[String!
](/docs/api/flow/graphql/envio/scalars/string.mdx)
#### [dynamic_contract_registry.registering_event_block_number
](#)[Int!
](/docs/api/flow/graphql/envio/scalars/int.mdx)
#### [dynamic_contract_registry.registering_event_block_timestamp
](#)[Int!
](/docs/api/flow/graphql/envio/scalars/int.mdx)
#### [dynamic_contract_registry.registering_event_contract_name
](#)[String!
](/docs/api/flow/graphql/envio/scalars/string.mdx)
#### [dynamic_contract_registry.registering_event_log_index
](#)[Int!
](/docs/api/flow/graphql/envio/scalars/int.mdx)
#### [dynamic_contract_registry.registering_event_name
](#)[String!
](/docs/api/flow/graphql/envio/scalars/string.mdx)
#### [dynamic_contract_registry.registering_event_src_address
](#)[String!
](/docs/api/flow/graphql/envio/scalars/string.mdx)
---
## end_of_block_range_scanned_data (3)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
columns and relationships of "end_of_block_range_scanned_data"
```graphql
type end_of_block_range_scanned_data {
block_hash: String!
block_number: Int!
chain_id: Int!
}
```
### Fields
#### [end_of_block_range_scanned_data.block_hash
](#)[String!
](/docs/api/flow/graphql/envio/scalars/string.mdx)
#### [end_of_block_range_scanned_data.block_number
](#)[Int!
](/docs/api/flow/graphql/envio/scalars/int.mdx)
#### [end_of_block_range_scanned_data.chain_id
](#)[Int!
](/docs/api/flow/graphql/envio/scalars/int.mdx)
---
## event_sync_state (3)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
columns and relationships of "event_sync_state"
```graphql
type event_sync_state {
block_number: Int!
block_timestamp: Int!
chain_id: Int!
is_pre_registering_dynamic_contracts: Boolean
log_index: Int!
}
```
### Fields
#### [event_sync_state.block_number
](#)[Int!
](/docs/api/flow/graphql/envio/scalars/int.mdx)
#### [event_sync_state.block_timestamp
](#)[Int!
](/docs/api/flow/graphql/envio/scalars/int.mdx)
#### [event_sync_state.chain_id
](#)[Int!
](/docs/api/flow/graphql/envio/scalars/int.mdx)
#### [event_sync_state.is_pre_registering_dynamic_contracts
](#)[Boolean
](/docs/api/flow/graphql/envio/scalars/boolean.mdx)
#### [event_sync_state.log_index
](#)[Int!
](/docs/api/flow/graphql/envio/scalars/int.mdx)
---
## persisted_state (3)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
columns and relationships of "persisted_state"
```graphql
type persisted_state {
abi_files_hash: String!
config_hash: String!
envio_version: String!
handler_files_hash: String!
id: Int!
schema_hash: String!
}
```
### Fields
#### [persisted_state.abi_files_hash
](#)[String!
](/docs/api/flow/graphql/envio/scalars/string.mdx)
#### [persisted_state.config_hash
](#)[String!
](/docs/api/flow/graphql/envio/scalars/string.mdx)
#### [persisted_state.envio_version
](#)[String!
](/docs/api/flow/graphql/envio/scalars/string.mdx)
#### [persisted_state.handler_files_hash
](#)[String!
](/docs/api/flow/graphql/envio/scalars/string.mdx)
#### [persisted_state.id
](#)[Int!
](/docs/api/flow/graphql/envio/scalars/int.mdx)
#### [persisted_state.schema_hash
](#)[String!
](/docs/api/flow/graphql/envio/scalars/string.mdx)
---
## raw_events (3)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
columns and relationships of "raw_events"
```graphql
type raw_events {
block_fields(path: String): jsonb!
block_hash: String!
block_number: Int!
block_timestamp: Int!
chain_id: Int!
contract_name: String!
db_write_timestamp: timestamp
event_id: numeric!
event_name: String!
log_index: Int!
params(path: String): jsonb!
serial: Int!
src_address: String!
transaction_fields(path: String): jsonb!
}
```
### Fields
#### [raw_events.block_fields
](#)[jsonb!
](/docs/api/flow/graphql/envio/scalars/jsonb.mdx)
##### [raw_events.block_fields.path
](#)[String
](/docs/api/flow/graphql/envio/scalars/string.mdx)
JSON select path
#### [raw_events.block_hash
](#)[String!
](/docs/api/flow/graphql/envio/scalars/string.mdx)
#### [raw_events.block_number
](#)[Int!
](/docs/api/flow/graphql/envio/scalars/int.mdx)
#### [raw_events.block_timestamp
](#)[Int!
](/docs/api/flow/graphql/envio/scalars/int.mdx)
#### [raw_events.chain_id
](#)[Int!
](/docs/api/flow/graphql/envio/scalars/int.mdx)
#### [raw_events.contract_name
](#)[String!
](/docs/api/flow/graphql/envio/scalars/string.mdx)
#### [raw_events.db_write_timestamp
](#)[timestamp
](/docs/api/flow/graphql/envio/scalars/timestamp.mdx)
#### [raw_events.event_id
](#)[numeric!
](/docs/api/flow/graphql/envio/scalars/numeric.mdx)
#### [raw_events.event_name
](#)[String!
](/docs/api/flow/graphql/envio/scalars/string.mdx)
#### [raw_events.log_index
](#)[Int!
](/docs/api/flow/graphql/envio/scalars/int.mdx)
#### [raw_events.params
](#)[jsonb!
](/docs/api/flow/graphql/envio/scalars/jsonb.mdx)
##### [raw_events.params.path
](#)[String
](/docs/api/flow/graphql/envio/scalars/string.mdx)
JSON select path
#### [raw_events.serial
](#)[Int!
](/docs/api/flow/graphql/envio/scalars/int.mdx)
#### [raw_events.src_address
](#)[String!
](/docs/api/flow/graphql/envio/scalars/string.mdx)
#### [raw_events.transaction_fields
](#)[jsonb!
](/docs/api/flow/graphql/envio/scalars/jsonb.mdx)
##### [raw_events.transaction_fields.path
](#)[String
](/docs/api/flow/graphql/envio/scalars/string.mdx)
JSON select path
---
## Revenue_aggregate_fields (2)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
aggregate fields of "Revenue"
```graphql
type Revenue_aggregate_fields {
avg: Revenue_avg_fields
count(columns: [Revenue_select_column!], distinct: Boolean): Int!
max: Revenue_max_fields
min: Revenue_min_fields
stddev: Revenue_stddev_fields
stddev_pop: Revenue_stddev_pop_fields
stddev_samp: Revenue_stddev_samp_fields
sum: Revenue_sum_fields
var_pop: Revenue_var_pop_fields
var_samp: Revenue_var_samp_fields
variance: Revenue_variance_fields
}
```
### Fields
#### [Revenue_aggregate_fields.avg
](#)[Revenue_avg_fields
](/docs/api/flow/graphql/envio/objects/revenue-avg-fields.mdx)
#### [Revenue_aggregate_fields.count
](#)[Int!
](/docs/api/flow/graphql/envio/scalars/int.mdx)
##### [Revenue_aggregate_fields.count.columns
](#)[[Revenue_select_column!]
](/docs/api/flow/graphql/envio/enums/revenue-select-column.mdx)
##### [Revenue_aggregate_fields.count.distinct
](#)[Boolean
](/docs/api/flow/graphql/envio/scalars/boolean.mdx)
#### [Revenue_aggregate_fields.max
](#)[Revenue_max_fields
](/docs/api/flow/graphql/envio/objects/revenue-max-fields.mdx)
#### [Revenue_aggregate_fields.min
](#)[Revenue_min_fields
](/docs/api/flow/graphql/envio/objects/revenue-min-fields.mdx)
#### [Revenue_aggregate_fields.stddev
](#)[Revenue_stddev_fields
](/docs/api/flow/graphql/envio/objects/revenue-stddev-fields.mdx)
#### [Revenue_aggregate_fields.stddev_pop
](#)[Revenue_stddev_pop_fields
](/docs/api/flow/graphql/envio/objects/revenue-stddev-pop-fields.mdx)
#### [Revenue_aggregate_fields.stddev_samp
](#)[Revenue_stddev_samp_fields
](/docs/api/flow/graphql/envio/objects/revenue-stddev-samp-fields.mdx)
#### [Revenue_aggregate_fields.sum
](#)[Revenue_sum_fields
](/docs/api/flow/graphql/envio/objects/revenue-sum-fields.mdx)
#### [Revenue_aggregate_fields.var_pop
](#)[Revenue_var_pop_fields
](/docs/api/flow/graphql/envio/objects/revenue-var-pop-fields.mdx)
#### [Revenue_aggregate_fields.var_samp
](#)[Revenue_var_samp_fields
](/docs/api/flow/graphql/envio/objects/revenue-var-samp-fields.mdx)
#### [Revenue_aggregate_fields.variance
](#)[Revenue_variance_fields
](/docs/api/flow/graphql/envio/objects/revenue-variance-fields.mdx)
---
## Revenue_aggregate (3)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
aggregated selection of "Revenue"
```graphql
type Revenue_aggregate {
aggregate: Revenue_aggregate_fields
nodes: [Revenue!]!
}
```
### Fields
#### [Revenue_aggregate.aggregate
](#)[Revenue_aggregate_fields
](/docs/api/flow/graphql/envio/objects/revenue-aggregate-fields.mdx)
#### [Revenue_aggregate.nodes
](#)[[Revenue!]!
](/docs/api/flow/graphql/envio/objects/revenue.mdx)
---
## Revenue_avg_fields (2)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
aggregate avg on columns
```graphql
type Revenue_avg_fields {
amount: Float
chainId: Float
}
```
### Fields
#### [Revenue_avg_fields.amount
](#)[Float
](/docs/api/flow/graphql/envio/scalars/float.mdx)
#### [Revenue_avg_fields.chainId
](#)[Float
](/docs/api/flow/graphql/envio/scalars/float.mdx)
---
## Revenue_max_fields (2)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
aggregate max on columns
```graphql
type Revenue_max_fields {
amount: float8
chainId: numeric
currency: String
date: String
dateTimestamp: timestamptz
db_write_timestamp: timestamp
id: String
}
```
### Fields
#### [Revenue_max_fields.amount
](#)[float8
](/docs/api/flow/graphql/envio/scalars/float-8.mdx)
#### [Revenue_max_fields.chainId
](#)[numeric
](/docs/api/flow/graphql/envio/scalars/numeric.mdx)
#### [Revenue_max_fields.currency
](#)[String
](/docs/api/flow/graphql/envio/scalars/string.mdx)
#### [Revenue_max_fields.date
](#)[String
](/docs/api/flow/graphql/envio/scalars/string.mdx)
#### [Revenue_max_fields.dateTimestamp
](#)[timestamptz
](/docs/api/flow/graphql/envio/scalars/timestamptz.mdx)
#### [Revenue_max_fields.db_write_timestamp
](#)[timestamp
](/docs/api/flow/graphql/envio/scalars/timestamp.mdx)
#### [Revenue_max_fields.id
](#)[String
](/docs/api/flow/graphql/envio/scalars/string.mdx)
---
## Revenue_min_fields (2)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
aggregate min on columns
```graphql
type Revenue_min_fields {
amount: float8
chainId: numeric
currency: String
date: String
dateTimestamp: timestamptz
db_write_timestamp: timestamp
id: String
}
```
### Fields
#### [Revenue_min_fields.amount
](#)[float8
](/docs/api/flow/graphql/envio/scalars/float-8.mdx)
#### [Revenue_min_fields.chainId
](#)[numeric
](/docs/api/flow/graphql/envio/scalars/numeric.mdx)
#### [Revenue_min_fields.currency
](#)[String
](/docs/api/flow/graphql/envio/scalars/string.mdx)
#### [Revenue_min_fields.date
](#)[String
](/docs/api/flow/graphql/envio/scalars/string.mdx)
#### [Revenue_min_fields.dateTimestamp
](#)[timestamptz
](/docs/api/flow/graphql/envio/scalars/timestamptz.mdx)
#### [Revenue_min_fields.db_write_timestamp
](#)[timestamp
](/docs/api/flow/graphql/envio/scalars/timestamp.mdx)
#### [Revenue_min_fields.id
](#)[String
](/docs/api/flow/graphql/envio/scalars/string.mdx)
---
## Revenue_stddev_fields (2)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
aggregate stddev on columns
```graphql
type Revenue_stddev_fields {
amount: Float
chainId: Float
}
```
### Fields
#### [Revenue_stddev_fields.amount
](#)[Float
](/docs/api/flow/graphql/envio/scalars/float.mdx)
#### [Revenue_stddev_fields.chainId
](#)[Float
](/docs/api/flow/graphql/envio/scalars/float.mdx)
---
## Revenue_stddev_pop_fields (2)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
aggregate stddev_pop on columns
```graphql
type Revenue_stddev_pop_fields {
amount: Float
chainId: Float
}
```
### Fields
#### [Revenue_stddev_pop_fields.amount
](#)[Float
](/docs/api/flow/graphql/envio/scalars/float.mdx)
#### [Revenue_stddev_pop_fields.chainId
](#)[Float
](/docs/api/flow/graphql/envio/scalars/float.mdx)
---
## Revenue_stddev_samp_fields (2)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
aggregate stddev_samp on columns
```graphql
type Revenue_stddev_samp_fields {
amount: Float
chainId: Float
}
```
### Fields
#### [Revenue_stddev_samp_fields.amount
](#)[Float
](/docs/api/flow/graphql/envio/scalars/float.mdx)
#### [Revenue_stddev_samp_fields.chainId
](#)[Float
](/docs/api/flow/graphql/envio/scalars/float.mdx)
---
## Revenue_sum_fields (2)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
aggregate sum on columns
```graphql
type Revenue_sum_fields {
amount: float8
chainId: numeric
}
```
### Fields
#### [Revenue_sum_fields.amount
](#)[float8
](/docs/api/flow/graphql/envio/scalars/float-8.mdx)
#### [Revenue_sum_fields.chainId
](#)[numeric
](/docs/api/flow/graphql/envio/scalars/numeric.mdx)
---
## RevenueTransaction_aggregate_fields (2)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
aggregate fields of "RevenueTransaction"
```graphql
type RevenueTransaction_aggregate_fields {
avg: RevenueTransaction_avg_fields
count(columns: [RevenueTransaction_select_column!], distinct: Boolean): Int!
max: RevenueTransaction_max_fields
min: RevenueTransaction_min_fields
stddev: RevenueTransaction_stddev_fields
stddev_pop: RevenueTransaction_stddev_pop_fields
stddev_samp: RevenueTransaction_stddev_samp_fields
sum: RevenueTransaction_sum_fields
var_pop: RevenueTransaction_var_pop_fields
var_samp: RevenueTransaction_var_samp_fields
variance: RevenueTransaction_variance_fields
}
```
### Fields
#### [RevenueTransaction_aggregate_fields.avg
](#)[RevenueTransaction_avg_fields
](/docs/api/flow/graphql/envio/objects/revenue-transaction-avg-fields.mdx)
#### [RevenueTransaction_aggregate_fields.count
](#)[Int!
](/docs/api/flow/graphql/envio/scalars/int.mdx)
##### [RevenueTransaction_aggregate_fields.count.columns
](#)[[RevenueTransaction_select_column!]
](/docs/api/flow/graphql/envio/enums/revenue-transaction-select-column.mdx)
##### [RevenueTransaction_aggregate_fields.count.distinct
](#)[Boolean
](/docs/api/flow/graphql/envio/scalars/boolean.mdx)
#### [RevenueTransaction_aggregate_fields.max
](#)[RevenueTransaction_max_fields
](/docs/api/flow/graphql/envio/objects/revenue-transaction-max-fields.mdx)
#### [RevenueTransaction_aggregate_fields.min
](#)[RevenueTransaction_min_fields
](/docs/api/flow/graphql/envio/objects/revenue-transaction-min-fields.mdx)
#### [RevenueTransaction_aggregate_fields.stddev
](#)[RevenueTransaction_stddev_fields
](/docs/api/flow/graphql/envio/objects/revenue-transaction-stddev-fields.mdx)
#### [RevenueTransaction_aggregate_fields.stddev_pop
](#)[RevenueTransaction_stddev_pop_fields
](/docs/api/flow/graphql/envio/objects/revenue-transaction-stddev-pop-fields.mdx)
#### [RevenueTransaction_aggregate_fields.stddev_samp
](#)[RevenueTransaction_stddev_samp_fields
](/docs/api/flow/graphql/envio/objects/revenue-transaction-stddev-samp-fields.mdx)
#### [RevenueTransaction_aggregate_fields.sum
](#)[RevenueTransaction_sum_fields
](/docs/api/flow/graphql/envio/objects/revenue-transaction-sum-fields.mdx)
#### [RevenueTransaction_aggregate_fields.var_pop
](#)[RevenueTransaction_var_pop_fields
](/docs/api/flow/graphql/envio/objects/revenue-transaction-var-pop-fields.mdx)
#### [RevenueTransaction_aggregate_fields.var_samp
](#)[RevenueTransaction_var_samp_fields
](/docs/api/flow/graphql/envio/objects/revenue-transaction-var-samp-fields.mdx)
#### [RevenueTransaction_aggregate_fields.variance
](#)[RevenueTransaction_variance_fields
](/docs/api/flow/graphql/envio/objects/revenue-transaction-variance-fields.mdx)
---
## RevenueTransaction_aggregate (3)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
aggregated selection of "RevenueTransaction"
```graphql
type RevenueTransaction_aggregate {
aggregate: RevenueTransaction_aggregate_fields
nodes: [RevenueTransaction!]!
}
```
### Fields
#### [RevenueTransaction_aggregate.aggregate
](#)[RevenueTransaction_aggregate_fields
](/docs/api/flow/graphql/envio/objects/revenue-transaction-aggregate-fields.mdx)
#### [RevenueTransaction_aggregate.nodes
](#)[[RevenueTransaction!]!
](/docs/api/flow/graphql/envio/objects/revenue-transaction.mdx)
---
## RevenueTransaction_avg_fields (2)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
aggregate avg on columns
```graphql
type RevenueTransaction_avg_fields {
amount: Float
block: Float
timestamp: Float
}
```
### Fields
#### [RevenueTransaction_avg_fields.amount
](#)[Float
](/docs/api/flow/graphql/envio/scalars/float.mdx)
#### [RevenueTransaction_avg_fields.block
](#)[Float
](/docs/api/flow/graphql/envio/scalars/float.mdx)
#### [RevenueTransaction_avg_fields.timestamp
](#)[Float
](/docs/api/flow/graphql/envio/scalars/float.mdx)
---
## RevenueTransaction_max_fields (2)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
aggregate max on columns
```graphql
type RevenueTransaction_max_fields {
amount: float8
block: numeric
db_write_timestamp: timestamp
hash: String
id: String
revenue_id: String
timestamp: numeric
}
```
### Fields
#### [RevenueTransaction_max_fields.amount
](#)[float8
](/docs/api/flow/graphql/envio/scalars/float-8.mdx)
#### [RevenueTransaction_max_fields.block
](#)[numeric
](/docs/api/flow/graphql/envio/scalars/numeric.mdx)
#### [RevenueTransaction_max_fields.db_write_timestamp
](#)[timestamp
](/docs/api/flow/graphql/envio/scalars/timestamp.mdx)
#### [RevenueTransaction_max_fields.hash
](#)[String
](/docs/api/flow/graphql/envio/scalars/string.mdx)
#### [RevenueTransaction_max_fields.id
](#)[String
](/docs/api/flow/graphql/envio/scalars/string.mdx)
#### [RevenueTransaction_max_fields.revenue_id
](#)[String
](/docs/api/flow/graphql/envio/scalars/string.mdx)
#### [RevenueTransaction_max_fields.timestamp
](#)[numeric
](/docs/api/flow/graphql/envio/scalars/numeric.mdx)
---
## RevenueTransaction_min_fields (2)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
aggregate min on columns
```graphql
type RevenueTransaction_min_fields {
amount: float8
block: numeric
db_write_timestamp: timestamp
hash: String
id: String
revenue_id: String
timestamp: numeric
}
```
### Fields
#### [RevenueTransaction_min_fields.amount
](#)[float8
](/docs/api/flow/graphql/envio/scalars/float-8.mdx)
#### [RevenueTransaction_min_fields.block
](#)[numeric
](/docs/api/flow/graphql/envio/scalars/numeric.mdx)
#### [RevenueTransaction_min_fields.db_write_timestamp
](#)[timestamp
](/docs/api/flow/graphql/envio/scalars/timestamp.mdx)
#### [RevenueTransaction_min_fields.hash
](#)[String
](/docs/api/flow/graphql/envio/scalars/string.mdx)
#### [RevenueTransaction_min_fields.id
](#)[String
](/docs/api/flow/graphql/envio/scalars/string.mdx)
#### [RevenueTransaction_min_fields.revenue_id
](#)[String
](/docs/api/flow/graphql/envio/scalars/string.mdx)
#### [RevenueTransaction_min_fields.timestamp
](#)[numeric
](/docs/api/flow/graphql/envio/scalars/numeric.mdx)
---
## RevenueTransaction_stddev_fields (2)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
aggregate stddev on columns
```graphql
type RevenueTransaction_stddev_fields {
amount: Float
block: Float
timestamp: Float
}
```
### Fields
#### [RevenueTransaction_stddev_fields.amount
](#)[Float
](/docs/api/flow/graphql/envio/scalars/float.mdx)
#### [RevenueTransaction_stddev_fields.block
](#)[Float
](/docs/api/flow/graphql/envio/scalars/float.mdx)
#### [RevenueTransaction_stddev_fields.timestamp
](#)[Float
](/docs/api/flow/graphql/envio/scalars/float.mdx)
---
## RevenueTransaction_stddev_pop_fields (2)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
aggregate stddev_pop on columns
```graphql
type RevenueTransaction_stddev_pop_fields {
amount: Float
block: Float
timestamp: Float
}
```
### Fields
#### [RevenueTransaction_stddev_pop_fields.amount
](#)[Float
](/docs/api/flow/graphql/envio/scalars/float.mdx)
#### [RevenueTransaction_stddev_pop_fields.block
](#)[Float
](/docs/api/flow/graphql/envio/scalars/float.mdx)
#### [RevenueTransaction_stddev_pop_fields.timestamp
](#)[Float
](/docs/api/flow/graphql/envio/scalars/float.mdx)
---
## RevenueTransaction_stddev_samp_fields (2)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
aggregate stddev_samp on columns
```graphql
type RevenueTransaction_stddev_samp_fields {
amount: Float
block: Float
timestamp: Float
}
```
### Fields
#### [RevenueTransaction_stddev_samp_fields.amount
](#)[Float
](/docs/api/flow/graphql/envio/scalars/float.mdx)
#### [RevenueTransaction_stddev_samp_fields.block
](#)[Float
](/docs/api/flow/graphql/envio/scalars/float.mdx)
#### [RevenueTransaction_stddev_samp_fields.timestamp
](#)[Float
](/docs/api/flow/graphql/envio/scalars/float.mdx)
---
## RevenueTransaction_sum_fields (2)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
aggregate sum on columns
```graphql
type RevenueTransaction_sum_fields {
amount: float8
block: numeric
timestamp: numeric
}
```
### Fields
#### [RevenueTransaction_sum_fields.amount
](#)[float8
](/docs/api/flow/graphql/envio/scalars/float-8.mdx)
#### [RevenueTransaction_sum_fields.block
](#)[numeric
](/docs/api/flow/graphql/envio/scalars/numeric.mdx)
#### [RevenueTransaction_sum_fields.timestamp
](#)[numeric
](/docs/api/flow/graphql/envio/scalars/numeric.mdx)
---
## RevenueTransaction_var_pop_fields (2)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
aggregate var_pop on columns
```graphql
type RevenueTransaction_var_pop_fields {
amount: Float
block: Float
timestamp: Float
}
```
### Fields
#### [RevenueTransaction_var_pop_fields.amount
](#)[Float
](/docs/api/flow/graphql/envio/scalars/float.mdx)
#### [RevenueTransaction_var_pop_fields.block
](#)[Float
](/docs/api/flow/graphql/envio/scalars/float.mdx)
#### [RevenueTransaction_var_pop_fields.timestamp
](#)[Float
](/docs/api/flow/graphql/envio/scalars/float.mdx)
---
## RevenueTransaction_var_samp_fields (2)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
aggregate var_samp on columns
```graphql
type RevenueTransaction_var_samp_fields {
amount: Float
block: Float
timestamp: Float
}
```
### Fields
#### [RevenueTransaction_var_samp_fields.amount
](#)[Float
](/docs/api/flow/graphql/envio/scalars/float.mdx)
#### [RevenueTransaction_var_samp_fields.block
](#)[Float
](/docs/api/flow/graphql/envio/scalars/float.mdx)
#### [RevenueTransaction_var_samp_fields.timestamp
](#)[Float
](/docs/api/flow/graphql/envio/scalars/float.mdx)
---
## RevenueTransaction_variance_fields (2)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
aggregate variance on columns
```graphql
type RevenueTransaction_variance_fields {
amount: Float
block: Float
timestamp: Float
}
```
### Fields
#### [RevenueTransaction_variance_fields.amount
](#)[Float
](/docs/api/flow/graphql/envio/scalars/float.mdx)
#### [RevenueTransaction_variance_fields.block
](#)[Float
](/docs/api/flow/graphql/envio/scalars/float.mdx)
#### [RevenueTransaction_variance_fields.timestamp
](#)[Float
](/docs/api/flow/graphql/envio/scalars/float.mdx)
---
## RevenueTransaction (3)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
columns and relationships of "RevenueTransaction"
```graphql
type RevenueTransaction {
amount: float8!
block: numeric!
db_write_timestamp: timestamp
hash: String!
id: String!
revenue: Revenue
revenue_id: String!
timestamp: numeric!
}
```
### Fields
#### [RevenueTransaction.amount
](#)[float8!
](/docs/api/flow/graphql/envio/scalars/float-8.mdx)
#### [RevenueTransaction.block
](#)[numeric!
](/docs/api/flow/graphql/envio/scalars/numeric.mdx)
#### [RevenueTransaction.db_write_timestamp
](#)[timestamp
](/docs/api/flow/graphql/envio/scalars/timestamp.mdx)
#### [RevenueTransaction.hash
](#)[String!
](/docs/api/flow/graphql/envio/scalars/string.mdx)
#### [RevenueTransaction.id
](#)[String!
](/docs/api/flow/graphql/envio/scalars/string.mdx)
#### [RevenueTransaction.revenue
](#)[Revenue
](/docs/api/flow/graphql/envio/objects/revenue.mdx)
An object relationship
#### [RevenueTransaction.revenue_id
](#)[String!
](/docs/api/flow/graphql/envio/scalars/string.mdx)
#### [RevenueTransaction.timestamp
](#)[numeric!
](/docs/api/flow/graphql/envio/scalars/numeric.mdx)
---
## Revenue_var_pop_fields (2)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
aggregate var_pop on columns
```graphql
type Revenue_var_pop_fields {
amount: Float
chainId: Float
}
```
### Fields
#### [Revenue_var_pop_fields.amount
](#)[Float
](/docs/api/flow/graphql/envio/scalars/float.mdx)
#### [Revenue_var_pop_fields.chainId
](#)[Float
](/docs/api/flow/graphql/envio/scalars/float.mdx)
---
## Revenue_var_samp_fields (2)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
aggregate var_samp on columns
```graphql
type Revenue_var_samp_fields {
amount: Float
chainId: Float
}
```
### Fields
#### [Revenue_var_samp_fields.amount
](#)[Float
](/docs/api/flow/graphql/envio/scalars/float.mdx)
#### [Revenue_var_samp_fields.chainId
](#)[Float
](/docs/api/flow/graphql/envio/scalars/float.mdx)
---
## Revenue_variance_fields (2)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
aggregate variance on columns
```graphql
type Revenue_variance_fields {
amount: Float
chainId: Float
}
```
### Fields
#### [Revenue_variance_fields.amount
](#)[Float
](/docs/api/flow/graphql/envio/scalars/float.mdx)
#### [Revenue_variance_fields.chainId
](#)[Float
](/docs/api/flow/graphql/envio/scalars/float.mdx)
---
## Revenue (3)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
columns and relationships of "Revenue"
```graphql
type Revenue {
amount: float8!
chainId: numeric!
currency: String!
date: String!
dateTimestamp: timestamptz!
db_write_timestamp: timestamp
id: String!
transactions(
distinct_on: [RevenueTransaction_select_column!]
limit: Int
offset: Int
order_by: [RevenueTransaction_order_by!]
where: RevenueTransaction_bool_exp
): [RevenueTransaction!]!
transactions_aggregate(
distinct_on: [RevenueTransaction_select_column!]
limit: Int
offset: Int
order_by: [RevenueTransaction_order_by!]
where: RevenueTransaction_bool_exp
): RevenueTransaction_aggregate!
}
```
### Fields
#### [Revenue.amount
](#)[float8!
](/docs/api/flow/graphql/envio/scalars/float-8.mdx)
#### [Revenue.chainId
](#)[numeric!
](/docs/api/flow/graphql/envio/scalars/numeric.mdx)
#### [Revenue.currency
](#)[String!
](/docs/api/flow/graphql/envio/scalars/string.mdx)
#### [Revenue.date
](#)[String!
](/docs/api/flow/graphql/envio/scalars/string.mdx)
#### [Revenue.dateTimestamp
](#)[timestamptz!
](/docs/api/flow/graphql/envio/scalars/timestamptz.mdx)
#### [Revenue.db_write_timestamp
](#)[timestamp
](/docs/api/flow/graphql/envio/scalars/timestamp.mdx)
#### [Revenue.id
](#)[String!
](/docs/api/flow/graphql/envio/scalars/string.mdx)
#### [Revenue.transactions
](#)[[RevenueTransaction!]!
](/docs/api/flow/graphql/envio/objects/revenue-transaction.mdx)
An array relationship
##### [Revenue.transactions.distinct_on
](#)[[RevenueTransaction_select_column!]
](/docs/api/flow/graphql/envio/enums/revenue-transaction-select-column.mdx)
distinct select on columns
##### [Revenue.transactions.limit
](#)[Int
](/docs/api/flow/graphql/envio/scalars/int.mdx)
limit the number of rows returned
##### [Revenue.transactions.offset
](#)[Int
](/docs/api/flow/graphql/envio/scalars/int.mdx)
skip the first n rows. Use only with order_by
##### [Revenue.transactions.order_by
](#)[[RevenueTransaction_order_by!]
](/docs/api/flow/graphql/envio/inputs/revenue-transaction-order-by.mdx)
sort the rows by one or more columns
##### [Revenue.transactions.where
](#)[RevenueTransaction_bool_exp
](/docs/api/flow/graphql/envio/inputs/revenue-transaction-bool-exp.mdx)
filter the rows returned
#### [Revenue.transactions_aggregate
](#)[RevenueTransaction_aggregate!
](/docs/api/flow/graphql/envio/objects/revenue-transaction-aggregate.mdx)
An aggregate relationship
##### [Revenue.transactions_aggregate.distinct_on
](#)[[RevenueTransaction_select_column!]
](/docs/api/flow/graphql/envio/enums/revenue-transaction-select-column.mdx)
distinct select on columns
##### [Revenue.transactions_aggregate.limit
](#)[Int
](/docs/api/flow/graphql/envio/scalars/int.mdx)
limit the number of rows returned
##### [Revenue.transactions_aggregate.offset
](#)[Int
](/docs/api/flow/graphql/envio/scalars/int.mdx)
skip the first n rows. Use only with order_by
##### [Revenue.transactions_aggregate.order_by
](#)[[RevenueTransaction_order_by!]
](/docs/api/flow/graphql/envio/inputs/revenue-transaction-order-by.mdx)
sort the rows by one or more columns
##### [Revenue.transactions_aggregate.where
](#)[RevenueTransaction_bool_exp
](/docs/api/flow/graphql/envio/inputs/revenue-transaction-bool-exp.mdx)
filter the rows returned
---
## Stream_aggregate_fields
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
aggregate fields of "Stream"
```graphql
type Stream_aggregate_fields {
avg: Stream_avg_fields
count(columns: [Stream_select_column!], distinct: Boolean): Int!
max: Stream_max_fields
min: Stream_min_fields
stddev: Stream_stddev_fields
stddev_pop: Stream_stddev_pop_fields
stddev_samp: Stream_stddev_samp_fields
sum: Stream_sum_fields
var_pop: Stream_var_pop_fields
var_samp: Stream_var_samp_fields
variance: Stream_variance_fields
}
```
### Fields
#### [Stream_aggregate_fields.avg
](#)[Stream_avg_fields
](/docs/api/flow/graphql/envio/objects/stream-avg-fields.mdx)
#### [Stream_aggregate_fields.count
](#)[Int!
](/docs/api/flow/graphql/envio/scalars/int.mdx)
##### [Stream_aggregate_fields.count.columns
](#)[[Stream_select_column!]
](/docs/api/flow/graphql/envio/enums/stream-select-column.mdx)
##### [Stream_aggregate_fields.count.distinct
](#)[Boolean
](/docs/api/flow/graphql/envio/scalars/boolean.mdx)
#### [Stream_aggregate_fields.max
](#)[Stream_max_fields
](/docs/api/flow/graphql/envio/objects/stream-max-fields.mdx)
#### [Stream_aggregate_fields.min
](#)[Stream_min_fields
](/docs/api/flow/graphql/envio/objects/stream-min-fields.mdx)
#### [Stream_aggregate_fields.stddev
](#)[Stream_stddev_fields
](/docs/api/flow/graphql/envio/objects/stream-stddev-fields.mdx)
#### [Stream_aggregate_fields.stddev_pop
](#)[Stream_stddev_pop_fields
](/docs/api/flow/graphql/envio/objects/stream-stddev-pop-fields.mdx)
#### [Stream_aggregate_fields.stddev_samp
](#)[Stream_stddev_samp_fields
](/docs/api/flow/graphql/envio/objects/stream-stddev-samp-fields.mdx)
#### [Stream_aggregate_fields.sum
](#)[Stream_sum_fields
](/docs/api/flow/graphql/envio/objects/stream-sum-fields.mdx)
#### [Stream_aggregate_fields.var_pop
](#)[Stream_var_pop_fields
](/docs/api/flow/graphql/envio/objects/stream-var-pop-fields.mdx)
#### [Stream_aggregate_fields.var_samp
](#)[Stream_var_samp_fields
](/docs/api/flow/graphql/envio/objects/stream-var-samp-fields.mdx)
#### [Stream_aggregate_fields.variance
](#)[Stream_variance_fields
](/docs/api/flow/graphql/envio/objects/stream-variance-fields.mdx)
---
## Stream_aggregate
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
aggregated selection of "Stream"
```graphql
type Stream_aggregate {
aggregate: Stream_aggregate_fields
nodes: [Stream!]!
}
```
### Fields
#### [Stream_aggregate.aggregate
](#)[Stream_aggregate_fields
](/docs/api/flow/graphql/envio/objects/stream-aggregate-fields.mdx)
#### [Stream_aggregate.nodes
](#)[[Stream!]!
](/docs/api/flow/graphql/envio/objects/stream.mdx)
---
## Stream_avg_fields
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
aggregate avg on columns
```graphql
type Stream_avg_fields {
assetDecimalsValue: Float
availableAmount: Float
chainId: Float
depletionTime: Float
depositedAmount: Float
forgivenDebt: Float
lastAdjustmentTimestamp: Float
pausedTime: Float
position: Float
ratePerSecond: Float
refundedAmount: Float
snapshotAmount: Float
startTime: Float
subgraphId: Float
timestamp: Float
tokenId: Float
voidedTime: Float
withdrawnAmount: Float
}
```
### Fields
#### [Stream_avg_fields.assetDecimalsValue
](#)[Float
](/docs/api/flow/graphql/envio/scalars/float.mdx)
#### [Stream_avg_fields.availableAmount
](#)[Float
](/docs/api/flow/graphql/envio/scalars/float.mdx)
#### [Stream_avg_fields.chainId
](#)[Float
](/docs/api/flow/graphql/envio/scalars/float.mdx)
#### [Stream_avg_fields.depletionTime
](#)[Float
](/docs/api/flow/graphql/envio/scalars/float.mdx)
#### [Stream_avg_fields.depositedAmount
](#)[Float
](/docs/api/flow/graphql/envio/scalars/float.mdx)
#### [Stream_avg_fields.forgivenDebt
](#)[Float
](/docs/api/flow/graphql/envio/scalars/float.mdx)
#### [Stream_avg_fields.lastAdjustmentTimestamp
](#)[Float
](/docs/api/flow/graphql/envio/scalars/float.mdx)
#### [Stream_avg_fields.pausedTime
](#)[Float
](/docs/api/flow/graphql/envio/scalars/float.mdx)
#### [Stream_avg_fields.position
](#)[Float
](/docs/api/flow/graphql/envio/scalars/float.mdx)
#### [Stream_avg_fields.ratePerSecond
](#)[Float
](/docs/api/flow/graphql/envio/scalars/float.mdx)
#### [Stream_avg_fields.refundedAmount
](#)[Float
](/docs/api/flow/graphql/envio/scalars/float.mdx)
#### [Stream_avg_fields.snapshotAmount
](#)[Float
](/docs/api/flow/graphql/envio/scalars/float.mdx)
#### [Stream_avg_fields.startTime
](#)[Float
](/docs/api/flow/graphql/envio/scalars/float.mdx)
#### [Stream_avg_fields.subgraphId
](#)[Float
](/docs/api/flow/graphql/envio/scalars/float.mdx)
#### [Stream_avg_fields.timestamp
](#)[Float
](/docs/api/flow/graphql/envio/scalars/float.mdx)
#### [Stream_avg_fields.tokenId
](#)[Float
](/docs/api/flow/graphql/envio/scalars/float.mdx)
#### [Stream_avg_fields.voidedTime
](#)[Float
](/docs/api/flow/graphql/envio/scalars/float.mdx)
#### [Stream_avg_fields.withdrawnAmount
](#)[Float
](/docs/api/flow/graphql/envio/scalars/float.mdx)
---
## Stream_max_fields
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
aggregate max on columns
```graphql
type Stream_max_fields {
alias: String
assetDecimalsValue: numeric
asset_id: String
availableAmount: numeric
batch_id: String
category: streamcategory
chainId: numeric
contract: String
creator: String
db_write_timestamp: timestamp
depletionTime: numeric
depositedAmount: numeric
forgivenDebt: numeric
hash: String
id: String
lastAdjustmentAction_id: String
lastAdjustmentTimestamp: numeric
pausedAction_id: String
pausedTime: numeric
position: numeric
ratePerSecond: numeric
recipient: String
refundedAmount: numeric
sender: String
snapshotAmount: numeric
startTime: numeric
subgraphId: numeric
timestamp: numeric
tokenId: numeric
version: String
voidedAction_id: String
voidedTime: numeric
withdrawnAmount: numeric
}
```
### Fields
#### [Stream_max_fields.alias
](#)[String
](/docs/api/flow/graphql/envio/scalars/string.mdx)
#### [Stream_max_fields.assetDecimalsValue
](#)[numeric
](/docs/api/flow/graphql/envio/scalars/numeric.mdx)
#### [Stream_max_fields.asset_id
](#)[String
](/docs/api/flow/graphql/envio/scalars/string.mdx)
#### [Stream_max_fields.availableAmount
](#)[numeric
](/docs/api/flow/graphql/envio/scalars/numeric.mdx)
#### [Stream_max_fields.batch_id
](#)[String
](/docs/api/flow/graphql/envio/scalars/string.mdx)
#### [Stream_max_fields.category
](#)[streamcategory
](/docs/api/flow/graphql/envio/scalars/streamcategory.mdx)
#### [Stream_max_fields.chainId
](#)[numeric
](/docs/api/flow/graphql/envio/scalars/numeric.mdx)
#### [Stream_max_fields.contract
](#)[String
](/docs/api/flow/graphql/envio/scalars/string.mdx)
#### [Stream_max_fields.creator
](#)[String
](/docs/api/flow/graphql/envio/scalars/string.mdx)
#### [Stream_max_fields.db_write_timestamp
](#)[timestamp
](/docs/api/flow/graphql/envio/scalars/timestamp.mdx)
#### [Stream_max_fields.depletionTime
](#)[numeric
](/docs/api/flow/graphql/envio/scalars/numeric.mdx)
#### [Stream_max_fields.depositedAmount
](#)[numeric
](/docs/api/flow/graphql/envio/scalars/numeric.mdx)
#### [Stream_max_fields.forgivenDebt
](#)[numeric
](/docs/api/flow/graphql/envio/scalars/numeric.mdx)
#### [Stream_max_fields.hash
](#)[String
](/docs/api/flow/graphql/envio/scalars/string.mdx)
#### [Stream_max_fields.id
](#)[String
](/docs/api/flow/graphql/envio/scalars/string.mdx)
#### [Stream_max_fields.lastAdjustmentAction_id
](#)[String
](/docs/api/flow/graphql/envio/scalars/string.mdx)
#### [Stream_max_fields.lastAdjustmentTimestamp
](#)[numeric
](/docs/api/flow/graphql/envio/scalars/numeric.mdx)
#### [Stream_max_fields.pausedAction_id
](#)[String
](/docs/api/flow/graphql/envio/scalars/string.mdx)
#### [Stream_max_fields.pausedTime
](#)[numeric
](/docs/api/flow/graphql/envio/scalars/numeric.mdx)
#### [Stream_max_fields.position
](#)[numeric
](/docs/api/flow/graphql/envio/scalars/numeric.mdx)
#### [Stream_max_fields.ratePerSecond
](#)[numeric
](/docs/api/flow/graphql/envio/scalars/numeric.mdx)
#### [Stream_max_fields.recipient
](#)[String
](/docs/api/flow/graphql/envio/scalars/string.mdx)
#### [Stream_max_fields.refundedAmount
](#)[numeric
](/docs/api/flow/graphql/envio/scalars/numeric.mdx)
#### [Stream_max_fields.sender
](#)[String
](/docs/api/flow/graphql/envio/scalars/string.mdx)
#### [Stream_max_fields.snapshotAmount
](#)[numeric
](/docs/api/flow/graphql/envio/scalars/numeric.mdx)
#### [Stream_max_fields.startTime
](#)[numeric
](/docs/api/flow/graphql/envio/scalars/numeric.mdx)
#### [Stream_max_fields.subgraphId
](#)[numeric
](/docs/api/flow/graphql/envio/scalars/numeric.mdx)
#### [Stream_max_fields.timestamp
](#)[numeric
](/docs/api/flow/graphql/envio/scalars/numeric.mdx)
#### [Stream_max_fields.tokenId
](#)[numeric
](/docs/api/flow/graphql/envio/scalars/numeric.mdx)
#### [Stream_max_fields.version
](#)[String
](/docs/api/flow/graphql/envio/scalars/string.mdx)
#### [Stream_max_fields.voidedAction_id
](#)[String
](/docs/api/flow/graphql/envio/scalars/string.mdx)
#### [Stream_max_fields.voidedTime
](#)[numeric
](/docs/api/flow/graphql/envio/scalars/numeric.mdx)
#### [Stream_max_fields.withdrawnAmount
](#)[numeric
](/docs/api/flow/graphql/envio/scalars/numeric.mdx)
---
## Stream_min_fields
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
aggregate min on columns
```graphql
type Stream_min_fields {
alias: String
assetDecimalsValue: numeric
asset_id: String
availableAmount: numeric
batch_id: String
category: streamcategory
chainId: numeric
contract: String
creator: String
db_write_timestamp: timestamp
depletionTime: numeric
depositedAmount: numeric
forgivenDebt: numeric
hash: String
id: String
lastAdjustmentAction_id: String
lastAdjustmentTimestamp: numeric
pausedAction_id: String
pausedTime: numeric
position: numeric
ratePerSecond: numeric
recipient: String
refundedAmount: numeric
sender: String
snapshotAmount: numeric
startTime: numeric
subgraphId: numeric
timestamp: numeric
tokenId: numeric
version: String
voidedAction_id: String
voidedTime: numeric
withdrawnAmount: numeric
}
```
### Fields
#### [Stream_min_fields.alias
](#)[String
](/docs/api/flow/graphql/envio/scalars/string.mdx)
#### [Stream_min_fields.assetDecimalsValue
](#)[numeric
](/docs/api/flow/graphql/envio/scalars/numeric.mdx)
#### [Stream_min_fields.asset_id
](#)[String
](/docs/api/flow/graphql/envio/scalars/string.mdx)
#### [Stream_min_fields.availableAmount
](#)[numeric
](/docs/api/flow/graphql/envio/scalars/numeric.mdx)
#### [Stream_min_fields.batch_id
](#)[String
](/docs/api/flow/graphql/envio/scalars/string.mdx)
#### [Stream_min_fields.category
](#)[streamcategory
](/docs/api/flow/graphql/envio/scalars/streamcategory.mdx)
#### [Stream_min_fields.chainId
](#)[numeric
](/docs/api/flow/graphql/envio/scalars/numeric.mdx)
#### [Stream_min_fields.contract
](#)[String
](/docs/api/flow/graphql/envio/scalars/string.mdx)
#### [Stream_min_fields.creator
](#)[String
](/docs/api/flow/graphql/envio/scalars/string.mdx)
#### [Stream_min_fields.db_write_timestamp
](#)[timestamp
](/docs/api/flow/graphql/envio/scalars/timestamp.mdx)
#### [Stream_min_fields.depletionTime
](#)[numeric
](/docs/api/flow/graphql/envio/scalars/numeric.mdx)
#### [Stream_min_fields.depositedAmount
](#)[numeric
](/docs/api/flow/graphql/envio/scalars/numeric.mdx)
#### [Stream_min_fields.forgivenDebt
](#)[numeric
](/docs/api/flow/graphql/envio/scalars/numeric.mdx)
#### [Stream_min_fields.hash
](#)[String
](/docs/api/flow/graphql/envio/scalars/string.mdx)
#### [Stream_min_fields.id
](#)[String
](/docs/api/flow/graphql/envio/scalars/string.mdx)
#### [Stream_min_fields.lastAdjustmentAction_id
](#)[String
](/docs/api/flow/graphql/envio/scalars/string.mdx)
#### [Stream_min_fields.lastAdjustmentTimestamp
](#)[numeric
](/docs/api/flow/graphql/envio/scalars/numeric.mdx)
#### [Stream_min_fields.pausedAction_id
](#)[String
](/docs/api/flow/graphql/envio/scalars/string.mdx)
#### [Stream_min_fields.pausedTime
](#)[numeric
](/docs/api/flow/graphql/envio/scalars/numeric.mdx)
#### [Stream_min_fields.position
](#)[numeric
](/docs/api/flow/graphql/envio/scalars/numeric.mdx)
#### [Stream_min_fields.ratePerSecond
](#)[numeric
](/docs/api/flow/graphql/envio/scalars/numeric.mdx)
#### [Stream_min_fields.recipient
](#)[String
](/docs/api/flow/graphql/envio/scalars/string.mdx)
#### [Stream_min_fields.refundedAmount
](#)[numeric
](/docs/api/flow/graphql/envio/scalars/numeric.mdx)
#### [Stream_min_fields.sender
](#)[String
](/docs/api/flow/graphql/envio/scalars/string.mdx)
#### [Stream_min_fields.snapshotAmount
](#)[numeric
](/docs/api/flow/graphql/envio/scalars/numeric.mdx)
#### [Stream_min_fields.startTime
](#)[numeric
](/docs/api/flow/graphql/envio/scalars/numeric.mdx)
#### [Stream_min_fields.subgraphId
](#)[numeric
](/docs/api/flow/graphql/envio/scalars/numeric.mdx)
#### [Stream_min_fields.timestamp
](#)[numeric
](/docs/api/flow/graphql/envio/scalars/numeric.mdx)
#### [Stream_min_fields.tokenId
](#)[numeric
](/docs/api/flow/graphql/envio/scalars/numeric.mdx)
#### [Stream_min_fields.version
](#)[String
](/docs/api/flow/graphql/envio/scalars/string.mdx)
#### [Stream_min_fields.voidedAction_id
](#)[String
](/docs/api/flow/graphql/envio/scalars/string.mdx)
#### [Stream_min_fields.voidedTime
](#)[numeric
](/docs/api/flow/graphql/envio/scalars/numeric.mdx)
#### [Stream_min_fields.withdrawnAmount
](#)[numeric
](/docs/api/flow/graphql/envio/scalars/numeric.mdx)
---
## Stream_stddev_fields
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
aggregate stddev on columns
```graphql
type Stream_stddev_fields {
assetDecimalsValue: Float
availableAmount: Float
chainId: Float
depletionTime: Float
depositedAmount: Float
forgivenDebt: Float
lastAdjustmentTimestamp: Float
pausedTime: Float
position: Float
ratePerSecond: Float
refundedAmount: Float
snapshotAmount: Float
startTime: Float
subgraphId: Float
timestamp: Float
tokenId: Float
voidedTime: Float
withdrawnAmount: Float
}
```
### Fields
#### [Stream_stddev_fields.assetDecimalsValue
](#)[Float
](/docs/api/flow/graphql/envio/scalars/float.mdx)
#### [Stream_stddev_fields.availableAmount
](#)[Float
](/docs/api/flow/graphql/envio/scalars/float.mdx)
#### [Stream_stddev_fields.chainId
](#)[Float
](/docs/api/flow/graphql/envio/scalars/float.mdx)
#### [Stream_stddev_fields.depletionTime
](#)[Float
](/docs/api/flow/graphql/envio/scalars/float.mdx)
#### [Stream_stddev_fields.depositedAmount
](#)[Float
](/docs/api/flow/graphql/envio/scalars/float.mdx)
#### [Stream_stddev_fields.forgivenDebt
](#)[Float
](/docs/api/flow/graphql/envio/scalars/float.mdx)
#### [Stream_stddev_fields.lastAdjustmentTimestamp
](#)[Float
](/docs/api/flow/graphql/envio/scalars/float.mdx)
#### [Stream_stddev_fields.pausedTime
](#)[Float
](/docs/api/flow/graphql/envio/scalars/float.mdx)
#### [Stream_stddev_fields.position
](#)[Float
](/docs/api/flow/graphql/envio/scalars/float.mdx)
#### [Stream_stddev_fields.ratePerSecond
](#)[Float
](/docs/api/flow/graphql/envio/scalars/float.mdx)
#### [Stream_stddev_fields.refundedAmount
](#)[Float
](/docs/api/flow/graphql/envio/scalars/float.mdx)
#### [Stream_stddev_fields.snapshotAmount
](#)[Float
](/docs/api/flow/graphql/envio/scalars/float.mdx)
#### [Stream_stddev_fields.startTime
](#)[Float
](/docs/api/flow/graphql/envio/scalars/float.mdx)
#### [Stream_stddev_fields.subgraphId
](#)[Float
](/docs/api/flow/graphql/envio/scalars/float.mdx)
#### [Stream_stddev_fields.timestamp
](#)[Float
](/docs/api/flow/graphql/envio/scalars/float.mdx)
#### [Stream_stddev_fields.tokenId
](#)[Float
](/docs/api/flow/graphql/envio/scalars/float.mdx)
#### [Stream_stddev_fields.voidedTime
](#)[Float
](/docs/api/flow/graphql/envio/scalars/float.mdx)
#### [Stream_stddev_fields.withdrawnAmount
](#)[Float
](/docs/api/flow/graphql/envio/scalars/float.mdx)
---
## Stream_stddev_pop_fields
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
aggregate stddev_pop on columns
```graphql
type Stream_stddev_pop_fields {
assetDecimalsValue: Float
availableAmount: Float
chainId: Float
depletionTime: Float
depositedAmount: Float
forgivenDebt: Float
lastAdjustmentTimestamp: Float
pausedTime: Float
position: Float
ratePerSecond: Float
refundedAmount: Float
snapshotAmount: Float
startTime: Float
subgraphId: Float
timestamp: Float
tokenId: Float
voidedTime: Float
withdrawnAmount: Float
}
```
### Fields
#### [Stream_stddev_pop_fields.assetDecimalsValue
](#)[Float
](/docs/api/flow/graphql/envio/scalars/float.mdx)
#### [Stream_stddev_pop_fields.availableAmount
](#)[Float
](/docs/api/flow/graphql/envio/scalars/float.mdx)
#### [Stream_stddev_pop_fields.chainId
](#)[Float
](/docs/api/flow/graphql/envio/scalars/float.mdx)
#### [Stream_stddev_pop_fields.depletionTime
](#)[Float
](/docs/api/flow/graphql/envio/scalars/float.mdx)
#### [Stream_stddev_pop_fields.depositedAmount
](#)[Float
](/docs/api/flow/graphql/envio/scalars/float.mdx)
#### [Stream_stddev_pop_fields.forgivenDebt
](#)[Float
](/docs/api/flow/graphql/envio/scalars/float.mdx)
#### [Stream_stddev_pop_fields.lastAdjustmentTimestamp
](#)[Float
](/docs/api/flow/graphql/envio/scalars/float.mdx)
#### [Stream_stddev_pop_fields.pausedTime
](#)[Float
](/docs/api/flow/graphql/envio/scalars/float.mdx)
#### [Stream_stddev_pop_fields.position
](#)[Float
](/docs/api/flow/graphql/envio/scalars/float.mdx)
#### [Stream_stddev_pop_fields.ratePerSecond
](#)[Float
](/docs/api/flow/graphql/envio/scalars/float.mdx)
#### [Stream_stddev_pop_fields.refundedAmount
](#)[Float
](/docs/api/flow/graphql/envio/scalars/float.mdx)
#### [Stream_stddev_pop_fields.snapshotAmount
](#)[Float
](/docs/api/flow/graphql/envio/scalars/float.mdx)
#### [Stream_stddev_pop_fields.startTime
](#)[Float
](/docs/api/flow/graphql/envio/scalars/float.mdx)
#### [Stream_stddev_pop_fields.subgraphId
](#)[Float
](/docs/api/flow/graphql/envio/scalars/float.mdx)
#### [Stream_stddev_pop_fields.timestamp
](#)[Float
](/docs/api/flow/graphql/envio/scalars/float.mdx)
#### [Stream_stddev_pop_fields.tokenId
](#)[Float
](/docs/api/flow/graphql/envio/scalars/float.mdx)
#### [Stream_stddev_pop_fields.voidedTime
](#)[Float
](/docs/api/flow/graphql/envio/scalars/float.mdx)
#### [Stream_stddev_pop_fields.withdrawnAmount
](#)[Float
](/docs/api/flow/graphql/envio/scalars/float.mdx)
---
## Stream_stddev_samp_fields
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
aggregate stddev_samp on columns
```graphql
type Stream_stddev_samp_fields {
assetDecimalsValue: Float
availableAmount: Float
chainId: Float
depletionTime: Float
depositedAmount: Float
forgivenDebt: Float
lastAdjustmentTimestamp: Float
pausedTime: Float
position: Float
ratePerSecond: Float
refundedAmount: Float
snapshotAmount: Float
startTime: Float
subgraphId: Float
timestamp: Float
tokenId: Float
voidedTime: Float
withdrawnAmount: Float
}
```
### Fields
#### [Stream_stddev_samp_fields.assetDecimalsValue
](#)[Float
](/docs/api/flow/graphql/envio/scalars/float.mdx)
#### [Stream_stddev_samp_fields.availableAmount
](#)[Float
](/docs/api/flow/graphql/envio/scalars/float.mdx)
#### [Stream_stddev_samp_fields.chainId
](#)[Float
](/docs/api/flow/graphql/envio/scalars/float.mdx)
#### [Stream_stddev_samp_fields.depletionTime
](#)[Float
](/docs/api/flow/graphql/envio/scalars/float.mdx)
#### [Stream_stddev_samp_fields.depositedAmount
](#)[Float
](/docs/api/flow/graphql/envio/scalars/float.mdx)
#### [Stream_stddev_samp_fields.forgivenDebt
](#)[Float
](/docs/api/flow/graphql/envio/scalars/float.mdx)
#### [Stream_stddev_samp_fields.lastAdjustmentTimestamp
](#)[Float
](/docs/api/flow/graphql/envio/scalars/float.mdx)
#### [Stream_stddev_samp_fields.pausedTime
](#)[Float
](/docs/api/flow/graphql/envio/scalars/float.mdx)
#### [Stream_stddev_samp_fields.position
](#)[Float
](/docs/api/flow/graphql/envio/scalars/float.mdx)
#### [Stream_stddev_samp_fields.ratePerSecond
](#)[Float
](/docs/api/flow/graphql/envio/scalars/float.mdx)
#### [Stream_stddev_samp_fields.refundedAmount
](#)[Float
](/docs/api/flow/graphql/envio/scalars/float.mdx)
#### [Stream_stddev_samp_fields.snapshotAmount
](#)[Float
](/docs/api/flow/graphql/envio/scalars/float.mdx)
#### [Stream_stddev_samp_fields.startTime
](#)[Float
](/docs/api/flow/graphql/envio/scalars/float.mdx)
#### [Stream_stddev_samp_fields.subgraphId
](#)[Float
](/docs/api/flow/graphql/envio/scalars/float.mdx)
#### [Stream_stddev_samp_fields.timestamp
](#)[Float
](/docs/api/flow/graphql/envio/scalars/float.mdx)
#### [Stream_stddev_samp_fields.tokenId
](#)[Float
](/docs/api/flow/graphql/envio/scalars/float.mdx)
#### [Stream_stddev_samp_fields.voidedTime
](#)[Float
](/docs/api/flow/graphql/envio/scalars/float.mdx)
#### [Stream_stddev_samp_fields.withdrawnAmount
](#)[Float
](/docs/api/flow/graphql/envio/scalars/float.mdx)
---
## Stream_sum_fields
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
aggregate sum on columns
```graphql
type Stream_sum_fields {
assetDecimalsValue: numeric
availableAmount: numeric
chainId: numeric
depletionTime: numeric
depositedAmount: numeric
forgivenDebt: numeric
lastAdjustmentTimestamp: numeric
pausedTime: numeric
position: numeric
ratePerSecond: numeric
refundedAmount: numeric
snapshotAmount: numeric
startTime: numeric
subgraphId: numeric
timestamp: numeric
tokenId: numeric
voidedTime: numeric
withdrawnAmount: numeric
}
```
### Fields
#### [Stream_sum_fields.assetDecimalsValue
](#)[numeric
](/docs/api/flow/graphql/envio/scalars/numeric.mdx)
#### [Stream_sum_fields.availableAmount
](#)[numeric
](/docs/api/flow/graphql/envio/scalars/numeric.mdx)
#### [Stream_sum_fields.chainId
](#)[numeric
](/docs/api/flow/graphql/envio/scalars/numeric.mdx)
#### [Stream_sum_fields.depletionTime
](#)[numeric
](/docs/api/flow/graphql/envio/scalars/numeric.mdx)
#### [Stream_sum_fields.depositedAmount
](#)[numeric
](/docs/api/flow/graphql/envio/scalars/numeric.mdx)
#### [Stream_sum_fields.forgivenDebt
](#)[numeric
](/docs/api/flow/graphql/envio/scalars/numeric.mdx)
#### [Stream_sum_fields.lastAdjustmentTimestamp
](#)[numeric
](/docs/api/flow/graphql/envio/scalars/numeric.mdx)
#### [Stream_sum_fields.pausedTime
](#)[numeric
](/docs/api/flow/graphql/envio/scalars/numeric.mdx)
#### [Stream_sum_fields.position
](#)[numeric
](/docs/api/flow/graphql/envio/scalars/numeric.mdx)
#### [Stream_sum_fields.ratePerSecond
](#)[numeric
](/docs/api/flow/graphql/envio/scalars/numeric.mdx)
#### [Stream_sum_fields.refundedAmount
](#)[numeric
](/docs/api/flow/graphql/envio/scalars/numeric.mdx)
#### [Stream_sum_fields.snapshotAmount
](#)[numeric
](/docs/api/flow/graphql/envio/scalars/numeric.mdx)
#### [Stream_sum_fields.startTime
](#)[numeric
](/docs/api/flow/graphql/envio/scalars/numeric.mdx)
#### [Stream_sum_fields.subgraphId
](#)[numeric
](/docs/api/flow/graphql/envio/scalars/numeric.mdx)
#### [Stream_sum_fields.timestamp
](#)[numeric
](/docs/api/flow/graphql/envio/scalars/numeric.mdx)
#### [Stream_sum_fields.tokenId
](#)[numeric
](/docs/api/flow/graphql/envio/scalars/numeric.mdx)
#### [Stream_sum_fields.voidedTime
](#)[numeric
](/docs/api/flow/graphql/envio/scalars/numeric.mdx)
#### [Stream_sum_fields.withdrawnAmount
](#)[numeric
](/docs/api/flow/graphql/envio/scalars/numeric.mdx)
---
## Stream_var_pop_fields
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
aggregate var_pop on columns
```graphql
type Stream_var_pop_fields {
assetDecimalsValue: Float
availableAmount: Float
chainId: Float
depletionTime: Float
depositedAmount: Float
forgivenDebt: Float
lastAdjustmentTimestamp: Float
pausedTime: Float
position: Float
ratePerSecond: Float
refundedAmount: Float
snapshotAmount: Float
startTime: Float
subgraphId: Float
timestamp: Float
tokenId: Float
voidedTime: Float
withdrawnAmount: Float
}
```
### Fields
#### [Stream_var_pop_fields.assetDecimalsValue
](#)[Float
](/docs/api/flow/graphql/envio/scalars/float.mdx)
#### [Stream_var_pop_fields.availableAmount
](#)[Float
](/docs/api/flow/graphql/envio/scalars/float.mdx)
#### [Stream_var_pop_fields.chainId
](#)[Float
](/docs/api/flow/graphql/envio/scalars/float.mdx)
#### [Stream_var_pop_fields.depletionTime
](#)[Float
](/docs/api/flow/graphql/envio/scalars/float.mdx)
#### [Stream_var_pop_fields.depositedAmount
](#)[Float
](/docs/api/flow/graphql/envio/scalars/float.mdx)
#### [Stream_var_pop_fields.forgivenDebt
](#)[Float
](/docs/api/flow/graphql/envio/scalars/float.mdx)
#### [Stream_var_pop_fields.lastAdjustmentTimestamp
](#)[Float
](/docs/api/flow/graphql/envio/scalars/float.mdx)
#### [Stream_var_pop_fields.pausedTime
](#)[Float
](/docs/api/flow/graphql/envio/scalars/float.mdx)
#### [Stream_var_pop_fields.position
](#)[Float
](/docs/api/flow/graphql/envio/scalars/float.mdx)
#### [Stream_var_pop_fields.ratePerSecond
](#)[Float
](/docs/api/flow/graphql/envio/scalars/float.mdx)
#### [Stream_var_pop_fields.refundedAmount
](#)[Float
](/docs/api/flow/graphql/envio/scalars/float.mdx)
#### [Stream_var_pop_fields.snapshotAmount
](#)[Float
](/docs/api/flow/graphql/envio/scalars/float.mdx)
#### [Stream_var_pop_fields.startTime
](#)[Float
](/docs/api/flow/graphql/envio/scalars/float.mdx)
#### [Stream_var_pop_fields.subgraphId
](#)[Float
](/docs/api/flow/graphql/envio/scalars/float.mdx)
#### [Stream_var_pop_fields.timestamp
](#)[Float
](/docs/api/flow/graphql/envio/scalars/float.mdx)
#### [Stream_var_pop_fields.tokenId
](#)[Float
](/docs/api/flow/graphql/envio/scalars/float.mdx)
#### [Stream_var_pop_fields.voidedTime
](#)[Float
](/docs/api/flow/graphql/envio/scalars/float.mdx)
#### [Stream_var_pop_fields.withdrawnAmount
](#)[Float
](/docs/api/flow/graphql/envio/scalars/float.mdx)
---
## Stream_var_samp_fields
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
aggregate var_samp on columns
```graphql
type Stream_var_samp_fields {
assetDecimalsValue: Float
availableAmount: Float
chainId: Float
depletionTime: Float
depositedAmount: Float
forgivenDebt: Float
lastAdjustmentTimestamp: Float
pausedTime: Float
position: Float
ratePerSecond: Float
refundedAmount: Float
snapshotAmount: Float
startTime: Float
subgraphId: Float
timestamp: Float
tokenId: Float
voidedTime: Float
withdrawnAmount: Float
}
```
### Fields
#### [Stream_var_samp_fields.assetDecimalsValue
](#)[Float
](/docs/api/flow/graphql/envio/scalars/float.mdx)
#### [Stream_var_samp_fields.availableAmount
](#)[Float
](/docs/api/flow/graphql/envio/scalars/float.mdx)
#### [Stream_var_samp_fields.chainId
](#)[Float
](/docs/api/flow/graphql/envio/scalars/float.mdx)
#### [Stream_var_samp_fields.depletionTime
](#)[Float
](/docs/api/flow/graphql/envio/scalars/float.mdx)
#### [Stream_var_samp_fields.depositedAmount
](#)[Float
](/docs/api/flow/graphql/envio/scalars/float.mdx)
#### [Stream_var_samp_fields.forgivenDebt
](#)[Float
](/docs/api/flow/graphql/envio/scalars/float.mdx)
#### [Stream_var_samp_fields.lastAdjustmentTimestamp
](#)[Float
](/docs/api/flow/graphql/envio/scalars/float.mdx)
#### [Stream_var_samp_fields.pausedTime
](#)[Float
](/docs/api/flow/graphql/envio/scalars/float.mdx)
#### [Stream_var_samp_fields.position
](#)[Float
](/docs/api/flow/graphql/envio/scalars/float.mdx)
#### [Stream_var_samp_fields.ratePerSecond
](#)[Float
](/docs/api/flow/graphql/envio/scalars/float.mdx)
#### [Stream_var_samp_fields.refundedAmount
](#)[Float
](/docs/api/flow/graphql/envio/scalars/float.mdx)
#### [Stream_var_samp_fields.snapshotAmount
](#)[Float
](/docs/api/flow/graphql/envio/scalars/float.mdx)
#### [Stream_var_samp_fields.startTime
](#)[Float
](/docs/api/flow/graphql/envio/scalars/float.mdx)
#### [Stream_var_samp_fields.subgraphId
](#)[Float
](/docs/api/flow/graphql/envio/scalars/float.mdx)
#### [Stream_var_samp_fields.timestamp
](#)[Float
](/docs/api/flow/graphql/envio/scalars/float.mdx)
#### [Stream_var_samp_fields.tokenId
](#)[Float
](/docs/api/flow/graphql/envio/scalars/float.mdx)
#### [Stream_var_samp_fields.voidedTime
](#)[Float
](/docs/api/flow/graphql/envio/scalars/float.mdx)
#### [Stream_var_samp_fields.withdrawnAmount
](#)[Float
](/docs/api/flow/graphql/envio/scalars/float.mdx)
---
## Stream_variance_fields
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
aggregate variance on columns
```graphql
type Stream_variance_fields {
assetDecimalsValue: Float
availableAmount: Float
chainId: Float
depletionTime: Float
depositedAmount: Float
forgivenDebt: Float
lastAdjustmentTimestamp: Float
pausedTime: Float
position: Float
ratePerSecond: Float
refundedAmount: Float
snapshotAmount: Float
startTime: Float
subgraphId: Float
timestamp: Float
tokenId: Float
voidedTime: Float
withdrawnAmount: Float
}
```
### Fields
#### [Stream_variance_fields.assetDecimalsValue
](#)[Float
](/docs/api/flow/graphql/envio/scalars/float.mdx)
#### [Stream_variance_fields.availableAmount
](#)[Float
](/docs/api/flow/graphql/envio/scalars/float.mdx)
#### [Stream_variance_fields.chainId
](#)[Float
](/docs/api/flow/graphql/envio/scalars/float.mdx)
#### [Stream_variance_fields.depletionTime
](#)[Float
](/docs/api/flow/graphql/envio/scalars/float.mdx)
#### [Stream_variance_fields.depositedAmount
](#)[Float
](/docs/api/flow/graphql/envio/scalars/float.mdx)
#### [Stream_variance_fields.forgivenDebt
](#)[Float
](/docs/api/flow/graphql/envio/scalars/float.mdx)
#### [Stream_variance_fields.lastAdjustmentTimestamp
](#)[Float
](/docs/api/flow/graphql/envio/scalars/float.mdx)
#### [Stream_variance_fields.pausedTime
](#)[Float
](/docs/api/flow/graphql/envio/scalars/float.mdx)
#### [Stream_variance_fields.position
](#)[Float
](/docs/api/flow/graphql/envio/scalars/float.mdx)
#### [Stream_variance_fields.ratePerSecond
](#)[Float
](/docs/api/flow/graphql/envio/scalars/float.mdx)
#### [Stream_variance_fields.refundedAmount
](#)[Float
](/docs/api/flow/graphql/envio/scalars/float.mdx)
#### [Stream_variance_fields.snapshotAmount
](#)[Float
](/docs/api/flow/graphql/envio/scalars/float.mdx)
#### [Stream_variance_fields.startTime
](#)[Float
](/docs/api/flow/graphql/envio/scalars/float.mdx)
#### [Stream_variance_fields.subgraphId
](#)[Float
](/docs/api/flow/graphql/envio/scalars/float.mdx)
#### [Stream_variance_fields.timestamp
](#)[Float
](/docs/api/flow/graphql/envio/scalars/float.mdx)
#### [Stream_variance_fields.tokenId
](#)[Float
](/docs/api/flow/graphql/envio/scalars/float.mdx)
#### [Stream_variance_fields.voidedTime
](#)[Float
](/docs/api/flow/graphql/envio/scalars/float.mdx)
#### [Stream_variance_fields.withdrawnAmount
](#)[Float
](/docs/api/flow/graphql/envio/scalars/float.mdx)
---
## Stream (3)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
columns and relationships of "Stream"
```graphql
type Stream {
actions(
distinct_on: [Action_select_column!]
limit: Int
offset: Int
order_by: [Action_order_by!]
where: Action_bool_exp
): [Action!]!
alias: String!
asset: Asset
assetDecimalsValue: numeric!
asset_id: String!
availableAmount: numeric!
batch: Batch
batch_id: String!
category: streamcategory!
chainId: numeric!
contract: String!
creator: String!
db_write_timestamp: timestamp
depletionTime: numeric!
depositedAmount: numeric!
forgivenDebt: numeric!
hash: String!
id: String!
lastAdjustmentAction: Action
lastAdjustmentAction_id: String
lastAdjustmentTimestamp: numeric!
paused: Boolean!
pausedAction: Action
pausedAction_id: String
pausedTime: numeric
position: numeric!
ratePerSecond: numeric!
recipient: String!
refundedAmount: numeric!
sender: String!
snapshotAmount: numeric!
startTime: numeric!
subgraphId: numeric!
timestamp: numeric!
tokenId: numeric!
transferable: Boolean!
version: String!
voided: Boolean!
voidedAction: Action
voidedAction_id: String
voidedTime: numeric
withdrawnAmount: numeric!
}
```
### Fields
#### [Stream.actions
](#)[[Action!]!
](/docs/api/flow/graphql/envio/objects/action.mdx)
An array relationship
##### [Stream.actions.distinct_on
](#)[[Action_select_column!]
](/docs/api/flow/graphql/envio/enums/action-select-column.mdx)
distinct select on columns
##### [Stream.actions.limit
](#)[Int
](/docs/api/flow/graphql/envio/scalars/int.mdx)
limit the number of rows returned
##### [Stream.actions.offset
](#)[Int
](/docs/api/flow/graphql/envio/scalars/int.mdx)
skip the first n rows. Use only with order_by
##### [Stream.actions.order_by
](#)[[Action_order_by!]
](/docs/api/flow/graphql/envio/inputs/action-order-by.mdx)
sort the rows by one or more columns
##### [Stream.actions.where
](#)[Action_bool_exp
](/docs/api/flow/graphql/envio/inputs/action-bool-exp.mdx)
filter the rows returned
#### [Stream.alias
](#)[String!
](/docs/api/flow/graphql/envio/scalars/string.mdx)
#### [Stream.asset
](#)[Asset
](/docs/api/flow/graphql/envio/objects/asset.mdx)
An object relationship
#### [Stream.assetDecimalsValue
](#)[numeric!
](/docs/api/flow/graphql/envio/scalars/numeric.mdx)
#### [Stream.asset_id
](#)[String!
](/docs/api/flow/graphql/envio/scalars/string.mdx)
#### [Stream.availableAmount
](#)[numeric!
](/docs/api/flow/graphql/envio/scalars/numeric.mdx)
#### [Stream.batch
](#)[Batch
](/docs/api/flow/graphql/envio/objects/batch.mdx)
An object relationship
#### [Stream.batch_id
](#)[String!
](/docs/api/flow/graphql/envio/scalars/string.mdx)
#### [Stream.category
](#)[streamcategory!
](/docs/api/flow/graphql/envio/scalars/streamcategory.mdx)
#### [Stream.chainId
](#)[numeric!
](/docs/api/flow/graphql/envio/scalars/numeric.mdx)
#### [Stream.contract
](#)[String!
](/docs/api/flow/graphql/envio/scalars/string.mdx)
#### [Stream.creator
](#)[String!
](/docs/api/flow/graphql/envio/scalars/string.mdx)
#### [Stream.db_write_timestamp
](#)[timestamp
](/docs/api/flow/graphql/envio/scalars/timestamp.mdx)
#### [Stream.depletionTime
](#)[numeric!
](/docs/api/flow/graphql/envio/scalars/numeric.mdx)
#### [Stream.depositedAmount
](#)[numeric!
](/docs/api/flow/graphql/envio/scalars/numeric.mdx)
#### [Stream.forgivenDebt
](#)[numeric!
](/docs/api/flow/graphql/envio/scalars/numeric.mdx)
#### [Stream.hash
](#)[String!
](/docs/api/flow/graphql/envio/scalars/string.mdx)
#### [Stream.id
](#)[String!
](/docs/api/flow/graphql/envio/scalars/string.mdx)
#### [Stream.lastAdjustmentAction
](#)[Action
](/docs/api/flow/graphql/envio/objects/action.mdx)
An object relationship
#### [Stream.lastAdjustmentAction_id
](#)[String
](/docs/api/flow/graphql/envio/scalars/string.mdx)
#### [Stream.lastAdjustmentTimestamp
](#)[numeric!
](/docs/api/flow/graphql/envio/scalars/numeric.mdx)
#### [Stream.paused
](#)[Boolean!
](/docs/api/flow/graphql/envio/scalars/boolean.mdx)
#### [Stream.pausedAction
](#)[Action
](/docs/api/flow/graphql/envio/objects/action.mdx)
An object relationship
#### [Stream.pausedAction_id
](#)[String
](/docs/api/flow/graphql/envio/scalars/string.mdx)
#### [Stream.pausedTime
](#)[numeric
](/docs/api/flow/graphql/envio/scalars/numeric.mdx)
#### [Stream.position
](#)[numeric!
](/docs/api/flow/graphql/envio/scalars/numeric.mdx)
#### [Stream.ratePerSecond
](#)[numeric!
](/docs/api/flow/graphql/envio/scalars/numeric.mdx)
#### [Stream.recipient
](#)[String!
](/docs/api/flow/graphql/envio/scalars/string.mdx)
#### [Stream.refundedAmount
](#)[numeric!
](/docs/api/flow/graphql/envio/scalars/numeric.mdx)
#### [Stream.sender
](#)[String!
](/docs/api/flow/graphql/envio/scalars/string.mdx)
#### [Stream.snapshotAmount
](#)[numeric!
](/docs/api/flow/graphql/envio/scalars/numeric.mdx)
#### [Stream.startTime
](#)[numeric!
](/docs/api/flow/graphql/envio/scalars/numeric.mdx)
#### [Stream.subgraphId
](#)[numeric!
](/docs/api/flow/graphql/envio/scalars/numeric.mdx)
#### [Stream.timestamp
](#)[numeric!
](/docs/api/flow/graphql/envio/scalars/numeric.mdx)
#### [Stream.tokenId
](#)[numeric!
](/docs/api/flow/graphql/envio/scalars/numeric.mdx)
#### [Stream.transferable
](#)[Boolean!
](/docs/api/flow/graphql/envio/scalars/boolean.mdx)
#### [Stream.version
](#)[String!
](/docs/api/flow/graphql/envio/scalars/string.mdx)
#### [Stream.voided
](#)[Boolean!
](/docs/api/flow/graphql/envio/scalars/boolean.mdx)
#### [Stream.voidedAction
](#)[Action
](/docs/api/flow/graphql/envio/objects/action.mdx)
An object relationship
#### [Stream.voidedAction_id
](#)[String
](/docs/api/flow/graphql/envio/scalars/string.mdx)
#### [Stream.voidedTime
](#)[numeric
](/docs/api/flow/graphql/envio/scalars/numeric.mdx)
#### [Stream.withdrawnAmount
](#)[numeric!
](/docs/api/flow/graphql/envio/scalars/numeric.mdx)
---
## User_aggregate_fields (2)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
aggregate fields of "User"
```graphql
type User_aggregate_fields {
avg: User_avg_fields
count(columns: [User_select_column!], distinct: Boolean): Int!
max: User_max_fields
min: User_min_fields
stddev: User_stddev_fields
stddev_pop: User_stddev_pop_fields
stddev_samp: User_stddev_samp_fields
sum: User_sum_fields
var_pop: User_var_pop_fields
var_samp: User_var_samp_fields
variance: User_variance_fields
}
```
### Fields
#### [User_aggregate_fields.avg
](#)[User_avg_fields
](/docs/api/flow/graphql/envio/objects/user-avg-fields.mdx)
#### [User_aggregate_fields.count
](#)[Int!
](/docs/api/flow/graphql/envio/scalars/int.mdx)
##### [User_aggregate_fields.count.columns
](#)[[User_select_column!]
](/docs/api/flow/graphql/envio/enums/user-select-column.mdx)
##### [User_aggregate_fields.count.distinct
](#)[Boolean
](/docs/api/flow/graphql/envio/scalars/boolean.mdx)
#### [User_aggregate_fields.max
](#)[User_max_fields
](/docs/api/flow/graphql/envio/objects/user-max-fields.mdx)
#### [User_aggregate_fields.min
](#)[User_min_fields
](/docs/api/flow/graphql/envio/objects/user-min-fields.mdx)
#### [User_aggregate_fields.stddev
](#)[User_stddev_fields
](/docs/api/flow/graphql/envio/objects/user-stddev-fields.mdx)
#### [User_aggregate_fields.stddev_pop
](#)[User_stddev_pop_fields
](/docs/api/flow/graphql/envio/objects/user-stddev-pop-fields.mdx)
#### [User_aggregate_fields.stddev_samp
](#)[User_stddev_samp_fields
](/docs/api/flow/graphql/envio/objects/user-stddev-samp-fields.mdx)
#### [User_aggregate_fields.sum
](#)[User_sum_fields
](/docs/api/flow/graphql/envio/objects/user-sum-fields.mdx)
#### [User_aggregate_fields.var_pop
](#)[User_var_pop_fields
](/docs/api/flow/graphql/envio/objects/user-var-pop-fields.mdx)
#### [User_aggregate_fields.var_samp
](#)[User_var_samp_fields
](/docs/api/flow/graphql/envio/objects/user-var-samp-fields.mdx)
#### [User_aggregate_fields.variance
](#)[User_variance_fields
](/docs/api/flow/graphql/envio/objects/user-variance-fields.mdx)
---
## User_aggregate (3)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
aggregated selection of "User"
```graphql
type User_aggregate {
aggregate: User_aggregate_fields
nodes: [User!]!
}
```
### Fields
#### [User_aggregate.aggregate
](#)[User_aggregate_fields
](/docs/api/flow/graphql/envio/objects/user-aggregate-fields.mdx)
#### [User_aggregate.nodes
](#)[[User!]!
](/docs/api/flow/graphql/envio/objects/user.mdx)
---
## User_avg_fields (2)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
aggregate avg on columns
```graphql
type User_avg_fields {
chainId: Float
}
```
### Fields
#### [User_avg_fields.chainId
](#)[Float
](/docs/api/flow/graphql/envio/scalars/float.mdx)
---
## User_max_fields (2)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
aggregate max on columns
```graphql
type User_max_fields {
address: String
chainId: numeric
db_write_timestamp: timestamp
id: String
}
```
### Fields
#### [User_max_fields.address
](#)[String
](/docs/api/flow/graphql/envio/scalars/string.mdx)
#### [User_max_fields.chainId
](#)[numeric
](/docs/api/flow/graphql/envio/scalars/numeric.mdx)
#### [User_max_fields.db_write_timestamp
](#)[timestamp
](/docs/api/flow/graphql/envio/scalars/timestamp.mdx)
#### [User_max_fields.id
](#)[String
](/docs/api/flow/graphql/envio/scalars/string.mdx)
---
## User_min_fields (2)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
aggregate min on columns
```graphql
type User_min_fields {
address: String
chainId: numeric
db_write_timestamp: timestamp
id: String
}
```
### Fields
#### [User_min_fields.address
](#)[String
](/docs/api/flow/graphql/envio/scalars/string.mdx)
#### [User_min_fields.chainId
](#)[numeric
](/docs/api/flow/graphql/envio/scalars/numeric.mdx)
#### [User_min_fields.db_write_timestamp
](#)[timestamp
](/docs/api/flow/graphql/envio/scalars/timestamp.mdx)
#### [User_min_fields.id
](#)[String
](/docs/api/flow/graphql/envio/scalars/string.mdx)
---
## User_stddev_fields (2)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
aggregate stddev on columns
```graphql
type User_stddev_fields {
chainId: Float
}
```
### Fields
#### [User_stddev_fields.chainId
](#)[Float
](/docs/api/flow/graphql/envio/scalars/float.mdx)
---
## User_stddev_pop_fields (2)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
aggregate stddev_pop on columns
```graphql
type User_stddev_pop_fields {
chainId: Float
}
```
### Fields
#### [User_stddev_pop_fields.chainId
](#)[Float
](/docs/api/flow/graphql/envio/scalars/float.mdx)
---
## User_stddev_samp_fields (2)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
aggregate stddev_samp on columns
```graphql
type User_stddev_samp_fields {
chainId: Float
}
```
### Fields
#### [User_stddev_samp_fields.chainId
](#)[Float
](/docs/api/flow/graphql/envio/scalars/float.mdx)
---
## User_sum_fields (2)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
aggregate sum on columns
```graphql
type User_sum_fields {
chainId: numeric
}
```
### Fields
#### [User_sum_fields.chainId
](#)[numeric
](/docs/api/flow/graphql/envio/scalars/numeric.mdx)
---
## UserTransaction_aggregate_fields (2)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
aggregate fields of "UserTransaction"
```graphql
type UserTransaction_aggregate_fields {
avg: UserTransaction_avg_fields
count(columns: [UserTransaction_select_column!], distinct: Boolean): Int!
max: UserTransaction_max_fields
min: UserTransaction_min_fields
stddev: UserTransaction_stddev_fields
stddev_pop: UserTransaction_stddev_pop_fields
stddev_samp: UserTransaction_stddev_samp_fields
sum: UserTransaction_sum_fields
var_pop: UserTransaction_var_pop_fields
var_samp: UserTransaction_var_samp_fields
variance: UserTransaction_variance_fields
}
```
### Fields
#### [UserTransaction_aggregate_fields.avg
](#)[UserTransaction_avg_fields
](/docs/api/flow/graphql/envio/objects/user-transaction-avg-fields.mdx)
#### [UserTransaction_aggregate_fields.count
](#)[Int!
](/docs/api/flow/graphql/envio/scalars/int.mdx)
##### [UserTransaction_aggregate_fields.count.columns
](#)[[UserTransaction_select_column!]
](/docs/api/flow/graphql/envio/enums/user-transaction-select-column.mdx)
##### [UserTransaction_aggregate_fields.count.distinct
](#)[Boolean
](/docs/api/flow/graphql/envio/scalars/boolean.mdx)
#### [UserTransaction_aggregate_fields.max
](#)[UserTransaction_max_fields
](/docs/api/flow/graphql/envio/objects/user-transaction-max-fields.mdx)
#### [UserTransaction_aggregate_fields.min
](#)[UserTransaction_min_fields
](/docs/api/flow/graphql/envio/objects/user-transaction-min-fields.mdx)
#### [UserTransaction_aggregate_fields.stddev
](#)[UserTransaction_stddev_fields
](/docs/api/flow/graphql/envio/objects/user-transaction-stddev-fields.mdx)
#### [UserTransaction_aggregate_fields.stddev_pop
](#)[UserTransaction_stddev_pop_fields
](/docs/api/flow/graphql/envio/objects/user-transaction-stddev-pop-fields.mdx)
#### [UserTransaction_aggregate_fields.stddev_samp
](#)[UserTransaction_stddev_samp_fields
](/docs/api/flow/graphql/envio/objects/user-transaction-stddev-samp-fields.mdx)
#### [UserTransaction_aggregate_fields.sum
](#)[UserTransaction_sum_fields
](/docs/api/flow/graphql/envio/objects/user-transaction-sum-fields.mdx)
#### [UserTransaction_aggregate_fields.var_pop
](#)[UserTransaction_var_pop_fields
](/docs/api/flow/graphql/envio/objects/user-transaction-var-pop-fields.mdx)
#### [UserTransaction_aggregate_fields.var_samp
](#)[UserTransaction_var_samp_fields
](/docs/api/flow/graphql/envio/objects/user-transaction-var-samp-fields.mdx)
#### [UserTransaction_aggregate_fields.variance
](#)[UserTransaction_variance_fields
](/docs/api/flow/graphql/envio/objects/user-transaction-variance-fields.mdx)
---
## UserTransaction_aggregate (3)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
aggregated selection of "UserTransaction"
```graphql
type UserTransaction_aggregate {
aggregate: UserTransaction_aggregate_fields
nodes: [UserTransaction!]!
}
```
### Fields
#### [UserTransaction_aggregate.aggregate
](#)[UserTransaction_aggregate_fields
](/docs/api/flow/graphql/envio/objects/user-transaction-aggregate-fields.mdx)
#### [UserTransaction_aggregate.nodes
](#)[[UserTransaction!]!
](/docs/api/flow/graphql/envio/objects/user-transaction.mdx)
---
## UserTransaction_avg_fields (2)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
aggregate avg on columns
```graphql
type UserTransaction_avg_fields {
block: Float
fee: Float
timestamp: Float
}
```
### Fields
#### [UserTransaction_avg_fields.block
](#)[Float
](/docs/api/flow/graphql/envio/scalars/float.mdx)
#### [UserTransaction_avg_fields.fee
](#)[Float
](/docs/api/flow/graphql/envio/scalars/float.mdx)
#### [UserTransaction_avg_fields.timestamp
](#)[Float
](/docs/api/flow/graphql/envio/scalars/float.mdx)
---
## UserTransaction_max_fields (2)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
aggregate max on columns
```graphql
type UserTransaction_max_fields {
block: numeric
db_write_timestamp: timestamp
fee: float8
hash: String
id: String
timestamp: numeric
user_id: String
}
```
### Fields
#### [UserTransaction_max_fields.block
](#)[numeric
](/docs/api/flow/graphql/envio/scalars/numeric.mdx)
#### [UserTransaction_max_fields.db_write_timestamp
](#)[timestamp
](/docs/api/flow/graphql/envio/scalars/timestamp.mdx)
#### [UserTransaction_max_fields.fee
](#)[float8
](/docs/api/flow/graphql/envio/scalars/float-8.mdx)
#### [UserTransaction_max_fields.hash
](#)[String
](/docs/api/flow/graphql/envio/scalars/string.mdx)
#### [UserTransaction_max_fields.id
](#)[String
](/docs/api/flow/graphql/envio/scalars/string.mdx)
#### [UserTransaction_max_fields.timestamp
](#)[numeric
](/docs/api/flow/graphql/envio/scalars/numeric.mdx)
#### [UserTransaction_max_fields.user_id
](#)[String
](/docs/api/flow/graphql/envio/scalars/string.mdx)
---
## UserTransaction_min_fields (2)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
aggregate min on columns
```graphql
type UserTransaction_min_fields {
block: numeric
db_write_timestamp: timestamp
fee: float8
hash: String
id: String
timestamp: numeric
user_id: String
}
```
### Fields
#### [UserTransaction_min_fields.block
](#)[numeric
](/docs/api/flow/graphql/envio/scalars/numeric.mdx)
#### [UserTransaction_min_fields.db_write_timestamp
](#)[timestamp
](/docs/api/flow/graphql/envio/scalars/timestamp.mdx)
#### [UserTransaction_min_fields.fee
](#)[float8
](/docs/api/flow/graphql/envio/scalars/float-8.mdx)
#### [UserTransaction_min_fields.hash
](#)[String
](/docs/api/flow/graphql/envio/scalars/string.mdx)
#### [UserTransaction_min_fields.id
](#)[String
](/docs/api/flow/graphql/envio/scalars/string.mdx)
#### [UserTransaction_min_fields.timestamp
](#)[numeric
](/docs/api/flow/graphql/envio/scalars/numeric.mdx)
#### [UserTransaction_min_fields.user_id
](#)[String
](/docs/api/flow/graphql/envio/scalars/string.mdx)
---
## UserTransaction_stddev_fields (2)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
aggregate stddev on columns
```graphql
type UserTransaction_stddev_fields {
block: Float
fee: Float
timestamp: Float
}
```
### Fields
#### [UserTransaction_stddev_fields.block
](#)[Float
](/docs/api/flow/graphql/envio/scalars/float.mdx)
#### [UserTransaction_stddev_fields.fee
](#)[Float
](/docs/api/flow/graphql/envio/scalars/float.mdx)
#### [UserTransaction_stddev_fields.timestamp
](#)[Float
](/docs/api/flow/graphql/envio/scalars/float.mdx)
---
## UserTransaction_stddev_pop_fields (2)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
aggregate stddev_pop on columns
```graphql
type UserTransaction_stddev_pop_fields {
block: Float
fee: Float
timestamp: Float
}
```
### Fields
#### [UserTransaction_stddev_pop_fields.block
](#)[Float
](/docs/api/flow/graphql/envio/scalars/float.mdx)
#### [UserTransaction_stddev_pop_fields.fee
](#)[Float
](/docs/api/flow/graphql/envio/scalars/float.mdx)
#### [UserTransaction_stddev_pop_fields.timestamp
](#)[Float
](/docs/api/flow/graphql/envio/scalars/float.mdx)
---
## UserTransaction_stddev_samp_fields (2)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
aggregate stddev_samp on columns
```graphql
type UserTransaction_stddev_samp_fields {
block: Float
fee: Float
timestamp: Float
}
```
### Fields
#### [UserTransaction_stddev_samp_fields.block
](#)[Float
](/docs/api/flow/graphql/envio/scalars/float.mdx)
#### [UserTransaction_stddev_samp_fields.fee
](#)[Float
](/docs/api/flow/graphql/envio/scalars/float.mdx)
#### [UserTransaction_stddev_samp_fields.timestamp
](#)[Float
](/docs/api/flow/graphql/envio/scalars/float.mdx)
---
## UserTransaction_sum_fields (2)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
aggregate sum on columns
```graphql
type UserTransaction_sum_fields {
block: numeric
fee: float8
timestamp: numeric
}
```
### Fields
#### [UserTransaction_sum_fields.block
](#)[numeric
](/docs/api/flow/graphql/envio/scalars/numeric.mdx)
#### [UserTransaction_sum_fields.fee
](#)[float8
](/docs/api/flow/graphql/envio/scalars/float-8.mdx)
#### [UserTransaction_sum_fields.timestamp
](#)[numeric
](/docs/api/flow/graphql/envio/scalars/numeric.mdx)
---
## UserTransaction_var_pop_fields (2)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
aggregate var_pop on columns
```graphql
type UserTransaction_var_pop_fields {
block: Float
fee: Float
timestamp: Float
}
```
### Fields
#### [UserTransaction_var_pop_fields.block
](#)[Float
](/docs/api/flow/graphql/envio/scalars/float.mdx)
#### [UserTransaction_var_pop_fields.fee
](#)[Float
](/docs/api/flow/graphql/envio/scalars/float.mdx)
#### [UserTransaction_var_pop_fields.timestamp
](#)[Float
](/docs/api/flow/graphql/envio/scalars/float.mdx)
---
## UserTransaction_var_samp_fields (2)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
aggregate var_samp on columns
```graphql
type UserTransaction_var_samp_fields {
block: Float
fee: Float
timestamp: Float
}
```
### Fields
#### [UserTransaction_var_samp_fields.block
](#)[Float
](/docs/api/flow/graphql/envio/scalars/float.mdx)
#### [UserTransaction_var_samp_fields.fee
](#)[Float
](/docs/api/flow/graphql/envio/scalars/float.mdx)
#### [UserTransaction_var_samp_fields.timestamp
](#)[Float
](/docs/api/flow/graphql/envio/scalars/float.mdx)
---
## UserTransaction_variance_fields (2)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
aggregate variance on columns
```graphql
type UserTransaction_variance_fields {
block: Float
fee: Float
timestamp: Float
}
```
### Fields
#### [UserTransaction_variance_fields.block
](#)[Float
](/docs/api/flow/graphql/envio/scalars/float.mdx)
#### [UserTransaction_variance_fields.fee
](#)[Float
](/docs/api/flow/graphql/envio/scalars/float.mdx)
#### [UserTransaction_variance_fields.timestamp
](#)[Float
](/docs/api/flow/graphql/envio/scalars/float.mdx)
---
## UserTransaction (3)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
columns and relationships of "UserTransaction"
```graphql
type UserTransaction {
block: numeric!
db_write_timestamp: timestamp
fee: float8!
hash: String!
id: String!
isAirdropClaim: Boolean!
timestamp: numeric!
user: User
user_id: String!
}
```
### Fields
#### [UserTransaction.block
](#)[numeric!
](/docs/api/flow/graphql/envio/scalars/numeric.mdx)
#### [UserTransaction.db_write_timestamp
](#)[timestamp
](/docs/api/flow/graphql/envio/scalars/timestamp.mdx)
#### [UserTransaction.fee
](#)[float8!
](/docs/api/flow/graphql/envio/scalars/float-8.mdx)
#### [UserTransaction.hash
](#)[String!
](/docs/api/flow/graphql/envio/scalars/string.mdx)
#### [UserTransaction.id
](#)[String!
](/docs/api/flow/graphql/envio/scalars/string.mdx)
#### [UserTransaction.isAirdropClaim
](#)[Boolean!
](/docs/api/flow/graphql/envio/scalars/boolean.mdx)
#### [UserTransaction.timestamp
](#)[numeric!
](/docs/api/flow/graphql/envio/scalars/numeric.mdx)
#### [UserTransaction.user
](#)[User
](/docs/api/flow/graphql/envio/objects/user.mdx)
An object relationship
#### [UserTransaction.user_id
](#)[String!
](/docs/api/flow/graphql/envio/scalars/string.mdx)
---
## User_var_pop_fields (2)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
aggregate var_pop on columns
```graphql
type User_var_pop_fields {
chainId: Float
}
```
### Fields
#### [User_var_pop_fields.chainId
](#)[Float
](/docs/api/flow/graphql/envio/scalars/float.mdx)
---
## User_var_samp_fields (2)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
aggregate var_samp on columns
```graphql
type User_var_samp_fields {
chainId: Float
}
```
### Fields
#### [User_var_samp_fields.chainId
](#)[Float
](/docs/api/flow/graphql/envio/scalars/float.mdx)
---
## User_variance_fields (2)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
aggregate variance on columns
```graphql
type User_variance_fields {
chainId: Float
}
```
### Fields
#### [User_variance_fields.chainId
](#)[Float
](/docs/api/flow/graphql/envio/scalars/float.mdx)
---
## User (3)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
columns and relationships of "User"
```graphql
type User {
address: String!
chainId: numeric!
db_write_timestamp: timestamp
id: String!
isOnlyAirdropClaimer: Boolean!
transactions(
distinct_on: [UserTransaction_select_column!]
limit: Int
offset: Int
order_by: [UserTransaction_order_by!]
where: UserTransaction_bool_exp
): [UserTransaction!]!
transactions_aggregate(
distinct_on: [UserTransaction_select_column!]
limit: Int
offset: Int
order_by: [UserTransaction_order_by!]
where: UserTransaction_bool_exp
): UserTransaction_aggregate!
}
```
### Fields
#### [User.address
](#)[String!
](/docs/api/flow/graphql/envio/scalars/string.mdx)
#### [User.chainId
](#)[numeric!
](/docs/api/flow/graphql/envio/scalars/numeric.mdx)
#### [User.db_write_timestamp
](#)[timestamp
](/docs/api/flow/graphql/envio/scalars/timestamp.mdx)
#### [User.id
](#)[String!
](/docs/api/flow/graphql/envio/scalars/string.mdx)
#### [User.isOnlyAirdropClaimer
](#)[Boolean!
](/docs/api/flow/graphql/envio/scalars/boolean.mdx)
#### [User.transactions
](#)[[UserTransaction!]!
](/docs/api/flow/graphql/envio/objects/user-transaction.mdx)
An array relationship
##### [User.transactions.distinct_on
](#)[[UserTransaction_select_column!]
](/docs/api/flow/graphql/envio/enums/user-transaction-select-column.mdx)
distinct select on columns
##### [User.transactions.limit
](#)[Int
](/docs/api/flow/graphql/envio/scalars/int.mdx)
limit the number of rows returned
##### [User.transactions.offset
](#)[Int
](/docs/api/flow/graphql/envio/scalars/int.mdx)
skip the first n rows. Use only with order_by
##### [User.transactions.order_by
](#)[[UserTransaction_order_by!]
](/docs/api/flow/graphql/envio/inputs/user-transaction-order-by.mdx)
sort the rows by one or more columns
##### [User.transactions.where
](#)[UserTransaction_bool_exp
](/docs/api/flow/graphql/envio/inputs/user-transaction-bool-exp.mdx)
filter the rows returned
#### [User.transactions_aggregate
](#)[UserTransaction_aggregate!
](/docs/api/flow/graphql/envio/objects/user-transaction-aggregate.mdx)
An aggregate relationship
##### [User.transactions_aggregate.distinct_on
](#)[[UserTransaction_select_column!]
](/docs/api/flow/graphql/envio/enums/user-transaction-select-column.mdx)
distinct select on columns
##### [User.transactions_aggregate.limit
](#)[Int
](/docs/api/flow/graphql/envio/scalars/int.mdx)
limit the number of rows returned
##### [User.transactions_aggregate.offset
](#)[Int
](/docs/api/flow/graphql/envio/scalars/int.mdx)
skip the first n rows. Use only with order_by
##### [User.transactions_aggregate.order_by
](#)[[UserTransaction_order_by!]
](/docs/api/flow/graphql/envio/inputs/user-transaction-order-by.mdx)
sort the rows by one or more columns
##### [User.transactions_aggregate.where
](#)[UserTransaction_bool_exp
](/docs/api/flow/graphql/envio/inputs/user-transaction-bool-exp.mdx)
filter the rows returned
---
## Watcher (5)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
columns and relationships of "Watcher"
```graphql
type Watcher {
actionCounter: numeric!
chainId: numeric!
db_write_timestamp: timestamp
id: String!
streamCounter: numeric!
}
```
### Fields
#### [Watcher.actionCounter
](#)[numeric!
](/docs/api/flow/graphql/envio/scalars/numeric.mdx)
#### [Watcher.chainId
](#)[numeric!
](/docs/api/flow/graphql/envio/scalars/numeric.mdx)
#### [Watcher.db_write_timestamp
](#)[timestamp
](/docs/api/flow/graphql/envio/scalars/timestamp.mdx)
#### [Watcher.id
](#)[String!
](/docs/api/flow/graphql/envio/scalars/string.mdx)
#### [Watcher.streamCounter
](#)[numeric!
](/docs/api/flow/graphql/envio/scalars/numeric.mdx)
---
## Action_by_pk (2)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
fetch data from the table: "Action" using primary key columns
```graphql
Action_by_pk(
id: String!
): Action
```
### Arguments
#### [Action_by_pk.id
](#)[String!
](/docs/api/flow/graphql/envio/scalars/string.mdx)
### Type
#### [Action
](/docs/api/flow/graphql/envio/objects/action.mdx)
columns and relationships of "Action"
---
## Action (6)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
fetch data from the table: "Action"
```graphql
Action(
distinct_on: [Action_select_column!]
limit: Int
offset: Int
order_by: [Action_order_by!]
where: Action_bool_exp
): [Action!]!
```
### Arguments
#### [Action.distinct_on
](#)[[Action_select_column!]
](/docs/api/flow/graphql/envio/enums/action-select-column.mdx)
distinct select on columns
#### [Action.limit
](#)[Int
](/docs/api/flow/graphql/envio/scalars/int.mdx)
limit the number of rows returned
#### [Action.offset
](#)[Int
](/docs/api/flow/graphql/envio/scalars/int.mdx)
skip the first n rows. Use only with order_by
#### [Action.order_by
](#)[[Action_order_by!]
](/docs/api/flow/graphql/envio/inputs/action-order-by.mdx)
sort the rows by one or more columns
#### [Action.where
](#)[Action_bool_exp
](/docs/api/flow/graphql/envio/inputs/action-bool-exp.mdx)
filter the rows returned
### Type
#### [Action
](/docs/api/flow/graphql/envio/objects/action.mdx)
columns and relationships of "Action"
---
## Asset_by_pk (2)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
fetch data from the table: "Asset" using primary key columns
```graphql
Asset_by_pk(
id: String!
): Asset
```
### Arguments
#### [Asset_by_pk.id
](#)[String!
](/docs/api/flow/graphql/envio/scalars/string.mdx)
### Type
#### [Asset
](/docs/api/flow/graphql/envio/objects/asset.mdx)
columns and relationships of "Asset"
---
## Asset (6)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
fetch data from the table: "Asset"
```graphql
Asset(
distinct_on: [Asset_select_column!]
limit: Int
offset: Int
order_by: [Asset_order_by!]
where: Asset_bool_exp
): [Asset!]!
```
### Arguments
#### [Asset.distinct_on
](#)[[Asset_select_column!]
](/docs/api/flow/graphql/envio/enums/asset-select-column.mdx)
distinct select on columns
#### [Asset.limit
](#)[Int
](/docs/api/flow/graphql/envio/scalars/int.mdx)
limit the number of rows returned
#### [Asset.offset
](#)[Int
](/docs/api/flow/graphql/envio/scalars/int.mdx)
skip the first n rows. Use only with order_by
#### [Asset.order_by
](#)[[Asset_order_by!]
](/docs/api/flow/graphql/envio/inputs/asset-order-by.mdx)
sort the rows by one or more columns
#### [Asset.where
](#)[Asset_bool_exp
](/docs/api/flow/graphql/envio/inputs/asset-bool-exp.mdx)
filter the rows returned
### Type
#### [Asset
](/docs/api/flow/graphql/envio/objects/asset.mdx)
columns and relationships of "Asset"
---
## Batch_by_pk
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
fetch data from the table: "Batch" using primary key columns
```graphql
Batch_by_pk(
id: String!
): Batch
```
### Arguments
#### [Batch_by_pk.id
](#)[String!
](/docs/api/flow/graphql/envio/scalars/string.mdx)
### Type
#### [Batch
](/docs/api/flow/graphql/envio/objects/batch.mdx)
columns and relationships of "Batch"
---
## Batch (4)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
fetch data from the table: "Batch"
```graphql
Batch(
distinct_on: [Batch_select_column!]
limit: Int
offset: Int
order_by: [Batch_order_by!]
where: Batch_bool_exp
): [Batch!]!
```
### Arguments
#### [Batch.distinct_on
](#)[[Batch_select_column!]
](/docs/api/flow/graphql/envio/enums/batch-select-column.mdx)
distinct select on columns
#### [Batch.limit
](#)[Int
](/docs/api/flow/graphql/envio/scalars/int.mdx)
limit the number of rows returned
#### [Batch.offset
](#)[Int
](/docs/api/flow/graphql/envio/scalars/int.mdx)
skip the first n rows. Use only with order_by
#### [Batch.order_by
](#)[[Batch_order_by!]
](/docs/api/flow/graphql/envio/inputs/batch-order-by.mdx)
sort the rows by one or more columns
#### [Batch.where
](#)[Batch_bool_exp
](/docs/api/flow/graphql/envio/inputs/batch-bool-exp.mdx)
filter the rows returned
### Type
#### [Batch
](/docs/api/flow/graphql/envio/objects/batch.mdx)
columns and relationships of "Batch"
---
## Batcher_by_pk
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
fetch data from the table: "Batcher" using primary key columns
```graphql
Batcher_by_pk(
id: String!
): Batcher
```
### Arguments
#### [Batcher_by_pk.id
](#)[String!
](/docs/api/flow/graphql/envio/scalars/string.mdx)
### Type
#### [Batcher
](/docs/api/flow/graphql/envio/objects/batcher.mdx)
columns and relationships of "Batcher"
---
## Batcher (4)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
fetch data from the table: "Batcher"
```graphql
Batcher(
distinct_on: [Batcher_select_column!]
limit: Int
offset: Int
order_by: [Batcher_order_by!]
where: Batcher_bool_exp
): [Batcher!]!
```
### Arguments
#### [Batcher.distinct_on
](#)[[Batcher_select_column!]
](/docs/api/flow/graphql/envio/enums/batcher-select-column.mdx)
distinct select on columns
#### [Batcher.limit
](#)[Int
](/docs/api/flow/graphql/envio/scalars/int.mdx)
limit the number of rows returned
#### [Batcher.offset
](#)[Int
](/docs/api/flow/graphql/envio/scalars/int.mdx)
skip the first n rows. Use only with order_by
#### [Batcher.order_by
](#)[[Batcher_order_by!]
](/docs/api/flow/graphql/envio/inputs/batcher-order-by.mdx)
sort the rows by one or more columns
#### [Batcher.where
](#)[Batcher_bool_exp
](/docs/api/flow/graphql/envio/inputs/batcher-bool-exp.mdx)
filter the rows returned
### Type
#### [Batcher
](/docs/api/flow/graphql/envio/objects/batcher.mdx)
columns and relationships of "Batcher"
---
## chain_metadata_by_pk (2)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
fetch data from the table: "chain_metadata" using primary key columns
```graphql
chain_metadata_by_pk(
chain_id: Int!
): chain_metadata
```
### Arguments
#### [chain_metadata_by_pk.chain_id
](#)[Int!
](/docs/api/flow/graphql/envio/scalars/int.mdx)
### Type
#### [chain_metadata
](/docs/api/flow/graphql/envio/objects/chain-metadata.mdx)
columns and relationships of "chain_metadata"
---
## chain_metadata (4)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
fetch data from the table: "chain_metadata"
```graphql
chain_metadata(
distinct_on: [chain_metadata_select_column!]
limit: Int
offset: Int
order_by: [chain_metadata_order_by!]
where: chain_metadata_bool_exp
): [chain_metadata!]!
```
### Arguments
#### [chain_metadata.distinct_on
](#)[[chain_metadata_select_column!]
](/docs/api/flow/graphql/envio/enums/chain-metadata-select-column.mdx)
distinct select on columns
#### [chain_metadata.limit
](#)[Int
](/docs/api/flow/graphql/envio/scalars/int.mdx)
limit the number of rows returned
#### [chain_metadata.offset
](#)[Int
](/docs/api/flow/graphql/envio/scalars/int.mdx)
skip the first n rows. Use only with order_by
#### [chain_metadata.order_by
](#)[[chain_metadata_order_by!]
](/docs/api/flow/graphql/envio/inputs/chain-metadata-order-by.mdx)
sort the rows by one or more columns
#### [chain_metadata.where
](#)[chain_metadata_bool_exp
](/docs/api/flow/graphql/envio/inputs/chain-metadata-bool-exp.mdx)
filter the rows returned
### Type
#### [chain_metadata
](/docs/api/flow/graphql/envio/objects/chain-metadata.mdx)
columns and relationships of "chain_metadata"
---
## Contract_by_pk
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
fetch data from the table: "Contract" using primary key columns
```graphql
Contract_by_pk(
id: String!
): Contract
```
### Arguments
#### [Contract_by_pk.id
](#)[String!
](/docs/api/flow/graphql/envio/scalars/string.mdx)
### Type
#### [Contract
](/docs/api/flow/graphql/envio/objects/contract.mdx)
columns and relationships of "Contract"
---
## Contract (2)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
fetch data from the table: "Contract"
```graphql
Contract(
distinct_on: [Contract_select_column!]
limit: Int
offset: Int
order_by: [Contract_order_by!]
where: Contract_bool_exp
): [Contract!]!
```
### Arguments
#### [Contract.distinct_on
](#)[[Contract_select_column!]
](/docs/api/flow/graphql/envio/enums/contract-select-column.mdx)
distinct select on columns
#### [Contract.limit
](#)[Int
](/docs/api/flow/graphql/envio/scalars/int.mdx)
limit the number of rows returned
#### [Contract.offset
](#)[Int
](/docs/api/flow/graphql/envio/scalars/int.mdx)
skip the first n rows. Use only with order_by
#### [Contract.order_by
](#)[[Contract_order_by!]
](/docs/api/flow/graphql/envio/inputs/contract-order-by.mdx)
sort the rows by one or more columns
#### [Contract.where
](#)[Contract_bool_exp
](/docs/api/flow/graphql/envio/inputs/contract-bool-exp.mdx)
filter the rows returned
### Type
#### [Contract
](/docs/api/flow/graphql/envio/objects/contract.mdx)
columns and relationships of "Contract"
---
## dynamic_contract_registry_by_pk (2)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
fetch data from the table: "dynamic_contract_registry" using primary key columns
```graphql
dynamic_contract_registry_by_pk(
id: String!
): dynamic_contract_registry
```
### Arguments
#### [dynamic_contract_registry_by_pk.id
](#)[String!
](/docs/api/flow/graphql/envio/scalars/string.mdx)
### Type
#### [dynamic_contract_registry
](/docs/api/flow/graphql/envio/objects/dynamic-contract-registry.mdx)
columns and relationships of "dynamic_contract_registry"
---
## dynamic_contract_registry (4)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
fetch data from the table: "dynamic_contract_registry"
```graphql
dynamic_contract_registry(
distinct_on: [dynamic_contract_registry_select_column!]
limit: Int
offset: Int
order_by: [dynamic_contract_registry_order_by!]
where: dynamic_contract_registry_bool_exp
): [dynamic_contract_registry!]!
```
### Arguments
#### [dynamic_contract_registry.distinct_on
](#)[[dynamic_contract_registry_select_column!]
](/docs/api/flow/graphql/envio/enums/dynamic-contract-registry-select-column.mdx)
distinct select on columns
#### [dynamic_contract_registry.limit
](#)[Int
](/docs/api/flow/graphql/envio/scalars/int.mdx)
limit the number of rows returned
#### [dynamic_contract_registry.offset
](#)[Int
](/docs/api/flow/graphql/envio/scalars/int.mdx)
skip the first n rows. Use only with order_by
#### [dynamic_contract_registry.order_by
](#)[[dynamic_contract_registry_order_by!]
](/docs/api/flow/graphql/envio/inputs/dynamic-contract-registry-order-by.mdx)
sort the rows by one or more columns
#### [dynamic_contract_registry.where
](#)[dynamic_contract_registry_bool_exp
](/docs/api/flow/graphql/envio/inputs/dynamic-contract-registry-bool-exp.mdx)
filter the rows returned
### Type
#### [dynamic_contract_registry
](/docs/api/flow/graphql/envio/objects/dynamic-contract-registry.mdx)
columns and relationships of "dynamic_contract_registry"
---
## end_of_block_range_scanned_data_by_pk (2)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
fetch data from the table: "end_of_block_range_scanned_data" using primary key columns
```graphql
end_of_block_range_scanned_data_by_pk(
block_number: Int!
chain_id: Int!
): end_of_block_range_scanned_data
```
### Arguments
#### [end_of_block_range_scanned_data_by_pk.block_number
](#)[Int!
](/docs/api/flow/graphql/envio/scalars/int.mdx)
#### [end_of_block_range_scanned_data_by_pk.chain_id
](#)[Int!
](/docs/api/flow/graphql/envio/scalars/int.mdx)
### Type
#### [end_of_block_range_scanned_data
](/docs/api/flow/graphql/envio/objects/end-of-block-range-scanned-data.mdx)
columns and relationships of "end_of_block_range_scanned_data"
---
## end_of_block_range_scanned_data (4)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
fetch data from the table: "end_of_block_range_scanned_data"
```graphql
end_of_block_range_scanned_data(
distinct_on: [end_of_block_range_scanned_data_select_column!]
limit: Int
offset: Int
order_by: [end_of_block_range_scanned_data_order_by!]
where: end_of_block_range_scanned_data_bool_exp
): [end_of_block_range_scanned_data!]!
```
### Arguments
#### [end_of_block_range_scanned_data.distinct_on
](#)[[end_of_block_range_scanned_data_select_column!]
](/docs/api/flow/graphql/envio/enums/end-of-block-range-scanned-data-select-column.mdx)
distinct select on columns
#### [end_of_block_range_scanned_data.limit
](#)[Int
](/docs/api/flow/graphql/envio/scalars/int.mdx)
limit the number of rows returned
#### [end_of_block_range_scanned_data.offset
](#)[Int
](/docs/api/flow/graphql/envio/scalars/int.mdx)
skip the first n rows. Use only with order_by
#### [end_of_block_range_scanned_data.order_by
](#)[[end_of_block_range_scanned_data_order_by!]
](/docs/api/flow/graphql/envio/inputs/end-of-block-range-scanned-data-order-by.mdx)
sort the rows by one or more columns
#### [end_of_block_range_scanned_data.where
](#)[end_of_block_range_scanned_data_bool_exp
](/docs/api/flow/graphql/envio/inputs/end-of-block-range-scanned-data-bool-exp.mdx)
filter the rows returned
### Type
#### [end_of_block_range_scanned_data
](/docs/api/flow/graphql/envio/objects/end-of-block-range-scanned-data.mdx)
columns and relationships of "end_of_block_range_scanned_data"
---
## event_sync_state_by_pk (2)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
fetch data from the table: "event_sync_state" using primary key columns
```graphql
event_sync_state_by_pk(
chain_id: Int!
): event_sync_state
```
### Arguments
#### [event_sync_state_by_pk.chain_id
](#)[Int!
](/docs/api/flow/graphql/envio/scalars/int.mdx)
### Type
#### [event_sync_state
](/docs/api/flow/graphql/envio/objects/event-sync-state.mdx)
columns and relationships of "event_sync_state"
---
## event_sync_state (4)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
fetch data from the table: "event_sync_state"
```graphql
event_sync_state(
distinct_on: [event_sync_state_select_column!]
limit: Int
offset: Int
order_by: [event_sync_state_order_by!]
where: event_sync_state_bool_exp
): [event_sync_state!]!
```
### Arguments
#### [event_sync_state.distinct_on
](#)[[event_sync_state_select_column!]
](/docs/api/flow/graphql/envio/enums/event-sync-state-select-column.mdx)
distinct select on columns
#### [event_sync_state.limit
](#)[Int
](/docs/api/flow/graphql/envio/scalars/int.mdx)
limit the number of rows returned
#### [event_sync_state.offset
](#)[Int
](/docs/api/flow/graphql/envio/scalars/int.mdx)
skip the first n rows. Use only with order_by
#### [event_sync_state.order_by
](#)[[event_sync_state_order_by!]
](/docs/api/flow/graphql/envio/inputs/event-sync-state-order-by.mdx)
sort the rows by one or more columns
#### [event_sync_state.where
](#)[event_sync_state_bool_exp
](/docs/api/flow/graphql/envio/inputs/event-sync-state-bool-exp.mdx)
filter the rows returned
### Type
#### [event_sync_state
](/docs/api/flow/graphql/envio/objects/event-sync-state.mdx)
columns and relationships of "event_sync_state"
---
## persisted_state_by_pk (2)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
fetch data from the table: "persisted_state" using primary key columns
```graphql
persisted_state_by_pk(
id: Int!
): persisted_state
```
### Arguments
#### [persisted_state_by_pk.id
](#)[Int!
](/docs/api/flow/graphql/envio/scalars/int.mdx)
### Type
#### [persisted_state
](/docs/api/flow/graphql/envio/objects/persisted-state.mdx)
columns and relationships of "persisted_state"
---
## persisted_state (4)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
fetch data from the table: "persisted_state"
```graphql
persisted_state(
distinct_on: [persisted_state_select_column!]
limit: Int
offset: Int
order_by: [persisted_state_order_by!]
where: persisted_state_bool_exp
): [persisted_state!]!
```
### Arguments
#### [persisted_state.distinct_on
](#)[[persisted_state_select_column!]
](/docs/api/flow/graphql/envio/enums/persisted-state-select-column.mdx)
distinct select on columns
#### [persisted_state.limit
](#)[Int
](/docs/api/flow/graphql/envio/scalars/int.mdx)
limit the number of rows returned
#### [persisted_state.offset
](#)[Int
](/docs/api/flow/graphql/envio/scalars/int.mdx)
skip the first n rows. Use only with order_by
#### [persisted_state.order_by
](#)[[persisted_state_order_by!]
](/docs/api/flow/graphql/envio/inputs/persisted-state-order-by.mdx)
sort the rows by one or more columns
#### [persisted_state.where
](#)[persisted_state_bool_exp
](/docs/api/flow/graphql/envio/inputs/persisted-state-bool-exp.mdx)
filter the rows returned
### Type
#### [persisted_state
](/docs/api/flow/graphql/envio/objects/persisted-state.mdx)
columns and relationships of "persisted_state"
---
## raw_events_by_pk (2)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
fetch data from the table: "raw_events" using primary key columns
```graphql
raw_events_by_pk(
serial: Int!
): raw_events
```
### Arguments
#### [raw_events_by_pk.serial
](#)[Int!
](/docs/api/flow/graphql/envio/scalars/int.mdx)
### Type
#### [raw_events
](/docs/api/flow/graphql/envio/objects/raw-events.mdx)
columns and relationships of "raw_events"
---
## raw_events (4)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
fetch data from the table: "raw_events"
```graphql
raw_events(
distinct_on: [raw_events_select_column!]
limit: Int
offset: Int
order_by: [raw_events_order_by!]
where: raw_events_bool_exp
): [raw_events!]!
```
### Arguments
#### [raw_events.distinct_on
](#)[[raw_events_select_column!]
](/docs/api/flow/graphql/envio/enums/raw-events-select-column.mdx)
distinct select on columns
#### [raw_events.limit
](#)[Int
](/docs/api/flow/graphql/envio/scalars/int.mdx)
limit the number of rows returned
#### [raw_events.offset
](#)[Int
](/docs/api/flow/graphql/envio/scalars/int.mdx)
skip the first n rows. Use only with order_by
#### [raw_events.order_by
](#)[[raw_events_order_by!]
](/docs/api/flow/graphql/envio/inputs/raw-events-order-by.mdx)
sort the rows by one or more columns
#### [raw_events.where
](#)[raw_events_bool_exp
](/docs/api/flow/graphql/envio/inputs/raw-events-bool-exp.mdx)
filter the rows returned
### Type
#### [raw_events
](/docs/api/flow/graphql/envio/objects/raw-events.mdx)
columns and relationships of "raw_events"
---
## Revenue_aggregate (4)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
fetch aggregated fields from the table: "Revenue"
```graphql
Revenue_aggregate(
distinct_on: [Revenue_select_column!]
limit: Int
offset: Int
order_by: [Revenue_order_by!]
where: Revenue_bool_exp
): Revenue_aggregate!
```
### Arguments
#### [Revenue_aggregate.distinct_on
](#)[[Revenue_select_column!]
](/docs/api/flow/graphql/envio/enums/revenue-select-column.mdx)
distinct select on columns
#### [Revenue_aggregate.limit
](#)[Int
](/docs/api/flow/graphql/envio/scalars/int.mdx)
limit the number of rows returned
#### [Revenue_aggregate.offset
](#)[Int
](/docs/api/flow/graphql/envio/scalars/int.mdx)
skip the first n rows. Use only with order_by
#### [Revenue_aggregate.order_by
](#)[[Revenue_order_by!]
](/docs/api/flow/graphql/envio/inputs/revenue-order-by.mdx)
sort the rows by one or more columns
#### [Revenue_aggregate.where
](#)[Revenue_bool_exp
](/docs/api/flow/graphql/envio/inputs/revenue-bool-exp.mdx)
filter the rows returned
### Type
#### [Revenue_aggregate
](/docs/api/flow/graphql/envio/objects/revenue-aggregate.mdx)
aggregated selection of "Revenue"
---
## Revenue_by_pk (2)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
fetch data from the table: "Revenue" using primary key columns
```graphql
Revenue_by_pk(
id: String!
): Revenue
```
### Arguments
#### [Revenue_by_pk.id
](#)[String!
](/docs/api/flow/graphql/envio/scalars/string.mdx)
### Type
#### [Revenue
](/docs/api/flow/graphql/envio/objects/revenue.mdx)
columns and relationships of "Revenue"
---
## RevenueTransaction_aggregate (4)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
fetch aggregated fields from the table: "RevenueTransaction"
```graphql
RevenueTransaction_aggregate(
distinct_on: [RevenueTransaction_select_column!]
limit: Int
offset: Int
order_by: [RevenueTransaction_order_by!]
where: RevenueTransaction_bool_exp
): RevenueTransaction_aggregate!
```
### Arguments
#### [RevenueTransaction_aggregate.distinct_on
](#)[[RevenueTransaction_select_column!]
](/docs/api/flow/graphql/envio/enums/revenue-transaction-select-column.mdx)
distinct select on columns
#### [RevenueTransaction_aggregate.limit
](#)[Int
](/docs/api/flow/graphql/envio/scalars/int.mdx)
limit the number of rows returned
#### [RevenueTransaction_aggregate.offset
](#)[Int
](/docs/api/flow/graphql/envio/scalars/int.mdx)
skip the first n rows. Use only with order_by
#### [RevenueTransaction_aggregate.order_by
](#)[[RevenueTransaction_order_by!]
](/docs/api/flow/graphql/envio/inputs/revenue-transaction-order-by.mdx)
sort the rows by one or more columns
#### [RevenueTransaction_aggregate.where
](#)[RevenueTransaction_bool_exp
](/docs/api/flow/graphql/envio/inputs/revenue-transaction-bool-exp.mdx)
filter the rows returned
### Type
#### [RevenueTransaction_aggregate
](/docs/api/flow/graphql/envio/objects/revenue-transaction-aggregate.mdx)
aggregated selection of "RevenueTransaction"
---
## RevenueTransaction_by_pk (2)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
fetch data from the table: "RevenueTransaction" using primary key columns
```graphql
RevenueTransaction_by_pk(
id: String!
): RevenueTransaction
```
### Arguments
#### [RevenueTransaction_by_pk.id
](#)[String!
](/docs/api/flow/graphql/envio/scalars/string.mdx)
### Type
#### [RevenueTransaction
](/docs/api/flow/graphql/envio/objects/revenue-transaction.mdx)
columns and relationships of "RevenueTransaction"
---
## RevenueTransaction (4)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
fetch data from the table: "RevenueTransaction"
```graphql
RevenueTransaction(
distinct_on: [RevenueTransaction_select_column!]
limit: Int
offset: Int
order_by: [RevenueTransaction_order_by!]
where: RevenueTransaction_bool_exp
): [RevenueTransaction!]!
```
### Arguments
#### [RevenueTransaction.distinct_on
](#)[[RevenueTransaction_select_column!]
](/docs/api/flow/graphql/envio/enums/revenue-transaction-select-column.mdx)
distinct select on columns
#### [RevenueTransaction.limit
](#)[Int
](/docs/api/flow/graphql/envio/scalars/int.mdx)
limit the number of rows returned
#### [RevenueTransaction.offset
](#)[Int
](/docs/api/flow/graphql/envio/scalars/int.mdx)
skip the first n rows. Use only with order_by
#### [RevenueTransaction.order_by
](#)[[RevenueTransaction_order_by!]
](/docs/api/flow/graphql/envio/inputs/revenue-transaction-order-by.mdx)
sort the rows by one or more columns
#### [RevenueTransaction.where
](#)[RevenueTransaction_bool_exp
](/docs/api/flow/graphql/envio/inputs/revenue-transaction-bool-exp.mdx)
filter the rows returned
### Type
#### [RevenueTransaction
](/docs/api/flow/graphql/envio/objects/revenue-transaction.mdx)
columns and relationships of "RevenueTransaction"
---
## Revenue (4)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
fetch data from the table: "Revenue"
```graphql
Revenue(
distinct_on: [Revenue_select_column!]
limit: Int
offset: Int
order_by: [Revenue_order_by!]
where: Revenue_bool_exp
): [Revenue!]!
```
### Arguments
#### [Revenue.distinct_on
](#)[[Revenue_select_column!]
](/docs/api/flow/graphql/envio/enums/revenue-select-column.mdx)
distinct select on columns
#### [Revenue.limit
](#)[Int
](/docs/api/flow/graphql/envio/scalars/int.mdx)
limit the number of rows returned
#### [Revenue.offset
](#)[Int
](/docs/api/flow/graphql/envio/scalars/int.mdx)
skip the first n rows. Use only with order_by
#### [Revenue.order_by
](#)[[Revenue_order_by!]
](/docs/api/flow/graphql/envio/inputs/revenue-order-by.mdx)
sort the rows by one or more columns
#### [Revenue.where
](#)[Revenue_bool_exp
](/docs/api/flow/graphql/envio/inputs/revenue-bool-exp.mdx)
filter the rows returned
### Type
#### [Revenue
](/docs/api/flow/graphql/envio/objects/revenue.mdx)
columns and relationships of "Revenue"
---
## Stream_aggregate (2)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
fetch aggregated fields from the table: "Stream"
```graphql
Stream_aggregate(
distinct_on: [Stream_select_column!]
limit: Int
offset: Int
order_by: [Stream_order_by!]
where: Stream_bool_exp
): Stream_aggregate!
```
### Arguments
#### [Stream_aggregate.distinct_on
](#)[[Stream_select_column!]
](/docs/api/flow/graphql/envio/enums/stream-select-column.mdx)
distinct select on columns
#### [Stream_aggregate.limit
](#)[Int
](/docs/api/flow/graphql/envio/scalars/int.mdx)
limit the number of rows returned
#### [Stream_aggregate.offset
](#)[Int
](/docs/api/flow/graphql/envio/scalars/int.mdx)
skip the first n rows. Use only with order_by
#### [Stream_aggregate.order_by
](#)[[Stream_order_by!]
](/docs/api/flow/graphql/envio/inputs/stream-order-by.mdx)
sort the rows by one or more columns
#### [Stream_aggregate.where
](#)[Stream_bool_exp
](/docs/api/flow/graphql/envio/inputs/stream-bool-exp.mdx)
filter the rows returned
### Type
#### [Stream_aggregate
](/docs/api/flow/graphql/envio/objects/stream-aggregate.mdx)
aggregated selection of "Stream"
---
## Stream_by_pk
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
fetch data from the table: "Stream" using primary key columns
```graphql
Stream_by_pk(
id: String!
): Stream
```
### Arguments
#### [Stream_by_pk.id
](#)[String!
](/docs/api/flow/graphql/envio/scalars/string.mdx)
### Type
#### [Stream
](/docs/api/flow/graphql/envio/objects/stream.mdx)
columns and relationships of "Stream"
---
## Stream (4)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
fetch data from the table: "Stream"
```graphql
Stream(
distinct_on: [Stream_select_column!]
limit: Int
offset: Int
order_by: [Stream_order_by!]
where: Stream_bool_exp
): [Stream!]!
```
### Arguments
#### [Stream.distinct_on
](#)[[Stream_select_column!]
](/docs/api/flow/graphql/envio/enums/stream-select-column.mdx)
distinct select on columns
#### [Stream.limit
](#)[Int
](/docs/api/flow/graphql/envio/scalars/int.mdx)
limit the number of rows returned
#### [Stream.offset
](#)[Int
](/docs/api/flow/graphql/envio/scalars/int.mdx)
skip the first n rows. Use only with order_by
#### [Stream.order_by
](#)[[Stream_order_by!]
](/docs/api/flow/graphql/envio/inputs/stream-order-by.mdx)
sort the rows by one or more columns
#### [Stream.where
](#)[Stream_bool_exp
](/docs/api/flow/graphql/envio/inputs/stream-bool-exp.mdx)
filter the rows returned
### Type
#### [Stream
](/docs/api/flow/graphql/envio/objects/stream.mdx)
columns and relationships of "Stream"
---
## User_aggregate (4)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
fetch aggregated fields from the table: "User"
```graphql
User_aggregate(
distinct_on: [User_select_column!]
limit: Int
offset: Int
order_by: [User_order_by!]
where: User_bool_exp
): User_aggregate!
```
### Arguments
#### [User_aggregate.distinct_on
](#)[[User_select_column!]
](/docs/api/flow/graphql/envio/enums/user-select-column.mdx)
distinct select on columns
#### [User_aggregate.limit
](#)[Int
](/docs/api/flow/graphql/envio/scalars/int.mdx)
limit the number of rows returned
#### [User_aggregate.offset
](#)[Int
](/docs/api/flow/graphql/envio/scalars/int.mdx)
skip the first n rows. Use only with order_by
#### [User_aggregate.order_by
](#)[[User_order_by!]
](/docs/api/flow/graphql/envio/inputs/user-order-by.mdx)
sort the rows by one or more columns
#### [User_aggregate.where
](#)[User_bool_exp
](/docs/api/flow/graphql/envio/inputs/user-bool-exp.mdx)
filter the rows returned
### Type
#### [User_aggregate
](/docs/api/flow/graphql/envio/objects/user-aggregate.mdx)
aggregated selection of "User"
---
## User_by_pk (2)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
fetch data from the table: "User" using primary key columns
```graphql
User_by_pk(
id: String!
): User
```
### Arguments
#### [User_by_pk.id
](#)[String!
](/docs/api/flow/graphql/envio/scalars/string.mdx)
### Type
#### [User
](/docs/api/flow/graphql/envio/objects/user.mdx)
columns and relationships of "User"
---
## UserTransaction_aggregate (4)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
fetch aggregated fields from the table: "UserTransaction"
```graphql
UserTransaction_aggregate(
distinct_on: [UserTransaction_select_column!]
limit: Int
offset: Int
order_by: [UserTransaction_order_by!]
where: UserTransaction_bool_exp
): UserTransaction_aggregate!
```
### Arguments
#### [UserTransaction_aggregate.distinct_on
](#)[[UserTransaction_select_column!]
](/docs/api/flow/graphql/envio/enums/user-transaction-select-column.mdx)
distinct select on columns
#### [UserTransaction_aggregate.limit
](#)[Int
](/docs/api/flow/graphql/envio/scalars/int.mdx)
limit the number of rows returned
#### [UserTransaction_aggregate.offset
](#)[Int
](/docs/api/flow/graphql/envio/scalars/int.mdx)
skip the first n rows. Use only with order_by
#### [UserTransaction_aggregate.order_by
](#)[[UserTransaction_order_by!]
](/docs/api/flow/graphql/envio/inputs/user-transaction-order-by.mdx)
sort the rows by one or more columns
#### [UserTransaction_aggregate.where
](#)[UserTransaction_bool_exp
](/docs/api/flow/graphql/envio/inputs/user-transaction-bool-exp.mdx)
filter the rows returned
### Type
#### [UserTransaction_aggregate
](/docs/api/flow/graphql/envio/objects/user-transaction-aggregate.mdx)
aggregated selection of "UserTransaction"
---
## UserTransaction_by_pk (2)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
fetch data from the table: "UserTransaction" using primary key columns
```graphql
UserTransaction_by_pk(
id: String!
): UserTransaction
```
### Arguments
#### [UserTransaction_by_pk.id
](#)[String!
](/docs/api/flow/graphql/envio/scalars/string.mdx)
### Type
#### [UserTransaction
](/docs/api/flow/graphql/envio/objects/user-transaction.mdx)
columns and relationships of "UserTransaction"
---
## UserTransaction (4)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
fetch data from the table: "UserTransaction"
```graphql
UserTransaction(
distinct_on: [UserTransaction_select_column!]
limit: Int
offset: Int
order_by: [UserTransaction_order_by!]
where: UserTransaction_bool_exp
): [UserTransaction!]!
```
### Arguments
#### [UserTransaction.distinct_on
](#)[[UserTransaction_select_column!]
](/docs/api/flow/graphql/envio/enums/user-transaction-select-column.mdx)
distinct select on columns
#### [UserTransaction.limit
](#)[Int
](/docs/api/flow/graphql/envio/scalars/int.mdx)
limit the number of rows returned
#### [UserTransaction.offset
](#)[Int
](/docs/api/flow/graphql/envio/scalars/int.mdx)
skip the first n rows. Use only with order_by
#### [UserTransaction.order_by
](#)[[UserTransaction_order_by!]
](/docs/api/flow/graphql/envio/inputs/user-transaction-order-by.mdx)
sort the rows by one or more columns
#### [UserTransaction.where
](#)[UserTransaction_bool_exp
](/docs/api/flow/graphql/envio/inputs/user-transaction-bool-exp.mdx)
filter the rows returned
### Type
#### [UserTransaction
](/docs/api/flow/graphql/envio/objects/user-transaction.mdx)
columns and relationships of "UserTransaction"
---
## User (4)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
fetch data from the table: "User"
```graphql
User(
distinct_on: [User_select_column!]
limit: Int
offset: Int
order_by: [User_order_by!]
where: User_bool_exp
): [User!]!
```
### Arguments
#### [User.distinct_on
](#)[[User_select_column!]
](/docs/api/flow/graphql/envio/enums/user-select-column.mdx)
distinct select on columns
#### [User.limit
](#)[Int
](/docs/api/flow/graphql/envio/scalars/int.mdx)
limit the number of rows returned
#### [User.offset
](#)[Int
](/docs/api/flow/graphql/envio/scalars/int.mdx)
skip the first n rows. Use only with order_by
#### [User.order_by
](#)[[User_order_by!]
](/docs/api/flow/graphql/envio/inputs/user-order-by.mdx)
sort the rows by one or more columns
#### [User.where
](#)[User_bool_exp
](/docs/api/flow/graphql/envio/inputs/user-bool-exp.mdx)
filter the rows returned
### Type
#### [User
](/docs/api/flow/graphql/envio/objects/user.mdx)
columns and relationships of "User"
---
## Watcher_by_pk (2)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
fetch data from the table: "Watcher" using primary key columns
```graphql
Watcher_by_pk(
id: String!
): Watcher
```
### Arguments
#### [Watcher_by_pk.id
](#)[String!
](/docs/api/flow/graphql/envio/scalars/string.mdx)
### Type
#### [Watcher
](/docs/api/flow/graphql/envio/objects/watcher.mdx)
columns and relationships of "Watcher"
---
## Watcher (6)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
fetch data from the table: "Watcher"
```graphql
Watcher(
distinct_on: [Watcher_select_column!]
limit: Int
offset: Int
order_by: [Watcher_order_by!]
where: Watcher_bool_exp
): [Watcher!]!
```
### Arguments
#### [Watcher.distinct_on
](#)[[Watcher_select_column!]
](/docs/api/flow/graphql/envio/enums/watcher-select-column.mdx)
distinct select on columns
#### [Watcher.limit
](#)[Int
](/docs/api/flow/graphql/envio/scalars/int.mdx)
limit the number of rows returned
#### [Watcher.offset
](#)[Int
](/docs/api/flow/graphql/envio/scalars/int.mdx)
skip the first n rows. Use only with order_by
#### [Watcher.order_by
](#)[[Watcher_order_by!]
](/docs/api/flow/graphql/envio/inputs/watcher-order-by.mdx)
sort the rows by one or more columns
#### [Watcher.where
](#)[Watcher_bool_exp
](/docs/api/flow/graphql/envio/inputs/watcher-bool-exp.mdx)
filter the rows returned
### Type
#### [Watcher
](/docs/api/flow/graphql/envio/objects/watcher.mdx)
columns and relationships of "Watcher"
---
## actioncategory (3)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
No description
```graphql
scalar actioncategory
```
---
## Boolean (3)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
The `Boolean` scalar type represents `true` or `false`.
```graphql
scalar Boolean
```
---
## contract_type (2)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
No description
```graphql
scalar contract_type
```
---
## float8 (2)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
No description
```graphql
scalar float8
```
---
## Float (3)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
The `Float` scalar type represents signed double-precision fractional values as specified by [IEEE 754](https://en.wikipedia.org/wiki/IEEE_floating_point).
```graphql
scalar Float
```
---
## Int (3)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
The `Int` scalar type represents non-fractional signed whole numeric values. Int can represent values between -(2^31) and 2^31 - 1.
```graphql
scalar Int
```
---
## jsonb (2)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
No description
```graphql
scalar jsonb
```
---
## numeric (2)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
No description
```graphql
scalar numeric
```
---
## streamcategory (2)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
No description
```graphql
scalar streamcategory
```
---
## String (3)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
The `String` scalar type represents textual data, represented as UTF-8 character sequences. The String type is most often used by GraphQL to represent free-form human-readable text.
```graphql
scalar String
```
---
## timestamp (3)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
No description
```graphql
scalar timestamp
```
---
## timestamptz (2)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
No description
```graphql
scalar timestamptz
```
---
## ActionCategory (4)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
No description
```graphql
enum ActionCategory {
Approval
ApprovalForAll
Adjust
Create
Deposit
Pause
Refund
Restart
Transfer
Void
Withdraw
}
```
### Values
#### [ActionCategory.Approval
](#)
#### [ActionCategory.ApprovalForAll
](#)
#### [ActionCategory.Adjust
](#)
#### [ActionCategory.Create
](#)
#### [ActionCategory.Deposit
](#)
#### [ActionCategory.Pause
](#)
#### [ActionCategory.Refund
](#)
#### [ActionCategory.Restart
](#)
#### [ActionCategory.Transfer
](#)
#### [ActionCategory.Void
](#)
#### [ActionCategory.Withdraw
](#)
---
## Action_orderBy (2)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
No description
```graphql
enum Action_orderBy {
id
subgraphId
block
chainId
from
hash
timestamp
category
contract
fee
stream
stream__id
stream__alias
stream__chainId
stream__subgraphId
stream__tokenId
stream__hash
stream__timestamp
stream__assetDecimalsValue
stream__category
stream__contract
stream__position
stream__recipient
stream__sender
stream__startTime
stream__transferable
stream__version
stream__withdrawnAmount
stream__availableAmount
stream__creator
stream__depletionTime
stream__depositedAmount
stream__forgivenDebt
stream__lastAdjustmentTimestamp
stream__paused
stream__pausedTime
stream__ratePerSecond
stream__refundedAmount
stream__snapshotAmount
stream__voided
stream__voidedTime
addressA
addressB
amountA
amountB
}
```
### Values
#### [Action_orderBy.id
](#)
#### [Action_orderBy.subgraphId
](#)
#### [Action_orderBy.block
](#)
#### [Action_orderBy.chainId
](#)
#### [Action_orderBy.from
](#)
#### [Action_orderBy.hash
](#)
#### [Action_orderBy.timestamp
](#)
#### [Action_orderBy.category
](#)
#### [Action_orderBy.contract
](#)
#### [Action_orderBy.fee
](#)
#### [Action_orderBy.stream
](#)
#### [Action_orderBy.stream\_\_id
](#)
#### [Action_orderBy.stream\_\_alias
](#)
#### [Action_orderBy.stream\_\_chainId
](#)
#### [Action_orderBy.stream\_\_subgraphId
](#)
#### [Action_orderBy.stream\_\_tokenId
](#)
#### [Action_orderBy.stream\_\_hash
](#)
#### [Action_orderBy.stream\_\_timestamp
](#)
#### [Action_orderBy.stream\_\_assetDecimalsValue
](#)
#### [Action_orderBy.stream\_\_category
](#)
#### [Action_orderBy.stream\_\_contract
](#)
#### [Action_orderBy.stream\_\_position
](#)
#### [Action_orderBy.stream\_\_recipient
](#)
#### [Action_orderBy.stream\_\_sender
](#)
#### [Action_orderBy.stream\_\_startTime
](#)
#### [Action_orderBy.stream\_\_transferable
](#)
#### [Action_orderBy.stream\_\_version
](#)
#### [Action_orderBy.stream\_\_withdrawnAmount
](#)
#### [Action_orderBy.stream\_\_availableAmount
](#)
#### [Action_orderBy.stream\_\_creator
](#)
#### [Action_orderBy.stream\_\_depletionTime
](#)
#### [Action_orderBy.stream\_\_depositedAmount
](#)
#### [Action_orderBy.stream\_\_forgivenDebt
](#)
#### [Action_orderBy.stream\_\_lastAdjustmentTimestamp
](#)
#### [Action_orderBy.stream\_\_paused
](#)
#### [Action_orderBy.stream\_\_pausedTime
](#)
#### [Action_orderBy.stream\_\_ratePerSecond
](#)
#### [Action_orderBy.stream\_\_refundedAmount
](#)
#### [Action_orderBy.stream\_\_snapshotAmount
](#)
#### [Action_orderBy.stream\_\_voided
](#)
#### [Action_orderBy.stream\_\_voidedTime
](#)
#### [Action_orderBy.addressA
](#)
#### [Action_orderBy.addressB
](#)
#### [Action_orderBy.amountA
](#)
#### [Action_orderBy.amountB
](#)
---
## Aggregation_interval (2)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
No description
```graphql
enum Aggregation_interval {
hour
day
}
```
### Values
#### [Aggregation_interval.hour
](#)
#### [Aggregation_interval.day
](#)
---
## Asset_orderBy (2)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
No description
```graphql
enum Asset_orderBy {
id
address
chainId
decimals
name
symbol
streams
}
```
### Values
#### [Asset_orderBy.id
](#)
#### [Asset_orderBy.address
](#)
#### [Asset_orderBy.chainId
](#)
#### [Asset_orderBy.decimals
](#)
#### [Asset_orderBy.name
](#)
#### [Asset_orderBy.symbol
](#)
#### [Asset_orderBy.streams
](#)
---
## Batch_orderBy (2)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
No description
```graphql
enum Batch_orderBy {
id
hash
timestamp
batcher
batcher__id
batcher__batchCounter
position
size
streams
}
```
### Values
#### [Batch_orderBy.id
](#)
#### [Batch_orderBy.hash
](#)
#### [Batch_orderBy.timestamp
](#)
#### [Batch_orderBy.batcher
](#)
#### [Batch_orderBy.batcher\_\_id
](#)
#### [Batch_orderBy.batcher\_\_batchCounter
](#)
#### [Batch_orderBy.position
](#)
#### [Batch_orderBy.size
](#)
#### [Batch_orderBy.streams
](#)
---
## Batcher_orderBy (2)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
No description
```graphql
enum Batcher_orderBy {
id
batchCounter
batches
}
```
### Values
#### [Batcher_orderBy.id
](#)
#### [Batcher_orderBy.batchCounter
](#)
#### [Batcher_orderBy.batches
](#)
---
## OrderDirection (2)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
Defines the order direction, either ascending or descending
```graphql
enum OrderDirection {
asc
desc
}
```
### Values
#### [OrderDirection.asc
](#)
#### [OrderDirection.desc
](#)
---
## StreamCategory (3)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
No description
```graphql
enum StreamCategory {
Flow
}
```
### Values
#### [StreamCategory.Flow
](#)
---
## Stream_orderBy (2)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
No description
```graphql
enum Stream_orderBy {
id
alias
chainId
subgraphId
tokenId
hash
timestamp
actions
asset
asset__id
asset__address
asset__chainId
asset__decimals
asset__name
asset__symbol
assetDecimalsValue
batch
batch__id
batch__hash
batch__timestamp
batch__position
batch__size
category
contract
position
recipient
sender
startTime
transferable
version
withdrawnAmount
availableAmount
creator
depletionTime
depositedAmount
forgivenDebt
lastAdjustmentAction
lastAdjustmentAction__id
lastAdjustmentAction__subgraphId
lastAdjustmentAction__block
lastAdjustmentAction__chainId
lastAdjustmentAction__from
lastAdjustmentAction__hash
lastAdjustmentAction__timestamp
lastAdjustmentAction__category
lastAdjustmentAction__contract
lastAdjustmentAction__fee
lastAdjustmentAction__addressA
lastAdjustmentAction__addressB
lastAdjustmentAction__amountA
lastAdjustmentAction__amountB
lastAdjustmentTimestamp
paused
pausedAction
pausedAction__id
pausedAction__subgraphId
pausedAction__block
pausedAction__chainId
pausedAction__from
pausedAction__hash
pausedAction__timestamp
pausedAction__category
pausedAction__contract
pausedAction__fee
pausedAction__addressA
pausedAction__addressB
pausedAction__amountA
pausedAction__amountB
pausedTime
ratePerSecond
refundedAmount
snapshotAmount
voided
voidedAction
voidedAction__id
voidedAction__subgraphId
voidedAction__block
voidedAction__chainId
voidedAction__from
voidedAction__hash
voidedAction__timestamp
voidedAction__category
voidedAction__contract
voidedAction__fee
voidedAction__addressA
voidedAction__addressB
voidedAction__amountA
voidedAction__amountB
voidedTime
}
```
### Values
#### [Stream_orderBy.id
](#)
#### [Stream_orderBy.alias
](#)
#### [Stream_orderBy.chainId
](#)
#### [Stream_orderBy.subgraphId
](#)
#### [Stream_orderBy.tokenId
](#)
#### [Stream_orderBy.hash
](#)
#### [Stream_orderBy.timestamp
](#)
#### [Stream_orderBy.actions
](#)
#### [Stream_orderBy.asset
](#)
#### [Stream_orderBy.asset\_\_id
](#)
#### [Stream_orderBy.asset\_\_address
](#)
#### [Stream_orderBy.asset\_\_chainId
](#)
#### [Stream_orderBy.asset\_\_decimals
](#)
#### [Stream_orderBy.asset\_\_name
](#)
#### [Stream_orderBy.asset\_\_symbol
](#)
#### [Stream_orderBy.assetDecimalsValue
](#)
#### [Stream_orderBy.batch
](#)
#### [Stream_orderBy.batch\_\_id
](#)
#### [Stream_orderBy.batch\_\_hash
](#)
#### [Stream_orderBy.batch\_\_timestamp
](#)
#### [Stream_orderBy.batch\_\_position
](#)
#### [Stream_orderBy.batch\_\_size
](#)
#### [Stream_orderBy.category
](#)
#### [Stream_orderBy.contract
](#)
#### [Stream_orderBy.position
](#)
#### [Stream_orderBy.recipient
](#)
#### [Stream_orderBy.sender
](#)
#### [Stream_orderBy.startTime
](#)
#### [Stream_orderBy.transferable
](#)
#### [Stream_orderBy.version
](#)
#### [Stream_orderBy.withdrawnAmount
](#)
#### [Stream_orderBy.availableAmount
](#)
#### [Stream_orderBy.creator
](#)
#### [Stream_orderBy.depletionTime
](#)
#### [Stream_orderBy.depositedAmount
](#)
#### [Stream_orderBy.forgivenDebt
](#)
#### [Stream_orderBy.lastAdjustmentAction
](#)
#### [Stream_orderBy.lastAdjustmentAction\_\_id
](#)
#### [Stream_orderBy.lastAdjustmentAction\_\_subgraphId
](#)
#### [Stream_orderBy.lastAdjustmentAction\_\_block
](#)
#### [Stream_orderBy.lastAdjustmentAction\_\_chainId
](#)
#### [Stream_orderBy.lastAdjustmentAction\_\_from
](#)
#### [Stream_orderBy.lastAdjustmentAction\_\_hash
](#)
#### [Stream_orderBy.lastAdjustmentAction\_\_timestamp
](#)
#### [Stream_orderBy.lastAdjustmentAction\_\_category
](#)
#### [Stream_orderBy.lastAdjustmentAction\_\_contract
](#)
#### [Stream_orderBy.lastAdjustmentAction\_\_fee
](#)
#### [Stream_orderBy.lastAdjustmentAction\_\_addressA
](#)
#### [Stream_orderBy.lastAdjustmentAction\_\_addressB
](#)
#### [Stream_orderBy.lastAdjustmentAction\_\_amountA
](#)
#### [Stream_orderBy.lastAdjustmentAction\_\_amountB
](#)
#### [Stream_orderBy.lastAdjustmentTimestamp
](#)
#### [Stream_orderBy.paused
](#)
#### [Stream_orderBy.pausedAction
](#)
#### [Stream_orderBy.pausedAction\_\_id
](#)
#### [Stream_orderBy.pausedAction\_\_subgraphId
](#)
#### [Stream_orderBy.pausedAction\_\_block
](#)
#### [Stream_orderBy.pausedAction\_\_chainId
](#)
#### [Stream_orderBy.pausedAction\_\_from
](#)
#### [Stream_orderBy.pausedAction\_\_hash
](#)
#### [Stream_orderBy.pausedAction\_\_timestamp
](#)
#### [Stream_orderBy.pausedAction\_\_category
](#)
#### [Stream_orderBy.pausedAction\_\_contract
](#)
#### [Stream_orderBy.pausedAction\_\_fee
](#)
#### [Stream_orderBy.pausedAction\_\_addressA
](#)
#### [Stream_orderBy.pausedAction\_\_addressB
](#)
#### [Stream_orderBy.pausedAction\_\_amountA
](#)
#### [Stream_orderBy.pausedAction\_\_amountB
](#)
#### [Stream_orderBy.pausedTime
](#)
#### [Stream_orderBy.ratePerSecond
](#)
#### [Stream_orderBy.refundedAmount
](#)
#### [Stream_orderBy.snapshotAmount
](#)
#### [Stream_orderBy.voided
](#)
#### [Stream_orderBy.voidedAction
](#)
#### [Stream_orderBy.voidedAction\_\_id
](#)
#### [Stream_orderBy.voidedAction\_\_subgraphId
](#)
#### [Stream_orderBy.voidedAction\_\_block
](#)
#### [Stream_orderBy.voidedAction\_\_chainId
](#)
#### [Stream_orderBy.voidedAction\_\_from
](#)
#### [Stream_orderBy.voidedAction\_\_hash
](#)
#### [Stream_orderBy.voidedAction\_\_timestamp
](#)
#### [Stream_orderBy.voidedAction\_\_category
](#)
#### [Stream_orderBy.voidedAction\_\_contract
](#)
#### [Stream_orderBy.voidedAction\_\_fee
](#)
#### [Stream_orderBy.voidedAction\_\_addressA
](#)
#### [Stream_orderBy.voidedAction\_\_addressB
](#)
#### [Stream_orderBy.voidedAction\_\_amountA
](#)
#### [Stream_orderBy.voidedAction\_\_amountB
](#)
#### [Stream_orderBy.voidedTime
](#)
---
## _SubgraphErrorPolicy_ (2)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
No description
```graphql
enum _SubgraphErrorPolicy_ {
allow
deny
}
```
### Values
#### [\_SubgraphErrorPolicy\_.allow
](#)
Data will be returned even if the subgraph has indexing errors
#### [\_SubgraphErrorPolicy\_.deny
](#)
If the subgraph has indexing errors, data will be omitted. The default.
---
## Watcher_orderBy (2)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
No description
```graphql
enum Watcher_orderBy {
id
actionCounter
chainId
streamCounter
}
```
### Values
#### [Watcher_orderBy.id
](#)
#### [Watcher_orderBy.actionCounter
](#)
#### [Watcher_orderBy.chainId
](#)
#### [Watcher_orderBy.streamCounter
](#)
---
## Overview (6)
This documentation has been automatically generated from the GraphQL schema, with
[GraphQL-Markdown](https://graphql-markdown.github.io).
---
## Action_filter (2)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
No description
```graphql
input Action_filter {
id: String
id_not: String
id_gt: String
id_lt: String
id_gte: String
id_lte: String
id_in: [String!]
id_not_in: [String!]
id_contains: String
id_contains_nocase: String
id_not_contains: String
id_not_contains_nocase: String
id_starts_with: String
id_starts_with_nocase: String
id_not_starts_with: String
id_not_starts_with_nocase: String
id_ends_with: String
id_ends_with_nocase: String
id_not_ends_with: String
id_not_ends_with_nocase: String
subgraphId: BigInt
subgraphId_not: BigInt
subgraphId_gt: BigInt
subgraphId_lt: BigInt
subgraphId_gte: BigInt
subgraphId_lte: BigInt
subgraphId_in: [BigInt!]
subgraphId_not_in: [BigInt!]
block: BigInt
block_not: BigInt
block_gt: BigInt
block_lt: BigInt
block_gte: BigInt
block_lte: BigInt
block_in: [BigInt!]
block_not_in: [BigInt!]
chainId: BigInt
chainId_not: BigInt
chainId_gt: BigInt
chainId_lt: BigInt
chainId_gte: BigInt
chainId_lte: BigInt
chainId_in: [BigInt!]
chainId_not_in: [BigInt!]
from: Bytes
from_not: Bytes
from_gt: Bytes
from_lt: Bytes
from_gte: Bytes
from_lte: Bytes
from_in: [Bytes!]
from_not_in: [Bytes!]
from_contains: Bytes
from_not_contains: Bytes
hash: Bytes
hash_not: Bytes
hash_gt: Bytes
hash_lt: Bytes
hash_gte: Bytes
hash_lte: Bytes
hash_in: [Bytes!]
hash_not_in: [Bytes!]
hash_contains: Bytes
hash_not_contains: Bytes
timestamp: BigInt
timestamp_not: BigInt
timestamp_gt: BigInt
timestamp_lt: BigInt
timestamp_gte: BigInt
timestamp_lte: BigInt
timestamp_in: [BigInt!]
timestamp_not_in: [BigInt!]
category: ActionCategory
category_not: ActionCategory
category_in: [ActionCategory!]
category_not_in: [ActionCategory!]
contract: Bytes
contract_not: Bytes
contract_gt: Bytes
contract_lt: Bytes
contract_gte: Bytes
contract_lte: Bytes
contract_in: [Bytes!]
contract_not_in: [Bytes!]
contract_contains: Bytes
contract_not_contains: Bytes
fee: BigInt
fee_not: BigInt
fee_gt: BigInt
fee_lt: BigInt
fee_gte: BigInt
fee_lte: BigInt
fee_in: [BigInt!]
fee_not_in: [BigInt!]
stream: String
stream_not: String
stream_gt: String
stream_lt: String
stream_gte: String
stream_lte: String
stream_in: [String!]
stream_not_in: [String!]
stream_contains: String
stream_contains_nocase: String
stream_not_contains: String
stream_not_contains_nocase: String
stream_starts_with: String
stream_starts_with_nocase: String
stream_not_starts_with: String
stream_not_starts_with_nocase: String
stream_ends_with: String
stream_ends_with_nocase: String
stream_not_ends_with: String
stream_not_ends_with_nocase: String
stream_: Stream_filter
addressA: Bytes
addressA_not: Bytes
addressA_gt: Bytes
addressA_lt: Bytes
addressA_gte: Bytes
addressA_lte: Bytes
addressA_in: [Bytes!]
addressA_not_in: [Bytes!]
addressA_contains: Bytes
addressA_not_contains: Bytes
addressB: Bytes
addressB_not: Bytes
addressB_gt: Bytes
addressB_lt: Bytes
addressB_gte: Bytes
addressB_lte: Bytes
addressB_in: [Bytes!]
addressB_not_in: [Bytes!]
addressB_contains: Bytes
addressB_not_contains: Bytes
amountA: BigInt
amountA_not: BigInt
amountA_gt: BigInt
amountA_lt: BigInt
amountA_gte: BigInt
amountA_lte: BigInt
amountA_in: [BigInt!]
amountA_not_in: [BigInt!]
amountB: BigInt
amountB_not: BigInt
amountB_gt: BigInt
amountB_lt: BigInt
amountB_gte: BigInt
amountB_lte: BigInt
amountB_in: [BigInt!]
amountB_not_in: [BigInt!]
_change_block: BlockChangedFilter
and: [Action_filter]
or: [Action_filter]
}
```
### Fields
#### [Action_filter.id
](#)[String
](/docs/api/flow/graphql/the-graph/scalars/string.mdx)
#### [Action_filter.id_not
](#)[String
](/docs/api/flow/graphql/the-graph/scalars/string.mdx)
#### [Action_filter.id_gt
](#)[String
](/docs/api/flow/graphql/the-graph/scalars/string.mdx)
#### [Action_filter.id_lt
](#)[String
](/docs/api/flow/graphql/the-graph/scalars/string.mdx)
#### [Action_filter.id_gte
](#)[String
](/docs/api/flow/graphql/the-graph/scalars/string.mdx)
#### [Action_filter.id_lte
](#)[String
](/docs/api/flow/graphql/the-graph/scalars/string.mdx)
#### [Action_filter.id_in
](#)[[String!]
](/docs/api/flow/graphql/the-graph/scalars/string.mdx)
#### [Action_filter.id_not_in
](#)[[String!]
](/docs/api/flow/graphql/the-graph/scalars/string.mdx)
#### [Action_filter.id_contains
](#)[String
](/docs/api/flow/graphql/the-graph/scalars/string.mdx)
#### [Action_filter.id_contains_nocase
](#)[String
](/docs/api/flow/graphql/the-graph/scalars/string.mdx)
#### [Action_filter.id_not_contains
](#)[String
](/docs/api/flow/graphql/the-graph/scalars/string.mdx)
#### [Action_filter.id_not_contains_nocase
](#)[String
](/docs/api/flow/graphql/the-graph/scalars/string.mdx)
#### [Action_filter.id_starts_with
](#)[String
](/docs/api/flow/graphql/the-graph/scalars/string.mdx)
#### [Action_filter.id_starts_with_nocase
](#)[String
](/docs/api/flow/graphql/the-graph/scalars/string.mdx)
#### [Action_filter.id_not_starts_with
](#)[String
](/docs/api/flow/graphql/the-graph/scalars/string.mdx)
#### [Action_filter.id_not_starts_with_nocase
](#)[String
](/docs/api/flow/graphql/the-graph/scalars/string.mdx)
#### [Action_filter.id_ends_with
](#)[String
](/docs/api/flow/graphql/the-graph/scalars/string.mdx)
#### [Action_filter.id_ends_with_nocase
](#)[String
](/docs/api/flow/graphql/the-graph/scalars/string.mdx)
#### [Action_filter.id_not_ends_with
](#)[String
](/docs/api/flow/graphql/the-graph/scalars/string.mdx)
#### [Action_filter.id_not_ends_with_nocase
](#)[String
](/docs/api/flow/graphql/the-graph/scalars/string.mdx)
#### [Action_filter.subgraphId
](#)[BigInt
](/docs/api/flow/graphql/the-graph/scalars/big-int.mdx)
#### [Action_filter.subgraphId_not
](#)[BigInt
](/docs/api/flow/graphql/the-graph/scalars/big-int.mdx)
#### [Action_filter.subgraphId_gt
](#)[BigInt
](/docs/api/flow/graphql/the-graph/scalars/big-int.mdx)
#### [Action_filter.subgraphId_lt
](#)[BigInt
](/docs/api/flow/graphql/the-graph/scalars/big-int.mdx)
#### [Action_filter.subgraphId_gte
](#)[BigInt
](/docs/api/flow/graphql/the-graph/scalars/big-int.mdx)
#### [Action_filter.subgraphId_lte
](#)[BigInt
](/docs/api/flow/graphql/the-graph/scalars/big-int.mdx)
#### [Action_filter.subgraphId_in
](#)[[BigInt!]
](/docs/api/flow/graphql/the-graph/scalars/big-int.mdx)
#### [Action_filter.subgraphId_not_in
](#)[[BigInt!]
](/docs/api/flow/graphql/the-graph/scalars/big-int.mdx)
#### [Action_filter.block
](#)[BigInt
](/docs/api/flow/graphql/the-graph/scalars/big-int.mdx)
#### [Action_filter.block_not
](#)[BigInt
](/docs/api/flow/graphql/the-graph/scalars/big-int.mdx)
#### [Action_filter.block_gt
](#)[BigInt
](/docs/api/flow/graphql/the-graph/scalars/big-int.mdx)
#### [Action_filter.block_lt
](#)[BigInt
](/docs/api/flow/graphql/the-graph/scalars/big-int.mdx)
#### [Action_filter.block_gte
](#)[BigInt
](/docs/api/flow/graphql/the-graph/scalars/big-int.mdx)
#### [Action_filter.block_lte
](#)[BigInt
](/docs/api/flow/graphql/the-graph/scalars/big-int.mdx)
#### [Action_filter.block_in
](#)[[BigInt!]
](/docs/api/flow/graphql/the-graph/scalars/big-int.mdx)
#### [Action_filter.block_not_in
](#)[[BigInt!]
](/docs/api/flow/graphql/the-graph/scalars/big-int.mdx)
#### [Action_filter.chainId
](#)[BigInt
](/docs/api/flow/graphql/the-graph/scalars/big-int.mdx)
#### [Action_filter.chainId_not
](#)[BigInt
](/docs/api/flow/graphql/the-graph/scalars/big-int.mdx)
#### [Action_filter.chainId_gt
](#)[BigInt
](/docs/api/flow/graphql/the-graph/scalars/big-int.mdx)
#### [Action_filter.chainId_lt
](#)[BigInt
](/docs/api/flow/graphql/the-graph/scalars/big-int.mdx)
#### [Action_filter.chainId_gte
](#)[BigInt
](/docs/api/flow/graphql/the-graph/scalars/big-int.mdx)
#### [Action_filter.chainId_lte
](#)[BigInt
](/docs/api/flow/graphql/the-graph/scalars/big-int.mdx)
#### [Action_filter.chainId_in
](#)[[BigInt!]
](/docs/api/flow/graphql/the-graph/scalars/big-int.mdx)
#### [Action_filter.chainId_not_in
](#)[[BigInt!]
](/docs/api/flow/graphql/the-graph/scalars/big-int.mdx)
#### [Action_filter.from
](#)[Bytes
](/docs/api/flow/graphql/the-graph/scalars/bytes.mdx)
#### [Action_filter.from_not
](#)[Bytes
](/docs/api/flow/graphql/the-graph/scalars/bytes.mdx)
#### [Action_filter.from_gt
](#)[Bytes
](/docs/api/flow/graphql/the-graph/scalars/bytes.mdx)
#### [Action_filter.from_lt
](#)[Bytes
](/docs/api/flow/graphql/the-graph/scalars/bytes.mdx)
#### [Action_filter.from_gte
](#)[Bytes
](/docs/api/flow/graphql/the-graph/scalars/bytes.mdx)
#### [Action_filter.from_lte
](#)[Bytes
](/docs/api/flow/graphql/the-graph/scalars/bytes.mdx)
#### [Action_filter.from_in
](#)[[Bytes!]
](/docs/api/flow/graphql/the-graph/scalars/bytes.mdx)
#### [Action_filter.from_not_in
](#)[[Bytes!]
](/docs/api/flow/graphql/the-graph/scalars/bytes.mdx)
#### [Action_filter.from_contains
](#)[Bytes
](/docs/api/flow/graphql/the-graph/scalars/bytes.mdx)
#### [Action_filter.from_not_contains
](#)[Bytes
](/docs/api/flow/graphql/the-graph/scalars/bytes.mdx)
#### [Action_filter.hash
](#)[Bytes
](/docs/api/flow/graphql/the-graph/scalars/bytes.mdx)
#### [Action_filter.hash_not
](#)[Bytes
](/docs/api/flow/graphql/the-graph/scalars/bytes.mdx)
#### [Action_filter.hash_gt
](#)[Bytes
](/docs/api/flow/graphql/the-graph/scalars/bytes.mdx)
#### [Action_filter.hash_lt
](#)[Bytes
](/docs/api/flow/graphql/the-graph/scalars/bytes.mdx)
#### [Action_filter.hash_gte
](#)[Bytes
](/docs/api/flow/graphql/the-graph/scalars/bytes.mdx)
#### [Action_filter.hash_lte
](#)[Bytes
](/docs/api/flow/graphql/the-graph/scalars/bytes.mdx)
#### [Action_filter.hash_in
](#)[[Bytes!]
](/docs/api/flow/graphql/the-graph/scalars/bytes.mdx)
#### [Action_filter.hash_not_in
](#)[[Bytes!]
](/docs/api/flow/graphql/the-graph/scalars/bytes.mdx)
#### [Action_filter.hash_contains
](#)[Bytes
](/docs/api/flow/graphql/the-graph/scalars/bytes.mdx)
#### [Action_filter.hash_not_contains
](#)[Bytes
](/docs/api/flow/graphql/the-graph/scalars/bytes.mdx)
#### [Action_filter.timestamp
](#)[BigInt
](/docs/api/flow/graphql/the-graph/scalars/big-int.mdx)
#### [Action_filter.timestamp_not
](#)[BigInt
](/docs/api/flow/graphql/the-graph/scalars/big-int.mdx)
#### [Action_filter.timestamp_gt
](#)[BigInt
](/docs/api/flow/graphql/the-graph/scalars/big-int.mdx)
#### [Action_filter.timestamp_lt
](#)[BigInt
](/docs/api/flow/graphql/the-graph/scalars/big-int.mdx)
#### [Action_filter.timestamp_gte
](#)[BigInt
](/docs/api/flow/graphql/the-graph/scalars/big-int.mdx)
#### [Action_filter.timestamp_lte
](#)[BigInt
](/docs/api/flow/graphql/the-graph/scalars/big-int.mdx)
#### [Action_filter.timestamp_in
](#)[[BigInt!]
](/docs/api/flow/graphql/the-graph/scalars/big-int.mdx)
#### [Action_filter.timestamp_not_in
](#)[[BigInt!]
](/docs/api/flow/graphql/the-graph/scalars/big-int.mdx)
#### [Action_filter.category
](#)[ActionCategory
](/docs/api/flow/graphql/the-graph/enums/action-category.mdx)
#### [Action_filter.category_not
](#)[ActionCategory
](/docs/api/flow/graphql/the-graph/enums/action-category.mdx)
#### [Action_filter.category_in
](#)[[ActionCategory!]
](/docs/api/flow/graphql/the-graph/enums/action-category.mdx)
#### [Action_filter.category_not_in
](#)[[ActionCategory!]
](/docs/api/flow/graphql/the-graph/enums/action-category.mdx)
#### [Action_filter.contract
](#)[Bytes
](/docs/api/flow/graphql/the-graph/scalars/bytes.mdx)
#### [Action_filter.contract_not
](#)[Bytes
](/docs/api/flow/graphql/the-graph/scalars/bytes.mdx)
#### [Action_filter.contract_gt
](#)[Bytes
](/docs/api/flow/graphql/the-graph/scalars/bytes.mdx)
#### [Action_filter.contract_lt
](#)[Bytes
](/docs/api/flow/graphql/the-graph/scalars/bytes.mdx)
#### [Action_filter.contract_gte
](#)[Bytes
](/docs/api/flow/graphql/the-graph/scalars/bytes.mdx)
#### [Action_filter.contract_lte
](#)[Bytes
](/docs/api/flow/graphql/the-graph/scalars/bytes.mdx)
#### [Action_filter.contract_in
](#)[[Bytes!]
](/docs/api/flow/graphql/the-graph/scalars/bytes.mdx)
#### [Action_filter.contract_not_in
](#)[[Bytes!]
](/docs/api/flow/graphql/the-graph/scalars/bytes.mdx)
#### [Action_filter.contract_contains
](#)[Bytes
](/docs/api/flow/graphql/the-graph/scalars/bytes.mdx)
#### [Action_filter.contract_not_contains
](#)[Bytes
](/docs/api/flow/graphql/the-graph/scalars/bytes.mdx)
#### [Action_filter.fee
](#)[BigInt
](/docs/api/flow/graphql/the-graph/scalars/big-int.mdx)
#### [Action_filter.fee_not
](#)[BigInt
](/docs/api/flow/graphql/the-graph/scalars/big-int.mdx)
#### [Action_filter.fee_gt
](#)[BigInt
](/docs/api/flow/graphql/the-graph/scalars/big-int.mdx)
#### [Action_filter.fee_lt
](#)[BigInt
](/docs/api/flow/graphql/the-graph/scalars/big-int.mdx)
#### [Action_filter.fee_gte
](#)[BigInt
](/docs/api/flow/graphql/the-graph/scalars/big-int.mdx)
#### [Action_filter.fee_lte
](#)[BigInt
](/docs/api/flow/graphql/the-graph/scalars/big-int.mdx)
#### [Action_filter.fee_in
](#)[[BigInt!]
](/docs/api/flow/graphql/the-graph/scalars/big-int.mdx)
#### [Action_filter.fee_not_in
](#)[[BigInt!]
](/docs/api/flow/graphql/the-graph/scalars/big-int.mdx)
#### [Action_filter.stream
](#)[String
](/docs/api/flow/graphql/the-graph/scalars/string.mdx)
#### [Action_filter.stream_not
](#)[String
](/docs/api/flow/graphql/the-graph/scalars/string.mdx)
#### [Action_filter.stream_gt
](#)[String
](/docs/api/flow/graphql/the-graph/scalars/string.mdx)
#### [Action_filter.stream_lt
](#)[String
](/docs/api/flow/graphql/the-graph/scalars/string.mdx)
#### [Action_filter.stream_gte
](#)[String
](/docs/api/flow/graphql/the-graph/scalars/string.mdx)
#### [Action_filter.stream_lte
](#)[String
](/docs/api/flow/graphql/the-graph/scalars/string.mdx)
#### [Action_filter.stream_in
](#)[[String!]
](/docs/api/flow/graphql/the-graph/scalars/string.mdx)
#### [Action_filter.stream_not_in
](#)[[String!]
](/docs/api/flow/graphql/the-graph/scalars/string.mdx)
#### [Action_filter.stream_contains
](#)[String
](/docs/api/flow/graphql/the-graph/scalars/string.mdx)
#### [Action_filter.stream_contains_nocase
](#)[String
](/docs/api/flow/graphql/the-graph/scalars/string.mdx)
#### [Action_filter.stream_not_contains
](#)[String
](/docs/api/flow/graphql/the-graph/scalars/string.mdx)
#### [Action_filter.stream_not_contains_nocase
](#)[String
](/docs/api/flow/graphql/the-graph/scalars/string.mdx)
#### [Action_filter.stream_starts_with
](#)[String
](/docs/api/flow/graphql/the-graph/scalars/string.mdx)
#### [Action_filter.stream_starts_with_nocase
](#)[String
](/docs/api/flow/graphql/the-graph/scalars/string.mdx)
#### [Action_filter.stream_not_starts_with
](#)[String
](/docs/api/flow/graphql/the-graph/scalars/string.mdx)
#### [Action_filter.stream_not_starts_with_nocase
](#)[String
](/docs/api/flow/graphql/the-graph/scalars/string.mdx)
#### [Action_filter.stream_ends_with
](#)[String
](/docs/api/flow/graphql/the-graph/scalars/string.mdx)
#### [Action_filter.stream_ends_with_nocase
](#)[String
](/docs/api/flow/graphql/the-graph/scalars/string.mdx)
#### [Action_filter.stream_not_ends_with
](#)[String
](/docs/api/flow/graphql/the-graph/scalars/string.mdx)
#### [Action_filter.stream_not_ends_with_nocase
](#)[String
](/docs/api/flow/graphql/the-graph/scalars/string.mdx)
#### [Action_filter.stream\_
](#)[Stream_filter
](/docs/api/flow/graphql/the-graph/inputs/stream-filter.mdx)
#### [Action_filter.addressA
](#)[Bytes
](/docs/api/flow/graphql/the-graph/scalars/bytes.mdx)
#### [Action_filter.addressA_not
](#)[Bytes
](/docs/api/flow/graphql/the-graph/scalars/bytes.mdx)
#### [Action_filter.addressA_gt
](#)[Bytes
](/docs/api/flow/graphql/the-graph/scalars/bytes.mdx)
#### [Action_filter.addressA_lt
](#)[Bytes
](/docs/api/flow/graphql/the-graph/scalars/bytes.mdx)
#### [Action_filter.addressA_gte
](#)[Bytes
](/docs/api/flow/graphql/the-graph/scalars/bytes.mdx)
#### [Action_filter.addressA_lte
](#)[Bytes
](/docs/api/flow/graphql/the-graph/scalars/bytes.mdx)
#### [Action_filter.addressA_in
](#)[[Bytes!]
](/docs/api/flow/graphql/the-graph/scalars/bytes.mdx)
#### [Action_filter.addressA_not_in
](#)[[Bytes!]
](/docs/api/flow/graphql/the-graph/scalars/bytes.mdx)
#### [Action_filter.addressA_contains
](#)[Bytes
](/docs/api/flow/graphql/the-graph/scalars/bytes.mdx)
#### [Action_filter.addressA_not_contains
](#)[Bytes
](/docs/api/flow/graphql/the-graph/scalars/bytes.mdx)
#### [Action_filter.addressB
](#)[Bytes
](/docs/api/flow/graphql/the-graph/scalars/bytes.mdx)
#### [Action_filter.addressB_not
](#)[Bytes
](/docs/api/flow/graphql/the-graph/scalars/bytes.mdx)
#### [Action_filter.addressB_gt
](#)[Bytes
](/docs/api/flow/graphql/the-graph/scalars/bytes.mdx)
#### [Action_filter.addressB_lt
](#)[Bytes
](/docs/api/flow/graphql/the-graph/scalars/bytes.mdx)
#### [Action_filter.addressB_gte
](#)[Bytes
](/docs/api/flow/graphql/the-graph/scalars/bytes.mdx)
#### [Action_filter.addressB_lte
](#)[Bytes
](/docs/api/flow/graphql/the-graph/scalars/bytes.mdx)
#### [Action_filter.addressB_in
](#)[[Bytes!]
](/docs/api/flow/graphql/the-graph/scalars/bytes.mdx)
#### [Action_filter.addressB_not_in
](#)[[Bytes!]
](/docs/api/flow/graphql/the-graph/scalars/bytes.mdx)
#### [Action_filter.addressB_contains
](#)[Bytes
](/docs/api/flow/graphql/the-graph/scalars/bytes.mdx)
#### [Action_filter.addressB_not_contains
](#)[Bytes
](/docs/api/flow/graphql/the-graph/scalars/bytes.mdx)
#### [Action_filter.amountA
](#)[BigInt
](/docs/api/flow/graphql/the-graph/scalars/big-int.mdx)
#### [Action_filter.amountA_not
](#)[BigInt
](/docs/api/flow/graphql/the-graph/scalars/big-int.mdx)
#### [Action_filter.amountA_gt
](#)[BigInt
](/docs/api/flow/graphql/the-graph/scalars/big-int.mdx)
#### [Action_filter.amountA_lt
](#)[BigInt
](/docs/api/flow/graphql/the-graph/scalars/big-int.mdx)
#### [Action_filter.amountA_gte
](#)[BigInt
](/docs/api/flow/graphql/the-graph/scalars/big-int.mdx)
#### [Action_filter.amountA_lte
](#)[BigInt
](/docs/api/flow/graphql/the-graph/scalars/big-int.mdx)
#### [Action_filter.amountA_in
](#)[[BigInt!]
](/docs/api/flow/graphql/the-graph/scalars/big-int.mdx)
#### [Action_filter.amountA_not_in
](#)[[BigInt!]
](/docs/api/flow/graphql/the-graph/scalars/big-int.mdx)
#### [Action_filter.amountB
](#)[BigInt
](/docs/api/flow/graphql/the-graph/scalars/big-int.mdx)
#### [Action_filter.amountB_not
](#)[BigInt
](/docs/api/flow/graphql/the-graph/scalars/big-int.mdx)
#### [Action_filter.amountB_gt
](#)[BigInt
](/docs/api/flow/graphql/the-graph/scalars/big-int.mdx)
#### [Action_filter.amountB_lt
](#)[BigInt
](/docs/api/flow/graphql/the-graph/scalars/big-int.mdx)
#### [Action_filter.amountB_gte
](#)[BigInt
](/docs/api/flow/graphql/the-graph/scalars/big-int.mdx)
#### [Action_filter.amountB_lte
](#)[BigInt
](/docs/api/flow/graphql/the-graph/scalars/big-int.mdx)
#### [Action_filter.amountB_in
](#)[[BigInt!]
](/docs/api/flow/graphql/the-graph/scalars/big-int.mdx)
#### [Action_filter.amountB_not_in
](#)[[BigInt!]
](/docs/api/flow/graphql/the-graph/scalars/big-int.mdx)
#### [Action_filter.\_change_block
](#)[BlockChangedFilter
](/docs/api/flow/graphql/the-graph/inputs/block-changed-filter.mdx)
Filter for the block changed event.
#### [Action_filter.and
](#)[[Action_filter]
](/docs/api/flow/graphql/the-graph/inputs/action-filter.mdx)
#### [Action_filter.or
](#)[[Action_filter]
](/docs/api/flow/graphql/the-graph/inputs/action-filter.mdx)
---
## Asset_filter (2)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
No description
```graphql
input Asset_filter {
id: String
id_not: String
id_gt: String
id_lt: String
id_gte: String
id_lte: String
id_in: [String!]
id_not_in: [String!]
id_contains: String
id_contains_nocase: String
id_not_contains: String
id_not_contains_nocase: String
id_starts_with: String
id_starts_with_nocase: String
id_not_starts_with: String
id_not_starts_with_nocase: String
id_ends_with: String
id_ends_with_nocase: String
id_not_ends_with: String
id_not_ends_with_nocase: String
address: Bytes
address_not: Bytes
address_gt: Bytes
address_lt: Bytes
address_gte: Bytes
address_lte: Bytes
address_in: [Bytes!]
address_not_in: [Bytes!]
address_contains: Bytes
address_not_contains: Bytes
chainId: BigInt
chainId_not: BigInt
chainId_gt: BigInt
chainId_lt: BigInt
chainId_gte: BigInt
chainId_lte: BigInt
chainId_in: [BigInt!]
chainId_not_in: [BigInt!]
decimals: BigInt
decimals_not: BigInt
decimals_gt: BigInt
decimals_lt: BigInt
decimals_gte: BigInt
decimals_lte: BigInt
decimals_in: [BigInt!]
decimals_not_in: [BigInt!]
name: String
name_not: String
name_gt: String
name_lt: String
name_gte: String
name_lte: String
name_in: [String!]
name_not_in: [String!]
name_contains: String
name_contains_nocase: String
name_not_contains: String
name_not_contains_nocase: String
name_starts_with: String
name_starts_with_nocase: String
name_not_starts_with: String
name_not_starts_with_nocase: String
name_ends_with: String
name_ends_with_nocase: String
name_not_ends_with: String
name_not_ends_with_nocase: String
symbol: String
symbol_not: String
symbol_gt: String
symbol_lt: String
symbol_gte: String
symbol_lte: String
symbol_in: [String!]
symbol_not_in: [String!]
symbol_contains: String
symbol_contains_nocase: String
symbol_not_contains: String
symbol_not_contains_nocase: String
symbol_starts_with: String
symbol_starts_with_nocase: String
symbol_not_starts_with: String
symbol_not_starts_with_nocase: String
symbol_ends_with: String
symbol_ends_with_nocase: String
symbol_not_ends_with: String
symbol_not_ends_with_nocase: String
streams_: Stream_filter
_change_block: BlockChangedFilter
and: [Asset_filter]
or: [Asset_filter]
}
```
### Fields
#### [Asset_filter.id
](#)[String
](/docs/api/flow/graphql/the-graph/scalars/string.mdx)
#### [Asset_filter.id_not
](#)[String
](/docs/api/flow/graphql/the-graph/scalars/string.mdx)
#### [Asset_filter.id_gt
](#)[String
](/docs/api/flow/graphql/the-graph/scalars/string.mdx)
#### [Asset_filter.id_lt
](#)[String
](/docs/api/flow/graphql/the-graph/scalars/string.mdx)
#### [Asset_filter.id_gte
](#)[String
](/docs/api/flow/graphql/the-graph/scalars/string.mdx)
#### [Asset_filter.id_lte
](#)[String
](/docs/api/flow/graphql/the-graph/scalars/string.mdx)
#### [Asset_filter.id_in
](#)[[String!]
](/docs/api/flow/graphql/the-graph/scalars/string.mdx)
#### [Asset_filter.id_not_in
](#)[[String!]
](/docs/api/flow/graphql/the-graph/scalars/string.mdx)
#### [Asset_filter.id_contains
](#)[String
](/docs/api/flow/graphql/the-graph/scalars/string.mdx)
#### [Asset_filter.id_contains_nocase
](#)[String
](/docs/api/flow/graphql/the-graph/scalars/string.mdx)
#### [Asset_filter.id_not_contains
](#)[String
](/docs/api/flow/graphql/the-graph/scalars/string.mdx)
#### [Asset_filter.id_not_contains_nocase
](#)[String
](/docs/api/flow/graphql/the-graph/scalars/string.mdx)
#### [Asset_filter.id_starts_with
](#)[String
](/docs/api/flow/graphql/the-graph/scalars/string.mdx)
#### [Asset_filter.id_starts_with_nocase
](#)[String
](/docs/api/flow/graphql/the-graph/scalars/string.mdx)
#### [Asset_filter.id_not_starts_with
](#)[String
](/docs/api/flow/graphql/the-graph/scalars/string.mdx)
#### [Asset_filter.id_not_starts_with_nocase
](#)[String
](/docs/api/flow/graphql/the-graph/scalars/string.mdx)
#### [Asset_filter.id_ends_with
](#)[String
](/docs/api/flow/graphql/the-graph/scalars/string.mdx)
#### [Asset_filter.id_ends_with_nocase
](#)[String
](/docs/api/flow/graphql/the-graph/scalars/string.mdx)
#### [Asset_filter.id_not_ends_with
](#)[String
](/docs/api/flow/graphql/the-graph/scalars/string.mdx)
#### [Asset_filter.id_not_ends_with_nocase
](#)[String
](/docs/api/flow/graphql/the-graph/scalars/string.mdx)
#### [Asset_filter.address
](#)[Bytes
](/docs/api/flow/graphql/the-graph/scalars/bytes.mdx)
#### [Asset_filter.address_not
](#)[Bytes
](/docs/api/flow/graphql/the-graph/scalars/bytes.mdx)
#### [Asset_filter.address_gt
](#)[Bytes
](/docs/api/flow/graphql/the-graph/scalars/bytes.mdx)
#### [Asset_filter.address_lt
](#)[Bytes
](/docs/api/flow/graphql/the-graph/scalars/bytes.mdx)
#### [Asset_filter.address_gte
](#)[Bytes
](/docs/api/flow/graphql/the-graph/scalars/bytes.mdx)
#### [Asset_filter.address_lte
](#)[Bytes
](/docs/api/flow/graphql/the-graph/scalars/bytes.mdx)
#### [Asset_filter.address_in
](#)[[Bytes!]
](/docs/api/flow/graphql/the-graph/scalars/bytes.mdx)
#### [Asset_filter.address_not_in
](#)[[Bytes!]
](/docs/api/flow/graphql/the-graph/scalars/bytes.mdx)
#### [Asset_filter.address_contains
](#)[Bytes
](/docs/api/flow/graphql/the-graph/scalars/bytes.mdx)
#### [Asset_filter.address_not_contains
](#)[Bytes
](/docs/api/flow/graphql/the-graph/scalars/bytes.mdx)
#### [Asset_filter.chainId
](#)[BigInt
](/docs/api/flow/graphql/the-graph/scalars/big-int.mdx)
#### [Asset_filter.chainId_not
](#)[BigInt
](/docs/api/flow/graphql/the-graph/scalars/big-int.mdx)
#### [Asset_filter.chainId_gt
](#)[BigInt
](/docs/api/flow/graphql/the-graph/scalars/big-int.mdx)
#### [Asset_filter.chainId_lt
](#)[BigInt
](/docs/api/flow/graphql/the-graph/scalars/big-int.mdx)
#### [Asset_filter.chainId_gte
](#)[BigInt
](/docs/api/flow/graphql/the-graph/scalars/big-int.mdx)
#### [Asset_filter.chainId_lte
](#)[BigInt
](/docs/api/flow/graphql/the-graph/scalars/big-int.mdx)
#### [Asset_filter.chainId_in
](#)[[BigInt!]
](/docs/api/flow/graphql/the-graph/scalars/big-int.mdx)
#### [Asset_filter.chainId_not_in
](#)[[BigInt!]
](/docs/api/flow/graphql/the-graph/scalars/big-int.mdx)
#### [Asset_filter.decimals
](#)[BigInt
](/docs/api/flow/graphql/the-graph/scalars/big-int.mdx)
#### [Asset_filter.decimals_not
](#)[BigInt
](/docs/api/flow/graphql/the-graph/scalars/big-int.mdx)
#### [Asset_filter.decimals_gt
](#)[BigInt
](/docs/api/flow/graphql/the-graph/scalars/big-int.mdx)
#### [Asset_filter.decimals_lt
](#)[BigInt
](/docs/api/flow/graphql/the-graph/scalars/big-int.mdx)
#### [Asset_filter.decimals_gte
](#)[BigInt
](/docs/api/flow/graphql/the-graph/scalars/big-int.mdx)
#### [Asset_filter.decimals_lte
](#)[BigInt
](/docs/api/flow/graphql/the-graph/scalars/big-int.mdx)
#### [Asset_filter.decimals_in
](#)[[BigInt!]
](/docs/api/flow/graphql/the-graph/scalars/big-int.mdx)
#### [Asset_filter.decimals_not_in
](#)[[BigInt!]
](/docs/api/flow/graphql/the-graph/scalars/big-int.mdx)
#### [Asset_filter.name
](#)[String
](/docs/api/flow/graphql/the-graph/scalars/string.mdx)
#### [Asset_filter.name_not
](#)[String
](/docs/api/flow/graphql/the-graph/scalars/string.mdx)
#### [Asset_filter.name_gt
](#)[String
](/docs/api/flow/graphql/the-graph/scalars/string.mdx)
#### [Asset_filter.name_lt
](#)[String
](/docs/api/flow/graphql/the-graph/scalars/string.mdx)
#### [Asset_filter.name_gte
](#)[String
](/docs/api/flow/graphql/the-graph/scalars/string.mdx)
#### [Asset_filter.name_lte
](#)[String
](/docs/api/flow/graphql/the-graph/scalars/string.mdx)
#### [Asset_filter.name_in
](#)[[String!]
](/docs/api/flow/graphql/the-graph/scalars/string.mdx)
#### [Asset_filter.name_not_in
](#)[[String!]
](/docs/api/flow/graphql/the-graph/scalars/string.mdx)
#### [Asset_filter.name_contains
](#)[String
](/docs/api/flow/graphql/the-graph/scalars/string.mdx)
#### [Asset_filter.name_contains_nocase
](#)[String
](/docs/api/flow/graphql/the-graph/scalars/string.mdx)
#### [Asset_filter.name_not_contains
](#)[String
](/docs/api/flow/graphql/the-graph/scalars/string.mdx)
#### [Asset_filter.name_not_contains_nocase
](#)[String
](/docs/api/flow/graphql/the-graph/scalars/string.mdx)
#### [Asset_filter.name_starts_with
](#)[String
](/docs/api/flow/graphql/the-graph/scalars/string.mdx)
#### [Asset_filter.name_starts_with_nocase
](#)[String
](/docs/api/flow/graphql/the-graph/scalars/string.mdx)
#### [Asset_filter.name_not_starts_with
](#)[String
](/docs/api/flow/graphql/the-graph/scalars/string.mdx)
#### [Asset_filter.name_not_starts_with_nocase
](#)[String
](/docs/api/flow/graphql/the-graph/scalars/string.mdx)
#### [Asset_filter.name_ends_with
](#)[String
](/docs/api/flow/graphql/the-graph/scalars/string.mdx)
#### [Asset_filter.name_ends_with_nocase
](#)[String
](/docs/api/flow/graphql/the-graph/scalars/string.mdx)
#### [Asset_filter.name_not_ends_with
](#)[String
](/docs/api/flow/graphql/the-graph/scalars/string.mdx)
#### [Asset_filter.name_not_ends_with_nocase
](#)[String
](/docs/api/flow/graphql/the-graph/scalars/string.mdx)
#### [Asset_filter.symbol
](#)[String
](/docs/api/flow/graphql/the-graph/scalars/string.mdx)
#### [Asset_filter.symbol_not
](#)[String
](/docs/api/flow/graphql/the-graph/scalars/string.mdx)
#### [Asset_filter.symbol_gt
](#)[String
](/docs/api/flow/graphql/the-graph/scalars/string.mdx)
#### [Asset_filter.symbol_lt
](#)[String
](/docs/api/flow/graphql/the-graph/scalars/string.mdx)
#### [Asset_filter.symbol_gte
](#)[String
](/docs/api/flow/graphql/the-graph/scalars/string.mdx)
#### [Asset_filter.symbol_lte
](#)[String
](/docs/api/flow/graphql/the-graph/scalars/string.mdx)
#### [Asset_filter.symbol_in
](#)[[String!]
](/docs/api/flow/graphql/the-graph/scalars/string.mdx)
#### [Asset_filter.symbol_not_in
](#)[[String!]
](/docs/api/flow/graphql/the-graph/scalars/string.mdx)
#### [Asset_filter.symbol_contains
](#)[String
](/docs/api/flow/graphql/the-graph/scalars/string.mdx)
#### [Asset_filter.symbol_contains_nocase
](#)[String
](/docs/api/flow/graphql/the-graph/scalars/string.mdx)
#### [Asset_filter.symbol_not_contains
](#)[String
](/docs/api/flow/graphql/the-graph/scalars/string.mdx)
#### [Asset_filter.symbol_not_contains_nocase
](#)[String
](/docs/api/flow/graphql/the-graph/scalars/string.mdx)
#### [Asset_filter.symbol_starts_with
](#)[String
](/docs/api/flow/graphql/the-graph/scalars/string.mdx)
#### [Asset_filter.symbol_starts_with_nocase
](#)[String
](/docs/api/flow/graphql/the-graph/scalars/string.mdx)
#### [Asset_filter.symbol_not_starts_with
](#)[String
](/docs/api/flow/graphql/the-graph/scalars/string.mdx)
#### [Asset_filter.symbol_not_starts_with_nocase
](#)[String
](/docs/api/flow/graphql/the-graph/scalars/string.mdx)
#### [Asset_filter.symbol_ends_with
](#)[String
](/docs/api/flow/graphql/the-graph/scalars/string.mdx)
#### [Asset_filter.symbol_ends_with_nocase
](#)[String
](/docs/api/flow/graphql/the-graph/scalars/string.mdx)
#### [Asset_filter.symbol_not_ends_with
](#)[String
](/docs/api/flow/graphql/the-graph/scalars/string.mdx)
#### [Asset_filter.symbol_not_ends_with_nocase
](#)[String
](/docs/api/flow/graphql/the-graph/scalars/string.mdx)
#### [Asset_filter.streams\_
](#)[Stream_filter
](/docs/api/flow/graphql/the-graph/inputs/stream-filter.mdx)
#### [Asset_filter.\_change_block
](#)[BlockChangedFilter
](/docs/api/flow/graphql/the-graph/inputs/block-changed-filter.mdx)
Filter for the block changed event.
#### [Asset_filter.and
](#)[[Asset_filter]
](/docs/api/flow/graphql/the-graph/inputs/asset-filter.mdx)
#### [Asset_filter.or
](#)[[Asset_filter]
](/docs/api/flow/graphql/the-graph/inputs/asset-filter.mdx)
---
## Batch_filter (2)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
No description
```graphql
input Batch_filter {
id: String
id_not: String
id_gt: String
id_lt: String
id_gte: String
id_lte: String
id_in: [String!]
id_not_in: [String!]
id_contains: String
id_contains_nocase: String
id_not_contains: String
id_not_contains_nocase: String
id_starts_with: String
id_starts_with_nocase: String
id_not_starts_with: String
id_not_starts_with_nocase: String
id_ends_with: String
id_ends_with_nocase: String
id_not_ends_with: String
id_not_ends_with_nocase: String
hash: Bytes
hash_not: Bytes
hash_gt: Bytes
hash_lt: Bytes
hash_gte: Bytes
hash_lte: Bytes
hash_in: [Bytes!]
hash_not_in: [Bytes!]
hash_contains: Bytes
hash_not_contains: Bytes
timestamp: BigInt
timestamp_not: BigInt
timestamp_gt: BigInt
timestamp_lt: BigInt
timestamp_gte: BigInt
timestamp_lte: BigInt
timestamp_in: [BigInt!]
timestamp_not_in: [BigInt!]
batcher: String
batcher_not: String
batcher_gt: String
batcher_lt: String
batcher_gte: String
batcher_lte: String
batcher_in: [String!]
batcher_not_in: [String!]
batcher_contains: String
batcher_contains_nocase: String
batcher_not_contains: String
batcher_not_contains_nocase: String
batcher_starts_with: String
batcher_starts_with_nocase: String
batcher_not_starts_with: String
batcher_not_starts_with_nocase: String
batcher_ends_with: String
batcher_ends_with_nocase: String
batcher_not_ends_with: String
batcher_not_ends_with_nocase: String
batcher_: Batcher_filter
position: BigInt
position_not: BigInt
position_gt: BigInt
position_lt: BigInt
position_gte: BigInt
position_lte: BigInt
position_in: [BigInt!]
position_not_in: [BigInt!]
size: BigInt
size_not: BigInt
size_gt: BigInt
size_lt: BigInt
size_gte: BigInt
size_lte: BigInt
size_in: [BigInt!]
size_not_in: [BigInt!]
streams_: Stream_filter
_change_block: BlockChangedFilter
and: [Batch_filter]
or: [Batch_filter]
}
```
### Fields
#### [Batch_filter.id
](#)[String
](/docs/api/flow/graphql/the-graph/scalars/string.mdx)
#### [Batch_filter.id_not
](#)[String
](/docs/api/flow/graphql/the-graph/scalars/string.mdx)
#### [Batch_filter.id_gt
](#)[String
](/docs/api/flow/graphql/the-graph/scalars/string.mdx)
#### [Batch_filter.id_lt
](#)[String
](/docs/api/flow/graphql/the-graph/scalars/string.mdx)
#### [Batch_filter.id_gte
](#)[String
](/docs/api/flow/graphql/the-graph/scalars/string.mdx)
#### [Batch_filter.id_lte
](#)[String
](/docs/api/flow/graphql/the-graph/scalars/string.mdx)
#### [Batch_filter.id_in
](#)[[String!]
](/docs/api/flow/graphql/the-graph/scalars/string.mdx)
#### [Batch_filter.id_not_in
](#)[[String!]
](/docs/api/flow/graphql/the-graph/scalars/string.mdx)
#### [Batch_filter.id_contains
](#)[String
](/docs/api/flow/graphql/the-graph/scalars/string.mdx)
#### [Batch_filter.id_contains_nocase
](#)[String
](/docs/api/flow/graphql/the-graph/scalars/string.mdx)
#### [Batch_filter.id_not_contains
](#)[String
](/docs/api/flow/graphql/the-graph/scalars/string.mdx)
#### [Batch_filter.id_not_contains_nocase
](#)[String
](/docs/api/flow/graphql/the-graph/scalars/string.mdx)
#### [Batch_filter.id_starts_with
](#)[String
](/docs/api/flow/graphql/the-graph/scalars/string.mdx)
#### [Batch_filter.id_starts_with_nocase
](#)[String
](/docs/api/flow/graphql/the-graph/scalars/string.mdx)
#### [Batch_filter.id_not_starts_with
](#)[String
](/docs/api/flow/graphql/the-graph/scalars/string.mdx)
#### [Batch_filter.id_not_starts_with_nocase
](#)[String
](/docs/api/flow/graphql/the-graph/scalars/string.mdx)
#### [Batch_filter.id_ends_with
](#)[String
](/docs/api/flow/graphql/the-graph/scalars/string.mdx)
#### [Batch_filter.id_ends_with_nocase
](#)[String
](/docs/api/flow/graphql/the-graph/scalars/string.mdx)
#### [Batch_filter.id_not_ends_with
](#)[String
](/docs/api/flow/graphql/the-graph/scalars/string.mdx)
#### [Batch_filter.id_not_ends_with_nocase
](#)[String
](/docs/api/flow/graphql/the-graph/scalars/string.mdx)
#### [Batch_filter.hash
](#)[Bytes
](/docs/api/flow/graphql/the-graph/scalars/bytes.mdx)
#### [Batch_filter.hash_not
](#)[Bytes
](/docs/api/flow/graphql/the-graph/scalars/bytes.mdx)
#### [Batch_filter.hash_gt
](#)[Bytes
](/docs/api/flow/graphql/the-graph/scalars/bytes.mdx)
#### [Batch_filter.hash_lt
](#)[Bytes
](/docs/api/flow/graphql/the-graph/scalars/bytes.mdx)
#### [Batch_filter.hash_gte
](#)[Bytes
](/docs/api/flow/graphql/the-graph/scalars/bytes.mdx)
#### [Batch_filter.hash_lte
](#)[Bytes
](/docs/api/flow/graphql/the-graph/scalars/bytes.mdx)
#### [Batch_filter.hash_in
](#)[[Bytes!]
](/docs/api/flow/graphql/the-graph/scalars/bytes.mdx)
#### [Batch_filter.hash_not_in
](#)[[Bytes!]
](/docs/api/flow/graphql/the-graph/scalars/bytes.mdx)
#### [Batch_filter.hash_contains
](#)[Bytes
](/docs/api/flow/graphql/the-graph/scalars/bytes.mdx)
#### [Batch_filter.hash_not_contains
](#)[Bytes
](/docs/api/flow/graphql/the-graph/scalars/bytes.mdx)
#### [Batch_filter.timestamp
](#)[BigInt
](/docs/api/flow/graphql/the-graph/scalars/big-int.mdx)
#### [Batch_filter.timestamp_not
](#)[BigInt
](/docs/api/flow/graphql/the-graph/scalars/big-int.mdx)
#### [Batch_filter.timestamp_gt
](#)[BigInt
](/docs/api/flow/graphql/the-graph/scalars/big-int.mdx)
#### [Batch_filter.timestamp_lt
](#)[BigInt
](/docs/api/flow/graphql/the-graph/scalars/big-int.mdx)
#### [Batch_filter.timestamp_gte
](#)[BigInt
](/docs/api/flow/graphql/the-graph/scalars/big-int.mdx)
#### [Batch_filter.timestamp_lte
](#)[BigInt
](/docs/api/flow/graphql/the-graph/scalars/big-int.mdx)
#### [Batch_filter.timestamp_in
](#)[[BigInt!]
](/docs/api/flow/graphql/the-graph/scalars/big-int.mdx)
#### [Batch_filter.timestamp_not_in
](#)[[BigInt!]
](/docs/api/flow/graphql/the-graph/scalars/big-int.mdx)
#### [Batch_filter.batcher
](#)[String
](/docs/api/flow/graphql/the-graph/scalars/string.mdx)
#### [Batch_filter.batcher_not
](#)[String
](/docs/api/flow/graphql/the-graph/scalars/string.mdx)
#### [Batch_filter.batcher_gt
](#)[String
](/docs/api/flow/graphql/the-graph/scalars/string.mdx)
#### [Batch_filter.batcher_lt
](#)[String
](/docs/api/flow/graphql/the-graph/scalars/string.mdx)
#### [Batch_filter.batcher_gte
](#)[String
](/docs/api/flow/graphql/the-graph/scalars/string.mdx)
#### [Batch_filter.batcher_lte
](#)[String
](/docs/api/flow/graphql/the-graph/scalars/string.mdx)
#### [Batch_filter.batcher_in
](#)[[String!]
](/docs/api/flow/graphql/the-graph/scalars/string.mdx)
#### [Batch_filter.batcher_not_in
](#)[[String!]
](/docs/api/flow/graphql/the-graph/scalars/string.mdx)
#### [Batch_filter.batcher_contains
](#)[String
](/docs/api/flow/graphql/the-graph/scalars/string.mdx)
#### [Batch_filter.batcher_contains_nocase
](#)[String
](/docs/api/flow/graphql/the-graph/scalars/string.mdx)
#### [Batch_filter.batcher_not_contains
](#)[String
](/docs/api/flow/graphql/the-graph/scalars/string.mdx)
#### [Batch_filter.batcher_not_contains_nocase
](#)[String
](/docs/api/flow/graphql/the-graph/scalars/string.mdx)
#### [Batch_filter.batcher_starts_with
](#)[String
](/docs/api/flow/graphql/the-graph/scalars/string.mdx)
#### [Batch_filter.batcher_starts_with_nocase
](#)[String
](/docs/api/flow/graphql/the-graph/scalars/string.mdx)
#### [Batch_filter.batcher_not_starts_with
](#)[String
](/docs/api/flow/graphql/the-graph/scalars/string.mdx)
#### [Batch_filter.batcher_not_starts_with_nocase
](#)[String
](/docs/api/flow/graphql/the-graph/scalars/string.mdx)
#### [Batch_filter.batcher_ends_with
](#)[String
](/docs/api/flow/graphql/the-graph/scalars/string.mdx)
#### [Batch_filter.batcher_ends_with_nocase
](#)[String
](/docs/api/flow/graphql/the-graph/scalars/string.mdx)
#### [Batch_filter.batcher_not_ends_with
](#)[String
](/docs/api/flow/graphql/the-graph/scalars/string.mdx)
#### [Batch_filter.batcher_not_ends_with_nocase
](#)[String
](/docs/api/flow/graphql/the-graph/scalars/string.mdx)
#### [Batch_filter.batcher\_
](#)[Batcher_filter
](/docs/api/flow/graphql/the-graph/inputs/batcher-filter.mdx)
#### [Batch_filter.position
](#)[BigInt
](/docs/api/flow/graphql/the-graph/scalars/big-int.mdx)
#### [Batch_filter.position_not
](#)[BigInt
](/docs/api/flow/graphql/the-graph/scalars/big-int.mdx)
#### [Batch_filter.position_gt
](#)[BigInt
](/docs/api/flow/graphql/the-graph/scalars/big-int.mdx)
#### [Batch_filter.position_lt
](#)[BigInt
](/docs/api/flow/graphql/the-graph/scalars/big-int.mdx)
#### [Batch_filter.position_gte
](#)[BigInt
](/docs/api/flow/graphql/the-graph/scalars/big-int.mdx)
#### [Batch_filter.position_lte
](#)[BigInt
](/docs/api/flow/graphql/the-graph/scalars/big-int.mdx)
#### [Batch_filter.position_in
](#)[[BigInt!]
](/docs/api/flow/graphql/the-graph/scalars/big-int.mdx)
#### [Batch_filter.position_not_in
](#)[[BigInt!]
](/docs/api/flow/graphql/the-graph/scalars/big-int.mdx)
#### [Batch_filter.size
](#)[BigInt
](/docs/api/flow/graphql/the-graph/scalars/big-int.mdx)
#### [Batch_filter.size_not
](#)[BigInt
](/docs/api/flow/graphql/the-graph/scalars/big-int.mdx)
#### [Batch_filter.size_gt
](#)[BigInt
](/docs/api/flow/graphql/the-graph/scalars/big-int.mdx)
#### [Batch_filter.size_lt
](#)[BigInt
](/docs/api/flow/graphql/the-graph/scalars/big-int.mdx)
#### [Batch_filter.size_gte
](#)[BigInt
](/docs/api/flow/graphql/the-graph/scalars/big-int.mdx)
#### [Batch_filter.size_lte
](#)[BigInt
](/docs/api/flow/graphql/the-graph/scalars/big-int.mdx)
#### [Batch_filter.size_in
](#)[[BigInt!]
](/docs/api/flow/graphql/the-graph/scalars/big-int.mdx)
#### [Batch_filter.size_not_in
](#)[[BigInt!]
](/docs/api/flow/graphql/the-graph/scalars/big-int.mdx)
#### [Batch_filter.streams\_
](#)[Stream_filter
](/docs/api/flow/graphql/the-graph/inputs/stream-filter.mdx)
#### [Batch_filter.\_change_block
](#)[BlockChangedFilter
](/docs/api/flow/graphql/the-graph/inputs/block-changed-filter.mdx)
Filter for the block changed event.
#### [Batch_filter.and
](#)[[Batch_filter]
](/docs/api/flow/graphql/the-graph/inputs/batch-filter.mdx)
#### [Batch_filter.or
](#)[[Batch_filter]
](/docs/api/flow/graphql/the-graph/inputs/batch-filter.mdx)
---
## Batcher_filter (2)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
No description
```graphql
input Batcher_filter {
id: String
id_not: String
id_gt: String
id_lt: String
id_gte: String
id_lte: String
id_in: [String!]
id_not_in: [String!]
id_contains: String
id_contains_nocase: String
id_not_contains: String
id_not_contains_nocase: String
id_starts_with: String
id_starts_with_nocase: String
id_not_starts_with: String
id_not_starts_with_nocase: String
id_ends_with: String
id_ends_with_nocase: String
id_not_ends_with: String
id_not_ends_with_nocase: String
batchCounter: BigInt
batchCounter_not: BigInt
batchCounter_gt: BigInt
batchCounter_lt: BigInt
batchCounter_gte: BigInt
batchCounter_lte: BigInt
batchCounter_in: [BigInt!]
batchCounter_not_in: [BigInt!]
batches_: Batch_filter
_change_block: BlockChangedFilter
and: [Batcher_filter]
or: [Batcher_filter]
}
```
### Fields
#### [Batcher_filter.id
](#)[String
](/docs/api/flow/graphql/the-graph/scalars/string.mdx)
#### [Batcher_filter.id_not
](#)[String
](/docs/api/flow/graphql/the-graph/scalars/string.mdx)
#### [Batcher_filter.id_gt
](#)[String
](/docs/api/flow/graphql/the-graph/scalars/string.mdx)
#### [Batcher_filter.id_lt
](#)[String
](/docs/api/flow/graphql/the-graph/scalars/string.mdx)
#### [Batcher_filter.id_gte
](#)[String
](/docs/api/flow/graphql/the-graph/scalars/string.mdx)
#### [Batcher_filter.id_lte
](#)[String
](/docs/api/flow/graphql/the-graph/scalars/string.mdx)
#### [Batcher_filter.id_in
](#)[[String!]
](/docs/api/flow/graphql/the-graph/scalars/string.mdx)
#### [Batcher_filter.id_not_in
](#)[[String!]
](/docs/api/flow/graphql/the-graph/scalars/string.mdx)
#### [Batcher_filter.id_contains
](#)[String
](/docs/api/flow/graphql/the-graph/scalars/string.mdx)
#### [Batcher_filter.id_contains_nocase
](#)[String
](/docs/api/flow/graphql/the-graph/scalars/string.mdx)
#### [Batcher_filter.id_not_contains
](#)[String
](/docs/api/flow/graphql/the-graph/scalars/string.mdx)
#### [Batcher_filter.id_not_contains_nocase
](#)[String
](/docs/api/flow/graphql/the-graph/scalars/string.mdx)
#### [Batcher_filter.id_starts_with
](#)[String
](/docs/api/flow/graphql/the-graph/scalars/string.mdx)
#### [Batcher_filter.id_starts_with_nocase
](#)[String
](/docs/api/flow/graphql/the-graph/scalars/string.mdx)
#### [Batcher_filter.id_not_starts_with
](#)[String
](/docs/api/flow/graphql/the-graph/scalars/string.mdx)
#### [Batcher_filter.id_not_starts_with_nocase
](#)[String
](/docs/api/flow/graphql/the-graph/scalars/string.mdx)
#### [Batcher_filter.id_ends_with
](#)[String
](/docs/api/flow/graphql/the-graph/scalars/string.mdx)
#### [Batcher_filter.id_ends_with_nocase
](#)[String
](/docs/api/flow/graphql/the-graph/scalars/string.mdx)
#### [Batcher_filter.id_not_ends_with
](#)[String
](/docs/api/flow/graphql/the-graph/scalars/string.mdx)
#### [Batcher_filter.id_not_ends_with_nocase
](#)[String
](/docs/api/flow/graphql/the-graph/scalars/string.mdx)
#### [Batcher_filter.batchCounter
](#)[BigInt
](/docs/api/flow/graphql/the-graph/scalars/big-int.mdx)
#### [Batcher_filter.batchCounter_not
](#)[BigInt
](/docs/api/flow/graphql/the-graph/scalars/big-int.mdx)
#### [Batcher_filter.batchCounter_gt
](#)[BigInt
](/docs/api/flow/graphql/the-graph/scalars/big-int.mdx)
#### [Batcher_filter.batchCounter_lt
](#)[BigInt
](/docs/api/flow/graphql/the-graph/scalars/big-int.mdx)
#### [Batcher_filter.batchCounter_gte
](#)[BigInt
](/docs/api/flow/graphql/the-graph/scalars/big-int.mdx)
#### [Batcher_filter.batchCounter_lte
](#)[BigInt
](/docs/api/flow/graphql/the-graph/scalars/big-int.mdx)
#### [Batcher_filter.batchCounter_in
](#)[[BigInt!]
](/docs/api/flow/graphql/the-graph/scalars/big-int.mdx)
#### [Batcher_filter.batchCounter_not_in
](#)[[BigInt!]
](/docs/api/flow/graphql/the-graph/scalars/big-int.mdx)
#### [Batcher_filter.batches\_
](#)[Batch_filter
](/docs/api/flow/graphql/the-graph/inputs/batch-filter.mdx)
#### [Batcher_filter.\_change_block
](#)[BlockChangedFilter
](/docs/api/flow/graphql/the-graph/inputs/block-changed-filter.mdx)
Filter for the block changed event.
#### [Batcher_filter.and
](#)[[Batcher_filter]
](/docs/api/flow/graphql/the-graph/inputs/batcher-filter.mdx)
#### [Batcher_filter.or
](#)[[Batcher_filter]
](/docs/api/flow/graphql/the-graph/inputs/batcher-filter.mdx)
---
## BlockChangedFilter (2)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
No description
```graphql
input BlockChangedFilter {
number_gte: Int!
}
```
### Fields
#### [BlockChangedFilter.number_gte
](#)[Int!
](/docs/api/flow/graphql/the-graph/scalars/int.mdx)
---
## Block_height (2)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
No description
```graphql
input Block_height {
hash: Bytes
number: Int
number_gte: Int
}
```
### Fields
#### [Block_height.hash
](#)[Bytes
](/docs/api/flow/graphql/the-graph/scalars/bytes.mdx)
#### [Block_height.number
](#)[Int
](/docs/api/flow/graphql/the-graph/scalars/int.mdx)
#### [Block_height.number_gte
](#)[Int
](/docs/api/flow/graphql/the-graph/scalars/int.mdx)
---
## Stream_filter (2)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
No description
```graphql
input Stream_filter {
id: String
id_not: String
id_gt: String
id_lt: String
id_gte: String
id_lte: String
id_in: [String!]
id_not_in: [String!]
id_contains: String
id_contains_nocase: String
id_not_contains: String
id_not_contains_nocase: String
id_starts_with: String
id_starts_with_nocase: String
id_not_starts_with: String
id_not_starts_with_nocase: String
id_ends_with: String
id_ends_with_nocase: String
id_not_ends_with: String
id_not_ends_with_nocase: String
alias: String
alias_not: String
alias_gt: String
alias_lt: String
alias_gte: String
alias_lte: String
alias_in: [String!]
alias_not_in: [String!]
alias_contains: String
alias_contains_nocase: String
alias_not_contains: String
alias_not_contains_nocase: String
alias_starts_with: String
alias_starts_with_nocase: String
alias_not_starts_with: String
alias_not_starts_with_nocase: String
alias_ends_with: String
alias_ends_with_nocase: String
alias_not_ends_with: String
alias_not_ends_with_nocase: String
chainId: BigInt
chainId_not: BigInt
chainId_gt: BigInt
chainId_lt: BigInt
chainId_gte: BigInt
chainId_lte: BigInt
chainId_in: [BigInt!]
chainId_not_in: [BigInt!]
subgraphId: BigInt
subgraphId_not: BigInt
subgraphId_gt: BigInt
subgraphId_lt: BigInt
subgraphId_gte: BigInt
subgraphId_lte: BigInt
subgraphId_in: [BigInt!]
subgraphId_not_in: [BigInt!]
tokenId: BigInt
tokenId_not: BigInt
tokenId_gt: BigInt
tokenId_lt: BigInt
tokenId_gte: BigInt
tokenId_lte: BigInt
tokenId_in: [BigInt!]
tokenId_not_in: [BigInt!]
hash: Bytes
hash_not: Bytes
hash_gt: Bytes
hash_lt: Bytes
hash_gte: Bytes
hash_lte: Bytes
hash_in: [Bytes!]
hash_not_in: [Bytes!]
hash_contains: Bytes
hash_not_contains: Bytes
timestamp: BigInt
timestamp_not: BigInt
timestamp_gt: BigInt
timestamp_lt: BigInt
timestamp_gte: BigInt
timestamp_lte: BigInt
timestamp_in: [BigInt!]
timestamp_not_in: [BigInt!]
actions_: Action_filter
asset: String
asset_not: String
asset_gt: String
asset_lt: String
asset_gte: String
asset_lte: String
asset_in: [String!]
asset_not_in: [String!]
asset_contains: String
asset_contains_nocase: String
asset_not_contains: String
asset_not_contains_nocase: String
asset_starts_with: String
asset_starts_with_nocase: String
asset_not_starts_with: String
asset_not_starts_with_nocase: String
asset_ends_with: String
asset_ends_with_nocase: String
asset_not_ends_with: String
asset_not_ends_with_nocase: String
asset_: Asset_filter
assetDecimalsValue: BigInt
assetDecimalsValue_not: BigInt
assetDecimalsValue_gt: BigInt
assetDecimalsValue_lt: BigInt
assetDecimalsValue_gte: BigInt
assetDecimalsValue_lte: BigInt
assetDecimalsValue_in: [BigInt!]
assetDecimalsValue_not_in: [BigInt!]
batch: String
batch_not: String
batch_gt: String
batch_lt: String
batch_gte: String
batch_lte: String
batch_in: [String!]
batch_not_in: [String!]
batch_contains: String
batch_contains_nocase: String
batch_not_contains: String
batch_not_contains_nocase: String
batch_starts_with: String
batch_starts_with_nocase: String
batch_not_starts_with: String
batch_not_starts_with_nocase: String
batch_ends_with: String
batch_ends_with_nocase: String
batch_not_ends_with: String
batch_not_ends_with_nocase: String
batch_: Batch_filter
category: StreamCategory
category_not: StreamCategory
category_in: [StreamCategory!]
category_not_in: [StreamCategory!]
contract: Bytes
contract_not: Bytes
contract_gt: Bytes
contract_lt: Bytes
contract_gte: Bytes
contract_lte: Bytes
contract_in: [Bytes!]
contract_not_in: [Bytes!]
contract_contains: Bytes
contract_not_contains: Bytes
position: BigInt
position_not: BigInt
position_gt: BigInt
position_lt: BigInt
position_gte: BigInt
position_lte: BigInt
position_in: [BigInt!]
position_not_in: [BigInt!]
recipient: Bytes
recipient_not: Bytes
recipient_gt: Bytes
recipient_lt: Bytes
recipient_gte: Bytes
recipient_lte: Bytes
recipient_in: [Bytes!]
recipient_not_in: [Bytes!]
recipient_contains: Bytes
recipient_not_contains: Bytes
sender: Bytes
sender_not: Bytes
sender_gt: Bytes
sender_lt: Bytes
sender_gte: Bytes
sender_lte: Bytes
sender_in: [Bytes!]
sender_not_in: [Bytes!]
sender_contains: Bytes
sender_not_contains: Bytes
startTime: BigInt
startTime_not: BigInt
startTime_gt: BigInt
startTime_lt: BigInt
startTime_gte: BigInt
startTime_lte: BigInt
startTime_in: [BigInt!]
startTime_not_in: [BigInt!]
transferable: Boolean
transferable_not: Boolean
transferable_in: [Boolean!]
transferable_not_in: [Boolean!]
version: String
version_not: String
version_gt: String
version_lt: String
version_gte: String
version_lte: String
version_in: [String!]
version_not_in: [String!]
version_contains: String
version_contains_nocase: String
version_not_contains: String
version_not_contains_nocase: String
version_starts_with: String
version_starts_with_nocase: String
version_not_starts_with: String
version_not_starts_with_nocase: String
version_ends_with: String
version_ends_with_nocase: String
version_not_ends_with: String
version_not_ends_with_nocase: String
withdrawnAmount: BigInt
withdrawnAmount_not: BigInt
withdrawnAmount_gt: BigInt
withdrawnAmount_lt: BigInt
withdrawnAmount_gte: BigInt
withdrawnAmount_lte: BigInt
withdrawnAmount_in: [BigInt!]
withdrawnAmount_not_in: [BigInt!]
availableAmount: BigInt
availableAmount_not: BigInt
availableAmount_gt: BigInt
availableAmount_lt: BigInt
availableAmount_gte: BigInt
availableAmount_lte: BigInt
availableAmount_in: [BigInt!]
availableAmount_not_in: [BigInt!]
creator: Bytes
creator_not: Bytes
creator_gt: Bytes
creator_lt: Bytes
creator_gte: Bytes
creator_lte: Bytes
creator_in: [Bytes!]
creator_not_in: [Bytes!]
creator_contains: Bytes
creator_not_contains: Bytes
depletionTime: BigInt
depletionTime_not: BigInt
depletionTime_gt: BigInt
depletionTime_lt: BigInt
depletionTime_gte: BigInt
depletionTime_lte: BigInt
depletionTime_in: [BigInt!]
depletionTime_not_in: [BigInt!]
depositedAmount: BigInt
depositedAmount_not: BigInt
depositedAmount_gt: BigInt
depositedAmount_lt: BigInt
depositedAmount_gte: BigInt
depositedAmount_lte: BigInt
depositedAmount_in: [BigInt!]
depositedAmount_not_in: [BigInt!]
forgivenDebt: BigInt
forgivenDebt_not: BigInt
forgivenDebt_gt: BigInt
forgivenDebt_lt: BigInt
forgivenDebt_gte: BigInt
forgivenDebt_lte: BigInt
forgivenDebt_in: [BigInt!]
forgivenDebt_not_in: [BigInt!]
lastAdjustmentAction: String
lastAdjustmentAction_not: String
lastAdjustmentAction_gt: String
lastAdjustmentAction_lt: String
lastAdjustmentAction_gte: String
lastAdjustmentAction_lte: String
lastAdjustmentAction_in: [String!]
lastAdjustmentAction_not_in: [String!]
lastAdjustmentAction_contains: String
lastAdjustmentAction_contains_nocase: String
lastAdjustmentAction_not_contains: String
lastAdjustmentAction_not_contains_nocase: String
lastAdjustmentAction_starts_with: String
lastAdjustmentAction_starts_with_nocase: String
lastAdjustmentAction_not_starts_with: String
lastAdjustmentAction_not_starts_with_nocase: String
lastAdjustmentAction_ends_with: String
lastAdjustmentAction_ends_with_nocase: String
lastAdjustmentAction_not_ends_with: String
lastAdjustmentAction_not_ends_with_nocase: String
lastAdjustmentAction_: Action_filter
lastAdjustmentTimestamp: BigInt
lastAdjustmentTimestamp_not: BigInt
lastAdjustmentTimestamp_gt: BigInt
lastAdjustmentTimestamp_lt: BigInt
lastAdjustmentTimestamp_gte: BigInt
lastAdjustmentTimestamp_lte: BigInt
lastAdjustmentTimestamp_in: [BigInt!]
lastAdjustmentTimestamp_not_in: [BigInt!]
paused: Boolean
paused_not: Boolean
paused_in: [Boolean!]
paused_not_in: [Boolean!]
pausedAction: String
pausedAction_not: String
pausedAction_gt: String
pausedAction_lt: String
pausedAction_gte: String
pausedAction_lte: String
pausedAction_in: [String!]
pausedAction_not_in: [String!]
pausedAction_contains: String
pausedAction_contains_nocase: String
pausedAction_not_contains: String
pausedAction_not_contains_nocase: String
pausedAction_starts_with: String
pausedAction_starts_with_nocase: String
pausedAction_not_starts_with: String
pausedAction_not_starts_with_nocase: String
pausedAction_ends_with: String
pausedAction_ends_with_nocase: String
pausedAction_not_ends_with: String
pausedAction_not_ends_with_nocase: String
pausedAction_: Action_filter
pausedTime: BigInt
pausedTime_not: BigInt
pausedTime_gt: BigInt
pausedTime_lt: BigInt
pausedTime_gte: BigInt
pausedTime_lte: BigInt
pausedTime_in: [BigInt!]
pausedTime_not_in: [BigInt!]
ratePerSecond: BigInt
ratePerSecond_not: BigInt
ratePerSecond_gt: BigInt
ratePerSecond_lt: BigInt
ratePerSecond_gte: BigInt
ratePerSecond_lte: BigInt
ratePerSecond_in: [BigInt!]
ratePerSecond_not_in: [BigInt!]
refundedAmount: BigInt
refundedAmount_not: BigInt
refundedAmount_gt: BigInt
refundedAmount_lt: BigInt
refundedAmount_gte: BigInt
refundedAmount_lte: BigInt
refundedAmount_in: [BigInt!]
refundedAmount_not_in: [BigInt!]
snapshotAmount: BigInt
snapshotAmount_not: BigInt
snapshotAmount_gt: BigInt
snapshotAmount_lt: BigInt
snapshotAmount_gte: BigInt
snapshotAmount_lte: BigInt
snapshotAmount_in: [BigInt!]
snapshotAmount_not_in: [BigInt!]
voided: Boolean
voided_not: Boolean
voided_in: [Boolean!]
voided_not_in: [Boolean!]
voidedAction: String
voidedAction_not: String
voidedAction_gt: String
voidedAction_lt: String
voidedAction_gte: String
voidedAction_lte: String
voidedAction_in: [String!]
voidedAction_not_in: [String!]
voidedAction_contains: String
voidedAction_contains_nocase: String
voidedAction_not_contains: String
voidedAction_not_contains_nocase: String
voidedAction_starts_with: String
voidedAction_starts_with_nocase: String
voidedAction_not_starts_with: String
voidedAction_not_starts_with_nocase: String
voidedAction_ends_with: String
voidedAction_ends_with_nocase: String
voidedAction_not_ends_with: String
voidedAction_not_ends_with_nocase: String
voidedAction_: Action_filter
voidedTime: BigInt
voidedTime_not: BigInt
voidedTime_gt: BigInt
voidedTime_lt: BigInt
voidedTime_gte: BigInt
voidedTime_lte: BigInt
voidedTime_in: [BigInt!]
voidedTime_not_in: [BigInt!]
_change_block: BlockChangedFilter
and: [Stream_filter]
or: [Stream_filter]
}
```
### Fields
#### [Stream_filter.id
](#)[String
](/docs/api/flow/graphql/the-graph/scalars/string.mdx)
#### [Stream_filter.id_not
](#)[String
](/docs/api/flow/graphql/the-graph/scalars/string.mdx)
#### [Stream_filter.id_gt
](#)[String
](/docs/api/flow/graphql/the-graph/scalars/string.mdx)
#### [Stream_filter.id_lt
](#)[String
](/docs/api/flow/graphql/the-graph/scalars/string.mdx)
#### [Stream_filter.id_gte
](#)[String
](/docs/api/flow/graphql/the-graph/scalars/string.mdx)
#### [Stream_filter.id_lte
](#)[String
](/docs/api/flow/graphql/the-graph/scalars/string.mdx)
#### [Stream_filter.id_in
](#)[[String!]
](/docs/api/flow/graphql/the-graph/scalars/string.mdx)
#### [Stream_filter.id_not_in
](#)[[String!]
](/docs/api/flow/graphql/the-graph/scalars/string.mdx)
#### [Stream_filter.id_contains
](#)[String
](/docs/api/flow/graphql/the-graph/scalars/string.mdx)
#### [Stream_filter.id_contains_nocase
](#)[String
](/docs/api/flow/graphql/the-graph/scalars/string.mdx)
#### [Stream_filter.id_not_contains
](#)[String
](/docs/api/flow/graphql/the-graph/scalars/string.mdx)
#### [Stream_filter.id_not_contains_nocase
](#)[String
](/docs/api/flow/graphql/the-graph/scalars/string.mdx)
#### [Stream_filter.id_starts_with
](#)[String
](/docs/api/flow/graphql/the-graph/scalars/string.mdx)
#### [Stream_filter.id_starts_with_nocase
](#)[String
](/docs/api/flow/graphql/the-graph/scalars/string.mdx)
#### [Stream_filter.id_not_starts_with
](#)[String
](/docs/api/flow/graphql/the-graph/scalars/string.mdx)
#### [Stream_filter.id_not_starts_with_nocase
](#)[String
](/docs/api/flow/graphql/the-graph/scalars/string.mdx)
#### [Stream_filter.id_ends_with
](#)[String
](/docs/api/flow/graphql/the-graph/scalars/string.mdx)
#### [Stream_filter.id_ends_with_nocase
](#)[String
](/docs/api/flow/graphql/the-graph/scalars/string.mdx)
#### [Stream_filter.id_not_ends_with
](#)[String
](/docs/api/flow/graphql/the-graph/scalars/string.mdx)
#### [Stream_filter.id_not_ends_with_nocase
](#)[String
](/docs/api/flow/graphql/the-graph/scalars/string.mdx)
#### [Stream_filter.alias
](#)[String
](/docs/api/flow/graphql/the-graph/scalars/string.mdx)
#### [Stream_filter.alias_not
](#)[String
](/docs/api/flow/graphql/the-graph/scalars/string.mdx)
#### [Stream_filter.alias_gt
](#)[String
](/docs/api/flow/graphql/the-graph/scalars/string.mdx)
#### [Stream_filter.alias_lt
](#)[String
](/docs/api/flow/graphql/the-graph/scalars/string.mdx)
#### [Stream_filter.alias_gte
](#)[String
](/docs/api/flow/graphql/the-graph/scalars/string.mdx)
#### [Stream_filter.alias_lte
](#)[String
](/docs/api/flow/graphql/the-graph/scalars/string.mdx)
#### [Stream_filter.alias_in
](#)[[String!]
](/docs/api/flow/graphql/the-graph/scalars/string.mdx)
#### [Stream_filter.alias_not_in
](#)[[String!]
](/docs/api/flow/graphql/the-graph/scalars/string.mdx)
#### [Stream_filter.alias_contains
](#)[String
](/docs/api/flow/graphql/the-graph/scalars/string.mdx)
#### [Stream_filter.alias_contains_nocase
](#)[String
](/docs/api/flow/graphql/the-graph/scalars/string.mdx)
#### [Stream_filter.alias_not_contains
](#)[String
](/docs/api/flow/graphql/the-graph/scalars/string.mdx)
#### [Stream_filter.alias_not_contains_nocase
](#)[String
](/docs/api/flow/graphql/the-graph/scalars/string.mdx)
#### [Stream_filter.alias_starts_with
](#)[String
](/docs/api/flow/graphql/the-graph/scalars/string.mdx)
#### [Stream_filter.alias_starts_with_nocase
](#)[String
](/docs/api/flow/graphql/the-graph/scalars/string.mdx)
#### [Stream_filter.alias_not_starts_with
](#)[String
](/docs/api/flow/graphql/the-graph/scalars/string.mdx)
#### [Stream_filter.alias_not_starts_with_nocase
](#)[String
](/docs/api/flow/graphql/the-graph/scalars/string.mdx)
#### [Stream_filter.alias_ends_with
](#)[String
](/docs/api/flow/graphql/the-graph/scalars/string.mdx)
#### [Stream_filter.alias_ends_with_nocase
](#)[String
](/docs/api/flow/graphql/the-graph/scalars/string.mdx)
#### [Stream_filter.alias_not_ends_with
](#)[String
](/docs/api/flow/graphql/the-graph/scalars/string.mdx)
#### [Stream_filter.alias_not_ends_with_nocase
](#)[String
](/docs/api/flow/graphql/the-graph/scalars/string.mdx)
#### [Stream_filter.chainId
](#)[BigInt
](/docs/api/flow/graphql/the-graph/scalars/big-int.mdx)
#### [Stream_filter.chainId_not
](#)[BigInt
](/docs/api/flow/graphql/the-graph/scalars/big-int.mdx)
#### [Stream_filter.chainId_gt
](#)[BigInt
](/docs/api/flow/graphql/the-graph/scalars/big-int.mdx)
#### [Stream_filter.chainId_lt
](#)[BigInt
](/docs/api/flow/graphql/the-graph/scalars/big-int.mdx)
#### [Stream_filter.chainId_gte
](#)[BigInt
](/docs/api/flow/graphql/the-graph/scalars/big-int.mdx)
#### [Stream_filter.chainId_lte
](#)[BigInt
](/docs/api/flow/graphql/the-graph/scalars/big-int.mdx)
#### [Stream_filter.chainId_in
](#)[[BigInt!]
](/docs/api/flow/graphql/the-graph/scalars/big-int.mdx)
#### [Stream_filter.chainId_not_in
](#)[[BigInt!]
](/docs/api/flow/graphql/the-graph/scalars/big-int.mdx)
#### [Stream_filter.subgraphId
](#)[BigInt
](/docs/api/flow/graphql/the-graph/scalars/big-int.mdx)
#### [Stream_filter.subgraphId_not
](#)[BigInt
](/docs/api/flow/graphql/the-graph/scalars/big-int.mdx)
#### [Stream_filter.subgraphId_gt
](#)[BigInt
](/docs/api/flow/graphql/the-graph/scalars/big-int.mdx)
#### [Stream_filter.subgraphId_lt
](#)[BigInt
](/docs/api/flow/graphql/the-graph/scalars/big-int.mdx)
#### [Stream_filter.subgraphId_gte
](#)[BigInt
](/docs/api/flow/graphql/the-graph/scalars/big-int.mdx)
#### [Stream_filter.subgraphId_lte
](#)[BigInt
](/docs/api/flow/graphql/the-graph/scalars/big-int.mdx)
#### [Stream_filter.subgraphId_in
](#)[[BigInt!]
](/docs/api/flow/graphql/the-graph/scalars/big-int.mdx)
#### [Stream_filter.subgraphId_not_in
](#)[[BigInt!]
](/docs/api/flow/graphql/the-graph/scalars/big-int.mdx)
#### [Stream_filter.tokenId
](#)[BigInt
](/docs/api/flow/graphql/the-graph/scalars/big-int.mdx)
#### [Stream_filter.tokenId_not
](#)[BigInt
](/docs/api/flow/graphql/the-graph/scalars/big-int.mdx)
#### [Stream_filter.tokenId_gt
](#)[BigInt
](/docs/api/flow/graphql/the-graph/scalars/big-int.mdx)
#### [Stream_filter.tokenId_lt
](#)[BigInt
](/docs/api/flow/graphql/the-graph/scalars/big-int.mdx)
#### [Stream_filter.tokenId_gte
](#)[BigInt
](/docs/api/flow/graphql/the-graph/scalars/big-int.mdx)
#### [Stream_filter.tokenId_lte
](#)[BigInt
](/docs/api/flow/graphql/the-graph/scalars/big-int.mdx)
#### [Stream_filter.tokenId_in
](#)[[BigInt!]
](/docs/api/flow/graphql/the-graph/scalars/big-int.mdx)
#### [Stream_filter.tokenId_not_in
](#)[[BigInt!]
](/docs/api/flow/graphql/the-graph/scalars/big-int.mdx)
#### [Stream_filter.hash
](#)[Bytes
](/docs/api/flow/graphql/the-graph/scalars/bytes.mdx)
#### [Stream_filter.hash_not
](#)[Bytes
](/docs/api/flow/graphql/the-graph/scalars/bytes.mdx)
#### [Stream_filter.hash_gt
](#)[Bytes
](/docs/api/flow/graphql/the-graph/scalars/bytes.mdx)
#### [Stream_filter.hash_lt
](#)[Bytes
](/docs/api/flow/graphql/the-graph/scalars/bytes.mdx)
#### [Stream_filter.hash_gte
](#)[Bytes
](/docs/api/flow/graphql/the-graph/scalars/bytes.mdx)
#### [Stream_filter.hash_lte
](#)[Bytes
](/docs/api/flow/graphql/the-graph/scalars/bytes.mdx)
#### [Stream_filter.hash_in
](#)[[Bytes!]
](/docs/api/flow/graphql/the-graph/scalars/bytes.mdx)
#### [Stream_filter.hash_not_in
](#)[[Bytes!]
](/docs/api/flow/graphql/the-graph/scalars/bytes.mdx)
#### [Stream_filter.hash_contains
](#)[Bytes
](/docs/api/flow/graphql/the-graph/scalars/bytes.mdx)
#### [Stream_filter.hash_not_contains
](#)[Bytes
](/docs/api/flow/graphql/the-graph/scalars/bytes.mdx)
#### [Stream_filter.timestamp
](#)[BigInt
](/docs/api/flow/graphql/the-graph/scalars/big-int.mdx)
#### [Stream_filter.timestamp_not
](#)[BigInt
](/docs/api/flow/graphql/the-graph/scalars/big-int.mdx)
#### [Stream_filter.timestamp_gt
](#)[BigInt
](/docs/api/flow/graphql/the-graph/scalars/big-int.mdx)
#### [Stream_filter.timestamp_lt
](#)[BigInt
](/docs/api/flow/graphql/the-graph/scalars/big-int.mdx)
#### [Stream_filter.timestamp_gte
](#)[BigInt
](/docs/api/flow/graphql/the-graph/scalars/big-int.mdx)
#### [Stream_filter.timestamp_lte
](#)[BigInt
](/docs/api/flow/graphql/the-graph/scalars/big-int.mdx)
#### [Stream_filter.timestamp_in
](#)[[BigInt!]
](/docs/api/flow/graphql/the-graph/scalars/big-int.mdx)
#### [Stream_filter.timestamp_not_in
](#)[[BigInt!]
](/docs/api/flow/graphql/the-graph/scalars/big-int.mdx)
#### [Stream_filter.actions\_
](#)[Action_filter
](/docs/api/flow/graphql/the-graph/inputs/action-filter.mdx)
#### [Stream_filter.asset
](#)[String
](/docs/api/flow/graphql/the-graph/scalars/string.mdx)
#### [Stream_filter.asset_not
](#)[String
](/docs/api/flow/graphql/the-graph/scalars/string.mdx)
#### [Stream_filter.asset_gt
](#)[String
](/docs/api/flow/graphql/the-graph/scalars/string.mdx)
#### [Stream_filter.asset_lt
](#)[String
](/docs/api/flow/graphql/the-graph/scalars/string.mdx)
#### [Stream_filter.asset_gte
](#)[String
](/docs/api/flow/graphql/the-graph/scalars/string.mdx)
#### [Stream_filter.asset_lte
](#)[String
](/docs/api/flow/graphql/the-graph/scalars/string.mdx)
#### [Stream_filter.asset_in
](#)[[String!]
](/docs/api/flow/graphql/the-graph/scalars/string.mdx)
#### [Stream_filter.asset_not_in
](#)[[String!]
](/docs/api/flow/graphql/the-graph/scalars/string.mdx)
#### [Stream_filter.asset_contains
](#)[String
](/docs/api/flow/graphql/the-graph/scalars/string.mdx)
#### [Stream_filter.asset_contains_nocase
](#)[String
](/docs/api/flow/graphql/the-graph/scalars/string.mdx)
#### [Stream_filter.asset_not_contains
](#)[String
](/docs/api/flow/graphql/the-graph/scalars/string.mdx)
#### [Stream_filter.asset_not_contains_nocase
](#)[String
](/docs/api/flow/graphql/the-graph/scalars/string.mdx)
#### [Stream_filter.asset_starts_with
](#)[String
](/docs/api/flow/graphql/the-graph/scalars/string.mdx)
#### [Stream_filter.asset_starts_with_nocase
](#)[String
](/docs/api/flow/graphql/the-graph/scalars/string.mdx)
#### [Stream_filter.asset_not_starts_with
](#)[String
](/docs/api/flow/graphql/the-graph/scalars/string.mdx)
#### [Stream_filter.asset_not_starts_with_nocase
](#)[String
](/docs/api/flow/graphql/the-graph/scalars/string.mdx)
#### [Stream_filter.asset_ends_with
](#)[String
](/docs/api/flow/graphql/the-graph/scalars/string.mdx)
#### [Stream_filter.asset_ends_with_nocase
](#)[String
](/docs/api/flow/graphql/the-graph/scalars/string.mdx)
#### [Stream_filter.asset_not_ends_with
](#)[String
](/docs/api/flow/graphql/the-graph/scalars/string.mdx)
#### [Stream_filter.asset_not_ends_with_nocase
](#)[String
](/docs/api/flow/graphql/the-graph/scalars/string.mdx)
#### [Stream_filter.asset\_
](#)[Asset_filter
](/docs/api/flow/graphql/the-graph/inputs/asset-filter.mdx)
#### [Stream_filter.assetDecimalsValue
](#)[BigInt
](/docs/api/flow/graphql/the-graph/scalars/big-int.mdx)
#### [Stream_filter.assetDecimalsValue_not
](#)[BigInt
](/docs/api/flow/graphql/the-graph/scalars/big-int.mdx)
#### [Stream_filter.assetDecimalsValue_gt
](#)[BigInt
](/docs/api/flow/graphql/the-graph/scalars/big-int.mdx)
#### [Stream_filter.assetDecimalsValue_lt
](#)[BigInt
](/docs/api/flow/graphql/the-graph/scalars/big-int.mdx)
#### [Stream_filter.assetDecimalsValue_gte
](#)[BigInt
](/docs/api/flow/graphql/the-graph/scalars/big-int.mdx)
#### [Stream_filter.assetDecimalsValue_lte
](#)[BigInt
](/docs/api/flow/graphql/the-graph/scalars/big-int.mdx)
#### [Stream_filter.assetDecimalsValue_in
](#)[[BigInt!]
](/docs/api/flow/graphql/the-graph/scalars/big-int.mdx)
#### [Stream_filter.assetDecimalsValue_not_in
](#)[[BigInt!]
](/docs/api/flow/graphql/the-graph/scalars/big-int.mdx)
#### [Stream_filter.batch
](#)[String
](/docs/api/flow/graphql/the-graph/scalars/string.mdx)
#### [Stream_filter.batch_not
](#)[String
](/docs/api/flow/graphql/the-graph/scalars/string.mdx)
#### [Stream_filter.batch_gt
](#)[String
](/docs/api/flow/graphql/the-graph/scalars/string.mdx)
#### [Stream_filter.batch_lt
](#)[String
](/docs/api/flow/graphql/the-graph/scalars/string.mdx)
#### [Stream_filter.batch_gte
](#)[String
](/docs/api/flow/graphql/the-graph/scalars/string.mdx)
#### [Stream_filter.batch_lte
](#)[String
](/docs/api/flow/graphql/the-graph/scalars/string.mdx)
#### [Stream_filter.batch_in
](#)[[String!]
](/docs/api/flow/graphql/the-graph/scalars/string.mdx)
#### [Stream_filter.batch_not_in
](#)[[String!]
](/docs/api/flow/graphql/the-graph/scalars/string.mdx)
#### [Stream_filter.batch_contains
](#)[String
](/docs/api/flow/graphql/the-graph/scalars/string.mdx)
#### [Stream_filter.batch_contains_nocase
](#)[String
](/docs/api/flow/graphql/the-graph/scalars/string.mdx)
#### [Stream_filter.batch_not_contains
](#)[String
](/docs/api/flow/graphql/the-graph/scalars/string.mdx)
#### [Stream_filter.batch_not_contains_nocase
](#)[String
](/docs/api/flow/graphql/the-graph/scalars/string.mdx)
#### [Stream_filter.batch_starts_with
](#)[String
](/docs/api/flow/graphql/the-graph/scalars/string.mdx)
#### [Stream_filter.batch_starts_with_nocase
](#)[String
](/docs/api/flow/graphql/the-graph/scalars/string.mdx)
#### [Stream_filter.batch_not_starts_with
](#)[String
](/docs/api/flow/graphql/the-graph/scalars/string.mdx)
#### [Stream_filter.batch_not_starts_with_nocase
](#)[String
](/docs/api/flow/graphql/the-graph/scalars/string.mdx)
#### [Stream_filter.batch_ends_with
](#)[String
](/docs/api/flow/graphql/the-graph/scalars/string.mdx)
#### [Stream_filter.batch_ends_with_nocase
](#)[String
](/docs/api/flow/graphql/the-graph/scalars/string.mdx)
#### [Stream_filter.batch_not_ends_with
](#)[String
](/docs/api/flow/graphql/the-graph/scalars/string.mdx)
#### [Stream_filter.batch_not_ends_with_nocase
](#)[String
](/docs/api/flow/graphql/the-graph/scalars/string.mdx)
#### [Stream_filter.batch\_
](#)[Batch_filter
](/docs/api/flow/graphql/the-graph/inputs/batch-filter.mdx)
#### [Stream_filter.category
](#)[StreamCategory
](/docs/api/flow/graphql/the-graph/enums/stream-category.mdx)
#### [Stream_filter.category_not
](#)[StreamCategory
](/docs/api/flow/graphql/the-graph/enums/stream-category.mdx)
#### [Stream_filter.category_in
](#)[[StreamCategory!]
](/docs/api/flow/graphql/the-graph/enums/stream-category.mdx)
#### [Stream_filter.category_not_in
](#)[[StreamCategory!]
](/docs/api/flow/graphql/the-graph/enums/stream-category.mdx)
#### [Stream_filter.contract
](#)[Bytes
](/docs/api/flow/graphql/the-graph/scalars/bytes.mdx)
#### [Stream_filter.contract_not
](#)[Bytes
](/docs/api/flow/graphql/the-graph/scalars/bytes.mdx)
#### [Stream_filter.contract_gt
](#)[Bytes
](/docs/api/flow/graphql/the-graph/scalars/bytes.mdx)
#### [Stream_filter.contract_lt
](#)[Bytes
](/docs/api/flow/graphql/the-graph/scalars/bytes.mdx)
#### [Stream_filter.contract_gte
](#)[Bytes
](/docs/api/flow/graphql/the-graph/scalars/bytes.mdx)
#### [Stream_filter.contract_lte
](#)[Bytes
](/docs/api/flow/graphql/the-graph/scalars/bytes.mdx)
#### [Stream_filter.contract_in
](#)[[Bytes!]
](/docs/api/flow/graphql/the-graph/scalars/bytes.mdx)
#### [Stream_filter.contract_not_in
](#)[[Bytes!]
](/docs/api/flow/graphql/the-graph/scalars/bytes.mdx)
#### [Stream_filter.contract_contains
](#)[Bytes
](/docs/api/flow/graphql/the-graph/scalars/bytes.mdx)
#### [Stream_filter.contract_not_contains
](#)[Bytes
](/docs/api/flow/graphql/the-graph/scalars/bytes.mdx)
#### [Stream_filter.position
](#)[BigInt
](/docs/api/flow/graphql/the-graph/scalars/big-int.mdx)
#### [Stream_filter.position_not
](#)[BigInt
](/docs/api/flow/graphql/the-graph/scalars/big-int.mdx)
#### [Stream_filter.position_gt
](#)[BigInt
](/docs/api/flow/graphql/the-graph/scalars/big-int.mdx)
#### [Stream_filter.position_lt
](#)[BigInt
](/docs/api/flow/graphql/the-graph/scalars/big-int.mdx)
#### [Stream_filter.position_gte
](#)[BigInt
](/docs/api/flow/graphql/the-graph/scalars/big-int.mdx)
#### [Stream_filter.position_lte
](#)[BigInt
](/docs/api/flow/graphql/the-graph/scalars/big-int.mdx)
#### [Stream_filter.position_in
](#)[[BigInt!]
](/docs/api/flow/graphql/the-graph/scalars/big-int.mdx)
#### [Stream_filter.position_not_in
](#)[[BigInt!]
](/docs/api/flow/graphql/the-graph/scalars/big-int.mdx)
#### [Stream_filter.recipient
](#)[Bytes
](/docs/api/flow/graphql/the-graph/scalars/bytes.mdx)
#### [Stream_filter.recipient_not
](#)[Bytes
](/docs/api/flow/graphql/the-graph/scalars/bytes.mdx)
#### [Stream_filter.recipient_gt
](#)[Bytes
](/docs/api/flow/graphql/the-graph/scalars/bytes.mdx)
#### [Stream_filter.recipient_lt
](#)[Bytes
](/docs/api/flow/graphql/the-graph/scalars/bytes.mdx)
#### [Stream_filter.recipient_gte
](#)[Bytes
](/docs/api/flow/graphql/the-graph/scalars/bytes.mdx)
#### [Stream_filter.recipient_lte
](#)[Bytes
](/docs/api/flow/graphql/the-graph/scalars/bytes.mdx)
#### [Stream_filter.recipient_in
](#)[[Bytes!]
](/docs/api/flow/graphql/the-graph/scalars/bytes.mdx)
#### [Stream_filter.recipient_not_in
](#)[[Bytes!]
](/docs/api/flow/graphql/the-graph/scalars/bytes.mdx)
#### [Stream_filter.recipient_contains
](#)[Bytes
](/docs/api/flow/graphql/the-graph/scalars/bytes.mdx)
#### [Stream_filter.recipient_not_contains
](#)[Bytes
](/docs/api/flow/graphql/the-graph/scalars/bytes.mdx)
#### [Stream_filter.sender
](#)[Bytes
](/docs/api/flow/graphql/the-graph/scalars/bytes.mdx)
#### [Stream_filter.sender_not
](#)[Bytes
](/docs/api/flow/graphql/the-graph/scalars/bytes.mdx)
#### [Stream_filter.sender_gt
](#)[Bytes
](/docs/api/flow/graphql/the-graph/scalars/bytes.mdx)
#### [Stream_filter.sender_lt
](#)[Bytes
](/docs/api/flow/graphql/the-graph/scalars/bytes.mdx)
#### [Stream_filter.sender_gte
](#)[Bytes
](/docs/api/flow/graphql/the-graph/scalars/bytes.mdx)
#### [Stream_filter.sender_lte
](#)[Bytes
](/docs/api/flow/graphql/the-graph/scalars/bytes.mdx)
#### [Stream_filter.sender_in
](#)[[Bytes!]
](/docs/api/flow/graphql/the-graph/scalars/bytes.mdx)
#### [Stream_filter.sender_not_in
](#)[[Bytes!]
](/docs/api/flow/graphql/the-graph/scalars/bytes.mdx)
#### [Stream_filter.sender_contains
](#)[Bytes
](/docs/api/flow/graphql/the-graph/scalars/bytes.mdx)
#### [Stream_filter.sender_not_contains
](#)[Bytes
](/docs/api/flow/graphql/the-graph/scalars/bytes.mdx)
#### [Stream_filter.startTime
](#)[BigInt
](/docs/api/flow/graphql/the-graph/scalars/big-int.mdx)
#### [Stream_filter.startTime_not
](#)[BigInt
](/docs/api/flow/graphql/the-graph/scalars/big-int.mdx)
#### [Stream_filter.startTime_gt
](#)[BigInt
](/docs/api/flow/graphql/the-graph/scalars/big-int.mdx)
#### [Stream_filter.startTime_lt
](#)[BigInt
](/docs/api/flow/graphql/the-graph/scalars/big-int.mdx)
#### [Stream_filter.startTime_gte
](#)[BigInt
](/docs/api/flow/graphql/the-graph/scalars/big-int.mdx)
#### [Stream_filter.startTime_lte
](#)[BigInt
](/docs/api/flow/graphql/the-graph/scalars/big-int.mdx)
#### [Stream_filter.startTime_in
](#)[[BigInt!]
](/docs/api/flow/graphql/the-graph/scalars/big-int.mdx)
#### [Stream_filter.startTime_not_in
](#)[[BigInt!]
](/docs/api/flow/graphql/the-graph/scalars/big-int.mdx)
#### [Stream_filter.transferable
](#)[Boolean
](/docs/api/flow/graphql/the-graph/scalars/boolean.mdx)
#### [Stream_filter.transferable_not
](#)[Boolean
](/docs/api/flow/graphql/the-graph/scalars/boolean.mdx)
#### [Stream_filter.transferable_in
](#)[[Boolean!]
](/docs/api/flow/graphql/the-graph/scalars/boolean.mdx)
#### [Stream_filter.transferable_not_in
](#)[[Boolean!]
](/docs/api/flow/graphql/the-graph/scalars/boolean.mdx)
#### [Stream_filter.version
](#)[String
](/docs/api/flow/graphql/the-graph/scalars/string.mdx)
#### [Stream_filter.version_not
](#)[String
](/docs/api/flow/graphql/the-graph/scalars/string.mdx)
#### [Stream_filter.version_gt
](#)[String
](/docs/api/flow/graphql/the-graph/scalars/string.mdx)
#### [Stream_filter.version_lt
](#)[String
](/docs/api/flow/graphql/the-graph/scalars/string.mdx)
#### [Stream_filter.version_gte
](#)[String
](/docs/api/flow/graphql/the-graph/scalars/string.mdx)
#### [Stream_filter.version_lte
](#)[String
](/docs/api/flow/graphql/the-graph/scalars/string.mdx)
#### [Stream_filter.version_in
](#)[[String!]
](/docs/api/flow/graphql/the-graph/scalars/string.mdx)
#### [Stream_filter.version_not_in
](#)[[String!]
](/docs/api/flow/graphql/the-graph/scalars/string.mdx)
#### [Stream_filter.version_contains
](#)[String
](/docs/api/flow/graphql/the-graph/scalars/string.mdx)
#### [Stream_filter.version_contains_nocase
](#)[String
](/docs/api/flow/graphql/the-graph/scalars/string.mdx)
#### [Stream_filter.version_not_contains
](#)[String
](/docs/api/flow/graphql/the-graph/scalars/string.mdx)
#### [Stream_filter.version_not_contains_nocase
](#)[String
](/docs/api/flow/graphql/the-graph/scalars/string.mdx)
#### [Stream_filter.version_starts_with
](#)[String
](/docs/api/flow/graphql/the-graph/scalars/string.mdx)
#### [Stream_filter.version_starts_with_nocase
](#)[String
](/docs/api/flow/graphql/the-graph/scalars/string.mdx)
#### [Stream_filter.version_not_starts_with
](#)[String
](/docs/api/flow/graphql/the-graph/scalars/string.mdx)
#### [Stream_filter.version_not_starts_with_nocase
](#)[String
](/docs/api/flow/graphql/the-graph/scalars/string.mdx)
#### [Stream_filter.version_ends_with
](#)[String
](/docs/api/flow/graphql/the-graph/scalars/string.mdx)
#### [Stream_filter.version_ends_with_nocase
](#)[String
](/docs/api/flow/graphql/the-graph/scalars/string.mdx)
#### [Stream_filter.version_not_ends_with
](#)[String
](/docs/api/flow/graphql/the-graph/scalars/string.mdx)
#### [Stream_filter.version_not_ends_with_nocase
](#)[String
](/docs/api/flow/graphql/the-graph/scalars/string.mdx)
#### [Stream_filter.withdrawnAmount
](#)[BigInt
](/docs/api/flow/graphql/the-graph/scalars/big-int.mdx)
#### [Stream_filter.withdrawnAmount_not
](#)[BigInt
](/docs/api/flow/graphql/the-graph/scalars/big-int.mdx)
#### [Stream_filter.withdrawnAmount_gt
](#)[BigInt
](/docs/api/flow/graphql/the-graph/scalars/big-int.mdx)
#### [Stream_filter.withdrawnAmount_lt
](#)[BigInt
](/docs/api/flow/graphql/the-graph/scalars/big-int.mdx)
#### [Stream_filter.withdrawnAmount_gte
](#)[BigInt
](/docs/api/flow/graphql/the-graph/scalars/big-int.mdx)
#### [Stream_filter.withdrawnAmount_lte
](#)[BigInt
](/docs/api/flow/graphql/the-graph/scalars/big-int.mdx)
#### [Stream_filter.withdrawnAmount_in
](#)[[BigInt!]
](/docs/api/flow/graphql/the-graph/scalars/big-int.mdx)
#### [Stream_filter.withdrawnAmount_not_in
](#)[[BigInt!]
](/docs/api/flow/graphql/the-graph/scalars/big-int.mdx)
#### [Stream_filter.availableAmount
](#)[BigInt
](/docs/api/flow/graphql/the-graph/scalars/big-int.mdx)
#### [Stream_filter.availableAmount_not
](#)[BigInt
](/docs/api/flow/graphql/the-graph/scalars/big-int.mdx)
#### [Stream_filter.availableAmount_gt
](#)[BigInt
](/docs/api/flow/graphql/the-graph/scalars/big-int.mdx)
#### [Stream_filter.availableAmount_lt
](#)[BigInt
](/docs/api/flow/graphql/the-graph/scalars/big-int.mdx)
#### [Stream_filter.availableAmount_gte
](#)[BigInt
](/docs/api/flow/graphql/the-graph/scalars/big-int.mdx)
#### [Stream_filter.availableAmount_lte
](#)[BigInt
](/docs/api/flow/graphql/the-graph/scalars/big-int.mdx)
#### [Stream_filter.availableAmount_in
](#)[[BigInt!]
](/docs/api/flow/graphql/the-graph/scalars/big-int.mdx)
#### [Stream_filter.availableAmount_not_in
](#)[[BigInt!]
](/docs/api/flow/graphql/the-graph/scalars/big-int.mdx)
#### [Stream_filter.creator
](#)[Bytes
](/docs/api/flow/graphql/the-graph/scalars/bytes.mdx)
#### [Stream_filter.creator_not
](#)[Bytes
](/docs/api/flow/graphql/the-graph/scalars/bytes.mdx)
#### [Stream_filter.creator_gt
](#)[Bytes
](/docs/api/flow/graphql/the-graph/scalars/bytes.mdx)
#### [Stream_filter.creator_lt
](#)[Bytes
](/docs/api/flow/graphql/the-graph/scalars/bytes.mdx)
#### [Stream_filter.creator_gte
](#)[Bytes
](/docs/api/flow/graphql/the-graph/scalars/bytes.mdx)
#### [Stream_filter.creator_lte
](#)[Bytes
](/docs/api/flow/graphql/the-graph/scalars/bytes.mdx)
#### [Stream_filter.creator_in
](#)[[Bytes!]
](/docs/api/flow/graphql/the-graph/scalars/bytes.mdx)
#### [Stream_filter.creator_not_in
](#)[[Bytes!]
](/docs/api/flow/graphql/the-graph/scalars/bytes.mdx)
#### [Stream_filter.creator_contains
](#)[Bytes
](/docs/api/flow/graphql/the-graph/scalars/bytes.mdx)
#### [Stream_filter.creator_not_contains
](#)[Bytes
](/docs/api/flow/graphql/the-graph/scalars/bytes.mdx)
#### [Stream_filter.depletionTime
](#)[BigInt
](/docs/api/flow/graphql/the-graph/scalars/big-int.mdx)
#### [Stream_filter.depletionTime_not
](#)[BigInt
](/docs/api/flow/graphql/the-graph/scalars/big-int.mdx)
#### [Stream_filter.depletionTime_gt
](#)[BigInt
](/docs/api/flow/graphql/the-graph/scalars/big-int.mdx)
#### [Stream_filter.depletionTime_lt
](#)[BigInt
](/docs/api/flow/graphql/the-graph/scalars/big-int.mdx)
#### [Stream_filter.depletionTime_gte
](#)[BigInt
](/docs/api/flow/graphql/the-graph/scalars/big-int.mdx)
#### [Stream_filter.depletionTime_lte
](#)[BigInt
](/docs/api/flow/graphql/the-graph/scalars/big-int.mdx)
#### [Stream_filter.depletionTime_in
](#)[[BigInt!]
](/docs/api/flow/graphql/the-graph/scalars/big-int.mdx)
#### [Stream_filter.depletionTime_not_in
](#)[[BigInt!]
](/docs/api/flow/graphql/the-graph/scalars/big-int.mdx)
#### [Stream_filter.depositedAmount
](#)[BigInt
](/docs/api/flow/graphql/the-graph/scalars/big-int.mdx)
#### [Stream_filter.depositedAmount_not
](#)[BigInt
](/docs/api/flow/graphql/the-graph/scalars/big-int.mdx)
#### [Stream_filter.depositedAmount_gt
](#)[BigInt
](/docs/api/flow/graphql/the-graph/scalars/big-int.mdx)
#### [Stream_filter.depositedAmount_lt
](#)[BigInt
](/docs/api/flow/graphql/the-graph/scalars/big-int.mdx)
#### [Stream_filter.depositedAmount_gte
](#)[BigInt
](/docs/api/flow/graphql/the-graph/scalars/big-int.mdx)
#### [Stream_filter.depositedAmount_lte
](#)[BigInt
](/docs/api/flow/graphql/the-graph/scalars/big-int.mdx)
#### [Stream_filter.depositedAmount_in
](#)[[BigInt!]
](/docs/api/flow/graphql/the-graph/scalars/big-int.mdx)
#### [Stream_filter.depositedAmount_not_in
](#)[[BigInt!]
](/docs/api/flow/graphql/the-graph/scalars/big-int.mdx)
#### [Stream_filter.forgivenDebt
](#)[BigInt
](/docs/api/flow/graphql/the-graph/scalars/big-int.mdx)
#### [Stream_filter.forgivenDebt_not
](#)[BigInt
](/docs/api/flow/graphql/the-graph/scalars/big-int.mdx)
#### [Stream_filter.forgivenDebt_gt
](#)[BigInt
](/docs/api/flow/graphql/the-graph/scalars/big-int.mdx)
#### [Stream_filter.forgivenDebt_lt
](#)[BigInt
](/docs/api/flow/graphql/the-graph/scalars/big-int.mdx)
#### [Stream_filter.forgivenDebt_gte
](#)[BigInt
](/docs/api/flow/graphql/the-graph/scalars/big-int.mdx)
#### [Stream_filter.forgivenDebt_lte
](#)[BigInt
](/docs/api/flow/graphql/the-graph/scalars/big-int.mdx)
#### [Stream_filter.forgivenDebt_in
](#)[[BigInt!]
](/docs/api/flow/graphql/the-graph/scalars/big-int.mdx)
#### [Stream_filter.forgivenDebt_not_in
](#)[[BigInt!]
](/docs/api/flow/graphql/the-graph/scalars/big-int.mdx)
#### [Stream_filter.lastAdjustmentAction
](#)[String
](/docs/api/flow/graphql/the-graph/scalars/string.mdx)
#### [Stream_filter.lastAdjustmentAction_not
](#)[String
](/docs/api/flow/graphql/the-graph/scalars/string.mdx)
#### [Stream_filter.lastAdjustmentAction_gt
](#)[String
](/docs/api/flow/graphql/the-graph/scalars/string.mdx)
#### [Stream_filter.lastAdjustmentAction_lt
](#)[String
](/docs/api/flow/graphql/the-graph/scalars/string.mdx)
#### [Stream_filter.lastAdjustmentAction_gte
](#)[String
](/docs/api/flow/graphql/the-graph/scalars/string.mdx)
#### [Stream_filter.lastAdjustmentAction_lte
](#)[String
](/docs/api/flow/graphql/the-graph/scalars/string.mdx)
#### [Stream_filter.lastAdjustmentAction_in
](#)[[String!]
](/docs/api/flow/graphql/the-graph/scalars/string.mdx)
#### [Stream_filter.lastAdjustmentAction_not_in
](#)[[String!]
](/docs/api/flow/graphql/the-graph/scalars/string.mdx)
#### [Stream_filter.lastAdjustmentAction_contains
](#)[String
](/docs/api/flow/graphql/the-graph/scalars/string.mdx)
#### [Stream_filter.lastAdjustmentAction_contains_nocase
](#)[String
](/docs/api/flow/graphql/the-graph/scalars/string.mdx)
#### [Stream_filter.lastAdjustmentAction_not_contains
](#)[String
](/docs/api/flow/graphql/the-graph/scalars/string.mdx)
#### [Stream_filter.lastAdjustmentAction_not_contains_nocase
](#)[String
](/docs/api/flow/graphql/the-graph/scalars/string.mdx)
#### [Stream_filter.lastAdjustmentAction_starts_with
](#)[String
](/docs/api/flow/graphql/the-graph/scalars/string.mdx)
#### [Stream_filter.lastAdjustmentAction_starts_with_nocase
](#)[String
](/docs/api/flow/graphql/the-graph/scalars/string.mdx)
#### [Stream_filter.lastAdjustmentAction_not_starts_with
](#)[String
](/docs/api/flow/graphql/the-graph/scalars/string.mdx)
#### [Stream_filter.lastAdjustmentAction_not_starts_with_nocase
](#)[String
](/docs/api/flow/graphql/the-graph/scalars/string.mdx)
#### [Stream_filter.lastAdjustmentAction_ends_with
](#)[String
](/docs/api/flow/graphql/the-graph/scalars/string.mdx)
#### [Stream_filter.lastAdjustmentAction_ends_with_nocase
](#)[String
](/docs/api/flow/graphql/the-graph/scalars/string.mdx)
#### [Stream_filter.lastAdjustmentAction_not_ends_with
](#)[String
](/docs/api/flow/graphql/the-graph/scalars/string.mdx)
#### [Stream_filter.lastAdjustmentAction_not_ends_with_nocase
](#)[String
](/docs/api/flow/graphql/the-graph/scalars/string.mdx)
#### [Stream_filter.lastAdjustmentAction\_
](#)[Action_filter
](/docs/api/flow/graphql/the-graph/inputs/action-filter.mdx)
#### [Stream_filter.lastAdjustmentTimestamp
](#)[BigInt
](/docs/api/flow/graphql/the-graph/scalars/big-int.mdx)
#### [Stream_filter.lastAdjustmentTimestamp_not
](#)[BigInt
](/docs/api/flow/graphql/the-graph/scalars/big-int.mdx)
#### [Stream_filter.lastAdjustmentTimestamp_gt
](#)[BigInt
](/docs/api/flow/graphql/the-graph/scalars/big-int.mdx)
#### [Stream_filter.lastAdjustmentTimestamp_lt
](#)[BigInt
](/docs/api/flow/graphql/the-graph/scalars/big-int.mdx)
#### [Stream_filter.lastAdjustmentTimestamp_gte
](#)[BigInt
](/docs/api/flow/graphql/the-graph/scalars/big-int.mdx)
#### [Stream_filter.lastAdjustmentTimestamp_lte
](#)[BigInt
](/docs/api/flow/graphql/the-graph/scalars/big-int.mdx)
#### [Stream_filter.lastAdjustmentTimestamp_in
](#)[[BigInt!]
](/docs/api/flow/graphql/the-graph/scalars/big-int.mdx)
#### [Stream_filter.lastAdjustmentTimestamp_not_in
](#)[[BigInt!]
](/docs/api/flow/graphql/the-graph/scalars/big-int.mdx)
#### [Stream_filter.paused
](#)[Boolean
](/docs/api/flow/graphql/the-graph/scalars/boolean.mdx)
#### [Stream_filter.paused_not
](#)[Boolean
](/docs/api/flow/graphql/the-graph/scalars/boolean.mdx)
#### [Stream_filter.paused_in
](#)[[Boolean!]
](/docs/api/flow/graphql/the-graph/scalars/boolean.mdx)
#### [Stream_filter.paused_not_in
](#)[[Boolean!]
](/docs/api/flow/graphql/the-graph/scalars/boolean.mdx)
#### [Stream_filter.pausedAction
](#)[String
](/docs/api/flow/graphql/the-graph/scalars/string.mdx)
#### [Stream_filter.pausedAction_not
](#)[String
](/docs/api/flow/graphql/the-graph/scalars/string.mdx)
#### [Stream_filter.pausedAction_gt
](#)[String
](/docs/api/flow/graphql/the-graph/scalars/string.mdx)
#### [Stream_filter.pausedAction_lt
](#)[String
](/docs/api/flow/graphql/the-graph/scalars/string.mdx)
#### [Stream_filter.pausedAction_gte
](#)[String
](/docs/api/flow/graphql/the-graph/scalars/string.mdx)
#### [Stream_filter.pausedAction_lte
](#)[String
](/docs/api/flow/graphql/the-graph/scalars/string.mdx)
#### [Stream_filter.pausedAction_in
](#)[[String!]
](/docs/api/flow/graphql/the-graph/scalars/string.mdx)
#### [Stream_filter.pausedAction_not_in
](#)[[String!]
](/docs/api/flow/graphql/the-graph/scalars/string.mdx)
#### [Stream_filter.pausedAction_contains
](#)[String
](/docs/api/flow/graphql/the-graph/scalars/string.mdx)
#### [Stream_filter.pausedAction_contains_nocase
](#)[String
](/docs/api/flow/graphql/the-graph/scalars/string.mdx)
#### [Stream_filter.pausedAction_not_contains
](#)[String
](/docs/api/flow/graphql/the-graph/scalars/string.mdx)
#### [Stream_filter.pausedAction_not_contains_nocase
](#)[String
](/docs/api/flow/graphql/the-graph/scalars/string.mdx)
#### [Stream_filter.pausedAction_starts_with
](#)[String
](/docs/api/flow/graphql/the-graph/scalars/string.mdx)
#### [Stream_filter.pausedAction_starts_with_nocase
](#)[String
](/docs/api/flow/graphql/the-graph/scalars/string.mdx)
#### [Stream_filter.pausedAction_not_starts_with
](#)[String
](/docs/api/flow/graphql/the-graph/scalars/string.mdx)
#### [Stream_filter.pausedAction_not_starts_with_nocase
](#)[String
](/docs/api/flow/graphql/the-graph/scalars/string.mdx)
#### [Stream_filter.pausedAction_ends_with
](#)[String
](/docs/api/flow/graphql/the-graph/scalars/string.mdx)
#### [Stream_filter.pausedAction_ends_with_nocase
](#)[String
](/docs/api/flow/graphql/the-graph/scalars/string.mdx)
#### [Stream_filter.pausedAction_not_ends_with
](#)[String
](/docs/api/flow/graphql/the-graph/scalars/string.mdx)
#### [Stream_filter.pausedAction_not_ends_with_nocase
](#)[String
](/docs/api/flow/graphql/the-graph/scalars/string.mdx)
#### [Stream_filter.pausedAction\_
](#)[Action_filter
](/docs/api/flow/graphql/the-graph/inputs/action-filter.mdx)
#### [Stream_filter.pausedTime
](#)[BigInt
](/docs/api/flow/graphql/the-graph/scalars/big-int.mdx)
#### [Stream_filter.pausedTime_not
](#)[BigInt
](/docs/api/flow/graphql/the-graph/scalars/big-int.mdx)
#### [Stream_filter.pausedTime_gt
](#)[BigInt
](/docs/api/flow/graphql/the-graph/scalars/big-int.mdx)
#### [Stream_filter.pausedTime_lt
](#)[BigInt
](/docs/api/flow/graphql/the-graph/scalars/big-int.mdx)
#### [Stream_filter.pausedTime_gte
](#)[BigInt
](/docs/api/flow/graphql/the-graph/scalars/big-int.mdx)
#### [Stream_filter.pausedTime_lte
](#)[BigInt
](/docs/api/flow/graphql/the-graph/scalars/big-int.mdx)
#### [Stream_filter.pausedTime_in
](#)[[BigInt!]
](/docs/api/flow/graphql/the-graph/scalars/big-int.mdx)
#### [Stream_filter.pausedTime_not_in
](#)[[BigInt!]
](/docs/api/flow/graphql/the-graph/scalars/big-int.mdx)
#### [Stream_filter.ratePerSecond
](#)[BigInt
](/docs/api/flow/graphql/the-graph/scalars/big-int.mdx)
#### [Stream_filter.ratePerSecond_not
](#)[BigInt
](/docs/api/flow/graphql/the-graph/scalars/big-int.mdx)
#### [Stream_filter.ratePerSecond_gt
](#)[BigInt
](/docs/api/flow/graphql/the-graph/scalars/big-int.mdx)
#### [Stream_filter.ratePerSecond_lt
](#)[BigInt
](/docs/api/flow/graphql/the-graph/scalars/big-int.mdx)
#### [Stream_filter.ratePerSecond_gte
](#)[BigInt
](/docs/api/flow/graphql/the-graph/scalars/big-int.mdx)
#### [Stream_filter.ratePerSecond_lte
](#)[BigInt
](/docs/api/flow/graphql/the-graph/scalars/big-int.mdx)
#### [Stream_filter.ratePerSecond_in
](#)[[BigInt!]
](/docs/api/flow/graphql/the-graph/scalars/big-int.mdx)
#### [Stream_filter.ratePerSecond_not_in
](#)[[BigInt!]
](/docs/api/flow/graphql/the-graph/scalars/big-int.mdx)
#### [Stream_filter.refundedAmount
](#)[BigInt
](/docs/api/flow/graphql/the-graph/scalars/big-int.mdx)
#### [Stream_filter.refundedAmount_not
](#)[BigInt
](/docs/api/flow/graphql/the-graph/scalars/big-int.mdx)
#### [Stream_filter.refundedAmount_gt
](#)[BigInt
](/docs/api/flow/graphql/the-graph/scalars/big-int.mdx)
#### [Stream_filter.refundedAmount_lt
](#)[BigInt
](/docs/api/flow/graphql/the-graph/scalars/big-int.mdx)
#### [Stream_filter.refundedAmount_gte
](#)[BigInt
](/docs/api/flow/graphql/the-graph/scalars/big-int.mdx)
#### [Stream_filter.refundedAmount_lte
](#)[BigInt
](/docs/api/flow/graphql/the-graph/scalars/big-int.mdx)
#### [Stream_filter.refundedAmount_in
](#)[[BigInt!]
](/docs/api/flow/graphql/the-graph/scalars/big-int.mdx)
#### [Stream_filter.refundedAmount_not_in
](#)[[BigInt!]
](/docs/api/flow/graphql/the-graph/scalars/big-int.mdx)
#### [Stream_filter.snapshotAmount
](#)[BigInt
](/docs/api/flow/graphql/the-graph/scalars/big-int.mdx)
#### [Stream_filter.snapshotAmount_not
](#)[BigInt
](/docs/api/flow/graphql/the-graph/scalars/big-int.mdx)
#### [Stream_filter.snapshotAmount_gt
](#)[BigInt
](/docs/api/flow/graphql/the-graph/scalars/big-int.mdx)
#### [Stream_filter.snapshotAmount_lt
](#)[BigInt
](/docs/api/flow/graphql/the-graph/scalars/big-int.mdx)
#### [Stream_filter.snapshotAmount_gte
](#)[BigInt
](/docs/api/flow/graphql/the-graph/scalars/big-int.mdx)
#### [Stream_filter.snapshotAmount_lte
](#)[BigInt
](/docs/api/flow/graphql/the-graph/scalars/big-int.mdx)
#### [Stream_filter.snapshotAmount_in
](#)[[BigInt!]
](/docs/api/flow/graphql/the-graph/scalars/big-int.mdx)
#### [Stream_filter.snapshotAmount_not_in
](#)[[BigInt!]
](/docs/api/flow/graphql/the-graph/scalars/big-int.mdx)
#### [Stream_filter.voided
](#)[Boolean
](/docs/api/flow/graphql/the-graph/scalars/boolean.mdx)
#### [Stream_filter.voided_not
](#)[Boolean
](/docs/api/flow/graphql/the-graph/scalars/boolean.mdx)
#### [Stream_filter.voided_in
](#)[[Boolean!]
](/docs/api/flow/graphql/the-graph/scalars/boolean.mdx)
#### [Stream_filter.voided_not_in
](#)[[Boolean!]
](/docs/api/flow/graphql/the-graph/scalars/boolean.mdx)
#### [Stream_filter.voidedAction
](#)[String
](/docs/api/flow/graphql/the-graph/scalars/string.mdx)
#### [Stream_filter.voidedAction_not
](#)[String
](/docs/api/flow/graphql/the-graph/scalars/string.mdx)
#### [Stream_filter.voidedAction_gt
](#)[String
](/docs/api/flow/graphql/the-graph/scalars/string.mdx)
#### [Stream_filter.voidedAction_lt
](#)[String
](/docs/api/flow/graphql/the-graph/scalars/string.mdx)
#### [Stream_filter.voidedAction_gte
](#)[String
](/docs/api/flow/graphql/the-graph/scalars/string.mdx)
#### [Stream_filter.voidedAction_lte
](#)[String
](/docs/api/flow/graphql/the-graph/scalars/string.mdx)
#### [Stream_filter.voidedAction_in
](#)[[String!]
](/docs/api/flow/graphql/the-graph/scalars/string.mdx)
#### [Stream_filter.voidedAction_not_in
](#)[[String!]
](/docs/api/flow/graphql/the-graph/scalars/string.mdx)
#### [Stream_filter.voidedAction_contains
](#)[String
](/docs/api/flow/graphql/the-graph/scalars/string.mdx)
#### [Stream_filter.voidedAction_contains_nocase
](#)[String
](/docs/api/flow/graphql/the-graph/scalars/string.mdx)
#### [Stream_filter.voidedAction_not_contains
](#)[String
](/docs/api/flow/graphql/the-graph/scalars/string.mdx)
#### [Stream_filter.voidedAction_not_contains_nocase
](#)[String
](/docs/api/flow/graphql/the-graph/scalars/string.mdx)
#### [Stream_filter.voidedAction_starts_with
](#)[String
](/docs/api/flow/graphql/the-graph/scalars/string.mdx)
#### [Stream_filter.voidedAction_starts_with_nocase
](#)[String
](/docs/api/flow/graphql/the-graph/scalars/string.mdx)
#### [Stream_filter.voidedAction_not_starts_with
](#)[String
](/docs/api/flow/graphql/the-graph/scalars/string.mdx)
#### [Stream_filter.voidedAction_not_starts_with_nocase
](#)[String
](/docs/api/flow/graphql/the-graph/scalars/string.mdx)
#### [Stream_filter.voidedAction_ends_with
](#)[String
](/docs/api/flow/graphql/the-graph/scalars/string.mdx)
#### [Stream_filter.voidedAction_ends_with_nocase
](#)[String
](/docs/api/flow/graphql/the-graph/scalars/string.mdx)
#### [Stream_filter.voidedAction_not_ends_with
](#)[String
](/docs/api/flow/graphql/the-graph/scalars/string.mdx)
#### [Stream_filter.voidedAction_not_ends_with_nocase
](#)[String
](/docs/api/flow/graphql/the-graph/scalars/string.mdx)
#### [Stream_filter.voidedAction\_
](#)[Action_filter
](/docs/api/flow/graphql/the-graph/inputs/action-filter.mdx)
#### [Stream_filter.voidedTime
](#)[BigInt
](/docs/api/flow/graphql/the-graph/scalars/big-int.mdx)
#### [Stream_filter.voidedTime_not
](#)[BigInt
](/docs/api/flow/graphql/the-graph/scalars/big-int.mdx)
#### [Stream_filter.voidedTime_gt
](#)[BigInt
](/docs/api/flow/graphql/the-graph/scalars/big-int.mdx)
#### [Stream_filter.voidedTime_lt
](#)[BigInt
](/docs/api/flow/graphql/the-graph/scalars/big-int.mdx)
#### [Stream_filter.voidedTime_gte
](#)[BigInt
](/docs/api/flow/graphql/the-graph/scalars/big-int.mdx)
#### [Stream_filter.voidedTime_lte
](#)[BigInt
](/docs/api/flow/graphql/the-graph/scalars/big-int.mdx)
#### [Stream_filter.voidedTime_in
](#)[[BigInt!]
](/docs/api/flow/graphql/the-graph/scalars/big-int.mdx)
#### [Stream_filter.voidedTime_not_in
](#)[[BigInt!]
](/docs/api/flow/graphql/the-graph/scalars/big-int.mdx)
#### [Stream_filter.\_change_block
](#)[BlockChangedFilter
](/docs/api/flow/graphql/the-graph/inputs/block-changed-filter.mdx)
Filter for the block changed event.
#### [Stream_filter.and
](#)[[Stream_filter]
](/docs/api/flow/graphql/the-graph/inputs/stream-filter.mdx)
#### [Stream_filter.or
](#)[[Stream_filter]
](/docs/api/flow/graphql/the-graph/inputs/stream-filter.mdx)
---
## Watcher_filter (2)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
No description
```graphql
input Watcher_filter {
id: String
id_not: String
id_gt: String
id_lt: String
id_gte: String
id_lte: String
id_in: [String!]
id_not_in: [String!]
id_contains: String
id_contains_nocase: String
id_not_contains: String
id_not_contains_nocase: String
id_starts_with: String
id_starts_with_nocase: String
id_not_starts_with: String
id_not_starts_with_nocase: String
id_ends_with: String
id_ends_with_nocase: String
id_not_ends_with: String
id_not_ends_with_nocase: String
actionCounter: BigInt
actionCounter_not: BigInt
actionCounter_gt: BigInt
actionCounter_lt: BigInt
actionCounter_gte: BigInt
actionCounter_lte: BigInt
actionCounter_in: [BigInt!]
actionCounter_not_in: [BigInt!]
chainId: BigInt
chainId_not: BigInt
chainId_gt: BigInt
chainId_lt: BigInt
chainId_gte: BigInt
chainId_lte: BigInt
chainId_in: [BigInt!]
chainId_not_in: [BigInt!]
streamCounter: BigInt
streamCounter_not: BigInt
streamCounter_gt: BigInt
streamCounter_lt: BigInt
streamCounter_gte: BigInt
streamCounter_lte: BigInt
streamCounter_in: [BigInt!]
streamCounter_not_in: [BigInt!]
_change_block: BlockChangedFilter
and: [Watcher_filter]
or: [Watcher_filter]
}
```
### Fields
#### [Watcher_filter.id
](#)[String
](/docs/api/flow/graphql/the-graph/scalars/string.mdx)
#### [Watcher_filter.id_not
](#)[String
](/docs/api/flow/graphql/the-graph/scalars/string.mdx)
#### [Watcher_filter.id_gt
](#)[String
](/docs/api/flow/graphql/the-graph/scalars/string.mdx)
#### [Watcher_filter.id_lt
](#)[String
](/docs/api/flow/graphql/the-graph/scalars/string.mdx)
#### [Watcher_filter.id_gte
](#)[String
](/docs/api/flow/graphql/the-graph/scalars/string.mdx)
#### [Watcher_filter.id_lte
](#)[String
](/docs/api/flow/graphql/the-graph/scalars/string.mdx)
#### [Watcher_filter.id_in
](#)[[String!]
](/docs/api/flow/graphql/the-graph/scalars/string.mdx)
#### [Watcher_filter.id_not_in
](#)[[String!]
](/docs/api/flow/graphql/the-graph/scalars/string.mdx)
#### [Watcher_filter.id_contains
](#)[String
](/docs/api/flow/graphql/the-graph/scalars/string.mdx)
#### [Watcher_filter.id_contains_nocase
](#)[String
](/docs/api/flow/graphql/the-graph/scalars/string.mdx)
#### [Watcher_filter.id_not_contains
](#)[String
](/docs/api/flow/graphql/the-graph/scalars/string.mdx)
#### [Watcher_filter.id_not_contains_nocase
](#)[String
](/docs/api/flow/graphql/the-graph/scalars/string.mdx)
#### [Watcher_filter.id_starts_with
](#)[String
](/docs/api/flow/graphql/the-graph/scalars/string.mdx)
#### [Watcher_filter.id_starts_with_nocase
](#)[String
](/docs/api/flow/graphql/the-graph/scalars/string.mdx)
#### [Watcher_filter.id_not_starts_with
](#)[String
](/docs/api/flow/graphql/the-graph/scalars/string.mdx)
#### [Watcher_filter.id_not_starts_with_nocase
](#)[String
](/docs/api/flow/graphql/the-graph/scalars/string.mdx)
#### [Watcher_filter.id_ends_with
](#)[String
](/docs/api/flow/graphql/the-graph/scalars/string.mdx)
#### [Watcher_filter.id_ends_with_nocase
](#)[String
](/docs/api/flow/graphql/the-graph/scalars/string.mdx)
#### [Watcher_filter.id_not_ends_with
](#)[String
](/docs/api/flow/graphql/the-graph/scalars/string.mdx)
#### [Watcher_filter.id_not_ends_with_nocase
](#)[String
](/docs/api/flow/graphql/the-graph/scalars/string.mdx)
#### [Watcher_filter.actionCounter
](#)[BigInt
](/docs/api/flow/graphql/the-graph/scalars/big-int.mdx)
#### [Watcher_filter.actionCounter_not
](#)[BigInt
](/docs/api/flow/graphql/the-graph/scalars/big-int.mdx)
#### [Watcher_filter.actionCounter_gt
](#)[BigInt
](/docs/api/flow/graphql/the-graph/scalars/big-int.mdx)
#### [Watcher_filter.actionCounter_lt
](#)[BigInt
](/docs/api/flow/graphql/the-graph/scalars/big-int.mdx)
#### [Watcher_filter.actionCounter_gte
](#)[BigInt
](/docs/api/flow/graphql/the-graph/scalars/big-int.mdx)
#### [Watcher_filter.actionCounter_lte
](#)[BigInt
](/docs/api/flow/graphql/the-graph/scalars/big-int.mdx)
#### [Watcher_filter.actionCounter_in
](#)[[BigInt!]
](/docs/api/flow/graphql/the-graph/scalars/big-int.mdx)
#### [Watcher_filter.actionCounter_not_in
](#)[[BigInt!]
](/docs/api/flow/graphql/the-graph/scalars/big-int.mdx)
#### [Watcher_filter.chainId
](#)[BigInt
](/docs/api/flow/graphql/the-graph/scalars/big-int.mdx)
#### [Watcher_filter.chainId_not
](#)[BigInt
](/docs/api/flow/graphql/the-graph/scalars/big-int.mdx)
#### [Watcher_filter.chainId_gt
](#)[BigInt
](/docs/api/flow/graphql/the-graph/scalars/big-int.mdx)
#### [Watcher_filter.chainId_lt
](#)[BigInt
](/docs/api/flow/graphql/the-graph/scalars/big-int.mdx)
#### [Watcher_filter.chainId_gte
](#)[BigInt
](/docs/api/flow/graphql/the-graph/scalars/big-int.mdx)
#### [Watcher_filter.chainId_lte
](#)[BigInt
](/docs/api/flow/graphql/the-graph/scalars/big-int.mdx)
#### [Watcher_filter.chainId_in
](#)[[BigInt!]
](/docs/api/flow/graphql/the-graph/scalars/big-int.mdx)
#### [Watcher_filter.chainId_not_in
](#)[[BigInt!]
](/docs/api/flow/graphql/the-graph/scalars/big-int.mdx)
#### [Watcher_filter.streamCounter
](#)[BigInt
](/docs/api/flow/graphql/the-graph/scalars/big-int.mdx)
#### [Watcher_filter.streamCounter_not
](#)[BigInt
](/docs/api/flow/graphql/the-graph/scalars/big-int.mdx)
#### [Watcher_filter.streamCounter_gt
](#)[BigInt
](/docs/api/flow/graphql/the-graph/scalars/big-int.mdx)
#### [Watcher_filter.streamCounter_lt
](#)[BigInt
](/docs/api/flow/graphql/the-graph/scalars/big-int.mdx)
#### [Watcher_filter.streamCounter_gte
](#)[BigInt
](/docs/api/flow/graphql/the-graph/scalars/big-int.mdx)
#### [Watcher_filter.streamCounter_lte
](#)[BigInt
](/docs/api/flow/graphql/the-graph/scalars/big-int.mdx)
#### [Watcher_filter.streamCounter_in
](#)[[BigInt!]
](/docs/api/flow/graphql/the-graph/scalars/big-int.mdx)
#### [Watcher_filter.streamCounter_not_in
](#)[[BigInt!]
](/docs/api/flow/graphql/the-graph/scalars/big-int.mdx)
#### [Watcher_filter.\_change_block
](#)[BlockChangedFilter
](/docs/api/flow/graphql/the-graph/inputs/block-changed-filter.mdx)
Filter for the block changed event.
#### [Watcher_filter.and
](#)[[Watcher_filter]
](/docs/api/flow/graphql/the-graph/inputs/watcher-filter.mdx)
#### [Watcher_filter.or
](#)[[Watcher_filter]
](/docs/api/flow/graphql/the-graph/inputs/watcher-filter.mdx)
---
## Action (7)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
A generic entity for tracking protocol actions. There may be multiple actions for a single tx.
```graphql
type Action {
id: String!
subgraphId: BigInt!
block: BigInt!
chainId: BigInt!
from: Bytes!
hash: Bytes!
timestamp: BigInt!
category: ActionCategory!
contract: Bytes!
fee: BigInt
stream: Stream
addressA: Bytes
addressB: Bytes
amountA: BigInt
amountB: BigInt
}
```
### Fields
#### [Action.id
](#)[String!
](/docs/api/flow/graphql/the-graph/scalars/string.mdx)
Unique identifier: `action-{chainId}-{txHash}-{logIndex}`
#### [Action.subgraphId
](#)[BigInt!
](/docs/api/flow/graphql/the-graph/scalars/big-int.mdx)
Unique global id as tracked by the `Watcher` entity.
#### [Action.block
](#)[BigInt!
](/docs/api/flow/graphql/the-graph/scalars/big-int.mdx)
Block number of the Ethereum transaction.
#### [Action.chainId
](#)[BigInt!
](/docs/api/flow/graphql/the-graph/scalars/big-int.mdx)
The chain ID where the action was created (e.g., 137 for Polygon).
#### [Action.from
](#)[Bytes!
](/docs/api/flow/graphql/the-graph/scalars/bytes.mdx)
The msg.sender of the Ethereum transaction.
#### [Action.hash
](#)[Bytes!
](/docs/api/flow/graphql/the-graph/scalars/bytes.mdx)
Hash of the Ethereum transaction.
#### [Action.timestamp
](#)[BigInt!
](/docs/api/flow/graphql/the-graph/scalars/big-int.mdx)
Unix timestamp of the Ethereum transaction.
#### [Action.category
](#)[ActionCategory!
](/docs/api/flow/graphql/the-graph/enums/action-category.mdx)
Category of action, e.g., Deposit.
#### [Action.contract
](#)[Bytes!
](/docs/api/flow/graphql/the-graph/scalars/bytes.mdx)
Contract through which the action was triggered.
#### [Action.fee
](#)[BigInt
](/docs/api/flow/graphql/the-graph/scalars/big-int.mdx)
The Sablier fee paid in the native token of the chain (e.g., ETH for Mainnet).
See https://docs.sablier.com/concepts/fees
#### [Action.stream
](#)[Stream
](/docs/api/flow/graphql/the-graph/objects/stream.mdx)
Stream linked to this action, if any.
#### [Action.addressA
](#)[Bytes
](/docs/api/flow/graphql/the-graph/scalars/bytes.mdx)
Address of 1st actor. Who this is depends upon the action type, e.g. for Create, it is the sender.
#### [Action.addressB
](#)[Bytes
](/docs/api/flow/graphql/the-graph/scalars/bytes.mdx)
Address of 2nd actor. Who this is depends upon the action type, e.g. for Transfer, it is the recipient.
#### [Action.amountA
](#)[BigInt
](/docs/api/flow/graphql/the-graph/scalars/big-int.mdx)
1st amount. What this is depends upon the action type, e.g. for Deposit, it is the deposit amount.
#### [Action.amountB
](#)[BigInt
](/docs/api/flow/graphql/the-graph/scalars/big-int.mdx)
2nd amount. What this is depends upon the action type, e.g. for Withdraw, it is the refund amount.
---
## Asset (7)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
ERC-20 asset
```graphql
type Asset {
id: String!
address: Bytes!
chainId: BigInt!
decimals: BigInt!
name: String!
symbol: String!
streams(
skip: Int = 0
first: Int = 100
orderBy: Stream_orderBy
orderDirection: OrderDirection
where: Stream_filter
): [Stream!]!
}
```
### Fields
#### [Asset.id
](#)[String!
](/docs/api/flow/graphql/the-graph/scalars/string.mdx)
Unique identifier: `asset-{chainId}-{address}`
#### [Asset.address
](#)[Bytes!
](/docs/api/flow/graphql/the-graph/scalars/bytes.mdx)
Address of the ERC-20 token.
#### [Asset.chainId
](#)[BigInt!
](/docs/api/flow/graphql/the-graph/scalars/big-int.mdx)
The chain ID where the asset exists (e.g., 137 for Polygon).
#### [Asset.decimals
](#)[BigInt!
](/docs/api/flow/graphql/the-graph/scalars/big-int.mdx)
Decimals of the ERC20 token.
#### [Asset.name
](#)[String!
](/docs/api/flow/graphql/the-graph/scalars/string.mdx)
Name of the ERC20 token.
#### [Asset.symbol
](#)[String!
](/docs/api/flow/graphql/the-graph/scalars/string.mdx)
Symbol of the ERC20 token.
#### [Asset.streams
](#)[[Stream!]!
](/docs/api/flow/graphql/the-graph/objects/stream.mdx)
Streams that rely on this token
##### [Asset.streams.skip
](#)[Int
](/docs/api/flow/graphql/the-graph/scalars/int.mdx)
##### [Asset.streams.first
](#)[Int
](/docs/api/flow/graphql/the-graph/scalars/int.mdx)
##### [Asset.streams.orderBy
](#)[Stream_orderBy
](/docs/api/flow/graphql/the-graph/enums/stream-order-by.mdx)
##### [Asset.streams.orderDirection
](#)[OrderDirection
](/docs/api/flow/graphql/the-graph/enums/order-direction.mdx)
##### [Asset.streams.where
](#)[Stream_filter
](/docs/api/flow/graphql/the-graph/inputs/stream-filter.mdx)
---
## Batch (5)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
Creating streams in bulk is possible using the SablierBatchLockup contract.
See https://github.com/sablier-labs/lockup/blob/v2.0/src/SablierBatchLockup.sol
Note: the entity can be immutable because a batch is only updated in the same block.
See https://thegraph.com/docs/en/subgraphs/developing/creating/ql-schema/#defining-entities
```graphql
type Batch {
id: String!
hash: Bytes
timestamp: BigInt
batcher: Batcher
position: BigInt
size: BigInt!
streams(
skip: Int = 0
first: Int = 100
orderBy: Stream_orderBy
orderDirection: OrderDirection
where: Stream_filter
): [Stream!]!
}
```
### Fields
#### [Batch.id
](#)[String!
](/docs/api/flow/graphql/the-graph/scalars/string.mdx)
Unique identifier: `batch-{chainId}-{txHash}-{batcher}`
#### [Batch.hash
](#)[Bytes
](/docs/api/flow/graphql/the-graph/scalars/bytes.mdx)
Hash of the Ethereum transaction that created this batch.
#### [Batch.timestamp
](#)[BigInt
](/docs/api/flow/graphql/the-graph/scalars/big-int.mdx)
Timestamp of the transaction that created this batch.
#### [Batch.batcher
](#)[Batcher
](/docs/api/flow/graphql/the-graph/objects/batcher.mdx)
The sender address that created this batch.
#### [Batch.position
](#)[BigInt
](/docs/api/flow/graphql/the-graph/scalars/big-int.mdx)
Index of the batch based on the `batchCounter` in the `Batcher` entity.
#### [Batch.size
](#)[BigInt!
](/docs/api/flow/graphql/the-graph/scalars/big-int.mdx)
Number of streams part of this batch.
#### [Batch.streams
](#)[[Stream!]!
](/docs/api/flow/graphql/the-graph/objects/stream.mdx)
Streams part of this batch.
##### [Batch.streams.skip
](#)[Int
](/docs/api/flow/graphql/the-graph/scalars/int.mdx)
##### [Batch.streams.first
](#)[Int
](/docs/api/flow/graphql/the-graph/scalars/int.mdx)
##### [Batch.streams.orderBy
](#)[Stream_orderBy
](/docs/api/flow/graphql/the-graph/enums/stream-order-by.mdx)
##### [Batch.streams.orderDirection
](#)[OrderDirection
](/docs/api/flow/graphql/the-graph/enums/order-direction.mdx)
##### [Batch.streams.where
](#)[Stream_filter
](/docs/api/flow/graphql/the-graph/inputs/stream-filter.mdx)
---
## Batcher (5)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
Sender address that created batches.
```graphql
type Batcher {
id: String!
batchCounter: BigInt!
batches(
skip: Int = 0
first: Int = 100
orderBy: Batch_orderBy
orderDirection: OrderDirection
where: Batch_filter
): [Batch!]!
}
```
### Fields
#### [Batcher.id
](#)[String!
](/docs/api/flow/graphql/the-graph/scalars/string.mdx)
Unique identifier: `batcher-{chainId}-{sender}`
#### [Batcher.batchCounter
](#)[BigInt!
](/docs/api/flow/graphql/the-graph/scalars/big-int.mdx)
Total number of batches started by this sender.
#### [Batcher.batches
](#)[[Batch!]!
](/docs/api/flow/graphql/the-graph/objects/batch.mdx)
Batches started by this sender.
##### [Batcher.batches.skip
](#)[Int
](/docs/api/flow/graphql/the-graph/scalars/int.mdx)
##### [Batcher.batches.first
](#)[Int
](/docs/api/flow/graphql/the-graph/scalars/int.mdx)
##### [Batcher.batches.orderBy
](#)[Batch_orderBy
](/docs/api/flow/graphql/the-graph/enums/batch-order-by.mdx)
##### [Batcher.batches.orderDirection
](#)[OrderDirection
](/docs/api/flow/graphql/the-graph/enums/order-direction.mdx)
##### [Batcher.batches.where
](#)[Batch_filter
](/docs/api/flow/graphql/the-graph/inputs/batch-filter.mdx)
---
## _Block_ (2)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
No description
```graphql
type _Block_ {
hash: Bytes
number: Int!
timestamp: Int
parentHash: Bytes
}
```
### Fields
#### [\_Block\_.hash
](#)[Bytes
](/docs/api/flow/graphql/the-graph/scalars/bytes.mdx)
The hash of the block
#### [\_Block\_.number
](#)[Int!
](/docs/api/flow/graphql/the-graph/scalars/int.mdx)
The block number
#### [\_Block\_.timestamp
](#)[Int
](/docs/api/flow/graphql/the-graph/scalars/int.mdx)
Integer representation of the timestamp stored in blocks for the chain
#### [\_Block\_.parentHash
](#)[Bytes
](/docs/api/flow/graphql/the-graph/scalars/bytes.mdx)
The hash of the parent block
---
## _Meta_ (2)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
The type for the top-level \_meta field
```graphql
type _Meta_ {
block: _Block_!
deployment: String!
hasIndexingErrors: Boolean!
}
```
### Fields
#### [\_Meta\_.block
](#)[\_Block\_!
](/docs/api/flow/graphql/the-graph/objects/block.mdx)
Information about a specific subgraph block. The hash of the block
will be null if the \_meta field has a block constraint that asks for
a block number. It will be filled if the \_meta field has no block constraint
and therefore asks for the latest block
#### [\_Meta\_.deployment
](#)[String!
](/docs/api/flow/graphql/the-graph/scalars/string.mdx)
The deployment ID
#### [\_Meta\_.hasIndexingErrors
](#)[Boolean!
](/docs/api/flow/graphql/the-graph/scalars/boolean.mdx)
If `true`, the subgraph encountered indexing errors at some past block
---
## Stream (5)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
No description
```graphql
type Stream {
id: String!
alias: String!
chainId: BigInt!
subgraphId: BigInt!
tokenId: BigInt!
hash: Bytes!
timestamp: BigInt!
actions(
skip: Int = 0
first: Int = 100
orderBy: Action_orderBy
orderDirection: OrderDirection
where: Action_filter
): [Action!]!
asset: Asset!
assetDecimalsValue: BigInt!
batch: Batch!
category: StreamCategory!
contract: Bytes!
position: BigInt!
recipient: Bytes!
sender: Bytes!
startTime: BigInt!
transferable: Boolean!
version: String!
withdrawnAmount: BigInt!
availableAmount: BigInt!
creator: Bytes!
depletionTime: BigInt!
depositedAmount: BigInt!
forgivenDebt: BigInt!
lastAdjustmentAction: Action
lastAdjustmentTimestamp: BigInt!
paused: Boolean!
pausedAction: Action
pausedTime: BigInt
ratePerSecond: BigInt!
refundedAmount: BigInt!
snapshotAmount: BigInt!
voided: Boolean!
voidedAction: Action
voidedTime: BigInt
}
```
### Fields
#### [Stream.id
](#)[String!
](/docs/api/flow/graphql/the-graph/scalars/string.mdx)
Unique identifier: `{contractAddress}-{chainId}-{tokenId}`
#### [Stream.alias
](#)[String!
](/docs/api/flow/graphql/the-graph/scalars/string.mdx)
Like the id: `{contractAlias}-{chainId}-{tokenId}`
#### [Stream.chainId
](#)[BigInt!
](/docs/api/flow/graphql/the-graph/scalars/big-int.mdx)
The chain ID where the stream was created (e.g., 137 for Polygon).
#### [Stream.subgraphId
](#)[BigInt!
](/docs/api/flow/graphql/the-graph/scalars/big-int.mdx)
Unique global id as tracked by the `Watcher` entity.
ኆ80 This may change if new data sources are added and the chronological order of streams changes.
#### [Stream.tokenId
](#)[BigInt!
](/docs/api/flow/graphql/the-graph/scalars/big-int.mdx)
The id provided by the Lockup contract. This is the ERC-721 tokenId.
#### [Stream.hash
](#)[Bytes!
](/docs/api/flow/graphql/the-graph/scalars/bytes.mdx)
Hash of the Ethereum transaction that created this stream.
#### [Stream.timestamp
](#)[BigInt!
](/docs/api/flow/graphql/the-graph/scalars/big-int.mdx)
Unix timestamp of the Ethereum transaction that created this stream.
#### [Stream.actions
](#)[[Action!]!
](/docs/api/flow/graphql/the-graph/objects/action.mdx)
Actions triggered by this stream.
##### [Stream.actions.skip
](#)[Int
](/docs/api/flow/graphql/the-graph/scalars/int.mdx)
##### [Stream.actions.first
](#)[Int
](/docs/api/flow/graphql/the-graph/scalars/int.mdx)
##### [Stream.actions.orderBy
](#)[Action_orderBy
](/docs/api/flow/graphql/the-graph/enums/action-order-by.mdx)
##### [Stream.actions.orderDirection
](#)[OrderDirection
](/docs/api/flow/graphql/the-graph/enums/order-direction.mdx)
##### [Stream.actions.where
](#)[Action_filter
](/docs/api/flow/graphql/the-graph/inputs/action-filter.mdx)
#### [Stream.asset
](#)[Asset!
](/docs/api/flow/graphql/the-graph/objects/asset.mdx)
ERC-20 token distributed via this stream.
#### [Stream.assetDecimalsValue
](#)[BigInt!
](/docs/api/flow/graphql/the-graph/scalars/big-int.mdx)
ERC-20 token decimals. Stored here to avoid loading the asset entity on each stream.
Note: the "Value" suffix is added because of a bug in GraphQL Code Generator.
#### [Stream.batch
](#)[Batch!
](/docs/api/flow/graphql/the-graph/objects/batch.mdx)
The batch the stream may be part of.
Note: this is available only when created within a batch create transaction.
#### [Stream.category
](#)[StreamCategory!
](/docs/api/flow/graphql/the-graph/enums/stream-category.mdx)
Category used for sorting.
#### [Stream.contract
](#)[Bytes!
](/docs/api/flow/graphql/the-graph/scalars/bytes.mdx)
The address of the contract the stream originates from.
#### [Stream.position
](#)[BigInt!
](/docs/api/flow/graphql/the-graph/scalars/big-int.mdx)
Position in the batch, if available.
#### [Stream.recipient
](#)[Bytes!
](/docs/api/flow/graphql/the-graph/scalars/bytes.mdx)
Current recipient of the stream, with permission to withdraw funds to any third-party address.
Note: the recipient can change on NFT transfer.
#### [Stream.sender
](#)[Bytes!
](/docs/api/flow/graphql/the-graph/scalars/bytes.mdx)
Manager of the stream, with ability to cancel the stream.
#### [Stream.startTime
](#)[BigInt!
](/docs/api/flow/graphql/the-graph/scalars/big-int.mdx)
Unix timestamp for the start of the stream.
#### [Stream.transferable
](#)[Boolean!
](/docs/api/flow/graphql/the-graph/scalars/boolean.mdx)
Flag indicating the transferability of the stream. This is set when the stream is created, and cannot
be changed later.
#### [Stream.version
](#)[String!
](/docs/api/flow/graphql/the-graph/scalars/string.mdx)
Version of contract, e.g., v1.0.
#### [Stream.withdrawnAmount
](#)[BigInt!
](/docs/api/flow/graphql/the-graph/scalars/big-int.mdx)
The sum of all withdrawn amounts.
#### [Stream.availableAmount
](#)[BigInt!
](/docs/api/flow/graphql/the-graph/scalars/big-int.mdx)
This is equivalent to the value returned by ERC20.balanceOf, and it changes after deposit and withdrawal.
#### [Stream.creator
](#)[Bytes!
](/docs/api/flow/graphql/the-graph/scalars/bytes.mdx)
The account that created the stream, which can be different from the sender.
#### [Stream.depletionTime
](#)[BigInt!
](/docs/api/flow/graphql/the-graph/scalars/big-int.mdx)
Unix timestamp indicating the time when the stream will become insolvent.
#### [Stream.depositedAmount
](#)[BigInt!
](/docs/api/flow/graphql/the-graph/scalars/big-int.mdx)
The sum of all deposits.
#### [Stream.forgivenDebt
](#)[BigInt!
](/docs/api/flow/graphql/the-graph/scalars/big-int.mdx)
The amount of debt forgiven by a void action.
#### [Stream.lastAdjustmentAction
](#)[Action
](/docs/api/flow/graphql/the-graph/objects/action.mdx)
Action in which the payment rate was adjusted.
#### [Stream.lastAdjustmentTimestamp
](#)[BigInt!
](/docs/api/flow/graphql/the-graph/scalars/big-int.mdx)
Unix timestamp for when the payment rate was adjusted.
#### [Stream.paused
](#)[Boolean!
](/docs/api/flow/graphql/the-graph/scalars/boolean.mdx)
Flag indicating if a stream is paused.
#### [Stream.pausedAction
](#)[Action
](/docs/api/flow/graphql/the-graph/objects/action.mdx)
Action in which the stream was paused.
#### [Stream.pausedTime
](#)[BigInt
](/docs/api/flow/graphql/the-graph/scalars/big-int.mdx)
Unix timestamp for when the stream was paused.
#### [Stream.ratePerSecond
](#)[BigInt!
](/docs/api/flow/graphql/the-graph/scalars/big-int.mdx)
Current payment rate per second, denominated in 18 decimals.
#### [Stream.refundedAmount
](#)[BigInt!
](/docs/api/flow/graphql/the-graph/scalars/big-int.mdx)
The sum of all refunds.
#### [Stream.snapshotAmount
](#)[BigInt!
](/docs/api/flow/graphql/the-graph/scalars/big-int.mdx)
The amount streamed up until the time of the last adjustment, denominated in 18 decimals.
#### [Stream.voided
](#)[Boolean!
](/docs/api/flow/graphql/the-graph/scalars/boolean.mdx)
Flag indicating if a stream is voided.
#### [Stream.voidedAction
](#)[Action
](/docs/api/flow/graphql/the-graph/objects/action.mdx)
Action in which the stream was voided.
#### [Stream.voidedTime
](#)[BigInt
](/docs/api/flow/graphql/the-graph/scalars/big-int.mdx)
Unix timestamp for when the stream was voided.
---
## Watcher (7)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
No description
```graphql
type Watcher {
id: String!
actionCounter: BigInt!
chainId: BigInt!
streamCounter: BigInt!
}
```
### Fields
#### [Watcher.id
](#)[String!
](/docs/api/flow/graphql/the-graph/scalars/string.mdx)
The chain ID. There is one watcher per subgraph.
#### [Watcher.actionCounter
](#)[BigInt!
](/docs/api/flow/graphql/the-graph/scalars/big-int.mdx)
Global counter for actions.
#### [Watcher.chainId
](#)[BigInt!
](/docs/api/flow/graphql/the-graph/scalars/big-int.mdx)
Alias for id.
#### [Watcher.streamCounter
](#)[BigInt!
](/docs/api/flow/graphql/the-graph/scalars/big-int.mdx)
Global counter.
---
## action (8)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
No description
```graphql
action(
id: ID!
block: Block_height
subgraphError: _SubgraphErrorPolicy_! = deny
): Action
```
### Arguments
#### [action.id
](#)[ID!
](/docs/api/flow/graphql/the-graph/scalars/id.mdx)
#### [action.block
](#)[Block_height
](/docs/api/flow/graphql/the-graph/inputs/block-height.mdx)
The block at which the query should be executed. Can either be a `{ hash: Bytes }` value containing a block hash, a `{ number: Int }` containing the block number, or a `{ number_gte: Int }` containing the minimum block number. In the case of `number_gte`, the query will be executed on the latest block only if the subgraph has progressed to or past the minimum block number. Defaults to the latest block when omitted.
#### [action.subgraphError
](#)[\_SubgraphErrorPolicy\_!
](/docs/api/flow/graphql/the-graph/enums/subgraph-error-policy.mdx)
Set to `allow` to receive data even if the subgraph has skipped over errors while syncing.
### Type
#### [Action
](/docs/api/flow/graphql/the-graph/objects/action.mdx)
A generic entity for tracking protocol actions. There may be multiple actions for a single tx.
---
## actions (2)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
No description
```graphql
actions(
skip: Int = 0
first: Int = 100
orderBy: Action_orderBy
orderDirection: OrderDirection
where: Action_filter
block: Block_height
subgraphError: _SubgraphErrorPolicy_! = deny
): [Action!]!
```
### Arguments
#### [actions.skip
](#)[Int
](/docs/api/flow/graphql/the-graph/scalars/int.mdx)
#### [actions.first
](#)[Int
](/docs/api/flow/graphql/the-graph/scalars/int.mdx)
#### [actions.orderBy
](#)[Action_orderBy
](/docs/api/flow/graphql/the-graph/enums/action-order-by.mdx)
#### [actions.orderDirection
](#)[OrderDirection
](/docs/api/flow/graphql/the-graph/enums/order-direction.mdx)
#### [actions.where
](#)[Action_filter
](/docs/api/flow/graphql/the-graph/inputs/action-filter.mdx)
#### [actions.block
](#)[Block_height
](/docs/api/flow/graphql/the-graph/inputs/block-height.mdx)
The block at which the query should be executed. Can either be a `{ hash: Bytes }` value containing a block hash, a `{ number: Int }` containing the block number, or a `{ number_gte: Int }` containing the minimum block number. In the case of `number_gte`, the query will be executed on the latest block only if the subgraph has progressed to or past the minimum block number. Defaults to the latest block when omitted.
#### [actions.subgraphError
](#)[\_SubgraphErrorPolicy\_!
](/docs/api/flow/graphql/the-graph/enums/subgraph-error-policy.mdx)
Set to `allow` to receive data even if the subgraph has skipped over errors while syncing.
### Type
#### [Action
](/docs/api/flow/graphql/the-graph/objects/action.mdx)
A generic entity for tracking protocol actions. There may be multiple actions for a single tx.
---
## asset (8)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
No description
```graphql
asset(
id: ID!
block: Block_height
subgraphError: _SubgraphErrorPolicy_! = deny
): Asset
```
### Arguments
#### [asset.id
](#)[ID!
](/docs/api/flow/graphql/the-graph/scalars/id.mdx)
#### [asset.block
](#)[Block_height
](/docs/api/flow/graphql/the-graph/inputs/block-height.mdx)
The block at which the query should be executed. Can either be a `{ hash: Bytes }` value containing a block hash, a `{ number: Int }` containing the block number, or a `{ number_gte: Int }` containing the minimum block number. In the case of `number_gte`, the query will be executed on the latest block only if the subgraph has progressed to or past the minimum block number. Defaults to the latest block when omitted.
#### [asset.subgraphError
](#)[\_SubgraphErrorPolicy\_!
](/docs/api/flow/graphql/the-graph/enums/subgraph-error-policy.mdx)
Set to `allow` to receive data even if the subgraph has skipped over errors while syncing.
### Type
#### [Asset
](/docs/api/flow/graphql/the-graph/objects/asset.mdx)
ERC-20 asset
---
## assets (2)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
No description
```graphql
assets(
skip: Int = 0
first: Int = 100
orderBy: Asset_orderBy
orderDirection: OrderDirection
where: Asset_filter
block: Block_height
subgraphError: _SubgraphErrorPolicy_! = deny
): [Asset!]!
```
### Arguments
#### [assets.skip
](#)[Int
](/docs/api/flow/graphql/the-graph/scalars/int.mdx)
#### [assets.first
](#)[Int
](/docs/api/flow/graphql/the-graph/scalars/int.mdx)
#### [assets.orderBy
](#)[Asset_orderBy
](/docs/api/flow/graphql/the-graph/enums/asset-order-by.mdx)
#### [assets.orderDirection
](#)[OrderDirection
](/docs/api/flow/graphql/the-graph/enums/order-direction.mdx)
#### [assets.where
](#)[Asset_filter
](/docs/api/flow/graphql/the-graph/inputs/asset-filter.mdx)
#### [assets.block
](#)[Block_height
](/docs/api/flow/graphql/the-graph/inputs/block-height.mdx)
The block at which the query should be executed. Can either be a `{ hash: Bytes }` value containing a block hash, a `{ number: Int }` containing the block number, or a `{ number_gte: Int }` containing the minimum block number. In the case of `number_gte`, the query will be executed on the latest block only if the subgraph has progressed to or past the minimum block number. Defaults to the latest block when omitted.
#### [assets.subgraphError
](#)[\_SubgraphErrorPolicy\_!
](/docs/api/flow/graphql/the-graph/enums/subgraph-error-policy.mdx)
Set to `allow` to receive data even if the subgraph has skipped over errors while syncing.
### Type
#### [Asset
](/docs/api/flow/graphql/the-graph/objects/asset.mdx)
ERC-20 asset
---
## batch (6)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
No description
```graphql
batch(
id: ID!
block: Block_height
subgraphError: _SubgraphErrorPolicy_! = deny
): Batch
```
### Arguments
#### [batch.id
](#)[ID!
](/docs/api/flow/graphql/the-graph/scalars/id.mdx)
#### [batch.block
](#)[Block_height
](/docs/api/flow/graphql/the-graph/inputs/block-height.mdx)
The block at which the query should be executed. Can either be a `{ hash: Bytes }` value containing a block hash, a `{ number: Int }` containing the block number, or a `{ number_gte: Int }` containing the minimum block number. In the case of `number_gte`, the query will be executed on the latest block only if the subgraph has progressed to or past the minimum block number. Defaults to the latest block when omitted.
#### [batch.subgraphError
](#)[\_SubgraphErrorPolicy\_!
](/docs/api/flow/graphql/the-graph/enums/subgraph-error-policy.mdx)
Set to `allow` to receive data even if the subgraph has skipped over errors while syncing.
### Type
#### [Batch
](/docs/api/flow/graphql/the-graph/objects/batch.mdx)
Creating streams in bulk is possible using the SablierBatchLockup contract.
See https://github.com/sablier-labs/lockup/blob/v2.0/src/SablierBatchLockup.sol
Note: the entity can be immutable because a batch is only updated in the same block.
See https://thegraph.com/docs/en/subgraphs/developing/creating/ql-schema/#defining-entities
---
## batcher (6)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
No description
```graphql
batcher(
id: ID!
block: Block_height
subgraphError: _SubgraphErrorPolicy_! = deny
): Batcher
```
### Arguments
#### [batcher.id
](#)[ID!
](/docs/api/flow/graphql/the-graph/scalars/id.mdx)
#### [batcher.block
](#)[Block_height
](/docs/api/flow/graphql/the-graph/inputs/block-height.mdx)
The block at which the query should be executed. Can either be a `{ hash: Bytes }` value containing a block hash, a `{ number: Int }` containing the block number, or a `{ number_gte: Int }` containing the minimum block number. In the case of `number_gte`, the query will be executed on the latest block only if the subgraph has progressed to or past the minimum block number. Defaults to the latest block when omitted.
#### [batcher.subgraphError
](#)[\_SubgraphErrorPolicy\_!
](/docs/api/flow/graphql/the-graph/enums/subgraph-error-policy.mdx)
Set to `allow` to receive data even if the subgraph has skipped over errors while syncing.
### Type
#### [Batcher
](/docs/api/flow/graphql/the-graph/objects/batcher.mdx)
Sender address that created batches.
---
## batchers (2)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
No description
```graphql
batchers(
skip: Int = 0
first: Int = 100
orderBy: Batcher_orderBy
orderDirection: OrderDirection
where: Batcher_filter
block: Block_height
subgraphError: _SubgraphErrorPolicy_! = deny
): [Batcher!]!
```
### Arguments
#### [batchers.skip
](#)[Int
](/docs/api/flow/graphql/the-graph/scalars/int.mdx)
#### [batchers.first
](#)[Int
](/docs/api/flow/graphql/the-graph/scalars/int.mdx)
#### [batchers.orderBy
](#)[Batcher_orderBy
](/docs/api/flow/graphql/the-graph/enums/batcher-order-by.mdx)
#### [batchers.orderDirection
](#)[OrderDirection
](/docs/api/flow/graphql/the-graph/enums/order-direction.mdx)
#### [batchers.where
](#)[Batcher_filter
](/docs/api/flow/graphql/the-graph/inputs/batcher-filter.mdx)
#### [batchers.block
](#)[Block_height
](/docs/api/flow/graphql/the-graph/inputs/block-height.mdx)
The block at which the query should be executed. Can either be a `{ hash: Bytes }` value containing a block hash, a `{ number: Int }` containing the block number, or a `{ number_gte: Int }` containing the minimum block number. In the case of `number_gte`, the query will be executed on the latest block only if the subgraph has progressed to or past the minimum block number. Defaults to the latest block when omitted.
#### [batchers.subgraphError
](#)[\_SubgraphErrorPolicy\_!
](/docs/api/flow/graphql/the-graph/enums/subgraph-error-policy.mdx)
Set to `allow` to receive data even if the subgraph has skipped over errors while syncing.
### Type
#### [Batcher
](/docs/api/flow/graphql/the-graph/objects/batcher.mdx)
Sender address that created batches.
---
## batches (2)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
No description
```graphql
batches(
skip: Int = 0
first: Int = 100
orderBy: Batch_orderBy
orderDirection: OrderDirection
where: Batch_filter
block: Block_height
subgraphError: _SubgraphErrorPolicy_! = deny
): [Batch!]!
```
### Arguments
#### [batches.skip
](#)[Int
](/docs/api/flow/graphql/the-graph/scalars/int.mdx)
#### [batches.first
](#)[Int
](/docs/api/flow/graphql/the-graph/scalars/int.mdx)
#### [batches.orderBy
](#)[Batch_orderBy
](/docs/api/flow/graphql/the-graph/enums/batch-order-by.mdx)
#### [batches.orderDirection
](#)[OrderDirection
](/docs/api/flow/graphql/the-graph/enums/order-direction.mdx)
#### [batches.where
](#)[Batch_filter
](/docs/api/flow/graphql/the-graph/inputs/batch-filter.mdx)
#### [batches.block
](#)[Block_height
](/docs/api/flow/graphql/the-graph/inputs/block-height.mdx)
The block at which the query should be executed. Can either be a `{ hash: Bytes }` value containing a block hash, a `{ number: Int }` containing the block number, or a `{ number_gte: Int }` containing the minimum block number. In the case of `number_gte`, the query will be executed on the latest block only if the subgraph has progressed to or past the minimum block number. Defaults to the latest block when omitted.
#### [batches.subgraphError
](#)[\_SubgraphErrorPolicy\_!
](/docs/api/flow/graphql/the-graph/enums/subgraph-error-policy.mdx)
Set to `allow` to receive data even if the subgraph has skipped over errors while syncing.
### Type
#### [Batch
](/docs/api/flow/graphql/the-graph/objects/batch.mdx)
Creating streams in bulk is possible using the SablierBatchLockup contract.
See https://github.com/sablier-labs/lockup/blob/v2.0/src/SablierBatchLockup.sol
Note: the entity can be immutable because a batch is only updated in the same block.
See https://thegraph.com/docs/en/subgraphs/developing/creating/ql-schema/#defining-entities
---
## _meta (2)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
Access to subgraph metadata
```graphql
_meta(
block: Block_height
): _Meta_
```
### Arguments
#### [\_meta.block
](#)[Block_height
](/docs/api/flow/graphql/the-graph/inputs/block-height.mdx)
### Type
#### [\_Meta\_
](/docs/api/flow/graphql/the-graph/objects/meta.mdx)
The type for the top-level \_meta field
---
## stream (6)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
No description
```graphql
stream(
id: ID!
block: Block_height
subgraphError: _SubgraphErrorPolicy_! = deny
): Stream
```
### Arguments
#### [stream.id
](#)[ID!
](/docs/api/flow/graphql/the-graph/scalars/id.mdx)
#### [stream.block
](#)[Block_height
](/docs/api/flow/graphql/the-graph/inputs/block-height.mdx)
The block at which the query should be executed. Can either be a `{ hash: Bytes }` value containing a block hash, a `{ number: Int }` containing the block number, or a `{ number_gte: Int }` containing the minimum block number. In the case of `number_gte`, the query will be executed on the latest block only if the subgraph has progressed to or past the minimum block number. Defaults to the latest block when omitted.
#### [stream.subgraphError
](#)[\_SubgraphErrorPolicy\_!
](/docs/api/flow/graphql/the-graph/enums/subgraph-error-policy.mdx)
Set to `allow` to receive data even if the subgraph has skipped over errors while syncing.
### Type
#### [Stream
](/docs/api/flow/graphql/the-graph/objects/stream.mdx)
---
## streams (2)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
No description
```graphql
streams(
skip: Int = 0
first: Int = 100
orderBy: Stream_orderBy
orderDirection: OrderDirection
where: Stream_filter
block: Block_height
subgraphError: _SubgraphErrorPolicy_! = deny
): [Stream!]!
```
### Arguments
#### [streams.skip
](#)[Int
](/docs/api/flow/graphql/the-graph/scalars/int.mdx)
#### [streams.first
](#)[Int
](/docs/api/flow/graphql/the-graph/scalars/int.mdx)
#### [streams.orderBy
](#)[Stream_orderBy
](/docs/api/flow/graphql/the-graph/enums/stream-order-by.mdx)
#### [streams.orderDirection
](#)[OrderDirection
](/docs/api/flow/graphql/the-graph/enums/order-direction.mdx)
#### [streams.where
](#)[Stream_filter
](/docs/api/flow/graphql/the-graph/inputs/stream-filter.mdx)
#### [streams.block
](#)[Block_height
](/docs/api/flow/graphql/the-graph/inputs/block-height.mdx)
The block at which the query should be executed. Can either be a `{ hash: Bytes }` value containing a block hash, a `{ number: Int }` containing the block number, or a `{ number_gte: Int }` containing the minimum block number. In the case of `number_gte`, the query will be executed on the latest block only if the subgraph has progressed to or past the minimum block number. Defaults to the latest block when omitted.
#### [streams.subgraphError
](#)[\_SubgraphErrorPolicy\_!
](/docs/api/flow/graphql/the-graph/enums/subgraph-error-policy.mdx)
Set to `allow` to receive data even if the subgraph has skipped over errors while syncing.
### Type
#### [Stream
](/docs/api/flow/graphql/the-graph/objects/stream.mdx)
---
## watcher (8)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
No description
```graphql
watcher(
id: ID!
block: Block_height
subgraphError: _SubgraphErrorPolicy_! = deny
): Watcher
```
### Arguments
#### [watcher.id
](#)[ID!
](/docs/api/flow/graphql/the-graph/scalars/id.mdx)
#### [watcher.block
](#)[Block_height
](/docs/api/flow/graphql/the-graph/inputs/block-height.mdx)
The block at which the query should be executed. Can either be a `{ hash: Bytes }` value containing a block hash, a `{ number: Int }` containing the block number, or a `{ number_gte: Int }` containing the minimum block number. In the case of `number_gte`, the query will be executed on the latest block only if the subgraph has progressed to or past the minimum block number. Defaults to the latest block when omitted.
#### [watcher.subgraphError
](#)[\_SubgraphErrorPolicy\_!
](/docs/api/flow/graphql/the-graph/enums/subgraph-error-policy.mdx)
Set to `allow` to receive data even if the subgraph has skipped over errors while syncing.
### Type
#### [Watcher
](/docs/api/flow/graphql/the-graph/objects/watcher.mdx)
---
## watchers (2)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
No description
```graphql
watchers(
skip: Int = 0
first: Int = 100
orderBy: Watcher_orderBy
orderDirection: OrderDirection
where: Watcher_filter
block: Block_height
subgraphError: _SubgraphErrorPolicy_! = deny
): [Watcher!]!
```
### Arguments
#### [watchers.skip
](#)[Int
](/docs/api/flow/graphql/the-graph/scalars/int.mdx)
#### [watchers.first
](#)[Int
](/docs/api/flow/graphql/the-graph/scalars/int.mdx)
#### [watchers.orderBy
](#)[Watcher_orderBy
](/docs/api/flow/graphql/the-graph/enums/watcher-order-by.mdx)
#### [watchers.orderDirection
](#)[OrderDirection
](/docs/api/flow/graphql/the-graph/enums/order-direction.mdx)
#### [watchers.where
](#)[Watcher_filter
](/docs/api/flow/graphql/the-graph/inputs/watcher-filter.mdx)
#### [watchers.block
](#)[Block_height
](/docs/api/flow/graphql/the-graph/inputs/block-height.mdx)
The block at which the query should be executed. Can either be a `{ hash: Bytes }` value containing a block hash, a `{ number: Int }` containing the block number, or a `{ number_gte: Int }` containing the minimum block number. In the case of `number_gte`, the query will be executed on the latest block only if the subgraph has progressed to or past the minimum block number. Defaults to the latest block when omitted.
#### [watchers.subgraphError
](#)[\_SubgraphErrorPolicy\_!
](/docs/api/flow/graphql/the-graph/enums/subgraph-error-policy.mdx)
Set to `allow` to receive data even if the subgraph has skipped over errors while syncing.
### Type
#### [Watcher
](/docs/api/flow/graphql/the-graph/objects/watcher.mdx)
---
## BigDecimal (2)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
No description
```graphql
scalar BigDecimal
```
---
## BigInt (2)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
No description
```graphql
scalar BigInt
```
---
## Boolean (4)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
The `Boolean` scalar type represents `true` or `false`.
```graphql
scalar Boolean
```
---
## Bytes (2)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
No description
```graphql
scalar Bytes
```
---
## Float (4)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
The `Float` scalar type represents signed double-precision fractional values as specified by [IEEE 754](https://en.wikipedia.org/wiki/IEEE_floating_point).
```graphql
scalar Float
```
---
## ID (2)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
The `ID` scalar type represents a unique identifier, often used to refetch an object or as key for a cache. The ID type appears in a JSON response as a String; however, it is not intended to be human-readable. When expected as an input type, any string (such as `"4"`) or integer (such as `4`) input value will be accepted as an ID.
```graphql
scalar ID
```
---
## Int8 (2)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
8 bytes signed integer
```graphql
scalar Int8
```
---
## Int (4)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
The `Int` scalar type represents non-fractional signed whole numeric values. Int can represent values between -(2^31) and 2^31 - 1.
```graphql
scalar Int
```
---
## String (4)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
The `String` scalar type represents textual data, represented as UTF-8 character sequences. The String type is most often used by GraphQL to represent free-form human-readable text.
```graphql
scalar String
```
---
## Timestamp (4)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
A string representation of microseconds UNIX timestamp (16 digits)
```graphql
scalar Timestamp
```
---
## Indexers (3)
# Sablier Lockup
This page documents the indexers for the [Sablier Lockup](/concepts/lockup/overview) protocol, which powers the [Vesting](/apps/features/vesting) product and some of the [Airdrop](/apps/features/airdrops) product features in the Sablier Interface.
## Envio
### Source Code
### Endpoints
Envio is a multi-chain indexer. There's a single GraphQL API endpoint that aggregates data across chains. This approach differs from
other vendors like The Graph, which require a separate indexer for each chain where Sablier is available.
| Chain | Production URL | Playground URL | Explorer URL |
| -------- | -------------- | ----------- | ------------ |
| Abstract | https://indexer.hyperindex.xyz/53b7e25/v1/graphql | [Playground](https://cloud.hasura.io/public/graphiql?endpoint=https%3A%2F%2Findexer.hyperindex.xyz%2F53b7e25%2Fv1%2Fgraphql) | [Explorer](https://envio.dev/app/sablier-labs/lockup-envio) |
| Arbitrum | https://indexer.hyperindex.xyz/53b7e25/v1/graphql | [Playground](https://cloud.hasura.io/public/graphiql?endpoint=https%3A%2F%2Findexer.hyperindex.xyz%2F53b7e25%2Fv1%2Fgraphql) | [Explorer](https://envio.dev/app/sablier-labs/lockup-envio) |
| Avalanche | https://indexer.hyperindex.xyz/53b7e25/v1/graphql | [Playground](https://cloud.hasura.io/public/graphiql?endpoint=https%3A%2F%2Findexer.hyperindex.xyz%2F53b7e25%2Fv1%2Fgraphql) | [Explorer](https://envio.dev/app/sablier-labs/lockup-envio) |
| Base | https://indexer.hyperindex.xyz/53b7e25/v1/graphql | [Playground](https://cloud.hasura.io/public/graphiql?endpoint=https%3A%2F%2Findexer.hyperindex.xyz%2F53b7e25%2Fv1%2Fgraphql) | [Explorer](https://envio.dev/app/sablier-labs/lockup-envio) |
| Blast | https://indexer.hyperindex.xyz/53b7e25/v1/graphql | [Playground](https://cloud.hasura.io/public/graphiql?endpoint=https%3A%2F%2Findexer.hyperindex.xyz%2F53b7e25%2Fv1%2Fgraphql) | [Explorer](https://envio.dev/app/sablier-labs/lockup-envio) |
| Berachain | https://indexer.hyperindex.xyz/53b7e25/v1/graphql | [Playground](https://cloud.hasura.io/public/graphiql?endpoint=https%3A%2F%2Findexer.hyperindex.xyz%2F53b7e25%2Fv1%2Fgraphql) | [Explorer](https://envio.dev/app/sablier-labs/lockup-envio) |
| BNB Chain | https://indexer.hyperindex.xyz/53b7e25/v1/graphql | [Playground](https://cloud.hasura.io/public/graphiql?endpoint=https%3A%2F%2Findexer.hyperindex.xyz%2F53b7e25%2Fv1%2Fgraphql) | [Explorer](https://envio.dev/app/sablier-labs/lockup-envio) |
| Chiliz | https://indexer.hyperindex.xyz/53b7e25/v1/graphql | [Playground](https://cloud.hasura.io/public/graphiql?endpoint=https%3A%2F%2Findexer.hyperindex.xyz%2F53b7e25%2Fv1%2Fgraphql) | [Explorer](https://envio.dev/app/sablier-labs/lockup-envio) |
| Form | https://indexer.hyperindex.xyz/53b7e25/v1/graphql | [Playground](https://cloud.hasura.io/public/graphiql?endpoint=https%3A%2F%2Findexer.hyperindex.xyz%2F53b7e25%2Fv1%2Fgraphql) | [Explorer](https://envio.dev/app/sablier-labs/lockup-envio) |
| Gnosis | https://indexer.hyperindex.xyz/53b7e25/v1/graphql | [Playground](https://cloud.hasura.io/public/graphiql?endpoint=https%3A%2F%2Findexer.hyperindex.xyz%2F53b7e25%2Fv1%2Fgraphql) | [Explorer](https://envio.dev/app/sablier-labs/lockup-envio) |
| HyperEVM | https://indexer.hyperindex.xyz/53b7e25/v1/graphql | [Playground](https://cloud.hasura.io/public/graphiql?endpoint=https%3A%2F%2Findexer.hyperindex.xyz%2F53b7e25%2Fv1%2Fgraphql) | [Explorer](https://envio.dev/app/sablier-labs/lockup-envio) |
| Lightlink | https://indexer.hyperindex.xyz/53b7e25/v1/graphql | [Playground](https://cloud.hasura.io/public/graphiql?endpoint=https%3A%2F%2Findexer.hyperindex.xyz%2F53b7e25%2Fv1%2Fgraphql) | [Explorer](https://envio.dev/app/sablier-labs/lockup-envio) |
| Linea Mainnet | https://indexer.hyperindex.xyz/53b7e25/v1/graphql | [Playground](https://cloud.hasura.io/public/graphiql?endpoint=https%3A%2F%2Findexer.hyperindex.xyz%2F53b7e25%2Fv1%2Fgraphql) | [Explorer](https://envio.dev/app/sablier-labs/lockup-envio) |
| Ethereum | https://indexer.hyperindex.xyz/53b7e25/v1/graphql | [Playground](https://cloud.hasura.io/public/graphiql?endpoint=https%3A%2F%2Findexer.hyperindex.xyz%2F53b7e25%2Fv1%2Fgraphql) | [Explorer](https://envio.dev/app/sablier-labs/lockup-envio) |
| Mode | https://indexer.hyperindex.xyz/53b7e25/v1/graphql | [Playground](https://cloud.hasura.io/public/graphiql?endpoint=https%3A%2F%2Findexer.hyperindex.xyz%2F53b7e25%2Fv1%2Fgraphql) | [Explorer](https://envio.dev/app/sablier-labs/lockup-envio) |
| Morph | https://indexer.hyperindex.xyz/53b7e25/v1/graphql | [Playground](https://cloud.hasura.io/public/graphiql?endpoint=https%3A%2F%2Findexer.hyperindex.xyz%2F53b7e25%2Fv1%2Fgraphql) | [Explorer](https://envio.dev/app/sablier-labs/lockup-envio) |
| OP Mainnet | https://indexer.hyperindex.xyz/53b7e25/v1/graphql | [Playground](https://cloud.hasura.io/public/graphiql?endpoint=https%3A%2F%2Findexer.hyperindex.xyz%2F53b7e25%2Fv1%2Fgraphql) | [Explorer](https://envio.dev/app/sablier-labs/lockup-envio) |
| Polygon | https://indexer.hyperindex.xyz/53b7e25/v1/graphql | [Playground](https://cloud.hasura.io/public/graphiql?endpoint=https%3A%2F%2Findexer.hyperindex.xyz%2F53b7e25%2Fv1%2Fgraphql) | [Explorer](https://envio.dev/app/sablier-labs/lockup-envio) |
| Sonic | https://indexer.hyperindex.xyz/53b7e25/v1/graphql | [Playground](https://cloud.hasura.io/public/graphiql?endpoint=https%3A%2F%2Findexer.hyperindex.xyz%2F53b7e25%2Fv1%2Fgraphql) | [Explorer](https://envio.dev/app/sablier-labs/lockup-envio) |
| Scroll | https://indexer.hyperindex.xyz/53b7e25/v1/graphql | [Playground](https://cloud.hasura.io/public/graphiql?endpoint=https%3A%2F%2Findexer.hyperindex.xyz%2F53b7e25%2Fv1%2Fgraphql) | [Explorer](https://envio.dev/app/sablier-labs/lockup-envio) |
| Sophon | https://indexer.hyperindex.xyz/53b7e25/v1/graphql | [Playground](https://cloud.hasura.io/public/graphiql?endpoint=https%3A%2F%2Findexer.hyperindex.xyz%2F53b7e25%2Fv1%2Fgraphql) | [Explorer](https://envio.dev/app/sablier-labs/lockup-envio) |
| Superseed | https://indexer.hyperindex.xyz/53b7e25/v1/graphql | [Playground](https://cloud.hasura.io/public/graphiql?endpoint=https%3A%2F%2Findexer.hyperindex.xyz%2F53b7e25%2Fv1%2Fgraphql) | [Explorer](https://envio.dev/app/sablier-labs/lockup-envio) |
| Tangle | https://indexer.hyperindex.xyz/53b7e25/v1/graphql | [Playground](https://cloud.hasura.io/public/graphiql?endpoint=https%3A%2F%2Findexer.hyperindex.xyz%2F53b7e25%2Fv1%2Fgraphql) | [Explorer](https://envio.dev/app/sablier-labs/lockup-envio) |
| Unichain | https://indexer.hyperindex.xyz/53b7e25/v1/graphql | [Playground](https://cloud.hasura.io/public/graphiql?endpoint=https%3A%2F%2Findexer.hyperindex.xyz%2F53b7e25%2Fv1%2Fgraphql) | [Explorer](https://envio.dev/app/sablier-labs/lockup-envio) |
| XDC | https://indexer.hyperindex.xyz/53b7e25/v1/graphql | [Playground](https://cloud.hasura.io/public/graphiql?endpoint=https%3A%2F%2Findexer.hyperindex.xyz%2F53b7e25%2Fv1%2Fgraphql) | [Explorer](https://envio.dev/app/sablier-labs/lockup-envio) |
| ZKsync Era | https://indexer.hyperindex.xyz/53b7e25/v1/graphql | [Playground](https://cloud.hasura.io/public/graphiql?endpoint=https%3A%2F%2Findexer.hyperindex.xyz%2F53b7e25%2Fv1%2Fgraphql) | [Explorer](https://envio.dev/app/sablier-labs/lockup-envio) |
| Base Sepolia | https://indexer.hyperindex.xyz/53b7e25/v1/graphql | [Playground](https://cloud.hasura.io/public/graphiql?endpoint=https%3A%2F%2Findexer.hyperindex.xyz%2F53b7e25%2Fv1%2Fgraphql) | [Explorer](https://envio.dev/app/sablier-labs/lockup-envio) |
| Sepolia | https://indexer.hyperindex.xyz/53b7e25/v1/graphql | [Playground](https://cloud.hasura.io/public/graphiql?endpoint=https%3A%2F%2Findexer.hyperindex.xyz%2F53b7e25%2Fv1%2Fgraphql) | [Explorer](https://envio.dev/app/sablier-labs/lockup-envio) |
## The Graph
### Source Code
### Endpoints
In the table below, you will see three URLs:
- `Production URL`: requires a Studio API key for making queries.
- `Testing URL`: doesn't require an API key but it's rate-limited to 3000 queries per day. Opening this URL in the browser opens a GraphiQL playground.
- `Explorer URL`: The explorer URL for the indexer, if available.
To learn how to create a Studio API key, check out [this guide](https://thegraph.com/docs/en/studio/managing-api-keys).
The API key has to be provided via an `Authorization: Bearer ` header. Here are two examples in curl and JavaScript:
```bash
curl -X POST \
-H "Authorization: Bearer " \
-H "Content-Type: application/json" \
-d '{"query": "{ _meta: { block { number } } }"' \
```
```js
async function getBlockNumber() {
const client = new GraphQLClient("", {
headers: {
Authorization: `Bearer `,
},
});
const query = `query { _meta: { block { number } } }`;
const result = await client.request(query);
console.log(result);
}
```
| Chain | Production URL | Testing URL | Explorer URL |
| -------- | -------------- | ----------- | ------------ |
| Abstract | [sablier-lockup-abstract](https://gateway.thegraph.com/api/subgraphs/id/2QjTdDFY233faXksUruMERMiDoQDdtGG5hBLC27aT1Pw) | [Testing](https://api.studio.thegraph.com/query/112500/sablier-lockup-abstract/version/latest) | [Explorer](https://thegraph.com/explorer/subgraphs/2QjTdDFY233faXksUruMERMiDoQDdtGG5hBLC27aT1Pw) |
| Arbitrum | [sablier-lockup-arbitrum-one](https://gateway.thegraph.com/api/subgraphs/id/yvDXXHSyv6rGPSzfpbBcbQmMFrECac3Q2zADkYsMxam) | [Testing](https://api.studio.thegraph.com/query/112500/sablier-lockup-arbitrum-one/version/latest) | [Explorer](https://thegraph.com/explorer/subgraphs/yvDXXHSyv6rGPSzfpbBcbQmMFrECac3Q2zADkYsMxam) |
| Arbitrum Sepolia | [sablier-lockup-arbitrum-sepolia](https://gateway.thegraph.com/api/subgraphs/id/ApEFvaPGARHedGmFp6TRQu7DoDHQKwt1LPWi1ka6DFHT) | [Testing](https://api.studio.thegraph.com/query/112500/sablier-lockup-arbitrum-sepolia/version/latest) | [Explorer](https://thegraph.com/explorer/subgraphs/ApEFvaPGARHedGmFp6TRQu7DoDHQKwt1LPWi1ka6DFHT) |
| Avalanche | [sablier-lockup-avalanche](https://gateway.thegraph.com/api/subgraphs/id/FTDmonvFEm1VGkzECcnDY2CPHcW5dSmHRurSjEEfTkCX) | [Testing](https://api.studio.thegraph.com/query/112500/sablier-lockup-avalanche/version/latest) | [Explorer](https://thegraph.com/explorer/subgraphs/FTDmonvFEm1VGkzECcnDY2CPHcW5dSmHRurSjEEfTkCX) |
| Base | [sablier-lockup-base](https://gateway.thegraph.com/api/subgraphs/id/778GfecD9tsyB4xNnz4wfuAyfHU6rqGr79VCPZKu3t2F) | [Testing](https://api.studio.thegraph.com/query/112500/sablier-lockup-base/version/latest) | [Explorer](https://thegraph.com/explorer/subgraphs/778GfecD9tsyB4xNnz4wfuAyfHU6rqGr79VCPZKu3t2F) |
| Base Sepolia | [sablier-lockup-base-sepolia](https://gateway.thegraph.com/api/subgraphs/id/DdiYENuyh5ztSybRJnBnCZuUgESkFasjGFHZUbURpKHz) | [Testing](https://api.studio.thegraph.com/query/112500/sablier-lockup-base-sepolia/version/latest) | [Explorer](https://thegraph.com/explorer/subgraphs/DdiYENuyh5ztSybRJnBnCZuUgESkFasjGFHZUbURpKHz) |
| Berachain | [sablier-lockup-berachain](https://gateway.thegraph.com/api/subgraphs/id/C2r13APcUemQtVdPFm7p7T3aJkU2rH2EvdZzrQ53zi14) | [Testing](https://api.studio.thegraph.com/query/112500/sablier-lockup-berachain/version/latest) | [Explorer](https://thegraph.com/explorer/subgraphs/C2r13APcUemQtVdPFm7p7T3aJkU2rH2EvdZzrQ53zi14) |
| Blast | [sablier-lockup-blast-mainnet](https://gateway.thegraph.com/api/subgraphs/id/8MBBc6ET4izgJRrybgWzPjokhZKSjk43BNY1q3xcb8Es) | [Testing](https://api.studio.thegraph.com/query/112500/sablier-lockup-blast-mainnet/version/latest) | [Explorer](https://thegraph.com/explorer/subgraphs/8MBBc6ET4izgJRrybgWzPjokhZKSjk43BNY1q3xcb8Es) |
| BNB Chain | [sablier-lockup-bsc](https://gateway.thegraph.com/api/subgraphs/id/A8Vc9hi7j45u7P8Uw5dg4uqYJgPo4x1rB4oZtTVaiccK) | [Testing](https://api.studio.thegraph.com/query/112500/sablier-lockup-bsc/version/latest) | [Explorer](https://thegraph.com/explorer/subgraphs/A8Vc9hi7j45u7P8Uw5dg4uqYJgPo4x1rB4oZtTVaiccK) |
| Chiliz | [sablier-lockup-chiliz](https://gateway.thegraph.com/api/subgraphs/id/4KsXUFvsKFHH7Q8k3BPgEv2NhCJJGwG78gCPAUpncYb) | [Testing](https://api.studio.thegraph.com/query/112500/sablier-lockup-chiliz/version/latest) | [Explorer](https://thegraph.com/explorer/subgraphs/4KsXUFvsKFHH7Q8k3BPgEv2NhCJJGwG78gCPAUpncYb) |
| Ethereum | [sablier-lockup-mainnet](https://gateway.thegraph.com/api/subgraphs/id/AvDAMYYHGaEwn9F9585uqq6MM5CfvRtYcb7KjK7LKPCt) | [Testing](https://api.studio.thegraph.com/query/112500/sablier-lockup-mainnet/version/latest) | [Explorer](https://thegraph.com/explorer/subgraphs/AvDAMYYHGaEwn9F9585uqq6MM5CfvRtYcb7KjK7LKPCt) |
| Form | [sablier-lockup-form](https://formapi.0xgraph.xyz/api/public/5961fb30-8fdc-45ad-9a35-555dd5e0dd56/subgraphs/sablier-lockup-form/2.3_1.0.0/gn) | N/A | N/A |
| Gnosis | [sablier-lockup-gnosis](https://gateway.thegraph.com/api/subgraphs/id/DtKniy1RvB19q1r2g1WLN4reMNKDacEnuAjh284rW2iK) | [Testing](https://api.studio.thegraph.com/query/112500/sablier-lockup-gnosis/version/latest) | [Explorer](https://thegraph.com/explorer/subgraphs/DtKniy1RvB19q1r2g1WLN4reMNKDacEnuAjh284rW2iK) |
| IoTeX | [sablier-lockup-iotex](https://gateway.thegraph.com/api/subgraphs/id/2P3sxwmcWBjMUv1C79Jh4h6VopBaBZeTocYWDUQqwWFV) | [Testing](https://api.studio.thegraph.com/query/112500/sablier-lockup-iotex/version/latest) | [Explorer](https://thegraph.com/explorer/subgraphs/2P3sxwmcWBjMUv1C79Jh4h6VopBaBZeTocYWDUQqwWFV) |
| Lightlink | [sablier-lockup-lightlink](https://graph.phoenix.lightlink.io/query/subgraphs/name/lightlink/sablier-lockup-lightlink) | N/A | N/A |
| Linea Mainnet | [sablier-lockup-linea](https://gateway.thegraph.com/api/subgraphs/id/GvpecytqVzLzuwuQB3enozXoaZRFoVx8Kr7qrfMiE9bs) | [Testing](https://api.studio.thegraph.com/query/112500/sablier-lockup-linea/version/latest) | [Explorer](https://thegraph.com/explorer/subgraphs/GvpecytqVzLzuwuQB3enozXoaZRFoVx8Kr7qrfMiE9bs) |
| Mode | [sablier-lockup-mode-mainnet](https://gateway.thegraph.com/api/subgraphs/id/oSBvUM371as1pJh8HQ72NMRMb3foV3wuheULfkNf5vy) | [Testing](https://api.studio.thegraph.com/query/112500/sablier-lockup-mode-mainnet/version/latest) | [Explorer](https://thegraph.com/explorer/subgraphs/oSBvUM371as1pJh8HQ72NMRMb3foV3wuheULfkNf5vy) |
| OP Mainnet | [sablier-lockup-optimism](https://gateway.thegraph.com/api/subgraphs/id/NZHzd2JNFKhHP5EWUiDxa5TaxGCFbSD4g6YnYr8JGi6) | [Testing](https://api.studio.thegraph.com/query/112500/sablier-lockup-optimism/version/latest) | [Explorer](https://thegraph.com/explorer/subgraphs/NZHzd2JNFKhHP5EWUiDxa5TaxGCFbSD4g6YnYr8JGi6) |
| OP Sepolia | [sablier-lockup-optimism-sepolia](https://gateway.thegraph.com/api/subgraphs/id/2LFYyhMVMUMYA2q7XMMnBvCs6v6awWxBeMuMk3tMtmiT) | [Testing](https://api.studio.thegraph.com/query/112500/sablier-lockup-optimism-sepolia/version/latest) | [Explorer](https://thegraph.com/explorer/subgraphs/2LFYyhMVMUMYA2q7XMMnBvCs6v6awWxBeMuMk3tMtmiT) |
| Polygon | [sablier-lockup-matic](https://gateway.thegraph.com/api/subgraphs/id/8fgeQMEQ8sskVeWE5nvtsVL2VpezDrAkx2d1VeiHiheu) | [Testing](https://api.studio.thegraph.com/query/112500/sablier-lockup-matic/version/latest) | [Explorer](https://thegraph.com/explorer/subgraphs/8fgeQMEQ8sskVeWE5nvtsVL2VpezDrAkx2d1VeiHiheu) |
| Scroll | [sablier-lockup-scroll](https://gateway.thegraph.com/api/subgraphs/id/GycpYx8c9eRqxvEAfqnpNd1ZfXeuLzjRhnG7vvYaqEE1) | [Testing](https://api.studio.thegraph.com/query/112500/sablier-lockup-scroll/version/latest) | [Explorer](https://thegraph.com/explorer/subgraphs/GycpYx8c9eRqxvEAfqnpNd1ZfXeuLzjRhnG7vvYaqEE1) |
| Sei Network | [sablier-lockup-sei-mainnet](https://gateway.thegraph.com/api/subgraphs/id/AJU5rBfbuApuJpeZeaz6NYuYnnhAhEy4gFkqsSdAT6xb) | [Testing](https://api.studio.thegraph.com/query/112500/sablier-lockup-sei-mainnet/version/latest) | [Explorer](https://thegraph.com/explorer/subgraphs/AJU5rBfbuApuJpeZeaz6NYuYnnhAhEy4gFkqsSdAT6xb) |
| Sepolia | [sablier-lockup-sepolia](https://gateway.thegraph.com/api/subgraphs/id/5yDtFSxyRuqyjvGJyyuQhMEW3Uah7Ddy2KFSKVhy9VMa) | [Testing](https://api.studio.thegraph.com/query/112500/sablier-lockup-sepolia/version/latest) | [Explorer](https://thegraph.com/explorer/subgraphs/5yDtFSxyRuqyjvGJyyuQhMEW3Uah7Ddy2KFSKVhy9VMa) |
| Sonic | [sablier-lockup-sonic](https://gateway.thegraph.com/api/subgraphs/id/GnaSPX9XLkPn219CqbGFU1NgveuQk2Hh3c8WxjtesaEh) | [Testing](https://api.studio.thegraph.com/query/112500/sablier-lockup-sonic/version/latest) | [Explorer](https://thegraph.com/explorer/subgraphs/GnaSPX9XLkPn219CqbGFU1NgveuQk2Hh3c8WxjtesaEh) |
| Unichain | [sablier-lockup-unichain](https://gateway.thegraph.com/api/subgraphs/id/3MUG4H3gZcp9fpGLiJMTMeUFcQQ6QdT317P4wYKyns9M) | [Testing](https://api.studio.thegraph.com/query/112500/sablier-lockup-unichain/version/latest) | [Explorer](https://thegraph.com/explorer/subgraphs/3MUG4H3gZcp9fpGLiJMTMeUFcQQ6QdT317P4wYKyns9M) |
| ZKsync Era | [sablier-lockup-zksync-era](https://gateway.thegraph.com/api/subgraphs/id/7SuEYGYwZ835LjVGB85ZE8z5zmqdKgmRh8kAEeJefWQN) | [Testing](https://api.studio.thegraph.com/query/112500/sablier-lockup-zksync-era/version/latest) | [Explorer](https://thegraph.com/explorer/subgraphs/7SuEYGYwZ835LjVGB85ZE8z5zmqdKgmRh8kAEeJefWQN) |
---
## Previous Indexers (3)
:::important
The following indexers were deprecated on February 3, 2025, so they might return outdated data if queried now. Please
use our latest endpoints to query up-to-date data for the Sablier Protocol.
:::
| Chain | Explorer | Studio[^2] | Decentralized Network[^1] |
| ---------------- | -------------------------------------------------------- | --------------------------------- | ------------------------------------ |
| Ethereum | [sablier-v2][explorer-ethereum] | [Studio][studio-ethereum] | [Network][network-ethereum] |
| Arbitrum | [sablier-v2-arbitrum][explorer-arbitrum] | [Studio][studio-arbitrum] | [Network][network-arbitrum] |
| Arbitrum Sepolia | [sablier-v2-arbitrum-sepolia][explorer-arbitrum-sepolia] | [Studio][studio-arbitrum-sepolia] | [Network][network-arbitrum-sepolia] |
| Avalanche | [sablier-v2-avalanche][explorer-avalanche] | [Studio][studio-avalanche] | [Network][network-avalanche] |
| Base | [sablier-v2-base][explorer-base] | [Studio][studio-base] | [Network][network-base] |
| Blast | [sablier-v2-blast][explorer-blast] | [Studio][studio-blast] | [Network][network-blast] |
| BNB Chain | [sablier-v2-bsc][explorer-bsc] | [Studio][studio-bsc] | [Network][network-bsc] |
| Chliz Chain | [sablier-v2-chiliz][explorer-chiliz] | [Studio][studio-chiliz] | [Network][network-chiliz] |
| Gnosis | [sablier-v2-gnosis][explorer-gnosis] | [Studio][studio-gnosis] | [Network][network-gnosis] |
| Lightlink | [sablier-v2-lightlink\*][explorer-lightlink] | N/A | [Lightlink Node\*][custom-lightlink] |
| Optimism | [sablier-v2-optimism][explorer-optimism] | [Studio][studio-optimism] | [Network][network-optimism] |
| Optimism Sepolia | [sablier-v2-optimism-sepolia][explorer-optimism-sepolia] | [Studio][studio-optimism-sepolia] | [Network][network-optimism-sepolia] |
| Polygon | [sablier-v2-polygon][explorer-polygon] | [Studio][studio-polygon] | [Network][network-polygon] |
| Scroll | [sablier-v2-scroll][explorer-scroll] | [Studio][studio-scroll] | [Network][network-scroll] |
| Ethereum Sepolia | [sablier-v2-sepolia][explorer-sepolia] | [Studio][studio-sepolia] | [Network][network-sepolia] |
| zkSync | [sablier-v2-zksync][explorer-zksync] | [Studio][studio-zksync] | [Network][network-zksync] |
{/* --------------------------------------------------------------------------------------------------------------------------------- */}
{/* --------------------------------------------------------------------------------------------------------------------------------- */}
{/* --------------------------------------------------------------------------------------------------------------------------------- */}
{/* Chain: Arbitrum */}
[network-arbitrum]: https://gateway-arbitrum.network.thegraph.com/api/API_KEY/subgraphs/id/8BnGPBojHycDxVo83LP468pUo4xDyCQbtTpHGZXR6SiB
[explorer-arbitrum]: https://thegraph.com/explorer/subgraphs/8BnGPBojHycDxVo83LP468pUo4xDyCQbtTpHGZXR6SiB
[studio-arbitrum]: https://api.studio.thegraph.com/query/57079/sablier-v2-arbitrum/version/latest
{/* Chain: Arbitrum Sepolia */}
[network-arbitrum-sepolia]: https://gateway-arbitrum.network.thegraph.com/api/API_KEY/subgraphs/id/BZYXgTYGe51dy5rW6LhrLN7PWSiAgRQoqSBJEiPpRN9K
[explorer-arbitrum-sepolia]: https://thegraph.com/explorer/subgraphs/BZYXgTYGe51dy5rW6LhrLN7PWSiAgRQoqSBJEiPpRN9K
[studio-arbitrum-sepolia]: https://api.studio.thegraph.com/query/57079/sablier-v2-arbitrum-sepolia/version/latest
{/* Chain: Avalanche */}
[network-avalanche]: https://gateway-arbitrum.network.thegraph.com/api/API_KEY/subgraphs/id/FdVwZuMV43yCb1nPmjnLQwmzS58wvKuLMPzcZ4UWgWAc
[explorer-avalanche]: https://thegraph.com/explorer/subgraphs/FdVwZuMV43yCb1nPmjnLQwmzS58wvKuLMPzcZ4UWgWAc
[studio-avalanche]: https://api.studio.thegraph.com/query/57079/sablier-v2-avalanche/version/latest
{/* Chain: Base */}
[network-base]: https://gateway-arbitrum.network.thegraph.com/api/API_KEY/subgraphs/id/3pxjsW9rbDjmZpoQWzc5CAo4vzcyYE9YQyTghntmnb1K
[explorer-base]: https://thegraph.com/explorer/subgraphs/3pxjsW9rbDjmZpoQWzc5CAo4vzcyYE9YQyTghntmnb1K
[studio-base]: https://api.studio.thegraph.com/query/57079/sablier-v2-base/version/latest
{/* Chain: Blast */}
[network-blast]: https://gateway-arbitrum.network.thegraph.com/api/API_KEY/subgraphs/id/BXoC2ToMZXnTmCjWftQRPh9zMyM7ysijMN54Nxzb2CEY
[explorer-blast]: https://thegraph.com/explorer/subgraphs/BXoC2ToMZXnTmCjWftQRPh9zMyM7ysijMN54Nxzb2CEY
[studio-blast]: https://api.studio.thegraph.com/query/57079/sablier-v2-blast/version/latest
{/* Chain: BSC */}
[network-bsc]: https://gateway-arbitrum.network.thegraph.com/api/API_KEY/subgraphs/id/BVyi15zcH5eUg5PPKfRDDesezMezh6cAkn8LPvh7MVAF
[explorer-bsc]: https://thegraph.com/explorer/subgraphs/BVyi15zcH5eUg5PPKfRDDesezMezh6cAkn8LPvh7MVAF
[studio-bsc]: https://api.studio.thegraph.com/query/57079/sablier-v2-bsc/version/latest
{/* Chain: Chiliz */}
[network-chiliz]: https://gateway-arbitrum.network.thegraph.com/api/API_KEY/subgraphs/id/HKvzAuGjrEiza11W48waJy5csbhKpkMLF688arwHhT5f
[explorer-chiliz]: https://thegraph.com/explorer/subgraphs/HKvzAuGjrEiza11W48waJy5csbhKpkMLF688arwHhT5f
[studio-chiliz]: https://api.studio.thegraph.com/query/57079/sablier-v2-chiliz/version/latest
{/* Chain: Gnosis */}
[network-gnosis]: https://gateway-arbitrum.network.thegraph.com/api/API_KEY/subgraphs/id/EXhNLbhCbsewJPx4jx5tutNXpxwdgng2kmX1J7w1bFyu
[explorer-gnosis]: https://thegraph.com/explorer/subgraphs/EXhNLbhCbsewJPx4jx5tutNXpxwdgng2kmX1J7w1bFyu
[studio-gnosis]: https://api.studio.thegraph.com/query/57079/sablier-v2-gnosis/version/latest
{/* Chain: Lightlink */}
[explorer-lightlink]: https://graph.phoenix.lightlink.io/query/subgraphs/name/lightlink/sablier-v2-lightlink/graphql
[custom-lightlink]: https://graph.phoenix.lightlink.io/query/subgraphs/name/lightlink/sablier-v2-lightlink
{/* Chain: Mainnet | Ethereum */}
[explorer-ethereum]: https://thegraph.com/explorer/subgraphs/EuZZnhFtdCGqN2Zt7EMGYDqQKNrVuhJL63KAfwvF35bL
[studio-ethereum]: https://api.studio.thegraph.com/query/57079/sablier-v2/version/latest
[network-ethereum]: https://gateway-arbitrum.network.thegraph.com/api/API_KEY/subgraphs/id/EuZZnhFtdCGqN2Zt7EMGYDqQKNrVuhJL63KAfwvF35bL
{/* Chain: Optimism */}
[network-optimism]: https://gateway-arbitrum.network.thegraph.com/api/API_KEY/subgraphs/id/6e6Dvs1yDpsWDDREZRqxGi54SVdvTNzUdKpKJxniKVrp
[explorer-optimism]: https://thegraph.com/explorer/subgraphs/6e6Dvs1yDpsWDDREZRqxGi54SVdvTNzUdKpKJxniKVrp
[studio-optimism]: https://api.studio.thegraph.com/query/57079/sablier-v2-optimism/version/latest
{/* Chain: Optimism Sepolia */}
[network-optimism-sepolia]: https://gateway-arbitrum.network.thegraph.com/api/API_KEY/subgraphs/id/2a2JpbmBfQs78UEvQYXgweHetcZUPm9zXCjP69o5mTed
[explorer-optimism-sepolia]: https://thegraph.com/explorer/subgraphs/2a2JpbmBfQs78UEvQYXgweHetcZUPm9zXCjP69o5mTed
[studio-optimism-sepolia]: https://api.studio.thegraph.com/query/57079/sablier-v2-optimism-sepolia/version/latest
{/* Chain: Polygon */}
[network-polygon]: https://gateway-arbitrum.network.thegraph.com/api/API_KEY/subgraphs/id/CsDNYv9XPUMP8vufuwDVKQrVhsxhzzRHezjLFFKZZbrx
[explorer-polygon]: https://thegraph.com/explorer/subgraphs/CsDNYv9XPUMP8vufuwDVKQrVhsxhzzRHezjLFFKZZbrx
[studio-polygon]: https://api.studio.thegraph.com/query/57079/sablier-v2-polygon/version/latest
{/* Chain: Scroll */}
[network-scroll]: https://gateway-arbitrum.network.thegraph.com/api/API_KEY/subgraphs/id/HVcngokCByfveLwguuafrBC34xB65Ne6tpGrXHmqDSrh
[explorer-scroll]: https://thegraph.com/explorer/subgraphs/HVcngokCByfveLwguuafrBC34xB65Ne6tpGrXHmqDSrh
[studio-scroll]: https://api.studio.thegraph.com/query/57079/sablier-v2-scroll/version/latest
{/* Chain: Ethereum Sepolia */}
[network-sepolia]: https://gateway-arbitrum.network.thegraph.com/api/API_KEY/subgraphs/id/3JR9ixhdUxX5oc2Yjr6jkG4XUqDd4guy8niL6AYzDKss
[explorer-sepolia]: https://thegraph.com/explorer/subgraphs/3JR9ixhdUxX5oc2Yjr6jkG4XUqDd4guy8niL6AYzDKss
[studio-sepolia]: https://api.studio.thegraph.com/query/57079/sablier-v2-sepolia/version/latest
{/* Chain: zkSync */}
[network-zksync]: https://gateway-arbitrum.network.thegraph.com/api/API_KEY/subgraphs/id/GY2fGozmfZiZ3xF2MfevohLR4YGnyxGxAyxzi9zmU5bY
[explorer-zksync]: https://thegraph.com/explorer/subgraphs/GY2fGozmfZiZ3xF2MfevohLR4YGnyxGxAyxzi9zmU5bY
[studio-zksync]: https://api.studio.thegraph.com/query/57079/sablier-v2-zksync/version/latest
---
## Schema (3)
## Overview
We provide auto-generated GraphQL schema documentation for both The Graph and Envio:
- The Graph schema docs
- Envio schema docs
## Query Syntax Differences
| Feature | The Graph | Envio |
| ------------ | -------------------------------------------------- | ------------------------------------------------------- |
| Pagination | `first` | `limit` |
| Pagination | `skip` | `offset` |
| Get by ID | `stream(id: "...")` | `Stream_by_pk(id: "...")` |
| Get multiple | `streams{}` | `Stream(where: {chainId: {_eq: ""}}){}` |
| Nested items | `campaigns{ id, asset: {id, symbol}}` | `Campaign{ asset_id, asset: {id, symbol}}` |
## Entities
This is the raw GraphQL file that is used by both The Graph and Envio for generating the final schemas hosted on their services.
The schema only contains entities:
{/* Add the code block */}
```graphql reference title="Sablier Lockup - GraphQL Schema Entities"
https://github.com/sablier-labs/indexers/blob/main/src/schemas/lockup.graphql
```
---
## Action_select_column (3)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
select columns of table "Action"
```graphql
enum Action_select_column {
addressA
addressB
amountA
amountB
block
category
chainId
contract
db_write_timestamp
fee
from
hash
id
stream_id
subgraphId
timestamp
}
```
### Values
#### [Action_select_column.addressA
](#)
column name
#### [Action_select_column.addressB
](#)
column name
#### [Action_select_column.amountA
](#)
column name
#### [Action_select_column.amountB
](#)
column name
#### [Action_select_column.block
](#)
column name
#### [Action_select_column.category
](#)
column name
#### [Action_select_column.chainId
](#)
column name
#### [Action_select_column.contract
](#)
column name
#### [Action_select_column.db_write_timestamp
](#)
column name
#### [Action_select_column.fee
](#)
column name
#### [Action_select_column.from
](#)
column name
#### [Action_select_column.hash
](#)
column name
#### [Action_select_column.id
](#)
column name
#### [Action_select_column.stream_id
](#)
column name
#### [Action_select_column.subgraphId
](#)
column name
#### [Action_select_column.timestamp
](#)
column name
---
## Asset_select_column (3)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
select columns of table "Asset"
```graphql
enum Asset_select_column {
address
chainId
db_write_timestamp
decimals
id
name
symbol
}
```
### Values
#### [Asset_select_column.address
](#)
column name
#### [Asset_select_column.chainId
](#)
column name
#### [Asset_select_column.db_write_timestamp
](#)
column name
#### [Asset_select_column.decimals
](#)
column name
#### [Asset_select_column.id
](#)
column name
#### [Asset_select_column.name
](#)
column name
#### [Asset_select_column.symbol
](#)
column name
---
## Batch_select_column (2)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
select columns of table "Batch"
```graphql
enum Batch_select_column {
batcher_id
db_write_timestamp
hash
id
position
size
timestamp
}
```
### Values
#### [Batch_select_column.batcher_id
](#)
column name
#### [Batch_select_column.db_write_timestamp
](#)
column name
#### [Batch_select_column.hash
](#)
column name
#### [Batch_select_column.id
](#)
column name
#### [Batch_select_column.position
](#)
column name
#### [Batch_select_column.size
](#)
column name
#### [Batch_select_column.timestamp
](#)
column name
---
## Batcher_select_column (2)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
select columns of table "Batcher"
```graphql
enum Batcher_select_column {
batchCounter
db_write_timestamp
id
}
```
### Values
#### [Batcher_select_column.batchCounter
](#)
column name
#### [Batcher_select_column.db_write_timestamp
](#)
column name
#### [Batcher_select_column.id
](#)
column name
---
## chain_metadata_select_column (3)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
select columns of table "chain_metadata"
```graphql
enum chain_metadata_select_column {
block_height
chain_id
end_block
first_event_block_number
is_hyper_sync
latest_fetched_block_number
latest_processed_block
num_batches_fetched
num_events_processed
start_block
timestamp_caught_up_to_head_or_endblock
}
```
### Values
#### [chain_metadata_select_column.block_height
](#)
column name
#### [chain_metadata_select_column.chain_id
](#)
column name
#### [chain_metadata_select_column.end_block
](#)
column name
#### [chain_metadata_select_column.first_event_block_number
](#)
column name
#### [chain_metadata_select_column.is_hyper_sync
](#)
column name
#### [chain_metadata_select_column.latest_fetched_block_number
](#)
column name
#### [chain_metadata_select_column.latest_processed_block
](#)
column name
#### [chain_metadata_select_column.num_batches_fetched
](#)
column name
#### [chain_metadata_select_column.num_events_processed
](#)
column name
#### [chain_metadata_select_column.start_block
](#)
column name
#### [chain_metadata_select_column.timestamp_caught_up_to_head_or_endblock
](#)
column name
---
## Contract_select_column (2)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
select columns of table "Contract"
```graphql
enum Contract_select_column {
address
admin
alias
category
chainId
db_write_timestamp
id
version
}
```
### Values
#### [Contract_select_column.address
](#)
column name
#### [Contract_select_column.admin
](#)
column name
#### [Contract_select_column.alias
](#)
column name
#### [Contract_select_column.category
](#)
column name
#### [Contract_select_column.chainId
](#)
column name
#### [Contract_select_column.db_write_timestamp
](#)
column name
#### [Contract_select_column.id
](#)
column name
#### [Contract_select_column.version
](#)
column name
---
## cursor_ordering (3)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
ordering argument of a cursor
```graphql
enum cursor_ordering {
ASC
DESC
}
```
### Values
#### [cursor_ordering.ASC
](#)
ascending ordering of the cursor
#### [cursor_ordering.DESC
](#)
descending ordering of the cursor
---
## dynamic_contract_registry_select_column (3)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
select columns of table "dynamic_contract_registry"
```graphql
enum dynamic_contract_registry_select_column {
chain_id
contract_address
contract_type
id
registering_event_block_number
registering_event_block_timestamp
registering_event_contract_name
registering_event_log_index
registering_event_name
registering_event_src_address
}
```
### Values
#### [dynamic_contract_registry_select_column.chain_id
](#)
column name
#### [dynamic_contract_registry_select_column.contract_address
](#)
column name
#### [dynamic_contract_registry_select_column.contract_type
](#)
column name
#### [dynamic_contract_registry_select_column.id
](#)
column name
#### [dynamic_contract_registry_select_column.registering_event_block_number
](#)
column name
#### [dynamic_contract_registry_select_column.registering_event_block_timestamp
](#)
column name
#### [dynamic_contract_registry_select_column.registering_event_contract_name
](#)
column name
#### [dynamic_contract_registry_select_column.registering_event_log_index
](#)
column name
#### [dynamic_contract_registry_select_column.registering_event_name
](#)
column name
#### [dynamic_contract_registry_select_column.registering_event_src_address
](#)
column name
---
## end_of_block_range_scanned_data_select_column (3)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
select columns of table "end_of_block_range_scanned_data"
```graphql
enum end_of_block_range_scanned_data_select_column {
block_hash
block_number
chain_id
}
```
### Values
#### [end_of_block_range_scanned_data_select_column.block_hash
](#)
column name
#### [end_of_block_range_scanned_data_select_column.block_number
](#)
column name
#### [end_of_block_range_scanned_data_select_column.chain_id
](#)
column name
---
## event_sync_state_select_column (3)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
select columns of table "event_sync_state"
```graphql
enum event_sync_state_select_column {
block_number
block_timestamp
chain_id
is_pre_registering_dynamic_contracts
log_index
}
```
### Values
#### [event_sync_state_select_column.block_number
](#)
column name
#### [event_sync_state_select_column.block_timestamp
](#)
column name
#### [event_sync_state_select_column.chain_id
](#)
column name
#### [event_sync_state_select_column.is_pre_registering_dynamic_contracts
](#)
column name
#### [event_sync_state_select_column.log_index
](#)
column name
---
## order_by (3)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
column ordering options
```graphql
enum order_by {
asc
asc_nulls_first
asc_nulls_last
desc
desc_nulls_first
desc_nulls_last
}
```
### Values
#### [order_by.asc
](#)
in ascending order, nulls last
#### [order_by.asc_nulls_first
](#)
in ascending order, nulls first
#### [order_by.asc_nulls_last
](#)
in ascending order, nulls last
#### [order_by.desc
](#)
in descending order, nulls first
#### [order_by.desc_nulls_first
](#)
in descending order, nulls first
#### [order_by.desc_nulls_last
](#)
in descending order, nulls last
---
## persisted_state_select_column (3)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
select columns of table "persisted_state"
```graphql
enum persisted_state_select_column {
abi_files_hash
config_hash
envio_version
handler_files_hash
id
schema_hash
}
```
### Values
#### [persisted_state_select_column.abi_files_hash
](#)
column name
#### [persisted_state_select_column.config_hash
](#)
column name
#### [persisted_state_select_column.envio_version
](#)
column name
#### [persisted_state_select_column.handler_files_hash
](#)
column name
#### [persisted_state_select_column.id
](#)
column name
#### [persisted_state_select_column.schema_hash
](#)
column name
---
## raw_events_select_column (3)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
select columns of table "raw_events"
```graphql
enum raw_events_select_column {
block_fields
block_hash
block_number
block_timestamp
chain_id
contract_name
db_write_timestamp
event_id
event_name
log_index
params
serial
src_address
transaction_fields
}
```
### Values
#### [raw_events_select_column.block_fields
](#)
column name
#### [raw_events_select_column.block_hash
](#)
column name
#### [raw_events_select_column.block_number
](#)
column name
#### [raw_events_select_column.block_timestamp
](#)
column name
#### [raw_events_select_column.chain_id
](#)
column name
#### [raw_events_select_column.contract_name
](#)
column name
#### [raw_events_select_column.db_write_timestamp
](#)
column name
#### [raw_events_select_column.event_id
](#)
column name
#### [raw_events_select_column.event_name
](#)
column name
#### [raw_events_select_column.log_index
](#)
column name
#### [raw_events_select_column.params
](#)
column name
#### [raw_events_select_column.serial
](#)
column name
#### [raw_events_select_column.src_address
](#)
column name
#### [raw_events_select_column.transaction_fields
](#)
column name
---
## Revenue_select_column (3)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
select columns of table "Revenue"
```graphql
enum Revenue_select_column {
amount
chainId
currency
date
dateTimestamp
db_write_timestamp
id
}
```
### Values
#### [Revenue_select_column.amount
](#)
column name
#### [Revenue_select_column.chainId
](#)
column name
#### [Revenue_select_column.currency
](#)
column name
#### [Revenue_select_column.date
](#)
column name
#### [Revenue_select_column.dateTimestamp
](#)
column name
#### [Revenue_select_column.db_write_timestamp
](#)
column name
#### [Revenue_select_column.id
](#)
column name
---
## RevenueTransaction_select_column_RevenueTransaction_aggregate_bool_exp_avg_arguments_columns (3)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
select "RevenueTransaction_aggregate_bool_exp_avg_arguments_columns" columns of table "RevenueTransaction"
```graphql
enum RevenueTransaction_select_column_RevenueTransaction_aggregate_bool_exp_avg_arguments_columns {
amount
}
```
### Values
#### [RevenueTransaction_select_column_RevenueTransaction_aggregate_bool_exp_avg_arguments_columns.amount
](#)
column name
---
## RevenueTransaction_select_column_RevenueTransaction_aggregate_bool_exp_corr_arguments_columns (3)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
select "RevenueTransaction_aggregate_bool_exp_corr_arguments_columns" columns of table "RevenueTransaction"
```graphql
enum RevenueTransaction_select_column_RevenueTransaction_aggregate_bool_exp_corr_arguments_columns {
amount
}
```
### Values
#### [RevenueTransaction_select_column_RevenueTransaction_aggregate_bool_exp_corr_arguments_columns.amount
](#)
column name
---
## RevenueTransaction_select_column_RevenueTransaction_aggregate_bool_exp_covar_samp_arguments_columns (3)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
select "RevenueTransaction_aggregate_bool_exp_covar_samp_arguments_columns" columns of table "RevenueTransaction"
```graphql
enum RevenueTransaction_select_column_RevenueTransaction_aggregate_bool_exp_covar_samp_arguments_columns {
amount
}
```
### Values
#### [RevenueTransaction_select_column_RevenueTransaction_aggregate_bool_exp_covar_samp_arguments_columns.amount
](#)
column name
---
## RevenueTransaction_select_column_RevenueTransaction_aggregate_bool_exp_max_arguments_columns (3)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
select "RevenueTransaction_aggregate_bool_exp_max_arguments_columns" columns of table "RevenueTransaction"
```graphql
enum RevenueTransaction_select_column_RevenueTransaction_aggregate_bool_exp_max_arguments_columns {
amount
}
```
### Values
#### [RevenueTransaction_select_column_RevenueTransaction_aggregate_bool_exp_max_arguments_columns.amount
](#)
column name
---
## RevenueTransaction_select_column_RevenueTransaction_aggregate_bool_exp_min_arguments_columns (3)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
select "RevenueTransaction_aggregate_bool_exp_min_arguments_columns" columns of table "RevenueTransaction"
```graphql
enum RevenueTransaction_select_column_RevenueTransaction_aggregate_bool_exp_min_arguments_columns {
amount
}
```
### Values
#### [RevenueTransaction_select_column_RevenueTransaction_aggregate_bool_exp_min_arguments_columns.amount
](#)
column name
---
## RevenueTransaction_select_column_RevenueTransaction_aggregate_bool_exp_stddev_samp_arguments_columns (3)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
select "RevenueTransaction_aggregate_bool_exp_stddev_samp_arguments_columns" columns of table "RevenueTransaction"
```graphql
enum RevenueTransaction_select_column_RevenueTransaction_aggregate_bool_exp_stddev_samp_arguments_columns {
amount
}
```
### Values
#### [RevenueTransaction_select_column_RevenueTransaction_aggregate_bool_exp_stddev_samp_arguments_columns.amount
](#)
column name
---
## RevenueTransaction_select_column_RevenueTransaction_aggregate_bool_exp_sum_arguments_columns (3)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
select "RevenueTransaction_aggregate_bool_exp_sum_arguments_columns" columns of table "RevenueTransaction"
```graphql
enum RevenueTransaction_select_column_RevenueTransaction_aggregate_bool_exp_sum_arguments_columns {
amount
}
```
### Values
#### [RevenueTransaction_select_column_RevenueTransaction_aggregate_bool_exp_sum_arguments_columns.amount
](#)
column name
---
## RevenueTransaction_select_column_RevenueTransaction_aggregate_bool_exp_var_samp_arguments_columns (3)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
select "RevenueTransaction_aggregate_bool_exp_var_samp_arguments_columns" columns of table "RevenueTransaction"
```graphql
enum RevenueTransaction_select_column_RevenueTransaction_aggregate_bool_exp_var_samp_arguments_columns {
amount
}
```
### Values
#### [RevenueTransaction_select_column_RevenueTransaction_aggregate_bool_exp_var_samp_arguments_columns.amount
](#)
column name
---
## RevenueTransaction_select_column (3)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
select columns of table "RevenueTransaction"
```graphql
enum RevenueTransaction_select_column {
amount
block
db_write_timestamp
hash
id
revenue_id
timestamp
}
```
### Values
#### [RevenueTransaction_select_column.amount
](#)
column name
#### [RevenueTransaction_select_column.block
](#)
column name
#### [RevenueTransaction_select_column.db_write_timestamp
](#)
column name
#### [RevenueTransaction_select_column.hash
](#)
column name
#### [RevenueTransaction_select_column.id
](#)
column name
#### [RevenueTransaction_select_column.revenue_id
](#)
column name
#### [RevenueTransaction_select_column.timestamp
](#)
column name
---
## Segment_select_column
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
select columns of table "Segment"
```graphql
enum Segment_select_column {
amount
db_write_timestamp
endAmount
endTime
exponent
id
position
startAmount
startTime
stream_id
}
```
### Values
#### [Segment_select_column.amount
](#)
column name
#### [Segment_select_column.db_write_timestamp
](#)
column name
#### [Segment_select_column.endAmount
](#)
column name
#### [Segment_select_column.endTime
](#)
column name
#### [Segment_select_column.exponent
](#)
column name
#### [Segment_select_column.id
](#)
column name
#### [Segment_select_column.position
](#)
column name
#### [Segment_select_column.startAmount
](#)
column name
#### [Segment_select_column.startTime
](#)
column name
#### [Segment_select_column.stream_id
](#)
column name
---
## Stream_select_column_Stream_aggregate_bool_exp_bool_and_arguments_columns (2)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
select "Stream_aggregate_bool_exp_bool_and_arguments_columns" columns of table "Stream"
```graphql
enum Stream_select_column_Stream_aggregate_bool_exp_bool_and_arguments_columns {
cancelable
canceled
cliff
initial
proxied
transferable
}
```
### Values
#### [Stream_select_column_Stream_aggregate_bool_exp_bool_and_arguments_columns.cancelable
](#)
column name
#### [Stream_select_column_Stream_aggregate_bool_exp_bool_and_arguments_columns.canceled
](#)
column name
#### [Stream_select_column_Stream_aggregate_bool_exp_bool_and_arguments_columns.cliff
](#)
column name
#### [Stream_select_column_Stream_aggregate_bool_exp_bool_and_arguments_columns.initial
](#)
column name
#### [Stream_select_column_Stream_aggregate_bool_exp_bool_and_arguments_columns.proxied
](#)
column name
#### [Stream_select_column_Stream_aggregate_bool_exp_bool_and_arguments_columns.transferable
](#)
column name
---
## Stream_select_column_Stream_aggregate_bool_exp_bool_or_arguments_columns (2)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
select "Stream_aggregate_bool_exp_bool_or_arguments_columns" columns of table "Stream"
```graphql
enum Stream_select_column_Stream_aggregate_bool_exp_bool_or_arguments_columns {
cancelable
canceled
cliff
initial
proxied
transferable
}
```
### Values
#### [Stream_select_column_Stream_aggregate_bool_exp_bool_or_arguments_columns.cancelable
](#)
column name
#### [Stream_select_column_Stream_aggregate_bool_exp_bool_or_arguments_columns.canceled
](#)
column name
#### [Stream_select_column_Stream_aggregate_bool_exp_bool_or_arguments_columns.cliff
](#)
column name
#### [Stream_select_column_Stream_aggregate_bool_exp_bool_or_arguments_columns.initial
](#)
column name
#### [Stream_select_column_Stream_aggregate_bool_exp_bool_or_arguments_columns.proxied
](#)
column name
#### [Stream_select_column_Stream_aggregate_bool_exp_bool_or_arguments_columns.transferable
](#)
column name
---
## Stream_select_column (2)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
select columns of table "Stream"
```graphql
enum Stream_select_column {
alias
assetDecimalsValue
asset_id
batch_id
cancelable
canceled
canceledAction_id
canceledTime
category
chainId
cliff
cliffAmount
cliffTime
contract
db_write_timestamp
depositAmount
duration
endTime
funder
hash
id
initial
initialAmount
intactAmount
position
proxender
proxied
recipient
renounceAction_id
renounceTime
sender
shape
startTime
subgraphId
timestamp
tokenId
transferable
version
withdrawnAmount
}
```
### Values
#### [Stream_select_column.alias
](#)
column name
#### [Stream_select_column.assetDecimalsValue
](#)
column name
#### [Stream_select_column.asset_id
](#)
column name
#### [Stream_select_column.batch_id
](#)
column name
#### [Stream_select_column.cancelable
](#)
column name
#### [Stream_select_column.canceled
](#)
column name
#### [Stream_select_column.canceledAction_id
](#)
column name
#### [Stream_select_column.canceledTime
](#)
column name
#### [Stream_select_column.category
](#)
column name
#### [Stream_select_column.chainId
](#)
column name
#### [Stream_select_column.cliff
](#)
column name
#### [Stream_select_column.cliffAmount
](#)
column name
#### [Stream_select_column.cliffTime
](#)
column name
#### [Stream_select_column.contract
](#)
column name
#### [Stream_select_column.db_write_timestamp
](#)
column name
#### [Stream_select_column.depositAmount
](#)
column name
#### [Stream_select_column.duration
](#)
column name
#### [Stream_select_column.endTime
](#)
column name
#### [Stream_select_column.funder
](#)
column name
#### [Stream_select_column.hash
](#)
column name
#### [Stream_select_column.id
](#)
column name
#### [Stream_select_column.initial
](#)
column name
#### [Stream_select_column.initialAmount
](#)
column name
#### [Stream_select_column.intactAmount
](#)
column name
#### [Stream_select_column.position
](#)
column name
#### [Stream_select_column.proxender
](#)
column name
#### [Stream_select_column.proxied
](#)
column name
#### [Stream_select_column.recipient
](#)
column name
#### [Stream_select_column.renounceAction_id
](#)
column name
#### [Stream_select_column.renounceTime
](#)
column name
#### [Stream_select_column.sender
](#)
column name
#### [Stream_select_column.shape
](#)
column name
#### [Stream_select_column.startTime
](#)
column name
#### [Stream_select_column.subgraphId
](#)
column name
#### [Stream_select_column.timestamp
](#)
column name
#### [Stream_select_column.tokenId
](#)
column name
#### [Stream_select_column.transferable
](#)
column name
#### [Stream_select_column.version
](#)
column name
#### [Stream_select_column.withdrawnAmount
](#)
column name
---
## Tranche_select_column (2)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
select columns of table "Tranche"
```graphql
enum Tranche_select_column {
amount
db_write_timestamp
endAmount
endTime
id
position
startAmount
startTime
stream_id
}
```
### Values
#### [Tranche_select_column.amount
](#)
column name
#### [Tranche_select_column.db_write_timestamp
](#)
column name
#### [Tranche_select_column.endAmount
](#)
column name
#### [Tranche_select_column.endTime
](#)
column name
#### [Tranche_select_column.id
](#)
column name
#### [Tranche_select_column.position
](#)
column name
#### [Tranche_select_column.startAmount
](#)
column name
#### [Tranche_select_column.startTime
](#)
column name
#### [Tranche_select_column.stream_id
](#)
column name
---
## User_select_column (3)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
select columns of table "User"
```graphql
enum User_select_column {
address
chainId
db_write_timestamp
id
isOnlyAirdropClaimer
}
```
### Values
#### [User_select_column.address
](#)
column name
#### [User_select_column.chainId
](#)
column name
#### [User_select_column.db_write_timestamp
](#)
column name
#### [User_select_column.id
](#)
column name
#### [User_select_column.isOnlyAirdropClaimer
](#)
column name
---
## UserTransaction_select_column_UserTransaction_aggregate_bool_exp_avg_arguments_columns (3)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
select "UserTransaction_aggregate_bool_exp_avg_arguments_columns" columns of table "UserTransaction"
```graphql
enum UserTransaction_select_column_UserTransaction_aggregate_bool_exp_avg_arguments_columns {
fee
}
```
### Values
#### [UserTransaction_select_column_UserTransaction_aggregate_bool_exp_avg_arguments_columns.fee
](#)
column name
---
## UserTransaction_select_column_UserTransaction_aggregate_bool_exp_bool_and_arguments_columns (3)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
select "UserTransaction_aggregate_bool_exp_bool_and_arguments_columns" columns of table "UserTransaction"
```graphql
enum UserTransaction_select_column_UserTransaction_aggregate_bool_exp_bool_and_arguments_columns {
isAirdropClaim
}
```
### Values
#### [UserTransaction_select_column_UserTransaction_aggregate_bool_exp_bool_and_arguments_columns.isAirdropClaim
](#)
column name
---
## UserTransaction_select_column_UserTransaction_aggregate_bool_exp_bool_or_arguments_columns (3)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
select "UserTransaction_aggregate_bool_exp_bool_or_arguments_columns" columns of table "UserTransaction"
```graphql
enum UserTransaction_select_column_UserTransaction_aggregate_bool_exp_bool_or_arguments_columns {
isAirdropClaim
}
```
### Values
#### [UserTransaction_select_column_UserTransaction_aggregate_bool_exp_bool_or_arguments_columns.isAirdropClaim
](#)
column name
---
## UserTransaction_select_column_UserTransaction_aggregate_bool_exp_corr_arguments_columns (3)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
select "UserTransaction_aggregate_bool_exp_corr_arguments_columns" columns of table "UserTransaction"
```graphql
enum UserTransaction_select_column_UserTransaction_aggregate_bool_exp_corr_arguments_columns {
fee
}
```
### Values
#### [UserTransaction_select_column_UserTransaction_aggregate_bool_exp_corr_arguments_columns.fee
](#)
column name
---
## UserTransaction_select_column_UserTransaction_aggregate_bool_exp_covar_samp_arguments_columns (3)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
select "UserTransaction_aggregate_bool_exp_covar_samp_arguments_columns" columns of table "UserTransaction"
```graphql
enum UserTransaction_select_column_UserTransaction_aggregate_bool_exp_covar_samp_arguments_columns {
fee
}
```
### Values
#### [UserTransaction_select_column_UserTransaction_aggregate_bool_exp_covar_samp_arguments_columns.fee
](#)
column name
---
## UserTransaction_select_column_UserTransaction_aggregate_bool_exp_max_arguments_columns (3)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
select "UserTransaction_aggregate_bool_exp_max_arguments_columns" columns of table "UserTransaction"
```graphql
enum UserTransaction_select_column_UserTransaction_aggregate_bool_exp_max_arguments_columns {
fee
}
```
### Values
#### [UserTransaction_select_column_UserTransaction_aggregate_bool_exp_max_arguments_columns.fee
](#)
column name
---
## UserTransaction_select_column_UserTransaction_aggregate_bool_exp_min_arguments_columns (3)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
select "UserTransaction_aggregate_bool_exp_min_arguments_columns" columns of table "UserTransaction"
```graphql
enum UserTransaction_select_column_UserTransaction_aggregate_bool_exp_min_arguments_columns {
fee
}
```
### Values
#### [UserTransaction_select_column_UserTransaction_aggregate_bool_exp_min_arguments_columns.fee
](#)
column name
---
## UserTransaction_select_column_UserTransaction_aggregate_bool_exp_stddev_samp_arguments_columns (3)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
select "UserTransaction_aggregate_bool_exp_stddev_samp_arguments_columns" columns of table "UserTransaction"
```graphql
enum UserTransaction_select_column_UserTransaction_aggregate_bool_exp_stddev_samp_arguments_columns {
fee
}
```
### Values
#### [UserTransaction_select_column_UserTransaction_aggregate_bool_exp_stddev_samp_arguments_columns.fee
](#)
column name
---
## UserTransaction_select_column_UserTransaction_aggregate_bool_exp_sum_arguments_columns (3)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
select "UserTransaction_aggregate_bool_exp_sum_arguments_columns" columns of table "UserTransaction"
```graphql
enum UserTransaction_select_column_UserTransaction_aggregate_bool_exp_sum_arguments_columns {
fee
}
```
### Values
#### [UserTransaction_select_column_UserTransaction_aggregate_bool_exp_sum_arguments_columns.fee
](#)
column name
---
## UserTransaction_select_column_UserTransaction_aggregate_bool_exp_var_samp_arguments_columns (3)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
select "UserTransaction_aggregate_bool_exp_var_samp_arguments_columns" columns of table "UserTransaction"
```graphql
enum UserTransaction_select_column_UserTransaction_aggregate_bool_exp_var_samp_arguments_columns {
fee
}
```
### Values
#### [UserTransaction_select_column_UserTransaction_aggregate_bool_exp_var_samp_arguments_columns.fee
](#)
column name
---
## UserTransaction_select_column (3)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
select columns of table "UserTransaction"
```graphql
enum UserTransaction_select_column {
block
db_write_timestamp
fee
hash
id
isAirdropClaim
timestamp
user_id
}
```
### Values
#### [UserTransaction_select_column.block
](#)
column name
#### [UserTransaction_select_column.db_write_timestamp
](#)
column name
#### [UserTransaction_select_column.fee
](#)
column name
#### [UserTransaction_select_column.hash
](#)
column name
#### [UserTransaction_select_column.id
](#)
column name
#### [UserTransaction_select_column.isAirdropClaim
](#)
column name
#### [UserTransaction_select_column.timestamp
](#)
column name
#### [UserTransaction_select_column.user_id
](#)
column name
---
## Watcher_select_column (3)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
select columns of table "Watcher"
```graphql
enum Watcher_select_column {
actionCounter
chainId
db_write_timestamp
id
streamCounter
}
```
### Values
#### [Watcher_select_column.actionCounter
](#)
column name
#### [Watcher_select_column.chainId
](#)
column name
#### [Watcher_select_column.db_write_timestamp
](#)
column name
#### [Watcher_select_column.id
](#)
column name
#### [Watcher_select_column.streamCounter
](#)
column name
---
## Overview (7)
This documentation has been automatically generated from the GraphQL schema, with
[GraphQL-Markdown](https://graphql-markdown.github.io).
---
## Action_aggregate_order_by (3)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
order by aggregate values of table "Action"
```graphql
input Action_aggregate_order_by {
avg: Action_avg_order_by
count: order_by
max: Action_max_order_by
min: Action_min_order_by
stddev: Action_stddev_order_by
stddev_pop: Action_stddev_pop_order_by
stddev_samp: Action_stddev_samp_order_by
sum: Action_sum_order_by
var_pop: Action_var_pop_order_by
var_samp: Action_var_samp_order_by
variance: Action_variance_order_by
}
```
### Fields
#### [Action_aggregate_order_by.avg
](#)[Action_avg_order_by
](/docs/api/lockup/graphql/envio/inputs/action-avg-order-by.mdx)
#### [Action_aggregate_order_by.count
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [Action_aggregate_order_by.max
](#)[Action_max_order_by
](/docs/api/lockup/graphql/envio/inputs/action-max-order-by.mdx)
#### [Action_aggregate_order_by.min
](#)[Action_min_order_by
](/docs/api/lockup/graphql/envio/inputs/action-min-order-by.mdx)
#### [Action_aggregate_order_by.stddev
](#)[Action_stddev_order_by
](/docs/api/lockup/graphql/envio/inputs/action-stddev-order-by.mdx)
#### [Action_aggregate_order_by.stddev_pop
](#)[Action_stddev_pop_order_by
](/docs/api/lockup/graphql/envio/inputs/action-stddev-pop-order-by.mdx)
#### [Action_aggregate_order_by.stddev_samp
](#)[Action_stddev_samp_order_by
](/docs/api/lockup/graphql/envio/inputs/action-stddev-samp-order-by.mdx)
#### [Action_aggregate_order_by.sum
](#)[Action_sum_order_by
](/docs/api/lockup/graphql/envio/inputs/action-sum-order-by.mdx)
#### [Action_aggregate_order_by.var_pop
](#)[Action_var_pop_order_by
](/docs/api/lockup/graphql/envio/inputs/action-var-pop-order-by.mdx)
#### [Action_aggregate_order_by.var_samp
](#)[Action_var_samp_order_by
](/docs/api/lockup/graphql/envio/inputs/action-var-samp-order-by.mdx)
#### [Action_aggregate_order_by.variance
](#)[Action_variance_order_by
](/docs/api/lockup/graphql/envio/inputs/action-variance-order-by.mdx)
---
## Action_avg_order_by (3)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
order by avg() on columns of table "Action"
```graphql
input Action_avg_order_by {
amountA: order_by
amountB: order_by
block: order_by
chainId: order_by
fee: order_by
subgraphId: order_by
timestamp: order_by
}
```
### Fields
#### [Action_avg_order_by.amountA
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [Action_avg_order_by.amountB
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [Action_avg_order_by.block
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [Action_avg_order_by.chainId
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [Action_avg_order_by.fee
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [Action_avg_order_by.subgraphId
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [Action_avg_order_by.timestamp
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
---
## Action_bool_exp (3)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
Boolean expression to filter rows from the table "Action". All fields are combined with a logical 'AND'.
```graphql
input Action_bool_exp {
_and: [Action_bool_exp!]
_not: Action_bool_exp
_or: [Action_bool_exp!]
addressA: String_comparison_exp
addressB: String_comparison_exp
amountA: numeric_comparison_exp
amountB: numeric_comparison_exp
block: numeric_comparison_exp
category: actioncategory_comparison_exp
chainId: numeric_comparison_exp
contract: String_comparison_exp
db_write_timestamp: timestamp_comparison_exp
fee: numeric_comparison_exp
from: String_comparison_exp
hash: String_comparison_exp
id: String_comparison_exp
stream: Stream_bool_exp
stream_id: String_comparison_exp
subgraphId: numeric_comparison_exp
timestamp: numeric_comparison_exp
}
```
### Fields
#### [Action_bool_exp.\_and
](#)[[Action_bool_exp!]
](/docs/api/lockup/graphql/envio/inputs/action-bool-exp.mdx)
#### [Action_bool_exp.\_not
](#)[Action_bool_exp
](/docs/api/lockup/graphql/envio/inputs/action-bool-exp.mdx)
#### [Action_bool_exp.\_or
](#)[[Action_bool_exp!]
](/docs/api/lockup/graphql/envio/inputs/action-bool-exp.mdx)
#### [Action_bool_exp.addressA
](#)[String_comparison_exp
](/docs/api/lockup/graphql/envio/inputs/string-comparison-exp.mdx)
#### [Action_bool_exp.addressB
](#)[String_comparison_exp
](/docs/api/lockup/graphql/envio/inputs/string-comparison-exp.mdx)
#### [Action_bool_exp.amountA
](#)[numeric_comparison_exp
](/docs/api/lockup/graphql/envio/inputs/numeric-comparison-exp.mdx)
#### [Action_bool_exp.amountB
](#)[numeric_comparison_exp
](/docs/api/lockup/graphql/envio/inputs/numeric-comparison-exp.mdx)
#### [Action_bool_exp.block
](#)[numeric_comparison_exp
](/docs/api/lockup/graphql/envio/inputs/numeric-comparison-exp.mdx)
#### [Action_bool_exp.category
](#)[actioncategory_comparison_exp
](/docs/api/lockup/graphql/envio/inputs/actioncategory-comparison-exp.mdx)
#### [Action_bool_exp.chainId
](#)[numeric_comparison_exp
](/docs/api/lockup/graphql/envio/inputs/numeric-comparison-exp.mdx)
#### [Action_bool_exp.contract
](#)[String_comparison_exp
](/docs/api/lockup/graphql/envio/inputs/string-comparison-exp.mdx)
#### [Action_bool_exp.db_write_timestamp
](#)[timestamp_comparison_exp
](/docs/api/lockup/graphql/envio/inputs/timestamp-comparison-exp.mdx)
#### [Action_bool_exp.fee
](#)[numeric_comparison_exp
](/docs/api/lockup/graphql/envio/inputs/numeric-comparison-exp.mdx)
#### [Action_bool_exp.from
](#)[String_comparison_exp
](/docs/api/lockup/graphql/envio/inputs/string-comparison-exp.mdx)
#### [Action_bool_exp.hash
](#)[String_comparison_exp
](/docs/api/lockup/graphql/envio/inputs/string-comparison-exp.mdx)
#### [Action_bool_exp.id
](#)[String_comparison_exp
](/docs/api/lockup/graphql/envio/inputs/string-comparison-exp.mdx)
#### [Action_bool_exp.stream
](#)[Stream_bool_exp
](/docs/api/lockup/graphql/envio/inputs/stream-bool-exp.mdx)
#### [Action_bool_exp.stream_id
](#)[String_comparison_exp
](/docs/api/lockup/graphql/envio/inputs/string-comparison-exp.mdx)
#### [Action_bool_exp.subgraphId
](#)[numeric_comparison_exp
](/docs/api/lockup/graphql/envio/inputs/numeric-comparison-exp.mdx)
#### [Action_bool_exp.timestamp
](#)[numeric_comparison_exp
](/docs/api/lockup/graphql/envio/inputs/numeric-comparison-exp.mdx)
---
## Action_max_order_by (3)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
order by max() on columns of table "Action"
```graphql
input Action_max_order_by {
addressA: order_by
addressB: order_by
amountA: order_by
amountB: order_by
block: order_by
category: order_by
chainId: order_by
contract: order_by
db_write_timestamp: order_by
fee: order_by
from: order_by
hash: order_by
id: order_by
stream_id: order_by
subgraphId: order_by
timestamp: order_by
}
```
### Fields
#### [Action_max_order_by.addressA
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [Action_max_order_by.addressB
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [Action_max_order_by.amountA
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [Action_max_order_by.amountB
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [Action_max_order_by.block
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [Action_max_order_by.category
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [Action_max_order_by.chainId
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [Action_max_order_by.contract
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [Action_max_order_by.db_write_timestamp
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [Action_max_order_by.fee
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [Action_max_order_by.from
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [Action_max_order_by.hash
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [Action_max_order_by.id
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [Action_max_order_by.stream_id
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [Action_max_order_by.subgraphId
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [Action_max_order_by.timestamp
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
---
## Action_min_order_by (3)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
order by min() on columns of table "Action"
```graphql
input Action_min_order_by {
addressA: order_by
addressB: order_by
amountA: order_by
amountB: order_by
block: order_by
category: order_by
chainId: order_by
contract: order_by
db_write_timestamp: order_by
fee: order_by
from: order_by
hash: order_by
id: order_by
stream_id: order_by
subgraphId: order_by
timestamp: order_by
}
```
### Fields
#### [Action_min_order_by.addressA
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [Action_min_order_by.addressB
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [Action_min_order_by.amountA
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [Action_min_order_by.amountB
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [Action_min_order_by.block
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [Action_min_order_by.category
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [Action_min_order_by.chainId
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [Action_min_order_by.contract
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [Action_min_order_by.db_write_timestamp
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [Action_min_order_by.fee
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [Action_min_order_by.from
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [Action_min_order_by.hash
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [Action_min_order_by.id
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [Action_min_order_by.stream_id
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [Action_min_order_by.subgraphId
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [Action_min_order_by.timestamp
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
---
## Action_order_by (3)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
Ordering options when selecting data from "Action".
```graphql
input Action_order_by {
addressA: order_by
addressB: order_by
amountA: order_by
amountB: order_by
block: order_by
category: order_by
chainId: order_by
contract: order_by
db_write_timestamp: order_by
fee: order_by
from: order_by
hash: order_by
id: order_by
stream: Stream_order_by
stream_id: order_by
subgraphId: order_by
timestamp: order_by
}
```
### Fields
#### [Action_order_by.addressA
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [Action_order_by.addressB
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [Action_order_by.amountA
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [Action_order_by.amountB
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [Action_order_by.block
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [Action_order_by.category
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [Action_order_by.chainId
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [Action_order_by.contract
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [Action_order_by.db_write_timestamp
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [Action_order_by.fee
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [Action_order_by.from
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [Action_order_by.hash
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [Action_order_by.id
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [Action_order_by.stream
](#)[Stream_order_by
](/docs/api/lockup/graphql/envio/inputs/stream-order-by.mdx)
#### [Action_order_by.stream_id
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [Action_order_by.subgraphId
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [Action_order_by.timestamp
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
---
## Action_stddev_order_by (3)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
order by stddev() on columns of table "Action"
```graphql
input Action_stddev_order_by {
amountA: order_by
amountB: order_by
block: order_by
chainId: order_by
fee: order_by
subgraphId: order_by
timestamp: order_by
}
```
### Fields
#### [Action_stddev_order_by.amountA
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [Action_stddev_order_by.amountB
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [Action_stddev_order_by.block
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [Action_stddev_order_by.chainId
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [Action_stddev_order_by.fee
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [Action_stddev_order_by.subgraphId
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [Action_stddev_order_by.timestamp
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
---
## Action_stddev_pop_order_by (3)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
order by stddev_pop() on columns of table "Action"
```graphql
input Action_stddev_pop_order_by {
amountA: order_by
amountB: order_by
block: order_by
chainId: order_by
fee: order_by
subgraphId: order_by
timestamp: order_by
}
```
### Fields
#### [Action_stddev_pop_order_by.amountA
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [Action_stddev_pop_order_by.amountB
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [Action_stddev_pop_order_by.block
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [Action_stddev_pop_order_by.chainId
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [Action_stddev_pop_order_by.fee
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [Action_stddev_pop_order_by.subgraphId
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [Action_stddev_pop_order_by.timestamp
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
---
## Action_stddev_samp_order_by (3)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
order by stddev_samp() on columns of table "Action"
```graphql
input Action_stddev_samp_order_by {
amountA: order_by
amountB: order_by
block: order_by
chainId: order_by
fee: order_by
subgraphId: order_by
timestamp: order_by
}
```
### Fields
#### [Action_stddev_samp_order_by.amountA
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [Action_stddev_samp_order_by.amountB
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [Action_stddev_samp_order_by.block
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [Action_stddev_samp_order_by.chainId
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [Action_stddev_samp_order_by.fee
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [Action_stddev_samp_order_by.subgraphId
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [Action_stddev_samp_order_by.timestamp
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
---
## Action_stream_cursor_input (3)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
Streaming cursor of the table "Action"
```graphql
input Action_stream_cursor_input {
initial_value: Action_stream_cursor_value_input!
ordering: cursor_ordering
}
```
### Fields
#### [Action_stream_cursor_input.initial_value
](#)[Action_stream_cursor_value_input!
](/docs/api/lockup/graphql/envio/inputs/action-stream-cursor-value-input.mdx)
Stream column input with initial value
#### [Action_stream_cursor_input.ordering
](#)[cursor_ordering
](/docs/api/lockup/graphql/envio/enums/cursor-ordering.mdx)
cursor ordering
---
## Action_stream_cursor_value_input (3)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
Initial value of the column from where the streaming should start
```graphql
input Action_stream_cursor_value_input {
addressA: String
addressB: String
amountA: numeric
amountB: numeric
block: numeric
category: actioncategory
chainId: numeric
contract: String
db_write_timestamp: timestamp
fee: numeric
from: String
hash: String
id: String
stream_id: String
subgraphId: numeric
timestamp: numeric
}
```
### Fields
#### [Action_stream_cursor_value_input.addressA
](#)[String
](/docs/api/lockup/graphql/envio/scalars/string.mdx)
#### [Action_stream_cursor_value_input.addressB
](#)[String
](/docs/api/lockup/graphql/envio/scalars/string.mdx)
#### [Action_stream_cursor_value_input.amountA
](#)[numeric
](/docs/api/lockup/graphql/envio/scalars/numeric.mdx)
#### [Action_stream_cursor_value_input.amountB
](#)[numeric
](/docs/api/lockup/graphql/envio/scalars/numeric.mdx)
#### [Action_stream_cursor_value_input.block
](#)[numeric
](/docs/api/lockup/graphql/envio/scalars/numeric.mdx)
#### [Action_stream_cursor_value_input.category
](#)[actioncategory
](/docs/api/lockup/graphql/envio/scalars/actioncategory.mdx)
#### [Action_stream_cursor_value_input.chainId
](#)[numeric
](/docs/api/lockup/graphql/envio/scalars/numeric.mdx)
#### [Action_stream_cursor_value_input.contract
](#)[String
](/docs/api/lockup/graphql/envio/scalars/string.mdx)
#### [Action_stream_cursor_value_input.db_write_timestamp
](#)[timestamp
](/docs/api/lockup/graphql/envio/scalars/timestamp.mdx)
#### [Action_stream_cursor_value_input.fee
](#)[numeric
](/docs/api/lockup/graphql/envio/scalars/numeric.mdx)
#### [Action_stream_cursor_value_input.from
](#)[String
](/docs/api/lockup/graphql/envio/scalars/string.mdx)
#### [Action_stream_cursor_value_input.hash
](#)[String
](/docs/api/lockup/graphql/envio/scalars/string.mdx)
#### [Action_stream_cursor_value_input.id
](#)[String
](/docs/api/lockup/graphql/envio/scalars/string.mdx)
#### [Action_stream_cursor_value_input.stream_id
](#)[String
](/docs/api/lockup/graphql/envio/scalars/string.mdx)
#### [Action_stream_cursor_value_input.subgraphId
](#)[numeric
](/docs/api/lockup/graphql/envio/scalars/numeric.mdx)
#### [Action_stream_cursor_value_input.timestamp
](#)[numeric
](/docs/api/lockup/graphql/envio/scalars/numeric.mdx)
---
## Action_sum_order_by (3)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
order by sum() on columns of table "Action"
```graphql
input Action_sum_order_by {
amountA: order_by
amountB: order_by
block: order_by
chainId: order_by
fee: order_by
subgraphId: order_by
timestamp: order_by
}
```
### Fields
#### [Action_sum_order_by.amountA
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [Action_sum_order_by.amountB
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [Action_sum_order_by.block
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [Action_sum_order_by.chainId
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [Action_sum_order_by.fee
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [Action_sum_order_by.subgraphId
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [Action_sum_order_by.timestamp
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
---
## Action_var_pop_order_by (3)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
order by var_pop() on columns of table "Action"
```graphql
input Action_var_pop_order_by {
amountA: order_by
amountB: order_by
block: order_by
chainId: order_by
fee: order_by
subgraphId: order_by
timestamp: order_by
}
```
### Fields
#### [Action_var_pop_order_by.amountA
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [Action_var_pop_order_by.amountB
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [Action_var_pop_order_by.block
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [Action_var_pop_order_by.chainId
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [Action_var_pop_order_by.fee
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [Action_var_pop_order_by.subgraphId
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [Action_var_pop_order_by.timestamp
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
---
## Action_var_samp_order_by (3)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
order by var_samp() on columns of table "Action"
```graphql
input Action_var_samp_order_by {
amountA: order_by
amountB: order_by
block: order_by
chainId: order_by
fee: order_by
subgraphId: order_by
timestamp: order_by
}
```
### Fields
#### [Action_var_samp_order_by.amountA
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [Action_var_samp_order_by.amountB
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [Action_var_samp_order_by.block
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [Action_var_samp_order_by.chainId
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [Action_var_samp_order_by.fee
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [Action_var_samp_order_by.subgraphId
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [Action_var_samp_order_by.timestamp
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
---
## Action_variance_order_by (3)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
order by variance() on columns of table "Action"
```graphql
input Action_variance_order_by {
amountA: order_by
amountB: order_by
block: order_by
chainId: order_by
fee: order_by
subgraphId: order_by
timestamp: order_by
}
```
### Fields
#### [Action_variance_order_by.amountA
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [Action_variance_order_by.amountB
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [Action_variance_order_by.block
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [Action_variance_order_by.chainId
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [Action_variance_order_by.fee
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [Action_variance_order_by.subgraphId
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [Action_variance_order_by.timestamp
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
---
## actioncategory_comparison_exp (3)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
Boolean expression to compare columns of type "actioncategory". All fields are combined with logical 'AND'.
```graphql
input actioncategory_comparison_exp {
_eq: actioncategory
_gt: actioncategory
_gte: actioncategory
_in: [actioncategory!]
_is_null: Boolean
_lt: actioncategory
_lte: actioncategory
_neq: actioncategory
_nin: [actioncategory!]
}
```
### Fields
#### [actioncategory_comparison_exp.\_eq
](#)[actioncategory
](/docs/api/lockup/graphql/envio/scalars/actioncategory.mdx)
#### [actioncategory_comparison_exp.\_gt
](#)[actioncategory
](/docs/api/lockup/graphql/envio/scalars/actioncategory.mdx)
#### [actioncategory_comparison_exp.\_gte
](#)[actioncategory
](/docs/api/lockup/graphql/envio/scalars/actioncategory.mdx)
#### [actioncategory_comparison_exp.\_in
](#)[[actioncategory!]
](/docs/api/lockup/graphql/envio/scalars/actioncategory.mdx)
#### [actioncategory_comparison_exp.\_is_null
](#)[Boolean
](/docs/api/lockup/graphql/envio/scalars/boolean.mdx)
#### [actioncategory_comparison_exp.\_lt
](#)[actioncategory
](/docs/api/lockup/graphql/envio/scalars/actioncategory.mdx)
#### [actioncategory_comparison_exp.\_lte
](#)[actioncategory
](/docs/api/lockup/graphql/envio/scalars/actioncategory.mdx)
#### [actioncategory_comparison_exp.\_neq
](#)[actioncategory
](/docs/api/lockup/graphql/envio/scalars/actioncategory.mdx)
#### [actioncategory_comparison_exp.\_nin
](#)[[actioncategory!]
](/docs/api/lockup/graphql/envio/scalars/actioncategory.mdx)
---
## Asset_bool_exp (3)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
Boolean expression to filter rows from the table "Asset". All fields are combined with a logical 'AND'.
```graphql
input Asset_bool_exp {
_and: [Asset_bool_exp!]
_not: Asset_bool_exp
_or: [Asset_bool_exp!]
address: String_comparison_exp
chainId: numeric_comparison_exp
db_write_timestamp: timestamp_comparison_exp
decimals: numeric_comparison_exp
id: String_comparison_exp
name: String_comparison_exp
streams: Stream_bool_exp
streams_aggregate: Stream_aggregate_bool_exp
symbol: String_comparison_exp
}
```
### Fields
#### [Asset_bool_exp.\_and
](#)[[Asset_bool_exp!]
](/docs/api/lockup/graphql/envio/inputs/asset-bool-exp.mdx)
#### [Asset_bool_exp.\_not
](#)[Asset_bool_exp
](/docs/api/lockup/graphql/envio/inputs/asset-bool-exp.mdx)
#### [Asset_bool_exp.\_or
](#)[[Asset_bool_exp!]
](/docs/api/lockup/graphql/envio/inputs/asset-bool-exp.mdx)
#### [Asset_bool_exp.address
](#)[String_comparison_exp
](/docs/api/lockup/graphql/envio/inputs/string-comparison-exp.mdx)
#### [Asset_bool_exp.chainId
](#)[numeric_comparison_exp
](/docs/api/lockup/graphql/envio/inputs/numeric-comparison-exp.mdx)
#### [Asset_bool_exp.db_write_timestamp
](#)[timestamp_comparison_exp
](/docs/api/lockup/graphql/envio/inputs/timestamp-comparison-exp.mdx)
#### [Asset_bool_exp.decimals
](#)[numeric_comparison_exp
](/docs/api/lockup/graphql/envio/inputs/numeric-comparison-exp.mdx)
#### [Asset_bool_exp.id
](#)[String_comparison_exp
](/docs/api/lockup/graphql/envio/inputs/string-comparison-exp.mdx)
#### [Asset_bool_exp.name
](#)[String_comparison_exp
](/docs/api/lockup/graphql/envio/inputs/string-comparison-exp.mdx)
#### [Asset_bool_exp.streams
](#)[Stream_bool_exp
](/docs/api/lockup/graphql/envio/inputs/stream-bool-exp.mdx)
#### [Asset_bool_exp.streams_aggregate
](#)[Stream_aggregate_bool_exp
](/docs/api/lockup/graphql/envio/inputs/stream-aggregate-bool-exp.mdx)
#### [Asset_bool_exp.symbol
](#)[String_comparison_exp
](/docs/api/lockup/graphql/envio/inputs/string-comparison-exp.mdx)
---
## Asset_order_by (3)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
Ordering options when selecting data from "Asset".
```graphql
input Asset_order_by {
address: order_by
chainId: order_by
db_write_timestamp: order_by
decimals: order_by
id: order_by
name: order_by
streams_aggregate: Stream_aggregate_order_by
symbol: order_by
}
```
### Fields
#### [Asset_order_by.address
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [Asset_order_by.chainId
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [Asset_order_by.db_write_timestamp
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [Asset_order_by.decimals
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [Asset_order_by.id
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [Asset_order_by.name
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [Asset_order_by.streams_aggregate
](#)[Stream_aggregate_order_by
](/docs/api/lockup/graphql/envio/inputs/stream-aggregate-order-by.mdx)
#### [Asset_order_by.symbol
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
---
## Asset_stream_cursor_input (3)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
Streaming cursor of the table "Asset"
```graphql
input Asset_stream_cursor_input {
initial_value: Asset_stream_cursor_value_input!
ordering: cursor_ordering
}
```
### Fields
#### [Asset_stream_cursor_input.initial_value
](#)[Asset_stream_cursor_value_input!
](/docs/api/lockup/graphql/envio/inputs/asset-stream-cursor-value-input.mdx)
Stream column input with initial value
#### [Asset_stream_cursor_input.ordering
](#)[cursor_ordering
](/docs/api/lockup/graphql/envio/enums/cursor-ordering.mdx)
cursor ordering
---
## Asset_stream_cursor_value_input (3)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
Initial value of the column from where the streaming should start
```graphql
input Asset_stream_cursor_value_input {
address: String
chainId: numeric
db_write_timestamp: timestamp
decimals: numeric
id: String
name: String
symbol: String
}
```
### Fields
#### [Asset_stream_cursor_value_input.address
](#)[String
](/docs/api/lockup/graphql/envio/scalars/string.mdx)
#### [Asset_stream_cursor_value_input.chainId
](#)[numeric
](/docs/api/lockup/graphql/envio/scalars/numeric.mdx)
#### [Asset_stream_cursor_value_input.db_write_timestamp
](#)[timestamp
](/docs/api/lockup/graphql/envio/scalars/timestamp.mdx)
#### [Asset_stream_cursor_value_input.decimals
](#)[numeric
](/docs/api/lockup/graphql/envio/scalars/numeric.mdx)
#### [Asset_stream_cursor_value_input.id
](#)[String
](/docs/api/lockup/graphql/envio/scalars/string.mdx)
#### [Asset_stream_cursor_value_input.name
](#)[String
](/docs/api/lockup/graphql/envio/scalars/string.mdx)
#### [Asset_stream_cursor_value_input.symbol
](#)[String
](/docs/api/lockup/graphql/envio/scalars/string.mdx)
---
## Batch_aggregate_order_by (2)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
order by aggregate values of table "Batch"
```graphql
input Batch_aggregate_order_by {
avg: Batch_avg_order_by
count: order_by
max: Batch_max_order_by
min: Batch_min_order_by
stddev: Batch_stddev_order_by
stddev_pop: Batch_stddev_pop_order_by
stddev_samp: Batch_stddev_samp_order_by
sum: Batch_sum_order_by
var_pop: Batch_var_pop_order_by
var_samp: Batch_var_samp_order_by
variance: Batch_variance_order_by
}
```
### Fields
#### [Batch_aggregate_order_by.avg
](#)[Batch_avg_order_by
](/docs/api/lockup/graphql/envio/inputs/batch-avg-order-by.mdx)
#### [Batch_aggregate_order_by.count
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [Batch_aggregate_order_by.max
](#)[Batch_max_order_by
](/docs/api/lockup/graphql/envio/inputs/batch-max-order-by.mdx)
#### [Batch_aggregate_order_by.min
](#)[Batch_min_order_by
](/docs/api/lockup/graphql/envio/inputs/batch-min-order-by.mdx)
#### [Batch_aggregate_order_by.stddev
](#)[Batch_stddev_order_by
](/docs/api/lockup/graphql/envio/inputs/batch-stddev-order-by.mdx)
#### [Batch_aggregate_order_by.stddev_pop
](#)[Batch_stddev_pop_order_by
](/docs/api/lockup/graphql/envio/inputs/batch-stddev-pop-order-by.mdx)
#### [Batch_aggregate_order_by.stddev_samp
](#)[Batch_stddev_samp_order_by
](/docs/api/lockup/graphql/envio/inputs/batch-stddev-samp-order-by.mdx)
#### [Batch_aggregate_order_by.sum
](#)[Batch_sum_order_by
](/docs/api/lockup/graphql/envio/inputs/batch-sum-order-by.mdx)
#### [Batch_aggregate_order_by.var_pop
](#)[Batch_var_pop_order_by
](/docs/api/lockup/graphql/envio/inputs/batch-var-pop-order-by.mdx)
#### [Batch_aggregate_order_by.var_samp
](#)[Batch_var_samp_order_by
](/docs/api/lockup/graphql/envio/inputs/batch-var-samp-order-by.mdx)
#### [Batch_aggregate_order_by.variance
](#)[Batch_variance_order_by
](/docs/api/lockup/graphql/envio/inputs/batch-variance-order-by.mdx)
---
## Batch_avg_order_by (2)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
order by avg() on columns of table "Batch"
```graphql
input Batch_avg_order_by {
position: order_by
size: order_by
timestamp: order_by
}
```
### Fields
#### [Batch_avg_order_by.position
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [Batch_avg_order_by.size
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [Batch_avg_order_by.timestamp
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
---
## Batch_bool_exp (2)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
Boolean expression to filter rows from the table "Batch". All fields are combined with a logical 'AND'.
```graphql
input Batch_bool_exp {
_and: [Batch_bool_exp!]
_not: Batch_bool_exp
_or: [Batch_bool_exp!]
batcher: Batcher_bool_exp
batcher_id: String_comparison_exp
db_write_timestamp: timestamp_comparison_exp
hash: String_comparison_exp
id: String_comparison_exp
position: numeric_comparison_exp
size: numeric_comparison_exp
streams: Stream_bool_exp
streams_aggregate: Stream_aggregate_bool_exp
timestamp: numeric_comparison_exp
}
```
### Fields
#### [Batch_bool_exp.\_and
](#)[[Batch_bool_exp!]
](/docs/api/lockup/graphql/envio/inputs/batch-bool-exp.mdx)
#### [Batch_bool_exp.\_not
](#)[Batch_bool_exp
](/docs/api/lockup/graphql/envio/inputs/batch-bool-exp.mdx)
#### [Batch_bool_exp.\_or
](#)[[Batch_bool_exp!]
](/docs/api/lockup/graphql/envio/inputs/batch-bool-exp.mdx)
#### [Batch_bool_exp.batcher
](#)[Batcher_bool_exp
](/docs/api/lockup/graphql/envio/inputs/batcher-bool-exp.mdx)
#### [Batch_bool_exp.batcher_id
](#)[String_comparison_exp
](/docs/api/lockup/graphql/envio/inputs/string-comparison-exp.mdx)
#### [Batch_bool_exp.db_write_timestamp
](#)[timestamp_comparison_exp
](/docs/api/lockup/graphql/envio/inputs/timestamp-comparison-exp.mdx)
#### [Batch_bool_exp.hash
](#)[String_comparison_exp
](/docs/api/lockup/graphql/envio/inputs/string-comparison-exp.mdx)
#### [Batch_bool_exp.id
](#)[String_comparison_exp
](/docs/api/lockup/graphql/envio/inputs/string-comparison-exp.mdx)
#### [Batch_bool_exp.position
](#)[numeric_comparison_exp
](/docs/api/lockup/graphql/envio/inputs/numeric-comparison-exp.mdx)
#### [Batch_bool_exp.size
](#)[numeric_comparison_exp
](/docs/api/lockup/graphql/envio/inputs/numeric-comparison-exp.mdx)
#### [Batch_bool_exp.streams
](#)[Stream_bool_exp
](/docs/api/lockup/graphql/envio/inputs/stream-bool-exp.mdx)
#### [Batch_bool_exp.streams_aggregate
](#)[Stream_aggregate_bool_exp
](/docs/api/lockup/graphql/envio/inputs/stream-aggregate-bool-exp.mdx)
#### [Batch_bool_exp.timestamp
](#)[numeric_comparison_exp
](/docs/api/lockup/graphql/envio/inputs/numeric-comparison-exp.mdx)
---
## Batch_max_order_by (2)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
order by max() on columns of table "Batch"
```graphql
input Batch_max_order_by {
batcher_id: order_by
db_write_timestamp: order_by
hash: order_by
id: order_by
position: order_by
size: order_by
timestamp: order_by
}
```
### Fields
#### [Batch_max_order_by.batcher_id
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [Batch_max_order_by.db_write_timestamp
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [Batch_max_order_by.hash
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [Batch_max_order_by.id
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [Batch_max_order_by.position
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [Batch_max_order_by.size
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [Batch_max_order_by.timestamp
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
---
## Batch_min_order_by (2)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
order by min() on columns of table "Batch"
```graphql
input Batch_min_order_by {
batcher_id: order_by
db_write_timestamp: order_by
hash: order_by
id: order_by
position: order_by
size: order_by
timestamp: order_by
}
```
### Fields
#### [Batch_min_order_by.batcher_id
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [Batch_min_order_by.db_write_timestamp
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [Batch_min_order_by.hash
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [Batch_min_order_by.id
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [Batch_min_order_by.position
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [Batch_min_order_by.size
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [Batch_min_order_by.timestamp
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
---
## Batch_order_by (2)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
Ordering options when selecting data from "Batch".
```graphql
input Batch_order_by {
batcher: Batcher_order_by
batcher_id: order_by
db_write_timestamp: order_by
hash: order_by
id: order_by
position: order_by
size: order_by
streams_aggregate: Stream_aggregate_order_by
timestamp: order_by
}
```
### Fields
#### [Batch_order_by.batcher
](#)[Batcher_order_by
](/docs/api/lockup/graphql/envio/inputs/batcher-order-by.mdx)
#### [Batch_order_by.batcher_id
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [Batch_order_by.db_write_timestamp
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [Batch_order_by.hash
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [Batch_order_by.id
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [Batch_order_by.position
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [Batch_order_by.size
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [Batch_order_by.streams_aggregate
](#)[Stream_aggregate_order_by
](/docs/api/lockup/graphql/envio/inputs/stream-aggregate-order-by.mdx)
#### [Batch_order_by.timestamp
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
---
## Batch_stddev_order_by (2)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
order by stddev() on columns of table "Batch"
```graphql
input Batch_stddev_order_by {
position: order_by
size: order_by
timestamp: order_by
}
```
### Fields
#### [Batch_stddev_order_by.position
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [Batch_stddev_order_by.size
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [Batch_stddev_order_by.timestamp
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
---
## Batch_stddev_pop_order_by (2)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
order by stddev_pop() on columns of table "Batch"
```graphql
input Batch_stddev_pop_order_by {
position: order_by
size: order_by
timestamp: order_by
}
```
### Fields
#### [Batch_stddev_pop_order_by.position
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [Batch_stddev_pop_order_by.size
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [Batch_stddev_pop_order_by.timestamp
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
---
## Batch_stddev_samp_order_by (2)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
order by stddev_samp() on columns of table "Batch"
```graphql
input Batch_stddev_samp_order_by {
position: order_by
size: order_by
timestamp: order_by
}
```
### Fields
#### [Batch_stddev_samp_order_by.position
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [Batch_stddev_samp_order_by.size
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [Batch_stddev_samp_order_by.timestamp
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
---
## Batch_stream_cursor_input (2)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
Streaming cursor of the table "Batch"
```graphql
input Batch_stream_cursor_input {
initial_value: Batch_stream_cursor_value_input!
ordering: cursor_ordering
}
```
### Fields
#### [Batch_stream_cursor_input.initial_value
](#)[Batch_stream_cursor_value_input!
](/docs/api/lockup/graphql/envio/inputs/batch-stream-cursor-value-input.mdx)
Stream column input with initial value
#### [Batch_stream_cursor_input.ordering
](#)[cursor_ordering
](/docs/api/lockup/graphql/envio/enums/cursor-ordering.mdx)
cursor ordering
---
## Batch_stream_cursor_value_input (2)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
Initial value of the column from where the streaming should start
```graphql
input Batch_stream_cursor_value_input {
batcher_id: String
db_write_timestamp: timestamp
hash: String
id: String
position: numeric
size: numeric
timestamp: numeric
}
```
### Fields
#### [Batch_stream_cursor_value_input.batcher_id
](#)[String
](/docs/api/lockup/graphql/envio/scalars/string.mdx)
#### [Batch_stream_cursor_value_input.db_write_timestamp
](#)[timestamp
](/docs/api/lockup/graphql/envio/scalars/timestamp.mdx)
#### [Batch_stream_cursor_value_input.hash
](#)[String
](/docs/api/lockup/graphql/envio/scalars/string.mdx)
#### [Batch_stream_cursor_value_input.id
](#)[String
](/docs/api/lockup/graphql/envio/scalars/string.mdx)
#### [Batch_stream_cursor_value_input.position
](#)[numeric
](/docs/api/lockup/graphql/envio/scalars/numeric.mdx)
#### [Batch_stream_cursor_value_input.size
](#)[numeric
](/docs/api/lockup/graphql/envio/scalars/numeric.mdx)
#### [Batch_stream_cursor_value_input.timestamp
](#)[numeric
](/docs/api/lockup/graphql/envio/scalars/numeric.mdx)
---
## Batch_sum_order_by (2)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
order by sum() on columns of table "Batch"
```graphql
input Batch_sum_order_by {
position: order_by
size: order_by
timestamp: order_by
}
```
### Fields
#### [Batch_sum_order_by.position
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [Batch_sum_order_by.size
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [Batch_sum_order_by.timestamp
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
---
## Batch_var_pop_order_by (2)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
order by var_pop() on columns of table "Batch"
```graphql
input Batch_var_pop_order_by {
position: order_by
size: order_by
timestamp: order_by
}
```
### Fields
#### [Batch_var_pop_order_by.position
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [Batch_var_pop_order_by.size
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [Batch_var_pop_order_by.timestamp
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
---
## Batch_var_samp_order_by (2)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
order by var_samp() on columns of table "Batch"
```graphql
input Batch_var_samp_order_by {
position: order_by
size: order_by
timestamp: order_by
}
```
### Fields
#### [Batch_var_samp_order_by.position
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [Batch_var_samp_order_by.size
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [Batch_var_samp_order_by.timestamp
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
---
## Batch_variance_order_by (2)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
order by variance() on columns of table "Batch"
```graphql
input Batch_variance_order_by {
position: order_by
size: order_by
timestamp: order_by
}
```
### Fields
#### [Batch_variance_order_by.position
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [Batch_variance_order_by.size
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [Batch_variance_order_by.timestamp
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
---
## Batcher_bool_exp (2)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
Boolean expression to filter rows from the table "Batcher". All fields are combined with a logical 'AND'.
```graphql
input Batcher_bool_exp {
_and: [Batcher_bool_exp!]
_not: Batcher_bool_exp
_or: [Batcher_bool_exp!]
batchCounter: numeric_comparison_exp
batches: Batch_bool_exp
db_write_timestamp: timestamp_comparison_exp
id: String_comparison_exp
}
```
### Fields
#### [Batcher_bool_exp.\_and
](#)[[Batcher_bool_exp!]
](/docs/api/lockup/graphql/envio/inputs/batcher-bool-exp.mdx)
#### [Batcher_bool_exp.\_not
](#)[Batcher_bool_exp
](/docs/api/lockup/graphql/envio/inputs/batcher-bool-exp.mdx)
#### [Batcher_bool_exp.\_or
](#)[[Batcher_bool_exp!]
](/docs/api/lockup/graphql/envio/inputs/batcher-bool-exp.mdx)
#### [Batcher_bool_exp.batchCounter
](#)[numeric_comparison_exp
](/docs/api/lockup/graphql/envio/inputs/numeric-comparison-exp.mdx)
#### [Batcher_bool_exp.batches
](#)[Batch_bool_exp
](/docs/api/lockup/graphql/envio/inputs/batch-bool-exp.mdx)
#### [Batcher_bool_exp.db_write_timestamp
](#)[timestamp_comparison_exp
](/docs/api/lockup/graphql/envio/inputs/timestamp-comparison-exp.mdx)
#### [Batcher_bool_exp.id
](#)[String_comparison_exp
](/docs/api/lockup/graphql/envio/inputs/string-comparison-exp.mdx)
---
## Batcher_order_by (2)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
Ordering options when selecting data from "Batcher".
```graphql
input Batcher_order_by {
batchCounter: order_by
batches_aggregate: Batch_aggregate_order_by
db_write_timestamp: order_by
id: order_by
}
```
### Fields
#### [Batcher_order_by.batchCounter
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [Batcher_order_by.batches_aggregate
](#)[Batch_aggregate_order_by
](/docs/api/lockup/graphql/envio/inputs/batch-aggregate-order-by.mdx)
#### [Batcher_order_by.db_write_timestamp
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [Batcher_order_by.id
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
---
## Batcher_stream_cursor_input (2)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
Streaming cursor of the table "Batcher"
```graphql
input Batcher_stream_cursor_input {
initial_value: Batcher_stream_cursor_value_input!
ordering: cursor_ordering
}
```
### Fields
#### [Batcher_stream_cursor_input.initial_value
](#)[Batcher_stream_cursor_value_input!
](/docs/api/lockup/graphql/envio/inputs/batcher-stream-cursor-value-input.mdx)
Stream column input with initial value
#### [Batcher_stream_cursor_input.ordering
](#)[cursor_ordering
](/docs/api/lockup/graphql/envio/enums/cursor-ordering.mdx)
cursor ordering
---
## Batcher_stream_cursor_value_input (2)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
Initial value of the column from where the streaming should start
```graphql
input Batcher_stream_cursor_value_input {
batchCounter: numeric
db_write_timestamp: timestamp
id: String
}
```
### Fields
#### [Batcher_stream_cursor_value_input.batchCounter
](#)[numeric
](/docs/api/lockup/graphql/envio/scalars/numeric.mdx)
#### [Batcher_stream_cursor_value_input.db_write_timestamp
](#)[timestamp
](/docs/api/lockup/graphql/envio/scalars/timestamp.mdx)
#### [Batcher_stream_cursor_value_input.id
](#)[String
](/docs/api/lockup/graphql/envio/scalars/string.mdx)
---
## Boolean_comparison_exp (3)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
Boolean expression to compare columns of type "Boolean". All fields are combined with logical 'AND'.
```graphql
input Boolean_comparison_exp {
_eq: Boolean
_gt: Boolean
_gte: Boolean
_in: [Boolean!]
_is_null: Boolean
_lt: Boolean
_lte: Boolean
_neq: Boolean
_nin: [Boolean!]
}
```
### Fields
#### [Boolean_comparison_exp.\_eq
](#)[Boolean
](/docs/api/lockup/graphql/envio/scalars/boolean.mdx)
#### [Boolean_comparison_exp.\_gt
](#)[Boolean
](/docs/api/lockup/graphql/envio/scalars/boolean.mdx)
#### [Boolean_comparison_exp.\_gte
](#)[Boolean
](/docs/api/lockup/graphql/envio/scalars/boolean.mdx)
#### [Boolean_comparison_exp.\_in
](#)[[Boolean!]
](/docs/api/lockup/graphql/envio/scalars/boolean.mdx)
#### [Boolean_comparison_exp.\_is_null
](#)[Boolean
](/docs/api/lockup/graphql/envio/scalars/boolean.mdx)
#### [Boolean_comparison_exp.\_lt
](#)[Boolean
](/docs/api/lockup/graphql/envio/scalars/boolean.mdx)
#### [Boolean_comparison_exp.\_lte
](#)[Boolean
](/docs/api/lockup/graphql/envio/scalars/boolean.mdx)
#### [Boolean_comparison_exp.\_neq
](#)[Boolean
](/docs/api/lockup/graphql/envio/scalars/boolean.mdx)
#### [Boolean_comparison_exp.\_nin
](#)[[Boolean!]
](/docs/api/lockup/graphql/envio/scalars/boolean.mdx)
---
## chain_metadata_bool_exp (3)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
Boolean expression to filter rows from the table "chain_metadata". All fields are combined with a logical 'AND'.
```graphql
input chain_metadata_bool_exp {
_and: [chain_metadata_bool_exp!]
_not: chain_metadata_bool_exp
_or: [chain_metadata_bool_exp!]
block_height: Int_comparison_exp
chain_id: Int_comparison_exp
end_block: Int_comparison_exp
first_event_block_number: Int_comparison_exp
is_hyper_sync: Boolean_comparison_exp
latest_fetched_block_number: Int_comparison_exp
latest_processed_block: Int_comparison_exp
num_batches_fetched: Int_comparison_exp
num_events_processed: Int_comparison_exp
start_block: Int_comparison_exp
timestamp_caught_up_to_head_or_endblock: timestamptz_comparison_exp
}
```
### Fields
#### [chain_metadata_bool_exp.\_and
](#)[[chain_metadata_bool_exp!]
](/docs/api/lockup/graphql/envio/inputs/chain-metadata-bool-exp.mdx)
#### [chain_metadata_bool_exp.\_not
](#)[chain_metadata_bool_exp
](/docs/api/lockup/graphql/envio/inputs/chain-metadata-bool-exp.mdx)
#### [chain_metadata_bool_exp.\_or
](#)[[chain_metadata_bool_exp!]
](/docs/api/lockup/graphql/envio/inputs/chain-metadata-bool-exp.mdx)
#### [chain_metadata_bool_exp.block_height
](#)[Int_comparison_exp
](/docs/api/lockup/graphql/envio/inputs/int-comparison-exp.mdx)
#### [chain_metadata_bool_exp.chain_id
](#)[Int_comparison_exp
](/docs/api/lockup/graphql/envio/inputs/int-comparison-exp.mdx)
#### [chain_metadata_bool_exp.end_block
](#)[Int_comparison_exp
](/docs/api/lockup/graphql/envio/inputs/int-comparison-exp.mdx)
#### [chain_metadata_bool_exp.first_event_block_number
](#)[Int_comparison_exp
](/docs/api/lockup/graphql/envio/inputs/int-comparison-exp.mdx)
#### [chain_metadata_bool_exp.is_hyper_sync
](#)[Boolean_comparison_exp
](/docs/api/lockup/graphql/envio/inputs/boolean-comparison-exp.mdx)
#### [chain_metadata_bool_exp.latest_fetched_block_number
](#)[Int_comparison_exp
](/docs/api/lockup/graphql/envio/inputs/int-comparison-exp.mdx)
#### [chain_metadata_bool_exp.latest_processed_block
](#)[Int_comparison_exp
](/docs/api/lockup/graphql/envio/inputs/int-comparison-exp.mdx)
#### [chain_metadata_bool_exp.num_batches_fetched
](#)[Int_comparison_exp
](/docs/api/lockup/graphql/envio/inputs/int-comparison-exp.mdx)
#### [chain_metadata_bool_exp.num_events_processed
](#)[Int_comparison_exp
](/docs/api/lockup/graphql/envio/inputs/int-comparison-exp.mdx)
#### [chain_metadata_bool_exp.start_block
](#)[Int_comparison_exp
](/docs/api/lockup/graphql/envio/inputs/int-comparison-exp.mdx)
#### [chain_metadata_bool_exp.timestamp_caught_up_to_head_or_endblock
](#)[timestamptz_comparison_exp
](/docs/api/lockup/graphql/envio/inputs/timestamptz-comparison-exp.mdx)
---
## chain_metadata_order_by (3)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
Ordering options when selecting data from "chain_metadata".
```graphql
input chain_metadata_order_by {
block_height: order_by
chain_id: order_by
end_block: order_by
first_event_block_number: order_by
is_hyper_sync: order_by
latest_fetched_block_number: order_by
latest_processed_block: order_by
num_batches_fetched: order_by
num_events_processed: order_by
start_block: order_by
timestamp_caught_up_to_head_or_endblock: order_by
}
```
### Fields
#### [chain_metadata_order_by.block_height
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [chain_metadata_order_by.chain_id
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [chain_metadata_order_by.end_block
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [chain_metadata_order_by.first_event_block_number
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [chain_metadata_order_by.is_hyper_sync
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [chain_metadata_order_by.latest_fetched_block_number
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [chain_metadata_order_by.latest_processed_block
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [chain_metadata_order_by.num_batches_fetched
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [chain_metadata_order_by.num_events_processed
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [chain_metadata_order_by.start_block
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [chain_metadata_order_by.timestamp_caught_up_to_head_or_endblock
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
---
## chain_metadata_stream_cursor_input (3)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
Streaming cursor of the table "chain_metadata"
```graphql
input chain_metadata_stream_cursor_input {
initial_value: chain_metadata_stream_cursor_value_input!
ordering: cursor_ordering
}
```
### Fields
#### [chain_metadata_stream_cursor_input.initial_value
](#)[chain_metadata_stream_cursor_value_input!
](/docs/api/lockup/graphql/envio/inputs/chain-metadata-stream-cursor-value-input.mdx)
Stream column input with initial value
#### [chain_metadata_stream_cursor_input.ordering
](#)[cursor_ordering
](/docs/api/lockup/graphql/envio/enums/cursor-ordering.mdx)
cursor ordering
---
## chain_metadata_stream_cursor_value_input (3)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
Initial value of the column from where the streaming should start
```graphql
input chain_metadata_stream_cursor_value_input {
block_height: Int
chain_id: Int
end_block: Int
first_event_block_number: Int
is_hyper_sync: Boolean
latest_fetched_block_number: Int
latest_processed_block: Int
num_batches_fetched: Int
num_events_processed: Int
start_block: Int
timestamp_caught_up_to_head_or_endblock: timestamptz
}
```
### Fields
#### [chain_metadata_stream_cursor_value_input.block_height
](#)[Int
](/docs/api/lockup/graphql/envio/scalars/int.mdx)
#### [chain_metadata_stream_cursor_value_input.chain_id
](#)[Int
](/docs/api/lockup/graphql/envio/scalars/int.mdx)
#### [chain_metadata_stream_cursor_value_input.end_block
](#)[Int
](/docs/api/lockup/graphql/envio/scalars/int.mdx)
#### [chain_metadata_stream_cursor_value_input.first_event_block_number
](#)[Int
](/docs/api/lockup/graphql/envio/scalars/int.mdx)
#### [chain_metadata_stream_cursor_value_input.is_hyper_sync
](#)[Boolean
](/docs/api/lockup/graphql/envio/scalars/boolean.mdx)
#### [chain_metadata_stream_cursor_value_input.latest_fetched_block_number
](#)[Int
](/docs/api/lockup/graphql/envio/scalars/int.mdx)
#### [chain_metadata_stream_cursor_value_input.latest_processed_block
](#)[Int
](/docs/api/lockup/graphql/envio/scalars/int.mdx)
#### [chain_metadata_stream_cursor_value_input.num_batches_fetched
](#)[Int
](/docs/api/lockup/graphql/envio/scalars/int.mdx)
#### [chain_metadata_stream_cursor_value_input.num_events_processed
](#)[Int
](/docs/api/lockup/graphql/envio/scalars/int.mdx)
#### [chain_metadata_stream_cursor_value_input.start_block
](#)[Int
](/docs/api/lockup/graphql/envio/scalars/int.mdx)
#### [chain_metadata_stream_cursor_value_input.timestamp_caught_up_to_head_or_endblock
](#)[timestamptz
](/docs/api/lockup/graphql/envio/scalars/timestamptz.mdx)
---
## Contract_bool_exp (2)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
Boolean expression to filter rows from the table "Contract". All fields are combined with a logical 'AND'.
```graphql
input Contract_bool_exp {
_and: [Contract_bool_exp!]
_not: Contract_bool_exp
_or: [Contract_bool_exp!]
actions: Action_bool_exp
address: String_comparison_exp
admin: String_comparison_exp
alias: String_comparison_exp
category: contractcategory_comparison_exp
chainId: numeric_comparison_exp
db_write_timestamp: timestamp_comparison_exp
id: String_comparison_exp
streams: Stream_bool_exp
version: String_comparison_exp
}
```
### Fields
#### [Contract_bool_exp.\_and
](#)[[Contract_bool_exp!]
](/docs/api/lockup/graphql/envio/inputs/contract-bool-exp.mdx)
#### [Contract_bool_exp.\_not
](#)[Contract_bool_exp
](/docs/api/lockup/graphql/envio/inputs/contract-bool-exp.mdx)
#### [Contract_bool_exp.\_or
](#)[[Contract_bool_exp!]
](/docs/api/lockup/graphql/envio/inputs/contract-bool-exp.mdx)
#### [Contract_bool_exp.actions
](#)[Action_bool_exp
](/docs/api/lockup/graphql/envio/inputs/action-bool-exp.mdx)
#### [Contract_bool_exp.address
](#)[String_comparison_exp
](/docs/api/lockup/graphql/envio/inputs/string-comparison-exp.mdx)
#### [Contract_bool_exp.admin
](#)[String_comparison_exp
](/docs/api/lockup/graphql/envio/inputs/string-comparison-exp.mdx)
#### [Contract_bool_exp.alias
](#)[String_comparison_exp
](/docs/api/lockup/graphql/envio/inputs/string-comparison-exp.mdx)
#### [Contract_bool_exp.category
](#)[contractcategory_comparison_exp
](/docs/api/lockup/graphql/envio/inputs/contractcategory-comparison-exp.mdx)
#### [Contract_bool_exp.chainId
](#)[numeric_comparison_exp
](/docs/api/lockup/graphql/envio/inputs/numeric-comparison-exp.mdx)
#### [Contract_bool_exp.db_write_timestamp
](#)[timestamp_comparison_exp
](/docs/api/lockup/graphql/envio/inputs/timestamp-comparison-exp.mdx)
#### [Contract_bool_exp.id
](#)[String_comparison_exp
](/docs/api/lockup/graphql/envio/inputs/string-comparison-exp.mdx)
#### [Contract_bool_exp.streams
](#)[Stream_bool_exp
](/docs/api/lockup/graphql/envio/inputs/stream-bool-exp.mdx)
#### [Contract_bool_exp.version
](#)[String_comparison_exp
](/docs/api/lockup/graphql/envio/inputs/string-comparison-exp.mdx)
---
## Contract_order_by (2)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
Ordering options when selecting data from "Contract".
```graphql
input Contract_order_by {
actions_aggregate: Action_aggregate_order_by
address: order_by
admin: order_by
alias: order_by
category: order_by
chainId: order_by
db_write_timestamp: order_by
id: order_by
streams_aggregate: Stream_aggregate_order_by
version: order_by
}
```
### Fields
#### [Contract_order_by.actions_aggregate
](#)[Action_aggregate_order_by
](/docs/api/lockup/graphql/envio/inputs/action-aggregate-order-by.mdx)
#### [Contract_order_by.address
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [Contract_order_by.admin
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [Contract_order_by.alias
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [Contract_order_by.category
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [Contract_order_by.chainId
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [Contract_order_by.db_write_timestamp
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [Contract_order_by.id
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [Contract_order_by.streams_aggregate
](#)[Stream_aggregate_order_by
](/docs/api/lockup/graphql/envio/inputs/stream-aggregate-order-by.mdx)
#### [Contract_order_by.version
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
---
## Contract_stream_cursor_input (2)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
Streaming cursor of the table "Contract"
```graphql
input Contract_stream_cursor_input {
initial_value: Contract_stream_cursor_value_input!
ordering: cursor_ordering
}
```
### Fields
#### [Contract_stream_cursor_input.initial_value
](#)[Contract_stream_cursor_value_input!
](/docs/api/lockup/graphql/envio/inputs/contract-stream-cursor-value-input.mdx)
Stream column input with initial value
#### [Contract_stream_cursor_input.ordering
](#)[cursor_ordering
](/docs/api/lockup/graphql/envio/enums/cursor-ordering.mdx)
cursor ordering
---
## Contract_stream_cursor_value_input (2)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
Initial value of the column from where the streaming should start
```graphql
input Contract_stream_cursor_value_input {
address: String
admin: String
alias: String
category: contractcategory
chainId: numeric
db_write_timestamp: timestamp
id: String
version: String
}
```
### Fields
#### [Contract_stream_cursor_value_input.address
](#)[String
](/docs/api/lockup/graphql/envio/scalars/string.mdx)
#### [Contract_stream_cursor_value_input.admin
](#)[String
](/docs/api/lockup/graphql/envio/scalars/string.mdx)
#### [Contract_stream_cursor_value_input.alias
](#)[String
](/docs/api/lockup/graphql/envio/scalars/string.mdx)
#### [Contract_stream_cursor_value_input.category
](#)[contractcategory
](/docs/api/lockup/graphql/envio/scalars/contractcategory.mdx)
#### [Contract_stream_cursor_value_input.chainId
](#)[numeric
](/docs/api/lockup/graphql/envio/scalars/numeric.mdx)
#### [Contract_stream_cursor_value_input.db_write_timestamp
](#)[timestamp
](/docs/api/lockup/graphql/envio/scalars/timestamp.mdx)
#### [Contract_stream_cursor_value_input.id
](#)[String
](/docs/api/lockup/graphql/envio/scalars/string.mdx)
#### [Contract_stream_cursor_value_input.version
](#)[String
](/docs/api/lockup/graphql/envio/scalars/string.mdx)
---
## contract_type_comparison_exp (3)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
Boolean expression to compare columns of type "contract_type". All fields are combined with logical 'AND'.
```graphql
input contract_type_comparison_exp {
_eq: contract_type
_gt: contract_type
_gte: contract_type
_in: [contract_type!]
_is_null: Boolean
_lt: contract_type
_lte: contract_type
_neq: contract_type
_nin: [contract_type!]
}
```
### Fields
#### [contract_type_comparison_exp.\_eq
](#)[contract_type
](/docs/api/lockup/graphql/envio/scalars/contract-type.mdx)
#### [contract_type_comparison_exp.\_gt
](#)[contract_type
](/docs/api/lockup/graphql/envio/scalars/contract-type.mdx)
#### [contract_type_comparison_exp.\_gte
](#)[contract_type
](/docs/api/lockup/graphql/envio/scalars/contract-type.mdx)
#### [contract_type_comparison_exp.\_in
](#)[[contract_type!]
](/docs/api/lockup/graphql/envio/scalars/contract-type.mdx)
#### [contract_type_comparison_exp.\_is_null
](#)[Boolean
](/docs/api/lockup/graphql/envio/scalars/boolean.mdx)
#### [contract_type_comparison_exp.\_lt
](#)[contract_type
](/docs/api/lockup/graphql/envio/scalars/contract-type.mdx)
#### [contract_type_comparison_exp.\_lte
](#)[contract_type
](/docs/api/lockup/graphql/envio/scalars/contract-type.mdx)
#### [contract_type_comparison_exp.\_neq
](#)[contract_type
](/docs/api/lockup/graphql/envio/scalars/contract-type.mdx)
#### [contract_type_comparison_exp.\_nin
](#)[[contract_type!]
](/docs/api/lockup/graphql/envio/scalars/contract-type.mdx)
---
## contractcategory_comparison_exp
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
Boolean expression to compare columns of type "contractcategory". All fields are combined with logical 'AND'.
```graphql
input contractcategory_comparison_exp {
_eq: contractcategory
_gt: contractcategory
_gte: contractcategory
_in: [contractcategory!]
_is_null: Boolean
_lt: contractcategory
_lte: contractcategory
_neq: contractcategory
_nin: [contractcategory!]
}
```
### Fields
#### [contractcategory_comparison_exp.\_eq
](#)[contractcategory
](/docs/api/lockup/graphql/envio/scalars/contractcategory.mdx)
#### [contractcategory_comparison_exp.\_gt
](#)[contractcategory
](/docs/api/lockup/graphql/envio/scalars/contractcategory.mdx)
#### [contractcategory_comparison_exp.\_gte
](#)[contractcategory
](/docs/api/lockup/graphql/envio/scalars/contractcategory.mdx)
#### [contractcategory_comparison_exp.\_in
](#)[[contractcategory!]
](/docs/api/lockup/graphql/envio/scalars/contractcategory.mdx)
#### [contractcategory_comparison_exp.\_is_null
](#)[Boolean
](/docs/api/lockup/graphql/envio/scalars/boolean.mdx)
#### [contractcategory_comparison_exp.\_lt
](#)[contractcategory
](/docs/api/lockup/graphql/envio/scalars/contractcategory.mdx)
#### [contractcategory_comparison_exp.\_lte
](#)[contractcategory
](/docs/api/lockup/graphql/envio/scalars/contractcategory.mdx)
#### [contractcategory_comparison_exp.\_neq
](#)[contractcategory
](/docs/api/lockup/graphql/envio/scalars/contractcategory.mdx)
#### [contractcategory_comparison_exp.\_nin
](#)[[contractcategory!]
](/docs/api/lockup/graphql/envio/scalars/contractcategory.mdx)
---
## dynamic_contract_registry_bool_exp (3)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
Boolean expression to filter rows from the table "dynamic_contract_registry". All fields are combined with a logical 'AND'.
```graphql
input dynamic_contract_registry_bool_exp {
_and: [dynamic_contract_registry_bool_exp!]
_not: dynamic_contract_registry_bool_exp
_or: [dynamic_contract_registry_bool_exp!]
chain_id: Int_comparison_exp
contract_address: String_comparison_exp
contract_type: contract_type_comparison_exp
id: String_comparison_exp
registering_event_block_number: Int_comparison_exp
registering_event_block_timestamp: Int_comparison_exp
registering_event_contract_name: String_comparison_exp
registering_event_log_index: Int_comparison_exp
registering_event_name: String_comparison_exp
registering_event_src_address: String_comparison_exp
}
```
### Fields
#### [dynamic_contract_registry_bool_exp.\_and
](#)[[dynamic_contract_registry_bool_exp!]
](/docs/api/lockup/graphql/envio/inputs/dynamic-contract-registry-bool-exp.mdx)
#### [dynamic_contract_registry_bool_exp.\_not
](#)[dynamic_contract_registry_bool_exp
](/docs/api/lockup/graphql/envio/inputs/dynamic-contract-registry-bool-exp.mdx)
#### [dynamic_contract_registry_bool_exp.\_or
](#)[[dynamic_contract_registry_bool_exp!]
](/docs/api/lockup/graphql/envio/inputs/dynamic-contract-registry-bool-exp.mdx)
#### [dynamic_contract_registry_bool_exp.chain_id
](#)[Int_comparison_exp
](/docs/api/lockup/graphql/envio/inputs/int-comparison-exp.mdx)
#### [dynamic_contract_registry_bool_exp.contract_address
](#)[String_comparison_exp
](/docs/api/lockup/graphql/envio/inputs/string-comparison-exp.mdx)
#### [dynamic_contract_registry_bool_exp.contract_type
](#)[contract_type_comparison_exp
](/docs/api/lockup/graphql/envio/inputs/contract-type-comparison-exp.mdx)
#### [dynamic_contract_registry_bool_exp.id
](#)[String_comparison_exp
](/docs/api/lockup/graphql/envio/inputs/string-comparison-exp.mdx)
#### [dynamic_contract_registry_bool_exp.registering_event_block_number
](#)[Int_comparison_exp
](/docs/api/lockup/graphql/envio/inputs/int-comparison-exp.mdx)
#### [dynamic_contract_registry_bool_exp.registering_event_block_timestamp
](#)[Int_comparison_exp
](/docs/api/lockup/graphql/envio/inputs/int-comparison-exp.mdx)
#### [dynamic_contract_registry_bool_exp.registering_event_contract_name
](#)[String_comparison_exp
](/docs/api/lockup/graphql/envio/inputs/string-comparison-exp.mdx)
#### [dynamic_contract_registry_bool_exp.registering_event_log_index
](#)[Int_comparison_exp
](/docs/api/lockup/graphql/envio/inputs/int-comparison-exp.mdx)
#### [dynamic_contract_registry_bool_exp.registering_event_name
](#)[String_comparison_exp
](/docs/api/lockup/graphql/envio/inputs/string-comparison-exp.mdx)
#### [dynamic_contract_registry_bool_exp.registering_event_src_address
](#)[String_comparison_exp
](/docs/api/lockup/graphql/envio/inputs/string-comparison-exp.mdx)
---
## dynamic_contract_registry_order_by (3)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
Ordering options when selecting data from "dynamic_contract_registry".
```graphql
input dynamic_contract_registry_order_by {
chain_id: order_by
contract_address: order_by
contract_type: order_by
id: order_by
registering_event_block_number: order_by
registering_event_block_timestamp: order_by
registering_event_contract_name: order_by
registering_event_log_index: order_by
registering_event_name: order_by
registering_event_src_address: order_by
}
```
### Fields
#### [dynamic_contract_registry_order_by.chain_id
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [dynamic_contract_registry_order_by.contract_address
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [dynamic_contract_registry_order_by.contract_type
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [dynamic_contract_registry_order_by.id
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [dynamic_contract_registry_order_by.registering_event_block_number
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [dynamic_contract_registry_order_by.registering_event_block_timestamp
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [dynamic_contract_registry_order_by.registering_event_contract_name
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [dynamic_contract_registry_order_by.registering_event_log_index
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [dynamic_contract_registry_order_by.registering_event_name
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [dynamic_contract_registry_order_by.registering_event_src_address
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
---
## dynamic_contract_registry_stream_cursor_input (3)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
Streaming cursor of the table "dynamic_contract_registry"
```graphql
input dynamic_contract_registry_stream_cursor_input {
initial_value: dynamic_contract_registry_stream_cursor_value_input!
ordering: cursor_ordering
}
```
### Fields
#### [dynamic_contract_registry_stream_cursor_input.initial_value
](#)[dynamic_contract_registry_stream_cursor_value_input!
](/docs/api/lockup/graphql/envio/inputs/dynamic-contract-registry-stream-cursor-value-input.mdx)
Stream column input with initial value
#### [dynamic_contract_registry_stream_cursor_input.ordering
](#)[cursor_ordering
](/docs/api/lockup/graphql/envio/enums/cursor-ordering.mdx)
cursor ordering
---
## dynamic_contract_registry_stream_cursor_value_input (3)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
Initial value of the column from where the streaming should start
```graphql
input dynamic_contract_registry_stream_cursor_value_input {
chain_id: Int
contract_address: String
contract_type: contract_type
id: String
registering_event_block_number: Int
registering_event_block_timestamp: Int
registering_event_contract_name: String
registering_event_log_index: Int
registering_event_name: String
registering_event_src_address: String
}
```
### Fields
#### [dynamic_contract_registry_stream_cursor_value_input.chain_id
](#)[Int
](/docs/api/lockup/graphql/envio/scalars/int.mdx)
#### [dynamic_contract_registry_stream_cursor_value_input.contract_address
](#)[String
](/docs/api/lockup/graphql/envio/scalars/string.mdx)
#### [dynamic_contract_registry_stream_cursor_value_input.contract_type
](#)[contract_type
](/docs/api/lockup/graphql/envio/scalars/contract-type.mdx)
#### [dynamic_contract_registry_stream_cursor_value_input.id
](#)[String
](/docs/api/lockup/graphql/envio/scalars/string.mdx)
#### [dynamic_contract_registry_stream_cursor_value_input.registering_event_block_number
](#)[Int
](/docs/api/lockup/graphql/envio/scalars/int.mdx)
#### [dynamic_contract_registry_stream_cursor_value_input.registering_event_block_timestamp
](#)[Int
](/docs/api/lockup/graphql/envio/scalars/int.mdx)
#### [dynamic_contract_registry_stream_cursor_value_input.registering_event_contract_name
](#)[String
](/docs/api/lockup/graphql/envio/scalars/string.mdx)
#### [dynamic_contract_registry_stream_cursor_value_input.registering_event_log_index
](#)[Int
](/docs/api/lockup/graphql/envio/scalars/int.mdx)
#### [dynamic_contract_registry_stream_cursor_value_input.registering_event_name
](#)[String
](/docs/api/lockup/graphql/envio/scalars/string.mdx)
#### [dynamic_contract_registry_stream_cursor_value_input.registering_event_src_address
](#)[String
](/docs/api/lockup/graphql/envio/scalars/string.mdx)
---
## end_of_block_range_scanned_data_bool_exp (3)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
Boolean expression to filter rows from the table "end_of_block_range_scanned_data". All fields are combined with a logical 'AND'.
```graphql
input end_of_block_range_scanned_data_bool_exp {
_and: [end_of_block_range_scanned_data_bool_exp!]
_not: end_of_block_range_scanned_data_bool_exp
_or: [end_of_block_range_scanned_data_bool_exp!]
block_hash: String_comparison_exp
block_number: Int_comparison_exp
chain_id: Int_comparison_exp
}
```
### Fields
#### [end_of_block_range_scanned_data_bool_exp.\_and
](#)[[end_of_block_range_scanned_data_bool_exp!]
](/docs/api/lockup/graphql/envio/inputs/end-of-block-range-scanned-data-bool-exp.mdx)
#### [end_of_block_range_scanned_data_bool_exp.\_not
](#)[end_of_block_range_scanned_data_bool_exp
](/docs/api/lockup/graphql/envio/inputs/end-of-block-range-scanned-data-bool-exp.mdx)
#### [end_of_block_range_scanned_data_bool_exp.\_or
](#)[[end_of_block_range_scanned_data_bool_exp!]
](/docs/api/lockup/graphql/envio/inputs/end-of-block-range-scanned-data-bool-exp.mdx)
#### [end_of_block_range_scanned_data_bool_exp.block_hash
](#)[String_comparison_exp
](/docs/api/lockup/graphql/envio/inputs/string-comparison-exp.mdx)
#### [end_of_block_range_scanned_data_bool_exp.block_number
](#)[Int_comparison_exp
](/docs/api/lockup/graphql/envio/inputs/int-comparison-exp.mdx)
#### [end_of_block_range_scanned_data_bool_exp.chain_id
](#)[Int_comparison_exp
](/docs/api/lockup/graphql/envio/inputs/int-comparison-exp.mdx)
---
## end_of_block_range_scanned_data_order_by (3)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
Ordering options when selecting data from "end_of_block_range_scanned_data".
```graphql
input end_of_block_range_scanned_data_order_by {
block_hash: order_by
block_number: order_by
chain_id: order_by
}
```
### Fields
#### [end_of_block_range_scanned_data_order_by.block_hash
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [end_of_block_range_scanned_data_order_by.block_number
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [end_of_block_range_scanned_data_order_by.chain_id
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
---
## end_of_block_range_scanned_data_stream_cursor_input (3)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
Streaming cursor of the table "end_of_block_range_scanned_data"
```graphql
input end_of_block_range_scanned_data_stream_cursor_input {
initial_value: end_of_block_range_scanned_data_stream_cursor_value_input!
ordering: cursor_ordering
}
```
### Fields
#### [end_of_block_range_scanned_data_stream_cursor_input.initial_value
](#)[end_of_block_range_scanned_data_stream_cursor_value_input!
](/docs/api/lockup/graphql/envio/inputs/end-of-block-range-scanned-data-stream-cursor-value-input.mdx)
Stream column input with initial value
#### [end_of_block_range_scanned_data_stream_cursor_input.ordering
](#)[cursor_ordering
](/docs/api/lockup/graphql/envio/enums/cursor-ordering.mdx)
cursor ordering
---
## end_of_block_range_scanned_data_stream_cursor_value_input (3)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
Initial value of the column from where the streaming should start
```graphql
input end_of_block_range_scanned_data_stream_cursor_value_input {
block_hash: String
block_number: Int
chain_id: Int
}
```
### Fields
#### [end_of_block_range_scanned_data_stream_cursor_value_input.block_hash
](#)[String
](/docs/api/lockup/graphql/envio/scalars/string.mdx)
#### [end_of_block_range_scanned_data_stream_cursor_value_input.block_number
](#)[Int
](/docs/api/lockup/graphql/envio/scalars/int.mdx)
#### [end_of_block_range_scanned_data_stream_cursor_value_input.chain_id
](#)[Int
](/docs/api/lockup/graphql/envio/scalars/int.mdx)
---
## event_sync_state_bool_exp (3)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
Boolean expression to filter rows from the table "event_sync_state". All fields are combined with a logical 'AND'.
```graphql
input event_sync_state_bool_exp {
_and: [event_sync_state_bool_exp!]
_not: event_sync_state_bool_exp
_or: [event_sync_state_bool_exp!]
block_number: Int_comparison_exp
block_timestamp: Int_comparison_exp
chain_id: Int_comparison_exp
is_pre_registering_dynamic_contracts: Boolean_comparison_exp
log_index: Int_comparison_exp
}
```
### Fields
#### [event_sync_state_bool_exp.\_and
](#)[[event_sync_state_bool_exp!]
](/docs/api/lockup/graphql/envio/inputs/event-sync-state-bool-exp.mdx)
#### [event_sync_state_bool_exp.\_not
](#)[event_sync_state_bool_exp
](/docs/api/lockup/graphql/envio/inputs/event-sync-state-bool-exp.mdx)
#### [event_sync_state_bool_exp.\_or
](#)[[event_sync_state_bool_exp!]
](/docs/api/lockup/graphql/envio/inputs/event-sync-state-bool-exp.mdx)
#### [event_sync_state_bool_exp.block_number
](#)[Int_comparison_exp
](/docs/api/lockup/graphql/envio/inputs/int-comparison-exp.mdx)
#### [event_sync_state_bool_exp.block_timestamp
](#)[Int_comparison_exp
](/docs/api/lockup/graphql/envio/inputs/int-comparison-exp.mdx)
#### [event_sync_state_bool_exp.chain_id
](#)[Int_comparison_exp
](/docs/api/lockup/graphql/envio/inputs/int-comparison-exp.mdx)
#### [event_sync_state_bool_exp.is_pre_registering_dynamic_contracts
](#)[Boolean_comparison_exp
](/docs/api/lockup/graphql/envio/inputs/boolean-comparison-exp.mdx)
#### [event_sync_state_bool_exp.log_index
](#)[Int_comparison_exp
](/docs/api/lockup/graphql/envio/inputs/int-comparison-exp.mdx)
---
## event_sync_state_order_by (3)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
Ordering options when selecting data from "event_sync_state".
```graphql
input event_sync_state_order_by {
block_number: order_by
block_timestamp: order_by
chain_id: order_by
is_pre_registering_dynamic_contracts: order_by
log_index: order_by
}
```
### Fields
#### [event_sync_state_order_by.block_number
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [event_sync_state_order_by.block_timestamp
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [event_sync_state_order_by.chain_id
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [event_sync_state_order_by.is_pre_registering_dynamic_contracts
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [event_sync_state_order_by.log_index
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
---
## event_sync_state_stream_cursor_input (3)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
Streaming cursor of the table "event_sync_state"
```graphql
input event_sync_state_stream_cursor_input {
initial_value: event_sync_state_stream_cursor_value_input!
ordering: cursor_ordering
}
```
### Fields
#### [event_sync_state_stream_cursor_input.initial_value
](#)[event_sync_state_stream_cursor_value_input!
](/docs/api/lockup/graphql/envio/inputs/event-sync-state-stream-cursor-value-input.mdx)
Stream column input with initial value
#### [event_sync_state_stream_cursor_input.ordering
](#)[cursor_ordering
](/docs/api/lockup/graphql/envio/enums/cursor-ordering.mdx)
cursor ordering
---
## event_sync_state_stream_cursor_value_input (3)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
Initial value of the column from where the streaming should start
```graphql
input event_sync_state_stream_cursor_value_input {
block_number: Int
block_timestamp: Int
chain_id: Int
is_pre_registering_dynamic_contracts: Boolean
log_index: Int
}
```
### Fields
#### [event_sync_state_stream_cursor_value_input.block_number
](#)[Int
](/docs/api/lockup/graphql/envio/scalars/int.mdx)
#### [event_sync_state_stream_cursor_value_input.block_timestamp
](#)[Int
](/docs/api/lockup/graphql/envio/scalars/int.mdx)
#### [event_sync_state_stream_cursor_value_input.chain_id
](#)[Int
](/docs/api/lockup/graphql/envio/scalars/int.mdx)
#### [event_sync_state_stream_cursor_value_input.is_pre_registering_dynamic_contracts
](#)[Boolean
](/docs/api/lockup/graphql/envio/scalars/boolean.mdx)
#### [event_sync_state_stream_cursor_value_input.log_index
](#)[Int
](/docs/api/lockup/graphql/envio/scalars/int.mdx)
---
## float8_comparison_exp (3)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
Boolean expression to compare columns of type "float8". All fields are combined with logical 'AND'.
```graphql
input float8_comparison_exp {
_eq: float8
_gt: float8
_gte: float8
_in: [float8!]
_is_null: Boolean
_lt: float8
_lte: float8
_neq: float8
_nin: [float8!]
}
```
### Fields
#### [float8_comparison_exp.\_eq
](#)[float8
](/docs/api/lockup/graphql/envio/scalars/float-8.mdx)
#### [float8_comparison_exp.\_gt
](#)[float8
](/docs/api/lockup/graphql/envio/scalars/float-8.mdx)
#### [float8_comparison_exp.\_gte
](#)[float8
](/docs/api/lockup/graphql/envio/scalars/float-8.mdx)
#### [float8_comparison_exp.\_in
](#)[[float8!]
](/docs/api/lockup/graphql/envio/scalars/float-8.mdx)
#### [float8_comparison_exp.\_is_null
](#)[Boolean
](/docs/api/lockup/graphql/envio/scalars/boolean.mdx)
#### [float8_comparison_exp.\_lt
](#)[float8
](/docs/api/lockup/graphql/envio/scalars/float-8.mdx)
#### [float8_comparison_exp.\_lte
](#)[float8
](/docs/api/lockup/graphql/envio/scalars/float-8.mdx)
#### [float8_comparison_exp.\_neq
](#)[float8
](/docs/api/lockup/graphql/envio/scalars/float-8.mdx)
#### [float8_comparison_exp.\_nin
](#)[[float8!]
](/docs/api/lockup/graphql/envio/scalars/float-8.mdx)
---
## Int_comparison_exp (3)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
Boolean expression to compare columns of type "Int". All fields are combined with logical 'AND'.
```graphql
input Int_comparison_exp {
_eq: Int
_gt: Int
_gte: Int
_in: [Int!]
_is_null: Boolean
_lt: Int
_lte: Int
_neq: Int
_nin: [Int!]
}
```
### Fields
#### [Int_comparison_exp.\_eq
](#)[Int
](/docs/api/lockup/graphql/envio/scalars/int.mdx)
#### [Int_comparison_exp.\_gt
](#)[Int
](/docs/api/lockup/graphql/envio/scalars/int.mdx)
#### [Int_comparison_exp.\_gte
](#)[Int
](/docs/api/lockup/graphql/envio/scalars/int.mdx)
#### [Int_comparison_exp.\_in
](#)[[Int!]
](/docs/api/lockup/graphql/envio/scalars/int.mdx)
#### [Int_comparison_exp.\_is_null
](#)[Boolean
](/docs/api/lockup/graphql/envio/scalars/boolean.mdx)
#### [Int_comparison_exp.\_lt
](#)[Int
](/docs/api/lockup/graphql/envio/scalars/int.mdx)
#### [Int_comparison_exp.\_lte
](#)[Int
](/docs/api/lockup/graphql/envio/scalars/int.mdx)
#### [Int_comparison_exp.\_neq
](#)[Int
](/docs/api/lockup/graphql/envio/scalars/int.mdx)
#### [Int_comparison_exp.\_nin
](#)[[Int!]
](/docs/api/lockup/graphql/envio/scalars/int.mdx)
---
## jsonb_cast_exp (3)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
No description
```graphql
input jsonb_cast_exp {
String: String_comparison_exp
}
```
### Fields
#### [jsonb_cast_exp.String
](#)[String_comparison_exp
](/docs/api/lockup/graphql/envio/inputs/string-comparison-exp.mdx)
---
## jsonb_comparison_exp (3)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
Boolean expression to compare columns of type "jsonb". All fields are combined with logical 'AND'.
```graphql
input jsonb_comparison_exp {
_cast: jsonb_cast_exp
_contained_in: jsonb
_contains: jsonb
_eq: jsonb
_gt: jsonb
_gte: jsonb
_has_key: String
_has_keys_all: [String!]
_has_keys_any: [String!]
_in: [jsonb!]
_is_null: Boolean
_lt: jsonb
_lte: jsonb
_neq: jsonb
_nin: [jsonb!]
}
```
### Fields
#### [jsonb_comparison_exp.\_cast
](#)[jsonb_cast_exp
](/docs/api/lockup/graphql/envio/inputs/jsonb-cast-exp.mdx)
#### [jsonb_comparison_exp.\_contained_in
](#)[jsonb
](/docs/api/lockup/graphql/envio/scalars/jsonb.mdx)
is the column contained in the given json value
#### [jsonb_comparison_exp.\_contains
](#)[jsonb
](/docs/api/lockup/graphql/envio/scalars/jsonb.mdx)
does the column contain the given json value at the top level
#### [jsonb_comparison_exp.\_eq
](#)[jsonb
](/docs/api/lockup/graphql/envio/scalars/jsonb.mdx)
#### [jsonb_comparison_exp.\_gt
](#)[jsonb
](/docs/api/lockup/graphql/envio/scalars/jsonb.mdx)
#### [jsonb_comparison_exp.\_gte
](#)[jsonb
](/docs/api/lockup/graphql/envio/scalars/jsonb.mdx)
#### [jsonb_comparison_exp.\_has_key
](#)[String
](/docs/api/lockup/graphql/envio/scalars/string.mdx)
does the string exist as a top-level key in the column
#### [jsonb_comparison_exp.\_has_keys_all
](#)[[String!]
](/docs/api/lockup/graphql/envio/scalars/string.mdx)
do all of these strings exist as top-level keys in the column
#### [jsonb_comparison_exp.\_has_keys_any
](#)[[String!]
](/docs/api/lockup/graphql/envio/scalars/string.mdx)
do any of these strings exist as top-level keys in the column
#### [jsonb_comparison_exp.\_in
](#)[[jsonb!]
](/docs/api/lockup/graphql/envio/scalars/jsonb.mdx)
#### [jsonb_comparison_exp.\_is_null
](#)[Boolean
](/docs/api/lockup/graphql/envio/scalars/boolean.mdx)
#### [jsonb_comparison_exp.\_lt
](#)[jsonb
](/docs/api/lockup/graphql/envio/scalars/jsonb.mdx)
#### [jsonb_comparison_exp.\_lte
](#)[jsonb
](/docs/api/lockup/graphql/envio/scalars/jsonb.mdx)
#### [jsonb_comparison_exp.\_neq
](#)[jsonb
](/docs/api/lockup/graphql/envio/scalars/jsonb.mdx)
#### [jsonb_comparison_exp.\_nin
](#)[[jsonb!]
](/docs/api/lockup/graphql/envio/scalars/jsonb.mdx)
---
## numeric_comparison_exp (3)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
Boolean expression to compare columns of type "numeric". All fields are combined with logical 'AND'.
```graphql
input numeric_comparison_exp {
_eq: numeric
_gt: numeric
_gte: numeric
_in: [numeric!]
_is_null: Boolean
_lt: numeric
_lte: numeric
_neq: numeric
_nin: [numeric!]
}
```
### Fields
#### [numeric_comparison_exp.\_eq
](#)[numeric
](/docs/api/lockup/graphql/envio/scalars/numeric.mdx)
#### [numeric_comparison_exp.\_gt
](#)[numeric
](/docs/api/lockup/graphql/envio/scalars/numeric.mdx)
#### [numeric_comparison_exp.\_gte
](#)[numeric
](/docs/api/lockup/graphql/envio/scalars/numeric.mdx)
#### [numeric_comparison_exp.\_in
](#)[[numeric!]
](/docs/api/lockup/graphql/envio/scalars/numeric.mdx)
#### [numeric_comparison_exp.\_is_null
](#)[Boolean
](/docs/api/lockup/graphql/envio/scalars/boolean.mdx)
#### [numeric_comparison_exp.\_lt
](#)[numeric
](/docs/api/lockup/graphql/envio/scalars/numeric.mdx)
#### [numeric_comparison_exp.\_lte
](#)[numeric
](/docs/api/lockup/graphql/envio/scalars/numeric.mdx)
#### [numeric_comparison_exp.\_neq
](#)[numeric
](/docs/api/lockup/graphql/envio/scalars/numeric.mdx)
#### [numeric_comparison_exp.\_nin
](#)[[numeric!]
](/docs/api/lockup/graphql/envio/scalars/numeric.mdx)
---
## persisted_state_bool_exp (3)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
Boolean expression to filter rows from the table "persisted_state". All fields are combined with a logical 'AND'.
```graphql
input persisted_state_bool_exp {
_and: [persisted_state_bool_exp!]
_not: persisted_state_bool_exp
_or: [persisted_state_bool_exp!]
abi_files_hash: String_comparison_exp
config_hash: String_comparison_exp
envio_version: String_comparison_exp
handler_files_hash: String_comparison_exp
id: Int_comparison_exp
schema_hash: String_comparison_exp
}
```
### Fields
#### [persisted_state_bool_exp.\_and
](#)[[persisted_state_bool_exp!]
](/docs/api/lockup/graphql/envio/inputs/persisted-state-bool-exp.mdx)
#### [persisted_state_bool_exp.\_not
](#)[persisted_state_bool_exp
](/docs/api/lockup/graphql/envio/inputs/persisted-state-bool-exp.mdx)
#### [persisted_state_bool_exp.\_or
](#)[[persisted_state_bool_exp!]
](/docs/api/lockup/graphql/envio/inputs/persisted-state-bool-exp.mdx)
#### [persisted_state_bool_exp.abi_files_hash
](#)[String_comparison_exp
](/docs/api/lockup/graphql/envio/inputs/string-comparison-exp.mdx)
#### [persisted_state_bool_exp.config_hash
](#)[String_comparison_exp
](/docs/api/lockup/graphql/envio/inputs/string-comparison-exp.mdx)
#### [persisted_state_bool_exp.envio_version
](#)[String_comparison_exp
](/docs/api/lockup/graphql/envio/inputs/string-comparison-exp.mdx)
#### [persisted_state_bool_exp.handler_files_hash
](#)[String_comparison_exp
](/docs/api/lockup/graphql/envio/inputs/string-comparison-exp.mdx)
#### [persisted_state_bool_exp.id
](#)[Int_comparison_exp
](/docs/api/lockup/graphql/envio/inputs/int-comparison-exp.mdx)
#### [persisted_state_bool_exp.schema_hash
](#)[String_comparison_exp
](/docs/api/lockup/graphql/envio/inputs/string-comparison-exp.mdx)
---
## persisted_state_order_by (3)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
Ordering options when selecting data from "persisted_state".
```graphql
input persisted_state_order_by {
abi_files_hash: order_by
config_hash: order_by
envio_version: order_by
handler_files_hash: order_by
id: order_by
schema_hash: order_by
}
```
### Fields
#### [persisted_state_order_by.abi_files_hash
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [persisted_state_order_by.config_hash
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [persisted_state_order_by.envio_version
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [persisted_state_order_by.handler_files_hash
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [persisted_state_order_by.id
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [persisted_state_order_by.schema_hash
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
---
## persisted_state_stream_cursor_input (3)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
Streaming cursor of the table "persisted_state"
```graphql
input persisted_state_stream_cursor_input {
initial_value: persisted_state_stream_cursor_value_input!
ordering: cursor_ordering
}
```
### Fields
#### [persisted_state_stream_cursor_input.initial_value
](#)[persisted_state_stream_cursor_value_input!
](/docs/api/lockup/graphql/envio/inputs/persisted-state-stream-cursor-value-input.mdx)
Stream column input with initial value
#### [persisted_state_stream_cursor_input.ordering
](#)[cursor_ordering
](/docs/api/lockup/graphql/envio/enums/cursor-ordering.mdx)
cursor ordering
---
## persisted_state_stream_cursor_value_input (3)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
Initial value of the column from where the streaming should start
```graphql
input persisted_state_stream_cursor_value_input {
abi_files_hash: String
config_hash: String
envio_version: String
handler_files_hash: String
id: Int
schema_hash: String
}
```
### Fields
#### [persisted_state_stream_cursor_value_input.abi_files_hash
](#)[String
](/docs/api/lockup/graphql/envio/scalars/string.mdx)
#### [persisted_state_stream_cursor_value_input.config_hash
](#)[String
](/docs/api/lockup/graphql/envio/scalars/string.mdx)
#### [persisted_state_stream_cursor_value_input.envio_version
](#)[String
](/docs/api/lockup/graphql/envio/scalars/string.mdx)
#### [persisted_state_stream_cursor_value_input.handler_files_hash
](#)[String
](/docs/api/lockup/graphql/envio/scalars/string.mdx)
#### [persisted_state_stream_cursor_value_input.id
](#)[Int
](/docs/api/lockup/graphql/envio/scalars/int.mdx)
#### [persisted_state_stream_cursor_value_input.schema_hash
](#)[String
](/docs/api/lockup/graphql/envio/scalars/string.mdx)
---
## raw_events_bool_exp (3)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
Boolean expression to filter rows from the table "raw_events". All fields are combined with a logical 'AND'.
```graphql
input raw_events_bool_exp {
_and: [raw_events_bool_exp!]
_not: raw_events_bool_exp
_or: [raw_events_bool_exp!]
block_fields: jsonb_comparison_exp
block_hash: String_comparison_exp
block_number: Int_comparison_exp
block_timestamp: Int_comparison_exp
chain_id: Int_comparison_exp
contract_name: String_comparison_exp
db_write_timestamp: timestamp_comparison_exp
event_id: numeric_comparison_exp
event_name: String_comparison_exp
log_index: Int_comparison_exp
params: jsonb_comparison_exp
serial: Int_comparison_exp
src_address: String_comparison_exp
transaction_fields: jsonb_comparison_exp
}
```
### Fields
#### [raw_events_bool_exp.\_and
](#)[[raw_events_bool_exp!]
](/docs/api/lockup/graphql/envio/inputs/raw-events-bool-exp.mdx)
#### [raw_events_bool_exp.\_not
](#)[raw_events_bool_exp
](/docs/api/lockup/graphql/envio/inputs/raw-events-bool-exp.mdx)
#### [raw_events_bool_exp.\_or
](#)[[raw_events_bool_exp!]
](/docs/api/lockup/graphql/envio/inputs/raw-events-bool-exp.mdx)
#### [raw_events_bool_exp.block_fields
](#)[jsonb_comparison_exp
](/docs/api/lockup/graphql/envio/inputs/jsonb-comparison-exp.mdx)
#### [raw_events_bool_exp.block_hash
](#)[String_comparison_exp
](/docs/api/lockup/graphql/envio/inputs/string-comparison-exp.mdx)
#### [raw_events_bool_exp.block_number
](#)[Int_comparison_exp
](/docs/api/lockup/graphql/envio/inputs/int-comparison-exp.mdx)
#### [raw_events_bool_exp.block_timestamp
](#)[Int_comparison_exp
](/docs/api/lockup/graphql/envio/inputs/int-comparison-exp.mdx)
#### [raw_events_bool_exp.chain_id
](#)[Int_comparison_exp
](/docs/api/lockup/graphql/envio/inputs/int-comparison-exp.mdx)
#### [raw_events_bool_exp.contract_name
](#)[String_comparison_exp
](/docs/api/lockup/graphql/envio/inputs/string-comparison-exp.mdx)
#### [raw_events_bool_exp.db_write_timestamp
](#)[timestamp_comparison_exp
](/docs/api/lockup/graphql/envio/inputs/timestamp-comparison-exp.mdx)
#### [raw_events_bool_exp.event_id
](#)[numeric_comparison_exp
](/docs/api/lockup/graphql/envio/inputs/numeric-comparison-exp.mdx)
#### [raw_events_bool_exp.event_name
](#)[String_comparison_exp
](/docs/api/lockup/graphql/envio/inputs/string-comparison-exp.mdx)
#### [raw_events_bool_exp.log_index
](#)[Int_comparison_exp
](/docs/api/lockup/graphql/envio/inputs/int-comparison-exp.mdx)
#### [raw_events_bool_exp.params
](#)[jsonb_comparison_exp
](/docs/api/lockup/graphql/envio/inputs/jsonb-comparison-exp.mdx)
#### [raw_events_bool_exp.serial
](#)[Int_comparison_exp
](/docs/api/lockup/graphql/envio/inputs/int-comparison-exp.mdx)
#### [raw_events_bool_exp.src_address
](#)[String_comparison_exp
](/docs/api/lockup/graphql/envio/inputs/string-comparison-exp.mdx)
#### [raw_events_bool_exp.transaction_fields
](#)[jsonb_comparison_exp
](/docs/api/lockup/graphql/envio/inputs/jsonb-comparison-exp.mdx)
---
## raw_events_order_by (3)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
Ordering options when selecting data from "raw_events".
```graphql
input raw_events_order_by {
block_fields: order_by
block_hash: order_by
block_number: order_by
block_timestamp: order_by
chain_id: order_by
contract_name: order_by
db_write_timestamp: order_by
event_id: order_by
event_name: order_by
log_index: order_by
params: order_by
serial: order_by
src_address: order_by
transaction_fields: order_by
}
```
### Fields
#### [raw_events_order_by.block_fields
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [raw_events_order_by.block_hash
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [raw_events_order_by.block_number
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [raw_events_order_by.block_timestamp
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [raw_events_order_by.chain_id
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [raw_events_order_by.contract_name
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [raw_events_order_by.db_write_timestamp
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [raw_events_order_by.event_id
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [raw_events_order_by.event_name
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [raw_events_order_by.log_index
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [raw_events_order_by.params
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [raw_events_order_by.serial
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [raw_events_order_by.src_address
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [raw_events_order_by.transaction_fields
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
---
## raw_events_stream_cursor_input (3)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
Streaming cursor of the table "raw_events"
```graphql
input raw_events_stream_cursor_input {
initial_value: raw_events_stream_cursor_value_input!
ordering: cursor_ordering
}
```
### Fields
#### [raw_events_stream_cursor_input.initial_value
](#)[raw_events_stream_cursor_value_input!
](/docs/api/lockup/graphql/envio/inputs/raw-events-stream-cursor-value-input.mdx)
Stream column input with initial value
#### [raw_events_stream_cursor_input.ordering
](#)[cursor_ordering
](/docs/api/lockup/graphql/envio/enums/cursor-ordering.mdx)
cursor ordering
---
## raw_events_stream_cursor_value_input (3)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
Initial value of the column from where the streaming should start
```graphql
input raw_events_stream_cursor_value_input {
block_fields: jsonb
block_hash: String
block_number: Int
block_timestamp: Int
chain_id: Int
contract_name: String
db_write_timestamp: timestamp
event_id: numeric
event_name: String
log_index: Int
params: jsonb
serial: Int
src_address: String
transaction_fields: jsonb
}
```
### Fields
#### [raw_events_stream_cursor_value_input.block_fields
](#)[jsonb
](/docs/api/lockup/graphql/envio/scalars/jsonb.mdx)
#### [raw_events_stream_cursor_value_input.block_hash
](#)[String
](/docs/api/lockup/graphql/envio/scalars/string.mdx)
#### [raw_events_stream_cursor_value_input.block_number
](#)[Int
](/docs/api/lockup/graphql/envio/scalars/int.mdx)
#### [raw_events_stream_cursor_value_input.block_timestamp
](#)[Int
](/docs/api/lockup/graphql/envio/scalars/int.mdx)
#### [raw_events_stream_cursor_value_input.chain_id
](#)[Int
](/docs/api/lockup/graphql/envio/scalars/int.mdx)
#### [raw_events_stream_cursor_value_input.contract_name
](#)[String
](/docs/api/lockup/graphql/envio/scalars/string.mdx)
#### [raw_events_stream_cursor_value_input.db_write_timestamp
](#)[timestamp
](/docs/api/lockup/graphql/envio/scalars/timestamp.mdx)
#### [raw_events_stream_cursor_value_input.event_id
](#)[numeric
](/docs/api/lockup/graphql/envio/scalars/numeric.mdx)
#### [raw_events_stream_cursor_value_input.event_name
](#)[String
](/docs/api/lockup/graphql/envio/scalars/string.mdx)
#### [raw_events_stream_cursor_value_input.log_index
](#)[Int
](/docs/api/lockup/graphql/envio/scalars/int.mdx)
#### [raw_events_stream_cursor_value_input.params
](#)[jsonb
](/docs/api/lockup/graphql/envio/scalars/jsonb.mdx)
#### [raw_events_stream_cursor_value_input.serial
](#)[Int
](/docs/api/lockup/graphql/envio/scalars/int.mdx)
#### [raw_events_stream_cursor_value_input.src_address
](#)[String
](/docs/api/lockup/graphql/envio/scalars/string.mdx)
#### [raw_events_stream_cursor_value_input.transaction_fields
](#)[jsonb
](/docs/api/lockup/graphql/envio/scalars/jsonb.mdx)
---
## Revenue_bool_exp (3)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
Boolean expression to filter rows from the table "Revenue". All fields are combined with a logical 'AND'.
```graphql
input Revenue_bool_exp {
_and: [Revenue_bool_exp!]
_not: Revenue_bool_exp
_or: [Revenue_bool_exp!]
amount: float8_comparison_exp
chainId: numeric_comparison_exp
currency: String_comparison_exp
date: String_comparison_exp
dateTimestamp: timestamptz_comparison_exp
db_write_timestamp: timestamp_comparison_exp
id: String_comparison_exp
transactions: RevenueTransaction_bool_exp
transactions_aggregate: RevenueTransaction_aggregate_bool_exp
}
```
### Fields
#### [Revenue_bool_exp.\_and
](#)[[Revenue_bool_exp!]
](/docs/api/lockup/graphql/envio/inputs/revenue-bool-exp.mdx)
#### [Revenue_bool_exp.\_not
](#)[Revenue_bool_exp
](/docs/api/lockup/graphql/envio/inputs/revenue-bool-exp.mdx)
#### [Revenue_bool_exp.\_or
](#)[[Revenue_bool_exp!]
](/docs/api/lockup/graphql/envio/inputs/revenue-bool-exp.mdx)
#### [Revenue_bool_exp.amount
](#)[float8_comparison_exp
](/docs/api/lockup/graphql/envio/inputs/float-8-comparison-exp.mdx)
#### [Revenue_bool_exp.chainId
](#)[numeric_comparison_exp
](/docs/api/lockup/graphql/envio/inputs/numeric-comparison-exp.mdx)
#### [Revenue_bool_exp.currency
](#)[String_comparison_exp
](/docs/api/lockup/graphql/envio/inputs/string-comparison-exp.mdx)
#### [Revenue_bool_exp.date
](#)[String_comparison_exp
](/docs/api/lockup/graphql/envio/inputs/string-comparison-exp.mdx)
#### [Revenue_bool_exp.dateTimestamp
](#)[timestamptz_comparison_exp
](/docs/api/lockup/graphql/envio/inputs/timestamptz-comparison-exp.mdx)
#### [Revenue_bool_exp.db_write_timestamp
](#)[timestamp_comparison_exp
](/docs/api/lockup/graphql/envio/inputs/timestamp-comparison-exp.mdx)
#### [Revenue_bool_exp.id
](#)[String_comparison_exp
](/docs/api/lockup/graphql/envio/inputs/string-comparison-exp.mdx)
#### [Revenue_bool_exp.transactions
](#)[RevenueTransaction_bool_exp
](/docs/api/lockup/graphql/envio/inputs/revenue-transaction-bool-exp.mdx)
#### [Revenue_bool_exp.transactions_aggregate
](#)[RevenueTransaction_aggregate_bool_exp
](/docs/api/lockup/graphql/envio/inputs/revenue-transaction-aggregate-bool-exp.mdx)
---
## Revenue_order_by (3)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
Ordering options when selecting data from "Revenue".
```graphql
input Revenue_order_by {
amount: order_by
chainId: order_by
currency: order_by
date: order_by
dateTimestamp: order_by
db_write_timestamp: order_by
id: order_by
transactions_aggregate: RevenueTransaction_aggregate_order_by
}
```
### Fields
#### [Revenue_order_by.amount
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [Revenue_order_by.chainId
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [Revenue_order_by.currency
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [Revenue_order_by.date
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [Revenue_order_by.dateTimestamp
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [Revenue_order_by.db_write_timestamp
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [Revenue_order_by.id
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [Revenue_order_by.transactions_aggregate
](#)[RevenueTransaction_aggregate_order_by
](/docs/api/lockup/graphql/envio/inputs/revenue-transaction-aggregate-order-by.mdx)
---
## Revenue_stream_cursor_input (3)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
Streaming cursor of the table "Revenue"
```graphql
input Revenue_stream_cursor_input {
initial_value: Revenue_stream_cursor_value_input!
ordering: cursor_ordering
}
```
### Fields
#### [Revenue_stream_cursor_input.initial_value
](#)[Revenue_stream_cursor_value_input!
](/docs/api/lockup/graphql/envio/inputs/revenue-stream-cursor-value-input.mdx)
Stream column input with initial value
#### [Revenue_stream_cursor_input.ordering
](#)[cursor_ordering
](/docs/api/lockup/graphql/envio/enums/cursor-ordering.mdx)
cursor ordering
---
## Revenue_stream_cursor_value_input (3)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
Initial value of the column from where the streaming should start
```graphql
input Revenue_stream_cursor_value_input {
amount: float8
chainId: numeric
currency: String
date: String
dateTimestamp: timestamptz
db_write_timestamp: timestamp
id: String
}
```
### Fields
#### [Revenue_stream_cursor_value_input.amount
](#)[float8
](/docs/api/lockup/graphql/envio/scalars/float-8.mdx)
#### [Revenue_stream_cursor_value_input.chainId
](#)[numeric
](/docs/api/lockup/graphql/envio/scalars/numeric.mdx)
#### [Revenue_stream_cursor_value_input.currency
](#)[String
](/docs/api/lockup/graphql/envio/scalars/string.mdx)
#### [Revenue_stream_cursor_value_input.date
](#)[String
](/docs/api/lockup/graphql/envio/scalars/string.mdx)
#### [Revenue_stream_cursor_value_input.dateTimestamp
](#)[timestamptz
](/docs/api/lockup/graphql/envio/scalars/timestamptz.mdx)
#### [Revenue_stream_cursor_value_input.db_write_timestamp
](#)[timestamp
](/docs/api/lockup/graphql/envio/scalars/timestamp.mdx)
#### [Revenue_stream_cursor_value_input.id
](#)[String
](/docs/api/lockup/graphql/envio/scalars/string.mdx)
---
## RevenueTransaction_aggregate_bool_exp_avg (3)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
No description
```graphql
input RevenueTransaction_aggregate_bool_exp_avg {
arguments: RevenueTransaction_select_column_RevenueTransaction_aggregate_bool_exp_avg_arguments_columns!
distinct: Boolean
filter: RevenueTransaction_bool_exp
predicate: float8_comparison_exp!
}
```
### Fields
#### [RevenueTransaction_aggregate_bool_exp_avg.arguments
](#)[RevenueTransaction_select_column_RevenueTransaction_aggregate_bool_exp_avg_arguments_columns!
](/docs/api/lockup/graphql/envio/enums/revenue-transaction-select-column-revenue-transaction-aggregate-bool-exp-avg-arguments-columns.mdx)
#### [RevenueTransaction_aggregate_bool_exp_avg.distinct
](#)[Boolean
](/docs/api/lockup/graphql/envio/scalars/boolean.mdx)
#### [RevenueTransaction_aggregate_bool_exp_avg.filter
](#)[RevenueTransaction_bool_exp
](/docs/api/lockup/graphql/envio/inputs/revenue-transaction-bool-exp.mdx)
#### [RevenueTransaction_aggregate_bool_exp_avg.predicate
](#)[float8_comparison_exp!
](/docs/api/lockup/graphql/envio/inputs/float-8-comparison-exp.mdx)
---
## RevenueTransaction_aggregate_bool_exp_corr_arguments (3)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
No description
```graphql
input RevenueTransaction_aggregate_bool_exp_corr_arguments {
X: RevenueTransaction_select_column_RevenueTransaction_aggregate_bool_exp_corr_arguments_columns!
Y: RevenueTransaction_select_column_RevenueTransaction_aggregate_bool_exp_corr_arguments_columns!
}
```
### Fields
#### [RevenueTransaction_aggregate_bool_exp_corr_arguments.X
](#)[RevenueTransaction_select_column_RevenueTransaction_aggregate_bool_exp_corr_arguments_columns!
](/docs/api/lockup/graphql/envio/enums/revenue-transaction-select-column-revenue-transaction-aggregate-bool-exp-corr-arguments-columns.mdx)
#### [RevenueTransaction_aggregate_bool_exp_corr_arguments.Y
](#)[RevenueTransaction_select_column_RevenueTransaction_aggregate_bool_exp_corr_arguments_columns!
](/docs/api/lockup/graphql/envio/enums/revenue-transaction-select-column-revenue-transaction-aggregate-bool-exp-corr-arguments-columns.mdx)
---
## RevenueTransaction_aggregate_bool_exp_corr (3)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
No description
```graphql
input RevenueTransaction_aggregate_bool_exp_corr {
arguments: RevenueTransaction_aggregate_bool_exp_corr_arguments!
distinct: Boolean
filter: RevenueTransaction_bool_exp
predicate: float8_comparison_exp!
}
```
### Fields
#### [RevenueTransaction_aggregate_bool_exp_corr.arguments
](#)[RevenueTransaction_aggregate_bool_exp_corr_arguments!
](/docs/api/lockup/graphql/envio/inputs/revenue-transaction-aggregate-bool-exp-corr-arguments.mdx)
#### [RevenueTransaction_aggregate_bool_exp_corr.distinct
](#)[Boolean
](/docs/api/lockup/graphql/envio/scalars/boolean.mdx)
#### [RevenueTransaction_aggregate_bool_exp_corr.filter
](#)[RevenueTransaction_bool_exp
](/docs/api/lockup/graphql/envio/inputs/revenue-transaction-bool-exp.mdx)
#### [RevenueTransaction_aggregate_bool_exp_corr.predicate
](#)[float8_comparison_exp!
](/docs/api/lockup/graphql/envio/inputs/float-8-comparison-exp.mdx)
---
## RevenueTransaction_aggregate_bool_exp_count (3)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
No description
```graphql
input RevenueTransaction_aggregate_bool_exp_count {
arguments: [RevenueTransaction_select_column!]
distinct: Boolean
filter: RevenueTransaction_bool_exp
predicate: Int_comparison_exp!
}
```
### Fields
#### [RevenueTransaction_aggregate_bool_exp_count.arguments
](#)[[RevenueTransaction_select_column!]
](/docs/api/lockup/graphql/envio/enums/revenue-transaction-select-column.mdx)
#### [RevenueTransaction_aggregate_bool_exp_count.distinct
](#)[Boolean
](/docs/api/lockup/graphql/envio/scalars/boolean.mdx)
#### [RevenueTransaction_aggregate_bool_exp_count.filter
](#)[RevenueTransaction_bool_exp
](/docs/api/lockup/graphql/envio/inputs/revenue-transaction-bool-exp.mdx)
#### [RevenueTransaction_aggregate_bool_exp_count.predicate
](#)[Int_comparison_exp!
](/docs/api/lockup/graphql/envio/inputs/int-comparison-exp.mdx)
---
## RevenueTransaction_aggregate_bool_exp_covar_samp_arguments (3)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
No description
```graphql
input RevenueTransaction_aggregate_bool_exp_covar_samp_arguments {
X: RevenueTransaction_select_column_RevenueTransaction_aggregate_bool_exp_covar_samp_arguments_columns!
Y: RevenueTransaction_select_column_RevenueTransaction_aggregate_bool_exp_covar_samp_arguments_columns!
}
```
### Fields
#### [RevenueTransaction_aggregate_bool_exp_covar_samp_arguments.X
](#)[RevenueTransaction_select_column_RevenueTransaction_aggregate_bool_exp_covar_samp_arguments_columns!
](/docs/api/lockup/graphql/envio/enums/revenue-transaction-select-column-revenue-transaction-aggregate-bool-exp-covar-samp-arguments-columns.mdx)
#### [RevenueTransaction_aggregate_bool_exp_covar_samp_arguments.Y
](#)[RevenueTransaction_select_column_RevenueTransaction_aggregate_bool_exp_covar_samp_arguments_columns!
](/docs/api/lockup/graphql/envio/enums/revenue-transaction-select-column-revenue-transaction-aggregate-bool-exp-covar-samp-arguments-columns.mdx)
---
## RevenueTransaction_aggregate_bool_exp_covar_samp (3)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
No description
```graphql
input RevenueTransaction_aggregate_bool_exp_covar_samp {
arguments: RevenueTransaction_aggregate_bool_exp_covar_samp_arguments!
distinct: Boolean
filter: RevenueTransaction_bool_exp
predicate: float8_comparison_exp!
}
```
### Fields
#### [RevenueTransaction_aggregate_bool_exp_covar_samp.arguments
](#)[RevenueTransaction_aggregate_bool_exp_covar_samp_arguments!
](/docs/api/lockup/graphql/envio/inputs/revenue-transaction-aggregate-bool-exp-covar-samp-arguments.mdx)
#### [RevenueTransaction_aggregate_bool_exp_covar_samp.distinct
](#)[Boolean
](/docs/api/lockup/graphql/envio/scalars/boolean.mdx)
#### [RevenueTransaction_aggregate_bool_exp_covar_samp.filter
](#)[RevenueTransaction_bool_exp
](/docs/api/lockup/graphql/envio/inputs/revenue-transaction-bool-exp.mdx)
#### [RevenueTransaction_aggregate_bool_exp_covar_samp.predicate
](#)[float8_comparison_exp!
](/docs/api/lockup/graphql/envio/inputs/float-8-comparison-exp.mdx)
---
## RevenueTransaction_aggregate_bool_exp_max (3)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
No description
```graphql
input RevenueTransaction_aggregate_bool_exp_max {
arguments: RevenueTransaction_select_column_RevenueTransaction_aggregate_bool_exp_max_arguments_columns!
distinct: Boolean
filter: RevenueTransaction_bool_exp
predicate: float8_comparison_exp!
}
```
### Fields
#### [RevenueTransaction_aggregate_bool_exp_max.arguments
](#)[RevenueTransaction_select_column_RevenueTransaction_aggregate_bool_exp_max_arguments_columns!
](/docs/api/lockup/graphql/envio/enums/revenue-transaction-select-column-revenue-transaction-aggregate-bool-exp-max-arguments-columns.mdx)
#### [RevenueTransaction_aggregate_bool_exp_max.distinct
](#)[Boolean
](/docs/api/lockup/graphql/envio/scalars/boolean.mdx)
#### [RevenueTransaction_aggregate_bool_exp_max.filter
](#)[RevenueTransaction_bool_exp
](/docs/api/lockup/graphql/envio/inputs/revenue-transaction-bool-exp.mdx)
#### [RevenueTransaction_aggregate_bool_exp_max.predicate
](#)[float8_comparison_exp!
](/docs/api/lockup/graphql/envio/inputs/float-8-comparison-exp.mdx)
---
## RevenueTransaction_aggregate_bool_exp_min (3)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
No description
```graphql
input RevenueTransaction_aggregate_bool_exp_min {
arguments: RevenueTransaction_select_column_RevenueTransaction_aggregate_bool_exp_min_arguments_columns!
distinct: Boolean
filter: RevenueTransaction_bool_exp
predicate: float8_comparison_exp!
}
```
### Fields
#### [RevenueTransaction_aggregate_bool_exp_min.arguments
](#)[RevenueTransaction_select_column_RevenueTransaction_aggregate_bool_exp_min_arguments_columns!
](/docs/api/lockup/graphql/envio/enums/revenue-transaction-select-column-revenue-transaction-aggregate-bool-exp-min-arguments-columns.mdx)
#### [RevenueTransaction_aggregate_bool_exp_min.distinct
](#)[Boolean
](/docs/api/lockup/graphql/envio/scalars/boolean.mdx)
#### [RevenueTransaction_aggregate_bool_exp_min.filter
](#)[RevenueTransaction_bool_exp
](/docs/api/lockup/graphql/envio/inputs/revenue-transaction-bool-exp.mdx)
#### [RevenueTransaction_aggregate_bool_exp_min.predicate
](#)[float8_comparison_exp!
](/docs/api/lockup/graphql/envio/inputs/float-8-comparison-exp.mdx)
---
## RevenueTransaction_aggregate_bool_exp_stddev_samp (3)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
No description
```graphql
input RevenueTransaction_aggregate_bool_exp_stddev_samp {
arguments: RevenueTransaction_select_column_RevenueTransaction_aggregate_bool_exp_stddev_samp_arguments_columns!
distinct: Boolean
filter: RevenueTransaction_bool_exp
predicate: float8_comparison_exp!
}
```
### Fields
#### [RevenueTransaction_aggregate_bool_exp_stddev_samp.arguments
](#)[RevenueTransaction_select_column_RevenueTransaction_aggregate_bool_exp_stddev_samp_arguments_columns!
](/docs/api/lockup/graphql/envio/enums/revenue-transaction-select-column-revenue-transaction-aggregate-bool-exp-stddev-samp-arguments-columns.mdx)
#### [RevenueTransaction_aggregate_bool_exp_stddev_samp.distinct
](#)[Boolean
](/docs/api/lockup/graphql/envio/scalars/boolean.mdx)
#### [RevenueTransaction_aggregate_bool_exp_stddev_samp.filter
](#)[RevenueTransaction_bool_exp
](/docs/api/lockup/graphql/envio/inputs/revenue-transaction-bool-exp.mdx)
#### [RevenueTransaction_aggregate_bool_exp_stddev_samp.predicate
](#)[float8_comparison_exp!
](/docs/api/lockup/graphql/envio/inputs/float-8-comparison-exp.mdx)
---
## RevenueTransaction_aggregate_bool_exp_sum (3)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
No description
```graphql
input RevenueTransaction_aggregate_bool_exp_sum {
arguments: RevenueTransaction_select_column_RevenueTransaction_aggregate_bool_exp_sum_arguments_columns!
distinct: Boolean
filter: RevenueTransaction_bool_exp
predicate: float8_comparison_exp!
}
```
### Fields
#### [RevenueTransaction_aggregate_bool_exp_sum.arguments
](#)[RevenueTransaction_select_column_RevenueTransaction_aggregate_bool_exp_sum_arguments_columns!
](/docs/api/lockup/graphql/envio/enums/revenue-transaction-select-column-revenue-transaction-aggregate-bool-exp-sum-arguments-columns.mdx)
#### [RevenueTransaction_aggregate_bool_exp_sum.distinct
](#)[Boolean
](/docs/api/lockup/graphql/envio/scalars/boolean.mdx)
#### [RevenueTransaction_aggregate_bool_exp_sum.filter
](#)[RevenueTransaction_bool_exp
](/docs/api/lockup/graphql/envio/inputs/revenue-transaction-bool-exp.mdx)
#### [RevenueTransaction_aggregate_bool_exp_sum.predicate
](#)[float8_comparison_exp!
](/docs/api/lockup/graphql/envio/inputs/float-8-comparison-exp.mdx)
---
## RevenueTransaction_aggregate_bool_exp_var_samp (3)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
No description
```graphql
input RevenueTransaction_aggregate_bool_exp_var_samp {
arguments: RevenueTransaction_select_column_RevenueTransaction_aggregate_bool_exp_var_samp_arguments_columns!
distinct: Boolean
filter: RevenueTransaction_bool_exp
predicate: float8_comparison_exp!
}
```
### Fields
#### [RevenueTransaction_aggregate_bool_exp_var_samp.arguments
](#)[RevenueTransaction_select_column_RevenueTransaction_aggregate_bool_exp_var_samp_arguments_columns!
](/docs/api/lockup/graphql/envio/enums/revenue-transaction-select-column-revenue-transaction-aggregate-bool-exp-var-samp-arguments-columns.mdx)
#### [RevenueTransaction_aggregate_bool_exp_var_samp.distinct
](#)[Boolean
](/docs/api/lockup/graphql/envio/scalars/boolean.mdx)
#### [RevenueTransaction_aggregate_bool_exp_var_samp.filter
](#)[RevenueTransaction_bool_exp
](/docs/api/lockup/graphql/envio/inputs/revenue-transaction-bool-exp.mdx)
#### [RevenueTransaction_aggregate_bool_exp_var_samp.predicate
](#)[float8_comparison_exp!
](/docs/api/lockup/graphql/envio/inputs/float-8-comparison-exp.mdx)
---
## RevenueTransaction_aggregate_bool_exp (3)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
No description
```graphql
input RevenueTransaction_aggregate_bool_exp {
avg: RevenueTransaction_aggregate_bool_exp_avg
corr: RevenueTransaction_aggregate_bool_exp_corr
count: RevenueTransaction_aggregate_bool_exp_count
covar_samp: RevenueTransaction_aggregate_bool_exp_covar_samp
max: RevenueTransaction_aggregate_bool_exp_max
min: RevenueTransaction_aggregate_bool_exp_min
stddev_samp: RevenueTransaction_aggregate_bool_exp_stddev_samp
sum: RevenueTransaction_aggregate_bool_exp_sum
var_samp: RevenueTransaction_aggregate_bool_exp_var_samp
}
```
### Fields
#### [RevenueTransaction_aggregate_bool_exp.avg
](#)[RevenueTransaction_aggregate_bool_exp_avg
](/docs/api/lockup/graphql/envio/inputs/revenue-transaction-aggregate-bool-exp-avg.mdx)
#### [RevenueTransaction_aggregate_bool_exp.corr
](#)[RevenueTransaction_aggregate_bool_exp_corr
](/docs/api/lockup/graphql/envio/inputs/revenue-transaction-aggregate-bool-exp-corr.mdx)
#### [RevenueTransaction_aggregate_bool_exp.count
](#)[RevenueTransaction_aggregate_bool_exp_count
](/docs/api/lockup/graphql/envio/inputs/revenue-transaction-aggregate-bool-exp-count.mdx)
#### [RevenueTransaction_aggregate_bool_exp.covar_samp
](#)[RevenueTransaction_aggregate_bool_exp_covar_samp
](/docs/api/lockup/graphql/envio/inputs/revenue-transaction-aggregate-bool-exp-covar-samp.mdx)
#### [RevenueTransaction_aggregate_bool_exp.max
](#)[RevenueTransaction_aggregate_bool_exp_max
](/docs/api/lockup/graphql/envio/inputs/revenue-transaction-aggregate-bool-exp-max.mdx)
#### [RevenueTransaction_aggregate_bool_exp.min
](#)[RevenueTransaction_aggregate_bool_exp_min
](/docs/api/lockup/graphql/envio/inputs/revenue-transaction-aggregate-bool-exp-min.mdx)
#### [RevenueTransaction_aggregate_bool_exp.stddev_samp
](#)[RevenueTransaction_aggregate_bool_exp_stddev_samp
](/docs/api/lockup/graphql/envio/inputs/revenue-transaction-aggregate-bool-exp-stddev-samp.mdx)
#### [RevenueTransaction_aggregate_bool_exp.sum
](#)[RevenueTransaction_aggregate_bool_exp_sum
](/docs/api/lockup/graphql/envio/inputs/revenue-transaction-aggregate-bool-exp-sum.mdx)
#### [RevenueTransaction_aggregate_bool_exp.var_samp
](#)[RevenueTransaction_aggregate_bool_exp_var_samp
](/docs/api/lockup/graphql/envio/inputs/revenue-transaction-aggregate-bool-exp-var-samp.mdx)
---
## RevenueTransaction_aggregate_order_by (3)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
order by aggregate values of table "RevenueTransaction"
```graphql
input RevenueTransaction_aggregate_order_by {
avg: RevenueTransaction_avg_order_by
count: order_by
max: RevenueTransaction_max_order_by
min: RevenueTransaction_min_order_by
stddev: RevenueTransaction_stddev_order_by
stddev_pop: RevenueTransaction_stddev_pop_order_by
stddev_samp: RevenueTransaction_stddev_samp_order_by
sum: RevenueTransaction_sum_order_by
var_pop: RevenueTransaction_var_pop_order_by
var_samp: RevenueTransaction_var_samp_order_by
variance: RevenueTransaction_variance_order_by
}
```
### Fields
#### [RevenueTransaction_aggregate_order_by.avg
](#)[RevenueTransaction_avg_order_by
](/docs/api/lockup/graphql/envio/inputs/revenue-transaction-avg-order-by.mdx)
#### [RevenueTransaction_aggregate_order_by.count
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [RevenueTransaction_aggregate_order_by.max
](#)[RevenueTransaction_max_order_by
](/docs/api/lockup/graphql/envio/inputs/revenue-transaction-max-order-by.mdx)
#### [RevenueTransaction_aggregate_order_by.min
](#)[RevenueTransaction_min_order_by
](/docs/api/lockup/graphql/envio/inputs/revenue-transaction-min-order-by.mdx)
#### [RevenueTransaction_aggregate_order_by.stddev
](#)[RevenueTransaction_stddev_order_by
](/docs/api/lockup/graphql/envio/inputs/revenue-transaction-stddev-order-by.mdx)
#### [RevenueTransaction_aggregate_order_by.stddev_pop
](#)[RevenueTransaction_stddev_pop_order_by
](/docs/api/lockup/graphql/envio/inputs/revenue-transaction-stddev-pop-order-by.mdx)
#### [RevenueTransaction_aggregate_order_by.stddev_samp
](#)[RevenueTransaction_stddev_samp_order_by
](/docs/api/lockup/graphql/envio/inputs/revenue-transaction-stddev-samp-order-by.mdx)
#### [RevenueTransaction_aggregate_order_by.sum
](#)[RevenueTransaction_sum_order_by
](/docs/api/lockup/graphql/envio/inputs/revenue-transaction-sum-order-by.mdx)
#### [RevenueTransaction_aggregate_order_by.var_pop
](#)[RevenueTransaction_var_pop_order_by
](/docs/api/lockup/graphql/envio/inputs/revenue-transaction-var-pop-order-by.mdx)
#### [RevenueTransaction_aggregate_order_by.var_samp
](#)[RevenueTransaction_var_samp_order_by
](/docs/api/lockup/graphql/envio/inputs/revenue-transaction-var-samp-order-by.mdx)
#### [RevenueTransaction_aggregate_order_by.variance
](#)[RevenueTransaction_variance_order_by
](/docs/api/lockup/graphql/envio/inputs/revenue-transaction-variance-order-by.mdx)
---
## RevenueTransaction_avg_order_by (3)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
order by avg() on columns of table "RevenueTransaction"
```graphql
input RevenueTransaction_avg_order_by {
amount: order_by
block: order_by
timestamp: order_by
}
```
### Fields
#### [RevenueTransaction_avg_order_by.amount
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [RevenueTransaction_avg_order_by.block
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [RevenueTransaction_avg_order_by.timestamp
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
---
## RevenueTransaction_bool_exp (3)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
Boolean expression to filter rows from the table "RevenueTransaction". All fields are combined with a logical 'AND'.
```graphql
input RevenueTransaction_bool_exp {
_and: [RevenueTransaction_bool_exp!]
_not: RevenueTransaction_bool_exp
_or: [RevenueTransaction_bool_exp!]
amount: float8_comparison_exp
block: numeric_comparison_exp
db_write_timestamp: timestamp_comparison_exp
hash: String_comparison_exp
id: String_comparison_exp
revenue: Revenue_bool_exp
revenue_id: String_comparison_exp
timestamp: numeric_comparison_exp
}
```
### Fields
#### [RevenueTransaction_bool_exp.\_and
](#)[[RevenueTransaction_bool_exp!]
](/docs/api/lockup/graphql/envio/inputs/revenue-transaction-bool-exp.mdx)
#### [RevenueTransaction_bool_exp.\_not
](#)[RevenueTransaction_bool_exp
](/docs/api/lockup/graphql/envio/inputs/revenue-transaction-bool-exp.mdx)
#### [RevenueTransaction_bool_exp.\_or
](#)[[RevenueTransaction_bool_exp!]
](/docs/api/lockup/graphql/envio/inputs/revenue-transaction-bool-exp.mdx)
#### [RevenueTransaction_bool_exp.amount
](#)[float8_comparison_exp
](/docs/api/lockup/graphql/envio/inputs/float-8-comparison-exp.mdx)
#### [RevenueTransaction_bool_exp.block
](#)[numeric_comparison_exp
](/docs/api/lockup/graphql/envio/inputs/numeric-comparison-exp.mdx)
#### [RevenueTransaction_bool_exp.db_write_timestamp
](#)[timestamp_comparison_exp
](/docs/api/lockup/graphql/envio/inputs/timestamp-comparison-exp.mdx)
#### [RevenueTransaction_bool_exp.hash
](#)[String_comparison_exp
](/docs/api/lockup/graphql/envio/inputs/string-comparison-exp.mdx)
#### [RevenueTransaction_bool_exp.id
](#)[String_comparison_exp
](/docs/api/lockup/graphql/envio/inputs/string-comparison-exp.mdx)
#### [RevenueTransaction_bool_exp.revenue
](#)[Revenue_bool_exp
](/docs/api/lockup/graphql/envio/inputs/revenue-bool-exp.mdx)
#### [RevenueTransaction_bool_exp.revenue_id
](#)[String_comparison_exp
](/docs/api/lockup/graphql/envio/inputs/string-comparison-exp.mdx)
#### [RevenueTransaction_bool_exp.timestamp
](#)[numeric_comparison_exp
](/docs/api/lockup/graphql/envio/inputs/numeric-comparison-exp.mdx)
---
## RevenueTransaction_max_order_by (3)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
order by max() on columns of table "RevenueTransaction"
```graphql
input RevenueTransaction_max_order_by {
amount: order_by
block: order_by
db_write_timestamp: order_by
hash: order_by
id: order_by
revenue_id: order_by
timestamp: order_by
}
```
### Fields
#### [RevenueTransaction_max_order_by.amount
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [RevenueTransaction_max_order_by.block
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [RevenueTransaction_max_order_by.db_write_timestamp
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [RevenueTransaction_max_order_by.hash
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [RevenueTransaction_max_order_by.id
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [RevenueTransaction_max_order_by.revenue_id
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [RevenueTransaction_max_order_by.timestamp
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
---
## RevenueTransaction_min_order_by (3)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
order by min() on columns of table "RevenueTransaction"
```graphql
input RevenueTransaction_min_order_by {
amount: order_by
block: order_by
db_write_timestamp: order_by
hash: order_by
id: order_by
revenue_id: order_by
timestamp: order_by
}
```
### Fields
#### [RevenueTransaction_min_order_by.amount
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [RevenueTransaction_min_order_by.block
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [RevenueTransaction_min_order_by.db_write_timestamp
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [RevenueTransaction_min_order_by.hash
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [RevenueTransaction_min_order_by.id
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [RevenueTransaction_min_order_by.revenue_id
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [RevenueTransaction_min_order_by.timestamp
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
---
## RevenueTransaction_order_by (3)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
Ordering options when selecting data from "RevenueTransaction".
```graphql
input RevenueTransaction_order_by {
amount: order_by
block: order_by
db_write_timestamp: order_by
hash: order_by
id: order_by
revenue: Revenue_order_by
revenue_id: order_by
timestamp: order_by
}
```
### Fields
#### [RevenueTransaction_order_by.amount
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [RevenueTransaction_order_by.block
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [RevenueTransaction_order_by.db_write_timestamp
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [RevenueTransaction_order_by.hash
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [RevenueTransaction_order_by.id
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [RevenueTransaction_order_by.revenue
](#)[Revenue_order_by
](/docs/api/lockup/graphql/envio/inputs/revenue-order-by.mdx)
#### [RevenueTransaction_order_by.revenue_id
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [RevenueTransaction_order_by.timestamp
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
---
## RevenueTransaction_stddev_order_by (3)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
order by stddev() on columns of table "RevenueTransaction"
```graphql
input RevenueTransaction_stddev_order_by {
amount: order_by
block: order_by
timestamp: order_by
}
```
### Fields
#### [RevenueTransaction_stddev_order_by.amount
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [RevenueTransaction_stddev_order_by.block
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [RevenueTransaction_stddev_order_by.timestamp
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
---
## RevenueTransaction_stddev_pop_order_by (3)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
order by stddev_pop() on columns of table "RevenueTransaction"
```graphql
input RevenueTransaction_stddev_pop_order_by {
amount: order_by
block: order_by
timestamp: order_by
}
```
### Fields
#### [RevenueTransaction_stddev_pop_order_by.amount
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [RevenueTransaction_stddev_pop_order_by.block
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [RevenueTransaction_stddev_pop_order_by.timestamp
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
---
## RevenueTransaction_stddev_samp_order_by (3)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
order by stddev_samp() on columns of table "RevenueTransaction"
```graphql
input RevenueTransaction_stddev_samp_order_by {
amount: order_by
block: order_by
timestamp: order_by
}
```
### Fields
#### [RevenueTransaction_stddev_samp_order_by.amount
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [RevenueTransaction_stddev_samp_order_by.block
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [RevenueTransaction_stddev_samp_order_by.timestamp
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
---
## RevenueTransaction_stream_cursor_input (3)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
Streaming cursor of the table "RevenueTransaction"
```graphql
input RevenueTransaction_stream_cursor_input {
initial_value: RevenueTransaction_stream_cursor_value_input!
ordering: cursor_ordering
}
```
### Fields
#### [RevenueTransaction_stream_cursor_input.initial_value
](#)[RevenueTransaction_stream_cursor_value_input!
](/docs/api/lockup/graphql/envio/inputs/revenue-transaction-stream-cursor-value-input.mdx)
Stream column input with initial value
#### [RevenueTransaction_stream_cursor_input.ordering
](#)[cursor_ordering
](/docs/api/lockup/graphql/envio/enums/cursor-ordering.mdx)
cursor ordering
---
## RevenueTransaction_stream_cursor_value_input (3)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
Initial value of the column from where the streaming should start
```graphql
input RevenueTransaction_stream_cursor_value_input {
amount: float8
block: numeric
db_write_timestamp: timestamp
hash: String
id: String
revenue_id: String
timestamp: numeric
}
```
### Fields
#### [RevenueTransaction_stream_cursor_value_input.amount
](#)[float8
](/docs/api/lockup/graphql/envio/scalars/float-8.mdx)
#### [RevenueTransaction_stream_cursor_value_input.block
](#)[numeric
](/docs/api/lockup/graphql/envio/scalars/numeric.mdx)
#### [RevenueTransaction_stream_cursor_value_input.db_write_timestamp
](#)[timestamp
](/docs/api/lockup/graphql/envio/scalars/timestamp.mdx)
#### [RevenueTransaction_stream_cursor_value_input.hash
](#)[String
](/docs/api/lockup/graphql/envio/scalars/string.mdx)
#### [RevenueTransaction_stream_cursor_value_input.id
](#)[String
](/docs/api/lockup/graphql/envio/scalars/string.mdx)
#### [RevenueTransaction_stream_cursor_value_input.revenue_id
](#)[String
](/docs/api/lockup/graphql/envio/scalars/string.mdx)
#### [RevenueTransaction_stream_cursor_value_input.timestamp
](#)[numeric
](/docs/api/lockup/graphql/envio/scalars/numeric.mdx)
---
## RevenueTransaction_sum_order_by (3)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
order by sum() on columns of table "RevenueTransaction"
```graphql
input RevenueTransaction_sum_order_by {
amount: order_by
block: order_by
timestamp: order_by
}
```
### Fields
#### [RevenueTransaction_sum_order_by.amount
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [RevenueTransaction_sum_order_by.block
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [RevenueTransaction_sum_order_by.timestamp
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
---
## RevenueTransaction_var_pop_order_by (3)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
order by var_pop() on columns of table "RevenueTransaction"
```graphql
input RevenueTransaction_var_pop_order_by {
amount: order_by
block: order_by
timestamp: order_by
}
```
### Fields
#### [RevenueTransaction_var_pop_order_by.amount
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [RevenueTransaction_var_pop_order_by.block
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [RevenueTransaction_var_pop_order_by.timestamp
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
---
## RevenueTransaction_var_samp_order_by (3)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
order by var_samp() on columns of table "RevenueTransaction"
```graphql
input RevenueTransaction_var_samp_order_by {
amount: order_by
block: order_by
timestamp: order_by
}
```
### Fields
#### [RevenueTransaction_var_samp_order_by.amount
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [RevenueTransaction_var_samp_order_by.block
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [RevenueTransaction_var_samp_order_by.timestamp
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
---
## RevenueTransaction_variance_order_by (3)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
order by variance() on columns of table "RevenueTransaction"
```graphql
input RevenueTransaction_variance_order_by {
amount: order_by
block: order_by
timestamp: order_by
}
```
### Fields
#### [RevenueTransaction_variance_order_by.amount
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [RevenueTransaction_variance_order_by.block
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [RevenueTransaction_variance_order_by.timestamp
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
---
## Segment_aggregate_order_by
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
order by aggregate values of table "Segment"
```graphql
input Segment_aggregate_order_by {
avg: Segment_avg_order_by
count: order_by
max: Segment_max_order_by
min: Segment_min_order_by
stddev: Segment_stddev_order_by
stddev_pop: Segment_stddev_pop_order_by
stddev_samp: Segment_stddev_samp_order_by
sum: Segment_sum_order_by
var_pop: Segment_var_pop_order_by
var_samp: Segment_var_samp_order_by
variance: Segment_variance_order_by
}
```
### Fields
#### [Segment_aggregate_order_by.avg
](#)[Segment_avg_order_by
](/docs/api/lockup/graphql/envio/inputs/segment-avg-order-by.mdx)
#### [Segment_aggregate_order_by.count
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [Segment_aggregate_order_by.max
](#)[Segment_max_order_by
](/docs/api/lockup/graphql/envio/inputs/segment-max-order-by.mdx)
#### [Segment_aggregate_order_by.min
](#)[Segment_min_order_by
](/docs/api/lockup/graphql/envio/inputs/segment-min-order-by.mdx)
#### [Segment_aggregate_order_by.stddev
](#)[Segment_stddev_order_by
](/docs/api/lockup/graphql/envio/inputs/segment-stddev-order-by.mdx)
#### [Segment_aggregate_order_by.stddev_pop
](#)[Segment_stddev_pop_order_by
](/docs/api/lockup/graphql/envio/inputs/segment-stddev-pop-order-by.mdx)
#### [Segment_aggregate_order_by.stddev_samp
](#)[Segment_stddev_samp_order_by
](/docs/api/lockup/graphql/envio/inputs/segment-stddev-samp-order-by.mdx)
#### [Segment_aggregate_order_by.sum
](#)[Segment_sum_order_by
](/docs/api/lockup/graphql/envio/inputs/segment-sum-order-by.mdx)
#### [Segment_aggregate_order_by.var_pop
](#)[Segment_var_pop_order_by
](/docs/api/lockup/graphql/envio/inputs/segment-var-pop-order-by.mdx)
#### [Segment_aggregate_order_by.var_samp
](#)[Segment_var_samp_order_by
](/docs/api/lockup/graphql/envio/inputs/segment-var-samp-order-by.mdx)
#### [Segment_aggregate_order_by.variance
](#)[Segment_variance_order_by
](/docs/api/lockup/graphql/envio/inputs/segment-variance-order-by.mdx)
---
## Segment_avg_order_by
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
order by avg() on columns of table "Segment"
```graphql
input Segment_avg_order_by {
amount: order_by
endAmount: order_by
endTime: order_by
exponent: order_by
position: order_by
startAmount: order_by
startTime: order_by
}
```
### Fields
#### [Segment_avg_order_by.amount
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [Segment_avg_order_by.endAmount
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [Segment_avg_order_by.endTime
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [Segment_avg_order_by.exponent
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [Segment_avg_order_by.position
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [Segment_avg_order_by.startAmount
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [Segment_avg_order_by.startTime
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
---
## Segment_bool_exp
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
Boolean expression to filter rows from the table "Segment". All fields are combined with a logical 'AND'.
```graphql
input Segment_bool_exp {
_and: [Segment_bool_exp!]
_not: Segment_bool_exp
_or: [Segment_bool_exp!]
amount: numeric_comparison_exp
db_write_timestamp: timestamp_comparison_exp
endAmount: numeric_comparison_exp
endTime: numeric_comparison_exp
exponent: numeric_comparison_exp
id: String_comparison_exp
position: numeric_comparison_exp
startAmount: numeric_comparison_exp
startTime: numeric_comparison_exp
stream: Stream_bool_exp
stream_id: String_comparison_exp
}
```
### Fields
#### [Segment_bool_exp.\_and
](#)[[Segment_bool_exp!]
](/docs/api/lockup/graphql/envio/inputs/segment-bool-exp.mdx)
#### [Segment_bool_exp.\_not
](#)[Segment_bool_exp
](/docs/api/lockup/graphql/envio/inputs/segment-bool-exp.mdx)
#### [Segment_bool_exp.\_or
](#)[[Segment_bool_exp!]
](/docs/api/lockup/graphql/envio/inputs/segment-bool-exp.mdx)
#### [Segment_bool_exp.amount
](#)[numeric_comparison_exp
](/docs/api/lockup/graphql/envio/inputs/numeric-comparison-exp.mdx)
#### [Segment_bool_exp.db_write_timestamp
](#)[timestamp_comparison_exp
](/docs/api/lockup/graphql/envio/inputs/timestamp-comparison-exp.mdx)
#### [Segment_bool_exp.endAmount
](#)[numeric_comparison_exp
](/docs/api/lockup/graphql/envio/inputs/numeric-comparison-exp.mdx)
#### [Segment_bool_exp.endTime
](#)[numeric_comparison_exp
](/docs/api/lockup/graphql/envio/inputs/numeric-comparison-exp.mdx)
#### [Segment_bool_exp.exponent
](#)[numeric_comparison_exp
](/docs/api/lockup/graphql/envio/inputs/numeric-comparison-exp.mdx)
#### [Segment_bool_exp.id
](#)[String_comparison_exp
](/docs/api/lockup/graphql/envio/inputs/string-comparison-exp.mdx)
#### [Segment_bool_exp.position
](#)[numeric_comparison_exp
](/docs/api/lockup/graphql/envio/inputs/numeric-comparison-exp.mdx)
#### [Segment_bool_exp.startAmount
](#)[numeric_comparison_exp
](/docs/api/lockup/graphql/envio/inputs/numeric-comparison-exp.mdx)
#### [Segment_bool_exp.startTime
](#)[numeric_comparison_exp
](/docs/api/lockup/graphql/envio/inputs/numeric-comparison-exp.mdx)
#### [Segment_bool_exp.stream
](#)[Stream_bool_exp
](/docs/api/lockup/graphql/envio/inputs/stream-bool-exp.mdx)
#### [Segment_bool_exp.stream_id
](#)[String_comparison_exp
](/docs/api/lockup/graphql/envio/inputs/string-comparison-exp.mdx)
---
## Segment_max_order_by
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
order by max() on columns of table "Segment"
```graphql
input Segment_max_order_by {
amount: order_by
db_write_timestamp: order_by
endAmount: order_by
endTime: order_by
exponent: order_by
id: order_by
position: order_by
startAmount: order_by
startTime: order_by
stream_id: order_by
}
```
### Fields
#### [Segment_max_order_by.amount
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [Segment_max_order_by.db_write_timestamp
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [Segment_max_order_by.endAmount
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [Segment_max_order_by.endTime
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [Segment_max_order_by.exponent
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [Segment_max_order_by.id
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [Segment_max_order_by.position
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [Segment_max_order_by.startAmount
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [Segment_max_order_by.startTime
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [Segment_max_order_by.stream_id
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
---
## Segment_min_order_by
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
order by min() on columns of table "Segment"
```graphql
input Segment_min_order_by {
amount: order_by
db_write_timestamp: order_by
endAmount: order_by
endTime: order_by
exponent: order_by
id: order_by
position: order_by
startAmount: order_by
startTime: order_by
stream_id: order_by
}
```
### Fields
#### [Segment_min_order_by.amount
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [Segment_min_order_by.db_write_timestamp
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [Segment_min_order_by.endAmount
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [Segment_min_order_by.endTime
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [Segment_min_order_by.exponent
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [Segment_min_order_by.id
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [Segment_min_order_by.position
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [Segment_min_order_by.startAmount
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [Segment_min_order_by.startTime
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [Segment_min_order_by.stream_id
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
---
## Segment_order_by
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
Ordering options when selecting data from "Segment".
```graphql
input Segment_order_by {
amount: order_by
db_write_timestamp: order_by
endAmount: order_by
endTime: order_by
exponent: order_by
id: order_by
position: order_by
startAmount: order_by
startTime: order_by
stream: Stream_order_by
stream_id: order_by
}
```
### Fields
#### [Segment_order_by.amount
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [Segment_order_by.db_write_timestamp
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [Segment_order_by.endAmount
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [Segment_order_by.endTime
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [Segment_order_by.exponent
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [Segment_order_by.id
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [Segment_order_by.position
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [Segment_order_by.startAmount
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [Segment_order_by.startTime
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [Segment_order_by.stream
](#)[Stream_order_by
](/docs/api/lockup/graphql/envio/inputs/stream-order-by.mdx)
#### [Segment_order_by.stream_id
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
---
## Segment_stddev_order_by
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
order by stddev() on columns of table "Segment"
```graphql
input Segment_stddev_order_by {
amount: order_by
endAmount: order_by
endTime: order_by
exponent: order_by
position: order_by
startAmount: order_by
startTime: order_by
}
```
### Fields
#### [Segment_stddev_order_by.amount
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [Segment_stddev_order_by.endAmount
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [Segment_stddev_order_by.endTime
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [Segment_stddev_order_by.exponent
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [Segment_stddev_order_by.position
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [Segment_stddev_order_by.startAmount
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [Segment_stddev_order_by.startTime
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
---
## Segment_stddev_pop_order_by
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
order by stddev_pop() on columns of table "Segment"
```graphql
input Segment_stddev_pop_order_by {
amount: order_by
endAmount: order_by
endTime: order_by
exponent: order_by
position: order_by
startAmount: order_by
startTime: order_by
}
```
### Fields
#### [Segment_stddev_pop_order_by.amount
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [Segment_stddev_pop_order_by.endAmount
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [Segment_stddev_pop_order_by.endTime
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [Segment_stddev_pop_order_by.exponent
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [Segment_stddev_pop_order_by.position
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [Segment_stddev_pop_order_by.startAmount
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [Segment_stddev_pop_order_by.startTime
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
---
## Segment_stddev_samp_order_by
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
order by stddev_samp() on columns of table "Segment"
```graphql
input Segment_stddev_samp_order_by {
amount: order_by
endAmount: order_by
endTime: order_by
exponent: order_by
position: order_by
startAmount: order_by
startTime: order_by
}
```
### Fields
#### [Segment_stddev_samp_order_by.amount
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [Segment_stddev_samp_order_by.endAmount
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [Segment_stddev_samp_order_by.endTime
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [Segment_stddev_samp_order_by.exponent
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [Segment_stddev_samp_order_by.position
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [Segment_stddev_samp_order_by.startAmount
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [Segment_stddev_samp_order_by.startTime
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
---
## Segment_stream_cursor_input
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
Streaming cursor of the table "Segment"
```graphql
input Segment_stream_cursor_input {
initial_value: Segment_stream_cursor_value_input!
ordering: cursor_ordering
}
```
### Fields
#### [Segment_stream_cursor_input.initial_value
](#)[Segment_stream_cursor_value_input!
](/docs/api/lockup/graphql/envio/inputs/segment-stream-cursor-value-input.mdx)
Stream column input with initial value
#### [Segment_stream_cursor_input.ordering
](#)[cursor_ordering
](/docs/api/lockup/graphql/envio/enums/cursor-ordering.mdx)
cursor ordering
---
## Segment_stream_cursor_value_input
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
Initial value of the column from where the streaming should start
```graphql
input Segment_stream_cursor_value_input {
amount: numeric
db_write_timestamp: timestamp
endAmount: numeric
endTime: numeric
exponent: numeric
id: String
position: numeric
startAmount: numeric
startTime: numeric
stream_id: String
}
```
### Fields
#### [Segment_stream_cursor_value_input.amount
](#)[numeric
](/docs/api/lockup/graphql/envio/scalars/numeric.mdx)
#### [Segment_stream_cursor_value_input.db_write_timestamp
](#)[timestamp
](/docs/api/lockup/graphql/envio/scalars/timestamp.mdx)
#### [Segment_stream_cursor_value_input.endAmount
](#)[numeric
](/docs/api/lockup/graphql/envio/scalars/numeric.mdx)
#### [Segment_stream_cursor_value_input.endTime
](#)[numeric
](/docs/api/lockup/graphql/envio/scalars/numeric.mdx)
#### [Segment_stream_cursor_value_input.exponent
](#)[numeric
](/docs/api/lockup/graphql/envio/scalars/numeric.mdx)
#### [Segment_stream_cursor_value_input.id
](#)[String
](/docs/api/lockup/graphql/envio/scalars/string.mdx)
#### [Segment_stream_cursor_value_input.position
](#)[numeric
](/docs/api/lockup/graphql/envio/scalars/numeric.mdx)
#### [Segment_stream_cursor_value_input.startAmount
](#)[numeric
](/docs/api/lockup/graphql/envio/scalars/numeric.mdx)
#### [Segment_stream_cursor_value_input.startTime
](#)[numeric
](/docs/api/lockup/graphql/envio/scalars/numeric.mdx)
#### [Segment_stream_cursor_value_input.stream_id
](#)[String
](/docs/api/lockup/graphql/envio/scalars/string.mdx)
---
## Segment_sum_order_by
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
order by sum() on columns of table "Segment"
```graphql
input Segment_sum_order_by {
amount: order_by
endAmount: order_by
endTime: order_by
exponent: order_by
position: order_by
startAmount: order_by
startTime: order_by
}
```
### Fields
#### [Segment_sum_order_by.amount
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [Segment_sum_order_by.endAmount
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [Segment_sum_order_by.endTime
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [Segment_sum_order_by.exponent
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [Segment_sum_order_by.position
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [Segment_sum_order_by.startAmount
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [Segment_sum_order_by.startTime
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
---
## Segment_var_pop_order_by
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
order by var_pop() on columns of table "Segment"
```graphql
input Segment_var_pop_order_by {
amount: order_by
endAmount: order_by
endTime: order_by
exponent: order_by
position: order_by
startAmount: order_by
startTime: order_by
}
```
### Fields
#### [Segment_var_pop_order_by.amount
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [Segment_var_pop_order_by.endAmount
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [Segment_var_pop_order_by.endTime
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [Segment_var_pop_order_by.exponent
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [Segment_var_pop_order_by.position
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [Segment_var_pop_order_by.startAmount
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [Segment_var_pop_order_by.startTime
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
---
## Segment_var_samp_order_by
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
order by var_samp() on columns of table "Segment"
```graphql
input Segment_var_samp_order_by {
amount: order_by
endAmount: order_by
endTime: order_by
exponent: order_by
position: order_by
startAmount: order_by
startTime: order_by
}
```
### Fields
#### [Segment_var_samp_order_by.amount
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [Segment_var_samp_order_by.endAmount
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [Segment_var_samp_order_by.endTime
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [Segment_var_samp_order_by.exponent
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [Segment_var_samp_order_by.position
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [Segment_var_samp_order_by.startAmount
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [Segment_var_samp_order_by.startTime
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
---
## Segment_variance_order_by
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
order by variance() on columns of table "Segment"
```graphql
input Segment_variance_order_by {
amount: order_by
endAmount: order_by
endTime: order_by
exponent: order_by
position: order_by
startAmount: order_by
startTime: order_by
}
```
### Fields
#### [Segment_variance_order_by.amount
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [Segment_variance_order_by.endAmount
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [Segment_variance_order_by.endTime
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [Segment_variance_order_by.exponent
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [Segment_variance_order_by.position
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [Segment_variance_order_by.startAmount
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [Segment_variance_order_by.startTime
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
---
## Stream_aggregate_bool_exp_bool_and (2)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
No description
```graphql
input Stream_aggregate_bool_exp_bool_and {
arguments: Stream_select_column_Stream_aggregate_bool_exp_bool_and_arguments_columns!
distinct: Boolean
filter: Stream_bool_exp
predicate: Boolean_comparison_exp!
}
```
### Fields
#### [Stream_aggregate_bool_exp_bool_and.arguments
](#)[Stream_select_column_Stream_aggregate_bool_exp_bool_and_arguments_columns!
](/docs/api/lockup/graphql/envio/enums/stream-select-column-stream-aggregate-bool-exp-bool-and-arguments-columns.mdx)
#### [Stream_aggregate_bool_exp_bool_and.distinct
](#)[Boolean
](/docs/api/lockup/graphql/envio/scalars/boolean.mdx)
#### [Stream_aggregate_bool_exp_bool_and.filter
](#)[Stream_bool_exp
](/docs/api/lockup/graphql/envio/inputs/stream-bool-exp.mdx)
#### [Stream_aggregate_bool_exp_bool_and.predicate
](#)[Boolean_comparison_exp!
](/docs/api/lockup/graphql/envio/inputs/boolean-comparison-exp.mdx)
---
## Stream_aggregate_bool_exp_bool_or (2)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
No description
```graphql
input Stream_aggregate_bool_exp_bool_or {
arguments: Stream_select_column_Stream_aggregate_bool_exp_bool_or_arguments_columns!
distinct: Boolean
filter: Stream_bool_exp
predicate: Boolean_comparison_exp!
}
```
### Fields
#### [Stream_aggregate_bool_exp_bool_or.arguments
](#)[Stream_select_column_Stream_aggregate_bool_exp_bool_or_arguments_columns!
](/docs/api/lockup/graphql/envio/enums/stream-select-column-stream-aggregate-bool-exp-bool-or-arguments-columns.mdx)
#### [Stream_aggregate_bool_exp_bool_or.distinct
](#)[Boolean
](/docs/api/lockup/graphql/envio/scalars/boolean.mdx)
#### [Stream_aggregate_bool_exp_bool_or.filter
](#)[Stream_bool_exp
](/docs/api/lockup/graphql/envio/inputs/stream-bool-exp.mdx)
#### [Stream_aggregate_bool_exp_bool_or.predicate
](#)[Boolean_comparison_exp!
](/docs/api/lockup/graphql/envio/inputs/boolean-comparison-exp.mdx)
---
## Stream_aggregate_bool_exp_count (2)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
No description
```graphql
input Stream_aggregate_bool_exp_count {
arguments: [Stream_select_column!]
distinct: Boolean
filter: Stream_bool_exp
predicate: Int_comparison_exp!
}
```
### Fields
#### [Stream_aggregate_bool_exp_count.arguments
](#)[[Stream_select_column!]
](/docs/api/lockup/graphql/envio/enums/stream-select-column.mdx)
#### [Stream_aggregate_bool_exp_count.distinct
](#)[Boolean
](/docs/api/lockup/graphql/envio/scalars/boolean.mdx)
#### [Stream_aggregate_bool_exp_count.filter
](#)[Stream_bool_exp
](/docs/api/lockup/graphql/envio/inputs/stream-bool-exp.mdx)
#### [Stream_aggregate_bool_exp_count.predicate
](#)[Int_comparison_exp!
](/docs/api/lockup/graphql/envio/inputs/int-comparison-exp.mdx)
---
## Stream_aggregate_bool_exp (2)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
No description
```graphql
input Stream_aggregate_bool_exp {
bool_and: Stream_aggregate_bool_exp_bool_and
bool_or: Stream_aggregate_bool_exp_bool_or
count: Stream_aggregate_bool_exp_count
}
```
### Fields
#### [Stream_aggregate_bool_exp.bool_and
](#)[Stream_aggregate_bool_exp_bool_and
](/docs/api/lockup/graphql/envio/inputs/stream-aggregate-bool-exp-bool-and.mdx)
#### [Stream_aggregate_bool_exp.bool_or
](#)[Stream_aggregate_bool_exp_bool_or
](/docs/api/lockup/graphql/envio/inputs/stream-aggregate-bool-exp-bool-or.mdx)
#### [Stream_aggregate_bool_exp.count
](#)[Stream_aggregate_bool_exp_count
](/docs/api/lockup/graphql/envio/inputs/stream-aggregate-bool-exp-count.mdx)
---
## Stream_aggregate_order_by (2)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
order by aggregate values of table "Stream"
```graphql
input Stream_aggregate_order_by {
avg: Stream_avg_order_by
count: order_by
max: Stream_max_order_by
min: Stream_min_order_by
stddev: Stream_stddev_order_by
stddev_pop: Stream_stddev_pop_order_by
stddev_samp: Stream_stddev_samp_order_by
sum: Stream_sum_order_by
var_pop: Stream_var_pop_order_by
var_samp: Stream_var_samp_order_by
variance: Stream_variance_order_by
}
```
### Fields
#### [Stream_aggregate_order_by.avg
](#)[Stream_avg_order_by
](/docs/api/lockup/graphql/envio/inputs/stream-avg-order-by.mdx)
#### [Stream_aggregate_order_by.count
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [Stream_aggregate_order_by.max
](#)[Stream_max_order_by
](/docs/api/lockup/graphql/envio/inputs/stream-max-order-by.mdx)
#### [Stream_aggregate_order_by.min
](#)[Stream_min_order_by
](/docs/api/lockup/graphql/envio/inputs/stream-min-order-by.mdx)
#### [Stream_aggregate_order_by.stddev
](#)[Stream_stddev_order_by
](/docs/api/lockup/graphql/envio/inputs/stream-stddev-order-by.mdx)
#### [Stream_aggregate_order_by.stddev_pop
](#)[Stream_stddev_pop_order_by
](/docs/api/lockup/graphql/envio/inputs/stream-stddev-pop-order-by.mdx)
#### [Stream_aggregate_order_by.stddev_samp
](#)[Stream_stddev_samp_order_by
](/docs/api/lockup/graphql/envio/inputs/stream-stddev-samp-order-by.mdx)
#### [Stream_aggregate_order_by.sum
](#)[Stream_sum_order_by
](/docs/api/lockup/graphql/envio/inputs/stream-sum-order-by.mdx)
#### [Stream_aggregate_order_by.var_pop
](#)[Stream_var_pop_order_by
](/docs/api/lockup/graphql/envio/inputs/stream-var-pop-order-by.mdx)
#### [Stream_aggregate_order_by.var_samp
](#)[Stream_var_samp_order_by
](/docs/api/lockup/graphql/envio/inputs/stream-var-samp-order-by.mdx)
#### [Stream_aggregate_order_by.variance
](#)[Stream_variance_order_by
](/docs/api/lockup/graphql/envio/inputs/stream-variance-order-by.mdx)
---
## Stream_avg_order_by (2)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
order by avg() on columns of table "Stream"
```graphql
input Stream_avg_order_by {
assetDecimalsValue: order_by
canceledTime: order_by
chainId: order_by
cliffAmount: order_by
cliffTime: order_by
depositAmount: order_by
duration: order_by
endTime: order_by
initialAmount: order_by
intactAmount: order_by
position: order_by
renounceTime: order_by
startTime: order_by
subgraphId: order_by
timestamp: order_by
tokenId: order_by
withdrawnAmount: order_by
}
```
### Fields
#### [Stream_avg_order_by.assetDecimalsValue
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [Stream_avg_order_by.canceledTime
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [Stream_avg_order_by.chainId
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [Stream_avg_order_by.cliffAmount
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [Stream_avg_order_by.cliffTime
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [Stream_avg_order_by.depositAmount
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [Stream_avg_order_by.duration
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [Stream_avg_order_by.endTime
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [Stream_avg_order_by.initialAmount
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [Stream_avg_order_by.intactAmount
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [Stream_avg_order_by.position
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [Stream_avg_order_by.renounceTime
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [Stream_avg_order_by.startTime
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [Stream_avg_order_by.subgraphId
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [Stream_avg_order_by.timestamp
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [Stream_avg_order_by.tokenId
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [Stream_avg_order_by.withdrawnAmount
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
---
## Stream_bool_exp (2)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
Boolean expression to filter rows from the table "Stream". All fields are combined with a logical 'AND'.
```graphql
input Stream_bool_exp {
_and: [Stream_bool_exp!]
_not: Stream_bool_exp
_or: [Stream_bool_exp!]
actions: Action_bool_exp
alias: String_comparison_exp
asset: Asset_bool_exp
assetDecimalsValue: numeric_comparison_exp
asset_id: String_comparison_exp
batch: Batch_bool_exp
batch_id: String_comparison_exp
cancelable: Boolean_comparison_exp
canceled: Boolean_comparison_exp
canceledAction: Action_bool_exp
canceledAction_id: String_comparison_exp
canceledTime: numeric_comparison_exp
category: streamcategory_comparison_exp
chainId: numeric_comparison_exp
cliff: Boolean_comparison_exp
cliffAmount: numeric_comparison_exp
cliffTime: numeric_comparison_exp
contract: String_comparison_exp
db_write_timestamp: timestamp_comparison_exp
depositAmount: numeric_comparison_exp
duration: numeric_comparison_exp
endTime: numeric_comparison_exp
funder: String_comparison_exp
hash: String_comparison_exp
id: String_comparison_exp
initial: Boolean_comparison_exp
initialAmount: numeric_comparison_exp
intactAmount: numeric_comparison_exp
position: numeric_comparison_exp
proxender: String_comparison_exp
proxied: Boolean_comparison_exp
recipient: String_comparison_exp
renounceAction: Action_bool_exp
renounceAction_id: String_comparison_exp
renounceTime: numeric_comparison_exp
segments: Segment_bool_exp
sender: String_comparison_exp
shape: String_comparison_exp
startTime: numeric_comparison_exp
subgraphId: numeric_comparison_exp
timestamp: numeric_comparison_exp
tokenId: numeric_comparison_exp
tranches: Tranche_bool_exp
transferable: Boolean_comparison_exp
version: String_comparison_exp
withdrawnAmount: numeric_comparison_exp
}
```
### Fields
#### [Stream_bool_exp.\_and
](#)[[Stream_bool_exp!]
](/docs/api/lockup/graphql/envio/inputs/stream-bool-exp.mdx)
#### [Stream_bool_exp.\_not
](#)[Stream_bool_exp
](/docs/api/lockup/graphql/envio/inputs/stream-bool-exp.mdx)
#### [Stream_bool_exp.\_or
](#)[[Stream_bool_exp!]
](/docs/api/lockup/graphql/envio/inputs/stream-bool-exp.mdx)
#### [Stream_bool_exp.actions
](#)[Action_bool_exp
](/docs/api/lockup/graphql/envio/inputs/action-bool-exp.mdx)
#### [Stream_bool_exp.alias
](#)[String_comparison_exp
](/docs/api/lockup/graphql/envio/inputs/string-comparison-exp.mdx)
#### [Stream_bool_exp.asset
](#)[Asset_bool_exp
](/docs/api/lockup/graphql/envio/inputs/asset-bool-exp.mdx)
#### [Stream_bool_exp.assetDecimalsValue
](#)[numeric_comparison_exp
](/docs/api/lockup/graphql/envio/inputs/numeric-comparison-exp.mdx)
#### [Stream_bool_exp.asset_id
](#)[String_comparison_exp
](/docs/api/lockup/graphql/envio/inputs/string-comparison-exp.mdx)
#### [Stream_bool_exp.batch
](#)[Batch_bool_exp
](/docs/api/lockup/graphql/envio/inputs/batch-bool-exp.mdx)
#### [Stream_bool_exp.batch_id
](#)[String_comparison_exp
](/docs/api/lockup/graphql/envio/inputs/string-comparison-exp.mdx)
#### [Stream_bool_exp.cancelable
](#)[Boolean_comparison_exp
](/docs/api/lockup/graphql/envio/inputs/boolean-comparison-exp.mdx)
#### [Stream_bool_exp.canceled
](#)[Boolean_comparison_exp
](/docs/api/lockup/graphql/envio/inputs/boolean-comparison-exp.mdx)
#### [Stream_bool_exp.canceledAction
](#)[Action_bool_exp
](/docs/api/lockup/graphql/envio/inputs/action-bool-exp.mdx)
#### [Stream_bool_exp.canceledAction_id
](#)[String_comparison_exp
](/docs/api/lockup/graphql/envio/inputs/string-comparison-exp.mdx)
#### [Stream_bool_exp.canceledTime
](#)[numeric_comparison_exp
](/docs/api/lockup/graphql/envio/inputs/numeric-comparison-exp.mdx)
#### [Stream_bool_exp.category
](#)[streamcategory_comparison_exp
](/docs/api/lockup/graphql/envio/inputs/streamcategory-comparison-exp.mdx)
#### [Stream_bool_exp.chainId
](#)[numeric_comparison_exp
](/docs/api/lockup/graphql/envio/inputs/numeric-comparison-exp.mdx)
#### [Stream_bool_exp.cliff
](#)[Boolean_comparison_exp
](/docs/api/lockup/graphql/envio/inputs/boolean-comparison-exp.mdx)
#### [Stream_bool_exp.cliffAmount
](#)[numeric_comparison_exp
](/docs/api/lockup/graphql/envio/inputs/numeric-comparison-exp.mdx)
#### [Stream_bool_exp.cliffTime
](#)[numeric_comparison_exp
](/docs/api/lockup/graphql/envio/inputs/numeric-comparison-exp.mdx)
#### [Stream_bool_exp.contract
](#)[String_comparison_exp
](/docs/api/lockup/graphql/envio/inputs/string-comparison-exp.mdx)
#### [Stream_bool_exp.db_write_timestamp
](#)[timestamp_comparison_exp
](/docs/api/lockup/graphql/envio/inputs/timestamp-comparison-exp.mdx)
#### [Stream_bool_exp.depositAmount
](#)[numeric_comparison_exp
](/docs/api/lockup/graphql/envio/inputs/numeric-comparison-exp.mdx)
#### [Stream_bool_exp.duration
](#)[numeric_comparison_exp
](/docs/api/lockup/graphql/envio/inputs/numeric-comparison-exp.mdx)
#### [Stream_bool_exp.endTime
](#)[numeric_comparison_exp
](/docs/api/lockup/graphql/envio/inputs/numeric-comparison-exp.mdx)
#### [Stream_bool_exp.funder
](#)[String_comparison_exp
](/docs/api/lockup/graphql/envio/inputs/string-comparison-exp.mdx)
#### [Stream_bool_exp.hash
](#)[String_comparison_exp
](/docs/api/lockup/graphql/envio/inputs/string-comparison-exp.mdx)
#### [Stream_bool_exp.id
](#)[String_comparison_exp
](/docs/api/lockup/graphql/envio/inputs/string-comparison-exp.mdx)
#### [Stream_bool_exp.initial
](#)[Boolean_comparison_exp
](/docs/api/lockup/graphql/envio/inputs/boolean-comparison-exp.mdx)
#### [Stream_bool_exp.initialAmount
](#)[numeric_comparison_exp
](/docs/api/lockup/graphql/envio/inputs/numeric-comparison-exp.mdx)
#### [Stream_bool_exp.intactAmount
](#)[numeric_comparison_exp
](/docs/api/lockup/graphql/envio/inputs/numeric-comparison-exp.mdx)
#### [Stream_bool_exp.position
](#)[numeric_comparison_exp
](/docs/api/lockup/graphql/envio/inputs/numeric-comparison-exp.mdx)
#### [Stream_bool_exp.proxender
](#)[String_comparison_exp
](/docs/api/lockup/graphql/envio/inputs/string-comparison-exp.mdx)
#### [Stream_bool_exp.proxied
](#)[Boolean_comparison_exp
](/docs/api/lockup/graphql/envio/inputs/boolean-comparison-exp.mdx)
#### [Stream_bool_exp.recipient
](#)[String_comparison_exp
](/docs/api/lockup/graphql/envio/inputs/string-comparison-exp.mdx)
#### [Stream_bool_exp.renounceAction
](#)[Action_bool_exp
](/docs/api/lockup/graphql/envio/inputs/action-bool-exp.mdx)
#### [Stream_bool_exp.renounceAction_id
](#)[String_comparison_exp
](/docs/api/lockup/graphql/envio/inputs/string-comparison-exp.mdx)
#### [Stream_bool_exp.renounceTime
](#)[numeric_comparison_exp
](/docs/api/lockup/graphql/envio/inputs/numeric-comparison-exp.mdx)
#### [Stream_bool_exp.segments
](#)[Segment_bool_exp
](/docs/api/lockup/graphql/envio/inputs/segment-bool-exp.mdx)
#### [Stream_bool_exp.sender
](#)[String_comparison_exp
](/docs/api/lockup/graphql/envio/inputs/string-comparison-exp.mdx)
#### [Stream_bool_exp.shape
](#)[String_comparison_exp
](/docs/api/lockup/graphql/envio/inputs/string-comparison-exp.mdx)
#### [Stream_bool_exp.startTime
](#)[numeric_comparison_exp
](/docs/api/lockup/graphql/envio/inputs/numeric-comparison-exp.mdx)
#### [Stream_bool_exp.subgraphId
](#)[numeric_comparison_exp
](/docs/api/lockup/graphql/envio/inputs/numeric-comparison-exp.mdx)
#### [Stream_bool_exp.timestamp
](#)[numeric_comparison_exp
](/docs/api/lockup/graphql/envio/inputs/numeric-comparison-exp.mdx)
#### [Stream_bool_exp.tokenId
](#)[numeric_comparison_exp
](/docs/api/lockup/graphql/envio/inputs/numeric-comparison-exp.mdx)
#### [Stream_bool_exp.tranches
](#)[Tranche_bool_exp
](/docs/api/lockup/graphql/envio/inputs/tranche-bool-exp.mdx)
#### [Stream_bool_exp.transferable
](#)[Boolean_comparison_exp
](/docs/api/lockup/graphql/envio/inputs/boolean-comparison-exp.mdx)
#### [Stream_bool_exp.version
](#)[String_comparison_exp
](/docs/api/lockup/graphql/envio/inputs/string-comparison-exp.mdx)
#### [Stream_bool_exp.withdrawnAmount
](#)[numeric_comparison_exp
](/docs/api/lockup/graphql/envio/inputs/numeric-comparison-exp.mdx)
---
## Stream_max_order_by (2)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
order by max() on columns of table "Stream"
```graphql
input Stream_max_order_by {
alias: order_by
assetDecimalsValue: order_by
asset_id: order_by
batch_id: order_by
canceledAction_id: order_by
canceledTime: order_by
category: order_by
chainId: order_by
cliffAmount: order_by
cliffTime: order_by
contract: order_by
db_write_timestamp: order_by
depositAmount: order_by
duration: order_by
endTime: order_by
funder: order_by
hash: order_by
id: order_by
initialAmount: order_by
intactAmount: order_by
position: order_by
proxender: order_by
recipient: order_by
renounceAction_id: order_by
renounceTime: order_by
sender: order_by
shape: order_by
startTime: order_by
subgraphId: order_by
timestamp: order_by
tokenId: order_by
version: order_by
withdrawnAmount: order_by
}
```
### Fields
#### [Stream_max_order_by.alias
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [Stream_max_order_by.assetDecimalsValue
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [Stream_max_order_by.asset_id
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [Stream_max_order_by.batch_id
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [Stream_max_order_by.canceledAction_id
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [Stream_max_order_by.canceledTime
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [Stream_max_order_by.category
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [Stream_max_order_by.chainId
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [Stream_max_order_by.cliffAmount
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [Stream_max_order_by.cliffTime
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [Stream_max_order_by.contract
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [Stream_max_order_by.db_write_timestamp
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [Stream_max_order_by.depositAmount
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [Stream_max_order_by.duration
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [Stream_max_order_by.endTime
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [Stream_max_order_by.funder
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [Stream_max_order_by.hash
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [Stream_max_order_by.id
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [Stream_max_order_by.initialAmount
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [Stream_max_order_by.intactAmount
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [Stream_max_order_by.position
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [Stream_max_order_by.proxender
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [Stream_max_order_by.recipient
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [Stream_max_order_by.renounceAction_id
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [Stream_max_order_by.renounceTime
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [Stream_max_order_by.sender
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [Stream_max_order_by.shape
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [Stream_max_order_by.startTime
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [Stream_max_order_by.subgraphId
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [Stream_max_order_by.timestamp
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [Stream_max_order_by.tokenId
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [Stream_max_order_by.version
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [Stream_max_order_by.withdrawnAmount
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
---
## Stream_min_order_by (2)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
order by min() on columns of table "Stream"
```graphql
input Stream_min_order_by {
alias: order_by
assetDecimalsValue: order_by
asset_id: order_by
batch_id: order_by
canceledAction_id: order_by
canceledTime: order_by
category: order_by
chainId: order_by
cliffAmount: order_by
cliffTime: order_by
contract: order_by
db_write_timestamp: order_by
depositAmount: order_by
duration: order_by
endTime: order_by
funder: order_by
hash: order_by
id: order_by
initialAmount: order_by
intactAmount: order_by
position: order_by
proxender: order_by
recipient: order_by
renounceAction_id: order_by
renounceTime: order_by
sender: order_by
shape: order_by
startTime: order_by
subgraphId: order_by
timestamp: order_by
tokenId: order_by
version: order_by
withdrawnAmount: order_by
}
```
### Fields
#### [Stream_min_order_by.alias
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [Stream_min_order_by.assetDecimalsValue
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [Stream_min_order_by.asset_id
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [Stream_min_order_by.batch_id
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [Stream_min_order_by.canceledAction_id
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [Stream_min_order_by.canceledTime
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [Stream_min_order_by.category
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [Stream_min_order_by.chainId
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [Stream_min_order_by.cliffAmount
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [Stream_min_order_by.cliffTime
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [Stream_min_order_by.contract
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [Stream_min_order_by.db_write_timestamp
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [Stream_min_order_by.depositAmount
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [Stream_min_order_by.duration
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [Stream_min_order_by.endTime
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [Stream_min_order_by.funder
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [Stream_min_order_by.hash
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [Stream_min_order_by.id
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [Stream_min_order_by.initialAmount
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [Stream_min_order_by.intactAmount
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [Stream_min_order_by.position
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [Stream_min_order_by.proxender
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [Stream_min_order_by.recipient
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [Stream_min_order_by.renounceAction_id
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [Stream_min_order_by.renounceTime
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [Stream_min_order_by.sender
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [Stream_min_order_by.shape
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [Stream_min_order_by.startTime
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [Stream_min_order_by.subgraphId
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [Stream_min_order_by.timestamp
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [Stream_min_order_by.tokenId
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [Stream_min_order_by.version
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [Stream_min_order_by.withdrawnAmount
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
---
## Stream_order_by (2)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
Ordering options when selecting data from "Stream".
```graphql
input Stream_order_by {
actions_aggregate: Action_aggregate_order_by
alias: order_by
asset: Asset_order_by
assetDecimalsValue: order_by
asset_id: order_by
batch: Batch_order_by
batch_id: order_by
cancelable: order_by
canceled: order_by
canceledAction: Action_order_by
canceledAction_id: order_by
canceledTime: order_by
category: order_by
chainId: order_by
cliff: order_by
cliffAmount: order_by
cliffTime: order_by
contract: order_by
db_write_timestamp: order_by
depositAmount: order_by
duration: order_by
endTime: order_by
funder: order_by
hash: order_by
id: order_by
initial: order_by
initialAmount: order_by
intactAmount: order_by
position: order_by
proxender: order_by
proxied: order_by
recipient: order_by
renounceAction: Action_order_by
renounceAction_id: order_by
renounceTime: order_by
segments_aggregate: Segment_aggregate_order_by
sender: order_by
shape: order_by
startTime: order_by
subgraphId: order_by
timestamp: order_by
tokenId: order_by
tranches_aggregate: Tranche_aggregate_order_by
transferable: order_by
version: order_by
withdrawnAmount: order_by
}
```
### Fields
#### [Stream_order_by.actions_aggregate
](#)[Action_aggregate_order_by
](/docs/api/lockup/graphql/envio/inputs/action-aggregate-order-by.mdx)
#### [Stream_order_by.alias
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [Stream_order_by.asset
](#)[Asset_order_by
](/docs/api/lockup/graphql/envio/inputs/asset-order-by.mdx)
#### [Stream_order_by.assetDecimalsValue
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [Stream_order_by.asset_id
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [Stream_order_by.batch
](#)[Batch_order_by
](/docs/api/lockup/graphql/envio/inputs/batch-order-by.mdx)
#### [Stream_order_by.batch_id
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [Stream_order_by.cancelable
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [Stream_order_by.canceled
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [Stream_order_by.canceledAction
](#)[Action_order_by
](/docs/api/lockup/graphql/envio/inputs/action-order-by.mdx)
#### [Stream_order_by.canceledAction_id
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [Stream_order_by.canceledTime
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [Stream_order_by.category
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [Stream_order_by.chainId
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [Stream_order_by.cliff
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [Stream_order_by.cliffAmount
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [Stream_order_by.cliffTime
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [Stream_order_by.contract
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [Stream_order_by.db_write_timestamp
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [Stream_order_by.depositAmount
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [Stream_order_by.duration
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [Stream_order_by.endTime
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [Stream_order_by.funder
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [Stream_order_by.hash
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [Stream_order_by.id
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [Stream_order_by.initial
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [Stream_order_by.initialAmount
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [Stream_order_by.intactAmount
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [Stream_order_by.position
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [Stream_order_by.proxender
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [Stream_order_by.proxied
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [Stream_order_by.recipient
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [Stream_order_by.renounceAction
](#)[Action_order_by
](/docs/api/lockup/graphql/envio/inputs/action-order-by.mdx)
#### [Stream_order_by.renounceAction_id
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [Stream_order_by.renounceTime
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [Stream_order_by.segments_aggregate
](#)[Segment_aggregate_order_by
](/docs/api/lockup/graphql/envio/inputs/segment-aggregate-order-by.mdx)
#### [Stream_order_by.sender
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [Stream_order_by.shape
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [Stream_order_by.startTime
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [Stream_order_by.subgraphId
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [Stream_order_by.timestamp
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [Stream_order_by.tokenId
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [Stream_order_by.tranches_aggregate
](#)[Tranche_aggregate_order_by
](/docs/api/lockup/graphql/envio/inputs/tranche-aggregate-order-by.mdx)
#### [Stream_order_by.transferable
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [Stream_order_by.version
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [Stream_order_by.withdrawnAmount
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
---
## Stream_stddev_order_by (2)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
order by stddev() on columns of table "Stream"
```graphql
input Stream_stddev_order_by {
assetDecimalsValue: order_by
canceledTime: order_by
chainId: order_by
cliffAmount: order_by
cliffTime: order_by
depositAmount: order_by
duration: order_by
endTime: order_by
initialAmount: order_by
intactAmount: order_by
position: order_by
renounceTime: order_by
startTime: order_by
subgraphId: order_by
timestamp: order_by
tokenId: order_by
withdrawnAmount: order_by
}
```
### Fields
#### [Stream_stddev_order_by.assetDecimalsValue
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [Stream_stddev_order_by.canceledTime
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [Stream_stddev_order_by.chainId
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [Stream_stddev_order_by.cliffAmount
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [Stream_stddev_order_by.cliffTime
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [Stream_stddev_order_by.depositAmount
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [Stream_stddev_order_by.duration
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [Stream_stddev_order_by.endTime
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [Stream_stddev_order_by.initialAmount
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [Stream_stddev_order_by.intactAmount
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [Stream_stddev_order_by.position
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [Stream_stddev_order_by.renounceTime
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [Stream_stddev_order_by.startTime
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [Stream_stddev_order_by.subgraphId
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [Stream_stddev_order_by.timestamp
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [Stream_stddev_order_by.tokenId
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [Stream_stddev_order_by.withdrawnAmount
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
---
## Stream_stddev_pop_order_by (2)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
order by stddev_pop() on columns of table "Stream"
```graphql
input Stream_stddev_pop_order_by {
assetDecimalsValue: order_by
canceledTime: order_by
chainId: order_by
cliffAmount: order_by
cliffTime: order_by
depositAmount: order_by
duration: order_by
endTime: order_by
initialAmount: order_by
intactAmount: order_by
position: order_by
renounceTime: order_by
startTime: order_by
subgraphId: order_by
timestamp: order_by
tokenId: order_by
withdrawnAmount: order_by
}
```
### Fields
#### [Stream_stddev_pop_order_by.assetDecimalsValue
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [Stream_stddev_pop_order_by.canceledTime
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [Stream_stddev_pop_order_by.chainId
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [Stream_stddev_pop_order_by.cliffAmount
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [Stream_stddev_pop_order_by.cliffTime
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [Stream_stddev_pop_order_by.depositAmount
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [Stream_stddev_pop_order_by.duration
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [Stream_stddev_pop_order_by.endTime
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [Stream_stddev_pop_order_by.initialAmount
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [Stream_stddev_pop_order_by.intactAmount
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [Stream_stddev_pop_order_by.position
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [Stream_stddev_pop_order_by.renounceTime
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [Stream_stddev_pop_order_by.startTime
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [Stream_stddev_pop_order_by.subgraphId
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [Stream_stddev_pop_order_by.timestamp
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [Stream_stddev_pop_order_by.tokenId
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [Stream_stddev_pop_order_by.withdrawnAmount
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
---
## Stream_stddev_samp_order_by (2)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
order by stddev_samp() on columns of table "Stream"
```graphql
input Stream_stddev_samp_order_by {
assetDecimalsValue: order_by
canceledTime: order_by
chainId: order_by
cliffAmount: order_by
cliffTime: order_by
depositAmount: order_by
duration: order_by
endTime: order_by
initialAmount: order_by
intactAmount: order_by
position: order_by
renounceTime: order_by
startTime: order_by
subgraphId: order_by
timestamp: order_by
tokenId: order_by
withdrawnAmount: order_by
}
```
### Fields
#### [Stream_stddev_samp_order_by.assetDecimalsValue
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [Stream_stddev_samp_order_by.canceledTime
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [Stream_stddev_samp_order_by.chainId
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [Stream_stddev_samp_order_by.cliffAmount
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [Stream_stddev_samp_order_by.cliffTime
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [Stream_stddev_samp_order_by.depositAmount
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [Stream_stddev_samp_order_by.duration
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [Stream_stddev_samp_order_by.endTime
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [Stream_stddev_samp_order_by.initialAmount
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [Stream_stddev_samp_order_by.intactAmount
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [Stream_stddev_samp_order_by.position
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [Stream_stddev_samp_order_by.renounceTime
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [Stream_stddev_samp_order_by.startTime
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [Stream_stddev_samp_order_by.subgraphId
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [Stream_stddev_samp_order_by.timestamp
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [Stream_stddev_samp_order_by.tokenId
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [Stream_stddev_samp_order_by.withdrawnAmount
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
---
## Stream_stream_cursor_input (2)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
Streaming cursor of the table "Stream"
```graphql
input Stream_stream_cursor_input {
initial_value: Stream_stream_cursor_value_input!
ordering: cursor_ordering
}
```
### Fields
#### [Stream_stream_cursor_input.initial_value
](#)[Stream_stream_cursor_value_input!
](/docs/api/lockup/graphql/envio/inputs/stream-stream-cursor-value-input.mdx)
Stream column input with initial value
#### [Stream_stream_cursor_input.ordering
](#)[cursor_ordering
](/docs/api/lockup/graphql/envio/enums/cursor-ordering.mdx)
cursor ordering
---
## Stream_stream_cursor_value_input (2)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
Initial value of the column from where the streaming should start
```graphql
input Stream_stream_cursor_value_input {
alias: String
assetDecimalsValue: numeric
asset_id: String
batch_id: String
cancelable: Boolean
canceled: Boolean
canceledAction_id: String
canceledTime: numeric
category: streamcategory
chainId: numeric
cliff: Boolean
cliffAmount: numeric
cliffTime: numeric
contract: String
db_write_timestamp: timestamp
depositAmount: numeric
duration: numeric
endTime: numeric
funder: String
hash: String
id: String
initial: Boolean
initialAmount: numeric
intactAmount: numeric
position: numeric
proxender: String
proxied: Boolean
recipient: String
renounceAction_id: String
renounceTime: numeric
sender: String
shape: String
startTime: numeric
subgraphId: numeric
timestamp: numeric
tokenId: numeric
transferable: Boolean
version: String
withdrawnAmount: numeric
}
```
### Fields
#### [Stream_stream_cursor_value_input.alias
](#)[String
](/docs/api/lockup/graphql/envio/scalars/string.mdx)
#### [Stream_stream_cursor_value_input.assetDecimalsValue
](#)[numeric
](/docs/api/lockup/graphql/envio/scalars/numeric.mdx)
#### [Stream_stream_cursor_value_input.asset_id
](#)[String
](/docs/api/lockup/graphql/envio/scalars/string.mdx)
#### [Stream_stream_cursor_value_input.batch_id
](#)[String
](/docs/api/lockup/graphql/envio/scalars/string.mdx)
#### [Stream_stream_cursor_value_input.cancelable
](#)[Boolean
](/docs/api/lockup/graphql/envio/scalars/boolean.mdx)
#### [Stream_stream_cursor_value_input.canceled
](#)[Boolean
](/docs/api/lockup/graphql/envio/scalars/boolean.mdx)
#### [Stream_stream_cursor_value_input.canceledAction_id
](#)[String
](/docs/api/lockup/graphql/envio/scalars/string.mdx)
#### [Stream_stream_cursor_value_input.canceledTime
](#)[numeric
](/docs/api/lockup/graphql/envio/scalars/numeric.mdx)
#### [Stream_stream_cursor_value_input.category
](#)[streamcategory
](/docs/api/lockup/graphql/envio/scalars/streamcategory.mdx)
#### [Stream_stream_cursor_value_input.chainId
](#)[numeric
](/docs/api/lockup/graphql/envio/scalars/numeric.mdx)
#### [Stream_stream_cursor_value_input.cliff
](#)[Boolean
](/docs/api/lockup/graphql/envio/scalars/boolean.mdx)
#### [Stream_stream_cursor_value_input.cliffAmount
](#)[numeric
](/docs/api/lockup/graphql/envio/scalars/numeric.mdx)
#### [Stream_stream_cursor_value_input.cliffTime
](#)[numeric
](/docs/api/lockup/graphql/envio/scalars/numeric.mdx)
#### [Stream_stream_cursor_value_input.contract
](#)[String
](/docs/api/lockup/graphql/envio/scalars/string.mdx)
#### [Stream_stream_cursor_value_input.db_write_timestamp
](#)[timestamp
](/docs/api/lockup/graphql/envio/scalars/timestamp.mdx)
#### [Stream_stream_cursor_value_input.depositAmount
](#)[numeric
](/docs/api/lockup/graphql/envio/scalars/numeric.mdx)
#### [Stream_stream_cursor_value_input.duration
](#)[numeric
](/docs/api/lockup/graphql/envio/scalars/numeric.mdx)
#### [Stream_stream_cursor_value_input.endTime
](#)[numeric
](/docs/api/lockup/graphql/envio/scalars/numeric.mdx)
#### [Stream_stream_cursor_value_input.funder
](#)[String
](/docs/api/lockup/graphql/envio/scalars/string.mdx)
#### [Stream_stream_cursor_value_input.hash
](#)[String
](/docs/api/lockup/graphql/envio/scalars/string.mdx)
#### [Stream_stream_cursor_value_input.id
](#)[String
](/docs/api/lockup/graphql/envio/scalars/string.mdx)
#### [Stream_stream_cursor_value_input.initial
](#)[Boolean
](/docs/api/lockup/graphql/envio/scalars/boolean.mdx)
#### [Stream_stream_cursor_value_input.initialAmount
](#)[numeric
](/docs/api/lockup/graphql/envio/scalars/numeric.mdx)
#### [Stream_stream_cursor_value_input.intactAmount
](#)[numeric
](/docs/api/lockup/graphql/envio/scalars/numeric.mdx)
#### [Stream_stream_cursor_value_input.position
](#)[numeric
](/docs/api/lockup/graphql/envio/scalars/numeric.mdx)
#### [Stream_stream_cursor_value_input.proxender
](#)[String
](/docs/api/lockup/graphql/envio/scalars/string.mdx)
#### [Stream_stream_cursor_value_input.proxied
](#)[Boolean
](/docs/api/lockup/graphql/envio/scalars/boolean.mdx)
#### [Stream_stream_cursor_value_input.recipient
](#)[String
](/docs/api/lockup/graphql/envio/scalars/string.mdx)
#### [Stream_stream_cursor_value_input.renounceAction_id
](#)[String
](/docs/api/lockup/graphql/envio/scalars/string.mdx)
#### [Stream_stream_cursor_value_input.renounceTime
](#)[numeric
](/docs/api/lockup/graphql/envio/scalars/numeric.mdx)
#### [Stream_stream_cursor_value_input.sender
](#)[String
](/docs/api/lockup/graphql/envio/scalars/string.mdx)
#### [Stream_stream_cursor_value_input.shape
](#)[String
](/docs/api/lockup/graphql/envio/scalars/string.mdx)
#### [Stream_stream_cursor_value_input.startTime
](#)[numeric
](/docs/api/lockup/graphql/envio/scalars/numeric.mdx)
#### [Stream_stream_cursor_value_input.subgraphId
](#)[numeric
](/docs/api/lockup/graphql/envio/scalars/numeric.mdx)
#### [Stream_stream_cursor_value_input.timestamp
](#)[numeric
](/docs/api/lockup/graphql/envio/scalars/numeric.mdx)
#### [Stream_stream_cursor_value_input.tokenId
](#)[numeric
](/docs/api/lockup/graphql/envio/scalars/numeric.mdx)
#### [Stream_stream_cursor_value_input.transferable
](#)[Boolean
](/docs/api/lockup/graphql/envio/scalars/boolean.mdx)
#### [Stream_stream_cursor_value_input.version
](#)[String
](/docs/api/lockup/graphql/envio/scalars/string.mdx)
#### [Stream_stream_cursor_value_input.withdrawnAmount
](#)[numeric
](/docs/api/lockup/graphql/envio/scalars/numeric.mdx)
---
## Stream_sum_order_by (2)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
order by sum() on columns of table "Stream"
```graphql
input Stream_sum_order_by {
assetDecimalsValue: order_by
canceledTime: order_by
chainId: order_by
cliffAmount: order_by
cliffTime: order_by
depositAmount: order_by
duration: order_by
endTime: order_by
initialAmount: order_by
intactAmount: order_by
position: order_by
renounceTime: order_by
startTime: order_by
subgraphId: order_by
timestamp: order_by
tokenId: order_by
withdrawnAmount: order_by
}
```
### Fields
#### [Stream_sum_order_by.assetDecimalsValue
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [Stream_sum_order_by.canceledTime
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [Stream_sum_order_by.chainId
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [Stream_sum_order_by.cliffAmount
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [Stream_sum_order_by.cliffTime
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [Stream_sum_order_by.depositAmount
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [Stream_sum_order_by.duration
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [Stream_sum_order_by.endTime
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [Stream_sum_order_by.initialAmount
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [Stream_sum_order_by.intactAmount
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [Stream_sum_order_by.position
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [Stream_sum_order_by.renounceTime
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [Stream_sum_order_by.startTime
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [Stream_sum_order_by.subgraphId
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [Stream_sum_order_by.timestamp
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [Stream_sum_order_by.tokenId
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [Stream_sum_order_by.withdrawnAmount
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
---
## Stream_var_pop_order_by (2)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
order by var_pop() on columns of table "Stream"
```graphql
input Stream_var_pop_order_by {
assetDecimalsValue: order_by
canceledTime: order_by
chainId: order_by
cliffAmount: order_by
cliffTime: order_by
depositAmount: order_by
duration: order_by
endTime: order_by
initialAmount: order_by
intactAmount: order_by
position: order_by
renounceTime: order_by
startTime: order_by
subgraphId: order_by
timestamp: order_by
tokenId: order_by
withdrawnAmount: order_by
}
```
### Fields
#### [Stream_var_pop_order_by.assetDecimalsValue
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [Stream_var_pop_order_by.canceledTime
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [Stream_var_pop_order_by.chainId
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [Stream_var_pop_order_by.cliffAmount
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [Stream_var_pop_order_by.cliffTime
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [Stream_var_pop_order_by.depositAmount
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [Stream_var_pop_order_by.duration
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [Stream_var_pop_order_by.endTime
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [Stream_var_pop_order_by.initialAmount
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [Stream_var_pop_order_by.intactAmount
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [Stream_var_pop_order_by.position
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [Stream_var_pop_order_by.renounceTime
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [Stream_var_pop_order_by.startTime
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [Stream_var_pop_order_by.subgraphId
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [Stream_var_pop_order_by.timestamp
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [Stream_var_pop_order_by.tokenId
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [Stream_var_pop_order_by.withdrawnAmount
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
---
## Stream_var_samp_order_by (2)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
order by var_samp() on columns of table "Stream"
```graphql
input Stream_var_samp_order_by {
assetDecimalsValue: order_by
canceledTime: order_by
chainId: order_by
cliffAmount: order_by
cliffTime: order_by
depositAmount: order_by
duration: order_by
endTime: order_by
initialAmount: order_by
intactAmount: order_by
position: order_by
renounceTime: order_by
startTime: order_by
subgraphId: order_by
timestamp: order_by
tokenId: order_by
withdrawnAmount: order_by
}
```
### Fields
#### [Stream_var_samp_order_by.assetDecimalsValue
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [Stream_var_samp_order_by.canceledTime
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [Stream_var_samp_order_by.chainId
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [Stream_var_samp_order_by.cliffAmount
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [Stream_var_samp_order_by.cliffTime
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [Stream_var_samp_order_by.depositAmount
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [Stream_var_samp_order_by.duration
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [Stream_var_samp_order_by.endTime
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [Stream_var_samp_order_by.initialAmount
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [Stream_var_samp_order_by.intactAmount
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [Stream_var_samp_order_by.position
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [Stream_var_samp_order_by.renounceTime
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [Stream_var_samp_order_by.startTime
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [Stream_var_samp_order_by.subgraphId
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [Stream_var_samp_order_by.timestamp
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [Stream_var_samp_order_by.tokenId
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [Stream_var_samp_order_by.withdrawnAmount
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
---
## Stream_variance_order_by (2)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
order by variance() on columns of table "Stream"
```graphql
input Stream_variance_order_by {
assetDecimalsValue: order_by
canceledTime: order_by
chainId: order_by
cliffAmount: order_by
cliffTime: order_by
depositAmount: order_by
duration: order_by
endTime: order_by
initialAmount: order_by
intactAmount: order_by
position: order_by
renounceTime: order_by
startTime: order_by
subgraphId: order_by
timestamp: order_by
tokenId: order_by
withdrawnAmount: order_by
}
```
### Fields
#### [Stream_variance_order_by.assetDecimalsValue
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [Stream_variance_order_by.canceledTime
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [Stream_variance_order_by.chainId
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [Stream_variance_order_by.cliffAmount
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [Stream_variance_order_by.cliffTime
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [Stream_variance_order_by.depositAmount
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [Stream_variance_order_by.duration
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [Stream_variance_order_by.endTime
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [Stream_variance_order_by.initialAmount
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [Stream_variance_order_by.intactAmount
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [Stream_variance_order_by.position
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [Stream_variance_order_by.renounceTime
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [Stream_variance_order_by.startTime
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [Stream_variance_order_by.subgraphId
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [Stream_variance_order_by.timestamp
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [Stream_variance_order_by.tokenId
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [Stream_variance_order_by.withdrawnAmount
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
---
## streamcategory_comparison_exp (2)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
Boolean expression to compare columns of type "streamcategory". All fields are combined with logical 'AND'.
```graphql
input streamcategory_comparison_exp {
_eq: streamcategory
_gt: streamcategory
_gte: streamcategory
_in: [streamcategory!]
_is_null: Boolean
_lt: streamcategory
_lte: streamcategory
_neq: streamcategory
_nin: [streamcategory!]
}
```
### Fields
#### [streamcategory_comparison_exp.\_eq
](#)[streamcategory
](/docs/api/lockup/graphql/envio/scalars/streamcategory.mdx)
#### [streamcategory_comparison_exp.\_gt
](#)[streamcategory
](/docs/api/lockup/graphql/envio/scalars/streamcategory.mdx)
#### [streamcategory_comparison_exp.\_gte
](#)[streamcategory
](/docs/api/lockup/graphql/envio/scalars/streamcategory.mdx)
#### [streamcategory_comparison_exp.\_in
](#)[[streamcategory!]
](/docs/api/lockup/graphql/envio/scalars/streamcategory.mdx)
#### [streamcategory_comparison_exp.\_is_null
](#)[Boolean
](/docs/api/lockup/graphql/envio/scalars/boolean.mdx)
#### [streamcategory_comparison_exp.\_lt
](#)[streamcategory
](/docs/api/lockup/graphql/envio/scalars/streamcategory.mdx)
#### [streamcategory_comparison_exp.\_lte
](#)[streamcategory
](/docs/api/lockup/graphql/envio/scalars/streamcategory.mdx)
#### [streamcategory_comparison_exp.\_neq
](#)[streamcategory
](/docs/api/lockup/graphql/envio/scalars/streamcategory.mdx)
#### [streamcategory_comparison_exp.\_nin
](#)[[streamcategory!]
](/docs/api/lockup/graphql/envio/scalars/streamcategory.mdx)
---
## String_array_comparison_exp (3)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
Boolean expression to compare columns of type "String". All fields are combined with logical 'AND'.
```graphql
input String_array_comparison_exp {
_contained_in: [String!]
_contains: [String!]
_eq: [String!]
_gt: [String!]
_gte: [String!]
_in: [[String!]!]
_is_null: Boolean
_lt: [String!]
_lte: [String!]
_neq: [String!]
_nin: [[String!]!]
}
```
### Fields
#### [String_array_comparison_exp.\_contained_in
](#)[[String!]
](/docs/api/lockup/graphql/envio/scalars/string.mdx)
is the array contained in the given array value
#### [String_array_comparison_exp.\_contains
](#)[[String!]
](/docs/api/lockup/graphql/envio/scalars/string.mdx)
does the array contain the given value
#### [String_array_comparison_exp.\_eq
](#)[[String!]
](/docs/api/lockup/graphql/envio/scalars/string.mdx)
#### [String_array_comparison_exp.\_gt
](#)[[String!]
](/docs/api/lockup/graphql/envio/scalars/string.mdx)
#### [String_array_comparison_exp.\_gte
](#)[[String!]
](/docs/api/lockup/graphql/envio/scalars/string.mdx)
#### [String_array_comparison_exp.\_in
](#)[[[String!]!]
](/docs/api/lockup/graphql/envio/scalars/string.mdx)
#### [String_array_comparison_exp.\_is_null
](#)[Boolean
](/docs/api/lockup/graphql/envio/scalars/boolean.mdx)
#### [String_array_comparison_exp.\_lt
](#)[[String!]
](/docs/api/lockup/graphql/envio/scalars/string.mdx)
#### [String_array_comparison_exp.\_lte
](#)[[String!]
](/docs/api/lockup/graphql/envio/scalars/string.mdx)
#### [String_array_comparison_exp.\_neq
](#)[[String!]
](/docs/api/lockup/graphql/envio/scalars/string.mdx)
#### [String_array_comparison_exp.\_nin
](#)[[[String!]!]
](/docs/api/lockup/graphql/envio/scalars/string.mdx)
---
## String_comparison_exp (3)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
Boolean expression to compare columns of type "String". All fields are combined with logical 'AND'.
```graphql
input String_comparison_exp {
_eq: String
_gt: String
_gte: String
_ilike: String
_in: [String!]
_iregex: String
_is_null: Boolean
_like: String
_lt: String
_lte: String
_neq: String
_nilike: String
_nin: [String!]
_niregex: String
_nlike: String
_nregex: String
_nsimilar: String
_regex: String
_similar: String
}
```
### Fields
#### [String_comparison_exp.\_eq
](#)[String
](/docs/api/lockup/graphql/envio/scalars/string.mdx)
#### [String_comparison_exp.\_gt
](#)[String
](/docs/api/lockup/graphql/envio/scalars/string.mdx)
#### [String_comparison_exp.\_gte
](#)[String
](/docs/api/lockup/graphql/envio/scalars/string.mdx)
#### [String_comparison_exp.\_ilike
](#)[String
](/docs/api/lockup/graphql/envio/scalars/string.mdx)
does the column match the given case-insensitive pattern
#### [String_comparison_exp.\_in
](#)[[String!]
](/docs/api/lockup/graphql/envio/scalars/string.mdx)
#### [String_comparison_exp.\_iregex
](#)[String
](/docs/api/lockup/graphql/envio/scalars/string.mdx)
does the column match the given POSIX regular expression, case insensitive
#### [String_comparison_exp.\_is_null
](#)[Boolean
](/docs/api/lockup/graphql/envio/scalars/boolean.mdx)
#### [String_comparison_exp.\_like
](#)[String
](/docs/api/lockup/graphql/envio/scalars/string.mdx)
does the column match the given pattern
#### [String_comparison_exp.\_lt
](#)[String
](/docs/api/lockup/graphql/envio/scalars/string.mdx)
#### [String_comparison_exp.\_lte
](#)[String
](/docs/api/lockup/graphql/envio/scalars/string.mdx)
#### [String_comparison_exp.\_neq
](#)[String
](/docs/api/lockup/graphql/envio/scalars/string.mdx)
#### [String_comparison_exp.\_nilike
](#)[String
](/docs/api/lockup/graphql/envio/scalars/string.mdx)
does the column NOT match the given case-insensitive pattern
#### [String_comparison_exp.\_nin
](#)[[String!]
](/docs/api/lockup/graphql/envio/scalars/string.mdx)
#### [String_comparison_exp.\_niregex
](#)[String
](/docs/api/lockup/graphql/envio/scalars/string.mdx)
does the column NOT match the given POSIX regular expression, case insensitive
#### [String_comparison_exp.\_nlike
](#)[String
](/docs/api/lockup/graphql/envio/scalars/string.mdx)
does the column NOT match the given pattern
#### [String_comparison_exp.\_nregex
](#)[String
](/docs/api/lockup/graphql/envio/scalars/string.mdx)
does the column NOT match the given POSIX regular expression, case sensitive
#### [String_comparison_exp.\_nsimilar
](#)[String
](/docs/api/lockup/graphql/envio/scalars/string.mdx)
does the column NOT match the given SQL regular expression
#### [String_comparison_exp.\_regex
](#)[String
](/docs/api/lockup/graphql/envio/scalars/string.mdx)
does the column match the given POSIX regular expression, case sensitive
#### [String_comparison_exp.\_similar
](#)[String
](/docs/api/lockup/graphql/envio/scalars/string.mdx)
does the column match the given SQL regular expression
---
## timestamp_comparison_exp (3)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
Boolean expression to compare columns of type "timestamp". All fields are combined with logical 'AND'.
```graphql
input timestamp_comparison_exp {
_eq: timestamp
_gt: timestamp
_gte: timestamp
_in: [timestamp!]
_is_null: Boolean
_lt: timestamp
_lte: timestamp
_neq: timestamp
_nin: [timestamp!]
}
```
### Fields
#### [timestamp_comparison_exp.\_eq
](#)[timestamp
](/docs/api/lockup/graphql/envio/scalars/timestamp.mdx)
#### [timestamp_comparison_exp.\_gt
](#)[timestamp
](/docs/api/lockup/graphql/envio/scalars/timestamp.mdx)
#### [timestamp_comparison_exp.\_gte
](#)[timestamp
](/docs/api/lockup/graphql/envio/scalars/timestamp.mdx)
#### [timestamp_comparison_exp.\_in
](#)[[timestamp!]
](/docs/api/lockup/graphql/envio/scalars/timestamp.mdx)
#### [timestamp_comparison_exp.\_is_null
](#)[Boolean
](/docs/api/lockup/graphql/envio/scalars/boolean.mdx)
#### [timestamp_comparison_exp.\_lt
](#)[timestamp
](/docs/api/lockup/graphql/envio/scalars/timestamp.mdx)
#### [timestamp_comparison_exp.\_lte
](#)[timestamp
](/docs/api/lockup/graphql/envio/scalars/timestamp.mdx)
#### [timestamp_comparison_exp.\_neq
](#)[timestamp
](/docs/api/lockup/graphql/envio/scalars/timestamp.mdx)
#### [timestamp_comparison_exp.\_nin
](#)[[timestamp!]
](/docs/api/lockup/graphql/envio/scalars/timestamp.mdx)
---
## timestamptz_comparison_exp (3)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
Boolean expression to compare columns of type "timestamptz". All fields are combined with logical 'AND'.
```graphql
input timestamptz_comparison_exp {
_eq: timestamptz
_gt: timestamptz
_gte: timestamptz
_in: [timestamptz!]
_is_null: Boolean
_lt: timestamptz
_lte: timestamptz
_neq: timestamptz
_nin: [timestamptz!]
}
```
### Fields
#### [timestamptz_comparison_exp.\_eq
](#)[timestamptz
](/docs/api/lockup/graphql/envio/scalars/timestamptz.mdx)
#### [timestamptz_comparison_exp.\_gt
](#)[timestamptz
](/docs/api/lockup/graphql/envio/scalars/timestamptz.mdx)
#### [timestamptz_comparison_exp.\_gte
](#)[timestamptz
](/docs/api/lockup/graphql/envio/scalars/timestamptz.mdx)
#### [timestamptz_comparison_exp.\_in
](#)[[timestamptz!]
](/docs/api/lockup/graphql/envio/scalars/timestamptz.mdx)
#### [timestamptz_comparison_exp.\_is_null
](#)[Boolean
](/docs/api/lockup/graphql/envio/scalars/boolean.mdx)
#### [timestamptz_comparison_exp.\_lt
](#)[timestamptz
](/docs/api/lockup/graphql/envio/scalars/timestamptz.mdx)
#### [timestamptz_comparison_exp.\_lte
](#)[timestamptz
](/docs/api/lockup/graphql/envio/scalars/timestamptz.mdx)
#### [timestamptz_comparison_exp.\_neq
](#)[timestamptz
](/docs/api/lockup/graphql/envio/scalars/timestamptz.mdx)
#### [timestamptz_comparison_exp.\_nin
](#)[[timestamptz!]
](/docs/api/lockup/graphql/envio/scalars/timestamptz.mdx)
---
## Tranche_aggregate_order_by (2)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
order by aggregate values of table "Tranche"
```graphql
input Tranche_aggregate_order_by {
avg: Tranche_avg_order_by
count: order_by
max: Tranche_max_order_by
min: Tranche_min_order_by
stddev: Tranche_stddev_order_by
stddev_pop: Tranche_stddev_pop_order_by
stddev_samp: Tranche_stddev_samp_order_by
sum: Tranche_sum_order_by
var_pop: Tranche_var_pop_order_by
var_samp: Tranche_var_samp_order_by
variance: Tranche_variance_order_by
}
```
### Fields
#### [Tranche_aggregate_order_by.avg
](#)[Tranche_avg_order_by
](/docs/api/lockup/graphql/envio/inputs/tranche-avg-order-by.mdx)
#### [Tranche_aggregate_order_by.count
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [Tranche_aggregate_order_by.max
](#)[Tranche_max_order_by
](/docs/api/lockup/graphql/envio/inputs/tranche-max-order-by.mdx)
#### [Tranche_aggregate_order_by.min
](#)[Tranche_min_order_by
](/docs/api/lockup/graphql/envio/inputs/tranche-min-order-by.mdx)
#### [Tranche_aggregate_order_by.stddev
](#)[Tranche_stddev_order_by
](/docs/api/lockup/graphql/envio/inputs/tranche-stddev-order-by.mdx)
#### [Tranche_aggregate_order_by.stddev_pop
](#)[Tranche_stddev_pop_order_by
](/docs/api/lockup/graphql/envio/inputs/tranche-stddev-pop-order-by.mdx)
#### [Tranche_aggregate_order_by.stddev_samp
](#)[Tranche_stddev_samp_order_by
](/docs/api/lockup/graphql/envio/inputs/tranche-stddev-samp-order-by.mdx)
#### [Tranche_aggregate_order_by.sum
](#)[Tranche_sum_order_by
](/docs/api/lockup/graphql/envio/inputs/tranche-sum-order-by.mdx)
#### [Tranche_aggregate_order_by.var_pop
](#)[Tranche_var_pop_order_by
](/docs/api/lockup/graphql/envio/inputs/tranche-var-pop-order-by.mdx)
#### [Tranche_aggregate_order_by.var_samp
](#)[Tranche_var_samp_order_by
](/docs/api/lockup/graphql/envio/inputs/tranche-var-samp-order-by.mdx)
#### [Tranche_aggregate_order_by.variance
](#)[Tranche_variance_order_by
](/docs/api/lockup/graphql/envio/inputs/tranche-variance-order-by.mdx)
---
## Tranche_avg_order_by (2)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
order by avg() on columns of table "Tranche"
```graphql
input Tranche_avg_order_by {
amount: order_by
endAmount: order_by
endTime: order_by
position: order_by
startAmount: order_by
startTime: order_by
}
```
### Fields
#### [Tranche_avg_order_by.amount
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [Tranche_avg_order_by.endAmount
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [Tranche_avg_order_by.endTime
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [Tranche_avg_order_by.position
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [Tranche_avg_order_by.startAmount
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [Tranche_avg_order_by.startTime
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
---
## Tranche_bool_exp (2)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
Boolean expression to filter rows from the table "Tranche". All fields are combined with a logical 'AND'.
```graphql
input Tranche_bool_exp {
_and: [Tranche_bool_exp!]
_not: Tranche_bool_exp
_or: [Tranche_bool_exp!]
amount: numeric_comparison_exp
db_write_timestamp: timestamp_comparison_exp
endAmount: numeric_comparison_exp
endTime: numeric_comparison_exp
id: String_comparison_exp
position: numeric_comparison_exp
startAmount: numeric_comparison_exp
startTime: numeric_comparison_exp
stream: Stream_bool_exp
stream_id: String_comparison_exp
}
```
### Fields
#### [Tranche_bool_exp.\_and
](#)[[Tranche_bool_exp!]
](/docs/api/lockup/graphql/envio/inputs/tranche-bool-exp.mdx)
#### [Tranche_bool_exp.\_not
](#)[Tranche_bool_exp
](/docs/api/lockup/graphql/envio/inputs/tranche-bool-exp.mdx)
#### [Tranche_bool_exp.\_or
](#)[[Tranche_bool_exp!]
](/docs/api/lockup/graphql/envio/inputs/tranche-bool-exp.mdx)
#### [Tranche_bool_exp.amount
](#)[numeric_comparison_exp
](/docs/api/lockup/graphql/envio/inputs/numeric-comparison-exp.mdx)
#### [Tranche_bool_exp.db_write_timestamp
](#)[timestamp_comparison_exp
](/docs/api/lockup/graphql/envio/inputs/timestamp-comparison-exp.mdx)
#### [Tranche_bool_exp.endAmount
](#)[numeric_comparison_exp
](/docs/api/lockup/graphql/envio/inputs/numeric-comparison-exp.mdx)
#### [Tranche_bool_exp.endTime
](#)[numeric_comparison_exp
](/docs/api/lockup/graphql/envio/inputs/numeric-comparison-exp.mdx)
#### [Tranche_bool_exp.id
](#)[String_comparison_exp
](/docs/api/lockup/graphql/envio/inputs/string-comparison-exp.mdx)
#### [Tranche_bool_exp.position
](#)[numeric_comparison_exp
](/docs/api/lockup/graphql/envio/inputs/numeric-comparison-exp.mdx)
#### [Tranche_bool_exp.startAmount
](#)[numeric_comparison_exp
](/docs/api/lockup/graphql/envio/inputs/numeric-comparison-exp.mdx)
#### [Tranche_bool_exp.startTime
](#)[numeric_comparison_exp
](/docs/api/lockup/graphql/envio/inputs/numeric-comparison-exp.mdx)
#### [Tranche_bool_exp.stream
](#)[Stream_bool_exp
](/docs/api/lockup/graphql/envio/inputs/stream-bool-exp.mdx)
#### [Tranche_bool_exp.stream_id
](#)[String_comparison_exp
](/docs/api/lockup/graphql/envio/inputs/string-comparison-exp.mdx)
---
## Tranche_max_order_by (2)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
order by max() on columns of table "Tranche"
```graphql
input Tranche_max_order_by {
amount: order_by
db_write_timestamp: order_by
endAmount: order_by
endTime: order_by
id: order_by
position: order_by
startAmount: order_by
startTime: order_by
stream_id: order_by
}
```
### Fields
#### [Tranche_max_order_by.amount
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [Tranche_max_order_by.db_write_timestamp
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [Tranche_max_order_by.endAmount
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [Tranche_max_order_by.endTime
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [Tranche_max_order_by.id
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [Tranche_max_order_by.position
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [Tranche_max_order_by.startAmount
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [Tranche_max_order_by.startTime
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [Tranche_max_order_by.stream_id
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
---
## Tranche_min_order_by (2)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
order by min() on columns of table "Tranche"
```graphql
input Tranche_min_order_by {
amount: order_by
db_write_timestamp: order_by
endAmount: order_by
endTime: order_by
id: order_by
position: order_by
startAmount: order_by
startTime: order_by
stream_id: order_by
}
```
### Fields
#### [Tranche_min_order_by.amount
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [Tranche_min_order_by.db_write_timestamp
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [Tranche_min_order_by.endAmount
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [Tranche_min_order_by.endTime
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [Tranche_min_order_by.id
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [Tranche_min_order_by.position
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [Tranche_min_order_by.startAmount
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [Tranche_min_order_by.startTime
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [Tranche_min_order_by.stream_id
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
---
## Tranche_order_by (2)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
Ordering options when selecting data from "Tranche".
```graphql
input Tranche_order_by {
amount: order_by
db_write_timestamp: order_by
endAmount: order_by
endTime: order_by
id: order_by
position: order_by
startAmount: order_by
startTime: order_by
stream: Stream_order_by
stream_id: order_by
}
```
### Fields
#### [Tranche_order_by.amount
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [Tranche_order_by.db_write_timestamp
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [Tranche_order_by.endAmount
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [Tranche_order_by.endTime
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [Tranche_order_by.id
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [Tranche_order_by.position
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [Tranche_order_by.startAmount
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [Tranche_order_by.startTime
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [Tranche_order_by.stream
](#)[Stream_order_by
](/docs/api/lockup/graphql/envio/inputs/stream-order-by.mdx)
#### [Tranche_order_by.stream_id
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
---
## Tranche_stddev_order_by (2)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
order by stddev() on columns of table "Tranche"
```graphql
input Tranche_stddev_order_by {
amount: order_by
endAmount: order_by
endTime: order_by
position: order_by
startAmount: order_by
startTime: order_by
}
```
### Fields
#### [Tranche_stddev_order_by.amount
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [Tranche_stddev_order_by.endAmount
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [Tranche_stddev_order_by.endTime
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [Tranche_stddev_order_by.position
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [Tranche_stddev_order_by.startAmount
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [Tranche_stddev_order_by.startTime
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
---
## Tranche_stddev_pop_order_by (2)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
order by stddev_pop() on columns of table "Tranche"
```graphql
input Tranche_stddev_pop_order_by {
amount: order_by
endAmount: order_by
endTime: order_by
position: order_by
startAmount: order_by
startTime: order_by
}
```
### Fields
#### [Tranche_stddev_pop_order_by.amount
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [Tranche_stddev_pop_order_by.endAmount
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [Tranche_stddev_pop_order_by.endTime
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [Tranche_stddev_pop_order_by.position
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [Tranche_stddev_pop_order_by.startAmount
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [Tranche_stddev_pop_order_by.startTime
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
---
## Tranche_stddev_samp_order_by (2)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
order by stddev_samp() on columns of table "Tranche"
```graphql
input Tranche_stddev_samp_order_by {
amount: order_by
endAmount: order_by
endTime: order_by
position: order_by
startAmount: order_by
startTime: order_by
}
```
### Fields
#### [Tranche_stddev_samp_order_by.amount
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [Tranche_stddev_samp_order_by.endAmount
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [Tranche_stddev_samp_order_by.endTime
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [Tranche_stddev_samp_order_by.position
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [Tranche_stddev_samp_order_by.startAmount
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [Tranche_stddev_samp_order_by.startTime
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
---
## Tranche_stream_cursor_input (2)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
Streaming cursor of the table "Tranche"
```graphql
input Tranche_stream_cursor_input {
initial_value: Tranche_stream_cursor_value_input!
ordering: cursor_ordering
}
```
### Fields
#### [Tranche_stream_cursor_input.initial_value
](#)[Tranche_stream_cursor_value_input!
](/docs/api/lockup/graphql/envio/inputs/tranche-stream-cursor-value-input.mdx)
Stream column input with initial value
#### [Tranche_stream_cursor_input.ordering
](#)[cursor_ordering
](/docs/api/lockup/graphql/envio/enums/cursor-ordering.mdx)
cursor ordering
---
## Tranche_stream_cursor_value_input (2)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
Initial value of the column from where the streaming should start
```graphql
input Tranche_stream_cursor_value_input {
amount: numeric
db_write_timestamp: timestamp
endAmount: numeric
endTime: numeric
id: String
position: numeric
startAmount: numeric
startTime: numeric
stream_id: String
}
```
### Fields
#### [Tranche_stream_cursor_value_input.amount
](#)[numeric
](/docs/api/lockup/graphql/envio/scalars/numeric.mdx)
#### [Tranche_stream_cursor_value_input.db_write_timestamp
](#)[timestamp
](/docs/api/lockup/graphql/envio/scalars/timestamp.mdx)
#### [Tranche_stream_cursor_value_input.endAmount
](#)[numeric
](/docs/api/lockup/graphql/envio/scalars/numeric.mdx)
#### [Tranche_stream_cursor_value_input.endTime
](#)[numeric
](/docs/api/lockup/graphql/envio/scalars/numeric.mdx)
#### [Tranche_stream_cursor_value_input.id
](#)[String
](/docs/api/lockup/graphql/envio/scalars/string.mdx)
#### [Tranche_stream_cursor_value_input.position
](#)[numeric
](/docs/api/lockup/graphql/envio/scalars/numeric.mdx)
#### [Tranche_stream_cursor_value_input.startAmount
](#)[numeric
](/docs/api/lockup/graphql/envio/scalars/numeric.mdx)
#### [Tranche_stream_cursor_value_input.startTime
](#)[numeric
](/docs/api/lockup/graphql/envio/scalars/numeric.mdx)
#### [Tranche_stream_cursor_value_input.stream_id
](#)[String
](/docs/api/lockup/graphql/envio/scalars/string.mdx)
---
## Tranche_sum_order_by (2)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
order by sum() on columns of table "Tranche"
```graphql
input Tranche_sum_order_by {
amount: order_by
endAmount: order_by
endTime: order_by
position: order_by
startAmount: order_by
startTime: order_by
}
```
### Fields
#### [Tranche_sum_order_by.amount
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [Tranche_sum_order_by.endAmount
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [Tranche_sum_order_by.endTime
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [Tranche_sum_order_by.position
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [Tranche_sum_order_by.startAmount
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [Tranche_sum_order_by.startTime
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
---
## Tranche_var_pop_order_by (2)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
order by var_pop() on columns of table "Tranche"
```graphql
input Tranche_var_pop_order_by {
amount: order_by
endAmount: order_by
endTime: order_by
position: order_by
startAmount: order_by
startTime: order_by
}
```
### Fields
#### [Tranche_var_pop_order_by.amount
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [Tranche_var_pop_order_by.endAmount
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [Tranche_var_pop_order_by.endTime
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [Tranche_var_pop_order_by.position
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [Tranche_var_pop_order_by.startAmount
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [Tranche_var_pop_order_by.startTime
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
---
## Tranche_var_samp_order_by (2)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
order by var_samp() on columns of table "Tranche"
```graphql
input Tranche_var_samp_order_by {
amount: order_by
endAmount: order_by
endTime: order_by
position: order_by
startAmount: order_by
startTime: order_by
}
```
### Fields
#### [Tranche_var_samp_order_by.amount
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [Tranche_var_samp_order_by.endAmount
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [Tranche_var_samp_order_by.endTime
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [Tranche_var_samp_order_by.position
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [Tranche_var_samp_order_by.startAmount
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [Tranche_var_samp_order_by.startTime
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
---
## Tranche_variance_order_by (2)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
order by variance() on columns of table "Tranche"
```graphql
input Tranche_variance_order_by {
amount: order_by
endAmount: order_by
endTime: order_by
position: order_by
startAmount: order_by
startTime: order_by
}
```
### Fields
#### [Tranche_variance_order_by.amount
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [Tranche_variance_order_by.endAmount
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [Tranche_variance_order_by.endTime
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [Tranche_variance_order_by.position
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [Tranche_variance_order_by.startAmount
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [Tranche_variance_order_by.startTime
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
---
## User_bool_exp (3)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
Boolean expression to filter rows from the table "User". All fields are combined with a logical 'AND'.
```graphql
input User_bool_exp {
_and: [User_bool_exp!]
_not: User_bool_exp
_or: [User_bool_exp!]
address: String_comparison_exp
chainId: numeric_comparison_exp
db_write_timestamp: timestamp_comparison_exp
id: String_comparison_exp
isOnlyAirdropClaimer: Boolean_comparison_exp
transactions: UserTransaction_bool_exp
transactions_aggregate: UserTransaction_aggregate_bool_exp
}
```
### Fields
#### [User_bool_exp.\_and
](#)[[User_bool_exp!]
](/docs/api/lockup/graphql/envio/inputs/user-bool-exp.mdx)
#### [User_bool_exp.\_not
](#)[User_bool_exp
](/docs/api/lockup/graphql/envio/inputs/user-bool-exp.mdx)
#### [User_bool_exp.\_or
](#)[[User_bool_exp!]
](/docs/api/lockup/graphql/envio/inputs/user-bool-exp.mdx)
#### [User_bool_exp.address
](#)[String_comparison_exp
](/docs/api/lockup/graphql/envio/inputs/string-comparison-exp.mdx)
#### [User_bool_exp.chainId
](#)[numeric_comparison_exp
](/docs/api/lockup/graphql/envio/inputs/numeric-comparison-exp.mdx)
#### [User_bool_exp.db_write_timestamp
](#)[timestamp_comparison_exp
](/docs/api/lockup/graphql/envio/inputs/timestamp-comparison-exp.mdx)
#### [User_bool_exp.id
](#)[String_comparison_exp
](/docs/api/lockup/graphql/envio/inputs/string-comparison-exp.mdx)
#### [User_bool_exp.isOnlyAirdropClaimer
](#)[Boolean_comparison_exp
](/docs/api/lockup/graphql/envio/inputs/boolean-comparison-exp.mdx)
#### [User_bool_exp.transactions
](#)[UserTransaction_bool_exp
](/docs/api/lockup/graphql/envio/inputs/user-transaction-bool-exp.mdx)
#### [User_bool_exp.transactions_aggregate
](#)[UserTransaction_aggregate_bool_exp
](/docs/api/lockup/graphql/envio/inputs/user-transaction-aggregate-bool-exp.mdx)
---
## User_order_by (3)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
Ordering options when selecting data from "User".
```graphql
input User_order_by {
address: order_by
chainId: order_by
db_write_timestamp: order_by
id: order_by
isOnlyAirdropClaimer: order_by
transactions_aggregate: UserTransaction_aggregate_order_by
}
```
### Fields
#### [User_order_by.address
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [User_order_by.chainId
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [User_order_by.db_write_timestamp
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [User_order_by.id
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [User_order_by.isOnlyAirdropClaimer
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [User_order_by.transactions_aggregate
](#)[UserTransaction_aggregate_order_by
](/docs/api/lockup/graphql/envio/inputs/user-transaction-aggregate-order-by.mdx)
---
## User_stream_cursor_input (3)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
Streaming cursor of the table "User"
```graphql
input User_stream_cursor_input {
initial_value: User_stream_cursor_value_input!
ordering: cursor_ordering
}
```
### Fields
#### [User_stream_cursor_input.initial_value
](#)[User_stream_cursor_value_input!
](/docs/api/lockup/graphql/envio/inputs/user-stream-cursor-value-input.mdx)
Stream column input with initial value
#### [User_stream_cursor_input.ordering
](#)[cursor_ordering
](/docs/api/lockup/graphql/envio/enums/cursor-ordering.mdx)
cursor ordering
---
## User_stream_cursor_value_input (3)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
Initial value of the column from where the streaming should start
```graphql
input User_stream_cursor_value_input {
address: String
chainId: numeric
db_write_timestamp: timestamp
id: String
isOnlyAirdropClaimer: Boolean
}
```
### Fields
#### [User_stream_cursor_value_input.address
](#)[String
](/docs/api/lockup/graphql/envio/scalars/string.mdx)
#### [User_stream_cursor_value_input.chainId
](#)[numeric
](/docs/api/lockup/graphql/envio/scalars/numeric.mdx)
#### [User_stream_cursor_value_input.db_write_timestamp
](#)[timestamp
](/docs/api/lockup/graphql/envio/scalars/timestamp.mdx)
#### [User_stream_cursor_value_input.id
](#)[String
](/docs/api/lockup/graphql/envio/scalars/string.mdx)
#### [User_stream_cursor_value_input.isOnlyAirdropClaimer
](#)[Boolean
](/docs/api/lockup/graphql/envio/scalars/boolean.mdx)
---
## UserTransaction_aggregate_bool_exp_avg (3)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
No description
```graphql
input UserTransaction_aggregate_bool_exp_avg {
arguments: UserTransaction_select_column_UserTransaction_aggregate_bool_exp_avg_arguments_columns!
distinct: Boolean
filter: UserTransaction_bool_exp
predicate: float8_comparison_exp!
}
```
### Fields
#### [UserTransaction_aggregate_bool_exp_avg.arguments
](#)[UserTransaction_select_column_UserTransaction_aggregate_bool_exp_avg_arguments_columns!
](/docs/api/lockup/graphql/envio/enums/user-transaction-select-column-user-transaction-aggregate-bool-exp-avg-arguments-columns.mdx)
#### [UserTransaction_aggregate_bool_exp_avg.distinct
](#)[Boolean
](/docs/api/lockup/graphql/envio/scalars/boolean.mdx)
#### [UserTransaction_aggregate_bool_exp_avg.filter
](#)[UserTransaction_bool_exp
](/docs/api/lockup/graphql/envio/inputs/user-transaction-bool-exp.mdx)
#### [UserTransaction_aggregate_bool_exp_avg.predicate
](#)[float8_comparison_exp!
](/docs/api/lockup/graphql/envio/inputs/float-8-comparison-exp.mdx)
---
## UserTransaction_aggregate_bool_exp_bool_and (3)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
No description
```graphql
input UserTransaction_aggregate_bool_exp_bool_and {
arguments: UserTransaction_select_column_UserTransaction_aggregate_bool_exp_bool_and_arguments_columns!
distinct: Boolean
filter: UserTransaction_bool_exp
predicate: Boolean_comparison_exp!
}
```
### Fields
#### [UserTransaction_aggregate_bool_exp_bool_and.arguments
](#)[UserTransaction_select_column_UserTransaction_aggregate_bool_exp_bool_and_arguments_columns!
](/docs/api/lockup/graphql/envio/enums/user-transaction-select-column-user-transaction-aggregate-bool-exp-bool-and-arguments-columns.mdx)
#### [UserTransaction_aggregate_bool_exp_bool_and.distinct
](#)[Boolean
](/docs/api/lockup/graphql/envio/scalars/boolean.mdx)
#### [UserTransaction_aggregate_bool_exp_bool_and.filter
](#)[UserTransaction_bool_exp
](/docs/api/lockup/graphql/envio/inputs/user-transaction-bool-exp.mdx)
#### [UserTransaction_aggregate_bool_exp_bool_and.predicate
](#)[Boolean_comparison_exp!
](/docs/api/lockup/graphql/envio/inputs/boolean-comparison-exp.mdx)
---
## UserTransaction_aggregate_bool_exp_bool_or (3)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
No description
```graphql
input UserTransaction_aggregate_bool_exp_bool_or {
arguments: UserTransaction_select_column_UserTransaction_aggregate_bool_exp_bool_or_arguments_columns!
distinct: Boolean
filter: UserTransaction_bool_exp
predicate: Boolean_comparison_exp!
}
```
### Fields
#### [UserTransaction_aggregate_bool_exp_bool_or.arguments
](#)[UserTransaction_select_column_UserTransaction_aggregate_bool_exp_bool_or_arguments_columns!
](/docs/api/lockup/graphql/envio/enums/user-transaction-select-column-user-transaction-aggregate-bool-exp-bool-or-arguments-columns.mdx)
#### [UserTransaction_aggregate_bool_exp_bool_or.distinct
](#)[Boolean
](/docs/api/lockup/graphql/envio/scalars/boolean.mdx)
#### [UserTransaction_aggregate_bool_exp_bool_or.filter
](#)[UserTransaction_bool_exp
](/docs/api/lockup/graphql/envio/inputs/user-transaction-bool-exp.mdx)
#### [UserTransaction_aggregate_bool_exp_bool_or.predicate
](#)[Boolean_comparison_exp!
](/docs/api/lockup/graphql/envio/inputs/boolean-comparison-exp.mdx)
---
## UserTransaction_aggregate_bool_exp_corr_arguments (3)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
No description
```graphql
input UserTransaction_aggregate_bool_exp_corr_arguments {
X: UserTransaction_select_column_UserTransaction_aggregate_bool_exp_corr_arguments_columns!
Y: UserTransaction_select_column_UserTransaction_aggregate_bool_exp_corr_arguments_columns!
}
```
### Fields
#### [UserTransaction_aggregate_bool_exp_corr_arguments.X
](#)[UserTransaction_select_column_UserTransaction_aggregate_bool_exp_corr_arguments_columns!
](/docs/api/lockup/graphql/envio/enums/user-transaction-select-column-user-transaction-aggregate-bool-exp-corr-arguments-columns.mdx)
#### [UserTransaction_aggregate_bool_exp_corr_arguments.Y
](#)[UserTransaction_select_column_UserTransaction_aggregate_bool_exp_corr_arguments_columns!
](/docs/api/lockup/graphql/envio/enums/user-transaction-select-column-user-transaction-aggregate-bool-exp-corr-arguments-columns.mdx)
---
## UserTransaction_aggregate_bool_exp_corr (3)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
No description
```graphql
input UserTransaction_aggregate_bool_exp_corr {
arguments: UserTransaction_aggregate_bool_exp_corr_arguments!
distinct: Boolean
filter: UserTransaction_bool_exp
predicate: float8_comparison_exp!
}
```
### Fields
#### [UserTransaction_aggregate_bool_exp_corr.arguments
](#)[UserTransaction_aggregate_bool_exp_corr_arguments!
](/docs/api/lockup/graphql/envio/inputs/user-transaction-aggregate-bool-exp-corr-arguments.mdx)
#### [UserTransaction_aggregate_bool_exp_corr.distinct
](#)[Boolean
](/docs/api/lockup/graphql/envio/scalars/boolean.mdx)
#### [UserTransaction_aggregate_bool_exp_corr.filter
](#)[UserTransaction_bool_exp
](/docs/api/lockup/graphql/envio/inputs/user-transaction-bool-exp.mdx)
#### [UserTransaction_aggregate_bool_exp_corr.predicate
](#)[float8_comparison_exp!
](/docs/api/lockup/graphql/envio/inputs/float-8-comparison-exp.mdx)
---
## UserTransaction_aggregate_bool_exp_count (3)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
No description
```graphql
input UserTransaction_aggregate_bool_exp_count {
arguments: [UserTransaction_select_column!]
distinct: Boolean
filter: UserTransaction_bool_exp
predicate: Int_comparison_exp!
}
```
### Fields
#### [UserTransaction_aggregate_bool_exp_count.arguments
](#)[[UserTransaction_select_column!]
](/docs/api/lockup/graphql/envio/enums/user-transaction-select-column.mdx)
#### [UserTransaction_aggregate_bool_exp_count.distinct
](#)[Boolean
](/docs/api/lockup/graphql/envio/scalars/boolean.mdx)
#### [UserTransaction_aggregate_bool_exp_count.filter
](#)[UserTransaction_bool_exp
](/docs/api/lockup/graphql/envio/inputs/user-transaction-bool-exp.mdx)
#### [UserTransaction_aggregate_bool_exp_count.predicate
](#)[Int_comparison_exp!
](/docs/api/lockup/graphql/envio/inputs/int-comparison-exp.mdx)
---
## UserTransaction_aggregate_bool_exp_covar_samp_arguments (3)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
No description
```graphql
input UserTransaction_aggregate_bool_exp_covar_samp_arguments {
X: UserTransaction_select_column_UserTransaction_aggregate_bool_exp_covar_samp_arguments_columns!
Y: UserTransaction_select_column_UserTransaction_aggregate_bool_exp_covar_samp_arguments_columns!
}
```
### Fields
#### [UserTransaction_aggregate_bool_exp_covar_samp_arguments.X
](#)[UserTransaction_select_column_UserTransaction_aggregate_bool_exp_covar_samp_arguments_columns!
](/docs/api/lockup/graphql/envio/enums/user-transaction-select-column-user-transaction-aggregate-bool-exp-covar-samp-arguments-columns.mdx)
#### [UserTransaction_aggregate_bool_exp_covar_samp_arguments.Y
](#)[UserTransaction_select_column_UserTransaction_aggregate_bool_exp_covar_samp_arguments_columns!
](/docs/api/lockup/graphql/envio/enums/user-transaction-select-column-user-transaction-aggregate-bool-exp-covar-samp-arguments-columns.mdx)
---
## UserTransaction_aggregate_bool_exp_covar_samp (3)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
No description
```graphql
input UserTransaction_aggregate_bool_exp_covar_samp {
arguments: UserTransaction_aggregate_bool_exp_covar_samp_arguments!
distinct: Boolean
filter: UserTransaction_bool_exp
predicate: float8_comparison_exp!
}
```
### Fields
#### [UserTransaction_aggregate_bool_exp_covar_samp.arguments
](#)[UserTransaction_aggregate_bool_exp_covar_samp_arguments!
](/docs/api/lockup/graphql/envio/inputs/user-transaction-aggregate-bool-exp-covar-samp-arguments.mdx)
#### [UserTransaction_aggregate_bool_exp_covar_samp.distinct
](#)[Boolean
](/docs/api/lockup/graphql/envio/scalars/boolean.mdx)
#### [UserTransaction_aggregate_bool_exp_covar_samp.filter
](#)[UserTransaction_bool_exp
](/docs/api/lockup/graphql/envio/inputs/user-transaction-bool-exp.mdx)
#### [UserTransaction_aggregate_bool_exp_covar_samp.predicate
](#)[float8_comparison_exp!
](/docs/api/lockup/graphql/envio/inputs/float-8-comparison-exp.mdx)
---
## UserTransaction_aggregate_bool_exp_max (3)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
No description
```graphql
input UserTransaction_aggregate_bool_exp_max {
arguments: UserTransaction_select_column_UserTransaction_aggregate_bool_exp_max_arguments_columns!
distinct: Boolean
filter: UserTransaction_bool_exp
predicate: float8_comparison_exp!
}
```
### Fields
#### [UserTransaction_aggregate_bool_exp_max.arguments
](#)[UserTransaction_select_column_UserTransaction_aggregate_bool_exp_max_arguments_columns!
](/docs/api/lockup/graphql/envio/enums/user-transaction-select-column-user-transaction-aggregate-bool-exp-max-arguments-columns.mdx)
#### [UserTransaction_aggregate_bool_exp_max.distinct
](#)[Boolean
](/docs/api/lockup/graphql/envio/scalars/boolean.mdx)
#### [UserTransaction_aggregate_bool_exp_max.filter
](#)[UserTransaction_bool_exp
](/docs/api/lockup/graphql/envio/inputs/user-transaction-bool-exp.mdx)
#### [UserTransaction_aggregate_bool_exp_max.predicate
](#)[float8_comparison_exp!
](/docs/api/lockup/graphql/envio/inputs/float-8-comparison-exp.mdx)
---
## UserTransaction_aggregate_bool_exp_min (3)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
No description
```graphql
input UserTransaction_aggregate_bool_exp_min {
arguments: UserTransaction_select_column_UserTransaction_aggregate_bool_exp_min_arguments_columns!
distinct: Boolean
filter: UserTransaction_bool_exp
predicate: float8_comparison_exp!
}
```
### Fields
#### [UserTransaction_aggregate_bool_exp_min.arguments
](#)[UserTransaction_select_column_UserTransaction_aggregate_bool_exp_min_arguments_columns!
](/docs/api/lockup/graphql/envio/enums/user-transaction-select-column-user-transaction-aggregate-bool-exp-min-arguments-columns.mdx)
#### [UserTransaction_aggregate_bool_exp_min.distinct
](#)[Boolean
](/docs/api/lockup/graphql/envio/scalars/boolean.mdx)
#### [UserTransaction_aggregate_bool_exp_min.filter
](#)[UserTransaction_bool_exp
](/docs/api/lockup/graphql/envio/inputs/user-transaction-bool-exp.mdx)
#### [UserTransaction_aggregate_bool_exp_min.predicate
](#)[float8_comparison_exp!
](/docs/api/lockup/graphql/envio/inputs/float-8-comparison-exp.mdx)
---
## UserTransaction_aggregate_bool_exp_stddev_samp (3)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
No description
```graphql
input UserTransaction_aggregate_bool_exp_stddev_samp {
arguments: UserTransaction_select_column_UserTransaction_aggregate_bool_exp_stddev_samp_arguments_columns!
distinct: Boolean
filter: UserTransaction_bool_exp
predicate: float8_comparison_exp!
}
```
### Fields
#### [UserTransaction_aggregate_bool_exp_stddev_samp.arguments
](#)[UserTransaction_select_column_UserTransaction_aggregate_bool_exp_stddev_samp_arguments_columns!
](/docs/api/lockup/graphql/envio/enums/user-transaction-select-column-user-transaction-aggregate-bool-exp-stddev-samp-arguments-columns.mdx)
#### [UserTransaction_aggregate_bool_exp_stddev_samp.distinct
](#)[Boolean
](/docs/api/lockup/graphql/envio/scalars/boolean.mdx)
#### [UserTransaction_aggregate_bool_exp_stddev_samp.filter
](#)[UserTransaction_bool_exp
](/docs/api/lockup/graphql/envio/inputs/user-transaction-bool-exp.mdx)
#### [UserTransaction_aggregate_bool_exp_stddev_samp.predicate
](#)[float8_comparison_exp!
](/docs/api/lockup/graphql/envio/inputs/float-8-comparison-exp.mdx)
---
## UserTransaction_aggregate_bool_exp_sum (3)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
No description
```graphql
input UserTransaction_aggregate_bool_exp_sum {
arguments: UserTransaction_select_column_UserTransaction_aggregate_bool_exp_sum_arguments_columns!
distinct: Boolean
filter: UserTransaction_bool_exp
predicate: float8_comparison_exp!
}
```
### Fields
#### [UserTransaction_aggregate_bool_exp_sum.arguments
](#)[UserTransaction_select_column_UserTransaction_aggregate_bool_exp_sum_arguments_columns!
](/docs/api/lockup/graphql/envio/enums/user-transaction-select-column-user-transaction-aggregate-bool-exp-sum-arguments-columns.mdx)
#### [UserTransaction_aggregate_bool_exp_sum.distinct
](#)[Boolean
](/docs/api/lockup/graphql/envio/scalars/boolean.mdx)
#### [UserTransaction_aggregate_bool_exp_sum.filter
](#)[UserTransaction_bool_exp
](/docs/api/lockup/graphql/envio/inputs/user-transaction-bool-exp.mdx)
#### [UserTransaction_aggregate_bool_exp_sum.predicate
](#)[float8_comparison_exp!
](/docs/api/lockup/graphql/envio/inputs/float-8-comparison-exp.mdx)
---
## UserTransaction_aggregate_bool_exp_var_samp (3)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
No description
```graphql
input UserTransaction_aggregate_bool_exp_var_samp {
arguments: UserTransaction_select_column_UserTransaction_aggregate_bool_exp_var_samp_arguments_columns!
distinct: Boolean
filter: UserTransaction_bool_exp
predicate: float8_comparison_exp!
}
```
### Fields
#### [UserTransaction_aggregate_bool_exp_var_samp.arguments
](#)[UserTransaction_select_column_UserTransaction_aggregate_bool_exp_var_samp_arguments_columns!
](/docs/api/lockup/graphql/envio/enums/user-transaction-select-column-user-transaction-aggregate-bool-exp-var-samp-arguments-columns.mdx)
#### [UserTransaction_aggregate_bool_exp_var_samp.distinct
](#)[Boolean
](/docs/api/lockup/graphql/envio/scalars/boolean.mdx)
#### [UserTransaction_aggregate_bool_exp_var_samp.filter
](#)[UserTransaction_bool_exp
](/docs/api/lockup/graphql/envio/inputs/user-transaction-bool-exp.mdx)
#### [UserTransaction_aggregate_bool_exp_var_samp.predicate
](#)[float8_comparison_exp!
](/docs/api/lockup/graphql/envio/inputs/float-8-comparison-exp.mdx)
---
## UserTransaction_aggregate_bool_exp (3)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
No description
```graphql
input UserTransaction_aggregate_bool_exp {
avg: UserTransaction_aggregate_bool_exp_avg
bool_and: UserTransaction_aggregate_bool_exp_bool_and
bool_or: UserTransaction_aggregate_bool_exp_bool_or
corr: UserTransaction_aggregate_bool_exp_corr
count: UserTransaction_aggregate_bool_exp_count
covar_samp: UserTransaction_aggregate_bool_exp_covar_samp
max: UserTransaction_aggregate_bool_exp_max
min: UserTransaction_aggregate_bool_exp_min
stddev_samp: UserTransaction_aggregate_bool_exp_stddev_samp
sum: UserTransaction_aggregate_bool_exp_sum
var_samp: UserTransaction_aggregate_bool_exp_var_samp
}
```
### Fields
#### [UserTransaction_aggregate_bool_exp.avg
](#)[UserTransaction_aggregate_bool_exp_avg
](/docs/api/lockup/graphql/envio/inputs/user-transaction-aggregate-bool-exp-avg.mdx)
#### [UserTransaction_aggregate_bool_exp.bool_and
](#)[UserTransaction_aggregate_bool_exp_bool_and
](/docs/api/lockup/graphql/envio/inputs/user-transaction-aggregate-bool-exp-bool-and.mdx)
#### [UserTransaction_aggregate_bool_exp.bool_or
](#)[UserTransaction_aggregate_bool_exp_bool_or
](/docs/api/lockup/graphql/envio/inputs/user-transaction-aggregate-bool-exp-bool-or.mdx)
#### [UserTransaction_aggregate_bool_exp.corr
](#)[UserTransaction_aggregate_bool_exp_corr
](/docs/api/lockup/graphql/envio/inputs/user-transaction-aggregate-bool-exp-corr.mdx)
#### [UserTransaction_aggregate_bool_exp.count
](#)[UserTransaction_aggregate_bool_exp_count
](/docs/api/lockup/graphql/envio/inputs/user-transaction-aggregate-bool-exp-count.mdx)
#### [UserTransaction_aggregate_bool_exp.covar_samp
](#)[UserTransaction_aggregate_bool_exp_covar_samp
](/docs/api/lockup/graphql/envio/inputs/user-transaction-aggregate-bool-exp-covar-samp.mdx)
#### [UserTransaction_aggregate_bool_exp.max
](#)[UserTransaction_aggregate_bool_exp_max
](/docs/api/lockup/graphql/envio/inputs/user-transaction-aggregate-bool-exp-max.mdx)
#### [UserTransaction_aggregate_bool_exp.min
](#)[UserTransaction_aggregate_bool_exp_min
](/docs/api/lockup/graphql/envio/inputs/user-transaction-aggregate-bool-exp-min.mdx)
#### [UserTransaction_aggregate_bool_exp.stddev_samp
](#)[UserTransaction_aggregate_bool_exp_stddev_samp
](/docs/api/lockup/graphql/envio/inputs/user-transaction-aggregate-bool-exp-stddev-samp.mdx)
#### [UserTransaction_aggregate_bool_exp.sum
](#)[UserTransaction_aggregate_bool_exp_sum
](/docs/api/lockup/graphql/envio/inputs/user-transaction-aggregate-bool-exp-sum.mdx)
#### [UserTransaction_aggregate_bool_exp.var_samp
](#)[UserTransaction_aggregate_bool_exp_var_samp
](/docs/api/lockup/graphql/envio/inputs/user-transaction-aggregate-bool-exp-var-samp.mdx)
---
## UserTransaction_aggregate_order_by (3)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
order by aggregate values of table "UserTransaction"
```graphql
input UserTransaction_aggregate_order_by {
avg: UserTransaction_avg_order_by
count: order_by
max: UserTransaction_max_order_by
min: UserTransaction_min_order_by
stddev: UserTransaction_stddev_order_by
stddev_pop: UserTransaction_stddev_pop_order_by
stddev_samp: UserTransaction_stddev_samp_order_by
sum: UserTransaction_sum_order_by
var_pop: UserTransaction_var_pop_order_by
var_samp: UserTransaction_var_samp_order_by
variance: UserTransaction_variance_order_by
}
```
### Fields
#### [UserTransaction_aggregate_order_by.avg
](#)[UserTransaction_avg_order_by
](/docs/api/lockup/graphql/envio/inputs/user-transaction-avg-order-by.mdx)
#### [UserTransaction_aggregate_order_by.count
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [UserTransaction_aggregate_order_by.max
](#)[UserTransaction_max_order_by
](/docs/api/lockup/graphql/envio/inputs/user-transaction-max-order-by.mdx)
#### [UserTransaction_aggregate_order_by.min
](#)[UserTransaction_min_order_by
](/docs/api/lockup/graphql/envio/inputs/user-transaction-min-order-by.mdx)
#### [UserTransaction_aggregate_order_by.stddev
](#)[UserTransaction_stddev_order_by
](/docs/api/lockup/graphql/envio/inputs/user-transaction-stddev-order-by.mdx)
#### [UserTransaction_aggregate_order_by.stddev_pop
](#)[UserTransaction_stddev_pop_order_by
](/docs/api/lockup/graphql/envio/inputs/user-transaction-stddev-pop-order-by.mdx)
#### [UserTransaction_aggregate_order_by.stddev_samp
](#)[UserTransaction_stddev_samp_order_by
](/docs/api/lockup/graphql/envio/inputs/user-transaction-stddev-samp-order-by.mdx)
#### [UserTransaction_aggregate_order_by.sum
](#)[UserTransaction_sum_order_by
](/docs/api/lockup/graphql/envio/inputs/user-transaction-sum-order-by.mdx)
#### [UserTransaction_aggregate_order_by.var_pop
](#)[UserTransaction_var_pop_order_by
](/docs/api/lockup/graphql/envio/inputs/user-transaction-var-pop-order-by.mdx)
#### [UserTransaction_aggregate_order_by.var_samp
](#)[UserTransaction_var_samp_order_by
](/docs/api/lockup/graphql/envio/inputs/user-transaction-var-samp-order-by.mdx)
#### [UserTransaction_aggregate_order_by.variance
](#)[UserTransaction_variance_order_by
](/docs/api/lockup/graphql/envio/inputs/user-transaction-variance-order-by.mdx)
---
## UserTransaction_avg_order_by (3)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
order by avg() on columns of table "UserTransaction"
```graphql
input UserTransaction_avg_order_by {
block: order_by
fee: order_by
timestamp: order_by
}
```
### Fields
#### [UserTransaction_avg_order_by.block
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [UserTransaction_avg_order_by.fee
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [UserTransaction_avg_order_by.timestamp
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
---
## UserTransaction_bool_exp (3)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
Boolean expression to filter rows from the table "UserTransaction". All fields are combined with a logical 'AND'.
```graphql
input UserTransaction_bool_exp {
_and: [UserTransaction_bool_exp!]
_not: UserTransaction_bool_exp
_or: [UserTransaction_bool_exp!]
block: numeric_comparison_exp
db_write_timestamp: timestamp_comparison_exp
fee: float8_comparison_exp
hash: String_comparison_exp
id: String_comparison_exp
isAirdropClaim: Boolean_comparison_exp
timestamp: numeric_comparison_exp
user: User_bool_exp
user_id: String_comparison_exp
}
```
### Fields
#### [UserTransaction_bool_exp.\_and
](#)[[UserTransaction_bool_exp!]
](/docs/api/lockup/graphql/envio/inputs/user-transaction-bool-exp.mdx)
#### [UserTransaction_bool_exp.\_not
](#)[UserTransaction_bool_exp
](/docs/api/lockup/graphql/envio/inputs/user-transaction-bool-exp.mdx)
#### [UserTransaction_bool_exp.\_or
](#)[[UserTransaction_bool_exp!]
](/docs/api/lockup/graphql/envio/inputs/user-transaction-bool-exp.mdx)
#### [UserTransaction_bool_exp.block
](#)[numeric_comparison_exp
](/docs/api/lockup/graphql/envio/inputs/numeric-comparison-exp.mdx)
#### [UserTransaction_bool_exp.db_write_timestamp
](#)[timestamp_comparison_exp
](/docs/api/lockup/graphql/envio/inputs/timestamp-comparison-exp.mdx)
#### [UserTransaction_bool_exp.fee
](#)[float8_comparison_exp
](/docs/api/lockup/graphql/envio/inputs/float-8-comparison-exp.mdx)
#### [UserTransaction_bool_exp.hash
](#)[String_comparison_exp
](/docs/api/lockup/graphql/envio/inputs/string-comparison-exp.mdx)
#### [UserTransaction_bool_exp.id
](#)[String_comparison_exp
](/docs/api/lockup/graphql/envio/inputs/string-comparison-exp.mdx)
#### [UserTransaction_bool_exp.isAirdropClaim
](#)[Boolean_comparison_exp
](/docs/api/lockup/graphql/envio/inputs/boolean-comparison-exp.mdx)
#### [UserTransaction_bool_exp.timestamp
](#)[numeric_comparison_exp
](/docs/api/lockup/graphql/envio/inputs/numeric-comparison-exp.mdx)
#### [UserTransaction_bool_exp.user
](#)[User_bool_exp
](/docs/api/lockup/graphql/envio/inputs/user-bool-exp.mdx)
#### [UserTransaction_bool_exp.user_id
](#)[String_comparison_exp
](/docs/api/lockup/graphql/envio/inputs/string-comparison-exp.mdx)
---
## UserTransaction_max_order_by (3)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
order by max() on columns of table "UserTransaction"
```graphql
input UserTransaction_max_order_by {
block: order_by
db_write_timestamp: order_by
fee: order_by
hash: order_by
id: order_by
timestamp: order_by
user_id: order_by
}
```
### Fields
#### [UserTransaction_max_order_by.block
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [UserTransaction_max_order_by.db_write_timestamp
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [UserTransaction_max_order_by.fee
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [UserTransaction_max_order_by.hash
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [UserTransaction_max_order_by.id
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [UserTransaction_max_order_by.timestamp
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [UserTransaction_max_order_by.user_id
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
---
## UserTransaction_min_order_by (3)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
order by min() on columns of table "UserTransaction"
```graphql
input UserTransaction_min_order_by {
block: order_by
db_write_timestamp: order_by
fee: order_by
hash: order_by
id: order_by
timestamp: order_by
user_id: order_by
}
```
### Fields
#### [UserTransaction_min_order_by.block
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [UserTransaction_min_order_by.db_write_timestamp
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [UserTransaction_min_order_by.fee
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [UserTransaction_min_order_by.hash
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [UserTransaction_min_order_by.id
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [UserTransaction_min_order_by.timestamp
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [UserTransaction_min_order_by.user_id
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
---
## UserTransaction_order_by (3)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
Ordering options when selecting data from "UserTransaction".
```graphql
input UserTransaction_order_by {
block: order_by
db_write_timestamp: order_by
fee: order_by
hash: order_by
id: order_by
isAirdropClaim: order_by
timestamp: order_by
user: User_order_by
user_id: order_by
}
```
### Fields
#### [UserTransaction_order_by.block
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [UserTransaction_order_by.db_write_timestamp
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [UserTransaction_order_by.fee
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [UserTransaction_order_by.hash
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [UserTransaction_order_by.id
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [UserTransaction_order_by.isAirdropClaim
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [UserTransaction_order_by.timestamp
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [UserTransaction_order_by.user
](#)[User_order_by
](/docs/api/lockup/graphql/envio/inputs/user-order-by.mdx)
#### [UserTransaction_order_by.user_id
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
---
## UserTransaction_stddev_order_by (3)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
order by stddev() on columns of table "UserTransaction"
```graphql
input UserTransaction_stddev_order_by {
block: order_by
fee: order_by
timestamp: order_by
}
```
### Fields
#### [UserTransaction_stddev_order_by.block
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [UserTransaction_stddev_order_by.fee
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [UserTransaction_stddev_order_by.timestamp
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
---
## UserTransaction_stddev_pop_order_by (3)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
order by stddev_pop() on columns of table "UserTransaction"
```graphql
input UserTransaction_stddev_pop_order_by {
block: order_by
fee: order_by
timestamp: order_by
}
```
### Fields
#### [UserTransaction_stddev_pop_order_by.block
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [UserTransaction_stddev_pop_order_by.fee
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [UserTransaction_stddev_pop_order_by.timestamp
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
---
## UserTransaction_stddev_samp_order_by (3)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
order by stddev_samp() on columns of table "UserTransaction"
```graphql
input UserTransaction_stddev_samp_order_by {
block: order_by
fee: order_by
timestamp: order_by
}
```
### Fields
#### [UserTransaction_stddev_samp_order_by.block
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [UserTransaction_stddev_samp_order_by.fee
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [UserTransaction_stddev_samp_order_by.timestamp
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
---
## UserTransaction_stream_cursor_input (3)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
Streaming cursor of the table "UserTransaction"
```graphql
input UserTransaction_stream_cursor_input {
initial_value: UserTransaction_stream_cursor_value_input!
ordering: cursor_ordering
}
```
### Fields
#### [UserTransaction_stream_cursor_input.initial_value
](#)[UserTransaction_stream_cursor_value_input!
](/docs/api/lockup/graphql/envio/inputs/user-transaction-stream-cursor-value-input.mdx)
Stream column input with initial value
#### [UserTransaction_stream_cursor_input.ordering
](#)[cursor_ordering
](/docs/api/lockup/graphql/envio/enums/cursor-ordering.mdx)
cursor ordering
---
## UserTransaction_stream_cursor_value_input (3)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
Initial value of the column from where the streaming should start
```graphql
input UserTransaction_stream_cursor_value_input {
block: numeric
db_write_timestamp: timestamp
fee: float8
hash: String
id: String
isAirdropClaim: Boolean
timestamp: numeric
user_id: String
}
```
### Fields
#### [UserTransaction_stream_cursor_value_input.block
](#)[numeric
](/docs/api/lockup/graphql/envio/scalars/numeric.mdx)
#### [UserTransaction_stream_cursor_value_input.db_write_timestamp
](#)[timestamp
](/docs/api/lockup/graphql/envio/scalars/timestamp.mdx)
#### [UserTransaction_stream_cursor_value_input.fee
](#)[float8
](/docs/api/lockup/graphql/envio/scalars/float-8.mdx)
#### [UserTransaction_stream_cursor_value_input.hash
](#)[String
](/docs/api/lockup/graphql/envio/scalars/string.mdx)
#### [UserTransaction_stream_cursor_value_input.id
](#)[String
](/docs/api/lockup/graphql/envio/scalars/string.mdx)
#### [UserTransaction_stream_cursor_value_input.isAirdropClaim
](#)[Boolean
](/docs/api/lockup/graphql/envio/scalars/boolean.mdx)
#### [UserTransaction_stream_cursor_value_input.timestamp
](#)[numeric
](/docs/api/lockup/graphql/envio/scalars/numeric.mdx)
#### [UserTransaction_stream_cursor_value_input.user_id
](#)[String
](/docs/api/lockup/graphql/envio/scalars/string.mdx)
---
## UserTransaction_sum_order_by (3)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
order by sum() on columns of table "UserTransaction"
```graphql
input UserTransaction_sum_order_by {
block: order_by
fee: order_by
timestamp: order_by
}
```
### Fields
#### [UserTransaction_sum_order_by.block
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [UserTransaction_sum_order_by.fee
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [UserTransaction_sum_order_by.timestamp
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
---
## UserTransaction_var_pop_order_by (3)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
order by var_pop() on columns of table "UserTransaction"
```graphql
input UserTransaction_var_pop_order_by {
block: order_by
fee: order_by
timestamp: order_by
}
```
### Fields
#### [UserTransaction_var_pop_order_by.block
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [UserTransaction_var_pop_order_by.fee
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [UserTransaction_var_pop_order_by.timestamp
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
---
## UserTransaction_var_samp_order_by (3)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
order by var_samp() on columns of table "UserTransaction"
```graphql
input UserTransaction_var_samp_order_by {
block: order_by
fee: order_by
timestamp: order_by
}
```
### Fields
#### [UserTransaction_var_samp_order_by.block
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [UserTransaction_var_samp_order_by.fee
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [UserTransaction_var_samp_order_by.timestamp
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
---
## UserTransaction_variance_order_by (3)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
order by variance() on columns of table "UserTransaction"
```graphql
input UserTransaction_variance_order_by {
block: order_by
fee: order_by
timestamp: order_by
}
```
### Fields
#### [UserTransaction_variance_order_by.block
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [UserTransaction_variance_order_by.fee
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [UserTransaction_variance_order_by.timestamp
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
---
## Watcher_bool_exp (3)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
Boolean expression to filter rows from the table "Watcher". All fields are combined with a logical 'AND'.
```graphql
input Watcher_bool_exp {
_and: [Watcher_bool_exp!]
_not: Watcher_bool_exp
_or: [Watcher_bool_exp!]
actionCounter: numeric_comparison_exp
chainId: numeric_comparison_exp
db_write_timestamp: timestamp_comparison_exp
id: String_comparison_exp
streamCounter: numeric_comparison_exp
}
```
### Fields
#### [Watcher_bool_exp.\_and
](#)[[Watcher_bool_exp!]
](/docs/api/lockup/graphql/envio/inputs/watcher-bool-exp.mdx)
#### [Watcher_bool_exp.\_not
](#)[Watcher_bool_exp
](/docs/api/lockup/graphql/envio/inputs/watcher-bool-exp.mdx)
#### [Watcher_bool_exp.\_or
](#)[[Watcher_bool_exp!]
](/docs/api/lockup/graphql/envio/inputs/watcher-bool-exp.mdx)
#### [Watcher_bool_exp.actionCounter
](#)[numeric_comparison_exp
](/docs/api/lockup/graphql/envio/inputs/numeric-comparison-exp.mdx)
#### [Watcher_bool_exp.chainId
](#)[numeric_comparison_exp
](/docs/api/lockup/graphql/envio/inputs/numeric-comparison-exp.mdx)
#### [Watcher_bool_exp.db_write_timestamp
](#)[timestamp_comparison_exp
](/docs/api/lockup/graphql/envio/inputs/timestamp-comparison-exp.mdx)
#### [Watcher_bool_exp.id
](#)[String_comparison_exp
](/docs/api/lockup/graphql/envio/inputs/string-comparison-exp.mdx)
#### [Watcher_bool_exp.streamCounter
](#)[numeric_comparison_exp
](/docs/api/lockup/graphql/envio/inputs/numeric-comparison-exp.mdx)
---
## Watcher_order_by (3)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
Ordering options when selecting data from "Watcher".
```graphql
input Watcher_order_by {
actionCounter: order_by
chainId: order_by
db_write_timestamp: order_by
id: order_by
streamCounter: order_by
}
```
### Fields
#### [Watcher_order_by.actionCounter
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [Watcher_order_by.chainId
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [Watcher_order_by.db_write_timestamp
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [Watcher_order_by.id
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
#### [Watcher_order_by.streamCounter
](#)[order_by
](/docs/api/lockup/graphql/envio/enums/order-by.mdx)
---
## Watcher_stream_cursor_input (3)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
Streaming cursor of the table "Watcher"
```graphql
input Watcher_stream_cursor_input {
initial_value: Watcher_stream_cursor_value_input!
ordering: cursor_ordering
}
```
### Fields
#### [Watcher_stream_cursor_input.initial_value
](#)[Watcher_stream_cursor_value_input!
](/docs/api/lockup/graphql/envio/inputs/watcher-stream-cursor-value-input.mdx)
Stream column input with initial value
#### [Watcher_stream_cursor_input.ordering
](#)[cursor_ordering
](/docs/api/lockup/graphql/envio/enums/cursor-ordering.mdx)
cursor ordering
---
## Watcher_stream_cursor_value_input (3)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
Initial value of the column from where the streaming should start
```graphql
input Watcher_stream_cursor_value_input {
actionCounter: numeric
chainId: numeric
db_write_timestamp: timestamp
id: String
streamCounter: numeric
}
```
### Fields
#### [Watcher_stream_cursor_value_input.actionCounter
](#)[numeric
](/docs/api/lockup/graphql/envio/scalars/numeric.mdx)
#### [Watcher_stream_cursor_value_input.chainId
](#)[numeric
](/docs/api/lockup/graphql/envio/scalars/numeric.mdx)
#### [Watcher_stream_cursor_value_input.db_write_timestamp
](#)[timestamp
](/docs/api/lockup/graphql/envio/scalars/timestamp.mdx)
#### [Watcher_stream_cursor_value_input.id
](#)[String
](/docs/api/lockup/graphql/envio/scalars/string.mdx)
#### [Watcher_stream_cursor_value_input.streamCounter
](#)[numeric
](/docs/api/lockup/graphql/envio/scalars/numeric.mdx)
---
## Action (9)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
columns and relationships of "Action"
```graphql
type Action {
addressA: String
addressB: String
amountA: numeric
amountB: numeric
block: numeric!
category: actioncategory!
chainId: numeric!
contract: String!
db_write_timestamp: timestamp
fee: numeric
from: String!
hash: String!
id: String!
stream: Stream
stream_id: String
subgraphId: numeric!
timestamp: numeric!
}
```
### Fields
#### [Action.addressA
](#)[String
](/docs/api/lockup/graphql/envio/scalars/string.mdx)
#### [Action.addressB
](#)[String
](/docs/api/lockup/graphql/envio/scalars/string.mdx)
#### [Action.amountA
](#)[numeric
](/docs/api/lockup/graphql/envio/scalars/numeric.mdx)
#### [Action.amountB
](#)[numeric
](/docs/api/lockup/graphql/envio/scalars/numeric.mdx)
#### [Action.block
](#)[numeric!
](/docs/api/lockup/graphql/envio/scalars/numeric.mdx)
#### [Action.category
](#)[actioncategory!
](/docs/api/lockup/graphql/envio/scalars/actioncategory.mdx)
#### [Action.chainId
](#)[numeric!
](/docs/api/lockup/graphql/envio/scalars/numeric.mdx)
#### [Action.contract
](#)[String!
](/docs/api/lockup/graphql/envio/scalars/string.mdx)
#### [Action.db_write_timestamp
](#)[timestamp
](/docs/api/lockup/graphql/envio/scalars/timestamp.mdx)
#### [Action.fee
](#)[numeric
](/docs/api/lockup/graphql/envio/scalars/numeric.mdx)
#### [Action.from
](#)[String!
](/docs/api/lockup/graphql/envio/scalars/string.mdx)
#### [Action.hash
](#)[String!
](/docs/api/lockup/graphql/envio/scalars/string.mdx)
#### [Action.id
](#)[String!
](/docs/api/lockup/graphql/envio/scalars/string.mdx)
#### [Action.stream
](#)[Stream
](/docs/api/lockup/graphql/envio/objects/stream.mdx)
An object relationship
#### [Action.stream_id
](#)[String
](/docs/api/lockup/graphql/envio/scalars/string.mdx)
#### [Action.subgraphId
](#)[numeric!
](/docs/api/lockup/graphql/envio/scalars/numeric.mdx)
#### [Action.timestamp
](#)[numeric!
](/docs/api/lockup/graphql/envio/scalars/numeric.mdx)
---
## Asset (9)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
columns and relationships of "Asset"
```graphql
type Asset {
address: String!
chainId: numeric!
db_write_timestamp: timestamp
decimals: numeric!
id: String!
name: String!
streams(
distinct_on: [Stream_select_column!]
limit: Int
offset: Int
order_by: [Stream_order_by!]
where: Stream_bool_exp
): [Stream!]!
streams_aggregate(
distinct_on: [Stream_select_column!]
limit: Int
offset: Int
order_by: [Stream_order_by!]
where: Stream_bool_exp
): Stream_aggregate!
symbol: String!
}
```
### Fields
#### [Asset.address
](#)[String!
](/docs/api/lockup/graphql/envio/scalars/string.mdx)
#### [Asset.chainId
](#)[numeric!
](/docs/api/lockup/graphql/envio/scalars/numeric.mdx)
#### [Asset.db_write_timestamp
](#)[timestamp
](/docs/api/lockup/graphql/envio/scalars/timestamp.mdx)
#### [Asset.decimals
](#)[numeric!
](/docs/api/lockup/graphql/envio/scalars/numeric.mdx)
#### [Asset.id
](#)[String!
](/docs/api/lockup/graphql/envio/scalars/string.mdx)
#### [Asset.name
](#)[String!
](/docs/api/lockup/graphql/envio/scalars/string.mdx)
#### [Asset.streams
](#)[[Stream!]!
](/docs/api/lockup/graphql/envio/objects/stream.mdx)
An array relationship
##### [Asset.streams.distinct_on
](#)[[Stream_select_column!]
](/docs/api/lockup/graphql/envio/enums/stream-select-column.mdx)
distinct select on columns
##### [Asset.streams.limit
](#)[Int
](/docs/api/lockup/graphql/envio/scalars/int.mdx)
limit the number of rows returned
##### [Asset.streams.offset
](#)[Int
](/docs/api/lockup/graphql/envio/scalars/int.mdx)
skip the first n rows. Use only with order_by
##### [Asset.streams.order_by
](#)[[Stream_order_by!]
](/docs/api/lockup/graphql/envio/inputs/stream-order-by.mdx)
sort the rows by one or more columns
##### [Asset.streams.where
](#)[Stream_bool_exp
](/docs/api/lockup/graphql/envio/inputs/stream-bool-exp.mdx)
filter the rows returned
#### [Asset.streams_aggregate
](#)[Stream_aggregate!
](/docs/api/lockup/graphql/envio/objects/stream-aggregate.mdx)
An aggregate relationship
##### [Asset.streams_aggregate.distinct_on
](#)[[Stream_select_column!]
](/docs/api/lockup/graphql/envio/enums/stream-select-column.mdx)
distinct select on columns
##### [Asset.streams_aggregate.limit
](#)[Int
](/docs/api/lockup/graphql/envio/scalars/int.mdx)
limit the number of rows returned
##### [Asset.streams_aggregate.offset
](#)[Int
](/docs/api/lockup/graphql/envio/scalars/int.mdx)
skip the first n rows. Use only with order_by
##### [Asset.streams_aggregate.order_by
](#)[[Stream_order_by!]
](/docs/api/lockup/graphql/envio/inputs/stream-order-by.mdx)
sort the rows by one or more columns
##### [Asset.streams_aggregate.where
](#)[Stream_bool_exp
](/docs/api/lockup/graphql/envio/inputs/stream-bool-exp.mdx)
filter the rows returned
#### [Asset.symbol
](#)[String!
](/docs/api/lockup/graphql/envio/scalars/string.mdx)
---
## Batch (7)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
columns and relationships of "Batch"
```graphql
type Batch {
batcher: Batcher
batcher_id: String
db_write_timestamp: timestamp
hash: String
id: String!
position: numeric
size: numeric!
streams(
distinct_on: [Stream_select_column!]
limit: Int
offset: Int
order_by: [Stream_order_by!]
where: Stream_bool_exp
): [Stream!]!
streams_aggregate(
distinct_on: [Stream_select_column!]
limit: Int
offset: Int
order_by: [Stream_order_by!]
where: Stream_bool_exp
): Stream_aggregate!
timestamp: numeric
}
```
### Fields
#### [Batch.batcher
](#)[Batcher
](/docs/api/lockup/graphql/envio/objects/batcher.mdx)
An object relationship
#### [Batch.batcher_id
](#)[String
](/docs/api/lockup/graphql/envio/scalars/string.mdx)
#### [Batch.db_write_timestamp
](#)[timestamp
](/docs/api/lockup/graphql/envio/scalars/timestamp.mdx)
#### [Batch.hash
](#)[String
](/docs/api/lockup/graphql/envio/scalars/string.mdx)
#### [Batch.id
](#)[String!
](/docs/api/lockup/graphql/envio/scalars/string.mdx)
#### [Batch.position
](#)[numeric
](/docs/api/lockup/graphql/envio/scalars/numeric.mdx)
#### [Batch.size
](#)[numeric!
](/docs/api/lockup/graphql/envio/scalars/numeric.mdx)
#### [Batch.streams
](#)[[Stream!]!
](/docs/api/lockup/graphql/envio/objects/stream.mdx)
An array relationship
##### [Batch.streams.distinct_on
](#)[[Stream_select_column!]
](/docs/api/lockup/graphql/envio/enums/stream-select-column.mdx)
distinct select on columns
##### [Batch.streams.limit
](#)[Int
](/docs/api/lockup/graphql/envio/scalars/int.mdx)
limit the number of rows returned
##### [Batch.streams.offset
](#)[Int
](/docs/api/lockup/graphql/envio/scalars/int.mdx)
skip the first n rows. Use only with order_by
##### [Batch.streams.order_by
](#)[[Stream_order_by!]
](/docs/api/lockup/graphql/envio/inputs/stream-order-by.mdx)
sort the rows by one or more columns
##### [Batch.streams.where
](#)[Stream_bool_exp
](/docs/api/lockup/graphql/envio/inputs/stream-bool-exp.mdx)
filter the rows returned
#### [Batch.streams_aggregate
](#)[Stream_aggregate!
](/docs/api/lockup/graphql/envio/objects/stream-aggregate.mdx)
An aggregate relationship
##### [Batch.streams_aggregate.distinct_on
](#)[[Stream_select_column!]
](/docs/api/lockup/graphql/envio/enums/stream-select-column.mdx)
distinct select on columns
##### [Batch.streams_aggregate.limit
](#)[Int
](/docs/api/lockup/graphql/envio/scalars/int.mdx)
limit the number of rows returned
##### [Batch.streams_aggregate.offset
](#)[Int
](/docs/api/lockup/graphql/envio/scalars/int.mdx)
skip the first n rows. Use only with order_by
##### [Batch.streams_aggregate.order_by
](#)[[Stream_order_by!]
](/docs/api/lockup/graphql/envio/inputs/stream-order-by.mdx)
sort the rows by one or more columns
##### [Batch.streams_aggregate.where
](#)[Stream_bool_exp
](/docs/api/lockup/graphql/envio/inputs/stream-bool-exp.mdx)
filter the rows returned
#### [Batch.timestamp
](#)[numeric
](/docs/api/lockup/graphql/envio/scalars/numeric.mdx)
---
## Batcher (7)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
columns and relationships of "Batcher"
```graphql
type Batcher {
batchCounter: numeric!
batches(
distinct_on: [Batch_select_column!]
limit: Int
offset: Int
order_by: [Batch_order_by!]
where: Batch_bool_exp
): [Batch!]!
db_write_timestamp: timestamp
id: String!
}
```
### Fields
#### [Batcher.batchCounter
](#)[numeric!
](/docs/api/lockup/graphql/envio/scalars/numeric.mdx)
#### [Batcher.batches
](#)[[Batch!]!
](/docs/api/lockup/graphql/envio/objects/batch.mdx)
An array relationship
##### [Batcher.batches.distinct_on
](#)[[Batch_select_column!]
](/docs/api/lockup/graphql/envio/enums/batch-select-column.mdx)
distinct select on columns
##### [Batcher.batches.limit
](#)[Int
](/docs/api/lockup/graphql/envio/scalars/int.mdx)
limit the number of rows returned
##### [Batcher.batches.offset
](#)[Int
](/docs/api/lockup/graphql/envio/scalars/int.mdx)
skip the first n rows. Use only with order_by
##### [Batcher.batches.order_by
](#)[[Batch_order_by!]
](/docs/api/lockup/graphql/envio/inputs/batch-order-by.mdx)
sort the rows by one or more columns
##### [Batcher.batches.where
](#)[Batch_bool_exp
](/docs/api/lockup/graphql/envio/inputs/batch-bool-exp.mdx)
filter the rows returned
#### [Batcher.db_write_timestamp
](#)[timestamp
](/docs/api/lockup/graphql/envio/scalars/timestamp.mdx)
#### [Batcher.id
](#)[String!
](/docs/api/lockup/graphql/envio/scalars/string.mdx)
---
## chain_metadata (5)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
columns and relationships of "chain_metadata"
```graphql
type chain_metadata {
block_height: Int!
chain_id: Int!
end_block: Int
first_event_block_number: Int
is_hyper_sync: Boolean!
latest_fetched_block_number: Int!
latest_processed_block: Int
num_batches_fetched: Int!
num_events_processed: Int
start_block: Int!
timestamp_caught_up_to_head_or_endblock: timestamptz
}
```
### Fields
#### [chain_metadata.block_height
](#)[Int!
](/docs/api/lockup/graphql/envio/scalars/int.mdx)
#### [chain_metadata.chain_id
](#)[Int!
](/docs/api/lockup/graphql/envio/scalars/int.mdx)
#### [chain_metadata.end_block
](#)[Int
](/docs/api/lockup/graphql/envio/scalars/int.mdx)
#### [chain_metadata.first_event_block_number
](#)[Int
](/docs/api/lockup/graphql/envio/scalars/int.mdx)
#### [chain_metadata.is_hyper_sync
](#)[Boolean!
](/docs/api/lockup/graphql/envio/scalars/boolean.mdx)
#### [chain_metadata.latest_fetched_block_number
](#)[Int!
](/docs/api/lockup/graphql/envio/scalars/int.mdx)
#### [chain_metadata.latest_processed_block
](#)[Int
](/docs/api/lockup/graphql/envio/scalars/int.mdx)
#### [chain_metadata.num_batches_fetched
](#)[Int!
](/docs/api/lockup/graphql/envio/scalars/int.mdx)
#### [chain_metadata.num_events_processed
](#)[Int
](/docs/api/lockup/graphql/envio/scalars/int.mdx)
#### [chain_metadata.start_block
](#)[Int!
](/docs/api/lockup/graphql/envio/scalars/int.mdx)
#### [chain_metadata.timestamp_caught_up_to_head_or_endblock
](#)[timestamptz
](/docs/api/lockup/graphql/envio/scalars/timestamptz.mdx)
---
## Contract (3)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
columns and relationships of "Contract"
```graphql
type Contract {
actions(
distinct_on: [Action_select_column!]
limit: Int
offset: Int
order_by: [Action_order_by!]
where: Action_bool_exp
): [Action!]!
address: String!
admin: String
alias: String!
category: contractcategory!
chainId: numeric!
db_write_timestamp: timestamp
id: String!
streams(
distinct_on: [Stream_select_column!]
limit: Int
offset: Int
order_by: [Stream_order_by!]
where: Stream_bool_exp
): [Stream!]!
version: String!
}
```
### Fields
#### [Contract.actions
](#)[[Action!]!
](/docs/api/lockup/graphql/envio/objects/action.mdx)
An array relationship
##### [Contract.actions.distinct_on
](#)[[Action_select_column!]
](/docs/api/lockup/graphql/envio/enums/action-select-column.mdx)
distinct select on columns
##### [Contract.actions.limit
](#)[Int
](/docs/api/lockup/graphql/envio/scalars/int.mdx)
limit the number of rows returned
##### [Contract.actions.offset
](#)[Int
](/docs/api/lockup/graphql/envio/scalars/int.mdx)
skip the first n rows. Use only with order_by
##### [Contract.actions.order_by
](#)[[Action_order_by!]
](/docs/api/lockup/graphql/envio/inputs/action-order-by.mdx)
sort the rows by one or more columns
##### [Contract.actions.where
](#)[Action_bool_exp
](/docs/api/lockup/graphql/envio/inputs/action-bool-exp.mdx)
filter the rows returned
#### [Contract.address
](#)[String!
](/docs/api/lockup/graphql/envio/scalars/string.mdx)
#### [Contract.admin
](#)[String
](/docs/api/lockup/graphql/envio/scalars/string.mdx)
#### [Contract.alias
](#)[String!
](/docs/api/lockup/graphql/envio/scalars/string.mdx)
#### [Contract.category
](#)[contractcategory!
](/docs/api/lockup/graphql/envio/scalars/contractcategory.mdx)
#### [Contract.chainId
](#)[numeric!
](/docs/api/lockup/graphql/envio/scalars/numeric.mdx)
#### [Contract.db_write_timestamp
](#)[timestamp
](/docs/api/lockup/graphql/envio/scalars/timestamp.mdx)
#### [Contract.id
](#)[String!
](/docs/api/lockup/graphql/envio/scalars/string.mdx)
#### [Contract.streams
](#)[[Stream!]!
](/docs/api/lockup/graphql/envio/objects/stream.mdx)
An array relationship
##### [Contract.streams.distinct_on
](#)[[Stream_select_column!]
](/docs/api/lockup/graphql/envio/enums/stream-select-column.mdx)
distinct select on columns
##### [Contract.streams.limit
](#)[Int
](/docs/api/lockup/graphql/envio/scalars/int.mdx)
limit the number of rows returned
##### [Contract.streams.offset
](#)[Int
](/docs/api/lockup/graphql/envio/scalars/int.mdx)
skip the first n rows. Use only with order_by
##### [Contract.streams.order_by
](#)[[Stream_order_by!]
](/docs/api/lockup/graphql/envio/inputs/stream-order-by.mdx)
sort the rows by one or more columns
##### [Contract.streams.where
](#)[Stream_bool_exp
](/docs/api/lockup/graphql/envio/inputs/stream-bool-exp.mdx)
filter the rows returned
#### [Contract.version
](#)[String!
](/docs/api/lockup/graphql/envio/scalars/string.mdx)
---
## dynamic_contract_registry (5)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
columns and relationships of "dynamic_contract_registry"
```graphql
type dynamic_contract_registry {
chain_id: Int!
contract_address: String!
contract_type: contract_type!
id: String!
registering_event_block_number: Int!
registering_event_block_timestamp: Int!
registering_event_contract_name: String!
registering_event_log_index: Int!
registering_event_name: String!
registering_event_src_address: String!
}
```
### Fields
#### [dynamic_contract_registry.chain_id
](#)[Int!
](/docs/api/lockup/graphql/envio/scalars/int.mdx)
#### [dynamic_contract_registry.contract_address
](#)[String!
](/docs/api/lockup/graphql/envio/scalars/string.mdx)
#### [dynamic_contract_registry.contract_type
](#)[contract_type!
](/docs/api/lockup/graphql/envio/scalars/contract-type.mdx)
#### [dynamic_contract_registry.id
](#)[String!
](/docs/api/lockup/graphql/envio/scalars/string.mdx)
#### [dynamic_contract_registry.registering_event_block_number
](#)[Int!
](/docs/api/lockup/graphql/envio/scalars/int.mdx)
#### [dynamic_contract_registry.registering_event_block_timestamp
](#)[Int!
](/docs/api/lockup/graphql/envio/scalars/int.mdx)
#### [dynamic_contract_registry.registering_event_contract_name
](#)[String!
](/docs/api/lockup/graphql/envio/scalars/string.mdx)
#### [dynamic_contract_registry.registering_event_log_index
](#)[Int!
](/docs/api/lockup/graphql/envio/scalars/int.mdx)
#### [dynamic_contract_registry.registering_event_name
](#)[String!
](/docs/api/lockup/graphql/envio/scalars/string.mdx)
#### [dynamic_contract_registry.registering_event_src_address
](#)[String!
](/docs/api/lockup/graphql/envio/scalars/string.mdx)
---
## end_of_block_range_scanned_data (5)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
columns and relationships of "end_of_block_range_scanned_data"
```graphql
type end_of_block_range_scanned_data {
block_hash: String!
block_number: Int!
chain_id: Int!
}
```
### Fields
#### [end_of_block_range_scanned_data.block_hash
](#)[String!
](/docs/api/lockup/graphql/envio/scalars/string.mdx)
#### [end_of_block_range_scanned_data.block_number
](#)[Int!
](/docs/api/lockup/graphql/envio/scalars/int.mdx)
#### [end_of_block_range_scanned_data.chain_id
](#)[Int!
](/docs/api/lockup/graphql/envio/scalars/int.mdx)
---
## event_sync_state (5)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
columns and relationships of "event_sync_state"
```graphql
type event_sync_state {
block_number: Int!
block_timestamp: Int!
chain_id: Int!
is_pre_registering_dynamic_contracts: Boolean
log_index: Int!
}
```
### Fields
#### [event_sync_state.block_number
](#)[Int!
](/docs/api/lockup/graphql/envio/scalars/int.mdx)
#### [event_sync_state.block_timestamp
](#)[Int!
](/docs/api/lockup/graphql/envio/scalars/int.mdx)
#### [event_sync_state.chain_id
](#)[Int!
](/docs/api/lockup/graphql/envio/scalars/int.mdx)
#### [event_sync_state.is_pre_registering_dynamic_contracts
](#)[Boolean
](/docs/api/lockup/graphql/envio/scalars/boolean.mdx)
#### [event_sync_state.log_index
](#)[Int!
](/docs/api/lockup/graphql/envio/scalars/int.mdx)
---
## persisted_state (5)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
columns and relationships of "persisted_state"
```graphql
type persisted_state {
abi_files_hash: String!
config_hash: String!
envio_version: String!
handler_files_hash: String!
id: Int!
schema_hash: String!
}
```
### Fields
#### [persisted_state.abi_files_hash
](#)[String!
](/docs/api/lockup/graphql/envio/scalars/string.mdx)
#### [persisted_state.config_hash
](#)[String!
](/docs/api/lockup/graphql/envio/scalars/string.mdx)
#### [persisted_state.envio_version
](#)[String!
](/docs/api/lockup/graphql/envio/scalars/string.mdx)
#### [persisted_state.handler_files_hash
](#)[String!
](/docs/api/lockup/graphql/envio/scalars/string.mdx)
#### [persisted_state.id
](#)[Int!
](/docs/api/lockup/graphql/envio/scalars/int.mdx)
#### [persisted_state.schema_hash
](#)[String!
](/docs/api/lockup/graphql/envio/scalars/string.mdx)
---
## raw_events (5)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
columns and relationships of "raw_events"
```graphql
type raw_events {
block_fields(path: String): jsonb!
block_hash: String!
block_number: Int!
block_timestamp: Int!
chain_id: Int!
contract_name: String!
db_write_timestamp: timestamp
event_id: numeric!
event_name: String!
log_index: Int!
params(path: String): jsonb!
serial: Int!
src_address: String!
transaction_fields(path: String): jsonb!
}
```
### Fields
#### [raw_events.block_fields
](#)[jsonb!
](/docs/api/lockup/graphql/envio/scalars/jsonb.mdx)
##### [raw_events.block_fields.path
](#)[String
](/docs/api/lockup/graphql/envio/scalars/string.mdx)
JSON select path
#### [raw_events.block_hash
](#)[String!
](/docs/api/lockup/graphql/envio/scalars/string.mdx)
#### [raw_events.block_number
](#)[Int!
](/docs/api/lockup/graphql/envio/scalars/int.mdx)
#### [raw_events.block_timestamp
](#)[Int!
](/docs/api/lockup/graphql/envio/scalars/int.mdx)
#### [raw_events.chain_id
](#)[Int!
](/docs/api/lockup/graphql/envio/scalars/int.mdx)
#### [raw_events.contract_name
](#)[String!
](/docs/api/lockup/graphql/envio/scalars/string.mdx)
#### [raw_events.db_write_timestamp
](#)[timestamp
](/docs/api/lockup/graphql/envio/scalars/timestamp.mdx)
#### [raw_events.event_id
](#)[numeric!
](/docs/api/lockup/graphql/envio/scalars/numeric.mdx)
#### [raw_events.event_name
](#)[String!
](/docs/api/lockup/graphql/envio/scalars/string.mdx)
#### [raw_events.log_index
](#)[Int!
](/docs/api/lockup/graphql/envio/scalars/int.mdx)
#### [raw_events.params
](#)[jsonb!
](/docs/api/lockup/graphql/envio/scalars/jsonb.mdx)
##### [raw_events.params.path
](#)[String
](/docs/api/lockup/graphql/envio/scalars/string.mdx)
JSON select path
#### [raw_events.serial
](#)[Int!
](/docs/api/lockup/graphql/envio/scalars/int.mdx)
#### [raw_events.src_address
](#)[String!
](/docs/api/lockup/graphql/envio/scalars/string.mdx)
#### [raw_events.transaction_fields
](#)[jsonb!
](/docs/api/lockup/graphql/envio/scalars/jsonb.mdx)
##### [raw_events.transaction_fields.path
](#)[String
](/docs/api/lockup/graphql/envio/scalars/string.mdx)
JSON select path
---
## Revenue_aggregate_fields (3)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
aggregate fields of "Revenue"
```graphql
type Revenue_aggregate_fields {
avg: Revenue_avg_fields
count(columns: [Revenue_select_column!], distinct: Boolean): Int!
max: Revenue_max_fields
min: Revenue_min_fields
stddev: Revenue_stddev_fields
stddev_pop: Revenue_stddev_pop_fields
stddev_samp: Revenue_stddev_samp_fields
sum: Revenue_sum_fields
var_pop: Revenue_var_pop_fields
var_samp: Revenue_var_samp_fields
variance: Revenue_variance_fields
}
```
### Fields
#### [Revenue_aggregate_fields.avg
](#)[Revenue_avg_fields
](/docs/api/lockup/graphql/envio/objects/revenue-avg-fields.mdx)
#### [Revenue_aggregate_fields.count
](#)[Int!
](/docs/api/lockup/graphql/envio/scalars/int.mdx)
##### [Revenue_aggregate_fields.count.columns
](#)[[Revenue_select_column!]
](/docs/api/lockup/graphql/envio/enums/revenue-select-column.mdx)
##### [Revenue_aggregate_fields.count.distinct
](#)[Boolean
](/docs/api/lockup/graphql/envio/scalars/boolean.mdx)
#### [Revenue_aggregate_fields.max
](#)[Revenue_max_fields
](/docs/api/lockup/graphql/envio/objects/revenue-max-fields.mdx)
#### [Revenue_aggregate_fields.min
](#)[Revenue_min_fields
](/docs/api/lockup/graphql/envio/objects/revenue-min-fields.mdx)
#### [Revenue_aggregate_fields.stddev
](#)[Revenue_stddev_fields
](/docs/api/lockup/graphql/envio/objects/revenue-stddev-fields.mdx)
#### [Revenue_aggregate_fields.stddev_pop
](#)[Revenue_stddev_pop_fields
](/docs/api/lockup/graphql/envio/objects/revenue-stddev-pop-fields.mdx)
#### [Revenue_aggregate_fields.stddev_samp
](#)[Revenue_stddev_samp_fields
](/docs/api/lockup/graphql/envio/objects/revenue-stddev-samp-fields.mdx)
#### [Revenue_aggregate_fields.sum
](#)[Revenue_sum_fields
](/docs/api/lockup/graphql/envio/objects/revenue-sum-fields.mdx)
#### [Revenue_aggregate_fields.var_pop
](#)[Revenue_var_pop_fields
](/docs/api/lockup/graphql/envio/objects/revenue-var-pop-fields.mdx)
#### [Revenue_aggregate_fields.var_samp
](#)[Revenue_var_samp_fields
](/docs/api/lockup/graphql/envio/objects/revenue-var-samp-fields.mdx)
#### [Revenue_aggregate_fields.variance
](#)[Revenue_variance_fields
](/docs/api/lockup/graphql/envio/objects/revenue-variance-fields.mdx)
---
## Revenue_aggregate (5)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
aggregated selection of "Revenue"
```graphql
type Revenue_aggregate {
aggregate: Revenue_aggregate_fields
nodes: [Revenue!]!
}
```
### Fields
#### [Revenue_aggregate.aggregate
](#)[Revenue_aggregate_fields
](/docs/api/lockup/graphql/envio/objects/revenue-aggregate-fields.mdx)
#### [Revenue_aggregate.nodes
](#)[[Revenue!]!
](/docs/api/lockup/graphql/envio/objects/revenue.mdx)
---
## Revenue_avg_fields (3)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
aggregate avg on columns
```graphql
type Revenue_avg_fields {
amount: Float
chainId: Float
}
```
### Fields
#### [Revenue_avg_fields.amount
](#)[Float
](/docs/api/lockup/graphql/envio/scalars/float.mdx)
#### [Revenue_avg_fields.chainId
](#)[Float
](/docs/api/lockup/graphql/envio/scalars/float.mdx)
---
## Revenue_max_fields (3)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
aggregate max on columns
```graphql
type Revenue_max_fields {
amount: float8
chainId: numeric
currency: String
date: String
dateTimestamp: timestamptz
db_write_timestamp: timestamp
id: String
}
```
### Fields
#### [Revenue_max_fields.amount
](#)[float8
](/docs/api/lockup/graphql/envio/scalars/float-8.mdx)
#### [Revenue_max_fields.chainId
](#)[numeric
](/docs/api/lockup/graphql/envio/scalars/numeric.mdx)
#### [Revenue_max_fields.currency
](#)[String
](/docs/api/lockup/graphql/envio/scalars/string.mdx)
#### [Revenue_max_fields.date
](#)[String
](/docs/api/lockup/graphql/envio/scalars/string.mdx)
#### [Revenue_max_fields.dateTimestamp
](#)[timestamptz
](/docs/api/lockup/graphql/envio/scalars/timestamptz.mdx)
#### [Revenue_max_fields.db_write_timestamp
](#)[timestamp
](/docs/api/lockup/graphql/envio/scalars/timestamp.mdx)
#### [Revenue_max_fields.id
](#)[String
](/docs/api/lockup/graphql/envio/scalars/string.mdx)
---
## Revenue_min_fields (3)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
aggregate min on columns
```graphql
type Revenue_min_fields {
amount: float8
chainId: numeric
currency: String
date: String
dateTimestamp: timestamptz
db_write_timestamp: timestamp
id: String
}
```
### Fields
#### [Revenue_min_fields.amount
](#)[float8
](/docs/api/lockup/graphql/envio/scalars/float-8.mdx)
#### [Revenue_min_fields.chainId
](#)[numeric
](/docs/api/lockup/graphql/envio/scalars/numeric.mdx)
#### [Revenue_min_fields.currency
](#)[String
](/docs/api/lockup/graphql/envio/scalars/string.mdx)
#### [Revenue_min_fields.date
](#)[String
](/docs/api/lockup/graphql/envio/scalars/string.mdx)
#### [Revenue_min_fields.dateTimestamp
](#)[timestamptz
](/docs/api/lockup/graphql/envio/scalars/timestamptz.mdx)
#### [Revenue_min_fields.db_write_timestamp
](#)[timestamp
](/docs/api/lockup/graphql/envio/scalars/timestamp.mdx)
#### [Revenue_min_fields.id
](#)[String
](/docs/api/lockup/graphql/envio/scalars/string.mdx)
---
## Revenue_stddev_fields (3)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
aggregate stddev on columns
```graphql
type Revenue_stddev_fields {
amount: Float
chainId: Float
}
```
### Fields
#### [Revenue_stddev_fields.amount
](#)[Float
](/docs/api/lockup/graphql/envio/scalars/float.mdx)
#### [Revenue_stddev_fields.chainId
](#)[Float
](/docs/api/lockup/graphql/envio/scalars/float.mdx)
---
## Revenue_stddev_pop_fields (3)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
aggregate stddev_pop on columns
```graphql
type Revenue_stddev_pop_fields {
amount: Float
chainId: Float
}
```
### Fields
#### [Revenue_stddev_pop_fields.amount
](#)[Float
](/docs/api/lockup/graphql/envio/scalars/float.mdx)
#### [Revenue_stddev_pop_fields.chainId
](#)[Float
](/docs/api/lockup/graphql/envio/scalars/float.mdx)
---
## Revenue_stddev_samp_fields (3)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
aggregate stddev_samp on columns
```graphql
type Revenue_stddev_samp_fields {
amount: Float
chainId: Float
}
```
### Fields
#### [Revenue_stddev_samp_fields.amount
](#)[Float
](/docs/api/lockup/graphql/envio/scalars/float.mdx)
#### [Revenue_stddev_samp_fields.chainId
](#)[Float
](/docs/api/lockup/graphql/envio/scalars/float.mdx)
---
## Revenue_sum_fields (3)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
aggregate sum on columns
```graphql
type Revenue_sum_fields {
amount: float8
chainId: numeric
}
```
### Fields
#### [Revenue_sum_fields.amount
](#)[float8
](/docs/api/lockup/graphql/envio/scalars/float-8.mdx)
#### [Revenue_sum_fields.chainId
](#)[numeric
](/docs/api/lockup/graphql/envio/scalars/numeric.mdx)
---
## RevenueTransaction_aggregate_fields (3)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
aggregate fields of "RevenueTransaction"
```graphql
type RevenueTransaction_aggregate_fields {
avg: RevenueTransaction_avg_fields
count(columns: [RevenueTransaction_select_column!], distinct: Boolean): Int!
max: RevenueTransaction_max_fields
min: RevenueTransaction_min_fields
stddev: RevenueTransaction_stddev_fields
stddev_pop: RevenueTransaction_stddev_pop_fields
stddev_samp: RevenueTransaction_stddev_samp_fields
sum: RevenueTransaction_sum_fields
var_pop: RevenueTransaction_var_pop_fields
var_samp: RevenueTransaction_var_samp_fields
variance: RevenueTransaction_variance_fields
}
```
### Fields
#### [RevenueTransaction_aggregate_fields.avg
](#)[RevenueTransaction_avg_fields
](/docs/api/lockup/graphql/envio/objects/revenue-transaction-avg-fields.mdx)
#### [RevenueTransaction_aggregate_fields.count
](#)[Int!
](/docs/api/lockup/graphql/envio/scalars/int.mdx)
##### [RevenueTransaction_aggregate_fields.count.columns
](#)[[RevenueTransaction_select_column!]
](/docs/api/lockup/graphql/envio/enums/revenue-transaction-select-column.mdx)
##### [RevenueTransaction_aggregate_fields.count.distinct
](#)[Boolean
](/docs/api/lockup/graphql/envio/scalars/boolean.mdx)
#### [RevenueTransaction_aggregate_fields.max
](#)[RevenueTransaction_max_fields
](/docs/api/lockup/graphql/envio/objects/revenue-transaction-max-fields.mdx)
#### [RevenueTransaction_aggregate_fields.min
](#)[RevenueTransaction_min_fields
](/docs/api/lockup/graphql/envio/objects/revenue-transaction-min-fields.mdx)
#### [RevenueTransaction_aggregate_fields.stddev
](#)[RevenueTransaction_stddev_fields
](/docs/api/lockup/graphql/envio/objects/revenue-transaction-stddev-fields.mdx)
#### [RevenueTransaction_aggregate_fields.stddev_pop
](#)[RevenueTransaction_stddev_pop_fields
](/docs/api/lockup/graphql/envio/objects/revenue-transaction-stddev-pop-fields.mdx)
#### [RevenueTransaction_aggregate_fields.stddev_samp
](#)[RevenueTransaction_stddev_samp_fields
](/docs/api/lockup/graphql/envio/objects/revenue-transaction-stddev-samp-fields.mdx)
#### [RevenueTransaction_aggregate_fields.sum
](#)[RevenueTransaction_sum_fields
](/docs/api/lockup/graphql/envio/objects/revenue-transaction-sum-fields.mdx)
#### [RevenueTransaction_aggregate_fields.var_pop
](#)[RevenueTransaction_var_pop_fields
](/docs/api/lockup/graphql/envio/objects/revenue-transaction-var-pop-fields.mdx)
#### [RevenueTransaction_aggregate_fields.var_samp
](#)[RevenueTransaction_var_samp_fields
](/docs/api/lockup/graphql/envio/objects/revenue-transaction-var-samp-fields.mdx)
#### [RevenueTransaction_aggregate_fields.variance
](#)[RevenueTransaction_variance_fields
](/docs/api/lockup/graphql/envio/objects/revenue-transaction-variance-fields.mdx)
---
## RevenueTransaction_aggregate (5)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
aggregated selection of "RevenueTransaction"
```graphql
type RevenueTransaction_aggregate {
aggregate: RevenueTransaction_aggregate_fields
nodes: [RevenueTransaction!]!
}
```
### Fields
#### [RevenueTransaction_aggregate.aggregate
](#)[RevenueTransaction_aggregate_fields
](/docs/api/lockup/graphql/envio/objects/revenue-transaction-aggregate-fields.mdx)
#### [RevenueTransaction_aggregate.nodes
](#)[[RevenueTransaction!]!
](/docs/api/lockup/graphql/envio/objects/revenue-transaction.mdx)
---
## RevenueTransaction_avg_fields (3)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
aggregate avg on columns
```graphql
type RevenueTransaction_avg_fields {
amount: Float
block: Float
timestamp: Float
}
```
### Fields
#### [RevenueTransaction_avg_fields.amount
](#)[Float
](/docs/api/lockup/graphql/envio/scalars/float.mdx)
#### [RevenueTransaction_avg_fields.block
](#)[Float
](/docs/api/lockup/graphql/envio/scalars/float.mdx)
#### [RevenueTransaction_avg_fields.timestamp
](#)[Float
](/docs/api/lockup/graphql/envio/scalars/float.mdx)
---
## RevenueTransaction_max_fields (3)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
aggregate max on columns
```graphql
type RevenueTransaction_max_fields {
amount: float8
block: numeric
db_write_timestamp: timestamp
hash: String
id: String
revenue_id: String
timestamp: numeric
}
```
### Fields
#### [RevenueTransaction_max_fields.amount
](#)[float8
](/docs/api/lockup/graphql/envio/scalars/float-8.mdx)
#### [RevenueTransaction_max_fields.block
](#)[numeric
](/docs/api/lockup/graphql/envio/scalars/numeric.mdx)
#### [RevenueTransaction_max_fields.db_write_timestamp
](#)[timestamp
](/docs/api/lockup/graphql/envio/scalars/timestamp.mdx)
#### [RevenueTransaction_max_fields.hash
](#)[String
](/docs/api/lockup/graphql/envio/scalars/string.mdx)
#### [RevenueTransaction_max_fields.id
](#)[String
](/docs/api/lockup/graphql/envio/scalars/string.mdx)
#### [RevenueTransaction_max_fields.revenue_id
](#)[String
](/docs/api/lockup/graphql/envio/scalars/string.mdx)
#### [RevenueTransaction_max_fields.timestamp
](#)[numeric
](/docs/api/lockup/graphql/envio/scalars/numeric.mdx)
---
## RevenueTransaction_min_fields (3)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
aggregate min on columns
```graphql
type RevenueTransaction_min_fields {
amount: float8
block: numeric
db_write_timestamp: timestamp
hash: String
id: String
revenue_id: String
timestamp: numeric
}
```
### Fields
#### [RevenueTransaction_min_fields.amount
](#)[float8
](/docs/api/lockup/graphql/envio/scalars/float-8.mdx)
#### [RevenueTransaction_min_fields.block
](#)[numeric
](/docs/api/lockup/graphql/envio/scalars/numeric.mdx)
#### [RevenueTransaction_min_fields.db_write_timestamp
](#)[timestamp
](/docs/api/lockup/graphql/envio/scalars/timestamp.mdx)
#### [RevenueTransaction_min_fields.hash
](#)[String
](/docs/api/lockup/graphql/envio/scalars/string.mdx)
#### [RevenueTransaction_min_fields.id
](#)[String
](/docs/api/lockup/graphql/envio/scalars/string.mdx)
#### [RevenueTransaction_min_fields.revenue_id
](#)[String
](/docs/api/lockup/graphql/envio/scalars/string.mdx)
#### [RevenueTransaction_min_fields.timestamp
](#)[numeric
](/docs/api/lockup/graphql/envio/scalars/numeric.mdx)
---
## RevenueTransaction_stddev_fields (3)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
aggregate stddev on columns
```graphql
type RevenueTransaction_stddev_fields {
amount: Float
block: Float
timestamp: Float
}
```
### Fields
#### [RevenueTransaction_stddev_fields.amount
](#)[Float
](/docs/api/lockup/graphql/envio/scalars/float.mdx)
#### [RevenueTransaction_stddev_fields.block
](#)[Float
](/docs/api/lockup/graphql/envio/scalars/float.mdx)
#### [RevenueTransaction_stddev_fields.timestamp
](#)[Float
](/docs/api/lockup/graphql/envio/scalars/float.mdx)
---
## RevenueTransaction_stddev_pop_fields (3)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
aggregate stddev_pop on columns
```graphql
type RevenueTransaction_stddev_pop_fields {
amount: Float
block: Float
timestamp: Float
}
```
### Fields
#### [RevenueTransaction_stddev_pop_fields.amount
](#)[Float
](/docs/api/lockup/graphql/envio/scalars/float.mdx)
#### [RevenueTransaction_stddev_pop_fields.block
](#)[Float
](/docs/api/lockup/graphql/envio/scalars/float.mdx)
#### [RevenueTransaction_stddev_pop_fields.timestamp
](#)[Float
](/docs/api/lockup/graphql/envio/scalars/float.mdx)
---
## RevenueTransaction_stddev_samp_fields (3)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
aggregate stddev_samp on columns
```graphql
type RevenueTransaction_stddev_samp_fields {
amount: Float
block: Float
timestamp: Float
}
```
### Fields
#### [RevenueTransaction_stddev_samp_fields.amount
](#)[Float
](/docs/api/lockup/graphql/envio/scalars/float.mdx)
#### [RevenueTransaction_stddev_samp_fields.block
](#)[Float
](/docs/api/lockup/graphql/envio/scalars/float.mdx)
#### [RevenueTransaction_stddev_samp_fields.timestamp
](#)[Float
](/docs/api/lockup/graphql/envio/scalars/float.mdx)
---
## RevenueTransaction_sum_fields (3)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
aggregate sum on columns
```graphql
type RevenueTransaction_sum_fields {
amount: float8
block: numeric
timestamp: numeric
}
```
### Fields
#### [RevenueTransaction_sum_fields.amount
](#)[float8
](/docs/api/lockup/graphql/envio/scalars/float-8.mdx)
#### [RevenueTransaction_sum_fields.block
](#)[numeric
](/docs/api/lockup/graphql/envio/scalars/numeric.mdx)
#### [RevenueTransaction_sum_fields.timestamp
](#)[numeric
](/docs/api/lockup/graphql/envio/scalars/numeric.mdx)
---
## RevenueTransaction_var_pop_fields (3)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
aggregate var_pop on columns
```graphql
type RevenueTransaction_var_pop_fields {
amount: Float
block: Float
timestamp: Float
}
```
### Fields
#### [RevenueTransaction_var_pop_fields.amount
](#)[Float
](/docs/api/lockup/graphql/envio/scalars/float.mdx)
#### [RevenueTransaction_var_pop_fields.block
](#)[Float
](/docs/api/lockup/graphql/envio/scalars/float.mdx)
#### [RevenueTransaction_var_pop_fields.timestamp
](#)[Float
](/docs/api/lockup/graphql/envio/scalars/float.mdx)
---
## RevenueTransaction_var_samp_fields (3)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
aggregate var_samp on columns
```graphql
type RevenueTransaction_var_samp_fields {
amount: Float
block: Float
timestamp: Float
}
```
### Fields
#### [RevenueTransaction_var_samp_fields.amount
](#)[Float
](/docs/api/lockup/graphql/envio/scalars/float.mdx)
#### [RevenueTransaction_var_samp_fields.block
](#)[Float
](/docs/api/lockup/graphql/envio/scalars/float.mdx)
#### [RevenueTransaction_var_samp_fields.timestamp
](#)[Float
](/docs/api/lockup/graphql/envio/scalars/float.mdx)
---
## RevenueTransaction_variance_fields (3)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
aggregate variance on columns
```graphql
type RevenueTransaction_variance_fields {
amount: Float
block: Float
timestamp: Float
}
```
### Fields
#### [RevenueTransaction_variance_fields.amount
](#)[Float
](/docs/api/lockup/graphql/envio/scalars/float.mdx)
#### [RevenueTransaction_variance_fields.block
](#)[Float
](/docs/api/lockup/graphql/envio/scalars/float.mdx)
#### [RevenueTransaction_variance_fields.timestamp
](#)[Float
](/docs/api/lockup/graphql/envio/scalars/float.mdx)
---
## RevenueTransaction (5)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
columns and relationships of "RevenueTransaction"
```graphql
type RevenueTransaction {
amount: float8!
block: numeric!
db_write_timestamp: timestamp
hash: String!
id: String!
revenue: Revenue
revenue_id: String!
timestamp: numeric!
}
```
### Fields
#### [RevenueTransaction.amount
](#)[float8!
](/docs/api/lockup/graphql/envio/scalars/float-8.mdx)
#### [RevenueTransaction.block
](#)[numeric!
](/docs/api/lockup/graphql/envio/scalars/numeric.mdx)
#### [RevenueTransaction.db_write_timestamp
](#)[timestamp
](/docs/api/lockup/graphql/envio/scalars/timestamp.mdx)
#### [RevenueTransaction.hash
](#)[String!
](/docs/api/lockup/graphql/envio/scalars/string.mdx)
#### [RevenueTransaction.id
](#)[String!
](/docs/api/lockup/graphql/envio/scalars/string.mdx)
#### [RevenueTransaction.revenue
](#)[Revenue
](/docs/api/lockup/graphql/envio/objects/revenue.mdx)
An object relationship
#### [RevenueTransaction.revenue_id
](#)[String!
](/docs/api/lockup/graphql/envio/scalars/string.mdx)
#### [RevenueTransaction.timestamp
](#)[numeric!
](/docs/api/lockup/graphql/envio/scalars/numeric.mdx)
---
## Revenue_var_pop_fields (3)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
aggregate var_pop on columns
```graphql
type Revenue_var_pop_fields {
amount: Float
chainId: Float
}
```
### Fields
#### [Revenue_var_pop_fields.amount
](#)[Float
](/docs/api/lockup/graphql/envio/scalars/float.mdx)
#### [Revenue_var_pop_fields.chainId
](#)[Float
](/docs/api/lockup/graphql/envio/scalars/float.mdx)
---
## Revenue_var_samp_fields (3)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
aggregate var_samp on columns
```graphql
type Revenue_var_samp_fields {
amount: Float
chainId: Float
}
```
### Fields
#### [Revenue_var_samp_fields.amount
](#)[Float
](/docs/api/lockup/graphql/envio/scalars/float.mdx)
#### [Revenue_var_samp_fields.chainId
](#)[Float
](/docs/api/lockup/graphql/envio/scalars/float.mdx)
---
## Revenue_variance_fields (3)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
aggregate variance on columns
```graphql
type Revenue_variance_fields {
amount: Float
chainId: Float
}
```
### Fields
#### [Revenue_variance_fields.amount
](#)[Float
](/docs/api/lockup/graphql/envio/scalars/float.mdx)
#### [Revenue_variance_fields.chainId
](#)[Float
](/docs/api/lockup/graphql/envio/scalars/float.mdx)
---
## Revenue (5)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
columns and relationships of "Revenue"
```graphql
type Revenue {
amount: float8!
chainId: numeric!
currency: String!
date: String!
dateTimestamp: timestamptz!
db_write_timestamp: timestamp
id: String!
transactions(
distinct_on: [RevenueTransaction_select_column!]
limit: Int
offset: Int
order_by: [RevenueTransaction_order_by!]
where: RevenueTransaction_bool_exp
): [RevenueTransaction!]!
transactions_aggregate(
distinct_on: [RevenueTransaction_select_column!]
limit: Int
offset: Int
order_by: [RevenueTransaction_order_by!]
where: RevenueTransaction_bool_exp
): RevenueTransaction_aggregate!
}
```
### Fields
#### [Revenue.amount
](#)[float8!
](/docs/api/lockup/graphql/envio/scalars/float-8.mdx)
#### [Revenue.chainId
](#)[numeric!
](/docs/api/lockup/graphql/envio/scalars/numeric.mdx)
#### [Revenue.currency
](#)[String!
](/docs/api/lockup/graphql/envio/scalars/string.mdx)
#### [Revenue.date
](#)[String!
](/docs/api/lockup/graphql/envio/scalars/string.mdx)
#### [Revenue.dateTimestamp
](#)[timestamptz!
](/docs/api/lockup/graphql/envio/scalars/timestamptz.mdx)
#### [Revenue.db_write_timestamp
](#)[timestamp
](/docs/api/lockup/graphql/envio/scalars/timestamp.mdx)
#### [Revenue.id
](#)[String!
](/docs/api/lockup/graphql/envio/scalars/string.mdx)
#### [Revenue.transactions
](#)[[RevenueTransaction!]!
](/docs/api/lockup/graphql/envio/objects/revenue-transaction.mdx)
An array relationship
##### [Revenue.transactions.distinct_on
](#)[[RevenueTransaction_select_column!]
](/docs/api/lockup/graphql/envio/enums/revenue-transaction-select-column.mdx)
distinct select on columns
##### [Revenue.transactions.limit
](#)[Int
](/docs/api/lockup/graphql/envio/scalars/int.mdx)
limit the number of rows returned
##### [Revenue.transactions.offset
](#)[Int
](/docs/api/lockup/graphql/envio/scalars/int.mdx)
skip the first n rows. Use only with order_by
##### [Revenue.transactions.order_by
](#)[[RevenueTransaction_order_by!]
](/docs/api/lockup/graphql/envio/inputs/revenue-transaction-order-by.mdx)
sort the rows by one or more columns
##### [Revenue.transactions.where
](#)[RevenueTransaction_bool_exp
](/docs/api/lockup/graphql/envio/inputs/revenue-transaction-bool-exp.mdx)
filter the rows returned
#### [Revenue.transactions_aggregate
](#)[RevenueTransaction_aggregate!
](/docs/api/lockup/graphql/envio/objects/revenue-transaction-aggregate.mdx)
An aggregate relationship
##### [Revenue.transactions_aggregate.distinct_on
](#)[[RevenueTransaction_select_column!]
](/docs/api/lockup/graphql/envio/enums/revenue-transaction-select-column.mdx)
distinct select on columns
##### [Revenue.transactions_aggregate.limit
](#)[Int
](/docs/api/lockup/graphql/envio/scalars/int.mdx)
limit the number of rows returned
##### [Revenue.transactions_aggregate.offset
](#)[Int
](/docs/api/lockup/graphql/envio/scalars/int.mdx)
skip the first n rows. Use only with order_by
##### [Revenue.transactions_aggregate.order_by
](#)[[RevenueTransaction_order_by!]
](/docs/api/lockup/graphql/envio/inputs/revenue-transaction-order-by.mdx)
sort the rows by one or more columns
##### [Revenue.transactions_aggregate.where
](#)[RevenueTransaction_bool_exp
](/docs/api/lockup/graphql/envio/inputs/revenue-transaction-bool-exp.mdx)
filter the rows returned
---
## Segment
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
columns and relationships of "Segment"
```graphql
type Segment {
amount: numeric!
db_write_timestamp: timestamp
endAmount: numeric!
endTime: numeric!
exponent: numeric!
id: String!
position: numeric!
startAmount: numeric!
startTime: numeric!
stream: Stream
stream_id: String!
}
```
### Fields
#### [Segment.amount
](#)[numeric!
](/docs/api/lockup/graphql/envio/scalars/numeric.mdx)
#### [Segment.db_write_timestamp
](#)[timestamp
](/docs/api/lockup/graphql/envio/scalars/timestamp.mdx)
#### [Segment.endAmount
](#)[numeric!
](/docs/api/lockup/graphql/envio/scalars/numeric.mdx)
#### [Segment.endTime
](#)[numeric!
](/docs/api/lockup/graphql/envio/scalars/numeric.mdx)
#### [Segment.exponent
](#)[numeric!
](/docs/api/lockup/graphql/envio/scalars/numeric.mdx)
#### [Segment.id
](#)[String!
](/docs/api/lockup/graphql/envio/scalars/string.mdx)
#### [Segment.position
](#)[numeric!
](/docs/api/lockup/graphql/envio/scalars/numeric.mdx)
#### [Segment.startAmount
](#)[numeric!
](/docs/api/lockup/graphql/envio/scalars/numeric.mdx)
#### [Segment.startTime
](#)[numeric!
](/docs/api/lockup/graphql/envio/scalars/numeric.mdx)
#### [Segment.stream
](#)[Stream
](/docs/api/lockup/graphql/envio/objects/stream.mdx)
An object relationship
#### [Segment.stream_id
](#)[String!
](/docs/api/lockup/graphql/envio/scalars/string.mdx)
---
## Stream_aggregate_fields (2)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
aggregate fields of "Stream"
```graphql
type Stream_aggregate_fields {
avg: Stream_avg_fields
count(columns: [Stream_select_column!], distinct: Boolean): Int!
max: Stream_max_fields
min: Stream_min_fields
stddev: Stream_stddev_fields
stddev_pop: Stream_stddev_pop_fields
stddev_samp: Stream_stddev_samp_fields
sum: Stream_sum_fields
var_pop: Stream_var_pop_fields
var_samp: Stream_var_samp_fields
variance: Stream_variance_fields
}
```
### Fields
#### [Stream_aggregate_fields.avg
](#)[Stream_avg_fields
](/docs/api/lockup/graphql/envio/objects/stream-avg-fields.mdx)
#### [Stream_aggregate_fields.count
](#)[Int!
](/docs/api/lockup/graphql/envio/scalars/int.mdx)
##### [Stream_aggregate_fields.count.columns
](#)[[Stream_select_column!]
](/docs/api/lockup/graphql/envio/enums/stream-select-column.mdx)
##### [Stream_aggregate_fields.count.distinct
](#)[Boolean
](/docs/api/lockup/graphql/envio/scalars/boolean.mdx)
#### [Stream_aggregate_fields.max
](#)[Stream_max_fields
](/docs/api/lockup/graphql/envio/objects/stream-max-fields.mdx)
#### [Stream_aggregate_fields.min
](#)[Stream_min_fields
](/docs/api/lockup/graphql/envio/objects/stream-min-fields.mdx)
#### [Stream_aggregate_fields.stddev
](#)[Stream_stddev_fields
](/docs/api/lockup/graphql/envio/objects/stream-stddev-fields.mdx)
#### [Stream_aggregate_fields.stddev_pop
](#)[Stream_stddev_pop_fields
](/docs/api/lockup/graphql/envio/objects/stream-stddev-pop-fields.mdx)
#### [Stream_aggregate_fields.stddev_samp
](#)[Stream_stddev_samp_fields
](/docs/api/lockup/graphql/envio/objects/stream-stddev-samp-fields.mdx)
#### [Stream_aggregate_fields.sum
](#)[Stream_sum_fields
](/docs/api/lockup/graphql/envio/objects/stream-sum-fields.mdx)
#### [Stream_aggregate_fields.var_pop
](#)[Stream_var_pop_fields
](/docs/api/lockup/graphql/envio/objects/stream-var-pop-fields.mdx)
#### [Stream_aggregate_fields.var_samp
](#)[Stream_var_samp_fields
](/docs/api/lockup/graphql/envio/objects/stream-var-samp-fields.mdx)
#### [Stream_aggregate_fields.variance
](#)[Stream_variance_fields
](/docs/api/lockup/graphql/envio/objects/stream-variance-fields.mdx)
---
## Stream_aggregate (3)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
aggregated selection of "Stream"
```graphql
type Stream_aggregate {
aggregate: Stream_aggregate_fields
nodes: [Stream!]!
}
```
### Fields
#### [Stream_aggregate.aggregate
](#)[Stream_aggregate_fields
](/docs/api/lockup/graphql/envio/objects/stream-aggregate-fields.mdx)
#### [Stream_aggregate.nodes
](#)[[Stream!]!
](/docs/api/lockup/graphql/envio/objects/stream.mdx)
---
## Stream_avg_fields (2)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
aggregate avg on columns
```graphql
type Stream_avg_fields {
assetDecimalsValue: Float
canceledTime: Float
chainId: Float
cliffAmount: Float
cliffTime: Float
depositAmount: Float
duration: Float
endTime: Float
initialAmount: Float
intactAmount: Float
position: Float
renounceTime: Float
startTime: Float
subgraphId: Float
timestamp: Float
tokenId: Float
withdrawnAmount: Float
}
```
### Fields
#### [Stream_avg_fields.assetDecimalsValue
](#)[Float
](/docs/api/lockup/graphql/envio/scalars/float.mdx)
#### [Stream_avg_fields.canceledTime
](#)[Float
](/docs/api/lockup/graphql/envio/scalars/float.mdx)
#### [Stream_avg_fields.chainId
](#)[Float
](/docs/api/lockup/graphql/envio/scalars/float.mdx)
#### [Stream_avg_fields.cliffAmount
](#)[Float
](/docs/api/lockup/graphql/envio/scalars/float.mdx)
#### [Stream_avg_fields.cliffTime
](#)[Float
](/docs/api/lockup/graphql/envio/scalars/float.mdx)
#### [Stream_avg_fields.depositAmount
](#)[Float
](/docs/api/lockup/graphql/envio/scalars/float.mdx)
#### [Stream_avg_fields.duration
](#)[Float
](/docs/api/lockup/graphql/envio/scalars/float.mdx)
#### [Stream_avg_fields.endTime
](#)[Float
](/docs/api/lockup/graphql/envio/scalars/float.mdx)
#### [Stream_avg_fields.initialAmount
](#)[Float
](/docs/api/lockup/graphql/envio/scalars/float.mdx)
#### [Stream_avg_fields.intactAmount
](#)[Float
](/docs/api/lockup/graphql/envio/scalars/float.mdx)
#### [Stream_avg_fields.position
](#)[Float
](/docs/api/lockup/graphql/envio/scalars/float.mdx)
#### [Stream_avg_fields.renounceTime
](#)[Float
](/docs/api/lockup/graphql/envio/scalars/float.mdx)
#### [Stream_avg_fields.startTime
](#)[Float
](/docs/api/lockup/graphql/envio/scalars/float.mdx)
#### [Stream_avg_fields.subgraphId
](#)[Float
](/docs/api/lockup/graphql/envio/scalars/float.mdx)
#### [Stream_avg_fields.timestamp
](#)[Float
](/docs/api/lockup/graphql/envio/scalars/float.mdx)
#### [Stream_avg_fields.tokenId
](#)[Float
](/docs/api/lockup/graphql/envio/scalars/float.mdx)
#### [Stream_avg_fields.withdrawnAmount
](#)[Float
](/docs/api/lockup/graphql/envio/scalars/float.mdx)
---
## Stream_max_fields (2)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
aggregate max on columns
```graphql
type Stream_max_fields {
alias: String
assetDecimalsValue: numeric
asset_id: String
batch_id: String
canceledAction_id: String
canceledTime: numeric
category: streamcategory
chainId: numeric
cliffAmount: numeric
cliffTime: numeric
contract: String
db_write_timestamp: timestamp
depositAmount: numeric
duration: numeric
endTime: numeric
funder: String
hash: String
id: String
initialAmount: numeric
intactAmount: numeric
position: numeric
proxender: String
recipient: String
renounceAction_id: String
renounceTime: numeric
sender: String
shape: String
startTime: numeric
subgraphId: numeric
timestamp: numeric
tokenId: numeric
version: String
withdrawnAmount: numeric
}
```
### Fields
#### [Stream_max_fields.alias
](#)[String
](/docs/api/lockup/graphql/envio/scalars/string.mdx)
#### [Stream_max_fields.assetDecimalsValue
](#)[numeric
](/docs/api/lockup/graphql/envio/scalars/numeric.mdx)
#### [Stream_max_fields.asset_id
](#)[String
](/docs/api/lockup/graphql/envio/scalars/string.mdx)
#### [Stream_max_fields.batch_id
](#)[String
](/docs/api/lockup/graphql/envio/scalars/string.mdx)
#### [Stream_max_fields.canceledAction_id
](#)[String
](/docs/api/lockup/graphql/envio/scalars/string.mdx)
#### [Stream_max_fields.canceledTime
](#)[numeric
](/docs/api/lockup/graphql/envio/scalars/numeric.mdx)
#### [Stream_max_fields.category
](#)[streamcategory
](/docs/api/lockup/graphql/envio/scalars/streamcategory.mdx)
#### [Stream_max_fields.chainId
](#)[numeric
](/docs/api/lockup/graphql/envio/scalars/numeric.mdx)
#### [Stream_max_fields.cliffAmount
](#)[numeric
](/docs/api/lockup/graphql/envio/scalars/numeric.mdx)
#### [Stream_max_fields.cliffTime
](#)[numeric
](/docs/api/lockup/graphql/envio/scalars/numeric.mdx)
#### [Stream_max_fields.contract
](#)[String
](/docs/api/lockup/graphql/envio/scalars/string.mdx)
#### [Stream_max_fields.db_write_timestamp
](#)[timestamp
](/docs/api/lockup/graphql/envio/scalars/timestamp.mdx)
#### [Stream_max_fields.depositAmount
](#)[numeric
](/docs/api/lockup/graphql/envio/scalars/numeric.mdx)
#### [Stream_max_fields.duration
](#)[numeric
](/docs/api/lockup/graphql/envio/scalars/numeric.mdx)
#### [Stream_max_fields.endTime
](#)[numeric
](/docs/api/lockup/graphql/envio/scalars/numeric.mdx)
#### [Stream_max_fields.funder
](#)[String
](/docs/api/lockup/graphql/envio/scalars/string.mdx)
#### [Stream_max_fields.hash
](#)[String
](/docs/api/lockup/graphql/envio/scalars/string.mdx)
#### [Stream_max_fields.id
](#)[String
](/docs/api/lockup/graphql/envio/scalars/string.mdx)
#### [Stream_max_fields.initialAmount
](#)[numeric
](/docs/api/lockup/graphql/envio/scalars/numeric.mdx)
#### [Stream_max_fields.intactAmount
](#)[numeric
](/docs/api/lockup/graphql/envio/scalars/numeric.mdx)
#### [Stream_max_fields.position
](#)[numeric
](/docs/api/lockup/graphql/envio/scalars/numeric.mdx)
#### [Stream_max_fields.proxender
](#)[String
](/docs/api/lockup/graphql/envio/scalars/string.mdx)
#### [Stream_max_fields.recipient
](#)[String
](/docs/api/lockup/graphql/envio/scalars/string.mdx)
#### [Stream_max_fields.renounceAction_id
](#)[String
](/docs/api/lockup/graphql/envio/scalars/string.mdx)
#### [Stream_max_fields.renounceTime
](#)[numeric
](/docs/api/lockup/graphql/envio/scalars/numeric.mdx)
#### [Stream_max_fields.sender
](#)[String
](/docs/api/lockup/graphql/envio/scalars/string.mdx)
#### [Stream_max_fields.shape
](#)[String
](/docs/api/lockup/graphql/envio/scalars/string.mdx)
#### [Stream_max_fields.startTime
](#)[numeric
](/docs/api/lockup/graphql/envio/scalars/numeric.mdx)
#### [Stream_max_fields.subgraphId
](#)[numeric
](/docs/api/lockup/graphql/envio/scalars/numeric.mdx)
#### [Stream_max_fields.timestamp
](#)[numeric
](/docs/api/lockup/graphql/envio/scalars/numeric.mdx)
#### [Stream_max_fields.tokenId
](#)[numeric
](/docs/api/lockup/graphql/envio/scalars/numeric.mdx)
#### [Stream_max_fields.version
](#)[String
](/docs/api/lockup/graphql/envio/scalars/string.mdx)
#### [Stream_max_fields.withdrawnAmount
](#)[numeric
](/docs/api/lockup/graphql/envio/scalars/numeric.mdx)
---
## Stream_min_fields (2)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
aggregate min on columns
```graphql
type Stream_min_fields {
alias: String
assetDecimalsValue: numeric
asset_id: String
batch_id: String
canceledAction_id: String
canceledTime: numeric
category: streamcategory
chainId: numeric
cliffAmount: numeric
cliffTime: numeric
contract: String
db_write_timestamp: timestamp
depositAmount: numeric
duration: numeric
endTime: numeric
funder: String
hash: String
id: String
initialAmount: numeric
intactAmount: numeric
position: numeric
proxender: String
recipient: String
renounceAction_id: String
renounceTime: numeric
sender: String
shape: String
startTime: numeric
subgraphId: numeric
timestamp: numeric
tokenId: numeric
version: String
withdrawnAmount: numeric
}
```
### Fields
#### [Stream_min_fields.alias
](#)[String
](/docs/api/lockup/graphql/envio/scalars/string.mdx)
#### [Stream_min_fields.assetDecimalsValue
](#)[numeric
](/docs/api/lockup/graphql/envio/scalars/numeric.mdx)
#### [Stream_min_fields.asset_id
](#)[String
](/docs/api/lockup/graphql/envio/scalars/string.mdx)
#### [Stream_min_fields.batch_id
](#)[String
](/docs/api/lockup/graphql/envio/scalars/string.mdx)
#### [Stream_min_fields.canceledAction_id
](#)[String
](/docs/api/lockup/graphql/envio/scalars/string.mdx)
#### [Stream_min_fields.canceledTime
](#)[numeric
](/docs/api/lockup/graphql/envio/scalars/numeric.mdx)
#### [Stream_min_fields.category
](#)[streamcategory
](/docs/api/lockup/graphql/envio/scalars/streamcategory.mdx)
#### [Stream_min_fields.chainId
](#)[numeric
](/docs/api/lockup/graphql/envio/scalars/numeric.mdx)
#### [Stream_min_fields.cliffAmount
](#)[numeric
](/docs/api/lockup/graphql/envio/scalars/numeric.mdx)
#### [Stream_min_fields.cliffTime
](#)[numeric
](/docs/api/lockup/graphql/envio/scalars/numeric.mdx)
#### [Stream_min_fields.contract
](#)[String
](/docs/api/lockup/graphql/envio/scalars/string.mdx)
#### [Stream_min_fields.db_write_timestamp
](#)[timestamp
](/docs/api/lockup/graphql/envio/scalars/timestamp.mdx)
#### [Stream_min_fields.depositAmount
](#)[numeric
](/docs/api/lockup/graphql/envio/scalars/numeric.mdx)
#### [Stream_min_fields.duration
](#)[numeric
](/docs/api/lockup/graphql/envio/scalars/numeric.mdx)
#### [Stream_min_fields.endTime
](#)[numeric
](/docs/api/lockup/graphql/envio/scalars/numeric.mdx)
#### [Stream_min_fields.funder
](#)[String
](/docs/api/lockup/graphql/envio/scalars/string.mdx)
#### [Stream_min_fields.hash
](#)[String
](/docs/api/lockup/graphql/envio/scalars/string.mdx)
#### [Stream_min_fields.id
](#)[String
](/docs/api/lockup/graphql/envio/scalars/string.mdx)
#### [Stream_min_fields.initialAmount
](#)[numeric
](/docs/api/lockup/graphql/envio/scalars/numeric.mdx)
#### [Stream_min_fields.intactAmount
](#)[numeric
](/docs/api/lockup/graphql/envio/scalars/numeric.mdx)
#### [Stream_min_fields.position
](#)[numeric
](/docs/api/lockup/graphql/envio/scalars/numeric.mdx)
#### [Stream_min_fields.proxender
](#)[String
](/docs/api/lockup/graphql/envio/scalars/string.mdx)
#### [Stream_min_fields.recipient
](#)[String
](/docs/api/lockup/graphql/envio/scalars/string.mdx)
#### [Stream_min_fields.renounceAction_id
](#)[String
](/docs/api/lockup/graphql/envio/scalars/string.mdx)
#### [Stream_min_fields.renounceTime
](#)[numeric
](/docs/api/lockup/graphql/envio/scalars/numeric.mdx)
#### [Stream_min_fields.sender
](#)[String
](/docs/api/lockup/graphql/envio/scalars/string.mdx)
#### [Stream_min_fields.shape
](#)[String
](/docs/api/lockup/graphql/envio/scalars/string.mdx)
#### [Stream_min_fields.startTime
](#)[numeric
](/docs/api/lockup/graphql/envio/scalars/numeric.mdx)
#### [Stream_min_fields.subgraphId
](#)[numeric
](/docs/api/lockup/graphql/envio/scalars/numeric.mdx)
#### [Stream_min_fields.timestamp
](#)[numeric
](/docs/api/lockup/graphql/envio/scalars/numeric.mdx)
#### [Stream_min_fields.tokenId
](#)[numeric
](/docs/api/lockup/graphql/envio/scalars/numeric.mdx)
#### [Stream_min_fields.version
](#)[String
](/docs/api/lockup/graphql/envio/scalars/string.mdx)
#### [Stream_min_fields.withdrawnAmount
](#)[numeric
](/docs/api/lockup/graphql/envio/scalars/numeric.mdx)
---
## Stream_stddev_fields (2)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
aggregate stddev on columns
```graphql
type Stream_stddev_fields {
assetDecimalsValue: Float
canceledTime: Float
chainId: Float
cliffAmount: Float
cliffTime: Float
depositAmount: Float
duration: Float
endTime: Float
initialAmount: Float
intactAmount: Float
position: Float
renounceTime: Float
startTime: Float
subgraphId: Float
timestamp: Float
tokenId: Float
withdrawnAmount: Float
}
```
### Fields
#### [Stream_stddev_fields.assetDecimalsValue
](#)[Float
](/docs/api/lockup/graphql/envio/scalars/float.mdx)
#### [Stream_stddev_fields.canceledTime
](#)[Float
](/docs/api/lockup/graphql/envio/scalars/float.mdx)
#### [Stream_stddev_fields.chainId
](#)[Float
](/docs/api/lockup/graphql/envio/scalars/float.mdx)
#### [Stream_stddev_fields.cliffAmount
](#)[Float
](/docs/api/lockup/graphql/envio/scalars/float.mdx)
#### [Stream_stddev_fields.cliffTime
](#)[Float
](/docs/api/lockup/graphql/envio/scalars/float.mdx)
#### [Stream_stddev_fields.depositAmount
](#)[Float
](/docs/api/lockup/graphql/envio/scalars/float.mdx)
#### [Stream_stddev_fields.duration
](#)[Float
](/docs/api/lockup/graphql/envio/scalars/float.mdx)
#### [Stream_stddev_fields.endTime
](#)[Float
](/docs/api/lockup/graphql/envio/scalars/float.mdx)
#### [Stream_stddev_fields.initialAmount
](#)[Float
](/docs/api/lockup/graphql/envio/scalars/float.mdx)
#### [Stream_stddev_fields.intactAmount
](#)[Float
](/docs/api/lockup/graphql/envio/scalars/float.mdx)
#### [Stream_stddev_fields.position
](#)[Float
](/docs/api/lockup/graphql/envio/scalars/float.mdx)
#### [Stream_stddev_fields.renounceTime
](#)[Float
](/docs/api/lockup/graphql/envio/scalars/float.mdx)
#### [Stream_stddev_fields.startTime
](#)[Float
](/docs/api/lockup/graphql/envio/scalars/float.mdx)
#### [Stream_stddev_fields.subgraphId
](#)[Float
](/docs/api/lockup/graphql/envio/scalars/float.mdx)
#### [Stream_stddev_fields.timestamp
](#)[Float
](/docs/api/lockup/graphql/envio/scalars/float.mdx)
#### [Stream_stddev_fields.tokenId
](#)[Float
](/docs/api/lockup/graphql/envio/scalars/float.mdx)
#### [Stream_stddev_fields.withdrawnAmount
](#)[Float
](/docs/api/lockup/graphql/envio/scalars/float.mdx)
---
## Stream_stddev_pop_fields (2)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
aggregate stddev_pop on columns
```graphql
type Stream_stddev_pop_fields {
assetDecimalsValue: Float
canceledTime: Float
chainId: Float
cliffAmount: Float
cliffTime: Float
depositAmount: Float
duration: Float
endTime: Float
initialAmount: Float
intactAmount: Float
position: Float
renounceTime: Float
startTime: Float
subgraphId: Float
timestamp: Float
tokenId: Float
withdrawnAmount: Float
}
```
### Fields
#### [Stream_stddev_pop_fields.assetDecimalsValue
](#)[Float
](/docs/api/lockup/graphql/envio/scalars/float.mdx)
#### [Stream_stddev_pop_fields.canceledTime
](#)[Float
](/docs/api/lockup/graphql/envio/scalars/float.mdx)
#### [Stream_stddev_pop_fields.chainId
](#)[Float
](/docs/api/lockup/graphql/envio/scalars/float.mdx)
#### [Stream_stddev_pop_fields.cliffAmount
](#)[Float
](/docs/api/lockup/graphql/envio/scalars/float.mdx)
#### [Stream_stddev_pop_fields.cliffTime
](#)[Float
](/docs/api/lockup/graphql/envio/scalars/float.mdx)
#### [Stream_stddev_pop_fields.depositAmount
](#)[Float
](/docs/api/lockup/graphql/envio/scalars/float.mdx)
#### [Stream_stddev_pop_fields.duration
](#)[Float
](/docs/api/lockup/graphql/envio/scalars/float.mdx)
#### [Stream_stddev_pop_fields.endTime
](#)[Float
](/docs/api/lockup/graphql/envio/scalars/float.mdx)
#### [Stream_stddev_pop_fields.initialAmount
](#)[Float
](/docs/api/lockup/graphql/envio/scalars/float.mdx)
#### [Stream_stddev_pop_fields.intactAmount
](#)[Float
](/docs/api/lockup/graphql/envio/scalars/float.mdx)
#### [Stream_stddev_pop_fields.position
](#)[Float
](/docs/api/lockup/graphql/envio/scalars/float.mdx)
#### [Stream_stddev_pop_fields.renounceTime
](#)[Float
](/docs/api/lockup/graphql/envio/scalars/float.mdx)
#### [Stream_stddev_pop_fields.startTime
](#)[Float
](/docs/api/lockup/graphql/envio/scalars/float.mdx)
#### [Stream_stddev_pop_fields.subgraphId
](#)[Float
](/docs/api/lockup/graphql/envio/scalars/float.mdx)
#### [Stream_stddev_pop_fields.timestamp
](#)[Float
](/docs/api/lockup/graphql/envio/scalars/float.mdx)
#### [Stream_stddev_pop_fields.tokenId
](#)[Float
](/docs/api/lockup/graphql/envio/scalars/float.mdx)
#### [Stream_stddev_pop_fields.withdrawnAmount
](#)[Float
](/docs/api/lockup/graphql/envio/scalars/float.mdx)
---
## Stream_stddev_samp_fields (2)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
aggregate stddev_samp on columns
```graphql
type Stream_stddev_samp_fields {
assetDecimalsValue: Float
canceledTime: Float
chainId: Float
cliffAmount: Float
cliffTime: Float
depositAmount: Float
duration: Float
endTime: Float
initialAmount: Float
intactAmount: Float
position: Float
renounceTime: Float
startTime: Float
subgraphId: Float
timestamp: Float
tokenId: Float
withdrawnAmount: Float
}
```
### Fields
#### [Stream_stddev_samp_fields.assetDecimalsValue
](#)[Float
](/docs/api/lockup/graphql/envio/scalars/float.mdx)
#### [Stream_stddev_samp_fields.canceledTime
](#)[Float
](/docs/api/lockup/graphql/envio/scalars/float.mdx)
#### [Stream_stddev_samp_fields.chainId
](#)[Float
](/docs/api/lockup/graphql/envio/scalars/float.mdx)
#### [Stream_stddev_samp_fields.cliffAmount
](#)[Float
](/docs/api/lockup/graphql/envio/scalars/float.mdx)
#### [Stream_stddev_samp_fields.cliffTime
](#)[Float
](/docs/api/lockup/graphql/envio/scalars/float.mdx)
#### [Stream_stddev_samp_fields.depositAmount
](#)[Float
](/docs/api/lockup/graphql/envio/scalars/float.mdx)
#### [Stream_stddev_samp_fields.duration
](#)[Float
](/docs/api/lockup/graphql/envio/scalars/float.mdx)
#### [Stream_stddev_samp_fields.endTime
](#)[Float
](/docs/api/lockup/graphql/envio/scalars/float.mdx)
#### [Stream_stddev_samp_fields.initialAmount
](#)[Float
](/docs/api/lockup/graphql/envio/scalars/float.mdx)
#### [Stream_stddev_samp_fields.intactAmount
](#)[Float
](/docs/api/lockup/graphql/envio/scalars/float.mdx)
#### [Stream_stddev_samp_fields.position
](#)[Float
](/docs/api/lockup/graphql/envio/scalars/float.mdx)
#### [Stream_stddev_samp_fields.renounceTime
](#)[Float
](/docs/api/lockup/graphql/envio/scalars/float.mdx)
#### [Stream_stddev_samp_fields.startTime
](#)[Float
](/docs/api/lockup/graphql/envio/scalars/float.mdx)
#### [Stream_stddev_samp_fields.subgraphId
](#)[Float
](/docs/api/lockup/graphql/envio/scalars/float.mdx)
#### [Stream_stddev_samp_fields.timestamp
](#)[Float
](/docs/api/lockup/graphql/envio/scalars/float.mdx)
#### [Stream_stddev_samp_fields.tokenId
](#)[Float
](/docs/api/lockup/graphql/envio/scalars/float.mdx)
#### [Stream_stddev_samp_fields.withdrawnAmount
](#)[Float
](/docs/api/lockup/graphql/envio/scalars/float.mdx)
---
## Stream_sum_fields (2)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
aggregate sum on columns
```graphql
type Stream_sum_fields {
assetDecimalsValue: numeric
canceledTime: numeric
chainId: numeric
cliffAmount: numeric
cliffTime: numeric
depositAmount: numeric
duration: numeric
endTime: numeric
initialAmount: numeric
intactAmount: numeric
position: numeric
renounceTime: numeric
startTime: numeric
subgraphId: numeric
timestamp: numeric
tokenId: numeric
withdrawnAmount: numeric
}
```
### Fields
#### [Stream_sum_fields.assetDecimalsValue
](#)[numeric
](/docs/api/lockup/graphql/envio/scalars/numeric.mdx)
#### [Stream_sum_fields.canceledTime
](#)[numeric
](/docs/api/lockup/graphql/envio/scalars/numeric.mdx)
#### [Stream_sum_fields.chainId
](#)[numeric
](/docs/api/lockup/graphql/envio/scalars/numeric.mdx)
#### [Stream_sum_fields.cliffAmount
](#)[numeric
](/docs/api/lockup/graphql/envio/scalars/numeric.mdx)
#### [Stream_sum_fields.cliffTime
](#)[numeric
](/docs/api/lockup/graphql/envio/scalars/numeric.mdx)
#### [Stream_sum_fields.depositAmount
](#)[numeric
](/docs/api/lockup/graphql/envio/scalars/numeric.mdx)
#### [Stream_sum_fields.duration
](#)[numeric
](/docs/api/lockup/graphql/envio/scalars/numeric.mdx)
#### [Stream_sum_fields.endTime
](#)[numeric
](/docs/api/lockup/graphql/envio/scalars/numeric.mdx)
#### [Stream_sum_fields.initialAmount
](#)[numeric
](/docs/api/lockup/graphql/envio/scalars/numeric.mdx)
#### [Stream_sum_fields.intactAmount
](#)[numeric
](/docs/api/lockup/graphql/envio/scalars/numeric.mdx)
#### [Stream_sum_fields.position
](#)[numeric
](/docs/api/lockup/graphql/envio/scalars/numeric.mdx)
#### [Stream_sum_fields.renounceTime
](#)[numeric
](/docs/api/lockup/graphql/envio/scalars/numeric.mdx)
#### [Stream_sum_fields.startTime
](#)[numeric
](/docs/api/lockup/graphql/envio/scalars/numeric.mdx)
#### [Stream_sum_fields.subgraphId
](#)[numeric
](/docs/api/lockup/graphql/envio/scalars/numeric.mdx)
#### [Stream_sum_fields.timestamp
](#)[numeric
](/docs/api/lockup/graphql/envio/scalars/numeric.mdx)
#### [Stream_sum_fields.tokenId
](#)[numeric
](/docs/api/lockup/graphql/envio/scalars/numeric.mdx)
#### [Stream_sum_fields.withdrawnAmount
](#)[numeric
](/docs/api/lockup/graphql/envio/scalars/numeric.mdx)
---
## Stream_var_pop_fields (2)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
aggregate var_pop on columns
```graphql
type Stream_var_pop_fields {
assetDecimalsValue: Float
canceledTime: Float
chainId: Float
cliffAmount: Float
cliffTime: Float
depositAmount: Float
duration: Float
endTime: Float
initialAmount: Float
intactAmount: Float
position: Float
renounceTime: Float
startTime: Float
subgraphId: Float
timestamp: Float
tokenId: Float
withdrawnAmount: Float
}
```
### Fields
#### [Stream_var_pop_fields.assetDecimalsValue
](#)[Float
](/docs/api/lockup/graphql/envio/scalars/float.mdx)
#### [Stream_var_pop_fields.canceledTime
](#)[Float
](/docs/api/lockup/graphql/envio/scalars/float.mdx)
#### [Stream_var_pop_fields.chainId
](#)[Float
](/docs/api/lockup/graphql/envio/scalars/float.mdx)
#### [Stream_var_pop_fields.cliffAmount
](#)[Float
](/docs/api/lockup/graphql/envio/scalars/float.mdx)
#### [Stream_var_pop_fields.cliffTime
](#)[Float
](/docs/api/lockup/graphql/envio/scalars/float.mdx)
#### [Stream_var_pop_fields.depositAmount
](#)[Float
](/docs/api/lockup/graphql/envio/scalars/float.mdx)
#### [Stream_var_pop_fields.duration
](#)[Float
](/docs/api/lockup/graphql/envio/scalars/float.mdx)
#### [Stream_var_pop_fields.endTime
](#)[Float
](/docs/api/lockup/graphql/envio/scalars/float.mdx)
#### [Stream_var_pop_fields.initialAmount
](#)[Float
](/docs/api/lockup/graphql/envio/scalars/float.mdx)
#### [Stream_var_pop_fields.intactAmount
](#)[Float
](/docs/api/lockup/graphql/envio/scalars/float.mdx)
#### [Stream_var_pop_fields.position
](#)[Float
](/docs/api/lockup/graphql/envio/scalars/float.mdx)
#### [Stream_var_pop_fields.renounceTime
](#)[Float
](/docs/api/lockup/graphql/envio/scalars/float.mdx)
#### [Stream_var_pop_fields.startTime
](#)[Float
](/docs/api/lockup/graphql/envio/scalars/float.mdx)
#### [Stream_var_pop_fields.subgraphId
](#)[Float
](/docs/api/lockup/graphql/envio/scalars/float.mdx)
#### [Stream_var_pop_fields.timestamp
](#)[Float
](/docs/api/lockup/graphql/envio/scalars/float.mdx)
#### [Stream_var_pop_fields.tokenId
](#)[Float
](/docs/api/lockup/graphql/envio/scalars/float.mdx)
#### [Stream_var_pop_fields.withdrawnAmount
](#)[Float
](/docs/api/lockup/graphql/envio/scalars/float.mdx)
---
## Stream_var_samp_fields (2)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
aggregate var_samp on columns
```graphql
type Stream_var_samp_fields {
assetDecimalsValue: Float
canceledTime: Float
chainId: Float
cliffAmount: Float
cliffTime: Float
depositAmount: Float
duration: Float
endTime: Float
initialAmount: Float
intactAmount: Float
position: Float
renounceTime: Float
startTime: Float
subgraphId: Float
timestamp: Float
tokenId: Float
withdrawnAmount: Float
}
```
### Fields
#### [Stream_var_samp_fields.assetDecimalsValue
](#)[Float
](/docs/api/lockup/graphql/envio/scalars/float.mdx)
#### [Stream_var_samp_fields.canceledTime
](#)[Float
](/docs/api/lockup/graphql/envio/scalars/float.mdx)
#### [Stream_var_samp_fields.chainId
](#)[Float
](/docs/api/lockup/graphql/envio/scalars/float.mdx)
#### [Stream_var_samp_fields.cliffAmount
](#)[Float
](/docs/api/lockup/graphql/envio/scalars/float.mdx)
#### [Stream_var_samp_fields.cliffTime
](#)[Float
](/docs/api/lockup/graphql/envio/scalars/float.mdx)
#### [Stream_var_samp_fields.depositAmount
](#)[Float
](/docs/api/lockup/graphql/envio/scalars/float.mdx)
#### [Stream_var_samp_fields.duration
](#)[Float
](/docs/api/lockup/graphql/envio/scalars/float.mdx)
#### [Stream_var_samp_fields.endTime
](#)[Float
](/docs/api/lockup/graphql/envio/scalars/float.mdx)
#### [Stream_var_samp_fields.initialAmount
](#)[Float
](/docs/api/lockup/graphql/envio/scalars/float.mdx)
#### [Stream_var_samp_fields.intactAmount
](#)[Float
](/docs/api/lockup/graphql/envio/scalars/float.mdx)
#### [Stream_var_samp_fields.position
](#)[Float
](/docs/api/lockup/graphql/envio/scalars/float.mdx)
#### [Stream_var_samp_fields.renounceTime
](#)[Float
](/docs/api/lockup/graphql/envio/scalars/float.mdx)
#### [Stream_var_samp_fields.startTime
](#)[Float
](/docs/api/lockup/graphql/envio/scalars/float.mdx)
#### [Stream_var_samp_fields.subgraphId
](#)[Float
](/docs/api/lockup/graphql/envio/scalars/float.mdx)
#### [Stream_var_samp_fields.timestamp
](#)[Float
](/docs/api/lockup/graphql/envio/scalars/float.mdx)
#### [Stream_var_samp_fields.tokenId
](#)[Float
](/docs/api/lockup/graphql/envio/scalars/float.mdx)
#### [Stream_var_samp_fields.withdrawnAmount
](#)[Float
](/docs/api/lockup/graphql/envio/scalars/float.mdx)
---
## Stream_variance_fields (2)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
aggregate variance on columns
```graphql
type Stream_variance_fields {
assetDecimalsValue: Float
canceledTime: Float
chainId: Float
cliffAmount: Float
cliffTime: Float
depositAmount: Float
duration: Float
endTime: Float
initialAmount: Float
intactAmount: Float
position: Float
renounceTime: Float
startTime: Float
subgraphId: Float
timestamp: Float
tokenId: Float
withdrawnAmount: Float
}
```
### Fields
#### [Stream_variance_fields.assetDecimalsValue
](#)[Float
](/docs/api/lockup/graphql/envio/scalars/float.mdx)
#### [Stream_variance_fields.canceledTime
](#)[Float
](/docs/api/lockup/graphql/envio/scalars/float.mdx)
#### [Stream_variance_fields.chainId
](#)[Float
](/docs/api/lockup/graphql/envio/scalars/float.mdx)
#### [Stream_variance_fields.cliffAmount
](#)[Float
](/docs/api/lockup/graphql/envio/scalars/float.mdx)
#### [Stream_variance_fields.cliffTime
](#)[Float
](/docs/api/lockup/graphql/envio/scalars/float.mdx)
#### [Stream_variance_fields.depositAmount
](#)[Float
](/docs/api/lockup/graphql/envio/scalars/float.mdx)
#### [Stream_variance_fields.duration
](#)[Float
](/docs/api/lockup/graphql/envio/scalars/float.mdx)
#### [Stream_variance_fields.endTime
](#)[Float
](/docs/api/lockup/graphql/envio/scalars/float.mdx)
#### [Stream_variance_fields.initialAmount
](#)[Float
](/docs/api/lockup/graphql/envio/scalars/float.mdx)
#### [Stream_variance_fields.intactAmount
](#)[Float
](/docs/api/lockup/graphql/envio/scalars/float.mdx)
#### [Stream_variance_fields.position
](#)[Float
](/docs/api/lockup/graphql/envio/scalars/float.mdx)
#### [Stream_variance_fields.renounceTime
](#)[Float
](/docs/api/lockup/graphql/envio/scalars/float.mdx)
#### [Stream_variance_fields.startTime
](#)[Float
](/docs/api/lockup/graphql/envio/scalars/float.mdx)
#### [Stream_variance_fields.subgraphId
](#)[Float
](/docs/api/lockup/graphql/envio/scalars/float.mdx)
#### [Stream_variance_fields.timestamp
](#)[Float
](/docs/api/lockup/graphql/envio/scalars/float.mdx)
#### [Stream_variance_fields.tokenId
](#)[Float
](/docs/api/lockup/graphql/envio/scalars/float.mdx)
#### [Stream_variance_fields.withdrawnAmount
](#)[Float
](/docs/api/lockup/graphql/envio/scalars/float.mdx)
---
## Stream (7)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
columns and relationships of "Stream"
```graphql
type Stream {
actions(
distinct_on: [Action_select_column!]
limit: Int
offset: Int
order_by: [Action_order_by!]
where: Action_bool_exp
): [Action!]!
alias: String!
asset: Asset
assetDecimalsValue: numeric!
asset_id: String!
batch: Batch
batch_id: String!
cancelable: Boolean!
canceled: Boolean!
canceledAction: Action
canceledAction_id: String
canceledTime: numeric
category: streamcategory!
chainId: numeric!
cliff: Boolean
cliffAmount: numeric
cliffTime: numeric
contract: String!
db_write_timestamp: timestamp
depositAmount: numeric!
duration: numeric!
endTime: numeric!
funder: String!
hash: String!
id: String!
initial: Boolean
initialAmount: numeric
intactAmount: numeric!
position: numeric!
proxender: String
proxied: Boolean!
recipient: String!
renounceAction: Action
renounceAction_id: String
renounceTime: numeric
segments(
distinct_on: [Segment_select_column!]
limit: Int
offset: Int
order_by: [Segment_order_by!]
where: Segment_bool_exp
): [Segment!]!
sender: String!
shape: String
startTime: numeric!
subgraphId: numeric!
timestamp: numeric!
tokenId: numeric!
tranches(
distinct_on: [Tranche_select_column!]
limit: Int
offset: Int
order_by: [Tranche_order_by!]
where: Tranche_bool_exp
): [Tranche!]!
transferable: Boolean!
version: String!
withdrawnAmount: numeric!
}
```
### Fields
#### [Stream.actions
](#)[[Action!]!
](/docs/api/lockup/graphql/envio/objects/action.mdx)
An array relationship
##### [Stream.actions.distinct_on
](#)[[Action_select_column!]
](/docs/api/lockup/graphql/envio/enums/action-select-column.mdx)
distinct select on columns
##### [Stream.actions.limit
](#)[Int
](/docs/api/lockup/graphql/envio/scalars/int.mdx)
limit the number of rows returned
##### [Stream.actions.offset
](#)[Int
](/docs/api/lockup/graphql/envio/scalars/int.mdx)
skip the first n rows. Use only with order_by
##### [Stream.actions.order_by
](#)[[Action_order_by!]
](/docs/api/lockup/graphql/envio/inputs/action-order-by.mdx)
sort the rows by one or more columns
##### [Stream.actions.where
](#)[Action_bool_exp
](/docs/api/lockup/graphql/envio/inputs/action-bool-exp.mdx)
filter the rows returned
#### [Stream.alias
](#)[String!
](/docs/api/lockup/graphql/envio/scalars/string.mdx)
#### [Stream.asset
](#)[Asset
](/docs/api/lockup/graphql/envio/objects/asset.mdx)
An object relationship
#### [Stream.assetDecimalsValue
](#)[numeric!
](/docs/api/lockup/graphql/envio/scalars/numeric.mdx)
#### [Stream.asset_id
](#)[String!
](/docs/api/lockup/graphql/envio/scalars/string.mdx)
#### [Stream.batch
](#)[Batch
](/docs/api/lockup/graphql/envio/objects/batch.mdx)
An object relationship
#### [Stream.batch_id
](#)[String!
](/docs/api/lockup/graphql/envio/scalars/string.mdx)
#### [Stream.cancelable
](#)[Boolean!
](/docs/api/lockup/graphql/envio/scalars/boolean.mdx)
#### [Stream.canceled
](#)[Boolean!
](/docs/api/lockup/graphql/envio/scalars/boolean.mdx)
#### [Stream.canceledAction
](#)[Action
](/docs/api/lockup/graphql/envio/objects/action.mdx)
An object relationship
#### [Stream.canceledAction_id
](#)[String
](/docs/api/lockup/graphql/envio/scalars/string.mdx)
#### [Stream.canceledTime
](#)[numeric
](/docs/api/lockup/graphql/envio/scalars/numeric.mdx)
#### [Stream.category
](#)[streamcategory!
](/docs/api/lockup/graphql/envio/scalars/streamcategory.mdx)
#### [Stream.chainId
](#)[numeric!
](/docs/api/lockup/graphql/envio/scalars/numeric.mdx)
#### [Stream.cliff
](#)[Boolean
](/docs/api/lockup/graphql/envio/scalars/boolean.mdx)
#### [Stream.cliffAmount
](#)[numeric
](/docs/api/lockup/graphql/envio/scalars/numeric.mdx)
#### [Stream.cliffTime
](#)[numeric
](/docs/api/lockup/graphql/envio/scalars/numeric.mdx)
#### [Stream.contract
](#)[String!
](/docs/api/lockup/graphql/envio/scalars/string.mdx)
#### [Stream.db_write_timestamp
](#)[timestamp
](/docs/api/lockup/graphql/envio/scalars/timestamp.mdx)
#### [Stream.depositAmount
](#)[numeric!
](/docs/api/lockup/graphql/envio/scalars/numeric.mdx)
#### [Stream.duration
](#)[numeric!
](/docs/api/lockup/graphql/envio/scalars/numeric.mdx)
#### [Stream.endTime
](#)[numeric!
](/docs/api/lockup/graphql/envio/scalars/numeric.mdx)
#### [Stream.funder
](#)[String!
](/docs/api/lockup/graphql/envio/scalars/string.mdx)
#### [Stream.hash
](#)[String!
](/docs/api/lockup/graphql/envio/scalars/string.mdx)
#### [Stream.id
](#)[String!
](/docs/api/lockup/graphql/envio/scalars/string.mdx)
#### [Stream.initial
](#)[Boolean
](/docs/api/lockup/graphql/envio/scalars/boolean.mdx)
#### [Stream.initialAmount
](#)[numeric
](/docs/api/lockup/graphql/envio/scalars/numeric.mdx)
#### [Stream.intactAmount
](#)[numeric!
](/docs/api/lockup/graphql/envio/scalars/numeric.mdx)
#### [Stream.position
](#)[numeric!
](/docs/api/lockup/graphql/envio/scalars/numeric.mdx)
#### [Stream.proxender
](#)[String
](/docs/api/lockup/graphql/envio/scalars/string.mdx)
#### [Stream.proxied
](#)[Boolean!
](/docs/api/lockup/graphql/envio/scalars/boolean.mdx)
#### [Stream.recipient
](#)[String!
](/docs/api/lockup/graphql/envio/scalars/string.mdx)
#### [Stream.renounceAction
](#)[Action
](/docs/api/lockup/graphql/envio/objects/action.mdx)
An object relationship
#### [Stream.renounceAction_id
](#)[String
](/docs/api/lockup/graphql/envio/scalars/string.mdx)
#### [Stream.renounceTime
](#)[numeric
](/docs/api/lockup/graphql/envio/scalars/numeric.mdx)
#### [Stream.segments
](#)[[Segment!]!
](/docs/api/lockup/graphql/envio/objects/segment.mdx)
An array relationship
##### [Stream.segments.distinct_on
](#)[[Segment_select_column!]
](/docs/api/lockup/graphql/envio/enums/segment-select-column.mdx)
distinct select on columns
##### [Stream.segments.limit
](#)[Int
](/docs/api/lockup/graphql/envio/scalars/int.mdx)
limit the number of rows returned
##### [Stream.segments.offset
](#)[Int
](/docs/api/lockup/graphql/envio/scalars/int.mdx)
skip the first n rows. Use only with order_by
##### [Stream.segments.order_by
](#)[[Segment_order_by!]
](/docs/api/lockup/graphql/envio/inputs/segment-order-by.mdx)
sort the rows by one or more columns
##### [Stream.segments.where
](#)[Segment_bool_exp
](/docs/api/lockup/graphql/envio/inputs/segment-bool-exp.mdx)
filter the rows returned
#### [Stream.sender
](#)[String!
](/docs/api/lockup/graphql/envio/scalars/string.mdx)
#### [Stream.shape
](#)[String
](/docs/api/lockup/graphql/envio/scalars/string.mdx)
#### [Stream.startTime
](#)[numeric!
](/docs/api/lockup/graphql/envio/scalars/numeric.mdx)
#### [Stream.subgraphId
](#)[numeric!
](/docs/api/lockup/graphql/envio/scalars/numeric.mdx)
#### [Stream.timestamp
](#)[numeric!
](/docs/api/lockup/graphql/envio/scalars/numeric.mdx)
#### [Stream.tokenId
](#)[numeric!
](/docs/api/lockup/graphql/envio/scalars/numeric.mdx)
#### [Stream.tranches
](#)[[Tranche!]!
](/docs/api/lockup/graphql/envio/objects/tranche.mdx)
An array relationship
##### [Stream.tranches.distinct_on
](#)[[Tranche_select_column!]
](/docs/api/lockup/graphql/envio/enums/tranche-select-column.mdx)
distinct select on columns
##### [Stream.tranches.limit
](#)[Int
](/docs/api/lockup/graphql/envio/scalars/int.mdx)
limit the number of rows returned
##### [Stream.tranches.offset
](#)[Int
](/docs/api/lockup/graphql/envio/scalars/int.mdx)
skip the first n rows. Use only with order_by
##### [Stream.tranches.order_by
](#)[[Tranche_order_by!]
](/docs/api/lockup/graphql/envio/inputs/tranche-order-by.mdx)
sort the rows by one or more columns
##### [Stream.tranches.where
](#)[Tranche_bool_exp
](/docs/api/lockup/graphql/envio/inputs/tranche-bool-exp.mdx)
filter the rows returned
#### [Stream.transferable
](#)[Boolean!
](/docs/api/lockup/graphql/envio/scalars/boolean.mdx)
#### [Stream.version
](#)[String!
](/docs/api/lockup/graphql/envio/scalars/string.mdx)
#### [Stream.withdrawnAmount
](#)[numeric!
](/docs/api/lockup/graphql/envio/scalars/numeric.mdx)
---
## Tranche (5)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
columns and relationships of "Tranche"
```graphql
type Tranche {
amount: numeric!
db_write_timestamp: timestamp
endAmount: numeric!
endTime: numeric!
id: String!
position: numeric!
startAmount: numeric!
startTime: numeric!
stream: Stream
stream_id: String!
}
```
### Fields
#### [Tranche.amount
](#)[numeric!
](/docs/api/lockup/graphql/envio/scalars/numeric.mdx)
#### [Tranche.db_write_timestamp
](#)[timestamp
](/docs/api/lockup/graphql/envio/scalars/timestamp.mdx)
#### [Tranche.endAmount
](#)[numeric!
](/docs/api/lockup/graphql/envio/scalars/numeric.mdx)
#### [Tranche.endTime
](#)[numeric!
](/docs/api/lockup/graphql/envio/scalars/numeric.mdx)
#### [Tranche.id
](#)[String!
](/docs/api/lockup/graphql/envio/scalars/string.mdx)
#### [Tranche.position
](#)[numeric!
](/docs/api/lockup/graphql/envio/scalars/numeric.mdx)
#### [Tranche.startAmount
](#)[numeric!
](/docs/api/lockup/graphql/envio/scalars/numeric.mdx)
#### [Tranche.startTime
](#)[numeric!
](/docs/api/lockup/graphql/envio/scalars/numeric.mdx)
#### [Tranche.stream
](#)[Stream
](/docs/api/lockup/graphql/envio/objects/stream.mdx)
An object relationship
#### [Tranche.stream_id
](#)[String!
](/docs/api/lockup/graphql/envio/scalars/string.mdx)
---
## User_aggregate_fields (3)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
aggregate fields of "User"
```graphql
type User_aggregate_fields {
avg: User_avg_fields
count(columns: [User_select_column!], distinct: Boolean): Int!
max: User_max_fields
min: User_min_fields
stddev: User_stddev_fields
stddev_pop: User_stddev_pop_fields
stddev_samp: User_stddev_samp_fields
sum: User_sum_fields
var_pop: User_var_pop_fields
var_samp: User_var_samp_fields
variance: User_variance_fields
}
```
### Fields
#### [User_aggregate_fields.avg
](#)[User_avg_fields
](/docs/api/lockup/graphql/envio/objects/user-avg-fields.mdx)
#### [User_aggregate_fields.count
](#)[Int!
](/docs/api/lockup/graphql/envio/scalars/int.mdx)
##### [User_aggregate_fields.count.columns
](#)[[User_select_column!]
](/docs/api/lockup/graphql/envio/enums/user-select-column.mdx)
##### [User_aggregate_fields.count.distinct
](#)[Boolean
](/docs/api/lockup/graphql/envio/scalars/boolean.mdx)
#### [User_aggregate_fields.max
](#)[User_max_fields
](/docs/api/lockup/graphql/envio/objects/user-max-fields.mdx)
#### [User_aggregate_fields.min
](#)[User_min_fields
](/docs/api/lockup/graphql/envio/objects/user-min-fields.mdx)
#### [User_aggregate_fields.stddev
](#)[User_stddev_fields
](/docs/api/lockup/graphql/envio/objects/user-stddev-fields.mdx)
#### [User_aggregate_fields.stddev_pop
](#)[User_stddev_pop_fields
](/docs/api/lockup/graphql/envio/objects/user-stddev-pop-fields.mdx)
#### [User_aggregate_fields.stddev_samp
](#)[User_stddev_samp_fields
](/docs/api/lockup/graphql/envio/objects/user-stddev-samp-fields.mdx)
#### [User_aggregate_fields.sum
](#)[User_sum_fields
](/docs/api/lockup/graphql/envio/objects/user-sum-fields.mdx)
#### [User_aggregate_fields.var_pop
](#)[User_var_pop_fields
](/docs/api/lockup/graphql/envio/objects/user-var-pop-fields.mdx)
#### [User_aggregate_fields.var_samp
](#)[User_var_samp_fields
](/docs/api/lockup/graphql/envio/objects/user-var-samp-fields.mdx)
#### [User_aggregate_fields.variance
](#)[User_variance_fields
](/docs/api/lockup/graphql/envio/objects/user-variance-fields.mdx)
---
## User_aggregate (5)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
aggregated selection of "User"
```graphql
type User_aggregate {
aggregate: User_aggregate_fields
nodes: [User!]!
}
```
### Fields
#### [User_aggregate.aggregate
](#)[User_aggregate_fields
](/docs/api/lockup/graphql/envio/objects/user-aggregate-fields.mdx)
#### [User_aggregate.nodes
](#)[[User!]!
](/docs/api/lockup/graphql/envio/objects/user.mdx)
---
## User_avg_fields (3)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
aggregate avg on columns
```graphql
type User_avg_fields {
chainId: Float
}
```
### Fields
#### [User_avg_fields.chainId
](#)[Float
](/docs/api/lockup/graphql/envio/scalars/float.mdx)
---
## User_max_fields (3)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
aggregate max on columns
```graphql
type User_max_fields {
address: String
chainId: numeric
db_write_timestamp: timestamp
id: String
}
```
### Fields
#### [User_max_fields.address
](#)[String
](/docs/api/lockup/graphql/envio/scalars/string.mdx)
#### [User_max_fields.chainId
](#)[numeric
](/docs/api/lockup/graphql/envio/scalars/numeric.mdx)
#### [User_max_fields.db_write_timestamp
](#)[timestamp
](/docs/api/lockup/graphql/envio/scalars/timestamp.mdx)
#### [User_max_fields.id
](#)[String
](/docs/api/lockup/graphql/envio/scalars/string.mdx)
---
## User_min_fields (3)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
aggregate min on columns
```graphql
type User_min_fields {
address: String
chainId: numeric
db_write_timestamp: timestamp
id: String
}
```
### Fields
#### [User_min_fields.address
](#)[String
](/docs/api/lockup/graphql/envio/scalars/string.mdx)
#### [User_min_fields.chainId
](#)[numeric
](/docs/api/lockup/graphql/envio/scalars/numeric.mdx)
#### [User_min_fields.db_write_timestamp
](#)[timestamp
](/docs/api/lockup/graphql/envio/scalars/timestamp.mdx)
#### [User_min_fields.id
](#)[String
](/docs/api/lockup/graphql/envio/scalars/string.mdx)
---
## User_stddev_fields (3)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
aggregate stddev on columns
```graphql
type User_stddev_fields {
chainId: Float
}
```
### Fields
#### [User_stddev_fields.chainId
](#)[Float
](/docs/api/lockup/graphql/envio/scalars/float.mdx)
---
## User_stddev_pop_fields (3)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
aggregate stddev_pop on columns
```graphql
type User_stddev_pop_fields {
chainId: Float
}
```
### Fields
#### [User_stddev_pop_fields.chainId
](#)[Float
](/docs/api/lockup/graphql/envio/scalars/float.mdx)
---
## User_stddev_samp_fields (3)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
aggregate stddev_samp on columns
```graphql
type User_stddev_samp_fields {
chainId: Float
}
```
### Fields
#### [User_stddev_samp_fields.chainId
](#)[Float
](/docs/api/lockup/graphql/envio/scalars/float.mdx)
---
## User_sum_fields (3)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
aggregate sum on columns
```graphql
type User_sum_fields {
chainId: numeric
}
```
### Fields
#### [User_sum_fields.chainId
](#)[numeric
](/docs/api/lockup/graphql/envio/scalars/numeric.mdx)
---
## UserTransaction_aggregate_fields (3)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
aggregate fields of "UserTransaction"
```graphql
type UserTransaction_aggregate_fields {
avg: UserTransaction_avg_fields
count(columns: [UserTransaction_select_column!], distinct: Boolean): Int!
max: UserTransaction_max_fields
min: UserTransaction_min_fields
stddev: UserTransaction_stddev_fields
stddev_pop: UserTransaction_stddev_pop_fields
stddev_samp: UserTransaction_stddev_samp_fields
sum: UserTransaction_sum_fields
var_pop: UserTransaction_var_pop_fields
var_samp: UserTransaction_var_samp_fields
variance: UserTransaction_variance_fields
}
```
### Fields
#### [UserTransaction_aggregate_fields.avg
](#)[UserTransaction_avg_fields
](/docs/api/lockup/graphql/envio/objects/user-transaction-avg-fields.mdx)
#### [UserTransaction_aggregate_fields.count
](#)[Int!
](/docs/api/lockup/graphql/envio/scalars/int.mdx)
##### [UserTransaction_aggregate_fields.count.columns
](#)[[UserTransaction_select_column!]
](/docs/api/lockup/graphql/envio/enums/user-transaction-select-column.mdx)
##### [UserTransaction_aggregate_fields.count.distinct
](#)[Boolean
](/docs/api/lockup/graphql/envio/scalars/boolean.mdx)
#### [UserTransaction_aggregate_fields.max
](#)[UserTransaction_max_fields
](/docs/api/lockup/graphql/envio/objects/user-transaction-max-fields.mdx)
#### [UserTransaction_aggregate_fields.min
](#)[UserTransaction_min_fields
](/docs/api/lockup/graphql/envio/objects/user-transaction-min-fields.mdx)
#### [UserTransaction_aggregate_fields.stddev
](#)[UserTransaction_stddev_fields
](/docs/api/lockup/graphql/envio/objects/user-transaction-stddev-fields.mdx)
#### [UserTransaction_aggregate_fields.stddev_pop
](#)[UserTransaction_stddev_pop_fields
](/docs/api/lockup/graphql/envio/objects/user-transaction-stddev-pop-fields.mdx)
#### [UserTransaction_aggregate_fields.stddev_samp
](#)[UserTransaction_stddev_samp_fields
](/docs/api/lockup/graphql/envio/objects/user-transaction-stddev-samp-fields.mdx)
#### [UserTransaction_aggregate_fields.sum
](#)[UserTransaction_sum_fields
](/docs/api/lockup/graphql/envio/objects/user-transaction-sum-fields.mdx)
#### [UserTransaction_aggregate_fields.var_pop
](#)[UserTransaction_var_pop_fields
](/docs/api/lockup/graphql/envio/objects/user-transaction-var-pop-fields.mdx)
#### [UserTransaction_aggregate_fields.var_samp
](#)[UserTransaction_var_samp_fields
](/docs/api/lockup/graphql/envio/objects/user-transaction-var-samp-fields.mdx)
#### [UserTransaction_aggregate_fields.variance
](#)[UserTransaction_variance_fields
](/docs/api/lockup/graphql/envio/objects/user-transaction-variance-fields.mdx)
---
## UserTransaction_aggregate (5)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
aggregated selection of "UserTransaction"
```graphql
type UserTransaction_aggregate {
aggregate: UserTransaction_aggregate_fields
nodes: [UserTransaction!]!
}
```
### Fields
#### [UserTransaction_aggregate.aggregate
](#)[UserTransaction_aggregate_fields
](/docs/api/lockup/graphql/envio/objects/user-transaction-aggregate-fields.mdx)
#### [UserTransaction_aggregate.nodes
](#)[[UserTransaction!]!
](/docs/api/lockup/graphql/envio/objects/user-transaction.mdx)
---
## UserTransaction_avg_fields (3)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
aggregate avg on columns
```graphql
type UserTransaction_avg_fields {
block: Float
fee: Float
timestamp: Float
}
```
### Fields
#### [UserTransaction_avg_fields.block
](#)[Float
](/docs/api/lockup/graphql/envio/scalars/float.mdx)
#### [UserTransaction_avg_fields.fee
](#)[Float
](/docs/api/lockup/graphql/envio/scalars/float.mdx)
#### [UserTransaction_avg_fields.timestamp
](#)[Float
](/docs/api/lockup/graphql/envio/scalars/float.mdx)
---
## UserTransaction_max_fields (3)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
aggregate max on columns
```graphql
type UserTransaction_max_fields {
block: numeric
db_write_timestamp: timestamp
fee: float8
hash: String
id: String
timestamp: numeric
user_id: String
}
```
### Fields
#### [UserTransaction_max_fields.block
](#)[numeric
](/docs/api/lockup/graphql/envio/scalars/numeric.mdx)
#### [UserTransaction_max_fields.db_write_timestamp
](#)[timestamp
](/docs/api/lockup/graphql/envio/scalars/timestamp.mdx)
#### [UserTransaction_max_fields.fee
](#)[float8
](/docs/api/lockup/graphql/envio/scalars/float-8.mdx)
#### [UserTransaction_max_fields.hash
](#)[String
](/docs/api/lockup/graphql/envio/scalars/string.mdx)
#### [UserTransaction_max_fields.id
](#)[String
](/docs/api/lockup/graphql/envio/scalars/string.mdx)
#### [UserTransaction_max_fields.timestamp
](#)[numeric
](/docs/api/lockup/graphql/envio/scalars/numeric.mdx)
#### [UserTransaction_max_fields.user_id
](#)[String
](/docs/api/lockup/graphql/envio/scalars/string.mdx)
---
## UserTransaction_min_fields (3)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
aggregate min on columns
```graphql
type UserTransaction_min_fields {
block: numeric
db_write_timestamp: timestamp
fee: float8
hash: String
id: String
timestamp: numeric
user_id: String
}
```
### Fields
#### [UserTransaction_min_fields.block
](#)[numeric
](/docs/api/lockup/graphql/envio/scalars/numeric.mdx)
#### [UserTransaction_min_fields.db_write_timestamp
](#)[timestamp
](/docs/api/lockup/graphql/envio/scalars/timestamp.mdx)
#### [UserTransaction_min_fields.fee
](#)[float8
](/docs/api/lockup/graphql/envio/scalars/float-8.mdx)
#### [UserTransaction_min_fields.hash
](#)[String
](/docs/api/lockup/graphql/envio/scalars/string.mdx)
#### [UserTransaction_min_fields.id
](#)[String
](/docs/api/lockup/graphql/envio/scalars/string.mdx)
#### [UserTransaction_min_fields.timestamp
](#)[numeric
](/docs/api/lockup/graphql/envio/scalars/numeric.mdx)
#### [UserTransaction_min_fields.user_id
](#)[String
](/docs/api/lockup/graphql/envio/scalars/string.mdx)
---
## UserTransaction_stddev_fields (3)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
aggregate stddev on columns
```graphql
type UserTransaction_stddev_fields {
block: Float
fee: Float
timestamp: Float
}
```
### Fields
#### [UserTransaction_stddev_fields.block
](#)[Float
](/docs/api/lockup/graphql/envio/scalars/float.mdx)
#### [UserTransaction_stddev_fields.fee
](#)[Float
](/docs/api/lockup/graphql/envio/scalars/float.mdx)
#### [UserTransaction_stddev_fields.timestamp
](#)[Float
](/docs/api/lockup/graphql/envio/scalars/float.mdx)
---
## UserTransaction_stddev_pop_fields (3)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
aggregate stddev_pop on columns
```graphql
type UserTransaction_stddev_pop_fields {
block: Float
fee: Float
timestamp: Float
}
```
### Fields
#### [UserTransaction_stddev_pop_fields.block
](#)[Float
](/docs/api/lockup/graphql/envio/scalars/float.mdx)
#### [UserTransaction_stddev_pop_fields.fee
](#)[Float
](/docs/api/lockup/graphql/envio/scalars/float.mdx)
#### [UserTransaction_stddev_pop_fields.timestamp
](#)[Float
](/docs/api/lockup/graphql/envio/scalars/float.mdx)
---
## UserTransaction_stddev_samp_fields (3)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
aggregate stddev_samp on columns
```graphql
type UserTransaction_stddev_samp_fields {
block: Float
fee: Float
timestamp: Float
}
```
### Fields
#### [UserTransaction_stddev_samp_fields.block
](#)[Float
](/docs/api/lockup/graphql/envio/scalars/float.mdx)
#### [UserTransaction_stddev_samp_fields.fee
](#)[Float
](/docs/api/lockup/graphql/envio/scalars/float.mdx)
#### [UserTransaction_stddev_samp_fields.timestamp
](#)[Float
](/docs/api/lockup/graphql/envio/scalars/float.mdx)
---
## UserTransaction_sum_fields (3)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
aggregate sum on columns
```graphql
type UserTransaction_sum_fields {
block: numeric
fee: float8
timestamp: numeric
}
```
### Fields
#### [UserTransaction_sum_fields.block
](#)[numeric
](/docs/api/lockup/graphql/envio/scalars/numeric.mdx)
#### [UserTransaction_sum_fields.fee
](#)[float8
](/docs/api/lockup/graphql/envio/scalars/float-8.mdx)
#### [UserTransaction_sum_fields.timestamp
](#)[numeric
](/docs/api/lockup/graphql/envio/scalars/numeric.mdx)
---
## UserTransaction_var_pop_fields (3)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
aggregate var_pop on columns
```graphql
type UserTransaction_var_pop_fields {
block: Float
fee: Float
timestamp: Float
}
```
### Fields
#### [UserTransaction_var_pop_fields.block
](#)[Float
](/docs/api/lockup/graphql/envio/scalars/float.mdx)
#### [UserTransaction_var_pop_fields.fee
](#)[Float
](/docs/api/lockup/graphql/envio/scalars/float.mdx)
#### [UserTransaction_var_pop_fields.timestamp
](#)[Float
](/docs/api/lockup/graphql/envio/scalars/float.mdx)
---
## UserTransaction_var_samp_fields (3)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
aggregate var_samp on columns
```graphql
type UserTransaction_var_samp_fields {
block: Float
fee: Float
timestamp: Float
}
```
### Fields
#### [UserTransaction_var_samp_fields.block
](#)[Float
](/docs/api/lockup/graphql/envio/scalars/float.mdx)
#### [UserTransaction_var_samp_fields.fee
](#)[Float
](/docs/api/lockup/graphql/envio/scalars/float.mdx)
#### [UserTransaction_var_samp_fields.timestamp
](#)[Float
](/docs/api/lockup/graphql/envio/scalars/float.mdx)
---
## UserTransaction_variance_fields (3)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
aggregate variance on columns
```graphql
type UserTransaction_variance_fields {
block: Float
fee: Float
timestamp: Float
}
```
### Fields
#### [UserTransaction_variance_fields.block
](#)[Float
](/docs/api/lockup/graphql/envio/scalars/float.mdx)
#### [UserTransaction_variance_fields.fee
](#)[Float
](/docs/api/lockup/graphql/envio/scalars/float.mdx)
#### [UserTransaction_variance_fields.timestamp
](#)[Float
](/docs/api/lockup/graphql/envio/scalars/float.mdx)
---
## UserTransaction (5)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
columns and relationships of "UserTransaction"
```graphql
type UserTransaction {
block: numeric!
db_write_timestamp: timestamp
fee: float8!
hash: String!
id: String!
isAirdropClaim: Boolean!
timestamp: numeric!
user: User
user_id: String!
}
```
### Fields
#### [UserTransaction.block
](#)[numeric!
](/docs/api/lockup/graphql/envio/scalars/numeric.mdx)
#### [UserTransaction.db_write_timestamp
](#)[timestamp
](/docs/api/lockup/graphql/envio/scalars/timestamp.mdx)
#### [UserTransaction.fee
](#)[float8!
](/docs/api/lockup/graphql/envio/scalars/float-8.mdx)
#### [UserTransaction.hash
](#)[String!
](/docs/api/lockup/graphql/envio/scalars/string.mdx)
#### [UserTransaction.id
](#)[String!
](/docs/api/lockup/graphql/envio/scalars/string.mdx)
#### [UserTransaction.isAirdropClaim
](#)[Boolean!
](/docs/api/lockup/graphql/envio/scalars/boolean.mdx)
#### [UserTransaction.timestamp
](#)[numeric!
](/docs/api/lockup/graphql/envio/scalars/numeric.mdx)
#### [UserTransaction.user
](#)[User
](/docs/api/lockup/graphql/envio/objects/user.mdx)
An object relationship
#### [UserTransaction.user_id
](#)[String!
](/docs/api/lockup/graphql/envio/scalars/string.mdx)
---
## User_var_pop_fields (3)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
aggregate var_pop on columns
```graphql
type User_var_pop_fields {
chainId: Float
}
```
### Fields
#### [User_var_pop_fields.chainId
](#)[Float
](/docs/api/lockup/graphql/envio/scalars/float.mdx)
---
## User_var_samp_fields (3)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
aggregate var_samp on columns
```graphql
type User_var_samp_fields {
chainId: Float
}
```
### Fields
#### [User_var_samp_fields.chainId
](#)[Float
](/docs/api/lockup/graphql/envio/scalars/float.mdx)
---
## User_variance_fields (3)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
aggregate variance on columns
```graphql
type User_variance_fields {
chainId: Float
}
```
### Fields
#### [User_variance_fields.chainId
](#)[Float
](/docs/api/lockup/graphql/envio/scalars/float.mdx)
---
## User (5)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
columns and relationships of "User"
```graphql
type User {
address: String!
chainId: numeric!
db_write_timestamp: timestamp
id: String!
isOnlyAirdropClaimer: Boolean!
transactions(
distinct_on: [UserTransaction_select_column!]
limit: Int
offset: Int
order_by: [UserTransaction_order_by!]
where: UserTransaction_bool_exp
): [UserTransaction!]!
transactions_aggregate(
distinct_on: [UserTransaction_select_column!]
limit: Int
offset: Int
order_by: [UserTransaction_order_by!]
where: UserTransaction_bool_exp
): UserTransaction_aggregate!
}
```
### Fields
#### [User.address
](#)[String!
](/docs/api/lockup/graphql/envio/scalars/string.mdx)
#### [User.chainId
](#)[numeric!
](/docs/api/lockup/graphql/envio/scalars/numeric.mdx)
#### [User.db_write_timestamp
](#)[timestamp
](/docs/api/lockup/graphql/envio/scalars/timestamp.mdx)
#### [User.id
](#)[String!
](/docs/api/lockup/graphql/envio/scalars/string.mdx)
#### [User.isOnlyAirdropClaimer
](#)[Boolean!
](/docs/api/lockup/graphql/envio/scalars/boolean.mdx)
#### [User.transactions
](#)[[UserTransaction!]!
](/docs/api/lockup/graphql/envio/objects/user-transaction.mdx)
An array relationship
##### [User.transactions.distinct_on
](#)[[UserTransaction_select_column!]
](/docs/api/lockup/graphql/envio/enums/user-transaction-select-column.mdx)
distinct select on columns
##### [User.transactions.limit
](#)[Int
](/docs/api/lockup/graphql/envio/scalars/int.mdx)
limit the number of rows returned
##### [User.transactions.offset
](#)[Int
](/docs/api/lockup/graphql/envio/scalars/int.mdx)
skip the first n rows. Use only with order_by
##### [User.transactions.order_by
](#)[[UserTransaction_order_by!]
](/docs/api/lockup/graphql/envio/inputs/user-transaction-order-by.mdx)
sort the rows by one or more columns
##### [User.transactions.where
](#)[UserTransaction_bool_exp
](/docs/api/lockup/graphql/envio/inputs/user-transaction-bool-exp.mdx)
filter the rows returned
#### [User.transactions_aggregate
](#)[UserTransaction_aggregate!
](/docs/api/lockup/graphql/envio/objects/user-transaction-aggregate.mdx)
An aggregate relationship
##### [User.transactions_aggregate.distinct_on
](#)[[UserTransaction_select_column!]
](/docs/api/lockup/graphql/envio/enums/user-transaction-select-column.mdx)
distinct select on columns
##### [User.transactions_aggregate.limit
](#)[Int
](/docs/api/lockup/graphql/envio/scalars/int.mdx)
limit the number of rows returned
##### [User.transactions_aggregate.offset
](#)[Int
](/docs/api/lockup/graphql/envio/scalars/int.mdx)
skip the first n rows. Use only with order_by
##### [User.transactions_aggregate.order_by
](#)[[UserTransaction_order_by!]
](/docs/api/lockup/graphql/envio/inputs/user-transaction-order-by.mdx)
sort the rows by one or more columns
##### [User.transactions_aggregate.where
](#)[UserTransaction_bool_exp
](/docs/api/lockup/graphql/envio/inputs/user-transaction-bool-exp.mdx)
filter the rows returned
---
## Watcher (9)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
columns and relationships of "Watcher"
```graphql
type Watcher {
actionCounter: numeric!
chainId: numeric!
db_write_timestamp: timestamp
id: String!
streamCounter: numeric!
}
```
### Fields
#### [Watcher.actionCounter
](#)[numeric!
](/docs/api/lockup/graphql/envio/scalars/numeric.mdx)
#### [Watcher.chainId
](#)[numeric!
](/docs/api/lockup/graphql/envio/scalars/numeric.mdx)
#### [Watcher.db_write_timestamp
](#)[timestamp
](/docs/api/lockup/graphql/envio/scalars/timestamp.mdx)
#### [Watcher.id
](#)[String!
](/docs/api/lockup/graphql/envio/scalars/string.mdx)
#### [Watcher.streamCounter
](#)[numeric!
](/docs/api/lockup/graphql/envio/scalars/numeric.mdx)
---
## Action_by_pk (3)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
fetch data from the table: "Action" using primary key columns
```graphql
Action_by_pk(
id: String!
): Action
```
### Arguments
#### [Action_by_pk.id
](#)[String!
](/docs/api/lockup/graphql/envio/scalars/string.mdx)
### Type
#### [Action
](/docs/api/lockup/graphql/envio/objects/action.mdx)
columns and relationships of "Action"
---
## Action (10)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
fetch data from the table: "Action"
```graphql
Action(
distinct_on: [Action_select_column!]
limit: Int
offset: Int
order_by: [Action_order_by!]
where: Action_bool_exp
): [Action!]!
```
### Arguments
#### [Action.distinct_on
](#)[[Action_select_column!]
](/docs/api/lockup/graphql/envio/enums/action-select-column.mdx)
distinct select on columns
#### [Action.limit
](#)[Int
](/docs/api/lockup/graphql/envio/scalars/int.mdx)
limit the number of rows returned
#### [Action.offset
](#)[Int
](/docs/api/lockup/graphql/envio/scalars/int.mdx)
skip the first n rows. Use only with order_by
#### [Action.order_by
](#)[[Action_order_by!]
](/docs/api/lockup/graphql/envio/inputs/action-order-by.mdx)
sort the rows by one or more columns
#### [Action.where
](#)[Action_bool_exp
](/docs/api/lockup/graphql/envio/inputs/action-bool-exp.mdx)
filter the rows returned
### Type
#### [Action
](/docs/api/lockup/graphql/envio/objects/action.mdx)
columns and relationships of "Action"
---
## Asset_by_pk (3)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
fetch data from the table: "Asset" using primary key columns
```graphql
Asset_by_pk(
id: String!
): Asset
```
### Arguments
#### [Asset_by_pk.id
](#)[String!
](/docs/api/lockup/graphql/envio/scalars/string.mdx)
### Type
#### [Asset
](/docs/api/lockup/graphql/envio/objects/asset.mdx)
columns and relationships of "Asset"
---
## Asset (10)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
fetch data from the table: "Asset"
```graphql
Asset(
distinct_on: [Asset_select_column!]
limit: Int
offset: Int
order_by: [Asset_order_by!]
where: Asset_bool_exp
): [Asset!]!
```
### Arguments
#### [Asset.distinct_on
](#)[[Asset_select_column!]
](/docs/api/lockup/graphql/envio/enums/asset-select-column.mdx)
distinct select on columns
#### [Asset.limit
](#)[Int
](/docs/api/lockup/graphql/envio/scalars/int.mdx)
limit the number of rows returned
#### [Asset.offset
](#)[Int
](/docs/api/lockup/graphql/envio/scalars/int.mdx)
skip the first n rows. Use only with order_by
#### [Asset.order_by
](#)[[Asset_order_by!]
](/docs/api/lockup/graphql/envio/inputs/asset-order-by.mdx)
sort the rows by one or more columns
#### [Asset.where
](#)[Asset_bool_exp
](/docs/api/lockup/graphql/envio/inputs/asset-bool-exp.mdx)
filter the rows returned
### Type
#### [Asset
](/docs/api/lockup/graphql/envio/objects/asset.mdx)
columns and relationships of "Asset"
---
## Batch_by_pk (2)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
fetch data from the table: "Batch" using primary key columns
```graphql
Batch_by_pk(
id: String!
): Batch
```
### Arguments
#### [Batch_by_pk.id
](#)[String!
](/docs/api/lockup/graphql/envio/scalars/string.mdx)
### Type
#### [Batch
](/docs/api/lockup/graphql/envio/objects/batch.mdx)
columns and relationships of "Batch"
---
## Batch (8)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
fetch data from the table: "Batch"
```graphql
Batch(
distinct_on: [Batch_select_column!]
limit: Int
offset: Int
order_by: [Batch_order_by!]
where: Batch_bool_exp
): [Batch!]!
```
### Arguments
#### [Batch.distinct_on
](#)[[Batch_select_column!]
](/docs/api/lockup/graphql/envio/enums/batch-select-column.mdx)
distinct select on columns
#### [Batch.limit
](#)[Int
](/docs/api/lockup/graphql/envio/scalars/int.mdx)
limit the number of rows returned
#### [Batch.offset
](#)[Int
](/docs/api/lockup/graphql/envio/scalars/int.mdx)
skip the first n rows. Use only with order_by
#### [Batch.order_by
](#)[[Batch_order_by!]
](/docs/api/lockup/graphql/envio/inputs/batch-order-by.mdx)
sort the rows by one or more columns
#### [Batch.where
](#)[Batch_bool_exp
](/docs/api/lockup/graphql/envio/inputs/batch-bool-exp.mdx)
filter the rows returned
### Type
#### [Batch
](/docs/api/lockup/graphql/envio/objects/batch.mdx)
columns and relationships of "Batch"
---
## Batcher_by_pk (2)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
fetch data from the table: "Batcher" using primary key columns
```graphql
Batcher_by_pk(
id: String!
): Batcher
```
### Arguments
#### [Batcher_by_pk.id
](#)[String!
](/docs/api/lockup/graphql/envio/scalars/string.mdx)
### Type
#### [Batcher
](/docs/api/lockup/graphql/envio/objects/batcher.mdx)
columns and relationships of "Batcher"
---
## Batcher (8)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
fetch data from the table: "Batcher"
```graphql
Batcher(
distinct_on: [Batcher_select_column!]
limit: Int
offset: Int
order_by: [Batcher_order_by!]
where: Batcher_bool_exp
): [Batcher!]!
```
### Arguments
#### [Batcher.distinct_on
](#)[[Batcher_select_column!]
](/docs/api/lockup/graphql/envio/enums/batcher-select-column.mdx)
distinct select on columns
#### [Batcher.limit
](#)[Int
](/docs/api/lockup/graphql/envio/scalars/int.mdx)
limit the number of rows returned
#### [Batcher.offset
](#)[Int
](/docs/api/lockup/graphql/envio/scalars/int.mdx)
skip the first n rows. Use only with order_by
#### [Batcher.order_by
](#)[[Batcher_order_by!]
](/docs/api/lockup/graphql/envio/inputs/batcher-order-by.mdx)
sort the rows by one or more columns
#### [Batcher.where
](#)[Batcher_bool_exp
](/docs/api/lockup/graphql/envio/inputs/batcher-bool-exp.mdx)
filter the rows returned
### Type
#### [Batcher
](/docs/api/lockup/graphql/envio/objects/batcher.mdx)
columns and relationships of "Batcher"
---
## chain_metadata_by_pk (3)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
fetch data from the table: "chain_metadata" using primary key columns
```graphql
chain_metadata_by_pk(
chain_id: Int!
): chain_metadata
```
### Arguments
#### [chain_metadata_by_pk.chain_id
](#)[Int!
](/docs/api/lockup/graphql/envio/scalars/int.mdx)
### Type
#### [chain_metadata
](/docs/api/lockup/graphql/envio/objects/chain-metadata.mdx)
columns and relationships of "chain_metadata"
---
## chain_metadata (6)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
fetch data from the table: "chain_metadata"
```graphql
chain_metadata(
distinct_on: [chain_metadata_select_column!]
limit: Int
offset: Int
order_by: [chain_metadata_order_by!]
where: chain_metadata_bool_exp
): [chain_metadata!]!
```
### Arguments
#### [chain_metadata.distinct_on
](#)[[chain_metadata_select_column!]
](/docs/api/lockup/graphql/envio/enums/chain-metadata-select-column.mdx)
distinct select on columns
#### [chain_metadata.limit
](#)[Int
](/docs/api/lockup/graphql/envio/scalars/int.mdx)
limit the number of rows returned
#### [chain_metadata.offset
](#)[Int
](/docs/api/lockup/graphql/envio/scalars/int.mdx)
skip the first n rows. Use only with order_by
#### [chain_metadata.order_by
](#)[[chain_metadata_order_by!]
](/docs/api/lockup/graphql/envio/inputs/chain-metadata-order-by.mdx)
sort the rows by one or more columns
#### [chain_metadata.where
](#)[chain_metadata_bool_exp
](/docs/api/lockup/graphql/envio/inputs/chain-metadata-bool-exp.mdx)
filter the rows returned
### Type
#### [chain_metadata
](/docs/api/lockup/graphql/envio/objects/chain-metadata.mdx)
columns and relationships of "chain_metadata"
---
## Contract_by_pk (2)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
fetch data from the table: "Contract" using primary key columns
```graphql
Contract_by_pk(
id: String!
): Contract
```
### Arguments
#### [Contract_by_pk.id
](#)[String!
](/docs/api/lockup/graphql/envio/scalars/string.mdx)
### Type
#### [Contract
](/docs/api/lockup/graphql/envio/objects/contract.mdx)
columns and relationships of "Contract"
---
## Contract (4)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
fetch data from the table: "Contract"
```graphql
Contract(
distinct_on: [Contract_select_column!]
limit: Int
offset: Int
order_by: [Contract_order_by!]
where: Contract_bool_exp
): [Contract!]!
```
### Arguments
#### [Contract.distinct_on
](#)[[Contract_select_column!]
](/docs/api/lockup/graphql/envio/enums/contract-select-column.mdx)
distinct select on columns
#### [Contract.limit
](#)[Int
](/docs/api/lockup/graphql/envio/scalars/int.mdx)
limit the number of rows returned
#### [Contract.offset
](#)[Int
](/docs/api/lockup/graphql/envio/scalars/int.mdx)
skip the first n rows. Use only with order_by
#### [Contract.order_by
](#)[[Contract_order_by!]
](/docs/api/lockup/graphql/envio/inputs/contract-order-by.mdx)
sort the rows by one or more columns
#### [Contract.where
](#)[Contract_bool_exp
](/docs/api/lockup/graphql/envio/inputs/contract-bool-exp.mdx)
filter the rows returned
### Type
#### [Contract
](/docs/api/lockup/graphql/envio/objects/contract.mdx)
columns and relationships of "Contract"
---
## dynamic_contract_registry_by_pk (3)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
fetch data from the table: "dynamic_contract_registry" using primary key columns
```graphql
dynamic_contract_registry_by_pk(
id: String!
): dynamic_contract_registry
```
### Arguments
#### [dynamic_contract_registry_by_pk.id
](#)[String!
](/docs/api/lockup/graphql/envio/scalars/string.mdx)
### Type
#### [dynamic_contract_registry
](/docs/api/lockup/graphql/envio/objects/dynamic-contract-registry.mdx)
columns and relationships of "dynamic_contract_registry"
---
## dynamic_contract_registry (6)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
fetch data from the table: "dynamic_contract_registry"
```graphql
dynamic_contract_registry(
distinct_on: [dynamic_contract_registry_select_column!]
limit: Int
offset: Int
order_by: [dynamic_contract_registry_order_by!]
where: dynamic_contract_registry_bool_exp
): [dynamic_contract_registry!]!
```
### Arguments
#### [dynamic_contract_registry.distinct_on
](#)[[dynamic_contract_registry_select_column!]
](/docs/api/lockup/graphql/envio/enums/dynamic-contract-registry-select-column.mdx)
distinct select on columns
#### [dynamic_contract_registry.limit
](#)[Int
](/docs/api/lockup/graphql/envio/scalars/int.mdx)
limit the number of rows returned
#### [dynamic_contract_registry.offset
](#)[Int
](/docs/api/lockup/graphql/envio/scalars/int.mdx)
skip the first n rows. Use only with order_by
#### [dynamic_contract_registry.order_by
](#)[[dynamic_contract_registry_order_by!]
](/docs/api/lockup/graphql/envio/inputs/dynamic-contract-registry-order-by.mdx)
sort the rows by one or more columns
#### [dynamic_contract_registry.where
](#)[dynamic_contract_registry_bool_exp
](/docs/api/lockup/graphql/envio/inputs/dynamic-contract-registry-bool-exp.mdx)
filter the rows returned
### Type
#### [dynamic_contract_registry
](/docs/api/lockup/graphql/envio/objects/dynamic-contract-registry.mdx)
columns and relationships of "dynamic_contract_registry"
---
## end_of_block_range_scanned_data_by_pk (3)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
fetch data from the table: "end_of_block_range_scanned_data" using primary key columns
```graphql
end_of_block_range_scanned_data_by_pk(
block_number: Int!
chain_id: Int!
): end_of_block_range_scanned_data
```
### Arguments
#### [end_of_block_range_scanned_data_by_pk.block_number
](#)[Int!
](/docs/api/lockup/graphql/envio/scalars/int.mdx)
#### [end_of_block_range_scanned_data_by_pk.chain_id
](#)[Int!
](/docs/api/lockup/graphql/envio/scalars/int.mdx)
### Type
#### [end_of_block_range_scanned_data
](/docs/api/lockup/graphql/envio/objects/end-of-block-range-scanned-data.mdx)
columns and relationships of "end_of_block_range_scanned_data"
---
## end_of_block_range_scanned_data (6)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
fetch data from the table: "end_of_block_range_scanned_data"
```graphql
end_of_block_range_scanned_data(
distinct_on: [end_of_block_range_scanned_data_select_column!]
limit: Int
offset: Int
order_by: [end_of_block_range_scanned_data_order_by!]
where: end_of_block_range_scanned_data_bool_exp
): [end_of_block_range_scanned_data!]!
```
### Arguments
#### [end_of_block_range_scanned_data.distinct_on
](#)[[end_of_block_range_scanned_data_select_column!]
](/docs/api/lockup/graphql/envio/enums/end-of-block-range-scanned-data-select-column.mdx)
distinct select on columns
#### [end_of_block_range_scanned_data.limit
](#)[Int
](/docs/api/lockup/graphql/envio/scalars/int.mdx)
limit the number of rows returned
#### [end_of_block_range_scanned_data.offset
](#)[Int
](/docs/api/lockup/graphql/envio/scalars/int.mdx)
skip the first n rows. Use only with order_by
#### [end_of_block_range_scanned_data.order_by
](#)[[end_of_block_range_scanned_data_order_by!]
](/docs/api/lockup/graphql/envio/inputs/end-of-block-range-scanned-data-order-by.mdx)
sort the rows by one or more columns
#### [end_of_block_range_scanned_data.where
](#)[end_of_block_range_scanned_data_bool_exp
](/docs/api/lockup/graphql/envio/inputs/end-of-block-range-scanned-data-bool-exp.mdx)
filter the rows returned
### Type
#### [end_of_block_range_scanned_data
](/docs/api/lockup/graphql/envio/objects/end-of-block-range-scanned-data.mdx)
columns and relationships of "end_of_block_range_scanned_data"
---
## event_sync_state_by_pk (3)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
fetch data from the table: "event_sync_state" using primary key columns
```graphql
event_sync_state_by_pk(
chain_id: Int!
): event_sync_state
```
### Arguments
#### [event_sync_state_by_pk.chain_id
](#)[Int!
](/docs/api/lockup/graphql/envio/scalars/int.mdx)
### Type
#### [event_sync_state
](/docs/api/lockup/graphql/envio/objects/event-sync-state.mdx)
columns and relationships of "event_sync_state"
---
## event_sync_state (6)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
fetch data from the table: "event_sync_state"
```graphql
event_sync_state(
distinct_on: [event_sync_state_select_column!]
limit: Int
offset: Int
order_by: [event_sync_state_order_by!]
where: event_sync_state_bool_exp
): [event_sync_state!]!
```
### Arguments
#### [event_sync_state.distinct_on
](#)[[event_sync_state_select_column!]
](/docs/api/lockup/graphql/envio/enums/event-sync-state-select-column.mdx)
distinct select on columns
#### [event_sync_state.limit
](#)[Int
](/docs/api/lockup/graphql/envio/scalars/int.mdx)
limit the number of rows returned
#### [event_sync_state.offset
](#)[Int
](/docs/api/lockup/graphql/envio/scalars/int.mdx)
skip the first n rows. Use only with order_by
#### [event_sync_state.order_by
](#)[[event_sync_state_order_by!]
](/docs/api/lockup/graphql/envio/inputs/event-sync-state-order-by.mdx)
sort the rows by one or more columns
#### [event_sync_state.where
](#)[event_sync_state_bool_exp
](/docs/api/lockup/graphql/envio/inputs/event-sync-state-bool-exp.mdx)
filter the rows returned
### Type
#### [event_sync_state
](/docs/api/lockup/graphql/envio/objects/event-sync-state.mdx)
columns and relationships of "event_sync_state"
---
## persisted_state_by_pk (3)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
fetch data from the table: "persisted_state" using primary key columns
```graphql
persisted_state_by_pk(
id: Int!
): persisted_state
```
### Arguments
#### [persisted_state_by_pk.id
](#)[Int!
](/docs/api/lockup/graphql/envio/scalars/int.mdx)
### Type
#### [persisted_state
](/docs/api/lockup/graphql/envio/objects/persisted-state.mdx)
columns and relationships of "persisted_state"
---
## persisted_state (6)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
fetch data from the table: "persisted_state"
```graphql
persisted_state(
distinct_on: [persisted_state_select_column!]
limit: Int
offset: Int
order_by: [persisted_state_order_by!]
where: persisted_state_bool_exp
): [persisted_state!]!
```
### Arguments
#### [persisted_state.distinct_on
](#)[[persisted_state_select_column!]
](/docs/api/lockup/graphql/envio/enums/persisted-state-select-column.mdx)
distinct select on columns
#### [persisted_state.limit
](#)[Int
](/docs/api/lockup/graphql/envio/scalars/int.mdx)
limit the number of rows returned
#### [persisted_state.offset
](#)[Int
](/docs/api/lockup/graphql/envio/scalars/int.mdx)
skip the first n rows. Use only with order_by
#### [persisted_state.order_by
](#)[[persisted_state_order_by!]
](/docs/api/lockup/graphql/envio/inputs/persisted-state-order-by.mdx)
sort the rows by one or more columns
#### [persisted_state.where
](#)[persisted_state_bool_exp
](/docs/api/lockup/graphql/envio/inputs/persisted-state-bool-exp.mdx)
filter the rows returned
### Type
#### [persisted_state
](/docs/api/lockup/graphql/envio/objects/persisted-state.mdx)
columns and relationships of "persisted_state"
---
## raw_events_by_pk (3)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
fetch data from the table: "raw_events" using primary key columns
```graphql
raw_events_by_pk(
serial: Int!
): raw_events
```
### Arguments
#### [raw_events_by_pk.serial
](#)[Int!
](/docs/api/lockup/graphql/envio/scalars/int.mdx)
### Type
#### [raw_events
](/docs/api/lockup/graphql/envio/objects/raw-events.mdx)
columns and relationships of "raw_events"
---
## raw_events (6)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
fetch data from the table: "raw_events"
```graphql
raw_events(
distinct_on: [raw_events_select_column!]
limit: Int
offset: Int
order_by: [raw_events_order_by!]
where: raw_events_bool_exp
): [raw_events!]!
```
### Arguments
#### [raw_events.distinct_on
](#)[[raw_events_select_column!]
](/docs/api/lockup/graphql/envio/enums/raw-events-select-column.mdx)
distinct select on columns
#### [raw_events.limit
](#)[Int
](/docs/api/lockup/graphql/envio/scalars/int.mdx)
limit the number of rows returned
#### [raw_events.offset
](#)[Int
](/docs/api/lockup/graphql/envio/scalars/int.mdx)
skip the first n rows. Use only with order_by
#### [raw_events.order_by
](#)[[raw_events_order_by!]
](/docs/api/lockup/graphql/envio/inputs/raw-events-order-by.mdx)
sort the rows by one or more columns
#### [raw_events.where
](#)[raw_events_bool_exp
](/docs/api/lockup/graphql/envio/inputs/raw-events-bool-exp.mdx)
filter the rows returned
### Type
#### [raw_events
](/docs/api/lockup/graphql/envio/objects/raw-events.mdx)
columns and relationships of "raw_events"
---
## Revenue_aggregate (6)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
fetch aggregated fields from the table: "Revenue"
```graphql
Revenue_aggregate(
distinct_on: [Revenue_select_column!]
limit: Int
offset: Int
order_by: [Revenue_order_by!]
where: Revenue_bool_exp
): Revenue_aggregate!
```
### Arguments
#### [Revenue_aggregate.distinct_on
](#)[[Revenue_select_column!]
](/docs/api/lockup/graphql/envio/enums/revenue-select-column.mdx)
distinct select on columns
#### [Revenue_aggregate.limit
](#)[Int
](/docs/api/lockup/graphql/envio/scalars/int.mdx)
limit the number of rows returned
#### [Revenue_aggregate.offset
](#)[Int
](/docs/api/lockup/graphql/envio/scalars/int.mdx)
skip the first n rows. Use only with order_by
#### [Revenue_aggregate.order_by
](#)[[Revenue_order_by!]
](/docs/api/lockup/graphql/envio/inputs/revenue-order-by.mdx)
sort the rows by one or more columns
#### [Revenue_aggregate.where
](#)[Revenue_bool_exp
](/docs/api/lockup/graphql/envio/inputs/revenue-bool-exp.mdx)
filter the rows returned
### Type
#### [Revenue_aggregate
](/docs/api/lockup/graphql/envio/objects/revenue-aggregate.mdx)
aggregated selection of "Revenue"
---
## Revenue_by_pk (3)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
fetch data from the table: "Revenue" using primary key columns
```graphql
Revenue_by_pk(
id: String!
): Revenue
```
### Arguments
#### [Revenue_by_pk.id
](#)[String!
](/docs/api/lockup/graphql/envio/scalars/string.mdx)
### Type
#### [Revenue
](/docs/api/lockup/graphql/envio/objects/revenue.mdx)
columns and relationships of "Revenue"
---
## RevenueTransaction_aggregate (6)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
fetch aggregated fields from the table: "RevenueTransaction"
```graphql
RevenueTransaction_aggregate(
distinct_on: [RevenueTransaction_select_column!]
limit: Int
offset: Int
order_by: [RevenueTransaction_order_by!]
where: RevenueTransaction_bool_exp
): RevenueTransaction_aggregate!
```
### Arguments
#### [RevenueTransaction_aggregate.distinct_on
](#)[[RevenueTransaction_select_column!]
](/docs/api/lockup/graphql/envio/enums/revenue-transaction-select-column.mdx)
distinct select on columns
#### [RevenueTransaction_aggregate.limit
](#)[Int
](/docs/api/lockup/graphql/envio/scalars/int.mdx)
limit the number of rows returned
#### [RevenueTransaction_aggregate.offset
](#)[Int
](/docs/api/lockup/graphql/envio/scalars/int.mdx)
skip the first n rows. Use only with order_by
#### [RevenueTransaction_aggregate.order_by
](#)[[RevenueTransaction_order_by!]
](/docs/api/lockup/graphql/envio/inputs/revenue-transaction-order-by.mdx)
sort the rows by one or more columns
#### [RevenueTransaction_aggregate.where
](#)[RevenueTransaction_bool_exp
](/docs/api/lockup/graphql/envio/inputs/revenue-transaction-bool-exp.mdx)
filter the rows returned
### Type
#### [RevenueTransaction_aggregate
](/docs/api/lockup/graphql/envio/objects/revenue-transaction-aggregate.mdx)
aggregated selection of "RevenueTransaction"
---
## RevenueTransaction_by_pk (3)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
fetch data from the table: "RevenueTransaction" using primary key columns
```graphql
RevenueTransaction_by_pk(
id: String!
): RevenueTransaction
```
### Arguments
#### [RevenueTransaction_by_pk.id
](#)[String!
](/docs/api/lockup/graphql/envio/scalars/string.mdx)
### Type
#### [RevenueTransaction
](/docs/api/lockup/graphql/envio/objects/revenue-transaction.mdx)
columns and relationships of "RevenueTransaction"
---
## RevenueTransaction (6)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
fetch data from the table: "RevenueTransaction"
```graphql
RevenueTransaction(
distinct_on: [RevenueTransaction_select_column!]
limit: Int
offset: Int
order_by: [RevenueTransaction_order_by!]
where: RevenueTransaction_bool_exp
): [RevenueTransaction!]!
```
### Arguments
#### [RevenueTransaction.distinct_on
](#)[[RevenueTransaction_select_column!]
](/docs/api/lockup/graphql/envio/enums/revenue-transaction-select-column.mdx)
distinct select on columns
#### [RevenueTransaction.limit
](#)[Int
](/docs/api/lockup/graphql/envio/scalars/int.mdx)
limit the number of rows returned
#### [RevenueTransaction.offset
](#)[Int
](/docs/api/lockup/graphql/envio/scalars/int.mdx)
skip the first n rows. Use only with order_by
#### [RevenueTransaction.order_by
](#)[[RevenueTransaction_order_by!]
](/docs/api/lockup/graphql/envio/inputs/revenue-transaction-order-by.mdx)
sort the rows by one or more columns
#### [RevenueTransaction.where
](#)[RevenueTransaction_bool_exp
](/docs/api/lockup/graphql/envio/inputs/revenue-transaction-bool-exp.mdx)
filter the rows returned
### Type
#### [RevenueTransaction
](/docs/api/lockup/graphql/envio/objects/revenue-transaction.mdx)
columns and relationships of "RevenueTransaction"
---
## Revenue (6)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
fetch data from the table: "Revenue"
```graphql
Revenue(
distinct_on: [Revenue_select_column!]
limit: Int
offset: Int
order_by: [Revenue_order_by!]
where: Revenue_bool_exp
): [Revenue!]!
```
### Arguments
#### [Revenue.distinct_on
](#)[[Revenue_select_column!]
](/docs/api/lockup/graphql/envio/enums/revenue-select-column.mdx)
distinct select on columns
#### [Revenue.limit
](#)[Int
](/docs/api/lockup/graphql/envio/scalars/int.mdx)
limit the number of rows returned
#### [Revenue.offset
](#)[Int
](/docs/api/lockup/graphql/envio/scalars/int.mdx)
skip the first n rows. Use only with order_by
#### [Revenue.order_by
](#)[[Revenue_order_by!]
](/docs/api/lockup/graphql/envio/inputs/revenue-order-by.mdx)
sort the rows by one or more columns
#### [Revenue.where
](#)[Revenue_bool_exp
](/docs/api/lockup/graphql/envio/inputs/revenue-bool-exp.mdx)
filter the rows returned
### Type
#### [Revenue
](/docs/api/lockup/graphql/envio/objects/revenue.mdx)
columns and relationships of "Revenue"
---
## Segment_by_pk
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
fetch data from the table: "Segment" using primary key columns
```graphql
Segment_by_pk(
id: String!
): Segment
```
### Arguments
#### [Segment_by_pk.id
](#)[String!
](/docs/api/lockup/graphql/envio/scalars/string.mdx)
### Type
#### [Segment
](/docs/api/lockup/graphql/envio/objects/segment.mdx)
columns and relationships of "Segment"
---
## Segment (2)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
fetch data from the table: "Segment"
```graphql
Segment(
distinct_on: [Segment_select_column!]
limit: Int
offset: Int
order_by: [Segment_order_by!]
where: Segment_bool_exp
): [Segment!]!
```
### Arguments
#### [Segment.distinct_on
](#)[[Segment_select_column!]
](/docs/api/lockup/graphql/envio/enums/segment-select-column.mdx)
distinct select on columns
#### [Segment.limit
](#)[Int
](/docs/api/lockup/graphql/envio/scalars/int.mdx)
limit the number of rows returned
#### [Segment.offset
](#)[Int
](/docs/api/lockup/graphql/envio/scalars/int.mdx)
skip the first n rows. Use only with order_by
#### [Segment.order_by
](#)[[Segment_order_by!]
](/docs/api/lockup/graphql/envio/inputs/segment-order-by.mdx)
sort the rows by one or more columns
#### [Segment.where
](#)[Segment_bool_exp
](/docs/api/lockup/graphql/envio/inputs/segment-bool-exp.mdx)
filter the rows returned
### Type
#### [Segment
](/docs/api/lockup/graphql/envio/objects/segment.mdx)
columns and relationships of "Segment"
---
## Stream_aggregate (4)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
fetch aggregated fields from the table: "Stream"
```graphql
Stream_aggregate(
distinct_on: [Stream_select_column!]
limit: Int
offset: Int
order_by: [Stream_order_by!]
where: Stream_bool_exp
): Stream_aggregate!
```
### Arguments
#### [Stream_aggregate.distinct_on
](#)[[Stream_select_column!]
](/docs/api/lockup/graphql/envio/enums/stream-select-column.mdx)
distinct select on columns
#### [Stream_aggregate.limit
](#)[Int
](/docs/api/lockup/graphql/envio/scalars/int.mdx)
limit the number of rows returned
#### [Stream_aggregate.offset
](#)[Int
](/docs/api/lockup/graphql/envio/scalars/int.mdx)
skip the first n rows. Use only with order_by
#### [Stream_aggregate.order_by
](#)[[Stream_order_by!]
](/docs/api/lockup/graphql/envio/inputs/stream-order-by.mdx)
sort the rows by one or more columns
#### [Stream_aggregate.where
](#)[Stream_bool_exp
](/docs/api/lockup/graphql/envio/inputs/stream-bool-exp.mdx)
filter the rows returned
### Type
#### [Stream_aggregate
](/docs/api/lockup/graphql/envio/objects/stream-aggregate.mdx)
aggregated selection of "Stream"
---
## Stream_by_pk (2)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
fetch data from the table: "Stream" using primary key columns
```graphql
Stream_by_pk(
id: String!
): Stream
```
### Arguments
#### [Stream_by_pk.id
](#)[String!
](/docs/api/lockup/graphql/envio/scalars/string.mdx)
### Type
#### [Stream
](/docs/api/lockup/graphql/envio/objects/stream.mdx)
columns and relationships of "Stream"
---
## Stream (8)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
fetch data from the table: "Stream"
```graphql
Stream(
distinct_on: [Stream_select_column!]
limit: Int
offset: Int
order_by: [Stream_order_by!]
where: Stream_bool_exp
): [Stream!]!
```
### Arguments
#### [Stream.distinct_on
](#)[[Stream_select_column!]
](/docs/api/lockup/graphql/envio/enums/stream-select-column.mdx)
distinct select on columns
#### [Stream.limit
](#)[Int
](/docs/api/lockup/graphql/envio/scalars/int.mdx)
limit the number of rows returned
#### [Stream.offset
](#)[Int
](/docs/api/lockup/graphql/envio/scalars/int.mdx)
skip the first n rows. Use only with order_by
#### [Stream.order_by
](#)[[Stream_order_by!]
](/docs/api/lockup/graphql/envio/inputs/stream-order-by.mdx)
sort the rows by one or more columns
#### [Stream.where
](#)[Stream_bool_exp
](/docs/api/lockup/graphql/envio/inputs/stream-bool-exp.mdx)
filter the rows returned
### Type
#### [Stream
](/docs/api/lockup/graphql/envio/objects/stream.mdx)
columns and relationships of "Stream"
---
## Tranche_by_pk (2)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
fetch data from the table: "Tranche" using primary key columns
```graphql
Tranche_by_pk(
id: String!
): Tranche
```
### Arguments
#### [Tranche_by_pk.id
](#)[String!
](/docs/api/lockup/graphql/envio/scalars/string.mdx)
### Type
#### [Tranche
](/docs/api/lockup/graphql/envio/objects/tranche.mdx)
columns and relationships of "Tranche"
---
## Tranche (6)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
fetch data from the table: "Tranche"
```graphql
Tranche(
distinct_on: [Tranche_select_column!]
limit: Int
offset: Int
order_by: [Tranche_order_by!]
where: Tranche_bool_exp
): [Tranche!]!
```
### Arguments
#### [Tranche.distinct_on
](#)[[Tranche_select_column!]
](/docs/api/lockup/graphql/envio/enums/tranche-select-column.mdx)
distinct select on columns
#### [Tranche.limit
](#)[Int
](/docs/api/lockup/graphql/envio/scalars/int.mdx)
limit the number of rows returned
#### [Tranche.offset
](#)[Int
](/docs/api/lockup/graphql/envio/scalars/int.mdx)
skip the first n rows. Use only with order_by
#### [Tranche.order_by
](#)[[Tranche_order_by!]
](/docs/api/lockup/graphql/envio/inputs/tranche-order-by.mdx)
sort the rows by one or more columns
#### [Tranche.where
](#)[Tranche_bool_exp
](/docs/api/lockup/graphql/envio/inputs/tranche-bool-exp.mdx)
filter the rows returned
### Type
#### [Tranche
](/docs/api/lockup/graphql/envio/objects/tranche.mdx)
columns and relationships of "Tranche"
---
## User_aggregate (6)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
fetch aggregated fields from the table: "User"
```graphql
User_aggregate(
distinct_on: [User_select_column!]
limit: Int
offset: Int
order_by: [User_order_by!]
where: User_bool_exp
): User_aggregate!
```
### Arguments
#### [User_aggregate.distinct_on
](#)[[User_select_column!]
](/docs/api/lockup/graphql/envio/enums/user-select-column.mdx)
distinct select on columns
#### [User_aggregate.limit
](#)[Int
](/docs/api/lockup/graphql/envio/scalars/int.mdx)
limit the number of rows returned
#### [User_aggregate.offset
](#)[Int
](/docs/api/lockup/graphql/envio/scalars/int.mdx)
skip the first n rows. Use only with order_by
#### [User_aggregate.order_by
](#)[[User_order_by!]
](/docs/api/lockup/graphql/envio/inputs/user-order-by.mdx)
sort the rows by one or more columns
#### [User_aggregate.where
](#)[User_bool_exp
](/docs/api/lockup/graphql/envio/inputs/user-bool-exp.mdx)
filter the rows returned
### Type
#### [User_aggregate
](/docs/api/lockup/graphql/envio/objects/user-aggregate.mdx)
aggregated selection of "User"
---
## User_by_pk (3)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
fetch data from the table: "User" using primary key columns
```graphql
User_by_pk(
id: String!
): User
```
### Arguments
#### [User_by_pk.id
](#)[String!
](/docs/api/lockup/graphql/envio/scalars/string.mdx)
### Type
#### [User
](/docs/api/lockup/graphql/envio/objects/user.mdx)
columns and relationships of "User"
---
## UserTransaction_aggregate (6)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
fetch aggregated fields from the table: "UserTransaction"
```graphql
UserTransaction_aggregate(
distinct_on: [UserTransaction_select_column!]
limit: Int
offset: Int
order_by: [UserTransaction_order_by!]
where: UserTransaction_bool_exp
): UserTransaction_aggregate!
```
### Arguments
#### [UserTransaction_aggregate.distinct_on
](#)[[UserTransaction_select_column!]
](/docs/api/lockup/graphql/envio/enums/user-transaction-select-column.mdx)
distinct select on columns
#### [UserTransaction_aggregate.limit
](#)[Int
](/docs/api/lockup/graphql/envio/scalars/int.mdx)
limit the number of rows returned
#### [UserTransaction_aggregate.offset
](#)[Int
](/docs/api/lockup/graphql/envio/scalars/int.mdx)
skip the first n rows. Use only with order_by
#### [UserTransaction_aggregate.order_by
](#)[[UserTransaction_order_by!]
](/docs/api/lockup/graphql/envio/inputs/user-transaction-order-by.mdx)
sort the rows by one or more columns
#### [UserTransaction_aggregate.where
](#)[UserTransaction_bool_exp
](/docs/api/lockup/graphql/envio/inputs/user-transaction-bool-exp.mdx)
filter the rows returned
### Type
#### [UserTransaction_aggregate
](/docs/api/lockup/graphql/envio/objects/user-transaction-aggregate.mdx)
aggregated selection of "UserTransaction"
---
## UserTransaction_by_pk (3)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
fetch data from the table: "UserTransaction" using primary key columns
```graphql
UserTransaction_by_pk(
id: String!
): UserTransaction
```
### Arguments
#### [UserTransaction_by_pk.id
](#)[String!
](/docs/api/lockup/graphql/envio/scalars/string.mdx)
### Type
#### [UserTransaction
](/docs/api/lockup/graphql/envio/objects/user-transaction.mdx)
columns and relationships of "UserTransaction"
---
## UserTransaction (6)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
fetch data from the table: "UserTransaction"
```graphql
UserTransaction(
distinct_on: [UserTransaction_select_column!]
limit: Int
offset: Int
order_by: [UserTransaction_order_by!]
where: UserTransaction_bool_exp
): [UserTransaction!]!
```
### Arguments
#### [UserTransaction.distinct_on
](#)[[UserTransaction_select_column!]
](/docs/api/lockup/graphql/envio/enums/user-transaction-select-column.mdx)
distinct select on columns
#### [UserTransaction.limit
](#)[Int
](/docs/api/lockup/graphql/envio/scalars/int.mdx)
limit the number of rows returned
#### [UserTransaction.offset
](#)[Int
](/docs/api/lockup/graphql/envio/scalars/int.mdx)
skip the first n rows. Use only with order_by
#### [UserTransaction.order_by
](#)[[UserTransaction_order_by!]
](/docs/api/lockup/graphql/envio/inputs/user-transaction-order-by.mdx)
sort the rows by one or more columns
#### [UserTransaction.where
](#)[UserTransaction_bool_exp
](/docs/api/lockup/graphql/envio/inputs/user-transaction-bool-exp.mdx)
filter the rows returned
### Type
#### [UserTransaction
](/docs/api/lockup/graphql/envio/objects/user-transaction.mdx)
columns and relationships of "UserTransaction"
---
## User (6)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
fetch data from the table: "User"
```graphql
User(
distinct_on: [User_select_column!]
limit: Int
offset: Int
order_by: [User_order_by!]
where: User_bool_exp
): [User!]!
```
### Arguments
#### [User.distinct_on
](#)[[User_select_column!]
](/docs/api/lockup/graphql/envio/enums/user-select-column.mdx)
distinct select on columns
#### [User.limit
](#)[Int
](/docs/api/lockup/graphql/envio/scalars/int.mdx)
limit the number of rows returned
#### [User.offset
](#)[Int
](/docs/api/lockup/graphql/envio/scalars/int.mdx)
skip the first n rows. Use only with order_by
#### [User.order_by
](#)[[User_order_by!]
](/docs/api/lockup/graphql/envio/inputs/user-order-by.mdx)
sort the rows by one or more columns
#### [User.where
](#)[User_bool_exp
](/docs/api/lockup/graphql/envio/inputs/user-bool-exp.mdx)
filter the rows returned
### Type
#### [User
](/docs/api/lockup/graphql/envio/objects/user.mdx)
columns and relationships of "User"
---
## Watcher_by_pk (3)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
fetch data from the table: "Watcher" using primary key columns
```graphql
Watcher_by_pk(
id: String!
): Watcher
```
### Arguments
#### [Watcher_by_pk.id
](#)[String!
](/docs/api/lockup/graphql/envio/scalars/string.mdx)
### Type
#### [Watcher
](/docs/api/lockup/graphql/envio/objects/watcher.mdx)
columns and relationships of "Watcher"
---
## Watcher (10)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
fetch data from the table: "Watcher"
```graphql
Watcher(
distinct_on: [Watcher_select_column!]
limit: Int
offset: Int
order_by: [Watcher_order_by!]
where: Watcher_bool_exp
): [Watcher!]!
```
### Arguments
#### [Watcher.distinct_on
](#)[[Watcher_select_column!]
](/docs/api/lockup/graphql/envio/enums/watcher-select-column.mdx)
distinct select on columns
#### [Watcher.limit
](#)[Int
](/docs/api/lockup/graphql/envio/scalars/int.mdx)
limit the number of rows returned
#### [Watcher.offset
](#)[Int
](/docs/api/lockup/graphql/envio/scalars/int.mdx)
skip the first n rows. Use only with order_by
#### [Watcher.order_by
](#)[[Watcher_order_by!]
](/docs/api/lockup/graphql/envio/inputs/watcher-order-by.mdx)
sort the rows by one or more columns
#### [Watcher.where
](#)[Watcher_bool_exp
](/docs/api/lockup/graphql/envio/inputs/watcher-bool-exp.mdx)
filter the rows returned
### Type
#### [Watcher
](/docs/api/lockup/graphql/envio/objects/watcher.mdx)
columns and relationships of "Watcher"
---
## actioncategory (5)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
No description
```graphql
scalar actioncategory
```
---
## Boolean (5)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
The `Boolean` scalar type represents `true` or `false`.
```graphql
scalar Boolean
```
---
## contract_type (3)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
No description
```graphql
scalar contract_type
```
---
## contractcategory
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
No description
```graphql
scalar contractcategory
```
---
## float8 (3)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
No description
```graphql
scalar float8
```
---
## Float (5)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
The `Float` scalar type represents signed double-precision fractional values as specified by [IEEE 754](https://en.wikipedia.org/wiki/IEEE_floating_point).
```graphql
scalar Float
```
---
## Int (5)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
The `Int` scalar type represents non-fractional signed whole numeric values. Int can represent values between -(2^31) and 2^31 - 1.
```graphql
scalar Int
```
---
## jsonb (3)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
No description
```graphql
scalar jsonb
```
---
## numeric (3)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
No description
```graphql
scalar numeric
```
---
## streamcategory (4)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
No description
```graphql
scalar streamcategory
```
---
## String (5)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
The `String` scalar type represents textual data, represented as UTF-8 character sequences. The String type is most often used by GraphQL to represent free-form human-readable text.
```graphql
scalar String
```
---
## timestamp (5)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
No description
```graphql
scalar timestamp
```
---
## timestamptz (3)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
No description
```graphql
scalar timestamptz
```
---
## ActionCategory (6)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
No description
```graphql
enum ActionCategory {
Approval
ApprovalForAll
Cancel
Create
Renounce
Transfer
Withdraw
}
```
### Values
#### [ActionCategory.Approval
](#)
#### [ActionCategory.ApprovalForAll
](#)
#### [ActionCategory.Cancel
](#)
#### [ActionCategory.Create
](#)
#### [ActionCategory.Renounce
](#)
#### [ActionCategory.Transfer
](#)
#### [ActionCategory.Withdraw
](#)
---
## Action_orderBy (3)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
No description
```graphql
enum Action_orderBy {
id
subgraphId
block
chainId
from
hash
timestamp
category
contract
fee
stream
stream__id
stream__alias
stream__chainId
stream__subgraphId
stream__tokenId
stream__hash
stream__timestamp
stream__assetDecimalsValue
stream__category
stream__contract
stream__position
stream__recipient
stream__sender
stream__startTime
stream__transferable
stream__version
stream__withdrawnAmount
stream__cancelable
stream__canceled
stream__canceledTime
stream__depositAmount
stream__duration
stream__endTime
stream__funder
stream__intactAmount
stream__proxender
stream__proxied
stream__renounceTime
stream__shape
stream__cliff
stream__cliffAmount
stream__cliffTime
stream__initial
stream__initialAmount
addressA
addressB
amountA
amountB
}
```
### Values
#### [Action_orderBy.id
](#)
#### [Action_orderBy.subgraphId
](#)
#### [Action_orderBy.block
](#)
#### [Action_orderBy.chainId
](#)
#### [Action_orderBy.from
](#)
#### [Action_orderBy.hash
](#)
#### [Action_orderBy.timestamp
](#)
#### [Action_orderBy.category
](#)
#### [Action_orderBy.contract
](#)
#### [Action_orderBy.fee
](#)
#### [Action_orderBy.stream
](#)
#### [Action_orderBy.stream\_\_id
](#)
#### [Action_orderBy.stream\_\_alias
](#)
#### [Action_orderBy.stream\_\_chainId
](#)
#### [Action_orderBy.stream\_\_subgraphId
](#)
#### [Action_orderBy.stream\_\_tokenId
](#)
#### [Action_orderBy.stream\_\_hash
](#)
#### [Action_orderBy.stream\_\_timestamp
](#)
#### [Action_orderBy.stream\_\_assetDecimalsValue
](#)
#### [Action_orderBy.stream\_\_category
](#)
#### [Action_orderBy.stream\_\_contract
](#)
#### [Action_orderBy.stream\_\_position
](#)
#### [Action_orderBy.stream\_\_recipient
](#)
#### [Action_orderBy.stream\_\_sender
](#)
#### [Action_orderBy.stream\_\_startTime
](#)
#### [Action_orderBy.stream\_\_transferable
](#)
#### [Action_orderBy.stream\_\_version
](#)
#### [Action_orderBy.stream\_\_withdrawnAmount
](#)
#### [Action_orderBy.stream\_\_cancelable
](#)
#### [Action_orderBy.stream\_\_canceled
](#)
#### [Action_orderBy.stream\_\_canceledTime
](#)
#### [Action_orderBy.stream\_\_depositAmount
](#)
#### [Action_orderBy.stream\_\_duration
](#)
#### [Action_orderBy.stream\_\_endTime
](#)
#### [Action_orderBy.stream\_\_funder
](#)
#### [Action_orderBy.stream\_\_intactAmount
](#)
#### [Action_orderBy.stream\_\_proxender
](#)
#### [Action_orderBy.stream\_\_proxied
](#)
#### [Action_orderBy.stream\_\_renounceTime
](#)
#### [Action_orderBy.stream\_\_shape
](#)
#### [Action_orderBy.stream\_\_cliff
](#)
#### [Action_orderBy.stream\_\_cliffAmount
](#)
#### [Action_orderBy.stream\_\_cliffTime
](#)
#### [Action_orderBy.stream\_\_initial
](#)
#### [Action_orderBy.stream\_\_initialAmount
](#)
#### [Action_orderBy.addressA
](#)
#### [Action_orderBy.addressB
](#)
#### [Action_orderBy.amountA
](#)
#### [Action_orderBy.amountB
](#)
---
## Aggregation_interval (3)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
No description
```graphql
enum Aggregation_interval {
hour
day
}
```
### Values
#### [Aggregation_interval.hour
](#)
#### [Aggregation_interval.day
](#)
---
## Asset_orderBy (3)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
No description
```graphql
enum Asset_orderBy {
id
address
chainId
decimals
name
symbol
streams
}
```
### Values
#### [Asset_orderBy.id
](#)
#### [Asset_orderBy.address
](#)
#### [Asset_orderBy.chainId
](#)
#### [Asset_orderBy.decimals
](#)
#### [Asset_orderBy.name
](#)
#### [Asset_orderBy.symbol
](#)
#### [Asset_orderBy.streams
](#)
---
## Batch_orderBy (3)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
No description
```graphql
enum Batch_orderBy {
id
hash
timestamp
batcher
batcher__id
batcher__batchCounter
position
size
streams
}
```
### Values
#### [Batch_orderBy.id
](#)
#### [Batch_orderBy.hash
](#)
#### [Batch_orderBy.timestamp
](#)
#### [Batch_orderBy.batcher
](#)
#### [Batch_orderBy.batcher\_\_id
](#)
#### [Batch_orderBy.batcher\_\_batchCounter
](#)
#### [Batch_orderBy.position
](#)
#### [Batch_orderBy.size
](#)
#### [Batch_orderBy.streams
](#)
---
## Batcher_orderBy (3)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
No description
```graphql
enum Batcher_orderBy {
id
batchCounter
batches
}
```
### Values
#### [Batcher_orderBy.id
](#)
#### [Batcher_orderBy.batchCounter
](#)
#### [Batcher_orderBy.batches
](#)
---
## OrderDirection (3)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
Defines the order direction, either ascending or descending
```graphql
enum OrderDirection {
asc
desc
}
```
### Values
#### [OrderDirection.asc
](#)
#### [OrderDirection.desc
](#)
---
## Segment_orderBy
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
No description
```graphql
enum Segment_orderBy {
id
amount
endAmount
endTime
exponent
position
startAmount
startTime
stream
stream__id
stream__alias
stream__chainId
stream__subgraphId
stream__tokenId
stream__hash
stream__timestamp
stream__assetDecimalsValue
stream__category
stream__contract
stream__position
stream__recipient
stream__sender
stream__startTime
stream__transferable
stream__version
stream__withdrawnAmount
stream__cancelable
stream__canceled
stream__canceledTime
stream__depositAmount
stream__duration
stream__endTime
stream__funder
stream__intactAmount
stream__proxender
stream__proxied
stream__renounceTime
stream__shape
stream__cliff
stream__cliffAmount
stream__cliffTime
stream__initial
stream__initialAmount
}
```
### Values
#### [Segment_orderBy.id
](#)
#### [Segment_orderBy.amount
](#)
#### [Segment_orderBy.endAmount
](#)
#### [Segment_orderBy.endTime
](#)
#### [Segment_orderBy.exponent
](#)
#### [Segment_orderBy.position
](#)
#### [Segment_orderBy.startAmount
](#)
#### [Segment_orderBy.startTime
](#)
#### [Segment_orderBy.stream
](#)
#### [Segment_orderBy.stream\_\_id
](#)
#### [Segment_orderBy.stream\_\_alias
](#)
#### [Segment_orderBy.stream\_\_chainId
](#)
#### [Segment_orderBy.stream\_\_subgraphId
](#)
#### [Segment_orderBy.stream\_\_tokenId
](#)
#### [Segment_orderBy.stream\_\_hash
](#)
#### [Segment_orderBy.stream\_\_timestamp
](#)
#### [Segment_orderBy.stream\_\_assetDecimalsValue
](#)
#### [Segment_orderBy.stream\_\_category
](#)
#### [Segment_orderBy.stream\_\_contract
](#)
#### [Segment_orderBy.stream\_\_position
](#)
#### [Segment_orderBy.stream\_\_recipient
](#)
#### [Segment_orderBy.stream\_\_sender
](#)
#### [Segment_orderBy.stream\_\_startTime
](#)
#### [Segment_orderBy.stream\_\_transferable
](#)
#### [Segment_orderBy.stream\_\_version
](#)
#### [Segment_orderBy.stream\_\_withdrawnAmount
](#)
#### [Segment_orderBy.stream\_\_cancelable
](#)
#### [Segment_orderBy.stream\_\_canceled
](#)
#### [Segment_orderBy.stream\_\_canceledTime
](#)
#### [Segment_orderBy.stream\_\_depositAmount
](#)
#### [Segment_orderBy.stream\_\_duration
](#)
#### [Segment_orderBy.stream\_\_endTime
](#)
#### [Segment_orderBy.stream\_\_funder
](#)
#### [Segment_orderBy.stream\_\_intactAmount
](#)
#### [Segment_orderBy.stream\_\_proxender
](#)
#### [Segment_orderBy.stream\_\_proxied
](#)
#### [Segment_orderBy.stream\_\_renounceTime
](#)
#### [Segment_orderBy.stream\_\_shape
](#)
#### [Segment_orderBy.stream\_\_cliff
](#)
#### [Segment_orderBy.stream\_\_cliffAmount
](#)
#### [Segment_orderBy.stream\_\_cliffTime
](#)
#### [Segment_orderBy.stream\_\_initial
](#)
#### [Segment_orderBy.stream\_\_initialAmount
](#)
---
## StreamCategory (5)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
No description
```graphql
enum StreamCategory {
LockupDynamic
LockupLinear
LockupTranched
}
```
### Values
#### [StreamCategory.LockupDynamic
](#)
#### [StreamCategory.LockupLinear
](#)
#### [StreamCategory.LockupTranched
](#)
---
## Stream_orderBy (3)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
No description
```graphql
enum Stream_orderBy {
id
alias
chainId
subgraphId
tokenId
hash
timestamp
actions
asset
asset__id
asset__address
asset__chainId
asset__decimals
asset__name
asset__symbol
assetDecimalsValue
batch
batch__id
batch__hash
batch__timestamp
batch__position
batch__size
category
contract
position
recipient
sender
startTime
transferable
version
withdrawnAmount
canceledAction
canceledAction__id
canceledAction__subgraphId
canceledAction__block
canceledAction__chainId
canceledAction__from
canceledAction__hash
canceledAction__timestamp
canceledAction__category
canceledAction__contract
canceledAction__fee
canceledAction__addressA
canceledAction__addressB
canceledAction__amountA
canceledAction__amountB
renounceAction
renounceAction__id
renounceAction__subgraphId
renounceAction__block
renounceAction__chainId
renounceAction__from
renounceAction__hash
renounceAction__timestamp
renounceAction__category
renounceAction__contract
renounceAction__fee
renounceAction__addressA
renounceAction__addressB
renounceAction__amountA
renounceAction__amountB
cancelable
canceled
canceledTime
depositAmount
duration
endTime
funder
intactAmount
proxender
proxied
renounceTime
shape
cliff
cliffAmount
cliffTime
initial
initialAmount
segments
tranches
}
```
### Values
#### [Stream_orderBy.id
](#)
#### [Stream_orderBy.alias
](#)
#### [Stream_orderBy.chainId
](#)
#### [Stream_orderBy.subgraphId
](#)
#### [Stream_orderBy.tokenId
](#)
#### [Stream_orderBy.hash
](#)
#### [Stream_orderBy.timestamp
](#)
#### [Stream_orderBy.actions
](#)
#### [Stream_orderBy.asset
](#)
#### [Stream_orderBy.asset\_\_id
](#)
#### [Stream_orderBy.asset\_\_address
](#)
#### [Stream_orderBy.asset\_\_chainId
](#)
#### [Stream_orderBy.asset\_\_decimals
](#)
#### [Stream_orderBy.asset\_\_name
](#)
#### [Stream_orderBy.asset\_\_symbol
](#)
#### [Stream_orderBy.assetDecimalsValue
](#)
#### [Stream_orderBy.batch
](#)
#### [Stream_orderBy.batch\_\_id
](#)
#### [Stream_orderBy.batch\_\_hash
](#)
#### [Stream_orderBy.batch\_\_timestamp
](#)
#### [Stream_orderBy.batch\_\_position
](#)
#### [Stream_orderBy.batch\_\_size
](#)
#### [Stream_orderBy.category
](#)
#### [Stream_orderBy.contract
](#)
#### [Stream_orderBy.position
](#)
#### [Stream_orderBy.recipient
](#)
#### [Stream_orderBy.sender
](#)
#### [Stream_orderBy.startTime
](#)
#### [Stream_orderBy.transferable
](#)
#### [Stream_orderBy.version
](#)
#### [Stream_orderBy.withdrawnAmount
](#)
#### [Stream_orderBy.canceledAction
](#)
#### [Stream_orderBy.canceledAction\_\_id
](#)
#### [Stream_orderBy.canceledAction\_\_subgraphId
](#)
#### [Stream_orderBy.canceledAction\_\_block
](#)
#### [Stream_orderBy.canceledAction\_\_chainId
](#)
#### [Stream_orderBy.canceledAction\_\_from
](#)
#### [Stream_orderBy.canceledAction\_\_hash
](#)
#### [Stream_orderBy.canceledAction\_\_timestamp
](#)
#### [Stream_orderBy.canceledAction\_\_category
](#)
#### [Stream_orderBy.canceledAction\_\_contract
](#)
#### [Stream_orderBy.canceledAction\_\_fee
](#)
#### [Stream_orderBy.canceledAction\_\_addressA
](#)
#### [Stream_orderBy.canceledAction\_\_addressB
](#)
#### [Stream_orderBy.canceledAction\_\_amountA
](#)
#### [Stream_orderBy.canceledAction\_\_amountB
](#)
#### [Stream_orderBy.renounceAction
](#)
#### [Stream_orderBy.renounceAction\_\_id
](#)
#### [Stream_orderBy.renounceAction\_\_subgraphId
](#)
#### [Stream_orderBy.renounceAction\_\_block
](#)
#### [Stream_orderBy.renounceAction\_\_chainId
](#)
#### [Stream_orderBy.renounceAction\_\_from
](#)
#### [Stream_orderBy.renounceAction\_\_hash
](#)
#### [Stream_orderBy.renounceAction\_\_timestamp
](#)
#### [Stream_orderBy.renounceAction\_\_category
](#)
#### [Stream_orderBy.renounceAction\_\_contract
](#)
#### [Stream_orderBy.renounceAction\_\_fee
](#)
#### [Stream_orderBy.renounceAction\_\_addressA
](#)
#### [Stream_orderBy.renounceAction\_\_addressB
](#)
#### [Stream_orderBy.renounceAction\_\_amountA
](#)
#### [Stream_orderBy.renounceAction\_\_amountB
](#)
#### [Stream_orderBy.cancelable
](#)
#### [Stream_orderBy.canceled
](#)
#### [Stream_orderBy.canceledTime
](#)
#### [Stream_orderBy.depositAmount
](#)
#### [Stream_orderBy.duration
](#)
#### [Stream_orderBy.endTime
](#)
#### [Stream_orderBy.funder
](#)
#### [Stream_orderBy.intactAmount
](#)
#### [Stream_orderBy.proxender
](#)
#### [Stream_orderBy.proxied
](#)
#### [Stream_orderBy.renounceTime
](#)
#### [Stream_orderBy.shape
](#)
#### [Stream_orderBy.cliff
](#)
#### [Stream_orderBy.cliffAmount
](#)
#### [Stream_orderBy.cliffTime
](#)
#### [Stream_orderBy.initial
](#)
#### [Stream_orderBy.initialAmount
](#)
#### [Stream_orderBy.segments
](#)
#### [Stream_orderBy.tranches
](#)
---
## _SubgraphErrorPolicy_ (3)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
No description
```graphql
enum _SubgraphErrorPolicy_ {
allow
deny
}
```
### Values
#### [\_SubgraphErrorPolicy\_.allow
](#)
Data will be returned even if the subgraph has indexing errors
#### [\_SubgraphErrorPolicy\_.deny
](#)
If the subgraph has indexing errors, data will be omitted. The default.
---
## Tranche_orderBy (2)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
No description
```graphql
enum Tranche_orderBy {
id
amount
endAmount
endTime
position
startAmount
startTime
stream
stream__id
stream__alias
stream__chainId
stream__subgraphId
stream__tokenId
stream__hash
stream__timestamp
stream__assetDecimalsValue
stream__category
stream__contract
stream__position
stream__recipient
stream__sender
stream__startTime
stream__transferable
stream__version
stream__withdrawnAmount
stream__cancelable
stream__canceled
stream__canceledTime
stream__depositAmount
stream__duration
stream__endTime
stream__funder
stream__intactAmount
stream__proxender
stream__proxied
stream__renounceTime
stream__shape
stream__cliff
stream__cliffAmount
stream__cliffTime
stream__initial
stream__initialAmount
}
```
### Values
#### [Tranche_orderBy.id
](#)
#### [Tranche_orderBy.amount
](#)
#### [Tranche_orderBy.endAmount
](#)
#### [Tranche_orderBy.endTime
](#)
#### [Tranche_orderBy.position
](#)
#### [Tranche_orderBy.startAmount
](#)
#### [Tranche_orderBy.startTime
](#)
#### [Tranche_orderBy.stream
](#)
#### [Tranche_orderBy.stream\_\_id
](#)
#### [Tranche_orderBy.stream\_\_alias
](#)
#### [Tranche_orderBy.stream\_\_chainId
](#)
#### [Tranche_orderBy.stream\_\_subgraphId
](#)
#### [Tranche_orderBy.stream\_\_tokenId
](#)
#### [Tranche_orderBy.stream\_\_hash
](#)
#### [Tranche_orderBy.stream\_\_timestamp
](#)
#### [Tranche_orderBy.stream\_\_assetDecimalsValue
](#)
#### [Tranche_orderBy.stream\_\_category
](#)
#### [Tranche_orderBy.stream\_\_contract
](#)
#### [Tranche_orderBy.stream\_\_position
](#)
#### [Tranche_orderBy.stream\_\_recipient
](#)
#### [Tranche_orderBy.stream\_\_sender
](#)
#### [Tranche_orderBy.stream\_\_startTime
](#)
#### [Tranche_orderBy.stream\_\_transferable
](#)
#### [Tranche_orderBy.stream\_\_version
](#)
#### [Tranche_orderBy.stream\_\_withdrawnAmount
](#)
#### [Tranche_orderBy.stream\_\_cancelable
](#)
#### [Tranche_orderBy.stream\_\_canceled
](#)
#### [Tranche_orderBy.stream\_\_canceledTime
](#)
#### [Tranche_orderBy.stream\_\_depositAmount
](#)
#### [Tranche_orderBy.stream\_\_duration
](#)
#### [Tranche_orderBy.stream\_\_endTime
](#)
#### [Tranche_orderBy.stream\_\_funder
](#)
#### [Tranche_orderBy.stream\_\_intactAmount
](#)
#### [Tranche_orderBy.stream\_\_proxender
](#)
#### [Tranche_orderBy.stream\_\_proxied
](#)
#### [Tranche_orderBy.stream\_\_renounceTime
](#)
#### [Tranche_orderBy.stream\_\_shape
](#)
#### [Tranche_orderBy.stream\_\_cliff
](#)
#### [Tranche_orderBy.stream\_\_cliffAmount
](#)
#### [Tranche_orderBy.stream\_\_cliffTime
](#)
#### [Tranche_orderBy.stream\_\_initial
](#)
#### [Tranche_orderBy.stream\_\_initialAmount
](#)
---
## Watcher_orderBy (3)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
No description
```graphql
enum Watcher_orderBy {
id
actionCounter
chainId
streamCounter
}
```
### Values
#### [Watcher_orderBy.id
](#)
#### [Watcher_orderBy.actionCounter
](#)
#### [Watcher_orderBy.chainId
](#)
#### [Watcher_orderBy.streamCounter
](#)
---
## Overview (8)
This documentation has been automatically generated from the GraphQL schema, with
[GraphQL-Markdown](https://graphql-markdown.github.io).
---
## Action_filter (3)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
No description
```graphql
input Action_filter {
id: String
id_not: String
id_gt: String
id_lt: String
id_gte: String
id_lte: String
id_in: [String!]
id_not_in: [String!]
id_contains: String
id_contains_nocase: String
id_not_contains: String
id_not_contains_nocase: String
id_starts_with: String
id_starts_with_nocase: String
id_not_starts_with: String
id_not_starts_with_nocase: String
id_ends_with: String
id_ends_with_nocase: String
id_not_ends_with: String
id_not_ends_with_nocase: String
subgraphId: BigInt
subgraphId_not: BigInt
subgraphId_gt: BigInt
subgraphId_lt: BigInt
subgraphId_gte: BigInt
subgraphId_lte: BigInt
subgraphId_in: [BigInt!]
subgraphId_not_in: [BigInt!]
block: BigInt
block_not: BigInt
block_gt: BigInt
block_lt: BigInt
block_gte: BigInt
block_lte: BigInt
block_in: [BigInt!]
block_not_in: [BigInt!]
chainId: BigInt
chainId_not: BigInt
chainId_gt: BigInt
chainId_lt: BigInt
chainId_gte: BigInt
chainId_lte: BigInt
chainId_in: [BigInt!]
chainId_not_in: [BigInt!]
from: Bytes
from_not: Bytes
from_gt: Bytes
from_lt: Bytes
from_gte: Bytes
from_lte: Bytes
from_in: [Bytes!]
from_not_in: [Bytes!]
from_contains: Bytes
from_not_contains: Bytes
hash: Bytes
hash_not: Bytes
hash_gt: Bytes
hash_lt: Bytes
hash_gte: Bytes
hash_lte: Bytes
hash_in: [Bytes!]
hash_not_in: [Bytes!]
hash_contains: Bytes
hash_not_contains: Bytes
timestamp: BigInt
timestamp_not: BigInt
timestamp_gt: BigInt
timestamp_lt: BigInt
timestamp_gte: BigInt
timestamp_lte: BigInt
timestamp_in: [BigInt!]
timestamp_not_in: [BigInt!]
category: ActionCategory
category_not: ActionCategory
category_in: [ActionCategory!]
category_not_in: [ActionCategory!]
contract: Bytes
contract_not: Bytes
contract_gt: Bytes
contract_lt: Bytes
contract_gte: Bytes
contract_lte: Bytes
contract_in: [Bytes!]
contract_not_in: [Bytes!]
contract_contains: Bytes
contract_not_contains: Bytes
fee: BigInt
fee_not: BigInt
fee_gt: BigInt
fee_lt: BigInt
fee_gte: BigInt
fee_lte: BigInt
fee_in: [BigInt!]
fee_not_in: [BigInt!]
stream: String
stream_not: String
stream_gt: String
stream_lt: String
stream_gte: String
stream_lte: String
stream_in: [String!]
stream_not_in: [String!]
stream_contains: String
stream_contains_nocase: String
stream_not_contains: String
stream_not_contains_nocase: String
stream_starts_with: String
stream_starts_with_nocase: String
stream_not_starts_with: String
stream_not_starts_with_nocase: String
stream_ends_with: String
stream_ends_with_nocase: String
stream_not_ends_with: String
stream_not_ends_with_nocase: String
stream_: Stream_filter
addressA: Bytes
addressA_not: Bytes
addressA_gt: Bytes
addressA_lt: Bytes
addressA_gte: Bytes
addressA_lte: Bytes
addressA_in: [Bytes!]
addressA_not_in: [Bytes!]
addressA_contains: Bytes
addressA_not_contains: Bytes
addressB: Bytes
addressB_not: Bytes
addressB_gt: Bytes
addressB_lt: Bytes
addressB_gte: Bytes
addressB_lte: Bytes
addressB_in: [Bytes!]
addressB_not_in: [Bytes!]
addressB_contains: Bytes
addressB_not_contains: Bytes
amountA: BigInt
amountA_not: BigInt
amountA_gt: BigInt
amountA_lt: BigInt
amountA_gte: BigInt
amountA_lte: BigInt
amountA_in: [BigInt!]
amountA_not_in: [BigInt!]
amountB: BigInt
amountB_not: BigInt
amountB_gt: BigInt
amountB_lt: BigInt
amountB_gte: BigInt
amountB_lte: BigInt
amountB_in: [BigInt!]
amountB_not_in: [BigInt!]
_change_block: BlockChangedFilter
and: [Action_filter]
or: [Action_filter]
}
```
### Fields
#### [Action_filter.id
](#)[String
](/docs/api/lockup/graphql/the-graph/scalars/string.mdx)
#### [Action_filter.id_not
](#)[String
](/docs/api/lockup/graphql/the-graph/scalars/string.mdx)
#### [Action_filter.id_gt
](#)[String
](/docs/api/lockup/graphql/the-graph/scalars/string.mdx)
#### [Action_filter.id_lt
](#)[String
](/docs/api/lockup/graphql/the-graph/scalars/string.mdx)
#### [Action_filter.id_gte
](#)[String
](/docs/api/lockup/graphql/the-graph/scalars/string.mdx)
#### [Action_filter.id_lte
](#)[String
](/docs/api/lockup/graphql/the-graph/scalars/string.mdx)
#### [Action_filter.id_in
](#)[[String!]
](/docs/api/lockup/graphql/the-graph/scalars/string.mdx)
#### [Action_filter.id_not_in
](#)[[String!]
](/docs/api/lockup/graphql/the-graph/scalars/string.mdx)
#### [Action_filter.id_contains
](#)[String
](/docs/api/lockup/graphql/the-graph/scalars/string.mdx)
#### [Action_filter.id_contains_nocase
](#)[String
](/docs/api/lockup/graphql/the-graph/scalars/string.mdx)
#### [Action_filter.id_not_contains
](#)[String
](/docs/api/lockup/graphql/the-graph/scalars/string.mdx)
#### [Action_filter.id_not_contains_nocase
](#)[String
](/docs/api/lockup/graphql/the-graph/scalars/string.mdx)
#### [Action_filter.id_starts_with
](#)[String
](/docs/api/lockup/graphql/the-graph/scalars/string.mdx)
#### [Action_filter.id_starts_with_nocase
](#)[String
](/docs/api/lockup/graphql/the-graph/scalars/string.mdx)
#### [Action_filter.id_not_starts_with
](#)[String
](/docs/api/lockup/graphql/the-graph/scalars/string.mdx)
#### [Action_filter.id_not_starts_with_nocase
](#)[String
](/docs/api/lockup/graphql/the-graph/scalars/string.mdx)
#### [Action_filter.id_ends_with
](#)[String
](/docs/api/lockup/graphql/the-graph/scalars/string.mdx)
#### [Action_filter.id_ends_with_nocase
](#)[String
](/docs/api/lockup/graphql/the-graph/scalars/string.mdx)
#### [Action_filter.id_not_ends_with
](#)[String
](/docs/api/lockup/graphql/the-graph/scalars/string.mdx)
#### [Action_filter.id_not_ends_with_nocase
](#)[String
](/docs/api/lockup/graphql/the-graph/scalars/string.mdx)
#### [Action_filter.subgraphId
](#)[BigInt
](/docs/api/lockup/graphql/the-graph/scalars/big-int.mdx)
#### [Action_filter.subgraphId_not
](#)[BigInt
](/docs/api/lockup/graphql/the-graph/scalars/big-int.mdx)
#### [Action_filter.subgraphId_gt
](#)[BigInt
](/docs/api/lockup/graphql/the-graph/scalars/big-int.mdx)
#### [Action_filter.subgraphId_lt
](#)[BigInt
](/docs/api/lockup/graphql/the-graph/scalars/big-int.mdx)
#### [Action_filter.subgraphId_gte
](#)[BigInt
](/docs/api/lockup/graphql/the-graph/scalars/big-int.mdx)
#### [Action_filter.subgraphId_lte
](#)[BigInt
](/docs/api/lockup/graphql/the-graph/scalars/big-int.mdx)
#### [Action_filter.subgraphId_in
](#)[[BigInt!]
](/docs/api/lockup/graphql/the-graph/scalars/big-int.mdx)
#### [Action_filter.subgraphId_not_in
](#)[[BigInt!]
](/docs/api/lockup/graphql/the-graph/scalars/big-int.mdx)
#### [Action_filter.block
](#)[BigInt
](/docs/api/lockup/graphql/the-graph/scalars/big-int.mdx)
#### [Action_filter.block_not
](#)[BigInt
](/docs/api/lockup/graphql/the-graph/scalars/big-int.mdx)
#### [Action_filter.block_gt
](#)[BigInt
](/docs/api/lockup/graphql/the-graph/scalars/big-int.mdx)
#### [Action_filter.block_lt
](#)[BigInt
](/docs/api/lockup/graphql/the-graph/scalars/big-int.mdx)
#### [Action_filter.block_gte
](#)[BigInt
](/docs/api/lockup/graphql/the-graph/scalars/big-int.mdx)
#### [Action_filter.block_lte
](#)[BigInt
](/docs/api/lockup/graphql/the-graph/scalars/big-int.mdx)
#### [Action_filter.block_in
](#)[[BigInt!]
](/docs/api/lockup/graphql/the-graph/scalars/big-int.mdx)
#### [Action_filter.block_not_in
](#)[[BigInt!]
](/docs/api/lockup/graphql/the-graph/scalars/big-int.mdx)
#### [Action_filter.chainId
](#)[BigInt
](/docs/api/lockup/graphql/the-graph/scalars/big-int.mdx)
#### [Action_filter.chainId_not
](#)[BigInt
](/docs/api/lockup/graphql/the-graph/scalars/big-int.mdx)
#### [Action_filter.chainId_gt
](#)[BigInt
](/docs/api/lockup/graphql/the-graph/scalars/big-int.mdx)
#### [Action_filter.chainId_lt
](#)[BigInt
](/docs/api/lockup/graphql/the-graph/scalars/big-int.mdx)
#### [Action_filter.chainId_gte
](#)[BigInt
](/docs/api/lockup/graphql/the-graph/scalars/big-int.mdx)
#### [Action_filter.chainId_lte
](#)[BigInt
](/docs/api/lockup/graphql/the-graph/scalars/big-int.mdx)
#### [Action_filter.chainId_in
](#)[[BigInt!]
](/docs/api/lockup/graphql/the-graph/scalars/big-int.mdx)
#### [Action_filter.chainId_not_in
](#)[[BigInt!]
](/docs/api/lockup/graphql/the-graph/scalars/big-int.mdx)
#### [Action_filter.from
](#)[Bytes
](/docs/api/lockup/graphql/the-graph/scalars/bytes.mdx)
#### [Action_filter.from_not
](#)[Bytes
](/docs/api/lockup/graphql/the-graph/scalars/bytes.mdx)
#### [Action_filter.from_gt
](#)[Bytes
](/docs/api/lockup/graphql/the-graph/scalars/bytes.mdx)
#### [Action_filter.from_lt
](#)[Bytes
](/docs/api/lockup/graphql/the-graph/scalars/bytes.mdx)
#### [Action_filter.from_gte
](#)[Bytes
](/docs/api/lockup/graphql/the-graph/scalars/bytes.mdx)
#### [Action_filter.from_lte
](#)[Bytes
](/docs/api/lockup/graphql/the-graph/scalars/bytes.mdx)
#### [Action_filter.from_in
](#)[[Bytes!]
](/docs/api/lockup/graphql/the-graph/scalars/bytes.mdx)
#### [Action_filter.from_not_in
](#)[[Bytes!]
](/docs/api/lockup/graphql/the-graph/scalars/bytes.mdx)
#### [Action_filter.from_contains
](#)[Bytes
](/docs/api/lockup/graphql/the-graph/scalars/bytes.mdx)
#### [Action_filter.from_not_contains
](#)[Bytes
](/docs/api/lockup/graphql/the-graph/scalars/bytes.mdx)
#### [Action_filter.hash
](#)[Bytes
](/docs/api/lockup/graphql/the-graph/scalars/bytes.mdx)
#### [Action_filter.hash_not
](#)[Bytes
](/docs/api/lockup/graphql/the-graph/scalars/bytes.mdx)
#### [Action_filter.hash_gt
](#)[Bytes
](/docs/api/lockup/graphql/the-graph/scalars/bytes.mdx)
#### [Action_filter.hash_lt
](#)[Bytes
](/docs/api/lockup/graphql/the-graph/scalars/bytes.mdx)
#### [Action_filter.hash_gte
](#)[Bytes
](/docs/api/lockup/graphql/the-graph/scalars/bytes.mdx)
#### [Action_filter.hash_lte
](#)[Bytes
](/docs/api/lockup/graphql/the-graph/scalars/bytes.mdx)
#### [Action_filter.hash_in
](#)[[Bytes!]
](/docs/api/lockup/graphql/the-graph/scalars/bytes.mdx)
#### [Action_filter.hash_not_in
](#)[[Bytes!]
](/docs/api/lockup/graphql/the-graph/scalars/bytes.mdx)
#### [Action_filter.hash_contains
](#)[Bytes
](/docs/api/lockup/graphql/the-graph/scalars/bytes.mdx)
#### [Action_filter.hash_not_contains
](#)[Bytes
](/docs/api/lockup/graphql/the-graph/scalars/bytes.mdx)
#### [Action_filter.timestamp
](#)[BigInt
](/docs/api/lockup/graphql/the-graph/scalars/big-int.mdx)
#### [Action_filter.timestamp_not
](#)[BigInt
](/docs/api/lockup/graphql/the-graph/scalars/big-int.mdx)
#### [Action_filter.timestamp_gt
](#)[BigInt
](/docs/api/lockup/graphql/the-graph/scalars/big-int.mdx)
#### [Action_filter.timestamp_lt
](#)[BigInt
](/docs/api/lockup/graphql/the-graph/scalars/big-int.mdx)
#### [Action_filter.timestamp_gte
](#)[BigInt
](/docs/api/lockup/graphql/the-graph/scalars/big-int.mdx)
#### [Action_filter.timestamp_lte
](#)[BigInt
](/docs/api/lockup/graphql/the-graph/scalars/big-int.mdx)
#### [Action_filter.timestamp_in
](#)[[BigInt!]
](/docs/api/lockup/graphql/the-graph/scalars/big-int.mdx)
#### [Action_filter.timestamp_not_in
](#)[[BigInt!]
](/docs/api/lockup/graphql/the-graph/scalars/big-int.mdx)
#### [Action_filter.category
](#)[ActionCategory
](/docs/api/lockup/graphql/the-graph/enums/action-category.mdx)
#### [Action_filter.category_not
](#)[ActionCategory
](/docs/api/lockup/graphql/the-graph/enums/action-category.mdx)
#### [Action_filter.category_in
](#)[[ActionCategory!]
](/docs/api/lockup/graphql/the-graph/enums/action-category.mdx)
#### [Action_filter.category_not_in
](#)[[ActionCategory!]
](/docs/api/lockup/graphql/the-graph/enums/action-category.mdx)
#### [Action_filter.contract
](#)[Bytes
](/docs/api/lockup/graphql/the-graph/scalars/bytes.mdx)
#### [Action_filter.contract_not
](#)[Bytes
](/docs/api/lockup/graphql/the-graph/scalars/bytes.mdx)
#### [Action_filter.contract_gt
](#)[Bytes
](/docs/api/lockup/graphql/the-graph/scalars/bytes.mdx)
#### [Action_filter.contract_lt
](#)[Bytes
](/docs/api/lockup/graphql/the-graph/scalars/bytes.mdx)
#### [Action_filter.contract_gte
](#)[Bytes
](/docs/api/lockup/graphql/the-graph/scalars/bytes.mdx)
#### [Action_filter.contract_lte
](#)[Bytes
](/docs/api/lockup/graphql/the-graph/scalars/bytes.mdx)
#### [Action_filter.contract_in
](#)[[Bytes!]
](/docs/api/lockup/graphql/the-graph/scalars/bytes.mdx)
#### [Action_filter.contract_not_in
](#)[[Bytes!]
](/docs/api/lockup/graphql/the-graph/scalars/bytes.mdx)
#### [Action_filter.contract_contains
](#)[Bytes
](/docs/api/lockup/graphql/the-graph/scalars/bytes.mdx)
#### [Action_filter.contract_not_contains
](#)[Bytes
](/docs/api/lockup/graphql/the-graph/scalars/bytes.mdx)
#### [Action_filter.fee
](#)[BigInt
](/docs/api/lockup/graphql/the-graph/scalars/big-int.mdx)
#### [Action_filter.fee_not
](#)[BigInt
](/docs/api/lockup/graphql/the-graph/scalars/big-int.mdx)
#### [Action_filter.fee_gt
](#)[BigInt
](/docs/api/lockup/graphql/the-graph/scalars/big-int.mdx)
#### [Action_filter.fee_lt
](#)[BigInt
](/docs/api/lockup/graphql/the-graph/scalars/big-int.mdx)
#### [Action_filter.fee_gte
](#)[BigInt
](/docs/api/lockup/graphql/the-graph/scalars/big-int.mdx)
#### [Action_filter.fee_lte
](#)[BigInt
](/docs/api/lockup/graphql/the-graph/scalars/big-int.mdx)
#### [Action_filter.fee_in
](#)[[BigInt!]
](/docs/api/lockup/graphql/the-graph/scalars/big-int.mdx)
#### [Action_filter.fee_not_in
](#)[[BigInt!]
](/docs/api/lockup/graphql/the-graph/scalars/big-int.mdx)
#### [Action_filter.stream
](#)[String
](/docs/api/lockup/graphql/the-graph/scalars/string.mdx)
#### [Action_filter.stream_not
](#)[String
](/docs/api/lockup/graphql/the-graph/scalars/string.mdx)
#### [Action_filter.stream_gt
](#)[String
](/docs/api/lockup/graphql/the-graph/scalars/string.mdx)
#### [Action_filter.stream_lt
](#)[String
](/docs/api/lockup/graphql/the-graph/scalars/string.mdx)
#### [Action_filter.stream_gte
](#)[String
](/docs/api/lockup/graphql/the-graph/scalars/string.mdx)
#### [Action_filter.stream_lte
](#)[String
](/docs/api/lockup/graphql/the-graph/scalars/string.mdx)
#### [Action_filter.stream_in
](#)[[String!]
](/docs/api/lockup/graphql/the-graph/scalars/string.mdx)
#### [Action_filter.stream_not_in
](#)[[String!]
](/docs/api/lockup/graphql/the-graph/scalars/string.mdx)
#### [Action_filter.stream_contains
](#)[String
](/docs/api/lockup/graphql/the-graph/scalars/string.mdx)
#### [Action_filter.stream_contains_nocase
](#)[String
](/docs/api/lockup/graphql/the-graph/scalars/string.mdx)
#### [Action_filter.stream_not_contains
](#)[String
](/docs/api/lockup/graphql/the-graph/scalars/string.mdx)
#### [Action_filter.stream_not_contains_nocase
](#)[String
](/docs/api/lockup/graphql/the-graph/scalars/string.mdx)
#### [Action_filter.stream_starts_with
](#)[String
](/docs/api/lockup/graphql/the-graph/scalars/string.mdx)
#### [Action_filter.stream_starts_with_nocase
](#)[String
](/docs/api/lockup/graphql/the-graph/scalars/string.mdx)
#### [Action_filter.stream_not_starts_with
](#)[String
](/docs/api/lockup/graphql/the-graph/scalars/string.mdx)
#### [Action_filter.stream_not_starts_with_nocase
](#)[String
](/docs/api/lockup/graphql/the-graph/scalars/string.mdx)
#### [Action_filter.stream_ends_with
](#)[String
](/docs/api/lockup/graphql/the-graph/scalars/string.mdx)
#### [Action_filter.stream_ends_with_nocase
](#)[String
](/docs/api/lockup/graphql/the-graph/scalars/string.mdx)
#### [Action_filter.stream_not_ends_with
](#)[String
](/docs/api/lockup/graphql/the-graph/scalars/string.mdx)
#### [Action_filter.stream_not_ends_with_nocase
](#)[String
](/docs/api/lockup/graphql/the-graph/scalars/string.mdx)
#### [Action_filter.stream\_
](#)[Stream_filter
](/docs/api/lockup/graphql/the-graph/inputs/stream-filter.mdx)
#### [Action_filter.addressA
](#)[Bytes
](/docs/api/lockup/graphql/the-graph/scalars/bytes.mdx)
#### [Action_filter.addressA_not
](#)[Bytes
](/docs/api/lockup/graphql/the-graph/scalars/bytes.mdx)
#### [Action_filter.addressA_gt
](#)[Bytes
](/docs/api/lockup/graphql/the-graph/scalars/bytes.mdx)
#### [Action_filter.addressA_lt
](#)[Bytes
](/docs/api/lockup/graphql/the-graph/scalars/bytes.mdx)
#### [Action_filter.addressA_gte
](#)[Bytes
](/docs/api/lockup/graphql/the-graph/scalars/bytes.mdx)
#### [Action_filter.addressA_lte
](#)[Bytes
](/docs/api/lockup/graphql/the-graph/scalars/bytes.mdx)
#### [Action_filter.addressA_in
](#)[[Bytes!]
](/docs/api/lockup/graphql/the-graph/scalars/bytes.mdx)
#### [Action_filter.addressA_not_in
](#)[[Bytes!]
](/docs/api/lockup/graphql/the-graph/scalars/bytes.mdx)
#### [Action_filter.addressA_contains
](#)[Bytes
](/docs/api/lockup/graphql/the-graph/scalars/bytes.mdx)
#### [Action_filter.addressA_not_contains
](#)[Bytes
](/docs/api/lockup/graphql/the-graph/scalars/bytes.mdx)
#### [Action_filter.addressB
](#)[Bytes
](/docs/api/lockup/graphql/the-graph/scalars/bytes.mdx)
#### [Action_filter.addressB_not
](#)[Bytes
](/docs/api/lockup/graphql/the-graph/scalars/bytes.mdx)
#### [Action_filter.addressB_gt
](#)[Bytes
](/docs/api/lockup/graphql/the-graph/scalars/bytes.mdx)
#### [Action_filter.addressB_lt
](#)[Bytes
](/docs/api/lockup/graphql/the-graph/scalars/bytes.mdx)
#### [Action_filter.addressB_gte
](#)[Bytes
](/docs/api/lockup/graphql/the-graph/scalars/bytes.mdx)
#### [Action_filter.addressB_lte
](#)[Bytes
](/docs/api/lockup/graphql/the-graph/scalars/bytes.mdx)
#### [Action_filter.addressB_in
](#)[[Bytes!]
](/docs/api/lockup/graphql/the-graph/scalars/bytes.mdx)
#### [Action_filter.addressB_not_in
](#)[[Bytes!]
](/docs/api/lockup/graphql/the-graph/scalars/bytes.mdx)
#### [Action_filter.addressB_contains
](#)[Bytes
](/docs/api/lockup/graphql/the-graph/scalars/bytes.mdx)
#### [Action_filter.addressB_not_contains
](#)[Bytes
](/docs/api/lockup/graphql/the-graph/scalars/bytes.mdx)
#### [Action_filter.amountA
](#)[BigInt
](/docs/api/lockup/graphql/the-graph/scalars/big-int.mdx)
#### [Action_filter.amountA_not
](#)[BigInt
](/docs/api/lockup/graphql/the-graph/scalars/big-int.mdx)
#### [Action_filter.amountA_gt
](#)[BigInt
](/docs/api/lockup/graphql/the-graph/scalars/big-int.mdx)
#### [Action_filter.amountA_lt
](#)[BigInt
](/docs/api/lockup/graphql/the-graph/scalars/big-int.mdx)
#### [Action_filter.amountA_gte
](#)[BigInt
](/docs/api/lockup/graphql/the-graph/scalars/big-int.mdx)
#### [Action_filter.amountA_lte
](#)[BigInt
](/docs/api/lockup/graphql/the-graph/scalars/big-int.mdx)
#### [Action_filter.amountA_in
](#)[[BigInt!]
](/docs/api/lockup/graphql/the-graph/scalars/big-int.mdx)
#### [Action_filter.amountA_not_in
](#)[[BigInt!]
](/docs/api/lockup/graphql/the-graph/scalars/big-int.mdx)
#### [Action_filter.amountB
](#)[BigInt
](/docs/api/lockup/graphql/the-graph/scalars/big-int.mdx)
#### [Action_filter.amountB_not
](#)[BigInt
](/docs/api/lockup/graphql/the-graph/scalars/big-int.mdx)
#### [Action_filter.amountB_gt
](#)[BigInt
](/docs/api/lockup/graphql/the-graph/scalars/big-int.mdx)
#### [Action_filter.amountB_lt
](#)[BigInt
](/docs/api/lockup/graphql/the-graph/scalars/big-int.mdx)
#### [Action_filter.amountB_gte
](#)[BigInt
](/docs/api/lockup/graphql/the-graph/scalars/big-int.mdx)
#### [Action_filter.amountB_lte
](#)[BigInt
](/docs/api/lockup/graphql/the-graph/scalars/big-int.mdx)
#### [Action_filter.amountB_in
](#)[[BigInt!]
](/docs/api/lockup/graphql/the-graph/scalars/big-int.mdx)
#### [Action_filter.amountB_not_in
](#)[[BigInt!]
](/docs/api/lockup/graphql/the-graph/scalars/big-int.mdx)
#### [Action_filter.\_change_block
](#)[BlockChangedFilter
](/docs/api/lockup/graphql/the-graph/inputs/block-changed-filter.mdx)
Filter for the block changed event.
#### [Action_filter.and
](#)[[Action_filter]
](/docs/api/lockup/graphql/the-graph/inputs/action-filter.mdx)
#### [Action_filter.or
](#)[[Action_filter]
](/docs/api/lockup/graphql/the-graph/inputs/action-filter.mdx)
---
## Asset_filter (3)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
No description
```graphql
input Asset_filter {
id: String
id_not: String
id_gt: String
id_lt: String
id_gte: String
id_lte: String
id_in: [String!]
id_not_in: [String!]
id_contains: String
id_contains_nocase: String
id_not_contains: String
id_not_contains_nocase: String
id_starts_with: String
id_starts_with_nocase: String
id_not_starts_with: String
id_not_starts_with_nocase: String
id_ends_with: String
id_ends_with_nocase: String
id_not_ends_with: String
id_not_ends_with_nocase: String
address: Bytes
address_not: Bytes
address_gt: Bytes
address_lt: Bytes
address_gte: Bytes
address_lte: Bytes
address_in: [Bytes!]
address_not_in: [Bytes!]
address_contains: Bytes
address_not_contains: Bytes
chainId: BigInt
chainId_not: BigInt
chainId_gt: BigInt
chainId_lt: BigInt
chainId_gte: BigInt
chainId_lte: BigInt
chainId_in: [BigInt!]
chainId_not_in: [BigInt!]
decimals: BigInt
decimals_not: BigInt
decimals_gt: BigInt
decimals_lt: BigInt
decimals_gte: BigInt
decimals_lte: BigInt
decimals_in: [BigInt!]
decimals_not_in: [BigInt!]
name: String
name_not: String
name_gt: String
name_lt: String
name_gte: String
name_lte: String
name_in: [String!]
name_not_in: [String!]
name_contains: String
name_contains_nocase: String
name_not_contains: String
name_not_contains_nocase: String
name_starts_with: String
name_starts_with_nocase: String
name_not_starts_with: String
name_not_starts_with_nocase: String
name_ends_with: String
name_ends_with_nocase: String
name_not_ends_with: String
name_not_ends_with_nocase: String
symbol: String
symbol_not: String
symbol_gt: String
symbol_lt: String
symbol_gte: String
symbol_lte: String
symbol_in: [String!]
symbol_not_in: [String!]
symbol_contains: String
symbol_contains_nocase: String
symbol_not_contains: String
symbol_not_contains_nocase: String
symbol_starts_with: String
symbol_starts_with_nocase: String
symbol_not_starts_with: String
symbol_not_starts_with_nocase: String
symbol_ends_with: String
symbol_ends_with_nocase: String
symbol_not_ends_with: String
symbol_not_ends_with_nocase: String
streams_: Stream_filter
_change_block: BlockChangedFilter
and: [Asset_filter]
or: [Asset_filter]
}
```
### Fields
#### [Asset_filter.id
](#)[String
](/docs/api/lockup/graphql/the-graph/scalars/string.mdx)
#### [Asset_filter.id_not
](#)[String
](/docs/api/lockup/graphql/the-graph/scalars/string.mdx)
#### [Asset_filter.id_gt
](#)[String
](/docs/api/lockup/graphql/the-graph/scalars/string.mdx)
#### [Asset_filter.id_lt
](#)[String
](/docs/api/lockup/graphql/the-graph/scalars/string.mdx)
#### [Asset_filter.id_gte
](#)[String
](/docs/api/lockup/graphql/the-graph/scalars/string.mdx)
#### [Asset_filter.id_lte
](#)[String
](/docs/api/lockup/graphql/the-graph/scalars/string.mdx)
#### [Asset_filter.id_in
](#)[[String!]
](/docs/api/lockup/graphql/the-graph/scalars/string.mdx)
#### [Asset_filter.id_not_in
](#)[[String!]
](/docs/api/lockup/graphql/the-graph/scalars/string.mdx)
#### [Asset_filter.id_contains
](#)[String
](/docs/api/lockup/graphql/the-graph/scalars/string.mdx)
#### [Asset_filter.id_contains_nocase
](#)[String
](/docs/api/lockup/graphql/the-graph/scalars/string.mdx)
#### [Asset_filter.id_not_contains
](#)[String
](/docs/api/lockup/graphql/the-graph/scalars/string.mdx)
#### [Asset_filter.id_not_contains_nocase
](#)[String
](/docs/api/lockup/graphql/the-graph/scalars/string.mdx)
#### [Asset_filter.id_starts_with
](#)[String
](/docs/api/lockup/graphql/the-graph/scalars/string.mdx)
#### [Asset_filter.id_starts_with_nocase
](#)[String
](/docs/api/lockup/graphql/the-graph/scalars/string.mdx)
#### [Asset_filter.id_not_starts_with
](#)[String
](/docs/api/lockup/graphql/the-graph/scalars/string.mdx)
#### [Asset_filter.id_not_starts_with_nocase
](#)[String
](/docs/api/lockup/graphql/the-graph/scalars/string.mdx)
#### [Asset_filter.id_ends_with
](#)[String
](/docs/api/lockup/graphql/the-graph/scalars/string.mdx)
#### [Asset_filter.id_ends_with_nocase
](#)[String
](/docs/api/lockup/graphql/the-graph/scalars/string.mdx)
#### [Asset_filter.id_not_ends_with
](#)[String
](/docs/api/lockup/graphql/the-graph/scalars/string.mdx)
#### [Asset_filter.id_not_ends_with_nocase
](#)[String
](/docs/api/lockup/graphql/the-graph/scalars/string.mdx)
#### [Asset_filter.address
](#)[Bytes
](/docs/api/lockup/graphql/the-graph/scalars/bytes.mdx)
#### [Asset_filter.address_not
](#)[Bytes
](/docs/api/lockup/graphql/the-graph/scalars/bytes.mdx)
#### [Asset_filter.address_gt
](#)[Bytes
](/docs/api/lockup/graphql/the-graph/scalars/bytes.mdx)
#### [Asset_filter.address_lt
](#)[Bytes
](/docs/api/lockup/graphql/the-graph/scalars/bytes.mdx)
#### [Asset_filter.address_gte
](#)[Bytes
](/docs/api/lockup/graphql/the-graph/scalars/bytes.mdx)
#### [Asset_filter.address_lte
](#)[Bytes
](/docs/api/lockup/graphql/the-graph/scalars/bytes.mdx)
#### [Asset_filter.address_in
](#)[[Bytes!]
](/docs/api/lockup/graphql/the-graph/scalars/bytes.mdx)
#### [Asset_filter.address_not_in
](#)[[Bytes!]
](/docs/api/lockup/graphql/the-graph/scalars/bytes.mdx)
#### [Asset_filter.address_contains
](#)[Bytes
](/docs/api/lockup/graphql/the-graph/scalars/bytes.mdx)
#### [Asset_filter.address_not_contains
](#)[Bytes
](/docs/api/lockup/graphql/the-graph/scalars/bytes.mdx)
#### [Asset_filter.chainId
](#)[BigInt
](/docs/api/lockup/graphql/the-graph/scalars/big-int.mdx)
#### [Asset_filter.chainId_not
](#)[BigInt
](/docs/api/lockup/graphql/the-graph/scalars/big-int.mdx)
#### [Asset_filter.chainId_gt
](#)[BigInt
](/docs/api/lockup/graphql/the-graph/scalars/big-int.mdx)
#### [Asset_filter.chainId_lt
](#)[BigInt
](/docs/api/lockup/graphql/the-graph/scalars/big-int.mdx)
#### [Asset_filter.chainId_gte
](#)[BigInt
](/docs/api/lockup/graphql/the-graph/scalars/big-int.mdx)
#### [Asset_filter.chainId_lte
](#)[BigInt
](/docs/api/lockup/graphql/the-graph/scalars/big-int.mdx)
#### [Asset_filter.chainId_in
](#)[[BigInt!]
](/docs/api/lockup/graphql/the-graph/scalars/big-int.mdx)
#### [Asset_filter.chainId_not_in
](#)[[BigInt!]
](/docs/api/lockup/graphql/the-graph/scalars/big-int.mdx)
#### [Asset_filter.decimals
](#)[BigInt
](/docs/api/lockup/graphql/the-graph/scalars/big-int.mdx)
#### [Asset_filter.decimals_not
](#)[BigInt
](/docs/api/lockup/graphql/the-graph/scalars/big-int.mdx)
#### [Asset_filter.decimals_gt
](#)[BigInt
](/docs/api/lockup/graphql/the-graph/scalars/big-int.mdx)
#### [Asset_filter.decimals_lt
](#)[BigInt
](/docs/api/lockup/graphql/the-graph/scalars/big-int.mdx)
#### [Asset_filter.decimals_gte
](#)[BigInt
](/docs/api/lockup/graphql/the-graph/scalars/big-int.mdx)
#### [Asset_filter.decimals_lte
](#)[BigInt
](/docs/api/lockup/graphql/the-graph/scalars/big-int.mdx)
#### [Asset_filter.decimals_in
](#)[[BigInt!]
](/docs/api/lockup/graphql/the-graph/scalars/big-int.mdx)
#### [Asset_filter.decimals_not_in
](#)[[BigInt!]
](/docs/api/lockup/graphql/the-graph/scalars/big-int.mdx)
#### [Asset_filter.name
](#)[String
](/docs/api/lockup/graphql/the-graph/scalars/string.mdx)
#### [Asset_filter.name_not
](#)[String
](/docs/api/lockup/graphql/the-graph/scalars/string.mdx)
#### [Asset_filter.name_gt
](#)[String
](/docs/api/lockup/graphql/the-graph/scalars/string.mdx)
#### [Asset_filter.name_lt
](#)[String
](/docs/api/lockup/graphql/the-graph/scalars/string.mdx)
#### [Asset_filter.name_gte
](#)[String
](/docs/api/lockup/graphql/the-graph/scalars/string.mdx)
#### [Asset_filter.name_lte
](#)[String
](/docs/api/lockup/graphql/the-graph/scalars/string.mdx)
#### [Asset_filter.name_in
](#)[[String!]
](/docs/api/lockup/graphql/the-graph/scalars/string.mdx)
#### [Asset_filter.name_not_in
](#)[[String!]
](/docs/api/lockup/graphql/the-graph/scalars/string.mdx)
#### [Asset_filter.name_contains
](#)[String
](/docs/api/lockup/graphql/the-graph/scalars/string.mdx)
#### [Asset_filter.name_contains_nocase
](#)[String
](/docs/api/lockup/graphql/the-graph/scalars/string.mdx)
#### [Asset_filter.name_not_contains
](#)[String
](/docs/api/lockup/graphql/the-graph/scalars/string.mdx)
#### [Asset_filter.name_not_contains_nocase
](#)[String
](/docs/api/lockup/graphql/the-graph/scalars/string.mdx)
#### [Asset_filter.name_starts_with
](#)[String
](/docs/api/lockup/graphql/the-graph/scalars/string.mdx)
#### [Asset_filter.name_starts_with_nocase
](#)[String
](/docs/api/lockup/graphql/the-graph/scalars/string.mdx)
#### [Asset_filter.name_not_starts_with
](#)[String
](/docs/api/lockup/graphql/the-graph/scalars/string.mdx)
#### [Asset_filter.name_not_starts_with_nocase
](#)[String
](/docs/api/lockup/graphql/the-graph/scalars/string.mdx)
#### [Asset_filter.name_ends_with
](#)[String
](/docs/api/lockup/graphql/the-graph/scalars/string.mdx)
#### [Asset_filter.name_ends_with_nocase
](#)[String
](/docs/api/lockup/graphql/the-graph/scalars/string.mdx)
#### [Asset_filter.name_not_ends_with
](#)[String
](/docs/api/lockup/graphql/the-graph/scalars/string.mdx)
#### [Asset_filter.name_not_ends_with_nocase
](#)[String
](/docs/api/lockup/graphql/the-graph/scalars/string.mdx)
#### [Asset_filter.symbol
](#)[String
](/docs/api/lockup/graphql/the-graph/scalars/string.mdx)
#### [Asset_filter.symbol_not
](#)[String
](/docs/api/lockup/graphql/the-graph/scalars/string.mdx)
#### [Asset_filter.symbol_gt
](#)[String
](/docs/api/lockup/graphql/the-graph/scalars/string.mdx)
#### [Asset_filter.symbol_lt
](#)[String
](/docs/api/lockup/graphql/the-graph/scalars/string.mdx)
#### [Asset_filter.symbol_gte
](#)[String
](/docs/api/lockup/graphql/the-graph/scalars/string.mdx)
#### [Asset_filter.symbol_lte
](#)[String
](/docs/api/lockup/graphql/the-graph/scalars/string.mdx)
#### [Asset_filter.symbol_in
](#)[[String!]
](/docs/api/lockup/graphql/the-graph/scalars/string.mdx)
#### [Asset_filter.symbol_not_in
](#)[[String!]
](/docs/api/lockup/graphql/the-graph/scalars/string.mdx)
#### [Asset_filter.symbol_contains
](#)[String
](/docs/api/lockup/graphql/the-graph/scalars/string.mdx)
#### [Asset_filter.symbol_contains_nocase
](#)[String
](/docs/api/lockup/graphql/the-graph/scalars/string.mdx)
#### [Asset_filter.symbol_not_contains
](#)[String
](/docs/api/lockup/graphql/the-graph/scalars/string.mdx)
#### [Asset_filter.symbol_not_contains_nocase
](#)[String
](/docs/api/lockup/graphql/the-graph/scalars/string.mdx)
#### [Asset_filter.symbol_starts_with
](#)[String
](/docs/api/lockup/graphql/the-graph/scalars/string.mdx)
#### [Asset_filter.symbol_starts_with_nocase
](#)[String
](/docs/api/lockup/graphql/the-graph/scalars/string.mdx)
#### [Asset_filter.symbol_not_starts_with
](#)[String
](/docs/api/lockup/graphql/the-graph/scalars/string.mdx)
#### [Asset_filter.symbol_not_starts_with_nocase
](#)[String
](/docs/api/lockup/graphql/the-graph/scalars/string.mdx)
#### [Asset_filter.symbol_ends_with
](#)[String
](/docs/api/lockup/graphql/the-graph/scalars/string.mdx)
#### [Asset_filter.symbol_ends_with_nocase
](#)[String
](/docs/api/lockup/graphql/the-graph/scalars/string.mdx)
#### [Asset_filter.symbol_not_ends_with
](#)[String
](/docs/api/lockup/graphql/the-graph/scalars/string.mdx)
#### [Asset_filter.symbol_not_ends_with_nocase
](#)[String
](/docs/api/lockup/graphql/the-graph/scalars/string.mdx)
#### [Asset_filter.streams\_
](#)[Stream_filter
](/docs/api/lockup/graphql/the-graph/inputs/stream-filter.mdx)
#### [Asset_filter.\_change_block
](#)[BlockChangedFilter
](/docs/api/lockup/graphql/the-graph/inputs/block-changed-filter.mdx)
Filter for the block changed event.
#### [Asset_filter.and
](#)[[Asset_filter]
](/docs/api/lockup/graphql/the-graph/inputs/asset-filter.mdx)
#### [Asset_filter.or
](#)[[Asset_filter]
](/docs/api/lockup/graphql/the-graph/inputs/asset-filter.mdx)
---
## Batch_filter (3)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
No description
```graphql
input Batch_filter {
id: String
id_not: String
id_gt: String
id_lt: String
id_gte: String
id_lte: String
id_in: [String!]
id_not_in: [String!]
id_contains: String
id_contains_nocase: String
id_not_contains: String
id_not_contains_nocase: String
id_starts_with: String
id_starts_with_nocase: String
id_not_starts_with: String
id_not_starts_with_nocase: String
id_ends_with: String
id_ends_with_nocase: String
id_not_ends_with: String
id_not_ends_with_nocase: String
hash: Bytes
hash_not: Bytes
hash_gt: Bytes
hash_lt: Bytes
hash_gte: Bytes
hash_lte: Bytes
hash_in: [Bytes!]
hash_not_in: [Bytes!]
hash_contains: Bytes
hash_not_contains: Bytes
timestamp: BigInt
timestamp_not: BigInt
timestamp_gt: BigInt
timestamp_lt: BigInt
timestamp_gte: BigInt
timestamp_lte: BigInt
timestamp_in: [BigInt!]
timestamp_not_in: [BigInt!]
batcher: String
batcher_not: String
batcher_gt: String
batcher_lt: String
batcher_gte: String
batcher_lte: String
batcher_in: [String!]
batcher_not_in: [String!]
batcher_contains: String
batcher_contains_nocase: String
batcher_not_contains: String
batcher_not_contains_nocase: String
batcher_starts_with: String
batcher_starts_with_nocase: String
batcher_not_starts_with: String
batcher_not_starts_with_nocase: String
batcher_ends_with: String
batcher_ends_with_nocase: String
batcher_not_ends_with: String
batcher_not_ends_with_nocase: String
batcher_: Batcher_filter
position: BigInt
position_not: BigInt
position_gt: BigInt
position_lt: BigInt
position_gte: BigInt
position_lte: BigInt
position_in: [BigInt!]
position_not_in: [BigInt!]
size: BigInt
size_not: BigInt
size_gt: BigInt
size_lt: BigInt
size_gte: BigInt
size_lte: BigInt
size_in: [BigInt!]
size_not_in: [BigInt!]
streams_: Stream_filter
_change_block: BlockChangedFilter
and: [Batch_filter]
or: [Batch_filter]
}
```
### Fields
#### [Batch_filter.id
](#)[String
](/docs/api/lockup/graphql/the-graph/scalars/string.mdx)
#### [Batch_filter.id_not
](#)[String
](/docs/api/lockup/graphql/the-graph/scalars/string.mdx)
#### [Batch_filter.id_gt
](#)[String
](/docs/api/lockup/graphql/the-graph/scalars/string.mdx)
#### [Batch_filter.id_lt
](#)[String
](/docs/api/lockup/graphql/the-graph/scalars/string.mdx)
#### [Batch_filter.id_gte
](#)[String
](/docs/api/lockup/graphql/the-graph/scalars/string.mdx)
#### [Batch_filter.id_lte
](#)[String
](/docs/api/lockup/graphql/the-graph/scalars/string.mdx)
#### [Batch_filter.id_in
](#)[[String!]
](/docs/api/lockup/graphql/the-graph/scalars/string.mdx)
#### [Batch_filter.id_not_in
](#)[[String!]
](/docs/api/lockup/graphql/the-graph/scalars/string.mdx)
#### [Batch_filter.id_contains
](#)[String
](/docs/api/lockup/graphql/the-graph/scalars/string.mdx)
#### [Batch_filter.id_contains_nocase
](#)[String
](/docs/api/lockup/graphql/the-graph/scalars/string.mdx)
#### [Batch_filter.id_not_contains
](#)[String
](/docs/api/lockup/graphql/the-graph/scalars/string.mdx)
#### [Batch_filter.id_not_contains_nocase
](#)[String
](/docs/api/lockup/graphql/the-graph/scalars/string.mdx)
#### [Batch_filter.id_starts_with
](#)[String
](/docs/api/lockup/graphql/the-graph/scalars/string.mdx)
#### [Batch_filter.id_starts_with_nocase
](#)[String
](/docs/api/lockup/graphql/the-graph/scalars/string.mdx)
#### [Batch_filter.id_not_starts_with
](#)[String
](/docs/api/lockup/graphql/the-graph/scalars/string.mdx)
#### [Batch_filter.id_not_starts_with_nocase
](#)[String
](/docs/api/lockup/graphql/the-graph/scalars/string.mdx)
#### [Batch_filter.id_ends_with
](#)[String
](/docs/api/lockup/graphql/the-graph/scalars/string.mdx)
#### [Batch_filter.id_ends_with_nocase
](#)[String
](/docs/api/lockup/graphql/the-graph/scalars/string.mdx)
#### [Batch_filter.id_not_ends_with
](#)[String
](/docs/api/lockup/graphql/the-graph/scalars/string.mdx)
#### [Batch_filter.id_not_ends_with_nocase
](#)[String
](/docs/api/lockup/graphql/the-graph/scalars/string.mdx)
#### [Batch_filter.hash
](#)[Bytes
](/docs/api/lockup/graphql/the-graph/scalars/bytes.mdx)
#### [Batch_filter.hash_not
](#)[Bytes
](/docs/api/lockup/graphql/the-graph/scalars/bytes.mdx)
#### [Batch_filter.hash_gt
](#)[Bytes
](/docs/api/lockup/graphql/the-graph/scalars/bytes.mdx)
#### [Batch_filter.hash_lt
](#)[Bytes
](/docs/api/lockup/graphql/the-graph/scalars/bytes.mdx)
#### [Batch_filter.hash_gte
](#)[Bytes
](/docs/api/lockup/graphql/the-graph/scalars/bytes.mdx)
#### [Batch_filter.hash_lte
](#)[Bytes
](/docs/api/lockup/graphql/the-graph/scalars/bytes.mdx)
#### [Batch_filter.hash_in
](#)[[Bytes!]
](/docs/api/lockup/graphql/the-graph/scalars/bytes.mdx)
#### [Batch_filter.hash_not_in
](#)[[Bytes!]
](/docs/api/lockup/graphql/the-graph/scalars/bytes.mdx)
#### [Batch_filter.hash_contains
](#)[Bytes
](/docs/api/lockup/graphql/the-graph/scalars/bytes.mdx)
#### [Batch_filter.hash_not_contains
](#)[Bytes
](/docs/api/lockup/graphql/the-graph/scalars/bytes.mdx)
#### [Batch_filter.timestamp
](#)[BigInt
](/docs/api/lockup/graphql/the-graph/scalars/big-int.mdx)
#### [Batch_filter.timestamp_not
](#)[BigInt
](/docs/api/lockup/graphql/the-graph/scalars/big-int.mdx)
#### [Batch_filter.timestamp_gt
](#)[BigInt
](/docs/api/lockup/graphql/the-graph/scalars/big-int.mdx)
#### [Batch_filter.timestamp_lt
](#)[BigInt
](/docs/api/lockup/graphql/the-graph/scalars/big-int.mdx)
#### [Batch_filter.timestamp_gte
](#)[BigInt
](/docs/api/lockup/graphql/the-graph/scalars/big-int.mdx)
#### [Batch_filter.timestamp_lte
](#)[BigInt
](/docs/api/lockup/graphql/the-graph/scalars/big-int.mdx)
#### [Batch_filter.timestamp_in
](#)[[BigInt!]
](/docs/api/lockup/graphql/the-graph/scalars/big-int.mdx)
#### [Batch_filter.timestamp_not_in
](#)[[BigInt!]
](/docs/api/lockup/graphql/the-graph/scalars/big-int.mdx)
#### [Batch_filter.batcher
](#)[String
](/docs/api/lockup/graphql/the-graph/scalars/string.mdx)
#### [Batch_filter.batcher_not
](#)[String
](/docs/api/lockup/graphql/the-graph/scalars/string.mdx)
#### [Batch_filter.batcher_gt
](#)[String
](/docs/api/lockup/graphql/the-graph/scalars/string.mdx)
#### [Batch_filter.batcher_lt
](#)[String
](/docs/api/lockup/graphql/the-graph/scalars/string.mdx)
#### [Batch_filter.batcher_gte
](#)[String
](/docs/api/lockup/graphql/the-graph/scalars/string.mdx)
#### [Batch_filter.batcher_lte
](#)[String
](/docs/api/lockup/graphql/the-graph/scalars/string.mdx)
#### [Batch_filter.batcher_in
](#)[[String!]
](/docs/api/lockup/graphql/the-graph/scalars/string.mdx)
#### [Batch_filter.batcher_not_in
](#)[[String!]
](/docs/api/lockup/graphql/the-graph/scalars/string.mdx)
#### [Batch_filter.batcher_contains
](#)[String
](/docs/api/lockup/graphql/the-graph/scalars/string.mdx)
#### [Batch_filter.batcher_contains_nocase
](#)[String
](/docs/api/lockup/graphql/the-graph/scalars/string.mdx)
#### [Batch_filter.batcher_not_contains
](#)[String
](/docs/api/lockup/graphql/the-graph/scalars/string.mdx)
#### [Batch_filter.batcher_not_contains_nocase
](#)[String
](/docs/api/lockup/graphql/the-graph/scalars/string.mdx)
#### [Batch_filter.batcher_starts_with
](#)[String
](/docs/api/lockup/graphql/the-graph/scalars/string.mdx)
#### [Batch_filter.batcher_starts_with_nocase
](#)[String
](/docs/api/lockup/graphql/the-graph/scalars/string.mdx)
#### [Batch_filter.batcher_not_starts_with
](#)[String
](/docs/api/lockup/graphql/the-graph/scalars/string.mdx)
#### [Batch_filter.batcher_not_starts_with_nocase
](#)[String
](/docs/api/lockup/graphql/the-graph/scalars/string.mdx)
#### [Batch_filter.batcher_ends_with
](#)[String
](/docs/api/lockup/graphql/the-graph/scalars/string.mdx)
#### [Batch_filter.batcher_ends_with_nocase
](#)[String
](/docs/api/lockup/graphql/the-graph/scalars/string.mdx)
#### [Batch_filter.batcher_not_ends_with
](#)[String
](/docs/api/lockup/graphql/the-graph/scalars/string.mdx)
#### [Batch_filter.batcher_not_ends_with_nocase
](#)[String
](/docs/api/lockup/graphql/the-graph/scalars/string.mdx)
#### [Batch_filter.batcher\_
](#)[Batcher_filter
](/docs/api/lockup/graphql/the-graph/inputs/batcher-filter.mdx)
#### [Batch_filter.position
](#)[BigInt
](/docs/api/lockup/graphql/the-graph/scalars/big-int.mdx)
#### [Batch_filter.position_not
](#)[BigInt
](/docs/api/lockup/graphql/the-graph/scalars/big-int.mdx)
#### [Batch_filter.position_gt
](#)[BigInt
](/docs/api/lockup/graphql/the-graph/scalars/big-int.mdx)
#### [Batch_filter.position_lt
](#)[BigInt
](/docs/api/lockup/graphql/the-graph/scalars/big-int.mdx)
#### [Batch_filter.position_gte
](#)[BigInt
](/docs/api/lockup/graphql/the-graph/scalars/big-int.mdx)
#### [Batch_filter.position_lte
](#)[BigInt
](/docs/api/lockup/graphql/the-graph/scalars/big-int.mdx)
#### [Batch_filter.position_in
](#)[[BigInt!]
](/docs/api/lockup/graphql/the-graph/scalars/big-int.mdx)
#### [Batch_filter.position_not_in
](#)[[BigInt!]
](/docs/api/lockup/graphql/the-graph/scalars/big-int.mdx)
#### [Batch_filter.size
](#)[BigInt
](/docs/api/lockup/graphql/the-graph/scalars/big-int.mdx)
#### [Batch_filter.size_not
](#)[BigInt
](/docs/api/lockup/graphql/the-graph/scalars/big-int.mdx)
#### [Batch_filter.size_gt
](#)[BigInt
](/docs/api/lockup/graphql/the-graph/scalars/big-int.mdx)
#### [Batch_filter.size_lt
](#)[BigInt
](/docs/api/lockup/graphql/the-graph/scalars/big-int.mdx)
#### [Batch_filter.size_gte
](#)[BigInt
](/docs/api/lockup/graphql/the-graph/scalars/big-int.mdx)
#### [Batch_filter.size_lte
](#)[BigInt
](/docs/api/lockup/graphql/the-graph/scalars/big-int.mdx)
#### [Batch_filter.size_in
](#)[[BigInt!]
](/docs/api/lockup/graphql/the-graph/scalars/big-int.mdx)
#### [Batch_filter.size_not_in
](#)[[BigInt!]
](/docs/api/lockup/graphql/the-graph/scalars/big-int.mdx)
#### [Batch_filter.streams\_
](#)[Stream_filter
](/docs/api/lockup/graphql/the-graph/inputs/stream-filter.mdx)
#### [Batch_filter.\_change_block
](#)[BlockChangedFilter
](/docs/api/lockup/graphql/the-graph/inputs/block-changed-filter.mdx)
Filter for the block changed event.
#### [Batch_filter.and
](#)[[Batch_filter]
](/docs/api/lockup/graphql/the-graph/inputs/batch-filter.mdx)
#### [Batch_filter.or
](#)[[Batch_filter]
](/docs/api/lockup/graphql/the-graph/inputs/batch-filter.mdx)
---
## Batcher_filter (3)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
No description
```graphql
input Batcher_filter {
id: String
id_not: String
id_gt: String
id_lt: String
id_gte: String
id_lte: String
id_in: [String!]
id_not_in: [String!]
id_contains: String
id_contains_nocase: String
id_not_contains: String
id_not_contains_nocase: String
id_starts_with: String
id_starts_with_nocase: String
id_not_starts_with: String
id_not_starts_with_nocase: String
id_ends_with: String
id_ends_with_nocase: String
id_not_ends_with: String
id_not_ends_with_nocase: String
batchCounter: BigInt
batchCounter_not: BigInt
batchCounter_gt: BigInt
batchCounter_lt: BigInt
batchCounter_gte: BigInt
batchCounter_lte: BigInt
batchCounter_in: [BigInt!]
batchCounter_not_in: [BigInt!]
batches_: Batch_filter
_change_block: BlockChangedFilter
and: [Batcher_filter]
or: [Batcher_filter]
}
```
### Fields
#### [Batcher_filter.id
](#)[String
](/docs/api/lockup/graphql/the-graph/scalars/string.mdx)
#### [Batcher_filter.id_not
](#)[String
](/docs/api/lockup/graphql/the-graph/scalars/string.mdx)
#### [Batcher_filter.id_gt
](#)[String
](/docs/api/lockup/graphql/the-graph/scalars/string.mdx)
#### [Batcher_filter.id_lt
](#)[String
](/docs/api/lockup/graphql/the-graph/scalars/string.mdx)
#### [Batcher_filter.id_gte
](#)[String
](/docs/api/lockup/graphql/the-graph/scalars/string.mdx)
#### [Batcher_filter.id_lte
](#)[String
](/docs/api/lockup/graphql/the-graph/scalars/string.mdx)
#### [Batcher_filter.id_in
](#)[[String!]
](/docs/api/lockup/graphql/the-graph/scalars/string.mdx)
#### [Batcher_filter.id_not_in
](#)[[String!]
](/docs/api/lockup/graphql/the-graph/scalars/string.mdx)
#### [Batcher_filter.id_contains
](#)[String
](/docs/api/lockup/graphql/the-graph/scalars/string.mdx)
#### [Batcher_filter.id_contains_nocase
](#)[String
](/docs/api/lockup/graphql/the-graph/scalars/string.mdx)
#### [Batcher_filter.id_not_contains
](#)[String
](/docs/api/lockup/graphql/the-graph/scalars/string.mdx)
#### [Batcher_filter.id_not_contains_nocase
](#)[String
](/docs/api/lockup/graphql/the-graph/scalars/string.mdx)
#### [Batcher_filter.id_starts_with
](#)[String
](/docs/api/lockup/graphql/the-graph/scalars/string.mdx)
#### [Batcher_filter.id_starts_with_nocase
](#)[String
](/docs/api/lockup/graphql/the-graph/scalars/string.mdx)
#### [Batcher_filter.id_not_starts_with
](#)[String
](/docs/api/lockup/graphql/the-graph/scalars/string.mdx)
#### [Batcher_filter.id_not_starts_with_nocase
](#)[String
](/docs/api/lockup/graphql/the-graph/scalars/string.mdx)
#### [Batcher_filter.id_ends_with
](#)[String
](/docs/api/lockup/graphql/the-graph/scalars/string.mdx)
#### [Batcher_filter.id_ends_with_nocase
](#)[String
](/docs/api/lockup/graphql/the-graph/scalars/string.mdx)
#### [Batcher_filter.id_not_ends_with
](#)[String
](/docs/api/lockup/graphql/the-graph/scalars/string.mdx)
#### [Batcher_filter.id_not_ends_with_nocase
](#)[String
](/docs/api/lockup/graphql/the-graph/scalars/string.mdx)
#### [Batcher_filter.batchCounter
](#)[BigInt
](/docs/api/lockup/graphql/the-graph/scalars/big-int.mdx)
#### [Batcher_filter.batchCounter_not
](#)[BigInt
](/docs/api/lockup/graphql/the-graph/scalars/big-int.mdx)
#### [Batcher_filter.batchCounter_gt
](#)[BigInt
](/docs/api/lockup/graphql/the-graph/scalars/big-int.mdx)
#### [Batcher_filter.batchCounter_lt
](#)[BigInt
](/docs/api/lockup/graphql/the-graph/scalars/big-int.mdx)
#### [Batcher_filter.batchCounter_gte
](#)[BigInt
](/docs/api/lockup/graphql/the-graph/scalars/big-int.mdx)
#### [Batcher_filter.batchCounter_lte
](#)[BigInt
](/docs/api/lockup/graphql/the-graph/scalars/big-int.mdx)
#### [Batcher_filter.batchCounter_in
](#)[[BigInt!]
](/docs/api/lockup/graphql/the-graph/scalars/big-int.mdx)
#### [Batcher_filter.batchCounter_not_in
](#)[[BigInt!]
](/docs/api/lockup/graphql/the-graph/scalars/big-int.mdx)
#### [Batcher_filter.batches\_
](#)[Batch_filter
](/docs/api/lockup/graphql/the-graph/inputs/batch-filter.mdx)
#### [Batcher_filter.\_change_block
](#)[BlockChangedFilter
](/docs/api/lockup/graphql/the-graph/inputs/block-changed-filter.mdx)
Filter for the block changed event.
#### [Batcher_filter.and
](#)[[Batcher_filter]
](/docs/api/lockup/graphql/the-graph/inputs/batcher-filter.mdx)
#### [Batcher_filter.or
](#)[[Batcher_filter]
](/docs/api/lockup/graphql/the-graph/inputs/batcher-filter.mdx)
---
## BlockChangedFilter (3)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
No description
```graphql
input BlockChangedFilter {
number_gte: Int!
}
```
### Fields
#### [BlockChangedFilter.number_gte
](#)[Int!
](/docs/api/lockup/graphql/the-graph/scalars/int.mdx)
---
## Block_height (3)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
No description
```graphql
input Block_height {
hash: Bytes
number: Int
number_gte: Int
}
```
### Fields
#### [Block_height.hash
](#)[Bytes
](/docs/api/lockup/graphql/the-graph/scalars/bytes.mdx)
#### [Block_height.number
](#)[Int
](/docs/api/lockup/graphql/the-graph/scalars/int.mdx)
#### [Block_height.number_gte
](#)[Int
](/docs/api/lockup/graphql/the-graph/scalars/int.mdx)
---
## Segment_filter
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
No description
```graphql
input Segment_filter {
id: String
id_not: String
id_gt: String
id_lt: String
id_gte: String
id_lte: String
id_in: [String!]
id_not_in: [String!]
id_contains: String
id_contains_nocase: String
id_not_contains: String
id_not_contains_nocase: String
id_starts_with: String
id_starts_with_nocase: String
id_not_starts_with: String
id_not_starts_with_nocase: String
id_ends_with: String
id_ends_with_nocase: String
id_not_ends_with: String
id_not_ends_with_nocase: String
amount: BigInt
amount_not: BigInt
amount_gt: BigInt
amount_lt: BigInt
amount_gte: BigInt
amount_lte: BigInt
amount_in: [BigInt!]
amount_not_in: [BigInt!]
endAmount: BigInt
endAmount_not: BigInt
endAmount_gt: BigInt
endAmount_lt: BigInt
endAmount_gte: BigInt
endAmount_lte: BigInt
endAmount_in: [BigInt!]
endAmount_not_in: [BigInt!]
endTime: BigInt
endTime_not: BigInt
endTime_gt: BigInt
endTime_lt: BigInt
endTime_gte: BigInt
endTime_lte: BigInt
endTime_in: [BigInt!]
endTime_not_in: [BigInt!]
exponent: BigInt
exponent_not: BigInt
exponent_gt: BigInt
exponent_lt: BigInt
exponent_gte: BigInt
exponent_lte: BigInt
exponent_in: [BigInt!]
exponent_not_in: [BigInt!]
position: BigInt
position_not: BigInt
position_gt: BigInt
position_lt: BigInt
position_gte: BigInt
position_lte: BigInt
position_in: [BigInt!]
position_not_in: [BigInt!]
startAmount: BigInt
startAmount_not: BigInt
startAmount_gt: BigInt
startAmount_lt: BigInt
startAmount_gte: BigInt
startAmount_lte: BigInt
startAmount_in: [BigInt!]
startAmount_not_in: [BigInt!]
startTime: BigInt
startTime_not: BigInt
startTime_gt: BigInt
startTime_lt: BigInt
startTime_gte: BigInt
startTime_lte: BigInt
startTime_in: [BigInt!]
startTime_not_in: [BigInt!]
stream: String
stream_not: String
stream_gt: String
stream_lt: String
stream_gte: String
stream_lte: String
stream_in: [String!]
stream_not_in: [String!]
stream_contains: String
stream_contains_nocase: String
stream_not_contains: String
stream_not_contains_nocase: String
stream_starts_with: String
stream_starts_with_nocase: String
stream_not_starts_with: String
stream_not_starts_with_nocase: String
stream_ends_with: String
stream_ends_with_nocase: String
stream_not_ends_with: String
stream_not_ends_with_nocase: String
stream_: Stream_filter
_change_block: BlockChangedFilter
and: [Segment_filter]
or: [Segment_filter]
}
```
### Fields
#### [Segment_filter.id
](#)[String
](/docs/api/lockup/graphql/the-graph/scalars/string.mdx)
#### [Segment_filter.id_not
](#)[String
](/docs/api/lockup/graphql/the-graph/scalars/string.mdx)
#### [Segment_filter.id_gt
](#)[String
](/docs/api/lockup/graphql/the-graph/scalars/string.mdx)
#### [Segment_filter.id_lt
](#)[String
](/docs/api/lockup/graphql/the-graph/scalars/string.mdx)
#### [Segment_filter.id_gte
](#)[String
](/docs/api/lockup/graphql/the-graph/scalars/string.mdx)
#### [Segment_filter.id_lte
](#)[String
](/docs/api/lockup/graphql/the-graph/scalars/string.mdx)
#### [Segment_filter.id_in
](#)[[String!]
](/docs/api/lockup/graphql/the-graph/scalars/string.mdx)
#### [Segment_filter.id_not_in
](#)[[String!]
](/docs/api/lockup/graphql/the-graph/scalars/string.mdx)
#### [Segment_filter.id_contains
](#)[String
](/docs/api/lockup/graphql/the-graph/scalars/string.mdx)
#### [Segment_filter.id_contains_nocase
](#)[String
](/docs/api/lockup/graphql/the-graph/scalars/string.mdx)
#### [Segment_filter.id_not_contains
](#)[String
](/docs/api/lockup/graphql/the-graph/scalars/string.mdx)
#### [Segment_filter.id_not_contains_nocase
](#)[String
](/docs/api/lockup/graphql/the-graph/scalars/string.mdx)
#### [Segment_filter.id_starts_with
](#)[String
](/docs/api/lockup/graphql/the-graph/scalars/string.mdx)
#### [Segment_filter.id_starts_with_nocase
](#)[String
](/docs/api/lockup/graphql/the-graph/scalars/string.mdx)
#### [Segment_filter.id_not_starts_with
](#)[String
](/docs/api/lockup/graphql/the-graph/scalars/string.mdx)
#### [Segment_filter.id_not_starts_with_nocase
](#)[String
](/docs/api/lockup/graphql/the-graph/scalars/string.mdx)
#### [Segment_filter.id_ends_with
](#)[String
](/docs/api/lockup/graphql/the-graph/scalars/string.mdx)
#### [Segment_filter.id_ends_with_nocase
](#)[String
](/docs/api/lockup/graphql/the-graph/scalars/string.mdx)
#### [Segment_filter.id_not_ends_with
](#)[String
](/docs/api/lockup/graphql/the-graph/scalars/string.mdx)
#### [Segment_filter.id_not_ends_with_nocase
](#)[String
](/docs/api/lockup/graphql/the-graph/scalars/string.mdx)
#### [Segment_filter.amount
](#)[BigInt
](/docs/api/lockup/graphql/the-graph/scalars/big-int.mdx)
#### [Segment_filter.amount_not
](#)[BigInt
](/docs/api/lockup/graphql/the-graph/scalars/big-int.mdx)
#### [Segment_filter.amount_gt
](#)[BigInt
](/docs/api/lockup/graphql/the-graph/scalars/big-int.mdx)
#### [Segment_filter.amount_lt
](#)[BigInt
](/docs/api/lockup/graphql/the-graph/scalars/big-int.mdx)
#### [Segment_filter.amount_gte
](#)[BigInt
](/docs/api/lockup/graphql/the-graph/scalars/big-int.mdx)
#### [Segment_filter.amount_lte
](#)[BigInt
](/docs/api/lockup/graphql/the-graph/scalars/big-int.mdx)
#### [Segment_filter.amount_in
](#)[[BigInt!]
](/docs/api/lockup/graphql/the-graph/scalars/big-int.mdx)
#### [Segment_filter.amount_not_in
](#)[[BigInt!]
](/docs/api/lockup/graphql/the-graph/scalars/big-int.mdx)
#### [Segment_filter.endAmount
](#)[BigInt
](/docs/api/lockup/graphql/the-graph/scalars/big-int.mdx)
#### [Segment_filter.endAmount_not
](#)[BigInt
](/docs/api/lockup/graphql/the-graph/scalars/big-int.mdx)
#### [Segment_filter.endAmount_gt
](#)[BigInt
](/docs/api/lockup/graphql/the-graph/scalars/big-int.mdx)
#### [Segment_filter.endAmount_lt
](#)[BigInt
](/docs/api/lockup/graphql/the-graph/scalars/big-int.mdx)
#### [Segment_filter.endAmount_gte
](#)[BigInt
](/docs/api/lockup/graphql/the-graph/scalars/big-int.mdx)
#### [Segment_filter.endAmount_lte
](#)[BigInt
](/docs/api/lockup/graphql/the-graph/scalars/big-int.mdx)
#### [Segment_filter.endAmount_in
](#)[[BigInt!]
](/docs/api/lockup/graphql/the-graph/scalars/big-int.mdx)
#### [Segment_filter.endAmount_not_in
](#)[[BigInt!]
](/docs/api/lockup/graphql/the-graph/scalars/big-int.mdx)
#### [Segment_filter.endTime
](#)[BigInt
](/docs/api/lockup/graphql/the-graph/scalars/big-int.mdx)
#### [Segment_filter.endTime_not
](#)[BigInt
](/docs/api/lockup/graphql/the-graph/scalars/big-int.mdx)
#### [Segment_filter.endTime_gt
](#)[BigInt
](/docs/api/lockup/graphql/the-graph/scalars/big-int.mdx)
#### [Segment_filter.endTime_lt
](#)[BigInt
](/docs/api/lockup/graphql/the-graph/scalars/big-int.mdx)
#### [Segment_filter.endTime_gte
](#)[BigInt
](/docs/api/lockup/graphql/the-graph/scalars/big-int.mdx)
#### [Segment_filter.endTime_lte
](#)[BigInt
](/docs/api/lockup/graphql/the-graph/scalars/big-int.mdx)
#### [Segment_filter.endTime_in
](#)[[BigInt!]
](/docs/api/lockup/graphql/the-graph/scalars/big-int.mdx)
#### [Segment_filter.endTime_not_in
](#)[[BigInt!]
](/docs/api/lockup/graphql/the-graph/scalars/big-int.mdx)
#### [Segment_filter.exponent
](#)[BigInt
](/docs/api/lockup/graphql/the-graph/scalars/big-int.mdx)
#### [Segment_filter.exponent_not
](#)[BigInt
](/docs/api/lockup/graphql/the-graph/scalars/big-int.mdx)
#### [Segment_filter.exponent_gt
](#)[BigInt
](/docs/api/lockup/graphql/the-graph/scalars/big-int.mdx)
#### [Segment_filter.exponent_lt
](#)[BigInt
](/docs/api/lockup/graphql/the-graph/scalars/big-int.mdx)
#### [Segment_filter.exponent_gte
](#)[BigInt
](/docs/api/lockup/graphql/the-graph/scalars/big-int.mdx)
#### [Segment_filter.exponent_lte
](#)[BigInt
](/docs/api/lockup/graphql/the-graph/scalars/big-int.mdx)
#### [Segment_filter.exponent_in
](#)[[BigInt!]
](/docs/api/lockup/graphql/the-graph/scalars/big-int.mdx)
#### [Segment_filter.exponent_not_in
](#)[[BigInt!]
](/docs/api/lockup/graphql/the-graph/scalars/big-int.mdx)
#### [Segment_filter.position
](#)[BigInt
](/docs/api/lockup/graphql/the-graph/scalars/big-int.mdx)
#### [Segment_filter.position_not
](#)[BigInt
](/docs/api/lockup/graphql/the-graph/scalars/big-int.mdx)
#### [Segment_filter.position_gt
](#)[BigInt
](/docs/api/lockup/graphql/the-graph/scalars/big-int.mdx)
#### [Segment_filter.position_lt
](#)[BigInt
](/docs/api/lockup/graphql/the-graph/scalars/big-int.mdx)
#### [Segment_filter.position_gte
](#)[BigInt
](/docs/api/lockup/graphql/the-graph/scalars/big-int.mdx)
#### [Segment_filter.position_lte
](#)[BigInt
](/docs/api/lockup/graphql/the-graph/scalars/big-int.mdx)
#### [Segment_filter.position_in
](#)[[BigInt!]
](/docs/api/lockup/graphql/the-graph/scalars/big-int.mdx)
#### [Segment_filter.position_not_in
](#)[[BigInt!]
](/docs/api/lockup/graphql/the-graph/scalars/big-int.mdx)
#### [Segment_filter.startAmount
](#)[BigInt
](/docs/api/lockup/graphql/the-graph/scalars/big-int.mdx)
#### [Segment_filter.startAmount_not
](#)[BigInt
](/docs/api/lockup/graphql/the-graph/scalars/big-int.mdx)
#### [Segment_filter.startAmount_gt
](#)[BigInt
](/docs/api/lockup/graphql/the-graph/scalars/big-int.mdx)
#### [Segment_filter.startAmount_lt
](#)[BigInt
](/docs/api/lockup/graphql/the-graph/scalars/big-int.mdx)
#### [Segment_filter.startAmount_gte
](#)[BigInt
](/docs/api/lockup/graphql/the-graph/scalars/big-int.mdx)
#### [Segment_filter.startAmount_lte
](#)[BigInt
](/docs/api/lockup/graphql/the-graph/scalars/big-int.mdx)
#### [Segment_filter.startAmount_in
](#)[[BigInt!]
](/docs/api/lockup/graphql/the-graph/scalars/big-int.mdx)
#### [Segment_filter.startAmount_not_in
](#)[[BigInt!]
](/docs/api/lockup/graphql/the-graph/scalars/big-int.mdx)
#### [Segment_filter.startTime
](#)[BigInt
](/docs/api/lockup/graphql/the-graph/scalars/big-int.mdx)
#### [Segment_filter.startTime_not
](#)[BigInt
](/docs/api/lockup/graphql/the-graph/scalars/big-int.mdx)
#### [Segment_filter.startTime_gt
](#)[BigInt
](/docs/api/lockup/graphql/the-graph/scalars/big-int.mdx)
#### [Segment_filter.startTime_lt
](#)[BigInt
](/docs/api/lockup/graphql/the-graph/scalars/big-int.mdx)
#### [Segment_filter.startTime_gte
](#)[BigInt
](/docs/api/lockup/graphql/the-graph/scalars/big-int.mdx)
#### [Segment_filter.startTime_lte
](#)[BigInt
](/docs/api/lockup/graphql/the-graph/scalars/big-int.mdx)
#### [Segment_filter.startTime_in
](#)[[BigInt!]
](/docs/api/lockup/graphql/the-graph/scalars/big-int.mdx)
#### [Segment_filter.startTime_not_in
](#)[[BigInt!]
](/docs/api/lockup/graphql/the-graph/scalars/big-int.mdx)
#### [Segment_filter.stream
](#)[String
](/docs/api/lockup/graphql/the-graph/scalars/string.mdx)
#### [Segment_filter.stream_not
](#)[String
](/docs/api/lockup/graphql/the-graph/scalars/string.mdx)
#### [Segment_filter.stream_gt
](#)[String
](/docs/api/lockup/graphql/the-graph/scalars/string.mdx)
#### [Segment_filter.stream_lt
](#)[String
](/docs/api/lockup/graphql/the-graph/scalars/string.mdx)
#### [Segment_filter.stream_gte
](#)[String
](/docs/api/lockup/graphql/the-graph/scalars/string.mdx)
#### [Segment_filter.stream_lte
](#)[String
](/docs/api/lockup/graphql/the-graph/scalars/string.mdx)
#### [Segment_filter.stream_in
](#)[[String!]
](/docs/api/lockup/graphql/the-graph/scalars/string.mdx)
#### [Segment_filter.stream_not_in
](#)[[String!]
](/docs/api/lockup/graphql/the-graph/scalars/string.mdx)
#### [Segment_filter.stream_contains
](#)[String
](/docs/api/lockup/graphql/the-graph/scalars/string.mdx)
#### [Segment_filter.stream_contains_nocase
](#)[String
](/docs/api/lockup/graphql/the-graph/scalars/string.mdx)
#### [Segment_filter.stream_not_contains
](#)[String
](/docs/api/lockup/graphql/the-graph/scalars/string.mdx)
#### [Segment_filter.stream_not_contains_nocase
](#)[String
](/docs/api/lockup/graphql/the-graph/scalars/string.mdx)
#### [Segment_filter.stream_starts_with
](#)[String
](/docs/api/lockup/graphql/the-graph/scalars/string.mdx)
#### [Segment_filter.stream_starts_with_nocase
](#)[String
](/docs/api/lockup/graphql/the-graph/scalars/string.mdx)
#### [Segment_filter.stream_not_starts_with
](#)[String
](/docs/api/lockup/graphql/the-graph/scalars/string.mdx)
#### [Segment_filter.stream_not_starts_with_nocase
](#)[String
](/docs/api/lockup/graphql/the-graph/scalars/string.mdx)
#### [Segment_filter.stream_ends_with
](#)[String
](/docs/api/lockup/graphql/the-graph/scalars/string.mdx)
#### [Segment_filter.stream_ends_with_nocase
](#)[String
](/docs/api/lockup/graphql/the-graph/scalars/string.mdx)
#### [Segment_filter.stream_not_ends_with
](#)[String
](/docs/api/lockup/graphql/the-graph/scalars/string.mdx)
#### [Segment_filter.stream_not_ends_with_nocase
](#)[String
](/docs/api/lockup/graphql/the-graph/scalars/string.mdx)
#### [Segment_filter.stream\_
](#)[Stream_filter
](/docs/api/lockup/graphql/the-graph/inputs/stream-filter.mdx)
#### [Segment_filter.\_change_block
](#)[BlockChangedFilter
](/docs/api/lockup/graphql/the-graph/inputs/block-changed-filter.mdx)
Filter for the block changed event.
#### [Segment_filter.and
](#)[[Segment_filter]
](/docs/api/lockup/graphql/the-graph/inputs/segment-filter.mdx)
#### [Segment_filter.or
](#)[[Segment_filter]
](/docs/api/lockup/graphql/the-graph/inputs/segment-filter.mdx)
---
## Stream_filter (3)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
No description
```graphql
input Stream_filter {
id: String
id_not: String
id_gt: String
id_lt: String
id_gte: String
id_lte: String
id_in: [String!]
id_not_in: [String!]
id_contains: String
id_contains_nocase: String
id_not_contains: String
id_not_contains_nocase: String
id_starts_with: String
id_starts_with_nocase: String
id_not_starts_with: String
id_not_starts_with_nocase: String
id_ends_with: String
id_ends_with_nocase: String
id_not_ends_with: String
id_not_ends_with_nocase: String
alias: String
alias_not: String
alias_gt: String
alias_lt: String
alias_gte: String
alias_lte: String
alias_in: [String!]
alias_not_in: [String!]
alias_contains: String
alias_contains_nocase: String
alias_not_contains: String
alias_not_contains_nocase: String
alias_starts_with: String
alias_starts_with_nocase: String
alias_not_starts_with: String
alias_not_starts_with_nocase: String
alias_ends_with: String
alias_ends_with_nocase: String
alias_not_ends_with: String
alias_not_ends_with_nocase: String
chainId: BigInt
chainId_not: BigInt
chainId_gt: BigInt
chainId_lt: BigInt
chainId_gte: BigInt
chainId_lte: BigInt
chainId_in: [BigInt!]
chainId_not_in: [BigInt!]
subgraphId: BigInt
subgraphId_not: BigInt
subgraphId_gt: BigInt
subgraphId_lt: BigInt
subgraphId_gte: BigInt
subgraphId_lte: BigInt
subgraphId_in: [BigInt!]
subgraphId_not_in: [BigInt!]
tokenId: BigInt
tokenId_not: BigInt
tokenId_gt: BigInt
tokenId_lt: BigInt
tokenId_gte: BigInt
tokenId_lte: BigInt
tokenId_in: [BigInt!]
tokenId_not_in: [BigInt!]
hash: Bytes
hash_not: Bytes
hash_gt: Bytes
hash_lt: Bytes
hash_gte: Bytes
hash_lte: Bytes
hash_in: [Bytes!]
hash_not_in: [Bytes!]
hash_contains: Bytes
hash_not_contains: Bytes
timestamp: BigInt
timestamp_not: BigInt
timestamp_gt: BigInt
timestamp_lt: BigInt
timestamp_gte: BigInt
timestamp_lte: BigInt
timestamp_in: [BigInt!]
timestamp_not_in: [BigInt!]
actions_: Action_filter
asset: String
asset_not: String
asset_gt: String
asset_lt: String
asset_gte: String
asset_lte: String
asset_in: [String!]
asset_not_in: [String!]
asset_contains: String
asset_contains_nocase: String
asset_not_contains: String
asset_not_contains_nocase: String
asset_starts_with: String
asset_starts_with_nocase: String
asset_not_starts_with: String
asset_not_starts_with_nocase: String
asset_ends_with: String
asset_ends_with_nocase: String
asset_not_ends_with: String
asset_not_ends_with_nocase: String
asset_: Asset_filter
assetDecimalsValue: BigInt
assetDecimalsValue_not: BigInt
assetDecimalsValue_gt: BigInt
assetDecimalsValue_lt: BigInt
assetDecimalsValue_gte: BigInt
assetDecimalsValue_lte: BigInt
assetDecimalsValue_in: [BigInt!]
assetDecimalsValue_not_in: [BigInt!]
batch: String
batch_not: String
batch_gt: String
batch_lt: String
batch_gte: String
batch_lte: String
batch_in: [String!]
batch_not_in: [String!]
batch_contains: String
batch_contains_nocase: String
batch_not_contains: String
batch_not_contains_nocase: String
batch_starts_with: String
batch_starts_with_nocase: String
batch_not_starts_with: String
batch_not_starts_with_nocase: String
batch_ends_with: String
batch_ends_with_nocase: String
batch_not_ends_with: String
batch_not_ends_with_nocase: String
batch_: Batch_filter
category: StreamCategory
category_not: StreamCategory
category_in: [StreamCategory!]
category_not_in: [StreamCategory!]
contract: Bytes
contract_not: Bytes
contract_gt: Bytes
contract_lt: Bytes
contract_gte: Bytes
contract_lte: Bytes
contract_in: [Bytes!]
contract_not_in: [Bytes!]
contract_contains: Bytes
contract_not_contains: Bytes
position: BigInt
position_not: BigInt
position_gt: BigInt
position_lt: BigInt
position_gte: BigInt
position_lte: BigInt
position_in: [BigInt!]
position_not_in: [BigInt!]
recipient: Bytes
recipient_not: Bytes
recipient_gt: Bytes
recipient_lt: Bytes
recipient_gte: Bytes
recipient_lte: Bytes
recipient_in: [Bytes!]
recipient_not_in: [Bytes!]
recipient_contains: Bytes
recipient_not_contains: Bytes
sender: Bytes
sender_not: Bytes
sender_gt: Bytes
sender_lt: Bytes
sender_gte: Bytes
sender_lte: Bytes
sender_in: [Bytes!]
sender_not_in: [Bytes!]
sender_contains: Bytes
sender_not_contains: Bytes
startTime: BigInt
startTime_not: BigInt
startTime_gt: BigInt
startTime_lt: BigInt
startTime_gte: BigInt
startTime_lte: BigInt
startTime_in: [BigInt!]
startTime_not_in: [BigInt!]
transferable: Boolean
transferable_not: Boolean
transferable_in: [Boolean!]
transferable_not_in: [Boolean!]
version: String
version_not: String
version_gt: String
version_lt: String
version_gte: String
version_lte: String
version_in: [String!]
version_not_in: [String!]
version_contains: String
version_contains_nocase: String
version_not_contains: String
version_not_contains_nocase: String
version_starts_with: String
version_starts_with_nocase: String
version_not_starts_with: String
version_not_starts_with_nocase: String
version_ends_with: String
version_ends_with_nocase: String
version_not_ends_with: String
version_not_ends_with_nocase: String
withdrawnAmount: BigInt
withdrawnAmount_not: BigInt
withdrawnAmount_gt: BigInt
withdrawnAmount_lt: BigInt
withdrawnAmount_gte: BigInt
withdrawnAmount_lte: BigInt
withdrawnAmount_in: [BigInt!]
withdrawnAmount_not_in: [BigInt!]
canceledAction: String
canceledAction_not: String
canceledAction_gt: String
canceledAction_lt: String
canceledAction_gte: String
canceledAction_lte: String
canceledAction_in: [String!]
canceledAction_not_in: [String!]
canceledAction_contains: String
canceledAction_contains_nocase: String
canceledAction_not_contains: String
canceledAction_not_contains_nocase: String
canceledAction_starts_with: String
canceledAction_starts_with_nocase: String
canceledAction_not_starts_with: String
canceledAction_not_starts_with_nocase: String
canceledAction_ends_with: String
canceledAction_ends_with_nocase: String
canceledAction_not_ends_with: String
canceledAction_not_ends_with_nocase: String
canceledAction_: Action_filter
renounceAction: String
renounceAction_not: String
renounceAction_gt: String
renounceAction_lt: String
renounceAction_gte: String
renounceAction_lte: String
renounceAction_in: [String!]
renounceAction_not_in: [String!]
renounceAction_contains: String
renounceAction_contains_nocase: String
renounceAction_not_contains: String
renounceAction_not_contains_nocase: String
renounceAction_starts_with: String
renounceAction_starts_with_nocase: String
renounceAction_not_starts_with: String
renounceAction_not_starts_with_nocase: String
renounceAction_ends_with: String
renounceAction_ends_with_nocase: String
renounceAction_not_ends_with: String
renounceAction_not_ends_with_nocase: String
renounceAction_: Action_filter
cancelable: Boolean
cancelable_not: Boolean
cancelable_in: [Boolean!]
cancelable_not_in: [Boolean!]
canceled: Boolean
canceled_not: Boolean
canceled_in: [Boolean!]
canceled_not_in: [Boolean!]
canceledTime: BigInt
canceledTime_not: BigInt
canceledTime_gt: BigInt
canceledTime_lt: BigInt
canceledTime_gte: BigInt
canceledTime_lte: BigInt
canceledTime_in: [BigInt!]
canceledTime_not_in: [BigInt!]
depositAmount: BigInt
depositAmount_not: BigInt
depositAmount_gt: BigInt
depositAmount_lt: BigInt
depositAmount_gte: BigInt
depositAmount_lte: BigInt
depositAmount_in: [BigInt!]
depositAmount_not_in: [BigInt!]
duration: BigInt
duration_not: BigInt
duration_gt: BigInt
duration_lt: BigInt
duration_gte: BigInt
duration_lte: BigInt
duration_in: [BigInt!]
duration_not_in: [BigInt!]
endTime: BigInt
endTime_not: BigInt
endTime_gt: BigInt
endTime_lt: BigInt
endTime_gte: BigInt
endTime_lte: BigInt
endTime_in: [BigInt!]
endTime_not_in: [BigInt!]
funder: Bytes
funder_not: Bytes
funder_gt: Bytes
funder_lt: Bytes
funder_gte: Bytes
funder_lte: Bytes
funder_in: [Bytes!]
funder_not_in: [Bytes!]
funder_contains: Bytes
funder_not_contains: Bytes
intactAmount: BigInt
intactAmount_not: BigInt
intactAmount_gt: BigInt
intactAmount_lt: BigInt
intactAmount_gte: BigInt
intactAmount_lte: BigInt
intactAmount_in: [BigInt!]
intactAmount_not_in: [BigInt!]
proxender: Bytes
proxender_not: Bytes
proxender_gt: Bytes
proxender_lt: Bytes
proxender_gte: Bytes
proxender_lte: Bytes
proxender_in: [Bytes!]
proxender_not_in: [Bytes!]
proxender_contains: Bytes
proxender_not_contains: Bytes
proxied: Boolean
proxied_not: Boolean
proxied_in: [Boolean!]
proxied_not_in: [Boolean!]
renounceTime: BigInt
renounceTime_not: BigInt
renounceTime_gt: BigInt
renounceTime_lt: BigInt
renounceTime_gte: BigInt
renounceTime_lte: BigInt
renounceTime_in: [BigInt!]
renounceTime_not_in: [BigInt!]
shape: String
shape_not: String
shape_gt: String
shape_lt: String
shape_gte: String
shape_lte: String
shape_in: [String!]
shape_not_in: [String!]
shape_contains: String
shape_contains_nocase: String
shape_not_contains: String
shape_not_contains_nocase: String
shape_starts_with: String
shape_starts_with_nocase: String
shape_not_starts_with: String
shape_not_starts_with_nocase: String
shape_ends_with: String
shape_ends_with_nocase: String
shape_not_ends_with: String
shape_not_ends_with_nocase: String
cliff: Boolean
cliff_not: Boolean
cliff_in: [Boolean!]
cliff_not_in: [Boolean!]
cliffAmount: BigInt
cliffAmount_not: BigInt
cliffAmount_gt: BigInt
cliffAmount_lt: BigInt
cliffAmount_gte: BigInt
cliffAmount_lte: BigInt
cliffAmount_in: [BigInt!]
cliffAmount_not_in: [BigInt!]
cliffTime: BigInt
cliffTime_not: BigInt
cliffTime_gt: BigInt
cliffTime_lt: BigInt
cliffTime_gte: BigInt
cliffTime_lte: BigInt
cliffTime_in: [BigInt!]
cliffTime_not_in: [BigInt!]
initial: Boolean
initial_not: Boolean
initial_in: [Boolean!]
initial_not_in: [Boolean!]
initialAmount: BigInt
initialAmount_not: BigInt
initialAmount_gt: BigInt
initialAmount_lt: BigInt
initialAmount_gte: BigInt
initialAmount_lte: BigInt
initialAmount_in: [BigInt!]
initialAmount_not_in: [BigInt!]
segments_: Segment_filter
tranches_: Tranche_filter
_change_block: BlockChangedFilter
and: [Stream_filter]
or: [Stream_filter]
}
```
### Fields
#### [Stream_filter.id
](#)[String
](/docs/api/lockup/graphql/the-graph/scalars/string.mdx)
#### [Stream_filter.id_not
](#)[String
](/docs/api/lockup/graphql/the-graph/scalars/string.mdx)
#### [Stream_filter.id_gt
](#)[String
](/docs/api/lockup/graphql/the-graph/scalars/string.mdx)
#### [Stream_filter.id_lt
](#)[String
](/docs/api/lockup/graphql/the-graph/scalars/string.mdx)
#### [Stream_filter.id_gte
](#)[String
](/docs/api/lockup/graphql/the-graph/scalars/string.mdx)
#### [Stream_filter.id_lte
](#)[String
](/docs/api/lockup/graphql/the-graph/scalars/string.mdx)
#### [Stream_filter.id_in
](#)[[String!]
](/docs/api/lockup/graphql/the-graph/scalars/string.mdx)
#### [Stream_filter.id_not_in
](#)[[String!]
](/docs/api/lockup/graphql/the-graph/scalars/string.mdx)
#### [Stream_filter.id_contains
](#)[String
](/docs/api/lockup/graphql/the-graph/scalars/string.mdx)
#### [Stream_filter.id_contains_nocase
](#)[String
](/docs/api/lockup/graphql/the-graph/scalars/string.mdx)
#### [Stream_filter.id_not_contains
](#)[String
](/docs/api/lockup/graphql/the-graph/scalars/string.mdx)
#### [Stream_filter.id_not_contains_nocase
](#)[String
](/docs/api/lockup/graphql/the-graph/scalars/string.mdx)
#### [Stream_filter.id_starts_with
](#)[String
](/docs/api/lockup/graphql/the-graph/scalars/string.mdx)
#### [Stream_filter.id_starts_with_nocase
](#)[String
](/docs/api/lockup/graphql/the-graph/scalars/string.mdx)
#### [Stream_filter.id_not_starts_with
](#)[String
](/docs/api/lockup/graphql/the-graph/scalars/string.mdx)
#### [Stream_filter.id_not_starts_with_nocase
](#)[String
](/docs/api/lockup/graphql/the-graph/scalars/string.mdx)
#### [Stream_filter.id_ends_with
](#)[String
](/docs/api/lockup/graphql/the-graph/scalars/string.mdx)
#### [Stream_filter.id_ends_with_nocase
](#)[String
](/docs/api/lockup/graphql/the-graph/scalars/string.mdx)
#### [Stream_filter.id_not_ends_with
](#)[String
](/docs/api/lockup/graphql/the-graph/scalars/string.mdx)
#### [Stream_filter.id_not_ends_with_nocase
](#)[String
](/docs/api/lockup/graphql/the-graph/scalars/string.mdx)
#### [Stream_filter.alias
](#)[String
](/docs/api/lockup/graphql/the-graph/scalars/string.mdx)
#### [Stream_filter.alias_not
](#)[String
](/docs/api/lockup/graphql/the-graph/scalars/string.mdx)
#### [Stream_filter.alias_gt
](#)[String
](/docs/api/lockup/graphql/the-graph/scalars/string.mdx)
#### [Stream_filter.alias_lt
](#)[String
](/docs/api/lockup/graphql/the-graph/scalars/string.mdx)
#### [Stream_filter.alias_gte
](#)[String
](/docs/api/lockup/graphql/the-graph/scalars/string.mdx)
#### [Stream_filter.alias_lte
](#)[String
](/docs/api/lockup/graphql/the-graph/scalars/string.mdx)
#### [Stream_filter.alias_in
](#)[[String!]
](/docs/api/lockup/graphql/the-graph/scalars/string.mdx)
#### [Stream_filter.alias_not_in
](#)[[String!]
](/docs/api/lockup/graphql/the-graph/scalars/string.mdx)
#### [Stream_filter.alias_contains
](#)[String
](/docs/api/lockup/graphql/the-graph/scalars/string.mdx)
#### [Stream_filter.alias_contains_nocase
](#)[String
](/docs/api/lockup/graphql/the-graph/scalars/string.mdx)
#### [Stream_filter.alias_not_contains
](#)[String
](/docs/api/lockup/graphql/the-graph/scalars/string.mdx)
#### [Stream_filter.alias_not_contains_nocase
](#)[String
](/docs/api/lockup/graphql/the-graph/scalars/string.mdx)
#### [Stream_filter.alias_starts_with
](#)[String
](/docs/api/lockup/graphql/the-graph/scalars/string.mdx)
#### [Stream_filter.alias_starts_with_nocase
](#)[String
](/docs/api/lockup/graphql/the-graph/scalars/string.mdx)
#### [Stream_filter.alias_not_starts_with
](#)[String
](/docs/api/lockup/graphql/the-graph/scalars/string.mdx)
#### [Stream_filter.alias_not_starts_with_nocase
](#)[String
](/docs/api/lockup/graphql/the-graph/scalars/string.mdx)
#### [Stream_filter.alias_ends_with
](#)[String
](/docs/api/lockup/graphql/the-graph/scalars/string.mdx)
#### [Stream_filter.alias_ends_with_nocase
](#)[String
](/docs/api/lockup/graphql/the-graph/scalars/string.mdx)
#### [Stream_filter.alias_not_ends_with
](#)[String
](/docs/api/lockup/graphql/the-graph/scalars/string.mdx)
#### [Stream_filter.alias_not_ends_with_nocase
](#)[String
](/docs/api/lockup/graphql/the-graph/scalars/string.mdx)
#### [Stream_filter.chainId
](#)[BigInt
](/docs/api/lockup/graphql/the-graph/scalars/big-int.mdx)
#### [Stream_filter.chainId_not
](#)[BigInt
](/docs/api/lockup/graphql/the-graph/scalars/big-int.mdx)
#### [Stream_filter.chainId_gt
](#)[BigInt
](/docs/api/lockup/graphql/the-graph/scalars/big-int.mdx)
#### [Stream_filter.chainId_lt
](#)[BigInt
](/docs/api/lockup/graphql/the-graph/scalars/big-int.mdx)
#### [Stream_filter.chainId_gte
](#)[BigInt
](/docs/api/lockup/graphql/the-graph/scalars/big-int.mdx)
#### [Stream_filter.chainId_lte
](#)[BigInt
](/docs/api/lockup/graphql/the-graph/scalars/big-int.mdx)
#### [Stream_filter.chainId_in
](#)[[BigInt!]
](/docs/api/lockup/graphql/the-graph/scalars/big-int.mdx)
#### [Stream_filter.chainId_not_in
](#)[[BigInt!]
](/docs/api/lockup/graphql/the-graph/scalars/big-int.mdx)
#### [Stream_filter.subgraphId
](#)[BigInt
](/docs/api/lockup/graphql/the-graph/scalars/big-int.mdx)
#### [Stream_filter.subgraphId_not
](#)[BigInt
](/docs/api/lockup/graphql/the-graph/scalars/big-int.mdx)
#### [Stream_filter.subgraphId_gt
](#)[BigInt
](/docs/api/lockup/graphql/the-graph/scalars/big-int.mdx)
#### [Stream_filter.subgraphId_lt
](#)[BigInt
](/docs/api/lockup/graphql/the-graph/scalars/big-int.mdx)
#### [Stream_filter.subgraphId_gte
](#)[BigInt
](/docs/api/lockup/graphql/the-graph/scalars/big-int.mdx)
#### [Stream_filter.subgraphId_lte
](#)[BigInt
](/docs/api/lockup/graphql/the-graph/scalars/big-int.mdx)
#### [Stream_filter.subgraphId_in
](#)[[BigInt!]
](/docs/api/lockup/graphql/the-graph/scalars/big-int.mdx)
#### [Stream_filter.subgraphId_not_in
](#)[[BigInt!]
](/docs/api/lockup/graphql/the-graph/scalars/big-int.mdx)
#### [Stream_filter.tokenId
](#)[BigInt
](/docs/api/lockup/graphql/the-graph/scalars/big-int.mdx)
#### [Stream_filter.tokenId_not
](#)[BigInt
](/docs/api/lockup/graphql/the-graph/scalars/big-int.mdx)
#### [Stream_filter.tokenId_gt
](#)[BigInt
](/docs/api/lockup/graphql/the-graph/scalars/big-int.mdx)
#### [Stream_filter.tokenId_lt
](#)[BigInt
](/docs/api/lockup/graphql/the-graph/scalars/big-int.mdx)
#### [Stream_filter.tokenId_gte
](#)[BigInt
](/docs/api/lockup/graphql/the-graph/scalars/big-int.mdx)
#### [Stream_filter.tokenId_lte
](#)[BigInt
](/docs/api/lockup/graphql/the-graph/scalars/big-int.mdx)
#### [Stream_filter.tokenId_in
](#)[[BigInt!]
](/docs/api/lockup/graphql/the-graph/scalars/big-int.mdx)
#### [Stream_filter.tokenId_not_in
](#)[[BigInt!]
](/docs/api/lockup/graphql/the-graph/scalars/big-int.mdx)
#### [Stream_filter.hash
](#)[Bytes
](/docs/api/lockup/graphql/the-graph/scalars/bytes.mdx)
#### [Stream_filter.hash_not
](#)[Bytes
](/docs/api/lockup/graphql/the-graph/scalars/bytes.mdx)
#### [Stream_filter.hash_gt
](#)[Bytes
](/docs/api/lockup/graphql/the-graph/scalars/bytes.mdx)
#### [Stream_filter.hash_lt
](#)[Bytes
](/docs/api/lockup/graphql/the-graph/scalars/bytes.mdx)
#### [Stream_filter.hash_gte
](#)[Bytes
](/docs/api/lockup/graphql/the-graph/scalars/bytes.mdx)
#### [Stream_filter.hash_lte
](#)[Bytes
](/docs/api/lockup/graphql/the-graph/scalars/bytes.mdx)
#### [Stream_filter.hash_in
](#)[[Bytes!]
](/docs/api/lockup/graphql/the-graph/scalars/bytes.mdx)
#### [Stream_filter.hash_not_in
](#)[[Bytes!]
](/docs/api/lockup/graphql/the-graph/scalars/bytes.mdx)
#### [Stream_filter.hash_contains
](#)[Bytes
](/docs/api/lockup/graphql/the-graph/scalars/bytes.mdx)
#### [Stream_filter.hash_not_contains
](#)[Bytes
](/docs/api/lockup/graphql/the-graph/scalars/bytes.mdx)
#### [Stream_filter.timestamp
](#)[BigInt
](/docs/api/lockup/graphql/the-graph/scalars/big-int.mdx)
#### [Stream_filter.timestamp_not
](#)[BigInt
](/docs/api/lockup/graphql/the-graph/scalars/big-int.mdx)
#### [Stream_filter.timestamp_gt
](#)[BigInt
](/docs/api/lockup/graphql/the-graph/scalars/big-int.mdx)
#### [Stream_filter.timestamp_lt
](#)[BigInt
](/docs/api/lockup/graphql/the-graph/scalars/big-int.mdx)
#### [Stream_filter.timestamp_gte
](#)[BigInt
](/docs/api/lockup/graphql/the-graph/scalars/big-int.mdx)
#### [Stream_filter.timestamp_lte
](#)[BigInt
](/docs/api/lockup/graphql/the-graph/scalars/big-int.mdx)
#### [Stream_filter.timestamp_in
](#)[[BigInt!]
](/docs/api/lockup/graphql/the-graph/scalars/big-int.mdx)
#### [Stream_filter.timestamp_not_in
](#)[[BigInt!]
](/docs/api/lockup/graphql/the-graph/scalars/big-int.mdx)
#### [Stream_filter.actions\_
](#)[Action_filter
](/docs/api/lockup/graphql/the-graph/inputs/action-filter.mdx)
#### [Stream_filter.asset
](#)[String
](/docs/api/lockup/graphql/the-graph/scalars/string.mdx)
#### [Stream_filter.asset_not
](#)[String
](/docs/api/lockup/graphql/the-graph/scalars/string.mdx)
#### [Stream_filter.asset_gt
](#)[String
](/docs/api/lockup/graphql/the-graph/scalars/string.mdx)
#### [Stream_filter.asset_lt
](#)[String
](/docs/api/lockup/graphql/the-graph/scalars/string.mdx)
#### [Stream_filter.asset_gte
](#)[String
](/docs/api/lockup/graphql/the-graph/scalars/string.mdx)
#### [Stream_filter.asset_lte
](#)[String
](/docs/api/lockup/graphql/the-graph/scalars/string.mdx)
#### [Stream_filter.asset_in
](#)[[String!]
](/docs/api/lockup/graphql/the-graph/scalars/string.mdx)
#### [Stream_filter.asset_not_in
](#)[[String!]
](/docs/api/lockup/graphql/the-graph/scalars/string.mdx)
#### [Stream_filter.asset_contains
](#)[String
](/docs/api/lockup/graphql/the-graph/scalars/string.mdx)
#### [Stream_filter.asset_contains_nocase
](#)[String
](/docs/api/lockup/graphql/the-graph/scalars/string.mdx)
#### [Stream_filter.asset_not_contains
](#)[String
](/docs/api/lockup/graphql/the-graph/scalars/string.mdx)
#### [Stream_filter.asset_not_contains_nocase
](#)[String
](/docs/api/lockup/graphql/the-graph/scalars/string.mdx)
#### [Stream_filter.asset_starts_with
](#)[String
](/docs/api/lockup/graphql/the-graph/scalars/string.mdx)
#### [Stream_filter.asset_starts_with_nocase
](#)[String
](/docs/api/lockup/graphql/the-graph/scalars/string.mdx)
#### [Stream_filter.asset_not_starts_with
](#)[String
](/docs/api/lockup/graphql/the-graph/scalars/string.mdx)
#### [Stream_filter.asset_not_starts_with_nocase
](#)[String
](/docs/api/lockup/graphql/the-graph/scalars/string.mdx)
#### [Stream_filter.asset_ends_with
](#)[String
](/docs/api/lockup/graphql/the-graph/scalars/string.mdx)
#### [Stream_filter.asset_ends_with_nocase
](#)[String
](/docs/api/lockup/graphql/the-graph/scalars/string.mdx)
#### [Stream_filter.asset_not_ends_with
](#)[String
](/docs/api/lockup/graphql/the-graph/scalars/string.mdx)
#### [Stream_filter.asset_not_ends_with_nocase
](#)[String
](/docs/api/lockup/graphql/the-graph/scalars/string.mdx)
#### [Stream_filter.asset\_
](#)[Asset_filter
](/docs/api/lockup/graphql/the-graph/inputs/asset-filter.mdx)
#### [Stream_filter.assetDecimalsValue
](#)[BigInt
](/docs/api/lockup/graphql/the-graph/scalars/big-int.mdx)
#### [Stream_filter.assetDecimalsValue_not
](#)[BigInt
](/docs/api/lockup/graphql/the-graph/scalars/big-int.mdx)
#### [Stream_filter.assetDecimalsValue_gt
](#)[BigInt
](/docs/api/lockup/graphql/the-graph/scalars/big-int.mdx)
#### [Stream_filter.assetDecimalsValue_lt
](#)[BigInt
](/docs/api/lockup/graphql/the-graph/scalars/big-int.mdx)
#### [Stream_filter.assetDecimalsValue_gte
](#)[BigInt
](/docs/api/lockup/graphql/the-graph/scalars/big-int.mdx)
#### [Stream_filter.assetDecimalsValue_lte
](#)[BigInt
](/docs/api/lockup/graphql/the-graph/scalars/big-int.mdx)
#### [Stream_filter.assetDecimalsValue_in
](#)[[BigInt!]
](/docs/api/lockup/graphql/the-graph/scalars/big-int.mdx)
#### [Stream_filter.assetDecimalsValue_not_in
](#)[[BigInt!]
](/docs/api/lockup/graphql/the-graph/scalars/big-int.mdx)
#### [Stream_filter.batch
](#)[String
](/docs/api/lockup/graphql/the-graph/scalars/string.mdx)
#### [Stream_filter.batch_not
](#)[String
](/docs/api/lockup/graphql/the-graph/scalars/string.mdx)
#### [Stream_filter.batch_gt
](#)[String
](/docs/api/lockup/graphql/the-graph/scalars/string.mdx)
#### [Stream_filter.batch_lt
](#)[String
](/docs/api/lockup/graphql/the-graph/scalars/string.mdx)
#### [Stream_filter.batch_gte
](#)[String
](/docs/api/lockup/graphql/the-graph/scalars/string.mdx)
#### [Stream_filter.batch_lte
](#)[String
](/docs/api/lockup/graphql/the-graph/scalars/string.mdx)
#### [Stream_filter.batch_in
](#)[[String!]
](/docs/api/lockup/graphql/the-graph/scalars/string.mdx)
#### [Stream_filter.batch_not_in
](#)[[String!]
](/docs/api/lockup/graphql/the-graph/scalars/string.mdx)
#### [Stream_filter.batch_contains
](#)[String
](/docs/api/lockup/graphql/the-graph/scalars/string.mdx)
#### [Stream_filter.batch_contains_nocase
](#)[String
](/docs/api/lockup/graphql/the-graph/scalars/string.mdx)
#### [Stream_filter.batch_not_contains
](#)[String
](/docs/api/lockup/graphql/the-graph/scalars/string.mdx)
#### [Stream_filter.batch_not_contains_nocase
](#)[String
](/docs/api/lockup/graphql/the-graph/scalars/string.mdx)
#### [Stream_filter.batch_starts_with
](#)[String
](/docs/api/lockup/graphql/the-graph/scalars/string.mdx)
#### [Stream_filter.batch_starts_with_nocase
](#)[String
](/docs/api/lockup/graphql/the-graph/scalars/string.mdx)
#### [Stream_filter.batch_not_starts_with
](#)[String
](/docs/api/lockup/graphql/the-graph/scalars/string.mdx)
#### [Stream_filter.batch_not_starts_with_nocase
](#)[String
](/docs/api/lockup/graphql/the-graph/scalars/string.mdx)
#### [Stream_filter.batch_ends_with
](#)[String
](/docs/api/lockup/graphql/the-graph/scalars/string.mdx)
#### [Stream_filter.batch_ends_with_nocase
](#)[String
](/docs/api/lockup/graphql/the-graph/scalars/string.mdx)
#### [Stream_filter.batch_not_ends_with
](#)[String
](/docs/api/lockup/graphql/the-graph/scalars/string.mdx)
#### [Stream_filter.batch_not_ends_with_nocase
](#)[String
](/docs/api/lockup/graphql/the-graph/scalars/string.mdx)
#### [Stream_filter.batch\_
](#)[Batch_filter
](/docs/api/lockup/graphql/the-graph/inputs/batch-filter.mdx)
#### [Stream_filter.category
](#)[StreamCategory
](/docs/api/lockup/graphql/the-graph/enums/stream-category.mdx)
#### [Stream_filter.category_not
](#)[StreamCategory
](/docs/api/lockup/graphql/the-graph/enums/stream-category.mdx)
#### [Stream_filter.category_in
](#)[[StreamCategory!]
](/docs/api/lockup/graphql/the-graph/enums/stream-category.mdx)
#### [Stream_filter.category_not_in
](#)[[StreamCategory!]
](/docs/api/lockup/graphql/the-graph/enums/stream-category.mdx)
#### [Stream_filter.contract
](#)[Bytes
](/docs/api/lockup/graphql/the-graph/scalars/bytes.mdx)
#### [Stream_filter.contract_not
](#)[Bytes
](/docs/api/lockup/graphql/the-graph/scalars/bytes.mdx)
#### [Stream_filter.contract_gt
](#)[Bytes
](/docs/api/lockup/graphql/the-graph/scalars/bytes.mdx)
#### [Stream_filter.contract_lt
](#)[Bytes
](/docs/api/lockup/graphql/the-graph/scalars/bytes.mdx)
#### [Stream_filter.contract_gte
](#)[Bytes
](/docs/api/lockup/graphql/the-graph/scalars/bytes.mdx)
#### [Stream_filter.contract_lte
](#)[Bytes
](/docs/api/lockup/graphql/the-graph/scalars/bytes.mdx)
#### [Stream_filter.contract_in
](#)[[Bytes!]
](/docs/api/lockup/graphql/the-graph/scalars/bytes.mdx)
#### [Stream_filter.contract_not_in
](#)[[Bytes!]
](/docs/api/lockup/graphql/the-graph/scalars/bytes.mdx)
#### [Stream_filter.contract_contains
](#)[Bytes
](/docs/api/lockup/graphql/the-graph/scalars/bytes.mdx)
#### [Stream_filter.contract_not_contains
](#)[Bytes
](/docs/api/lockup/graphql/the-graph/scalars/bytes.mdx)
#### [Stream_filter.position
](#)[BigInt
](/docs/api/lockup/graphql/the-graph/scalars/big-int.mdx)
#### [Stream_filter.position_not
](#)[BigInt
](/docs/api/lockup/graphql/the-graph/scalars/big-int.mdx)
#### [Stream_filter.position_gt
](#)[BigInt
](/docs/api/lockup/graphql/the-graph/scalars/big-int.mdx)
#### [Stream_filter.position_lt
](#)[BigInt
](/docs/api/lockup/graphql/the-graph/scalars/big-int.mdx)
#### [Stream_filter.position_gte
](#)[BigInt
](/docs/api/lockup/graphql/the-graph/scalars/big-int.mdx)
#### [Stream_filter.position_lte
](#)[BigInt
](/docs/api/lockup/graphql/the-graph/scalars/big-int.mdx)
#### [Stream_filter.position_in
](#)[[BigInt!]
](/docs/api/lockup/graphql/the-graph/scalars/big-int.mdx)
#### [Stream_filter.position_not_in
](#)[[BigInt!]
](/docs/api/lockup/graphql/the-graph/scalars/big-int.mdx)
#### [Stream_filter.recipient
](#)[Bytes
](/docs/api/lockup/graphql/the-graph/scalars/bytes.mdx)
#### [Stream_filter.recipient_not
](#)[Bytes
](/docs/api/lockup/graphql/the-graph/scalars/bytes.mdx)
#### [Stream_filter.recipient_gt
](#)[Bytes
](/docs/api/lockup/graphql/the-graph/scalars/bytes.mdx)
#### [Stream_filter.recipient_lt
](#)[Bytes
](/docs/api/lockup/graphql/the-graph/scalars/bytes.mdx)
#### [Stream_filter.recipient_gte
](#)[Bytes
](/docs/api/lockup/graphql/the-graph/scalars/bytes.mdx)
#### [Stream_filter.recipient_lte
](#)[Bytes
](/docs/api/lockup/graphql/the-graph/scalars/bytes.mdx)
#### [Stream_filter.recipient_in
](#)[[Bytes!]
](/docs/api/lockup/graphql/the-graph/scalars/bytes.mdx)
#### [Stream_filter.recipient_not_in
](#)[[Bytes!]
](/docs/api/lockup/graphql/the-graph/scalars/bytes.mdx)
#### [Stream_filter.recipient_contains
](#)[Bytes
](/docs/api/lockup/graphql/the-graph/scalars/bytes.mdx)
#### [Stream_filter.recipient_not_contains
](#)[Bytes
](/docs/api/lockup/graphql/the-graph/scalars/bytes.mdx)
#### [Stream_filter.sender
](#)[Bytes
](/docs/api/lockup/graphql/the-graph/scalars/bytes.mdx)
#### [Stream_filter.sender_not
](#)[Bytes
](/docs/api/lockup/graphql/the-graph/scalars/bytes.mdx)
#### [Stream_filter.sender_gt
](#)[Bytes
](/docs/api/lockup/graphql/the-graph/scalars/bytes.mdx)
#### [Stream_filter.sender_lt
](#)[Bytes
](/docs/api/lockup/graphql/the-graph/scalars/bytes.mdx)
#### [Stream_filter.sender_gte
](#)[Bytes
](/docs/api/lockup/graphql/the-graph/scalars/bytes.mdx)
#### [Stream_filter.sender_lte
](#)[Bytes
](/docs/api/lockup/graphql/the-graph/scalars/bytes.mdx)
#### [Stream_filter.sender_in
](#)[[Bytes!]
](/docs/api/lockup/graphql/the-graph/scalars/bytes.mdx)
#### [Stream_filter.sender_not_in
](#)[[Bytes!]
](/docs/api/lockup/graphql/the-graph/scalars/bytes.mdx)
#### [Stream_filter.sender_contains
](#)[Bytes
](/docs/api/lockup/graphql/the-graph/scalars/bytes.mdx)
#### [Stream_filter.sender_not_contains
](#)[Bytes
](/docs/api/lockup/graphql/the-graph/scalars/bytes.mdx)
#### [Stream_filter.startTime
](#)[BigInt
](/docs/api/lockup/graphql/the-graph/scalars/big-int.mdx)
#### [Stream_filter.startTime_not
](#)[BigInt
](/docs/api/lockup/graphql/the-graph/scalars/big-int.mdx)
#### [Stream_filter.startTime_gt
](#)[BigInt
](/docs/api/lockup/graphql/the-graph/scalars/big-int.mdx)
#### [Stream_filter.startTime_lt
](#)[BigInt
](/docs/api/lockup/graphql/the-graph/scalars/big-int.mdx)
#### [Stream_filter.startTime_gte
](#)[BigInt
](/docs/api/lockup/graphql/the-graph/scalars/big-int.mdx)
#### [Stream_filter.startTime_lte
](#)[BigInt
](/docs/api/lockup/graphql/the-graph/scalars/big-int.mdx)
#### [Stream_filter.startTime_in
](#)[[BigInt!]
](/docs/api/lockup/graphql/the-graph/scalars/big-int.mdx)
#### [Stream_filter.startTime_not_in
](#)[[BigInt!]
](/docs/api/lockup/graphql/the-graph/scalars/big-int.mdx)
#### [Stream_filter.transferable
](#)[Boolean
](/docs/api/lockup/graphql/the-graph/scalars/boolean.mdx)
#### [Stream_filter.transferable_not
](#)[Boolean
](/docs/api/lockup/graphql/the-graph/scalars/boolean.mdx)
#### [Stream_filter.transferable_in
](#)[[Boolean!]
](/docs/api/lockup/graphql/the-graph/scalars/boolean.mdx)
#### [Stream_filter.transferable_not_in
](#)[[Boolean!]
](/docs/api/lockup/graphql/the-graph/scalars/boolean.mdx)
#### [Stream_filter.version
](#)[String
](/docs/api/lockup/graphql/the-graph/scalars/string.mdx)
#### [Stream_filter.version_not
](#)[String
](/docs/api/lockup/graphql/the-graph/scalars/string.mdx)
#### [Stream_filter.version_gt
](#)[String
](/docs/api/lockup/graphql/the-graph/scalars/string.mdx)
#### [Stream_filter.version_lt
](#)[String
](/docs/api/lockup/graphql/the-graph/scalars/string.mdx)
#### [Stream_filter.version_gte
](#)[String
](/docs/api/lockup/graphql/the-graph/scalars/string.mdx)
#### [Stream_filter.version_lte
](#)[String
](/docs/api/lockup/graphql/the-graph/scalars/string.mdx)
#### [Stream_filter.version_in
](#)[[String!]
](/docs/api/lockup/graphql/the-graph/scalars/string.mdx)
#### [Stream_filter.version_not_in
](#)[[String!]
](/docs/api/lockup/graphql/the-graph/scalars/string.mdx)
#### [Stream_filter.version_contains
](#)[String
](/docs/api/lockup/graphql/the-graph/scalars/string.mdx)
#### [Stream_filter.version_contains_nocase
](#)[String
](/docs/api/lockup/graphql/the-graph/scalars/string.mdx)
#### [Stream_filter.version_not_contains
](#)[String
](/docs/api/lockup/graphql/the-graph/scalars/string.mdx)
#### [Stream_filter.version_not_contains_nocase
](#)[String
](/docs/api/lockup/graphql/the-graph/scalars/string.mdx)
#### [Stream_filter.version_starts_with
](#)[String
](/docs/api/lockup/graphql/the-graph/scalars/string.mdx)
#### [Stream_filter.version_starts_with_nocase
](#)[String
](/docs/api/lockup/graphql/the-graph/scalars/string.mdx)
#### [Stream_filter.version_not_starts_with
](#)[String
](/docs/api/lockup/graphql/the-graph/scalars/string.mdx)
#### [Stream_filter.version_not_starts_with_nocase
](#)[String
](/docs/api/lockup/graphql/the-graph/scalars/string.mdx)
#### [Stream_filter.version_ends_with
](#)[String
](/docs/api/lockup/graphql/the-graph/scalars/string.mdx)
#### [Stream_filter.version_ends_with_nocase
](#)[String
](/docs/api/lockup/graphql/the-graph/scalars/string.mdx)
#### [Stream_filter.version_not_ends_with
](#)[String
](/docs/api/lockup/graphql/the-graph/scalars/string.mdx)
#### [Stream_filter.version_not_ends_with_nocase
](#)[String
](/docs/api/lockup/graphql/the-graph/scalars/string.mdx)
#### [Stream_filter.withdrawnAmount
](#)[BigInt
](/docs/api/lockup/graphql/the-graph/scalars/big-int.mdx)
#### [Stream_filter.withdrawnAmount_not
](#)[BigInt
](/docs/api/lockup/graphql/the-graph/scalars/big-int.mdx)
#### [Stream_filter.withdrawnAmount_gt
](#)[BigInt
](/docs/api/lockup/graphql/the-graph/scalars/big-int.mdx)
#### [Stream_filter.withdrawnAmount_lt
](#)[BigInt
](/docs/api/lockup/graphql/the-graph/scalars/big-int.mdx)
#### [Stream_filter.withdrawnAmount_gte
](#)[BigInt
](/docs/api/lockup/graphql/the-graph/scalars/big-int.mdx)
#### [Stream_filter.withdrawnAmount_lte
](#)[BigInt
](/docs/api/lockup/graphql/the-graph/scalars/big-int.mdx)
#### [Stream_filter.withdrawnAmount_in
](#)[[BigInt!]
](/docs/api/lockup/graphql/the-graph/scalars/big-int.mdx)
#### [Stream_filter.withdrawnAmount_not_in
](#)[[BigInt!]
](/docs/api/lockup/graphql/the-graph/scalars/big-int.mdx)
#### [Stream_filter.canceledAction
](#)[String
](/docs/api/lockup/graphql/the-graph/scalars/string.mdx)
#### [Stream_filter.canceledAction_not
](#)[String
](/docs/api/lockup/graphql/the-graph/scalars/string.mdx)
#### [Stream_filter.canceledAction_gt
](#)[String
](/docs/api/lockup/graphql/the-graph/scalars/string.mdx)
#### [Stream_filter.canceledAction_lt
](#)[String
](/docs/api/lockup/graphql/the-graph/scalars/string.mdx)
#### [Stream_filter.canceledAction_gte
](#)[String
](/docs/api/lockup/graphql/the-graph/scalars/string.mdx)
#### [Stream_filter.canceledAction_lte
](#)[String
](/docs/api/lockup/graphql/the-graph/scalars/string.mdx)
#### [Stream_filter.canceledAction_in
](#)[[String!]
](/docs/api/lockup/graphql/the-graph/scalars/string.mdx)
#### [Stream_filter.canceledAction_not_in
](#)[[String!]
](/docs/api/lockup/graphql/the-graph/scalars/string.mdx)
#### [Stream_filter.canceledAction_contains
](#)[String
](/docs/api/lockup/graphql/the-graph/scalars/string.mdx)
#### [Stream_filter.canceledAction_contains_nocase
](#)[String
](/docs/api/lockup/graphql/the-graph/scalars/string.mdx)
#### [Stream_filter.canceledAction_not_contains
](#)[String
](/docs/api/lockup/graphql/the-graph/scalars/string.mdx)
#### [Stream_filter.canceledAction_not_contains_nocase
](#)[String
](/docs/api/lockup/graphql/the-graph/scalars/string.mdx)
#### [Stream_filter.canceledAction_starts_with
](#)[String
](/docs/api/lockup/graphql/the-graph/scalars/string.mdx)
#### [Stream_filter.canceledAction_starts_with_nocase
](#)[String
](/docs/api/lockup/graphql/the-graph/scalars/string.mdx)
#### [Stream_filter.canceledAction_not_starts_with
](#)[String
](/docs/api/lockup/graphql/the-graph/scalars/string.mdx)
#### [Stream_filter.canceledAction_not_starts_with_nocase
](#)[String
](/docs/api/lockup/graphql/the-graph/scalars/string.mdx)
#### [Stream_filter.canceledAction_ends_with
](#)[String
](/docs/api/lockup/graphql/the-graph/scalars/string.mdx)
#### [Stream_filter.canceledAction_ends_with_nocase
](#)[String
](/docs/api/lockup/graphql/the-graph/scalars/string.mdx)
#### [Stream_filter.canceledAction_not_ends_with
](#)[String
](/docs/api/lockup/graphql/the-graph/scalars/string.mdx)
#### [Stream_filter.canceledAction_not_ends_with_nocase
](#)[String
](/docs/api/lockup/graphql/the-graph/scalars/string.mdx)
#### [Stream_filter.canceledAction\_
](#)[Action_filter
](/docs/api/lockup/graphql/the-graph/inputs/action-filter.mdx)
#### [Stream_filter.renounceAction
](#)[String
](/docs/api/lockup/graphql/the-graph/scalars/string.mdx)
#### [Stream_filter.renounceAction_not
](#)[String
](/docs/api/lockup/graphql/the-graph/scalars/string.mdx)
#### [Stream_filter.renounceAction_gt
](#)[String
](/docs/api/lockup/graphql/the-graph/scalars/string.mdx)
#### [Stream_filter.renounceAction_lt
](#)[String
](/docs/api/lockup/graphql/the-graph/scalars/string.mdx)
#### [Stream_filter.renounceAction_gte
](#)[String
](/docs/api/lockup/graphql/the-graph/scalars/string.mdx)
#### [Stream_filter.renounceAction_lte
](#)[String
](/docs/api/lockup/graphql/the-graph/scalars/string.mdx)
#### [Stream_filter.renounceAction_in
](#)[[String!]
](/docs/api/lockup/graphql/the-graph/scalars/string.mdx)
#### [Stream_filter.renounceAction_not_in
](#)[[String!]
](/docs/api/lockup/graphql/the-graph/scalars/string.mdx)
#### [Stream_filter.renounceAction_contains
](#)[String
](/docs/api/lockup/graphql/the-graph/scalars/string.mdx)
#### [Stream_filter.renounceAction_contains_nocase
](#)[String
](/docs/api/lockup/graphql/the-graph/scalars/string.mdx)
#### [Stream_filter.renounceAction_not_contains
](#)[String
](/docs/api/lockup/graphql/the-graph/scalars/string.mdx)
#### [Stream_filter.renounceAction_not_contains_nocase
](#)[String
](/docs/api/lockup/graphql/the-graph/scalars/string.mdx)
#### [Stream_filter.renounceAction_starts_with
](#)[String
](/docs/api/lockup/graphql/the-graph/scalars/string.mdx)
#### [Stream_filter.renounceAction_starts_with_nocase
](#)[String
](/docs/api/lockup/graphql/the-graph/scalars/string.mdx)
#### [Stream_filter.renounceAction_not_starts_with
](#)[String
](/docs/api/lockup/graphql/the-graph/scalars/string.mdx)
#### [Stream_filter.renounceAction_not_starts_with_nocase
](#)[String
](/docs/api/lockup/graphql/the-graph/scalars/string.mdx)
#### [Stream_filter.renounceAction_ends_with
](#)[String
](/docs/api/lockup/graphql/the-graph/scalars/string.mdx)
#### [Stream_filter.renounceAction_ends_with_nocase
](#)[String
](/docs/api/lockup/graphql/the-graph/scalars/string.mdx)
#### [Stream_filter.renounceAction_not_ends_with
](#)[String
](/docs/api/lockup/graphql/the-graph/scalars/string.mdx)
#### [Stream_filter.renounceAction_not_ends_with_nocase
](#)[String
](/docs/api/lockup/graphql/the-graph/scalars/string.mdx)
#### [Stream_filter.renounceAction\_
](#)[Action_filter
](/docs/api/lockup/graphql/the-graph/inputs/action-filter.mdx)
#### [Stream_filter.cancelable
](#)[Boolean
](/docs/api/lockup/graphql/the-graph/scalars/boolean.mdx)
#### [Stream_filter.cancelable_not
](#)[Boolean
](/docs/api/lockup/graphql/the-graph/scalars/boolean.mdx)
#### [Stream_filter.cancelable_in
](#)[[Boolean!]
](/docs/api/lockup/graphql/the-graph/scalars/boolean.mdx)
#### [Stream_filter.cancelable_not_in
](#)[[Boolean!]
](/docs/api/lockup/graphql/the-graph/scalars/boolean.mdx)
#### [Stream_filter.canceled
](#)[Boolean
](/docs/api/lockup/graphql/the-graph/scalars/boolean.mdx)
#### [Stream_filter.canceled_not
](#)[Boolean
](/docs/api/lockup/graphql/the-graph/scalars/boolean.mdx)
#### [Stream_filter.canceled_in
](#)[[Boolean!]
](/docs/api/lockup/graphql/the-graph/scalars/boolean.mdx)
#### [Stream_filter.canceled_not_in
](#)[[Boolean!]
](/docs/api/lockup/graphql/the-graph/scalars/boolean.mdx)
#### [Stream_filter.canceledTime
](#)[BigInt
](/docs/api/lockup/graphql/the-graph/scalars/big-int.mdx)
#### [Stream_filter.canceledTime_not
](#)[BigInt
](/docs/api/lockup/graphql/the-graph/scalars/big-int.mdx)
#### [Stream_filter.canceledTime_gt
](#)[BigInt
](/docs/api/lockup/graphql/the-graph/scalars/big-int.mdx)
#### [Stream_filter.canceledTime_lt
](#)[BigInt
](/docs/api/lockup/graphql/the-graph/scalars/big-int.mdx)
#### [Stream_filter.canceledTime_gte
](#)[BigInt
](/docs/api/lockup/graphql/the-graph/scalars/big-int.mdx)
#### [Stream_filter.canceledTime_lte
](#)[BigInt
](/docs/api/lockup/graphql/the-graph/scalars/big-int.mdx)
#### [Stream_filter.canceledTime_in
](#)[[BigInt!]
](/docs/api/lockup/graphql/the-graph/scalars/big-int.mdx)
#### [Stream_filter.canceledTime_not_in
](#)[[BigInt!]
](/docs/api/lockup/graphql/the-graph/scalars/big-int.mdx)
#### [Stream_filter.depositAmount
](#)[BigInt
](/docs/api/lockup/graphql/the-graph/scalars/big-int.mdx)
#### [Stream_filter.depositAmount_not
](#)[BigInt
](/docs/api/lockup/graphql/the-graph/scalars/big-int.mdx)
#### [Stream_filter.depositAmount_gt
](#)[BigInt
](/docs/api/lockup/graphql/the-graph/scalars/big-int.mdx)
#### [Stream_filter.depositAmount_lt
](#)[BigInt
](/docs/api/lockup/graphql/the-graph/scalars/big-int.mdx)
#### [Stream_filter.depositAmount_gte
](#)[BigInt
](/docs/api/lockup/graphql/the-graph/scalars/big-int.mdx)
#### [Stream_filter.depositAmount_lte
](#)[BigInt
](/docs/api/lockup/graphql/the-graph/scalars/big-int.mdx)
#### [Stream_filter.depositAmount_in
](#)[[BigInt!]
](/docs/api/lockup/graphql/the-graph/scalars/big-int.mdx)
#### [Stream_filter.depositAmount_not_in
](#)[[BigInt!]
](/docs/api/lockup/graphql/the-graph/scalars/big-int.mdx)
#### [Stream_filter.duration
](#)[BigInt
](/docs/api/lockup/graphql/the-graph/scalars/big-int.mdx)
#### [Stream_filter.duration_not
](#)[BigInt
](/docs/api/lockup/graphql/the-graph/scalars/big-int.mdx)
#### [Stream_filter.duration_gt
](#)[BigInt
](/docs/api/lockup/graphql/the-graph/scalars/big-int.mdx)
#### [Stream_filter.duration_lt
](#)[BigInt
](/docs/api/lockup/graphql/the-graph/scalars/big-int.mdx)
#### [Stream_filter.duration_gte
](#)[BigInt
](/docs/api/lockup/graphql/the-graph/scalars/big-int.mdx)
#### [Stream_filter.duration_lte
](#)[BigInt
](/docs/api/lockup/graphql/the-graph/scalars/big-int.mdx)
#### [Stream_filter.duration_in
](#)[[BigInt!]
](/docs/api/lockup/graphql/the-graph/scalars/big-int.mdx)
#### [Stream_filter.duration_not_in
](#)[[BigInt!]
](/docs/api/lockup/graphql/the-graph/scalars/big-int.mdx)
#### [Stream_filter.endTime
](#)[BigInt
](/docs/api/lockup/graphql/the-graph/scalars/big-int.mdx)
#### [Stream_filter.endTime_not
](#)[BigInt
](/docs/api/lockup/graphql/the-graph/scalars/big-int.mdx)
#### [Stream_filter.endTime_gt
](#)[BigInt
](/docs/api/lockup/graphql/the-graph/scalars/big-int.mdx)
#### [Stream_filter.endTime_lt
](#)[BigInt
](/docs/api/lockup/graphql/the-graph/scalars/big-int.mdx)
#### [Stream_filter.endTime_gte
](#)[BigInt
](/docs/api/lockup/graphql/the-graph/scalars/big-int.mdx)
#### [Stream_filter.endTime_lte
](#)[BigInt
](/docs/api/lockup/graphql/the-graph/scalars/big-int.mdx)
#### [Stream_filter.endTime_in
](#)[[BigInt!]
](/docs/api/lockup/graphql/the-graph/scalars/big-int.mdx)
#### [Stream_filter.endTime_not_in
](#)[[BigInt!]
](/docs/api/lockup/graphql/the-graph/scalars/big-int.mdx)
#### [Stream_filter.funder
](#)[Bytes
](/docs/api/lockup/graphql/the-graph/scalars/bytes.mdx)
#### [Stream_filter.funder_not
](#)[Bytes
](/docs/api/lockup/graphql/the-graph/scalars/bytes.mdx)
#### [Stream_filter.funder_gt
](#)[Bytes
](/docs/api/lockup/graphql/the-graph/scalars/bytes.mdx)
#### [Stream_filter.funder_lt
](#)[Bytes
](/docs/api/lockup/graphql/the-graph/scalars/bytes.mdx)
#### [Stream_filter.funder_gte
](#)[Bytes
](/docs/api/lockup/graphql/the-graph/scalars/bytes.mdx)
#### [Stream_filter.funder_lte
](#)[Bytes
](/docs/api/lockup/graphql/the-graph/scalars/bytes.mdx)
#### [Stream_filter.funder_in
](#)[[Bytes!]
](/docs/api/lockup/graphql/the-graph/scalars/bytes.mdx)
#### [Stream_filter.funder_not_in
](#)[[Bytes!]
](/docs/api/lockup/graphql/the-graph/scalars/bytes.mdx)
#### [Stream_filter.funder_contains
](#)[Bytes
](/docs/api/lockup/graphql/the-graph/scalars/bytes.mdx)
#### [Stream_filter.funder_not_contains
](#)[Bytes
](/docs/api/lockup/graphql/the-graph/scalars/bytes.mdx)
#### [Stream_filter.intactAmount
](#)[BigInt
](/docs/api/lockup/graphql/the-graph/scalars/big-int.mdx)
#### [Stream_filter.intactAmount_not
](#)[BigInt
](/docs/api/lockup/graphql/the-graph/scalars/big-int.mdx)
#### [Stream_filter.intactAmount_gt
](#)[BigInt
](/docs/api/lockup/graphql/the-graph/scalars/big-int.mdx)
#### [Stream_filter.intactAmount_lt
](#)[BigInt
](/docs/api/lockup/graphql/the-graph/scalars/big-int.mdx)
#### [Stream_filter.intactAmount_gte
](#)[BigInt
](/docs/api/lockup/graphql/the-graph/scalars/big-int.mdx)
#### [Stream_filter.intactAmount_lte
](#)[BigInt
](/docs/api/lockup/graphql/the-graph/scalars/big-int.mdx)
#### [Stream_filter.intactAmount_in
](#)[[BigInt!]
](/docs/api/lockup/graphql/the-graph/scalars/big-int.mdx)
#### [Stream_filter.intactAmount_not_in
](#)[[BigInt!]
](/docs/api/lockup/graphql/the-graph/scalars/big-int.mdx)
#### [Stream_filter.proxender
](#)[Bytes
](/docs/api/lockup/graphql/the-graph/scalars/bytes.mdx)
#### [Stream_filter.proxender_not
](#)[Bytes
](/docs/api/lockup/graphql/the-graph/scalars/bytes.mdx)
#### [Stream_filter.proxender_gt
](#)[Bytes
](/docs/api/lockup/graphql/the-graph/scalars/bytes.mdx)
#### [Stream_filter.proxender_lt
](#)[Bytes
](/docs/api/lockup/graphql/the-graph/scalars/bytes.mdx)
#### [Stream_filter.proxender_gte
](#)[Bytes
](/docs/api/lockup/graphql/the-graph/scalars/bytes.mdx)
#### [Stream_filter.proxender_lte
](#)[Bytes
](/docs/api/lockup/graphql/the-graph/scalars/bytes.mdx)
#### [Stream_filter.proxender_in
](#)[[Bytes!]
](/docs/api/lockup/graphql/the-graph/scalars/bytes.mdx)
#### [Stream_filter.proxender_not_in
](#)[[Bytes!]
](/docs/api/lockup/graphql/the-graph/scalars/bytes.mdx)
#### [Stream_filter.proxender_contains
](#)[Bytes
](/docs/api/lockup/graphql/the-graph/scalars/bytes.mdx)
#### [Stream_filter.proxender_not_contains
](#)[Bytes
](/docs/api/lockup/graphql/the-graph/scalars/bytes.mdx)
#### [Stream_filter.proxied
](#)[Boolean
](/docs/api/lockup/graphql/the-graph/scalars/boolean.mdx)
#### [Stream_filter.proxied_not
](#)[Boolean
](/docs/api/lockup/graphql/the-graph/scalars/boolean.mdx)
#### [Stream_filter.proxied_in
](#)[[Boolean!]
](/docs/api/lockup/graphql/the-graph/scalars/boolean.mdx)
#### [Stream_filter.proxied_not_in
](#)[[Boolean!]
](/docs/api/lockup/graphql/the-graph/scalars/boolean.mdx)
#### [Stream_filter.renounceTime
](#)[BigInt
](/docs/api/lockup/graphql/the-graph/scalars/big-int.mdx)
#### [Stream_filter.renounceTime_not
](#)[BigInt
](/docs/api/lockup/graphql/the-graph/scalars/big-int.mdx)
#### [Stream_filter.renounceTime_gt
](#)[BigInt
](/docs/api/lockup/graphql/the-graph/scalars/big-int.mdx)
#### [Stream_filter.renounceTime_lt
](#)[BigInt
](/docs/api/lockup/graphql/the-graph/scalars/big-int.mdx)
#### [Stream_filter.renounceTime_gte
](#)[BigInt
](/docs/api/lockup/graphql/the-graph/scalars/big-int.mdx)
#### [Stream_filter.renounceTime_lte
](#)[BigInt
](/docs/api/lockup/graphql/the-graph/scalars/big-int.mdx)
#### [Stream_filter.renounceTime_in
](#)[[BigInt!]
](/docs/api/lockup/graphql/the-graph/scalars/big-int.mdx)
#### [Stream_filter.renounceTime_not_in
](#)[[BigInt!]
](/docs/api/lockup/graphql/the-graph/scalars/big-int.mdx)
#### [Stream_filter.shape
](#)[String
](/docs/api/lockup/graphql/the-graph/scalars/string.mdx)
#### [Stream_filter.shape_not
](#)[String
](/docs/api/lockup/graphql/the-graph/scalars/string.mdx)
#### [Stream_filter.shape_gt
](#)[String
](/docs/api/lockup/graphql/the-graph/scalars/string.mdx)
#### [Stream_filter.shape_lt
](#)[String
](/docs/api/lockup/graphql/the-graph/scalars/string.mdx)
#### [Stream_filter.shape_gte
](#)[String
](/docs/api/lockup/graphql/the-graph/scalars/string.mdx)
#### [Stream_filter.shape_lte
](#)[String
](/docs/api/lockup/graphql/the-graph/scalars/string.mdx)
#### [Stream_filter.shape_in
](#)[[String!]
](/docs/api/lockup/graphql/the-graph/scalars/string.mdx)
#### [Stream_filter.shape_not_in
](#)[[String!]
](/docs/api/lockup/graphql/the-graph/scalars/string.mdx)
#### [Stream_filter.shape_contains
](#)[String
](/docs/api/lockup/graphql/the-graph/scalars/string.mdx)
#### [Stream_filter.shape_contains_nocase
](#)[String
](/docs/api/lockup/graphql/the-graph/scalars/string.mdx)
#### [Stream_filter.shape_not_contains
](#)[String
](/docs/api/lockup/graphql/the-graph/scalars/string.mdx)
#### [Stream_filter.shape_not_contains_nocase
](#)[String
](/docs/api/lockup/graphql/the-graph/scalars/string.mdx)
#### [Stream_filter.shape_starts_with
](#)[String
](/docs/api/lockup/graphql/the-graph/scalars/string.mdx)
#### [Stream_filter.shape_starts_with_nocase
](#)[String
](/docs/api/lockup/graphql/the-graph/scalars/string.mdx)
#### [Stream_filter.shape_not_starts_with
](#)[String
](/docs/api/lockup/graphql/the-graph/scalars/string.mdx)
#### [Stream_filter.shape_not_starts_with_nocase
](#)[String
](/docs/api/lockup/graphql/the-graph/scalars/string.mdx)
#### [Stream_filter.shape_ends_with
](#)[String
](/docs/api/lockup/graphql/the-graph/scalars/string.mdx)
#### [Stream_filter.shape_ends_with_nocase
](#)[String
](/docs/api/lockup/graphql/the-graph/scalars/string.mdx)
#### [Stream_filter.shape_not_ends_with
](#)[String
](/docs/api/lockup/graphql/the-graph/scalars/string.mdx)
#### [Stream_filter.shape_not_ends_with_nocase
](#)[String
](/docs/api/lockup/graphql/the-graph/scalars/string.mdx)
#### [Stream_filter.cliff
](#)[Boolean
](/docs/api/lockup/graphql/the-graph/scalars/boolean.mdx)
#### [Stream_filter.cliff_not
](#)[Boolean
](/docs/api/lockup/graphql/the-graph/scalars/boolean.mdx)
#### [Stream_filter.cliff_in
](#)[[Boolean!]
](/docs/api/lockup/graphql/the-graph/scalars/boolean.mdx)
#### [Stream_filter.cliff_not_in
](#)[[Boolean!]
](/docs/api/lockup/graphql/the-graph/scalars/boolean.mdx)
#### [Stream_filter.cliffAmount
](#)[BigInt
](/docs/api/lockup/graphql/the-graph/scalars/big-int.mdx)
#### [Stream_filter.cliffAmount_not
](#)[BigInt
](/docs/api/lockup/graphql/the-graph/scalars/big-int.mdx)
#### [Stream_filter.cliffAmount_gt
](#)[BigInt
](/docs/api/lockup/graphql/the-graph/scalars/big-int.mdx)
#### [Stream_filter.cliffAmount_lt
](#)[BigInt
](/docs/api/lockup/graphql/the-graph/scalars/big-int.mdx)
#### [Stream_filter.cliffAmount_gte
](#)[BigInt
](/docs/api/lockup/graphql/the-graph/scalars/big-int.mdx)
#### [Stream_filter.cliffAmount_lte
](#)[BigInt
](/docs/api/lockup/graphql/the-graph/scalars/big-int.mdx)
#### [Stream_filter.cliffAmount_in
](#)[[BigInt!]
](/docs/api/lockup/graphql/the-graph/scalars/big-int.mdx)
#### [Stream_filter.cliffAmount_not_in
](#)[[BigInt!]
](/docs/api/lockup/graphql/the-graph/scalars/big-int.mdx)
#### [Stream_filter.cliffTime
](#)[BigInt
](/docs/api/lockup/graphql/the-graph/scalars/big-int.mdx)
#### [Stream_filter.cliffTime_not
](#)[BigInt
](/docs/api/lockup/graphql/the-graph/scalars/big-int.mdx)
#### [Stream_filter.cliffTime_gt
](#)[BigInt
](/docs/api/lockup/graphql/the-graph/scalars/big-int.mdx)
#### [Stream_filter.cliffTime_lt
](#)[BigInt
](/docs/api/lockup/graphql/the-graph/scalars/big-int.mdx)
#### [Stream_filter.cliffTime_gte
](#)[BigInt
](/docs/api/lockup/graphql/the-graph/scalars/big-int.mdx)
#### [Stream_filter.cliffTime_lte
](#)[BigInt
](/docs/api/lockup/graphql/the-graph/scalars/big-int.mdx)
#### [Stream_filter.cliffTime_in
](#)[[BigInt!]
](/docs/api/lockup/graphql/the-graph/scalars/big-int.mdx)
#### [Stream_filter.cliffTime_not_in
](#)[[BigInt!]
](/docs/api/lockup/graphql/the-graph/scalars/big-int.mdx)
#### [Stream_filter.initial
](#)[Boolean
](/docs/api/lockup/graphql/the-graph/scalars/boolean.mdx)
#### [Stream_filter.initial_not
](#)[Boolean
](/docs/api/lockup/graphql/the-graph/scalars/boolean.mdx)
#### [Stream_filter.initial_in
](#)[[Boolean!]
](/docs/api/lockup/graphql/the-graph/scalars/boolean.mdx)
#### [Stream_filter.initial_not_in
](#)[[Boolean!]
](/docs/api/lockup/graphql/the-graph/scalars/boolean.mdx)
#### [Stream_filter.initialAmount
](#)[BigInt
](/docs/api/lockup/graphql/the-graph/scalars/big-int.mdx)
#### [Stream_filter.initialAmount_not
](#)[BigInt
](/docs/api/lockup/graphql/the-graph/scalars/big-int.mdx)
#### [Stream_filter.initialAmount_gt
](#)[BigInt
](/docs/api/lockup/graphql/the-graph/scalars/big-int.mdx)
#### [Stream_filter.initialAmount_lt
](#)[BigInt
](/docs/api/lockup/graphql/the-graph/scalars/big-int.mdx)
#### [Stream_filter.initialAmount_gte
](#)[BigInt
](/docs/api/lockup/graphql/the-graph/scalars/big-int.mdx)
#### [Stream_filter.initialAmount_lte
](#)[BigInt
](/docs/api/lockup/graphql/the-graph/scalars/big-int.mdx)
#### [Stream_filter.initialAmount_in
](#)[[BigInt!]
](/docs/api/lockup/graphql/the-graph/scalars/big-int.mdx)
#### [Stream_filter.initialAmount_not_in
](#)[[BigInt!]
](/docs/api/lockup/graphql/the-graph/scalars/big-int.mdx)
#### [Stream_filter.segments\_
](#)[Segment_filter
](/docs/api/lockup/graphql/the-graph/inputs/segment-filter.mdx)
#### [Stream_filter.tranches\_
](#)[Tranche_filter
](/docs/api/lockup/graphql/the-graph/inputs/tranche-filter.mdx)
#### [Stream_filter.\_change_block
](#)[BlockChangedFilter
](/docs/api/lockup/graphql/the-graph/inputs/block-changed-filter.mdx)
Filter for the block changed event.
#### [Stream_filter.and
](#)[[Stream_filter]
](/docs/api/lockup/graphql/the-graph/inputs/stream-filter.mdx)
#### [Stream_filter.or
](#)[[Stream_filter]
](/docs/api/lockup/graphql/the-graph/inputs/stream-filter.mdx)
---
## Tranche_filter (2)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
No description
```graphql
input Tranche_filter {
id: String
id_not: String
id_gt: String
id_lt: String
id_gte: String
id_lte: String
id_in: [String!]
id_not_in: [String!]
id_contains: String
id_contains_nocase: String
id_not_contains: String
id_not_contains_nocase: String
id_starts_with: String
id_starts_with_nocase: String
id_not_starts_with: String
id_not_starts_with_nocase: String
id_ends_with: String
id_ends_with_nocase: String
id_not_ends_with: String
id_not_ends_with_nocase: String
amount: BigInt
amount_not: BigInt
amount_gt: BigInt
amount_lt: BigInt
amount_gte: BigInt
amount_lte: BigInt
amount_in: [BigInt!]
amount_not_in: [BigInt!]
endAmount: BigInt
endAmount_not: BigInt
endAmount_gt: BigInt
endAmount_lt: BigInt
endAmount_gte: BigInt
endAmount_lte: BigInt
endAmount_in: [BigInt!]
endAmount_not_in: [BigInt!]
endTime: BigInt
endTime_not: BigInt
endTime_gt: BigInt
endTime_lt: BigInt
endTime_gte: BigInt
endTime_lte: BigInt
endTime_in: [BigInt!]
endTime_not_in: [BigInt!]
position: BigInt
position_not: BigInt
position_gt: BigInt
position_lt: BigInt
position_gte: BigInt
position_lte: BigInt
position_in: [BigInt!]
position_not_in: [BigInt!]
startAmount: BigInt
startAmount_not: BigInt
startAmount_gt: BigInt
startAmount_lt: BigInt
startAmount_gte: BigInt
startAmount_lte: BigInt
startAmount_in: [BigInt!]
startAmount_not_in: [BigInt!]
startTime: BigInt
startTime_not: BigInt
startTime_gt: BigInt
startTime_lt: BigInt
startTime_gte: BigInt
startTime_lte: BigInt
startTime_in: [BigInt!]
startTime_not_in: [BigInt!]
stream: String
stream_not: String
stream_gt: String
stream_lt: String
stream_gte: String
stream_lte: String
stream_in: [String!]
stream_not_in: [String!]
stream_contains: String
stream_contains_nocase: String
stream_not_contains: String
stream_not_contains_nocase: String
stream_starts_with: String
stream_starts_with_nocase: String
stream_not_starts_with: String
stream_not_starts_with_nocase: String
stream_ends_with: String
stream_ends_with_nocase: String
stream_not_ends_with: String
stream_not_ends_with_nocase: String
stream_: Stream_filter
_change_block: BlockChangedFilter
and: [Tranche_filter]
or: [Tranche_filter]
}
```
### Fields
#### [Tranche_filter.id
](#)[String
](/docs/api/lockup/graphql/the-graph/scalars/string.mdx)
#### [Tranche_filter.id_not
](#)[String
](/docs/api/lockup/graphql/the-graph/scalars/string.mdx)
#### [Tranche_filter.id_gt
](#)[String
](/docs/api/lockup/graphql/the-graph/scalars/string.mdx)
#### [Tranche_filter.id_lt
](#)[String
](/docs/api/lockup/graphql/the-graph/scalars/string.mdx)
#### [Tranche_filter.id_gte
](#)[String
](/docs/api/lockup/graphql/the-graph/scalars/string.mdx)
#### [Tranche_filter.id_lte
](#)[String
](/docs/api/lockup/graphql/the-graph/scalars/string.mdx)
#### [Tranche_filter.id_in
](#)[[String!]
](/docs/api/lockup/graphql/the-graph/scalars/string.mdx)
#### [Tranche_filter.id_not_in
](#)[[String!]
](/docs/api/lockup/graphql/the-graph/scalars/string.mdx)
#### [Tranche_filter.id_contains
](#)[String
](/docs/api/lockup/graphql/the-graph/scalars/string.mdx)
#### [Tranche_filter.id_contains_nocase
](#)[String
](/docs/api/lockup/graphql/the-graph/scalars/string.mdx)
#### [Tranche_filter.id_not_contains
](#)[String
](/docs/api/lockup/graphql/the-graph/scalars/string.mdx)
#### [Tranche_filter.id_not_contains_nocase
](#)[String
](/docs/api/lockup/graphql/the-graph/scalars/string.mdx)
#### [Tranche_filter.id_starts_with
](#)[String
](/docs/api/lockup/graphql/the-graph/scalars/string.mdx)
#### [Tranche_filter.id_starts_with_nocase
](#)[String
](/docs/api/lockup/graphql/the-graph/scalars/string.mdx)
#### [Tranche_filter.id_not_starts_with
](#)[String
](/docs/api/lockup/graphql/the-graph/scalars/string.mdx)
#### [Tranche_filter.id_not_starts_with_nocase
](#)[String
](/docs/api/lockup/graphql/the-graph/scalars/string.mdx)
#### [Tranche_filter.id_ends_with
](#)[String
](/docs/api/lockup/graphql/the-graph/scalars/string.mdx)
#### [Tranche_filter.id_ends_with_nocase
](#)[String
](/docs/api/lockup/graphql/the-graph/scalars/string.mdx)
#### [Tranche_filter.id_not_ends_with
](#)[String
](/docs/api/lockup/graphql/the-graph/scalars/string.mdx)
#### [Tranche_filter.id_not_ends_with_nocase
](#)[String
](/docs/api/lockup/graphql/the-graph/scalars/string.mdx)
#### [Tranche_filter.amount
](#)[BigInt
](/docs/api/lockup/graphql/the-graph/scalars/big-int.mdx)
#### [Tranche_filter.amount_not
](#)[BigInt
](/docs/api/lockup/graphql/the-graph/scalars/big-int.mdx)
#### [Tranche_filter.amount_gt
](#)[BigInt
](/docs/api/lockup/graphql/the-graph/scalars/big-int.mdx)
#### [Tranche_filter.amount_lt
](#)[BigInt
](/docs/api/lockup/graphql/the-graph/scalars/big-int.mdx)
#### [Tranche_filter.amount_gte
](#)[BigInt
](/docs/api/lockup/graphql/the-graph/scalars/big-int.mdx)
#### [Tranche_filter.amount_lte
](#)[BigInt
](/docs/api/lockup/graphql/the-graph/scalars/big-int.mdx)
#### [Tranche_filter.amount_in
](#)[[BigInt!]
](/docs/api/lockup/graphql/the-graph/scalars/big-int.mdx)
#### [Tranche_filter.amount_not_in
](#)[[BigInt!]
](/docs/api/lockup/graphql/the-graph/scalars/big-int.mdx)
#### [Tranche_filter.endAmount
](#)[BigInt
](/docs/api/lockup/graphql/the-graph/scalars/big-int.mdx)
#### [Tranche_filter.endAmount_not
](#)[BigInt
](/docs/api/lockup/graphql/the-graph/scalars/big-int.mdx)
#### [Tranche_filter.endAmount_gt
](#)[BigInt
](/docs/api/lockup/graphql/the-graph/scalars/big-int.mdx)
#### [Tranche_filter.endAmount_lt
](#)[BigInt
](/docs/api/lockup/graphql/the-graph/scalars/big-int.mdx)
#### [Tranche_filter.endAmount_gte
](#)[BigInt
](/docs/api/lockup/graphql/the-graph/scalars/big-int.mdx)
#### [Tranche_filter.endAmount_lte
](#)[BigInt
](/docs/api/lockup/graphql/the-graph/scalars/big-int.mdx)
#### [Tranche_filter.endAmount_in
](#)[[BigInt!]
](/docs/api/lockup/graphql/the-graph/scalars/big-int.mdx)
#### [Tranche_filter.endAmount_not_in
](#)[[BigInt!]
](/docs/api/lockup/graphql/the-graph/scalars/big-int.mdx)
#### [Tranche_filter.endTime
](#)[BigInt
](/docs/api/lockup/graphql/the-graph/scalars/big-int.mdx)
#### [Tranche_filter.endTime_not
](#)[BigInt
](/docs/api/lockup/graphql/the-graph/scalars/big-int.mdx)
#### [Tranche_filter.endTime_gt
](#)[BigInt
](/docs/api/lockup/graphql/the-graph/scalars/big-int.mdx)
#### [Tranche_filter.endTime_lt
](#)[BigInt
](/docs/api/lockup/graphql/the-graph/scalars/big-int.mdx)
#### [Tranche_filter.endTime_gte
](#)[BigInt
](/docs/api/lockup/graphql/the-graph/scalars/big-int.mdx)
#### [Tranche_filter.endTime_lte
](#)[BigInt
](/docs/api/lockup/graphql/the-graph/scalars/big-int.mdx)
#### [Tranche_filter.endTime_in
](#)[[BigInt!]
](/docs/api/lockup/graphql/the-graph/scalars/big-int.mdx)
#### [Tranche_filter.endTime_not_in
](#)[[BigInt!]
](/docs/api/lockup/graphql/the-graph/scalars/big-int.mdx)
#### [Tranche_filter.position
](#)[BigInt
](/docs/api/lockup/graphql/the-graph/scalars/big-int.mdx)
#### [Tranche_filter.position_not
](#)[BigInt
](/docs/api/lockup/graphql/the-graph/scalars/big-int.mdx)
#### [Tranche_filter.position_gt
](#)[BigInt
](/docs/api/lockup/graphql/the-graph/scalars/big-int.mdx)
#### [Tranche_filter.position_lt
](#)[BigInt
](/docs/api/lockup/graphql/the-graph/scalars/big-int.mdx)
#### [Tranche_filter.position_gte
](#)[BigInt
](/docs/api/lockup/graphql/the-graph/scalars/big-int.mdx)
#### [Tranche_filter.position_lte
](#)[BigInt
](/docs/api/lockup/graphql/the-graph/scalars/big-int.mdx)
#### [Tranche_filter.position_in
](#)[[BigInt!]
](/docs/api/lockup/graphql/the-graph/scalars/big-int.mdx)
#### [Tranche_filter.position_not_in
](#)[[BigInt!]
](/docs/api/lockup/graphql/the-graph/scalars/big-int.mdx)
#### [Tranche_filter.startAmount
](#)[BigInt
](/docs/api/lockup/graphql/the-graph/scalars/big-int.mdx)
#### [Tranche_filter.startAmount_not
](#)[BigInt
](/docs/api/lockup/graphql/the-graph/scalars/big-int.mdx)
#### [Tranche_filter.startAmount_gt
](#)[BigInt
](/docs/api/lockup/graphql/the-graph/scalars/big-int.mdx)
#### [Tranche_filter.startAmount_lt
](#)[BigInt
](/docs/api/lockup/graphql/the-graph/scalars/big-int.mdx)
#### [Tranche_filter.startAmount_gte
](#)[BigInt
](/docs/api/lockup/graphql/the-graph/scalars/big-int.mdx)
#### [Tranche_filter.startAmount_lte
](#)[BigInt
](/docs/api/lockup/graphql/the-graph/scalars/big-int.mdx)
#### [Tranche_filter.startAmount_in
](#)[[BigInt!]
](/docs/api/lockup/graphql/the-graph/scalars/big-int.mdx)
#### [Tranche_filter.startAmount_not_in
](#)[[BigInt!]
](/docs/api/lockup/graphql/the-graph/scalars/big-int.mdx)
#### [Tranche_filter.startTime
](#)[BigInt
](/docs/api/lockup/graphql/the-graph/scalars/big-int.mdx)
#### [Tranche_filter.startTime_not
](#)[BigInt
](/docs/api/lockup/graphql/the-graph/scalars/big-int.mdx)
#### [Tranche_filter.startTime_gt
](#)[BigInt
](/docs/api/lockup/graphql/the-graph/scalars/big-int.mdx)
#### [Tranche_filter.startTime_lt
](#)[BigInt
](/docs/api/lockup/graphql/the-graph/scalars/big-int.mdx)
#### [Tranche_filter.startTime_gte
](#)[BigInt
](/docs/api/lockup/graphql/the-graph/scalars/big-int.mdx)
#### [Tranche_filter.startTime_lte
](#)[BigInt
](/docs/api/lockup/graphql/the-graph/scalars/big-int.mdx)
#### [Tranche_filter.startTime_in
](#)[[BigInt!]
](/docs/api/lockup/graphql/the-graph/scalars/big-int.mdx)
#### [Tranche_filter.startTime_not_in
](#)[[BigInt!]
](/docs/api/lockup/graphql/the-graph/scalars/big-int.mdx)
#### [Tranche_filter.stream
](#)[String
](/docs/api/lockup/graphql/the-graph/scalars/string.mdx)
#### [Tranche_filter.stream_not
](#)[String
](/docs/api/lockup/graphql/the-graph/scalars/string.mdx)
#### [Tranche_filter.stream_gt
](#)[String
](/docs/api/lockup/graphql/the-graph/scalars/string.mdx)
#### [Tranche_filter.stream_lt
](#)[String
](/docs/api/lockup/graphql/the-graph/scalars/string.mdx)
#### [Tranche_filter.stream_gte
](#)[String
](/docs/api/lockup/graphql/the-graph/scalars/string.mdx)
#### [Tranche_filter.stream_lte
](#)[String
](/docs/api/lockup/graphql/the-graph/scalars/string.mdx)
#### [Tranche_filter.stream_in
](#)[[String!]
](/docs/api/lockup/graphql/the-graph/scalars/string.mdx)
#### [Tranche_filter.stream_not_in
](#)[[String!]
](/docs/api/lockup/graphql/the-graph/scalars/string.mdx)
#### [Tranche_filter.stream_contains
](#)[String
](/docs/api/lockup/graphql/the-graph/scalars/string.mdx)
#### [Tranche_filter.stream_contains_nocase
](#)[String
](/docs/api/lockup/graphql/the-graph/scalars/string.mdx)
#### [Tranche_filter.stream_not_contains
](#)[String
](/docs/api/lockup/graphql/the-graph/scalars/string.mdx)
#### [Tranche_filter.stream_not_contains_nocase
](#)[String
](/docs/api/lockup/graphql/the-graph/scalars/string.mdx)
#### [Tranche_filter.stream_starts_with
](#)[String
](/docs/api/lockup/graphql/the-graph/scalars/string.mdx)
#### [Tranche_filter.stream_starts_with_nocase
](#)[String
](/docs/api/lockup/graphql/the-graph/scalars/string.mdx)
#### [Tranche_filter.stream_not_starts_with
](#)[String
](/docs/api/lockup/graphql/the-graph/scalars/string.mdx)
#### [Tranche_filter.stream_not_starts_with_nocase
](#)[String
](/docs/api/lockup/graphql/the-graph/scalars/string.mdx)
#### [Tranche_filter.stream_ends_with
](#)[String
](/docs/api/lockup/graphql/the-graph/scalars/string.mdx)
#### [Tranche_filter.stream_ends_with_nocase
](#)[String
](/docs/api/lockup/graphql/the-graph/scalars/string.mdx)
#### [Tranche_filter.stream_not_ends_with
](#)[String
](/docs/api/lockup/graphql/the-graph/scalars/string.mdx)
#### [Tranche_filter.stream_not_ends_with_nocase
](#)[String
](/docs/api/lockup/graphql/the-graph/scalars/string.mdx)
#### [Tranche_filter.stream\_
](#)[Stream_filter
](/docs/api/lockup/graphql/the-graph/inputs/stream-filter.mdx)
#### [Tranche_filter.\_change_block
](#)[BlockChangedFilter
](/docs/api/lockup/graphql/the-graph/inputs/block-changed-filter.mdx)
Filter for the block changed event.
#### [Tranche_filter.and
](#)[[Tranche_filter]
](/docs/api/lockup/graphql/the-graph/inputs/tranche-filter.mdx)
#### [Tranche_filter.or
](#)[[Tranche_filter]
](/docs/api/lockup/graphql/the-graph/inputs/tranche-filter.mdx)
---
## Watcher_filter (3)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
No description
```graphql
input Watcher_filter {
id: String
id_not: String
id_gt: String
id_lt: String
id_gte: String
id_lte: String
id_in: [String!]
id_not_in: [String!]
id_contains: String
id_contains_nocase: String
id_not_contains: String
id_not_contains_nocase: String
id_starts_with: String
id_starts_with_nocase: String
id_not_starts_with: String
id_not_starts_with_nocase: String
id_ends_with: String
id_ends_with_nocase: String
id_not_ends_with: String
id_not_ends_with_nocase: String
actionCounter: BigInt
actionCounter_not: BigInt
actionCounter_gt: BigInt
actionCounter_lt: BigInt
actionCounter_gte: BigInt
actionCounter_lte: BigInt
actionCounter_in: [BigInt!]
actionCounter_not_in: [BigInt!]
chainId: BigInt
chainId_not: BigInt
chainId_gt: BigInt
chainId_lt: BigInt
chainId_gte: BigInt
chainId_lte: BigInt
chainId_in: [BigInt!]
chainId_not_in: [BigInt!]
streamCounter: BigInt
streamCounter_not: BigInt
streamCounter_gt: BigInt
streamCounter_lt: BigInt
streamCounter_gte: BigInt
streamCounter_lte: BigInt
streamCounter_in: [BigInt!]
streamCounter_not_in: [BigInt!]
_change_block: BlockChangedFilter
and: [Watcher_filter]
or: [Watcher_filter]
}
```
### Fields
#### [Watcher_filter.id
](#)[String
](/docs/api/lockup/graphql/the-graph/scalars/string.mdx)
#### [Watcher_filter.id_not
](#)[String
](/docs/api/lockup/graphql/the-graph/scalars/string.mdx)
#### [Watcher_filter.id_gt
](#)[String
](/docs/api/lockup/graphql/the-graph/scalars/string.mdx)
#### [Watcher_filter.id_lt
](#)[String
](/docs/api/lockup/graphql/the-graph/scalars/string.mdx)
#### [Watcher_filter.id_gte
](#)[String
](/docs/api/lockup/graphql/the-graph/scalars/string.mdx)
#### [Watcher_filter.id_lte
](#)[String
](/docs/api/lockup/graphql/the-graph/scalars/string.mdx)
#### [Watcher_filter.id_in
](#)[[String!]
](/docs/api/lockup/graphql/the-graph/scalars/string.mdx)
#### [Watcher_filter.id_not_in
](#)[[String!]
](/docs/api/lockup/graphql/the-graph/scalars/string.mdx)
#### [Watcher_filter.id_contains
](#)[String
](/docs/api/lockup/graphql/the-graph/scalars/string.mdx)
#### [Watcher_filter.id_contains_nocase
](#)[String
](/docs/api/lockup/graphql/the-graph/scalars/string.mdx)
#### [Watcher_filter.id_not_contains
](#)[String
](/docs/api/lockup/graphql/the-graph/scalars/string.mdx)
#### [Watcher_filter.id_not_contains_nocase
](#)[String
](/docs/api/lockup/graphql/the-graph/scalars/string.mdx)
#### [Watcher_filter.id_starts_with
](#)[String
](/docs/api/lockup/graphql/the-graph/scalars/string.mdx)
#### [Watcher_filter.id_starts_with_nocase
](#)[String
](/docs/api/lockup/graphql/the-graph/scalars/string.mdx)
#### [Watcher_filter.id_not_starts_with
](#)[String
](/docs/api/lockup/graphql/the-graph/scalars/string.mdx)
#### [Watcher_filter.id_not_starts_with_nocase
](#)[String
](/docs/api/lockup/graphql/the-graph/scalars/string.mdx)
#### [Watcher_filter.id_ends_with
](#)[String
](/docs/api/lockup/graphql/the-graph/scalars/string.mdx)
#### [Watcher_filter.id_ends_with_nocase
](#)[String
](/docs/api/lockup/graphql/the-graph/scalars/string.mdx)
#### [Watcher_filter.id_not_ends_with
](#)[String
](/docs/api/lockup/graphql/the-graph/scalars/string.mdx)
#### [Watcher_filter.id_not_ends_with_nocase
](#)[String
](/docs/api/lockup/graphql/the-graph/scalars/string.mdx)
#### [Watcher_filter.actionCounter
](#)[BigInt
](/docs/api/lockup/graphql/the-graph/scalars/big-int.mdx)
#### [Watcher_filter.actionCounter_not
](#)[BigInt
](/docs/api/lockup/graphql/the-graph/scalars/big-int.mdx)
#### [Watcher_filter.actionCounter_gt
](#)[BigInt
](/docs/api/lockup/graphql/the-graph/scalars/big-int.mdx)
#### [Watcher_filter.actionCounter_lt
](#)[BigInt
](/docs/api/lockup/graphql/the-graph/scalars/big-int.mdx)
#### [Watcher_filter.actionCounter_gte
](#)[BigInt
](/docs/api/lockup/graphql/the-graph/scalars/big-int.mdx)
#### [Watcher_filter.actionCounter_lte
](#)[BigInt
](/docs/api/lockup/graphql/the-graph/scalars/big-int.mdx)
#### [Watcher_filter.actionCounter_in
](#)[[BigInt!]
](/docs/api/lockup/graphql/the-graph/scalars/big-int.mdx)
#### [Watcher_filter.actionCounter_not_in
](#)[[BigInt!]
](/docs/api/lockup/graphql/the-graph/scalars/big-int.mdx)
#### [Watcher_filter.chainId
](#)[BigInt
](/docs/api/lockup/graphql/the-graph/scalars/big-int.mdx)
#### [Watcher_filter.chainId_not
](#)[BigInt
](/docs/api/lockup/graphql/the-graph/scalars/big-int.mdx)
#### [Watcher_filter.chainId_gt
](#)[BigInt
](/docs/api/lockup/graphql/the-graph/scalars/big-int.mdx)
#### [Watcher_filter.chainId_lt
](#)[BigInt
](/docs/api/lockup/graphql/the-graph/scalars/big-int.mdx)
#### [Watcher_filter.chainId_gte
](#)[BigInt
](/docs/api/lockup/graphql/the-graph/scalars/big-int.mdx)
#### [Watcher_filter.chainId_lte
](#)[BigInt
](/docs/api/lockup/graphql/the-graph/scalars/big-int.mdx)
#### [Watcher_filter.chainId_in
](#)[[BigInt!]
](/docs/api/lockup/graphql/the-graph/scalars/big-int.mdx)
#### [Watcher_filter.chainId_not_in
](#)[[BigInt!]
](/docs/api/lockup/graphql/the-graph/scalars/big-int.mdx)
#### [Watcher_filter.streamCounter
](#)[BigInt
](/docs/api/lockup/graphql/the-graph/scalars/big-int.mdx)
#### [Watcher_filter.streamCounter_not
](#)[BigInt
](/docs/api/lockup/graphql/the-graph/scalars/big-int.mdx)
#### [Watcher_filter.streamCounter_gt
](#)[BigInt
](/docs/api/lockup/graphql/the-graph/scalars/big-int.mdx)
#### [Watcher_filter.streamCounter_lt
](#)[BigInt
](/docs/api/lockup/graphql/the-graph/scalars/big-int.mdx)
#### [Watcher_filter.streamCounter_gte
](#)[BigInt
](/docs/api/lockup/graphql/the-graph/scalars/big-int.mdx)
#### [Watcher_filter.streamCounter_lte
](#)[BigInt
](/docs/api/lockup/graphql/the-graph/scalars/big-int.mdx)
#### [Watcher_filter.streamCounter_in
](#)[[BigInt!]
](/docs/api/lockup/graphql/the-graph/scalars/big-int.mdx)
#### [Watcher_filter.streamCounter_not_in
](#)[[BigInt!]
](/docs/api/lockup/graphql/the-graph/scalars/big-int.mdx)
#### [Watcher_filter.\_change_block
](#)[BlockChangedFilter
](/docs/api/lockup/graphql/the-graph/inputs/block-changed-filter.mdx)
Filter for the block changed event.
#### [Watcher_filter.and
](#)[[Watcher_filter]
](/docs/api/lockup/graphql/the-graph/inputs/watcher-filter.mdx)
#### [Watcher_filter.or
](#)[[Watcher_filter]
](/docs/api/lockup/graphql/the-graph/inputs/watcher-filter.mdx)
---
## Action (11)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
A generic entity for tracking protocol actions. There may be multiple actions for a single tx.
```graphql
type Action {
id: String!
subgraphId: BigInt!
block: BigInt!
chainId: BigInt!
from: Bytes!
hash: Bytes!
timestamp: BigInt!
category: ActionCategory!
contract: Bytes!
fee: BigInt
stream: Stream
addressA: Bytes
addressB: Bytes
amountA: BigInt
amountB: BigInt
}
```
### Fields
#### [Action.id
](#)[String!
](/docs/api/lockup/graphql/the-graph/scalars/string.mdx)
Unique identifier: `action-{chainId}-{txHash}-{logIndex}`
#### [Action.subgraphId
](#)[BigInt!
](/docs/api/lockup/graphql/the-graph/scalars/big-int.mdx)
Unique global id as tracked by the `Watcher` entity.
#### [Action.block
](#)[BigInt!
](/docs/api/lockup/graphql/the-graph/scalars/big-int.mdx)
Block number of the Ethereum transaction.
#### [Action.chainId
](#)[BigInt!
](/docs/api/lockup/graphql/the-graph/scalars/big-int.mdx)
The chain ID where the action was created (e.g., 137 for Polygon).
#### [Action.from
](#)[Bytes!
](/docs/api/lockup/graphql/the-graph/scalars/bytes.mdx)
The msg.sender of the Ethereum transaction.
#### [Action.hash
](#)[Bytes!
](/docs/api/lockup/graphql/the-graph/scalars/bytes.mdx)
Hash of the Ethereum transaction.
#### [Action.timestamp
](#)[BigInt!
](/docs/api/lockup/graphql/the-graph/scalars/big-int.mdx)
Unix timestamp of the Ethereum transaction.
#### [Action.category
](#)[ActionCategory!
](/docs/api/lockup/graphql/the-graph/enums/action-category.mdx)
Category of action, e.g., Deposit.
#### [Action.contract
](#)[Bytes!
](/docs/api/lockup/graphql/the-graph/scalars/bytes.mdx)
Contract through which the action was triggered.
#### [Action.fee
](#)[BigInt
](/docs/api/lockup/graphql/the-graph/scalars/big-int.mdx)
The Sablier fee paid in the native token of the chain (e.g., ETH for Mainnet).
See https://docs.sablier.com/concepts/fees
#### [Action.stream
](#)[Stream
](/docs/api/lockup/graphql/the-graph/objects/stream.mdx)
Stream linked to this action, if any.
#### [Action.addressA
](#)[Bytes
](/docs/api/lockup/graphql/the-graph/scalars/bytes.mdx)
Address of 1st actor. Who this is depends upon the action type, e.g. for Create, it is the sender.
#### [Action.addressB
](#)[Bytes
](/docs/api/lockup/graphql/the-graph/scalars/bytes.mdx)
Address of 2nd actor. Who this is depends upon the action type, e.g. for Transfer, it is the recipient.
#### [Action.amountA
](#)[BigInt
](/docs/api/lockup/graphql/the-graph/scalars/big-int.mdx)
1st amount. What this is depends upon the action type, e.g. for Deposit, it is the deposit amount.
#### [Action.amountB
](#)[BigInt
](/docs/api/lockup/graphql/the-graph/scalars/big-int.mdx)
2nd amount. What this is depends upon the action type, e.g. for Withdraw, it is the refund amount.
---
## Asset (11)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
ERC-20 asset
```graphql
type Asset {
id: String!
address: Bytes!
chainId: BigInt!
decimals: BigInt!
name: String!
symbol: String!
streams(
skip: Int = 0
first: Int = 100
orderBy: Stream_orderBy
orderDirection: OrderDirection
where: Stream_filter
): [Stream!]!
}
```
### Fields
#### [Asset.id
](#)[String!
](/docs/api/lockup/graphql/the-graph/scalars/string.mdx)
Unique identifier: `asset-{chainId}-{address}`
#### [Asset.address
](#)[Bytes!
](/docs/api/lockup/graphql/the-graph/scalars/bytes.mdx)
Address of the ERC-20 token.
#### [Asset.chainId
](#)[BigInt!
](/docs/api/lockup/graphql/the-graph/scalars/big-int.mdx)
The chain ID where the asset exists (e.g., 137 for Polygon).
#### [Asset.decimals
](#)[BigInt!
](/docs/api/lockup/graphql/the-graph/scalars/big-int.mdx)
Decimals of the ERC20 token.
#### [Asset.name
](#)[String!
](/docs/api/lockup/graphql/the-graph/scalars/string.mdx)
Name of the ERC20 token.
#### [Asset.symbol
](#)[String!
](/docs/api/lockup/graphql/the-graph/scalars/string.mdx)
Symbol of the ERC20 token.
#### [Asset.streams
](#)[[Stream!]!
](/docs/api/lockup/graphql/the-graph/objects/stream.mdx)
Streams that rely on this token
##### [Asset.streams.skip
](#)[Int
](/docs/api/lockup/graphql/the-graph/scalars/int.mdx)
##### [Asset.streams.first
](#)[Int
](/docs/api/lockup/graphql/the-graph/scalars/int.mdx)
##### [Asset.streams.orderBy
](#)[Stream_orderBy
](/docs/api/lockup/graphql/the-graph/enums/stream-order-by.mdx)
##### [Asset.streams.orderDirection
](#)[OrderDirection
](/docs/api/lockup/graphql/the-graph/enums/order-direction.mdx)
##### [Asset.streams.where
](#)[Stream_filter
](/docs/api/lockup/graphql/the-graph/inputs/stream-filter.mdx)
---
## Batch (9)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
Creating streams in bulk is possible using the SablierBatchLockup contract.
See https://github.com/sablier-labs/lockup/blob/v2.0/src/SablierBatchLockup.sol
Note: the entity can be immutable because a batch is only updated in the same block.
See https://thegraph.com/docs/en/subgraphs/developing/creating/ql-schema/#defining-entities
```graphql
type Batch {
id: String!
hash: Bytes
timestamp: BigInt
batcher: Batcher
position: BigInt
size: BigInt!
streams(
skip: Int = 0
first: Int = 100
orderBy: Stream_orderBy
orderDirection: OrderDirection
where: Stream_filter
): [Stream!]!
}
```
### Fields
#### [Batch.id
](#)[String!
](/docs/api/lockup/graphql/the-graph/scalars/string.mdx)
Unique identifier: `batch-{chainId}-{txHash}-{batcher}`
#### [Batch.hash
](#)[Bytes
](/docs/api/lockup/graphql/the-graph/scalars/bytes.mdx)
Hash of the Ethereum transaction that created this batch.
#### [Batch.timestamp
](#)[BigInt
](/docs/api/lockup/graphql/the-graph/scalars/big-int.mdx)
Timestamp of the transaction that created this batch.
#### [Batch.batcher
](#)[Batcher
](/docs/api/lockup/graphql/the-graph/objects/batcher.mdx)
The sender address that created this batch.
#### [Batch.position
](#)[BigInt
](/docs/api/lockup/graphql/the-graph/scalars/big-int.mdx)
Index of the batch based on the `batchCounter` in the `Batcher` entity.
#### [Batch.size
](#)[BigInt!
](/docs/api/lockup/graphql/the-graph/scalars/big-int.mdx)
Number of streams part of this batch.
#### [Batch.streams
](#)[[Stream!]!
](/docs/api/lockup/graphql/the-graph/objects/stream.mdx)
Streams part of this batch.
##### [Batch.streams.skip
](#)[Int
](/docs/api/lockup/graphql/the-graph/scalars/int.mdx)
##### [Batch.streams.first
](#)[Int
](/docs/api/lockup/graphql/the-graph/scalars/int.mdx)
##### [Batch.streams.orderBy
](#)[Stream_orderBy
](/docs/api/lockup/graphql/the-graph/enums/stream-order-by.mdx)
##### [Batch.streams.orderDirection
](#)[OrderDirection
](/docs/api/lockup/graphql/the-graph/enums/order-direction.mdx)
##### [Batch.streams.where
](#)[Stream_filter
](/docs/api/lockup/graphql/the-graph/inputs/stream-filter.mdx)
---
## Batcher (9)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
Sender address that created batches.
```graphql
type Batcher {
id: String!
batchCounter: BigInt!
batches(
skip: Int = 0
first: Int = 100
orderBy: Batch_orderBy
orderDirection: OrderDirection
where: Batch_filter
): [Batch!]!
}
```
### Fields
#### [Batcher.id
](#)[String!
](/docs/api/lockup/graphql/the-graph/scalars/string.mdx)
Unique identifier: `batcher-{chainId}-{sender}`
#### [Batcher.batchCounter
](#)[BigInt!
](/docs/api/lockup/graphql/the-graph/scalars/big-int.mdx)
Total number of batches started by this sender.
#### [Batcher.batches
](#)[[Batch!]!
](/docs/api/lockup/graphql/the-graph/objects/batch.mdx)
Batches started by this sender.
##### [Batcher.batches.skip
](#)[Int
](/docs/api/lockup/graphql/the-graph/scalars/int.mdx)
##### [Batcher.batches.first
](#)[Int
](/docs/api/lockup/graphql/the-graph/scalars/int.mdx)
##### [Batcher.batches.orderBy
](#)[Batch_orderBy
](/docs/api/lockup/graphql/the-graph/enums/batch-order-by.mdx)
##### [Batcher.batches.orderDirection
](#)[OrderDirection
](/docs/api/lockup/graphql/the-graph/enums/order-direction.mdx)
##### [Batcher.batches.where
](#)[Batch_filter
](/docs/api/lockup/graphql/the-graph/inputs/batch-filter.mdx)
---
## _Block_ (3)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
No description
```graphql
type _Block_ {
hash: Bytes
number: Int!
timestamp: Int
parentHash: Bytes
}
```
### Fields
#### [\_Block\_.hash
](#)[Bytes
](/docs/api/lockup/graphql/the-graph/scalars/bytes.mdx)
The hash of the block
#### [\_Block\_.number
](#)[Int!
](/docs/api/lockup/graphql/the-graph/scalars/int.mdx)
The block number
#### [\_Block\_.timestamp
](#)[Int
](/docs/api/lockup/graphql/the-graph/scalars/int.mdx)
Integer representation of the timestamp stored in blocks for the chain
#### [\_Block\_.parentHash
](#)[Bytes
](/docs/api/lockup/graphql/the-graph/scalars/bytes.mdx)
The hash of the parent block
---
## _Meta_ (3)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
The type for the top-level \_meta field
```graphql
type _Meta_ {
block: _Block_!
deployment: String!
hasIndexingErrors: Boolean!
}
```
### Fields
#### [\_Meta\_.block
](#)[\_Block\_!
](/docs/api/lockup/graphql/the-graph/objects/block.mdx)
Information about a specific subgraph block. The hash of the block
will be null if the \_meta field has a block constraint that asks for
a block number. It will be filled if the \_meta field has no block constraint
and therefore asks for the latest block
#### [\_Meta\_.deployment
](#)[String!
](/docs/api/lockup/graphql/the-graph/scalars/string.mdx)
The deployment ID
#### [\_Meta\_.hasIndexingErrors
](#)[Boolean!
](/docs/api/lockup/graphql/the-graph/scalars/boolean.mdx)
If `true`, the subgraph encountered indexing errors at some past block
---
## Segment (3)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
See https://docs.sablier.com/concepts/lockup/segments
```graphql
type Segment {
id: String!
amount: BigInt!
endAmount: BigInt!
endTime: BigInt!
exponent: BigInt!
position: BigInt!
startAmount: BigInt!
startTime: BigInt!
stream: Stream!
}
```
### Fields
#### [Segment.id
](#)[String!
](/docs/api/lockup/graphql/the-graph/scalars/string.mdx)
Unique identifier: `segment-{streamId}-{position}`
#### [Segment.amount
](#)[BigInt!
](/docs/api/lockup/graphql/the-graph/scalars/big-int.mdx)
Amount distributed by this segment.
#### [Segment.endAmount
](#)[BigInt!
](/docs/api/lockup/graphql/the-graph/scalars/big-int.mdx)
Total amount distributed at `endTime`. This is the sum of this segment's amount and all previous segments' amounts.
#### [Segment.endTime
](#)[BigInt!
](/docs/api/lockup/graphql/the-graph/scalars/big-int.mdx)
Unix timestamp indicating the end of the segment.
#### [Segment.exponent
](#)[BigInt!
](/docs/api/lockup/graphql/the-graph/scalars/big-int.mdx)
Exponent used for the streamed amount calculations.
See https://github.com/sablier-labs/lockup/blob/v2.0/src/types/DataTypes.sol#L279-L288
#### [Segment.position
](#)[BigInt!
](/docs/api/lockup/graphql/the-graph/scalars/big-int.mdx)
Position of the segment inside the array.
#### [Segment.startAmount
](#)[BigInt!
](/docs/api/lockup/graphql/the-graph/scalars/big-int.mdx)
Total amount distributed by the stream at `startTime`. This is the sum of all previous segments' amounts.
#### [Segment.startTime
](#)[BigInt!
](/docs/api/lockup/graphql/the-graph/scalars/big-int.mdx)
Unix timestamp indicating the start of the segment.
This is also the end time of the previous segment or, if this is the first segment, it is the start time of the stream.
#### [Segment.stream
](#)[Stream!
](/docs/api/lockup/graphql/the-graph/objects/stream.mdx)
The stream in which this segment was created.
---
## Stream (9)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
No description
```graphql
type Stream {
id: String!
alias: String!
chainId: BigInt!
subgraphId: BigInt!
tokenId: BigInt!
hash: Bytes!
timestamp: BigInt!
actions(
skip: Int = 0
first: Int = 100
orderBy: Action_orderBy
orderDirection: OrderDirection
where: Action_filter
): [Action!]!
asset: Asset!
assetDecimalsValue: BigInt!
batch: Batch!
category: StreamCategory!
contract: Bytes!
position: BigInt!
recipient: Bytes!
sender: Bytes!
startTime: BigInt!
transferable: Boolean!
version: String!
withdrawnAmount: BigInt!
canceledAction: Action
renounceAction: Action
cancelable: Boolean!
canceled: Boolean!
canceledTime: BigInt
depositAmount: BigInt!
duration: BigInt!
endTime: BigInt!
funder: Bytes!
intactAmount: BigInt!
proxender: Bytes
proxied: Boolean!
renounceTime: BigInt
shape: String
cliff: Boolean
cliffAmount: BigInt
cliffTime: BigInt
initial: Boolean
initialAmount: BigInt
segments(
skip: Int = 0
first: Int = 100
orderBy: Segment_orderBy
orderDirection: OrderDirection
where: Segment_filter
): [Segment!]!
tranches(
skip: Int = 0
first: Int = 100
orderBy: Tranche_orderBy
orderDirection: OrderDirection
where: Tranche_filter
): [Tranche!]!
}
```
### Fields
#### [Stream.id
](#)[String!
](/docs/api/lockup/graphql/the-graph/scalars/string.mdx)
Unique identifier: `{contractAddress}-{chainId}-{tokenId}`
#### [Stream.alias
](#)[String!
](/docs/api/lockup/graphql/the-graph/scalars/string.mdx)
Like the id: `{contractAlias}-{chainId}-{tokenId}`
#### [Stream.chainId
](#)[BigInt!
](/docs/api/lockup/graphql/the-graph/scalars/big-int.mdx)
The chain ID where the stream was created (e.g., 137 for Polygon).
#### [Stream.subgraphId
](#)[BigInt!
](/docs/api/lockup/graphql/the-graph/scalars/big-int.mdx)
Unique global id as tracked by the `Watcher` entity.
ኆ80 This may change if new data sources are added and the chronological order of streams changes.
#### [Stream.tokenId
](#)[BigInt!
](/docs/api/lockup/graphql/the-graph/scalars/big-int.mdx)
The id provided by the Lockup contract. This is the ERC-721 tokenId.
#### [Stream.hash
](#)[Bytes!
](/docs/api/lockup/graphql/the-graph/scalars/bytes.mdx)
Hash of the Ethereum transaction that created this stream.
#### [Stream.timestamp
](#)[BigInt!
](/docs/api/lockup/graphql/the-graph/scalars/big-int.mdx)
Unix timestamp of the Ethereum transaction that created this stream.
#### [Stream.actions
](#)[[Action!]!
](/docs/api/lockup/graphql/the-graph/objects/action.mdx)
Actions triggered by this stream.
##### [Stream.actions.skip
](#)[Int
](/docs/api/lockup/graphql/the-graph/scalars/int.mdx)
##### [Stream.actions.first
](#)[Int
](/docs/api/lockup/graphql/the-graph/scalars/int.mdx)
##### [Stream.actions.orderBy
](#)[Action_orderBy
](/docs/api/lockup/graphql/the-graph/enums/action-order-by.mdx)
##### [Stream.actions.orderDirection
](#)[OrderDirection
](/docs/api/lockup/graphql/the-graph/enums/order-direction.mdx)
##### [Stream.actions.where
](#)[Action_filter
](/docs/api/lockup/graphql/the-graph/inputs/action-filter.mdx)
#### [Stream.asset
](#)[Asset!
](/docs/api/lockup/graphql/the-graph/objects/asset.mdx)
ERC-20 token distributed via this stream.
#### [Stream.assetDecimalsValue
](#)[BigInt!
](/docs/api/lockup/graphql/the-graph/scalars/big-int.mdx)
ERC-20 token decimals. Stored here to avoid loading the asset entity on each stream.
Note: the "Value" suffix is added because of a bug in GraphQL Code Generator.
#### [Stream.batch
](#)[Batch!
](/docs/api/lockup/graphql/the-graph/objects/batch.mdx)
The batch the stream may be part of.
Note: this is available only when created within a batch create transaction.
#### [Stream.category
](#)[StreamCategory!
](/docs/api/lockup/graphql/the-graph/enums/stream-category.mdx)
Category used for sorting.
#### [Stream.contract
](#)[Bytes!
](/docs/api/lockup/graphql/the-graph/scalars/bytes.mdx)
The address of the contract the stream originates from.
#### [Stream.position
](#)[BigInt!
](/docs/api/lockup/graphql/the-graph/scalars/big-int.mdx)
Position in the batch, if available.
#### [Stream.recipient
](#)[Bytes!
](/docs/api/lockup/graphql/the-graph/scalars/bytes.mdx)
Current recipient of the stream, with permission to withdraw funds to any third-party address.
Note: the recipient can change on NFT transfer.
#### [Stream.sender
](#)[Bytes!
](/docs/api/lockup/graphql/the-graph/scalars/bytes.mdx)
Manager of the stream, with ability to cancel the stream.
#### [Stream.startTime
](#)[BigInt!
](/docs/api/lockup/graphql/the-graph/scalars/big-int.mdx)
Unix timestamp for the start of the stream.
#### [Stream.transferable
](#)[Boolean!
](/docs/api/lockup/graphql/the-graph/scalars/boolean.mdx)
Flag indicating the transferability of the stream. This is set when the stream is created, and cannot
be changed later.
#### [Stream.version
](#)[String!
](/docs/api/lockup/graphql/the-graph/scalars/string.mdx)
Version of contract, e.g., v1.0.
#### [Stream.withdrawnAmount
](#)[BigInt!
](/docs/api/lockup/graphql/the-graph/scalars/big-int.mdx)
The sum of all withdrawn amounts.
#### [Stream.canceledAction
](#)[Action
](/docs/api/lockup/graphql/the-graph/objects/action.mdx)
Action in which the stream was canceled.
#### [Stream.renounceAction
](#)[Action
](/docs/api/lockup/graphql/the-graph/objects/action.mdx)
Action in which the stream was made non-cancelable.
Note: if the stream was made non-cancelable from the get-go, this is the same as the Create action.
#### [Stream.cancelable
](#)[Boolean!
](/docs/api/lockup/graphql/the-graph/scalars/boolean.mdx)
Flag indicating the cancelability of the stream.
#### [Stream.canceled
](#)[Boolean!
](/docs/api/lockup/graphql/the-graph/scalars/boolean.mdx)
Flag indicating if the stream was canceled.
#### [Stream.canceledTime
](#)[BigInt
](/docs/api/lockup/graphql/the-graph/scalars/big-int.mdx)
Unix timestamp for the when the stream was canceled.
#### [Stream.depositAmount
](#)[BigInt!
](/docs/api/lockup/graphql/the-graph/scalars/big-int.mdx)
The amount deposited when the stream was created.
#### [Stream.duration
](#)[BigInt!
](/docs/api/lockup/graphql/the-graph/scalars/big-int.mdx)
Snapshot of the duration in seconds (the difference between end and start time).
#### [Stream.endTime
](#)[BigInt!
](/docs/api/lockup/graphql/the-graph/scalars/big-int.mdx)
Unix timestamp for the end of the stream.
#### [Stream.funder
](#)[Bytes!
](/docs/api/lockup/graphql/the-graph/scalars/bytes.mdx)
The account that funded the stream, which can be different from the sender.
#### [Stream.intactAmount
](#)[BigInt!
](/docs/api/lockup/graphql/the-graph/scalars/big-int.mdx)
The amount that is still held by the stream regardless of whether if was fully vested or not.
This is the difference between the deposit amount and all withdrawn amounts.
#### [Stream.proxender
](#)[Bytes
](/docs/api/lockup/graphql/the-graph/scalars/bytes.mdx)
Owner of the proxy when the stream is created through a PRBProxy (https://github.com/PaulRBerg/prb-proxy)
Note that proxy = stream sender, and proxender = owner of proxy
#### [Stream.proxied
](#)[Boolean!
](/docs/api/lockup/graphql/the-graph/scalars/boolean.mdx)
Flag for streams created through a PRBProxy.
#### [Stream.renounceTime
](#)[BigInt
](/docs/api/lockup/graphql/the-graph/scalars/big-int.mdx)
Unix timestamp for when the stream was made non-cancelable. This can coincide with the create time.
#### [Stream.shape
](#)[String
](/docs/api/lockup/graphql/the-graph/scalars/string.mdx)
An optional parameter to specify the shape of the distribution.
Available since Lockup v2.0.
#### [Stream.cliff
](#)[Boolean
](/docs/api/lockup/graphql/the-graph/scalars/boolean.mdx)
Flag for Linear streams with a cliff.
#### [Stream.cliffAmount
](#)[BigInt
](/docs/api/lockup/graphql/the-graph/scalars/big-int.mdx)
The amount that will unlock at the cliff time.
#### [Stream.cliffTime
](#)[BigInt
](/docs/api/lockup/graphql/the-graph/scalars/big-int.mdx)
Unix timestamp for the start of the cliff.
#### [Stream.initial
](#)[Boolean
](/docs/api/lockup/graphql/the-graph/scalars/boolean.mdx)
Flag for Linear stream with an initial unlock.
Available since Lockup v2.0.
#### [Stream.initialAmount
](#)[BigInt
](/docs/api/lockup/graphql/the-graph/scalars/big-int.mdx)
The initial unlock amount of a Linear stream.
Available since Lockup v2.0.
#### [Stream.segments
](#)[[Segment!]!
](/docs/api/lockup/graphql/the-graph/objects/segment.mdx)
Segments of a Dynamic stream.
##### [Stream.segments.skip
](#)[Int
](/docs/api/lockup/graphql/the-graph/scalars/int.mdx)
##### [Stream.segments.first
](#)[Int
](/docs/api/lockup/graphql/the-graph/scalars/int.mdx)
##### [Stream.segments.orderBy
](#)[Segment_orderBy
](/docs/api/lockup/graphql/the-graph/enums/segment-order-by.mdx)
##### [Stream.segments.orderDirection
](#)[OrderDirection
](/docs/api/lockup/graphql/the-graph/enums/order-direction.mdx)
##### [Stream.segments.where
](#)[Segment_filter
](/docs/api/lockup/graphql/the-graph/inputs/segment-filter.mdx)
#### [Stream.tranches
](#)[[Tranche!]!
](/docs/api/lockup/graphql/the-graph/objects/tranche.mdx)
Segments of a Tranched stream.
##### [Stream.tranches.skip
](#)[Int
](/docs/api/lockup/graphql/the-graph/scalars/int.mdx)
##### [Stream.tranches.first
](#)[Int
](/docs/api/lockup/graphql/the-graph/scalars/int.mdx)
##### [Stream.tranches.orderBy
](#)[Tranche_orderBy
](/docs/api/lockup/graphql/the-graph/enums/tranche-order-by.mdx)
##### [Stream.tranches.orderDirection
](#)[OrderDirection
](/docs/api/lockup/graphql/the-graph/enums/order-direction.mdx)
##### [Stream.tranches.where
](#)[Tranche_filter
](/docs/api/lockup/graphql/the-graph/inputs/tranche-filter.mdx)
---
## Tranche (7)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
See https://docs.sablier.com/concepts/lockup/tranches
```graphql
type Tranche {
id: String!
amount: BigInt!
endAmount: BigInt!
endTime: BigInt!
position: BigInt!
startAmount: BigInt!
startTime: BigInt!
stream: Stream!
}
```
### Fields
#### [Tranche.id
](#)[String!
](/docs/api/lockup/graphql/the-graph/scalars/string.mdx)
Unique identifier: `tranche-{streamId}-{position}`
#### [Tranche.amount
](#)[BigInt!
](/docs/api/lockup/graphql/the-graph/scalars/big-int.mdx)
Amount distributed by this tranche.
#### [Tranche.endAmount
](#)[BigInt!
](/docs/api/lockup/graphql/the-graph/scalars/big-int.mdx)
Total amount distributed at `endTime`. This is the sum of this tranche's amount and all previous tranches' amounts.
#### [Tranche.endTime
](#)[BigInt!
](/docs/api/lockup/graphql/the-graph/scalars/big-int.mdx)
Unix timestamp indicating the end of the tranche.
#### [Tranche.position
](#)[BigInt!
](/docs/api/lockup/graphql/the-graph/scalars/big-int.mdx)
Position of the tranche inside the array.
#### [Tranche.startAmount
](#)[BigInt!
](/docs/api/lockup/graphql/the-graph/scalars/big-int.mdx)
Total amount distributed by the stream at `startTime`. This is the sum of all previous tranches' amounts.
#### [Tranche.startTime
](#)[BigInt!
](/docs/api/lockup/graphql/the-graph/scalars/big-int.mdx)
Unix timestamp indicating the start of the tranche.
This is also the end time of the previous tranche or, if this is the first tranche, it is the start time of the stream.
#### [Tranche.stream
](#)[Stream!
](/docs/api/lockup/graphql/the-graph/objects/stream.mdx)
The stream in which this tranche was created.
---
## Watcher (11)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
No description
```graphql
type Watcher {
id: String!
actionCounter: BigInt!
chainId: BigInt!
streamCounter: BigInt!
}
```
### Fields
#### [Watcher.id
](#)[String!
](/docs/api/lockup/graphql/the-graph/scalars/string.mdx)
The chain ID. There is one watcher per subgraph.
#### [Watcher.actionCounter
](#)[BigInt!
](/docs/api/lockup/graphql/the-graph/scalars/big-int.mdx)
Global counter for actions.
#### [Watcher.chainId
](#)[BigInt!
](/docs/api/lockup/graphql/the-graph/scalars/big-int.mdx)
Alias for id.
#### [Watcher.streamCounter
](#)[BigInt!
](/docs/api/lockup/graphql/the-graph/scalars/big-int.mdx)
Global counter.
---
## action (12)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
No description
```graphql
action(
id: ID!
block: Block_height
subgraphError: _SubgraphErrorPolicy_! = deny
): Action
```
### Arguments
#### [action.id
](#)[ID!
](/docs/api/lockup/graphql/the-graph/scalars/id.mdx)
#### [action.block
](#)[Block_height
](/docs/api/lockup/graphql/the-graph/inputs/block-height.mdx)
The block at which the query should be executed. Can either be a `{ hash: Bytes }` value containing a block hash, a `{ number: Int }` containing the block number, or a `{ number_gte: Int }` containing the minimum block number. In the case of `number_gte`, the query will be executed on the latest block only if the subgraph has progressed to or past the minimum block number. Defaults to the latest block when omitted.
#### [action.subgraphError
](#)[\_SubgraphErrorPolicy\_!
](/docs/api/lockup/graphql/the-graph/enums/subgraph-error-policy.mdx)
Set to `allow` to receive data even if the subgraph has skipped over errors while syncing.
### Type
#### [Action
](/docs/api/lockup/graphql/the-graph/objects/action.mdx)
A generic entity for tracking protocol actions. There may be multiple actions for a single tx.
---
## actions (3)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
No description
```graphql
actions(
skip: Int = 0
first: Int = 100
orderBy: Action_orderBy
orderDirection: OrderDirection
where: Action_filter
block: Block_height
subgraphError: _SubgraphErrorPolicy_! = deny
): [Action!]!
```
### Arguments
#### [actions.skip
](#)[Int
](/docs/api/lockup/graphql/the-graph/scalars/int.mdx)
#### [actions.first
](#)[Int
](/docs/api/lockup/graphql/the-graph/scalars/int.mdx)
#### [actions.orderBy
](#)[Action_orderBy
](/docs/api/lockup/graphql/the-graph/enums/action-order-by.mdx)
#### [actions.orderDirection
](#)[OrderDirection
](/docs/api/lockup/graphql/the-graph/enums/order-direction.mdx)
#### [actions.where
](#)[Action_filter
](/docs/api/lockup/graphql/the-graph/inputs/action-filter.mdx)
#### [actions.block
](#)[Block_height
](/docs/api/lockup/graphql/the-graph/inputs/block-height.mdx)
The block at which the query should be executed. Can either be a `{ hash: Bytes }` value containing a block hash, a `{ number: Int }` containing the block number, or a `{ number_gte: Int }` containing the minimum block number. In the case of `number_gte`, the query will be executed on the latest block only if the subgraph has progressed to or past the minimum block number. Defaults to the latest block when omitted.
#### [actions.subgraphError
](#)[\_SubgraphErrorPolicy\_!
](/docs/api/lockup/graphql/the-graph/enums/subgraph-error-policy.mdx)
Set to `allow` to receive data even if the subgraph has skipped over errors while syncing.
### Type
#### [Action
](/docs/api/lockup/graphql/the-graph/objects/action.mdx)
A generic entity for tracking protocol actions. There may be multiple actions for a single tx.
---
## asset (12)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
No description
```graphql
asset(
id: ID!
block: Block_height
subgraphError: _SubgraphErrorPolicy_! = deny
): Asset
```
### Arguments
#### [asset.id
](#)[ID!
](/docs/api/lockup/graphql/the-graph/scalars/id.mdx)
#### [asset.block
](#)[Block_height
](/docs/api/lockup/graphql/the-graph/inputs/block-height.mdx)
The block at which the query should be executed. Can either be a `{ hash: Bytes }` value containing a block hash, a `{ number: Int }` containing the block number, or a `{ number_gte: Int }` containing the minimum block number. In the case of `number_gte`, the query will be executed on the latest block only if the subgraph has progressed to or past the minimum block number. Defaults to the latest block when omitted.
#### [asset.subgraphError
](#)[\_SubgraphErrorPolicy\_!
](/docs/api/lockup/graphql/the-graph/enums/subgraph-error-policy.mdx)
Set to `allow` to receive data even if the subgraph has skipped over errors while syncing.
### Type
#### [Asset
](/docs/api/lockup/graphql/the-graph/objects/asset.mdx)
ERC-20 asset
---
## assets (3)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
No description
```graphql
assets(
skip: Int = 0
first: Int = 100
orderBy: Asset_orderBy
orderDirection: OrderDirection
where: Asset_filter
block: Block_height
subgraphError: _SubgraphErrorPolicy_! = deny
): [Asset!]!
```
### Arguments
#### [assets.skip
](#)[Int
](/docs/api/lockup/graphql/the-graph/scalars/int.mdx)
#### [assets.first
](#)[Int
](/docs/api/lockup/graphql/the-graph/scalars/int.mdx)
#### [assets.orderBy
](#)[Asset_orderBy
](/docs/api/lockup/graphql/the-graph/enums/asset-order-by.mdx)
#### [assets.orderDirection
](#)[OrderDirection
](/docs/api/lockup/graphql/the-graph/enums/order-direction.mdx)
#### [assets.where
](#)[Asset_filter
](/docs/api/lockup/graphql/the-graph/inputs/asset-filter.mdx)
#### [assets.block
](#)[Block_height
](/docs/api/lockup/graphql/the-graph/inputs/block-height.mdx)
The block at which the query should be executed. Can either be a `{ hash: Bytes }` value containing a block hash, a `{ number: Int }` containing the block number, or a `{ number_gte: Int }` containing the minimum block number. In the case of `number_gte`, the query will be executed on the latest block only if the subgraph has progressed to or past the minimum block number. Defaults to the latest block when omitted.
#### [assets.subgraphError
](#)[\_SubgraphErrorPolicy\_!
](/docs/api/lockup/graphql/the-graph/enums/subgraph-error-policy.mdx)
Set to `allow` to receive data even if the subgraph has skipped over errors while syncing.
### Type
#### [Asset
](/docs/api/lockup/graphql/the-graph/objects/asset.mdx)
ERC-20 asset
---
## batch (10)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
No description
```graphql
batch(
id: ID!
block: Block_height
subgraphError: _SubgraphErrorPolicy_! = deny
): Batch
```
### Arguments
#### [batch.id
](#)[ID!
](/docs/api/lockup/graphql/the-graph/scalars/id.mdx)
#### [batch.block
](#)[Block_height
](/docs/api/lockup/graphql/the-graph/inputs/block-height.mdx)
The block at which the query should be executed. Can either be a `{ hash: Bytes }` value containing a block hash, a `{ number: Int }` containing the block number, or a `{ number_gte: Int }` containing the minimum block number. In the case of `number_gte`, the query will be executed on the latest block only if the subgraph has progressed to or past the minimum block number. Defaults to the latest block when omitted.
#### [batch.subgraphError
](#)[\_SubgraphErrorPolicy\_!
](/docs/api/lockup/graphql/the-graph/enums/subgraph-error-policy.mdx)
Set to `allow` to receive data even if the subgraph has skipped over errors while syncing.
### Type
#### [Batch
](/docs/api/lockup/graphql/the-graph/objects/batch.mdx)
Creating streams in bulk is possible using the SablierBatchLockup contract.
See https://github.com/sablier-labs/lockup/blob/v2.0/src/SablierBatchLockup.sol
Note: the entity can be immutable because a batch is only updated in the same block.
See https://thegraph.com/docs/en/subgraphs/developing/creating/ql-schema/#defining-entities
---
## batcher (10)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
No description
```graphql
batcher(
id: ID!
block: Block_height
subgraphError: _SubgraphErrorPolicy_! = deny
): Batcher
```
### Arguments
#### [batcher.id
](#)[ID!
](/docs/api/lockup/graphql/the-graph/scalars/id.mdx)
#### [batcher.block
](#)[Block_height
](/docs/api/lockup/graphql/the-graph/inputs/block-height.mdx)
The block at which the query should be executed. Can either be a `{ hash: Bytes }` value containing a block hash, a `{ number: Int }` containing the block number, or a `{ number_gte: Int }` containing the minimum block number. In the case of `number_gte`, the query will be executed on the latest block only if the subgraph has progressed to or past the minimum block number. Defaults to the latest block when omitted.
#### [batcher.subgraphError
](#)[\_SubgraphErrorPolicy\_!
](/docs/api/lockup/graphql/the-graph/enums/subgraph-error-policy.mdx)
Set to `allow` to receive data even if the subgraph has skipped over errors while syncing.
### Type
#### [Batcher
](/docs/api/lockup/graphql/the-graph/objects/batcher.mdx)
Sender address that created batches.
---
## batchers (3)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
No description
```graphql
batchers(
skip: Int = 0
first: Int = 100
orderBy: Batcher_orderBy
orderDirection: OrderDirection
where: Batcher_filter
block: Block_height
subgraphError: _SubgraphErrorPolicy_! = deny
): [Batcher!]!
```
### Arguments
#### [batchers.skip
](#)[Int
](/docs/api/lockup/graphql/the-graph/scalars/int.mdx)
#### [batchers.first
](#)[Int
](/docs/api/lockup/graphql/the-graph/scalars/int.mdx)
#### [batchers.orderBy
](#)[Batcher_orderBy
](/docs/api/lockup/graphql/the-graph/enums/batcher-order-by.mdx)
#### [batchers.orderDirection
](#)[OrderDirection
](/docs/api/lockup/graphql/the-graph/enums/order-direction.mdx)
#### [batchers.where
](#)[Batcher_filter
](/docs/api/lockup/graphql/the-graph/inputs/batcher-filter.mdx)
#### [batchers.block
](#)[Block_height
](/docs/api/lockup/graphql/the-graph/inputs/block-height.mdx)
The block at which the query should be executed. Can either be a `{ hash: Bytes }` value containing a block hash, a `{ number: Int }` containing the block number, or a `{ number_gte: Int }` containing the minimum block number. In the case of `number_gte`, the query will be executed on the latest block only if the subgraph has progressed to or past the minimum block number. Defaults to the latest block when omitted.
#### [batchers.subgraphError
](#)[\_SubgraphErrorPolicy\_!
](/docs/api/lockup/graphql/the-graph/enums/subgraph-error-policy.mdx)
Set to `allow` to receive data even if the subgraph has skipped over errors while syncing.
### Type
#### [Batcher
](/docs/api/lockup/graphql/the-graph/objects/batcher.mdx)
Sender address that created batches.
---
## batches (3)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
No description
```graphql
batches(
skip: Int = 0
first: Int = 100
orderBy: Batch_orderBy
orderDirection: OrderDirection
where: Batch_filter
block: Block_height
subgraphError: _SubgraphErrorPolicy_! = deny
): [Batch!]!
```
### Arguments
#### [batches.skip
](#)[Int
](/docs/api/lockup/graphql/the-graph/scalars/int.mdx)
#### [batches.first
](#)[Int
](/docs/api/lockup/graphql/the-graph/scalars/int.mdx)
#### [batches.orderBy
](#)[Batch_orderBy
](/docs/api/lockup/graphql/the-graph/enums/batch-order-by.mdx)
#### [batches.orderDirection
](#)[OrderDirection
](/docs/api/lockup/graphql/the-graph/enums/order-direction.mdx)
#### [batches.where
](#)[Batch_filter
](/docs/api/lockup/graphql/the-graph/inputs/batch-filter.mdx)
#### [batches.block
](#)[Block_height
](/docs/api/lockup/graphql/the-graph/inputs/block-height.mdx)
The block at which the query should be executed. Can either be a `{ hash: Bytes }` value containing a block hash, a `{ number: Int }` containing the block number, or a `{ number_gte: Int }` containing the minimum block number. In the case of `number_gte`, the query will be executed on the latest block only if the subgraph has progressed to or past the minimum block number. Defaults to the latest block when omitted.
#### [batches.subgraphError
](#)[\_SubgraphErrorPolicy\_!
](/docs/api/lockup/graphql/the-graph/enums/subgraph-error-policy.mdx)
Set to `allow` to receive data even if the subgraph has skipped over errors while syncing.
### Type
#### [Batch
](/docs/api/lockup/graphql/the-graph/objects/batch.mdx)
Creating streams in bulk is possible using the SablierBatchLockup contract.
See https://github.com/sablier-labs/lockup/blob/v2.0/src/SablierBatchLockup.sol
Note: the entity can be immutable because a batch is only updated in the same block.
See https://thegraph.com/docs/en/subgraphs/developing/creating/ql-schema/#defining-entities
---
## _meta (3)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
Access to subgraph metadata
```graphql
_meta(
block: Block_height
): _Meta_
```
### Arguments
#### [\_meta.block
](#)[Block_height
](/docs/api/lockup/graphql/the-graph/inputs/block-height.mdx)
### Type
#### [\_Meta\_
](/docs/api/lockup/graphql/the-graph/objects/meta.mdx)
The type for the top-level \_meta field
---
## segment (4)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
No description
```graphql
segment(
id: ID!
block: Block_height
subgraphError: _SubgraphErrorPolicy_! = deny
): Segment
```
### Arguments
#### [segment.id
](#)[ID!
](/docs/api/lockup/graphql/the-graph/scalars/id.mdx)
#### [segment.block
](#)[Block_height
](/docs/api/lockup/graphql/the-graph/inputs/block-height.mdx)
The block at which the query should be executed. Can either be a `{ hash: Bytes }` value containing a block hash, a `{ number: Int }` containing the block number, or a `{ number_gte: Int }` containing the minimum block number. In the case of `number_gte`, the query will be executed on the latest block only if the subgraph has progressed to or past the minimum block number. Defaults to the latest block when omitted.
#### [segment.subgraphError
](#)[\_SubgraphErrorPolicy\_!
](/docs/api/lockup/graphql/the-graph/enums/subgraph-error-policy.mdx)
Set to `allow` to receive data even if the subgraph has skipped over errors while syncing.
### Type
#### [Segment
](/docs/api/lockup/graphql/the-graph/objects/segment.mdx)
See https://docs.sablier.com/concepts/lockup/segments
---
## segments
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
No description
```graphql
segments(
skip: Int = 0
first: Int = 100
orderBy: Segment_orderBy
orderDirection: OrderDirection
where: Segment_filter
block: Block_height
subgraphError: _SubgraphErrorPolicy_! = deny
): [Segment!]!
```
### Arguments
#### [segments.skip
](#)[Int
](/docs/api/lockup/graphql/the-graph/scalars/int.mdx)
#### [segments.first
](#)[Int
](/docs/api/lockup/graphql/the-graph/scalars/int.mdx)
#### [segments.orderBy
](#)[Segment_orderBy
](/docs/api/lockup/graphql/the-graph/enums/segment-order-by.mdx)
#### [segments.orderDirection
](#)[OrderDirection
](/docs/api/lockup/graphql/the-graph/enums/order-direction.mdx)
#### [segments.where
](#)[Segment_filter
](/docs/api/lockup/graphql/the-graph/inputs/segment-filter.mdx)
#### [segments.block
](#)[Block_height
](/docs/api/lockup/graphql/the-graph/inputs/block-height.mdx)
The block at which the query should be executed. Can either be a `{ hash: Bytes }` value containing a block hash, a `{ number: Int }` containing the block number, or a `{ number_gte: Int }` containing the minimum block number. In the case of `number_gte`, the query will be executed on the latest block only if the subgraph has progressed to or past the minimum block number. Defaults to the latest block when omitted.
#### [segments.subgraphError
](#)[\_SubgraphErrorPolicy\_!
](/docs/api/lockup/graphql/the-graph/enums/subgraph-error-policy.mdx)
Set to `allow` to receive data even if the subgraph has skipped over errors while syncing.
### Type
#### [Segment
](/docs/api/lockup/graphql/the-graph/objects/segment.mdx)
See https://docs.sablier.com/concepts/lockup/segments
---
## stream (10)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
No description
```graphql
stream(
id: ID!
block: Block_height
subgraphError: _SubgraphErrorPolicy_! = deny
): Stream
```
### Arguments
#### [stream.id
](#)[ID!
](/docs/api/lockup/graphql/the-graph/scalars/id.mdx)
#### [stream.block
](#)[Block_height
](/docs/api/lockup/graphql/the-graph/inputs/block-height.mdx)
The block at which the query should be executed. Can either be a `{ hash: Bytes }` value containing a block hash, a `{ number: Int }` containing the block number, or a `{ number_gte: Int }` containing the minimum block number. In the case of `number_gte`, the query will be executed on the latest block only if the subgraph has progressed to or past the minimum block number. Defaults to the latest block when omitted.
#### [stream.subgraphError
](#)[\_SubgraphErrorPolicy\_!
](/docs/api/lockup/graphql/the-graph/enums/subgraph-error-policy.mdx)
Set to `allow` to receive data even if the subgraph has skipped over errors while syncing.
### Type
#### [Stream
](/docs/api/lockup/graphql/the-graph/objects/stream.mdx)
---
## streams (3)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
No description
```graphql
streams(
skip: Int = 0
first: Int = 100
orderBy: Stream_orderBy
orderDirection: OrderDirection
where: Stream_filter
block: Block_height
subgraphError: _SubgraphErrorPolicy_! = deny
): [Stream!]!
```
### Arguments
#### [streams.skip
](#)[Int
](/docs/api/lockup/graphql/the-graph/scalars/int.mdx)
#### [streams.first
](#)[Int
](/docs/api/lockup/graphql/the-graph/scalars/int.mdx)
#### [streams.orderBy
](#)[Stream_orderBy
](/docs/api/lockup/graphql/the-graph/enums/stream-order-by.mdx)
#### [streams.orderDirection
](#)[OrderDirection
](/docs/api/lockup/graphql/the-graph/enums/order-direction.mdx)
#### [streams.where
](#)[Stream_filter
](/docs/api/lockup/graphql/the-graph/inputs/stream-filter.mdx)
#### [streams.block
](#)[Block_height
](/docs/api/lockup/graphql/the-graph/inputs/block-height.mdx)
The block at which the query should be executed. Can either be a `{ hash: Bytes }` value containing a block hash, a `{ number: Int }` containing the block number, or a `{ number_gte: Int }` containing the minimum block number. In the case of `number_gte`, the query will be executed on the latest block only if the subgraph has progressed to or past the minimum block number. Defaults to the latest block when omitted.
#### [streams.subgraphError
](#)[\_SubgraphErrorPolicy\_!
](/docs/api/lockup/graphql/the-graph/enums/subgraph-error-policy.mdx)
Set to `allow` to receive data even if the subgraph has skipped over errors while syncing.
### Type
#### [Stream
](/docs/api/lockup/graphql/the-graph/objects/stream.mdx)
---
## tranche (8)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
No description
```graphql
tranche(
id: ID!
block: Block_height
subgraphError: _SubgraphErrorPolicy_! = deny
): Tranche
```
### Arguments
#### [tranche.id
](#)[ID!
](/docs/api/lockup/graphql/the-graph/scalars/id.mdx)
#### [tranche.block
](#)[Block_height
](/docs/api/lockup/graphql/the-graph/inputs/block-height.mdx)
The block at which the query should be executed. Can either be a `{ hash: Bytes }` value containing a block hash, a `{ number: Int }` containing the block number, or a `{ number_gte: Int }` containing the minimum block number. In the case of `number_gte`, the query will be executed on the latest block only if the subgraph has progressed to or past the minimum block number. Defaults to the latest block when omitted.
#### [tranche.subgraphError
](#)[\_SubgraphErrorPolicy\_!
](/docs/api/lockup/graphql/the-graph/enums/subgraph-error-policy.mdx)
Set to `allow` to receive data even if the subgraph has skipped over errors while syncing.
### Type
#### [Tranche
](/docs/api/lockup/graphql/the-graph/objects/tranche.mdx)
See https://docs.sablier.com/concepts/lockup/tranches
---
## tranches (2)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
No description
```graphql
tranches(
skip: Int = 0
first: Int = 100
orderBy: Tranche_orderBy
orderDirection: OrderDirection
where: Tranche_filter
block: Block_height
subgraphError: _SubgraphErrorPolicy_! = deny
): [Tranche!]!
```
### Arguments
#### [tranches.skip
](#)[Int
](/docs/api/lockup/graphql/the-graph/scalars/int.mdx)
#### [tranches.first
](#)[Int
](/docs/api/lockup/graphql/the-graph/scalars/int.mdx)
#### [tranches.orderBy
](#)[Tranche_orderBy
](/docs/api/lockup/graphql/the-graph/enums/tranche-order-by.mdx)
#### [tranches.orderDirection
](#)[OrderDirection
](/docs/api/lockup/graphql/the-graph/enums/order-direction.mdx)
#### [tranches.where
](#)[Tranche_filter
](/docs/api/lockup/graphql/the-graph/inputs/tranche-filter.mdx)
#### [tranches.block
](#)[Block_height
](/docs/api/lockup/graphql/the-graph/inputs/block-height.mdx)
The block at which the query should be executed. Can either be a `{ hash: Bytes }` value containing a block hash, a `{ number: Int }` containing the block number, or a `{ number_gte: Int }` containing the minimum block number. In the case of `number_gte`, the query will be executed on the latest block only if the subgraph has progressed to or past the minimum block number. Defaults to the latest block when omitted.
#### [tranches.subgraphError
](#)[\_SubgraphErrorPolicy\_!
](/docs/api/lockup/graphql/the-graph/enums/subgraph-error-policy.mdx)
Set to `allow` to receive data even if the subgraph has skipped over errors while syncing.
### Type
#### [Tranche
](/docs/api/lockup/graphql/the-graph/objects/tranche.mdx)
See https://docs.sablier.com/concepts/lockup/tranches
---
## watcher (12)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
No description
```graphql
watcher(
id: ID!
block: Block_height
subgraphError: _SubgraphErrorPolicy_! = deny
): Watcher
```
### Arguments
#### [watcher.id
](#)[ID!
](/docs/api/lockup/graphql/the-graph/scalars/id.mdx)
#### [watcher.block
](#)[Block_height
](/docs/api/lockup/graphql/the-graph/inputs/block-height.mdx)
The block at which the query should be executed. Can either be a `{ hash: Bytes }` value containing a block hash, a `{ number: Int }` containing the block number, or a `{ number_gte: Int }` containing the minimum block number. In the case of `number_gte`, the query will be executed on the latest block only if the subgraph has progressed to or past the minimum block number. Defaults to the latest block when omitted.
#### [watcher.subgraphError
](#)[\_SubgraphErrorPolicy\_!
](/docs/api/lockup/graphql/the-graph/enums/subgraph-error-policy.mdx)
Set to `allow` to receive data even if the subgraph has skipped over errors while syncing.
### Type
#### [Watcher
](/docs/api/lockup/graphql/the-graph/objects/watcher.mdx)
---
## watchers (3)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
No description
```graphql
watchers(
skip: Int = 0
first: Int = 100
orderBy: Watcher_orderBy
orderDirection: OrderDirection
where: Watcher_filter
block: Block_height
subgraphError: _SubgraphErrorPolicy_! = deny
): [Watcher!]!
```
### Arguments
#### [watchers.skip
](#)[Int
](/docs/api/lockup/graphql/the-graph/scalars/int.mdx)
#### [watchers.first
](#)[Int
](/docs/api/lockup/graphql/the-graph/scalars/int.mdx)
#### [watchers.orderBy
](#)[Watcher_orderBy
](/docs/api/lockup/graphql/the-graph/enums/watcher-order-by.mdx)
#### [watchers.orderDirection
](#)[OrderDirection
](/docs/api/lockup/graphql/the-graph/enums/order-direction.mdx)
#### [watchers.where
](#)[Watcher_filter
](/docs/api/lockup/graphql/the-graph/inputs/watcher-filter.mdx)
#### [watchers.block
](#)[Block_height
](/docs/api/lockup/graphql/the-graph/inputs/block-height.mdx)
The block at which the query should be executed. Can either be a `{ hash: Bytes }` value containing a block hash, a `{ number: Int }` containing the block number, or a `{ number_gte: Int }` containing the minimum block number. In the case of `number_gte`, the query will be executed on the latest block only if the subgraph has progressed to or past the minimum block number. Defaults to the latest block when omitted.
#### [watchers.subgraphError
](#)[\_SubgraphErrorPolicy\_!
](/docs/api/lockup/graphql/the-graph/enums/subgraph-error-policy.mdx)
Set to `allow` to receive data even if the subgraph has skipped over errors while syncing.
### Type
#### [Watcher
](/docs/api/lockup/graphql/the-graph/objects/watcher.mdx)
---
## BigDecimal (3)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
No description
```graphql
scalar BigDecimal
```
---
## BigInt (3)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
No description
```graphql
scalar BigInt
```
---
## Boolean (6)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
The `Boolean` scalar type represents `true` or `false`.
```graphql
scalar Boolean
```
---
## Bytes (3)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
No description
```graphql
scalar Bytes
```
---
## Float (6)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
The `Float` scalar type represents signed double-precision fractional values as specified by [IEEE 754](https://en.wikipedia.org/wiki/IEEE_floating_point).
```graphql
scalar Float
```
---
## ID (3)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
The `ID` scalar type represents a unique identifier, often used to refetch an object or as key for a cache. The ID type appears in a JSON response as a String; however, it is not intended to be human-readable. When expected as an input type, any string (such as `"4"`) or integer (such as `4`) input value will be accepted as an ID.
```graphql
scalar ID
```
---
## Int8 (3)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
8 bytes signed integer
```graphql
scalar Int8
```
---
## Int (6)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
The `Int` scalar type represents non-fractional signed whole numeric values. Int can represent values between -(2^31) and 2^31 - 1.
```graphql
scalar Int
```
---
## String (6)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
The `String` scalar type represents textual data, represented as UTF-8 character sequences. The String type is most often used by GraphQL to represent free-form human-readable text.
```graphql
scalar String
```
---
## Timestamp (6)
export const Bullet = () => (
<>
●
>
);
export const SpecifiedBy = (props) => (
<>
Specification
⎘
>
);
export const Badge = (props) => (
<>
{props.text}
>
);
export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
{
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle: "none" }}
>
{open ? dataOpen : dataClose}
{open && children}
);
};
A string representation of microseconds UNIX timestamp (16 digits)
```graphql
scalar Timestamp
```
---
## Branding
## Brand Guidelines
Want to make an integration with Sablier or just spread the word about it? We've put together a repository with all the
branding assets you need to get started.
If you have any special requests, reach out on [Discord](https://discord.sablier.com).
---
## Legacy (2)
## Sablier Legacy
The first version of the Sablier protocol will keep running in perpetuity thanks to the Ethereum blockchain, but the
current Sablier Interfaces are not compatible with the Legacy protocol. We will keep hosting the legacy apps so that you
can manage any streams previously created on V1.
- Sender interface: [legacy-sender.sablier.com](https://legacy-sender.sablier.com)
- Recipient interface: [legacy-recipient.sablier.com](https://legacy-recipient.sablier.com)
---
## Overview (9)
# The Sablier Interface
The Sablier Interface is a web application that allows users to interact with the Sablier Protocol. It is a
user-friendly interface that enables users to create, manage, and interact with streams.
Start exploring at [app.sablier.com](https://app.sablier.com) or continue reading below to learn more about the
available features.
## Use-case centric

The app is split among three use cases:
| Use Case | Smart Contracts Involved | Description |
| -------- | ------------------------------------- | ----------------------------------------------------------------------- |
| Vesting | Sablier Lockup | Closed-ended streams with and an end time and funds deposited upfront |
| Payments | Sablier Flow | Open-ended streams that can be topped up over time |
| Airdrops | Sablier MerkleFactory, Sablier Lockup | Instant or vested over time, with pre-configured recipients and amounts |
These features are enabled by two types of streams:
- Lockup streams - fixed duration, amount required upfront, strict distribution curve
- Flow streams - no end time, amount can be topped-up, rate-per-second can be adjusted
The Sablier Interface has adapted the Sablier Protocol for the use cases mentioned above, but we encourage you to
explore other applications.
## Vesting
Read about the business use-case on our [dedicated landing page](https://sablier.com/vesting) or dive deeper into the
vesting-related features documented in [this section](/apps/features/vesting).
## Payments
Read about the business use-case on our [dedicated landing page](https://sablier.com/payroll) or dive deeper into the
vesting-related features documented in [this section](/apps/features/payments).
## Airdrop
Read more about the business use-case on our [dedicated landing page](https://sablier.com/airdrops) or dive deeper into
the airdrop-related features documented in [this section](/apps/features/airdrops).
## Grants
Given how flexible Sablier is in adapting to any processes involving token distribution, we've also documented the
business case for [onchain grants](https://sablier.com/grants)
---
## Vesting
The Sablier Interface will showcase [Lockup](/concepts/lockup/overview) streams under the Vesting tab. These are token
streams with a fixed duration, predefined amount and strict distribution curve.

In Q4 2024 the app has undergone a use-case centric redesign. For past users, all streams created before this update
will show up in the Vesting page.
| [Vesting streams](https://app.sablier.com/vesting/gallery) |
| ---------------------------------------------------------------------------------------- |
| |
## Features
### Flexible curves
Almost any vesting schedule can be expressed as a stream. Sablier supports multiple options out of the box, including:
- Linear
- Cliff-Linear
- Unlock in Steps
- Unlock Monthly
- Backweighted
- Timelock
- Unlock-Linear
- Unlock-Dynamic
- Exponential
- Cliff-Exponential
But programmatically, you can create any schedule you want. See the [Stream Shapes](/concepts/lockup/stream-shapes) for
more details on how we design these shapes.
### Explore the dashboard
Enter the Dashboard and discover a detailed overview of your incoming and outgoing streams.
Take advantage of the Search functionality to explore the chain and gain more insight into how others are using Lockup
for vesting.
| |
| ------------------------------------------- |
|  |
### Preview any stream
Gain insight into any stream. Track progress using our very own stream circle. Share the unique URL with recipients or
anyone really to increase transparency of your day to day token distribution.
| |
| ----------------------------------------- |
|  |
### NFT representation
Each stream in wrapped in an ERC-721 non-fungible token (NFT), making the stream recipient the owner of the NFT.
Thus streams can be transferred, traded, and used as collateral in NFT lending protocols.
| |
| ----------------------------------------- |
| |
### Multi-chain experience
Streaming, everywhere. We support 11+ EVM chains and testnets where you can stream or get paid using Sablier.
| |
| ---------------------------------------------- |
|  |
### Create in bulk
Save time by creating up to 280 streams in bulk for your employees, investors, or community members. Use the forms for a
clean and straightforward UX.
| |
| --------------------------------------------------- |
|  |
### Create with CSV
As an alternative to manually filling out the form, you can upload a CSV file with your user data.
| |
| -------------------------------------------------------- |
|  |
### Simulations
Eager to see what your token distribution will look like? Use our simulation tool right from the stream creation forms
(or later, from the stream profile).

### Detailed panels
Explore each available stream in detail. Simulate future payouts, understand historical events, or simply enjoy cool
representations of a monetized passage of time (NFTs 🔥).
### Granular management
Manage your streams 24/7 as you see fit. The app will guide you through every supported process and help you keep an eye
on your payouts. Remember, you can always be both a sender and a recipient.
| | |
| --------------------------------------------- | ----------------------------------------- |
|  |  |
### Any ERC-20 token
Thanks to our integration of Token Lists, any ERC-20 token can be distributed via Sablier Lockup.
:::warning
The only exception is rebasing tokens like Aave's aTokens. Tokens that dynamically rebase their balance are not
supported by Sablier.
:::
| | |
| ----------------------------------------------- | -------------------------------------------------------- |
|  |  |
### Mobile-ready layout
Token streams on the go!
Yes, the Sablier app works on mobile. And yes, we support dark mode by default (light mode coming soon).
### Permissions
We've mapped the most important utilities from the Lockup contracts into in-app features. Interact with streams that
reference you as a key participant (e.g. sender, recipient) directly from the interfaces.
| Feature | Sender | Recipient | Public |
| ---------------------- | :----: | :-------: | :----: |
| Create Streams | ✅ | - | - |
| Renounce Cancelability | ✅ | ❌ | - |
| Cancel | ✅ | ❌ | - |
| Transfer | ❌ | ✅ | - |
| Withdraw | ✅ | ✅ | ✅ |
### Safe multisig support
Vesting is fully integrated with [Safe](https://safe.global). Start streaming from the safety and comfort of your
multisig wallet.
---
## Payments
The Sablier Interface displays [Flow](/concepts/flow/overview) streams under the Payments tab. These are token streams
with no end time, an ever-increasing amount (meaning the streams can be topped up), and a flexible rate per second.

## Features
### Flexible terms
Increase the rate/second, fund the stream with more tokens and keep it alive indefinitely! With Flow streams in the
Payments tab you have the freedom to adapt your distribution schedule based on external KPIs, pivots or executive
decisions.
### Explore the dashboard
Enter the Dashboard and discover a detailed overview of your incoming and outgoing flow streams.
Take advantage of the Search functionality to explore the chain and gain more insight into how others are using Flow for
continuous payments, grants, salaries and more.
| |
| -------------------------------------------------- |
|  |
### Top up multiple streams
Select the streams you want to top up, provide the deposit amount for each stream, and confirm the batched top-up with
only one transaction.
You can specify custom amounts for each stream, or top up all streams with the same amount.
| |
| ------------------------------------------------------------------- |
|  |
### Preview any stream
Gain insight into any stream. Track progress using our very own stream circle. Share the unique URL with recipients or
anyone really to increase transparency of your day to day token distribution.
| |
| ------------------------------------------ |
|  |
### Save URL and top up later
Create a unique URL to easily search the selected group of streams. Use this URL or share it with your partners to top
up the streams at a later time.
| |
| ------------------------------------------------------------ |
|  |
### NFT representation
Each stream in wrapped in an ERC-721 non-fungible token (NFT), making the stream recipient the owner of the NFT.
Thus streams can be transferred, traded, and used as collateral in NFT lending protocols.
### Multi-chain experience
Streaming, everywhere. We enable payments on 11+ EVM chains and testnets where you can stream or get paid using Sablier.
| |
| ---------------------------------------------- |
|  |
### Create in bulk
Save time by creating up to 280 streams in bulk for your employees, investors, or community members. Use the forms for a
clean and straightforward UX.
### Create with CSV
As an alternative to manually filling out the form, you can upload a CSV file with your user data.
### Mobile-ready layout
Token streams on the go!
Yes, the Sablier app works on mobile. And yes, we support dark mode by default (light mode coming soon).
### Permissions
We've mapped the most important utilities from the Flow contracts into in-app features. Interact with streams that
reference you as a key participant (e.g. sender, recipient) directly from the interfaces.
| Feature | Sender | Recipient | Public |
| ---------------- | :----: | :-------: | :----: |
| Create Streams | ✅ | ❌ | - |
| Deposit / Top-up | ✅ | - | ✅ |
| Adjust rate | ✅ | ❌ | - |
| Refund | ✅ | ❌ | - |
| Void | ✅ | ✅ | - |
| Pause | ✅ | ❌ | - |
| Restart | ✅ | ❌ | - |
| Transfer | ❌ | ✅ | - |
| Withdraw | ✅ | ✅ | ✅ |
### Safe multisig support
Payments are fully integrated with [Safe](https://safe.global). Start streaming from the safety and comfort of your
multisig wallet.
---
## Airdrops
Sablier provides a solution for launching airdrops with up to a million recipients. This is designed to help projects
distribute tokens to a large number of users in a fair and efficient manner. Start exploring at
[app.sablier.com](https://app.sablier.com/airdrops/) or read more about it on
[sablier.com/airdrops](https://sablier.com/airdrops).
## Airstreams (Vested Airdrops)

**Airdrops should be vested!**
At Sablier, we believe in long-term distributions with aligned incentives. That's why we engineered Airstreams, a
solution which allows you to airdrop streams with a vesting schedule.
Pick a vesting curve (e.g., linear), define the rules (e.g. duration, clawback window), and allow recipients to claim
their airdrops as vesting streams.
## Instant Airdrops

Sablier also offers an instant airdrop solution, meaning the tokens are immediately released to the recipients upon
claiming.
## Features
### Create with CSV
Generate your list of recipients and put it into a CSV file, upload it to our app, and we'll take care of the rest. We
will sanitize, validate and triple-check the data to ensure everything is formatted correctly.
:::caution Timezone Caveat
All times in the CSV are considered to be in the same timezone as the airdrop creator's device. Visit our
[CSV guide](/apps/guides/csv-support) to read more about the format.
:::
### Easy 3-step process
Creating campaigns involves a simple 3-step process:
1. Configure the initial details (e.g., token, campaign name, etc.)
2. Upload the CSV containing the recipient data
3. Deploy the Airdrop campaign contract
| |
| ------------------------------------------------------------- |
|  |
|  |
### Open source
If you'd like to support Airdrops in your UI or have additional requirements, you can do so by using a self-hosted
[Merkle service](/api/airdrops/merkle-api/overview). Reach out to us on [Discord](https://discord.sablier.com) for more
details and customer support.
### Explore the dashboard
Enter the Dashboard and discover a detailed overview of the Airdrops you may be eligible for.
Take advantage of the Search functionality to explore the chain and gain more insight into how others are using Sablier.
| |
| --------------------------------------------------- |
|  |
### Support for any ERC-20 token
You can drop your own token!
Thanks to our integration of Token Lists, any ERC-20 token can be airdropped on Sablier.
For your token logo to show up in the Sablier app, add it to our
[token list](https://github.com/sablier-labs/community-token-list/issues/new?template=token-request.md)
| |
| --------------------------------------------------- |
|  |
### Oversight
Have a clear view of how your campaign is performing. Check eligibility or manage your own campaign from a dedicated
interface.
| |
| ----------------------------------------------------- |
|  |
:::info
To integrate this functionality into your own products/apps, have a look at the [API guides](/api/overview), especially
the [Merkle API](/api/airdrops/merkle-api/overview) and the Merkle subgraphs.
:::
### Advanced Settings
For campaign admins, the interface enables advanced settings like in-app visibility, in-app geographical restrictions,
and campaign-specific items like an eligibility criteria link.
| |
| ------------------------------------------------------- |
|  |
### Geographical Restrictions
As shown in the image above, you can specify a list of countries where access to the campaign will be restricted on the
Sablier Interface at [app.sablier.com](https://app.sablier.com). Note that this restriction does not apply to the
Sablier Protocol, which runs permissionlessly on the blockchain.
Additionally, some jurisdictions may already be restricted by default — either by your ISP or Vercel, our hosting
provider.
---
## Other Features
The Sablier Interface comes with many other smaller (but still cool) features, from aesthetic easter eggs to
integrations with popular services.
## Social Media Previews
For the socialites among our users, we've added a feature that generates social media preview images based on your
onchain activity in Sablier.
To see what your preview looks like, paste your stream URL (e.g. `app.sablier.com/stream/...`) on socials. Here's an
example:

## Farcaster Frames

You can share our [Frames](https://x.com/razgraf/status/1779208294264955316) to interact directly with Sablier from your
favorite Farcaster client.
| Latest | Stream by ID |
| ------------------------------------------------------- | --------------------------------------------------------- |
|  |  |
| Keep tabs on the latest streams | Share stream previews using their ID |
| [app.sablier.com/api/frame/latest/home][latest] | [app.sablier.com/api/frame/stream/LL2-11155111-3][stream] |
[latest]: https://app.sablier.com/api/frame/latest/home
[stream]: https://app.sablier.com/api/frame/stream/LL2-11155111-3
:::note
When pasted in the browser, the links will redirect to show the final images. Makes sure to use them in Farcaster in
this original form.
:::
---
## CSV Support
The Sablier Interfaces supports CSV files for faster processing and automating large-scale operations. This feature is
available for both airdrops and streams.
:::warning Formatting Caveats
**Dates**: All columns with the "date" type should have the following format: "YYYY-MM-DD HH:mm".
**Durations**: All columns with the "duration" type should have the following format: "**x** years **y** days **z**
hours". Note that each particle is optional, e.g., you can skip the days.
**Timezones**: The dates and times extracted from the CSV are processed using the same timezone used by the user's
browser.
**Amounts**: All token amounts should be expressed in humanized form, e.g., 10 USDC should be written as `10`, not
`10000000`. The Sablier app will multiply the amounts by the token's number of decimals in the processing step.
:::
## Airdrops
With Sablier, you can create airdrop campaigns with up to a million recipients. To do so, you must upload a CSV file
containing all recipient addresses and the airdrop amounts.
Use the provided template and fill in the rows with recipient addresses and airdrop amounts.
### CSV Template
For your convenience, here's a download link for the CSV template:
### Navigation
To use this feature:
1. Access the [create airdrop](https://app.sablier.com/airdrops/create) page
2. Fill out the details for your airdrop campaign in the 1st step
3. Continue to the 2nd step, where you can upload the CSV
| |
| ----------------------------------------------------- |
|  |
## Streams
| |
| ----------------------------------------------------- |
|  |
Using a CSV, you can deploy up to 280 streams all at once. Start from the suggested template, and fill in the rows with
addresses, amounts, and other details.
### CSV Template
Here's table with all the available CSV templates.
[Sablier Flow](/concepts/use-cases#sablier-flow) (the first row in the below table) is a great fit for use cases like payroll, grants, and subscriptions. The other streaming curves in the table rely on [Sablier Lockup](/concepts/use-cases#sablier-lockup) and are a better fit for vesting and airdrops.
| URL | Description |
| :------------------------------------------------------------------------------------------------------------ | :------------------------------------------------------------------------------------------------------ |
| [Flow](https://files.sablier.com/templates/flow-template.csv) | [Open-ended streams](/concepts/flow/overview#total-debt) that can be topped up. |
| [Linear with duration](https://files.sablier.com/templates/linear-duration-template.csv) | [Linear streams](/concepts/lockup/stream-shapes#linear) with the duration timing. |
| [Linear with range](https://files.sablier.com/templates/linear-range-template.csv) | [Linear streams](/concepts/lockup/stream-shapes#linear) with the range timing. |
| [Cliff with duration](https://files.sablier.com/templates/2025-02/cliff-duration-template.csv) | [Cliff streams](/concepts/lockup/stream-shapes#cliff-unlock) with the duration timing. |
| [Cliff with range](https://files.sablier.com/templates/2025-02/cliff-range-template.csv) | [Cliff streams](/concepts/lockup/stream-shapes#cliff-unlock) with the range timing. |
| [Monthly with range](https://files.sablier.com/templates/monthly-range-template.csv) | [Unlock Each Month streams](/concepts/lockup/stream-shapes#unlock-monthly) with the range timing. |
| [Stepper with duration](https://files.sablier.com/templates/2025-02/unlockSteps-duration-template.csv) | [Unlock In Steps streams](/concepts/lockup/stream-shapes#unlock-in-steps) with the duration timing. |
| [Stepper with range](https://files.sablier.com/templates/2025-02/unlockSteps-range-template.csv) | [Unlock In Steps streams](/concepts/lockup/stream-shapes#unlock-in-steps) with the range timing. |
| [Timelock with duration](https://files.sablier.com/templates/timelock-duration-template.csv) | [Timelock streams](/concepts/lockup/stream-shapes#timelock) with the duration timing. |
| [Timelock with range](https://files.sablier.com/templates/timelock-range-template.csv) | [Timelock streams](/concepts/lockup/stream-shapes#timelock) with the range timing. |
| [BackWeighted with range](https://files.sablier.com/templates/backWeighted-range-template.csv) | [BackWeighted streams](/concepts/lockup/stream-shapes) with the range timing. |
| [Unlock linear with duration](https://files.sablier.com/templates/unlockLinear-duration-template.csv) | [Unlock-Linear streams](/concepts/lockup/stream-shapes#initial-unlock) with the duration timing. |
| [Unlock linear with range](https://files.sablier.com/templates/unlockLinear-range-template.csv) | [Unlock-Liner streams](/concepts/lockup/stream-shapes#initial-unlock) with the range timing. |
| [Unlock cliff with duration](https://files.sablier.com/templates/2025-02/unlockCliff-duration-template.csv) | [Unlock-Cliff streams](/concepts/lockup/stream-shapes#cliff-unlock) with the duration timing. |
| [Unlock cliff with range](https://files.sablier.com/templates/2025-02/unlockCliff-range-template.csv) | [Unlock-Cliff streams](/concepts/lockup/stream-shapes#cliff-unlock) with the range timing. |
| [Exponential with duration](https://files.sablier.com/templates/exponential-duration-template.csv) | [Exponential streams](/concepts/lockup/stream-shapes#exponential) with the duration timing. |
| [Exponential with range](https://files.sablier.com/templates/exponential-range-template.csv) | [Exponential streams](/concepts/lockup/stream-shapes#exponential) with the range timing. |
| [Cliff exponential with duration](https://files.sablier.com/templates/exponentialCliff-duration-template.csv) | [Cliff-Exponential streams](/concepts/lockup/stream-shapes#cliff-exponential) with the duration timing. |
| [Cliff exponential with range](https://files.sablier.com/templates/exponentialCliff-range-template.csv) | [Cliff-Exponential streams](/concepts/lockup/stream-shapes#cliff-exponential) with the range timing. |
### Navigation
To use this feature:
1. Access the [vesting gallery](https://app.sablier.com/vesting/gallery/) page in the Sablier app
2. Select the desired vesting shape
3. In the top right corner, you will find a button guiding you toward the CSV feature
| |
| ------------------------------------------------------ |
|  |
### Column Formats
To use the CSV feature, the data you provide must be formatted correctly. Bellow is a list with the format expected for
all column types supported by Sablier.
:::warning
Make sure that your CSV editing software (e.g. Microsoft Excel) does not override the cell format. We suggest
double-checking in the Sablier app that the dates have been parsed as expected.
:::
| Column | Type | Description | Examples |
| :------------ | :----- | :--------------------------------------------------------------------------------------- | :------------------------------------------- |
| address | String | Recipient address | `0x12...AB` |
| amount | Number | Deposit amount | `100`, `42161` or any other valid amount |
| duration | String | Total duration | `1 year 20 days`, `3 years 20 days 4 hours` |
| start | Date | Start date in `YYYY-MM-DD HH:mm` format | `2024-02-24 16:15`, `2026-02-14 17:25` |
| end | Date | End date in `YYYY-MM-DD HH:mm` format | `2024-02-24 16:15`, `2026-02-14 17:25` |
| cliffDuration | String | Cliff duration | `2 years 20 days`, `3 years 20 days 4 hours` |
| cliffEnd | Date | Cliff date in `YYYY-MM-DD HH:mm` format | `2024-02-24 16:15`, `2026-02-14 17:25` |
| months | Number | Number of months for the unlock monthly | `5`, `12` or any other valid integer |
| steps | Number | Number of steps for the unlock in steps | `5`, `12` or any other valid integer |
| unlock | Number | Amount that will be initially unlocked | `100`, `42161` or any other valid amount |
| initial | String | Whether the first unlock should occur at the start date or at the end of the first month | `at start` or `end of first month` |
---
## URL Schemes
The Sablier Interface makes it easy for integrators to link to specific users or entities. In this guide, we will
cover a number of resource locators used by the apps, and dive into how you can use them.
## Stream Page
| |
| ------------------------------------------------- |
|  |
### Elements
Every stream created through the Sablier Protocol is identified through three parameters:
- a **chainId** (e.g., `1` for Ethereum, `10` for Optimism, etc. )
- an **alias** (e.g., `LK`) OR a **contract** (e.g. `0x12..AB`)
- a **streamId** (generated at stream creation)
#### Contract Aliases
Sablier supports different token distribution products, e.g. `SablierLockup` and `SablierFlow`. To provide a visual
resolver in the UI, we alias the contract addresses with the following abbreviations:
In the past, the functionality of the `SablierLockup` contract used to be distributed among different contracts.
- Lockup Linear V2.0 contracts become `LL`, e.g. `LL-137-1`
- Lockup Linear V2.1 contracts become `LL2`, e.g. `LL2-137-1`
- Lockup Dynamic V2.0 contracts become `LD`, e.g. `LD-137-1`
- Lockup Dynamic V2.1 contracts become `LD2`, e.g. `LD2-137-1`
### Building the URL
By combining the elements described above, you can send users from your interface directly to the create stream page in
the Sablier Interface. To build the link to a stream resource, you use a hyphen `-` to concatenate the uppercase
contract `alias`, the `chainId`, and the `streamId`, and then you add them to the base URL `app.sablier.com/stream/`:
| URL | Description |
| :---------------------------------------------------------------------------------------------------------------------- | :------------------------------------------------ |
| [app.sablier.com/stream/LL2-137-29](https://app.sablier.com/stream/LL2-137-29) | Lockup Linear V2.1 stream #29 on Polygon |
| [app.sablier.com/stream/LL-137-32](https://app.sablier.com/stream/LL-137-32) | Lockup Linear V2.0 stream #32 on Polygon |
| [app.sablier.com/stream/LD-137-13](https://app.sablier.com/stream/LD-137-13) | Lockup Dynamic V2.0 stream #13 on Polygon |
| [app.sablier.com/stream/LL-1-6](https://app.sablier.com/stream/LL-1-6) | Lockup Linear V2.0 stream #6 on Ethereum |
| [app.sablier.com/stream/0xB10...f95-1-6](https://app.sablier.com/stream/0xB10daee1FCF62243aE27776D7a92D39dC8740f95-1-6) | Lockup Linear V2.0 stream #6 on Ethereum |
| [app.sablier.com/stream/LL2-11155111-40](https://app.sablier.com/stream/LL2-11155111-40) | Lockup Linear V2.1 stream #40 on Ethereum Sepolia |
As you can see, the main format is `contractA-chainId-streamId`. This is supported both at the app and the subgraph
level. For situations when an alias cannot be used, we fallback to the following format:
`contractAddress-chainId-streamId`. Read more about identifiers and aliases in our
[APIs docs](/api/ids).
---
## Search Streams
### Elements
The Sablier Interface comes with an advanced search view that can be accessed directly through URL parameters. If you
want to use this feature, here is a table with all the available parameters:
| Parameter | Type | Description | Values |
| :-------- | :----------- | :------------------------------------------------------------------------- | --------------------------------------------------------------- |
| a | String | The address of the asset to filter for | `0x12...CD` for DAI |
| c | Number | The chain of the streams in the search result. This parameter is required. | `1`, `42161`, or another [chain ID](/guides/lockup/deployments) |
| i | String array | An array of IDs to look up | `LL-5-1`, `LD-5-14` etc. |
| r | String | The address of the stream recipient by which to filter | `0x12...AB`, `vitalik.eth` |
| s | String | The address of the stream sender by which to filter | `0x12...AB`, `vitalik.eth` |
| t | String | The active tab in the dashboard. For global queries, use `search`. | `search`, `sender`, or `recipient` |
### Building the URL
By combining the parameters described above, you can send users from your interface directly to the search view in the
Sablier Interface. To build the link, you append all these elements to the base link `app.sablier.com/` as query
parameters, e.g.:
```text
app.sablier.com/?t=search&c=1&s=0x..1&r=0x...2&i=LL-1-2,LL2-1-29
```
Here are some examples of URLs and the associated search modal for each:
| | |
| -------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------- |
| [Streams created by a particular user](https://app.sablier.com/?t=search&c=1&s=0x0aAeF7BbC21c627f14caD904E283e199cA2b72cC) |  |
| [Streams with particular IDs](https://app.sablier.com/?t=search&c=1&i=LL2-1-2,LL-1-29) |  |
---
## Airdrop Page
| |
| ----------------------------------------------------- |
|  |
### Elements
Every airdrop created through the Lockup protocol is identified through three parameters:
- a **chainId** (e.g. `1` for Ethereum, `10` for [Optimism](https://chainlist.org/) )
- a **contract** address (e.g. `0x12..AB`)
:::info
We've chosen not to apply aliases to Airstreams for now. In the future, we may ask the campaign creator to provide a
name or an alias to be used in the URL.
:::
### Building the URL
By combining the elements described above, you can send users from your interface directly to the create stream page in
the Sablier Interface. To build the link to a stream resource, you use a hyphen `-` to concatenate the uppercase
contract `alias`, the `chainId`, and the `streamId`, and then you add them to the base URL `app.sablier.com/stream/`:
| URL | Description |
| :--------------------------------------------------------------------------------------------------------------------------------------- | :---------------------------- |
| [app.sablier.com/stream/0xe72[...]bbabc-11155111](https://app.sablier.com/airstream/0xe72175dd12ac7efca6b7d12dfc913a5f661bbabc-11155111) | Airstream on Ethereum Sepolia |
As you can see, the main format is `contractA-chainId`. This is supported both at the app and the subgraph level. Read
more about identifiers and aliases in our [APIs docs](/api/ids).
## Search Airstreams
### Elements
The Sablier Interface comes with an advanced search view that can be accessed directly through URL parameters. If you
want to use this feature, here is a table with all the available parameters:
| Parameter | Type | Description | Values |
| :-------- | :----- | :---------------------------------------------------------------------------- | ------------------------------------------------------------------------- |
| a | String | The address of the asset to filter for | `0x12...CD` for DAI |
| c | Number | The chain of the airstreams in the search result. This parameter is required. | `1`, `10`, `42161` or other [supported chain](/guides/lockup/deployments) |
| m | String | The address of the campaign admin by which to filter | `0x12...AB`, `vitalik.eth` |
| t | String | The active tab in the dashboard. For global queries, use `search`. | `search` |
### Building the URL
By combining the parameters described above, you can send users from your interface directly to the search view in the
Sablier Interface. To build the link, you append all these elements to the base link `app.sablier.com/airdrops` as query
parameters, e.g.:
```text
app.sablier.com/airdrops/?t=search&c=1&m=0x..1&a=0x
```
---
## How-to Videos
For an extensive set of video explanations please check out the [Support](/support/how-to) section.
---
## What Is Sablier?
Sablier is a powerful onchain token distribution protocol. Here are some key definitions:
- **The Sablier Protocol**: A collection of persistent, non-upgradeable smart contracts to facilitate streaming of
ERC-20 tokens on Ethereum and other EVM blockchains. The Sablier Protocol consists of Lockup, Merkle Airdrops, and
Flow.
- **The Sablier Interface**: A web interface that allows for easy interaction with the Sablier Protocol. The interface
is only one of many ways to interact with the Sablier Protocol.
- **Sablier Labs**: The company that develops the Sablier Protocol, the Sablier Interface, and the documentation website
you are reading right now.
:::info
Fun fact: "sablier" means "hourglass" in French.
:::
## Sablier Protocol
A software protocol built with [Ethereum](https://ethereum.org/) smart contracts, designed to facilitate distribution of
[ERC-20](https://ethereum.org/en/developers/docs/standards/tokens/erc-20/) tokens. The protocol employs a set of
persistent and non-upgradable smart contracts that prioritize security, censorship resistance, self-custody, and
functionality without the need for trusted intermediaries who may selectively restrict access.
Currently, Sablier consists of three separate systems:
- **Lockup**: facilitates vesting and vested airdrops
- **Merkle Airdrops**: enables on-chain airdrops
- **Flow**: for payroll, grants etc.
While most of these are licensed under BUSL-1.1, there are some components licensed under GPL v3. The source code can be
accessed on Sablier's [GitHub account](https://github.com/sablier-labs), and a detailed technical reference can be found
in the [Technical References](/reference/overview) section of this website.
As long as Ethereum and the other EVM chains continue to exist, every version of the Sablier Protocol that gets deployed
will operate continuously and without interruption, with a guarantee of 100% uptime.
:::info
Sablier is the first project to enable token streaming in the Ethereum ecosystem, tracing its roots
[back to 2019](https://x.com/Sablier/status/1205533344886411264).
:::
## How does Sablier differ from traditional payment systems?
To understand the unique characteristics of Sablier, it is helpful to examine two aspects: the permissionless nature of
the protocol compared to traditional payment systems, the concept of streaming as an alternative to conventional payment
methods.
### Permissionless systems
Sablier is rooted in the essential ideas of open access and immutability, deriving inspiration from Ethereum's
foundational principles and the core values of the DeFi[^1] movement. These concepts are crucial in shaping a future
where financial services are accessible to everyone, irrespective of their geographical location or economic standing,
without prejudice or exposure to counterparty risks.
The permissionless design ensures that the protocol's services are open to the public, without any restrictions on who
can use them. Users have the liberty to establish new streams with any ERC-20 token, or interact with existing streams
as they wish. This feature stands in sharp contrast to conventional financial services that frequently impose
restrictions based on factors such as location, financial status, or age.
As an immutable system, the Sablier Protocol is non-upgradeable, meaning that no party can pause the contracts, reverse
transactions, or alter the users' streams in any way. This ensures the system remains transparent, secure, and resistant
to manipulation or abuse.
### Streaming vs conventional payments
Traditional payment systems generally involve lump-sum transfers, which rely on trust between parties, have slow
processing times, and are prone to errors. In the context of bank transfers, payments are also subject to substantial
fees and can face delays due to intermediaries.
By contrast, Sablier introduces the concept of token streaming, enabling users to make continuous, real-time payments on
a per-second basis. This innovative approach enables seamless, frictionless transactions and promotes increased
financial flexibility for users, businesses, and other entities. Sablier makes the passage of time itself the
trust-binding mechanism, unlocking business opportunities that were previously unavailable.
A good mental model to contrast streaming with conventional payment models is to view the former as "real-time finance"
or "continuous finance", and the latter as of "discrete finance".
## Where can I find more information?
For more details on the Sablier Protocol, its features, and potential use cases, explore this documentation site and
visit the official [Sablier website](https://sablier.com) as well.
:::tip
If you have any questions along the way, please join the #dev channel in our Discord server. Our team and members of the community are looking forward to
help you.
:::
## Release history
### Lockup
For more details on the UI alias, see the guide on [URL schemes](/apps/guides/url-schemes).
| Version | Release Date | UI Aliases |
| ------------------------------------------------ | ------------- | ---------------------------------------------------------------------- |
| [v2.0](/guides/lockup/deployments) (latest) | February 2025 | `LK` (Lockup): all models have been merged into a single contract |
| [v1.2](/guides/lockup/previous-deployments/v1.2) | July 2024 | `LD3` (Lockup Dynamic), `LL3` (Lockup Linear), `LT3` (Lockup Tranched) |
| [v1.1](/guides/lockup/previous-deployments/v1.1) | December 2023 | `LD2` (Lockup Dynamic), `LL2` (Lockup Linear) |
| [v1.0](/guides/lockup/previous-deployments/v1.0) | July 2023 | `LD` (Lockup Dynamic), `LL` (Lockup Linear) |
### Merkle Airdrops
| Version | Release Date |
| --------------------------------- | ------------- |
| [v1.3](/guides/airdrops/overview) | February 2025 |
Before v1.3, Merkle Airdrops contracts were part of the Sablier Lockup
[periphery repository](https://github.com/sablier-labs/v2-periphery).
### Flow
For more details on the UI alias, see the guide on [URL schemes](/apps/guides/url-schemes).
| Version | Release Date | UI Aliases |
| ---------------------------------------------- | ------------- | ---------- |
| [v1.1](/guides/flow/overview) (latest) | February 2025 | FL2 |
| [v1.0](/guides/flow/previous-deployments/v1.0) | December 2024 | FL |
### Legacy (Deprecated)
The Legacy contracts have been superseded by Lockup.
| Version | Release Date |
| ---------------------------------- | ------------- |
| [v1.1](/guides/legacy/deployments) | July 2021 |
| [v1.0](/guides/legacy/deployments) | November 2019 |
[^1]:
Short for Decentralized Finance: an ecosystem of financial applications and services built on blockchain networks,
primarily Ethereum, that leverage smart contracts to enable trustless, permissionless, and transparent financial
transactions without relying on traditional intermediaries like banks or financial institutions.
---
## Streaming
Token streaming means the ability to make continuous, real-time payments on a per-second basis. This novel approach to
making payments is the core concept of Sablier.
## Brief history
Andreas Antonopoulos introduced the concept of money streaming in his keynote talk
[Bitcoin, Lightning, and Streaming Money](https://www.youtube.com/watch?v=gF_ZQ_eijPs), held at a Bitcoin meetup
in 2016. He discussed it within the context of the Lightning Network, but the idea can be applied to any cryptocurrency
platform.
Inspired by Antonopoulos' presentation, Sablier co-founder Paul Berg published
[ERC-1620](https://eips.ethereum.org/EIPS/eip-1620) in November 2018, proposing a standard for streaming payments on the
Ethereum blockchain. The standard required users to lock a specified amount of funds in a smart contract, which would
then be released to a recipient at a predetermined rate per second.
Sablier was born in 2019 when Paul and his co-founder, Gabriel Apostu, decided to build a protocol implementing the
ERC-1620 standard. The first iteration of Sablier was successfully deployed on Ethereum Mainnet in December 2019.
In 2024, Sablier protocol got renamed to Lockup when Flow was introduced.
## What are the benefits?
Conventional lump-sum payments come with inherent challenges such as the need for trust between parties, slow processing
times, and susceptibility to errors. Token streaming, or continuous by-the-second payments, addresses these issues and
offers additional benefits (see [Use Cases](/concepts/use-cases)).
First, streaming involves a significantly smaller degree of trust compared to lump-sum payments, as it eliminates the
need for advance payments. For instance, suppose you hire a remote worker to build a website for you, and they ask you
for an advance payment. A lump-sum payment is risky because there is no guarantee the worker will deliver the website as
promised. By streaming money to the worker instead, your potential loss is limited to the small amount streamed in the
short term. If the remote worker disappears, you can simply cancel the stream and reclaim any unstreamed funds.
Secondly, money streaming is substantially faster than lump-sum payments for evident reasons. Streaming transactions
settle in real-time, with small amounts of tokens being released from the sender to the recipient every second. This
automates the payment process and ensures a continuous flow of funds.
Lastly, streaming is more secure than lump-sum payments, because it makes it possible to correct errors. Suppose you
accidentally started a steam worth 10 ETH to the wrong address. For example, if you accidentally initiated a stream
worth 10 ETH to an incorrect address, you can cancel the stream and reclaim the unstreamed Ether (e.g., recovering 9.99
of the 10 ETH). Conversely, recovering a lump-sum payment sent to the wrong address is not possible, unless the
recipient is willing to return it.
## Diversity of streams
Over time, we have come to realize that there is no one-size-fits-all streaming model that can address the diverse range
of use cases. In the upcoming section, we will explore the various token distribution curves supported by Lockup and
Flow.
But first, let's dive into the use cases.
---
## Use Cases
While Lockup and Flow both are general-purpose protocols that can be used for a wide variety of applications, some use
cases are more popular than others. In this article, we will cover the primary reasons people are using Sablier Lockup
and Sablier Flow.
## Sablier Lockup
Sablier Lockup requires fixed dates and fixed amounts. When creating a stream, the total amount of tokens to be
distributed needs to be deposited into the stream and you cannot add funds to an existing stream. Lockup streams have a
fixed start date and end date, and cannot be extended. These properties make for an excellent user experience for
vesting, as the terms are clear, defined and transparent.
### Vesting
#### 1. Efficiency
Traditional vesting schemes require a lot of manual input. Payments must be processed manually over an extended period,
demanding continuous dedication from the treasury management team. The treasury admin has to initiate numerous
transactions each month to compensate contributors and oversee the vesting of employees and investors
As a result, traditional vesting proves to be labor-intensive, prone to errors, and ultimately delivers a subpar user
experience for everyone involved. Organizations need to devote considerable time to administer funds, while recipients
wait months, quarters, or sometimes even longer to obtain their compensation.
Sablier solves these problems by automating the entire vesting process.
The initial setup involves creating the streams, which only needs to be done once. You simply specify the total duration
of the stream (e.g., two years), and that's all - no further actions are required from you. With Sablier, vesting is a
"set it and forget it" process.
Then, recipients receive their compensation gradually over time: with every second that passes, they receive a fraction
of their allocated compensation. This model aligns with the incentives of both parties. The organization only needs to
spend time once, to create the streams, while recipients receive the funds gradually over time, allowing them to manage
their finances as they wish.
#### 2. Schelling points
:::info
In game theory, a "focal point" (also called Schelling point) is a solution that people tend to choose by default in the
absence of communication.
:::
Since traditional vesting contracts have a predictable release schedule, the day on which a vesting period unlocks may
be used as a Schelling point for speculation. As a result, some token holders may dump their tokens as soon as they
receive them.
By contrast, Sablier streams distribute a fraction of the total payment every second to recipients, enabling them to
withdraw a portion of funds at any time. This effectively addresses the problem of coordinated dumping.
#### 3. Transparency
It's hard to aggregate discrete payments, which is why they typically lack transparency. Just by looking at a
transaction on Etherscan, it's difficult to pin down to whom it was made, or for what purpose. This issue is
particularly relevant to DAOs, where transparency is critical to enabling contributors to understand how the treasury
funds are allocated and for what purposes.
With Sablier streams, the issues mentioned above are avoided. Anyone can use the Sablier interface to monitor all
streams created by a particular address, as well as all transactions associated with each stream.
To illustrate this, here's an example of a stream as viewed on the Sablier Interface.
## Merkle Airdrops
This section explores the use cases enabled by Merkle Airdrops.
### Instant airdrops
Instant airdrops is the traditional way of running airdrops where there's no vesting period and tokens can instantly be
claimed by the recipients. Running an airdrop campaign can become very expensive if you are storing airdrop data
on-chain, however.
This is where Merkle Airdrops come into the picture. When you run a campaign with Sablier, the airdrop information is
stored in a merkle tree, hosted on IPFS. The EVM storage only stores the root of the Merkle tree. At the time of claim,
eligible users can provide a merkle proof of their claim which is verified on-chain.
This not only reduces cost of running an airdrop campaigns but also inherits the security of the Sablier protocol.
### Streaming airdrops
With vested airdrops, also called Airstreams, instead of airdropping the entirety of the token allocation all at once,
airdrop recipients receive a fraction of the tokens every second through a Sablier stream.
A stream can have any duration you want. You can choose to vest your new token over a period of 6 months, 2 years, or
any other duration you prefer. This way, airdrop recipients are forced to think about the project's long-term
development and stay engaged with it.
1. The token price may fluctuate over time, which motivates recipients to do whatever they can to increase the price.
2. In cases where a recipient fails to remain involved with the project, the creator of the airdrop has the ability to
cancel the recipient's stream. Canceling a stream will not undo any tokens that have already been streamed, but it
will prevent the recipient from receiving any more tokens.
:::tip
If you are interested in airdropping your token, check out [Sablier website](https://app.sablier.com/airdrops/).
:::
## Sablier Flow
Unlike Lockup, Sablier Flow streams do not require upfront deposits, nor do they have fixed start and end dates. Flow is
all about flexibility, making it ideal for use cases like payroll and grants.
### Payroll
What if your salary could be streamed to you in real time? Why should you wait for two weeks or a month when you can get
it every second? Streaming salaries through Sablier significantly enhances employee satisfaction and retention.
Your employer can create a Flow stream and keep funding it at the end of every month or in advance, for you to withdraw
your money.
The benefits outlined in the "Efficiency" section earlier apply equally to this use case, since traditional payroll
solutions, like vesting schemes, can be both labor-intensive and prone to errors.
### Grants
Grants are a powerful use case for Sablier, allowing for efficient, transparent, and flexible distribution of funds to
grant recipients.
:::info
Uniswap Governance used Sablier to distribute grant to DeFi Education Fund. You can find more details on it
[here](https://x.com/Sablier/status/1798010170133692730).
:::
#### 1. Transparency
Sablier enables real-time streaming of funds, ensuring transparency in how grants are distributed. Your stakeholders can
monitor the flow of funds, providing assurance that the money is being used as intended.
#### 2. Pay as they deliver
Instead of lump-sum payments, you can use Sablier to stream funds continuously over a specified period. This ensures
recipients have a steady cash flow and reduces the risk of mismanagement of funds. If a grant recipient stops working on
their project, you can cancel the stream and retrieve back the remaining funds.
#### 3. No Administrative Overhead
All streams through Sablier are automated, which means, you don't have to send funds manually at the end of every month.
---
## Airdrops (2)
:::note
You can refer to the [airdrop section](/concepts/use-cases#merkle-airdrops) of our use-cases page to learn more about
the benefits of streaming airdrops.
:::
There are three types of airdrop campaigns that you can setup using Sablier Merkle Airdrops.
## Instant Airdrop
Instant airdrops is the traditional way of running airdrops where there's no vesting period and tokens can instantly be
claimed by the recipients.
Eligible users receive airdrop tokens directly into their wallets at the claim time.
## Vested Airdrops
Vested airdrops are campaigns in which instead of airdropping the entirety of the token allocation all at once, airdrop
recipients receive a fraction of the tokens every second through a Sablier stream.
The gist of vested airdrops is that instead of airdropping the entirety of the tokens all at once, airdrop recipients receive
a fraction of the tokens every second through a token stream.
The beauty of it is that airdrop recipients are forced to think long-term and keep the project's future as their first
and foremost priority. They are forced to, because instead of receiving all the tokens at once, they receive them over
time in our user-friendly [vested airdrop interface](https://app.sablier.com/airdrops).
:::info
An airdrop campaign can have a claim window of a few days, months, or even years. Alternatively, they can have no
expiration. In case of vested airdrops, you could, for example, configure the airdrop of your new token to vest over years,
but the recipients get the streamed tokens only if a claim is made within that period of time.
:::
Vested airdrops not only create the right incentives for token holders, but also prevent them from dumping their tokens on
day one, as has been the case for many airdrops in the past.
There are two types of vested airdrop campaigns that you can create using Merkle Airdrop.
### Ranged
This either uses Lockup Linear model or Lockup Tranched model depending on whether you use `MerkleLL` or `MerkleLT` to
create the campaign. In ranged vested airdrop campaigns, the vesting begins for all the recipients at the same time. This
time had to be provided while creating the campaign.
### Non-Ranged
In non-ranged vested airdrop campaigns, the vesting begins at the time of claiming. In this case, all recipients can have
different start time for vesting depending on when they claim.
## White Label Solution
Sablier Labs does not currently offer any white label solutions for Merkle Airdrops. This means that you cannot have
your logo displayed in the claim page seen by the airstream recipients.
However, we are actively exploring implementing this feature. Fill out this form
and we will respond as soon as possible.
## How it Works
Thanks to our battle-tested token distribution protocol, you can create Airdrop campaigns for thousands of recipients in
a few clicks using our interface. Recipients and their airdropped allocations can be set by uploading a simple CSV
spreadsheet in the [user interface](https://app.sablier.com/airdrops).
The spreadsheet feature is the perfect fit for merkle airdrop campaigns: it allows you to upload a CSV file with tens of
thousands of recipients and the interface will let each of these recipients claim with ease. You can download a template
of the CSV file [here](https://files.sablier.com/templates/airstream-template.csv).
Another great advantage is that creating an airdrop campaign with thousands of recipients won't ruin you in terms of gas
fees. When launching a campaign, a contract is deployed only storing the merkle root. Thus, users pay the gas fee to
claim their airdrop. This is made possible by a data structure called Merkle Tree, which efficiently summarizes and
verifies the integrity of large sets of data.
:::info
The contracts that implement vested airdrop campaigns are called
[`MerkleLL`](/reference/airdrops/contracts/contract.SablierMerkleLL) and
[`MerkleLT`](/reference/airdrops/contracts/contract.SablierMerkleLT). If you are interested in instant airdrop
campaigns, the contract code can be found [here](/reference/airdrops/contracts/contract.SablierMerkleInstant).
:::
When you create an airdrop campaign, all you are doing is deploying a contract that allows for the recipients you put in
to prove that they are eligible, and create a stream if they are. That's all it is.
Additionally, you don't have to immediately fund the campaign contract. You can just create the contract and at a later
date fund it with the airdropped tokens.
**This has three great implications:**
1. **Recipients pay for the gas fees themselves to create the stream**, when they claim (the claim action creates the
stream). Creating a campaign with thousands of recipients would be incredibly costly if you had to pay for all the
gas fees.
2. **You keep full control over unclaimed Tokens**. If a recipient doesn't claim their airdrop, it's not created, and
you remain in full control over their allocation.
- This applies only if the campaign has an expiration date. If there is no expiration date, you can only clawback
during the grace period, and the recipients can claim their airdrop at any time in the future.
3. **You can retrieve your funds in case of misconfiguration**. There is a grace period during which you can retrieve
unclaimed funds. The grace period ends 7 days after the first claim is made. This is useful in case where you have
incorrectly configured the campaign or deposited more tokens than required.
Once the campaign is launched, recipients can claim their airdrop and withdraw the underlying tokens that have already
been streamed at any time using the Sablier Interface at [app.sablier.com](https://app.sablier.com).
## Diagram
If you want to have a detailed look into how these campaigns work at the contract level, you can head over to the
[Diagrams page](/reference/airdrops/diagrams).
---
## Supported Chains
<>
The Sablier Protocol is deployed on {keys(mainnets).length} mainnets and {keys(testnets).length} testnet EVM chains, although not all of these are supported by the
[Sablier Interface](https://app.sablier.com/).
>
:::tip Want to list your chain?
If you're interested in having Sablier deployed on your chain, fill out this form and our team will get back to you.
:::
## Mainnets
## Testnets
---
## NFTs
Both Lockup and Flow Protocols wrap every stream in an ERC-721 non-fungible token (NFT), making the stream recipient the
owner of the NFT. The recipient can transfer the NFT to another address, and this also transfers the right to withdraw
funds from the stream, including any funds already streamed.
## Lockup NFT
Sablier Lockup streams are represented as unique onchain generated hourglass SVGs, which change their color and content
based on user data. Here's an example for a stream that is 42.35% way through:
### Gallery of Multiple Sablier NFT SVGs
If you prefer the granularity of a blockchain explorer, you can also view the stream NFTs on
[Etherscan](https://etherscan.io/token/0xB10daee1FCF62243aE27776D7a92D39dC8740f95). See the
[Deployments](/guides/lockup/deployments) page for the full list of addresses.
## Flow NFT
Unlike Lockup streams, the first release of Flow streams are represented by Sablier Logo.
## Integrations
The transferability of the NFT makes Sablier streams tradable and usable as collateral in DeFi. Imagine an NFT lending
marketplace that allows users to borrow funds by locking their streams as collateral (effectively borrowing against
their future income). Or a decentralized exchange that allows users to trade streams for other tokens.
:::note
Not all Sablier streams are transferable. The stream creator can choose to make the stream non-transferable. You can
find more details on it in the [Transferability](/concepts/transferability) section.
:::
:::info
If you're interested in making an integration, please fill out this form and we
will try to respond as soon as possible.
:::
## Marketplaces
:::caution
Be careful when buying Lockup NFTs that represent cancelable stream. When these streams are canceled, the unstreamed
amount is returned to the sender.
:::
Thanks to adhering to the ERC-721 standard, Sablier streams can be traded and viewed on any NFT marketplace. Here are
some of the marketplaces that support Sablier streams:
- [OpenSea](https://opensea.io)
- [Blur](https://blur.io)
- [Rarible](https://rarible.com)
- [SuperRare](https://superrare.com)
- [LooksRare](https://looksrare.org)
## Caching
The SVG artwork is generated using certain real-time values, such as the current time on the blockchain. However, NFT
marketplaces cache the NFT metadata, and this may cause the SVGs might not always be up to date.
The Sablier Protocol triggers [ERC-4906](https://eips.ethereum.org/EIPS/eip-4906) events whenever there's an update in a
stream (for instance, when a withdrawal is made). However, some streams might remain unchanged for an extended period.
To ensure you're viewing the most recent version of the NFT SVG, it's recommended to check the stream directly via the
[Sablier Interface](https://app.sablier.com).
---
## Cancelability
## Lockup Streams
When creating a Lockup stream, users have the ability to set the stream as cancelable, or uncancelable.
If **cancelable**, the stream can be stopped at any time by the stream creator, with the unstreamed funds being returned
over to the stream creator.
**Example:** If you are using Sablier Lockup for Employee Token Vesting, and one of your employees leaves your company,
you can cancel the stream and get the tokens back which haven't yet been vested to the ex-employee at that specific
time. Any tokens vested out before that are obviously now owned by the recipient.
:::info
When a stream is canceled (stopped), there is no way to uncancel it (start it again). You will need to create a new
stream in that case.
:::
If **uncancelable**, there is no way to cancel the stream, and the recipient is guaranteed to receive the funds.
A cancelable stream can be set as uncancelable at any point in time by the stream creator. On the other hand, an
uncancelable stream cannot be set as cancelable by the stream creator.
Recipients do not have the ability to cancel a stream.
## Merkle Airdrop campaigns
If you have created a merkle campaign and made a mistake, you can recover the funds from the campaign that haven't yet
been claimed in the following cases:
- Before any user claimed from the campaign
- Up until 7 days after the first claim took place
- After the claim window ends (assuming it's enabled)
If you haven't set up a claim window, you can only recover the funds you deposited into the campaign up until 7 days
after the first claim took place, or as long as you like if there are no claims. Assuming there are claims, after the
7-day period passes, you will not have the ability anymore to recover the funds deposited into the campaign contract.
They will stay there forever until claimed by eligible recipients.
If you have set up a claim window, after the claim window ends, you have the ability to get the funds back which haven't
yet been claimed by that time.
:::important
It's important to mention that the airstreams created through the merkle campaigns can be set as cancelable, the above
points are related to the campaign itself, not the streams created through users claiming from the campaign.
**Example:** you create an Airstream campaign. You deposit 1000 USDC in it. You set up the streams as cancelable, but
there is no claim window. All eligible users claim from the campaign at the same time, and 8 days later, you realize you
made a mistake. While you cannot recover the funds through the campaign as the 7-day period has passed, you can cancel
the streams that were created and get the funds back which haven't been paid out at that specific time to the
recipients.
:::
### Ranged Airstreams
In case of Ranged Airstreams, the vesting begins and ends at the same time for all the recipients, provided by the
campaign creator.
If campaign creator wishes to cancel unclaimed Ranged Airstreams before the campaign expiry, the creator would have to
trigger claims on behalf of the recipients and then cancel the Lockup streams.
On the other hand, to cancel claimed Ranged Airstreams, campaign creator can simply cancel them through the Sablier
interface, provided they were set as cancelable during campaign launch.
### Non-Ranged Airstreams
For all the claimed Non-Ranged Airstreams, campaign creator can cancel them through the Sablier interface, provided they
were set as cancelable during campaign launch.
For all non-claimed Non-Ranged Airstreams, because the vesting does not begin until the user claims, campaign creator
can wait until the campaign expiry to recover the unclaimed funds.
## Flow Streams
Flow Streams do not offer the ability to cancel the stream. However, the stream creator can pause a Flow stream at any
time and resume it at any time making it a more flexible option for payments.
---
## Transferability
As you may know, all Sablier streams [are represented by NFTs](/concepts/nft). The NFT representing a stream is owned by
the stream recipient. Whoever owns the stream NFT becomes the stream recipient.
When creating the stream, users have the ability to set it as transferable or untransferable.
If transferable, recipients have the ability to transfer the NFT (meaning the stream) to another wallet. They have, by
extension, also the ability to, for example, sell it on an NFT marketplace, or borrow against it by using it as
collateral in an NFT lending protocol.
If untransferable, recipients do not have the ability to transfer the NFT (meaning the stream) to another wallet, and by
extension, do not have the ability to sell it on an NFT marketplace or borrow against it in an NFT lending protocol.
:::info
If you are using Sablier for vesting, and do not want your investors and/or employees to be able to exit their position
without the vesting being complete, you should set up the streams as untransferable.
:::
---
## Governance
The Protocol Admin is an account with exclusive access to specific functions. More concretely, the Admin is a collection
of multisig wallets and EOAs currently in control of Sablier Labs.
## Admins
Here's a table with the admins of the Sablier Protocol. Most of them are Safe multi-signature wallets.
| Chain | Address |
| :-------------- | :------------------------------------------------------------------------------------------------------------------------------- |
| Mainnet | [0x79Fb3e81aAc012c08501f41296CCC145a1E15844](https://etherscan.io/address/0x79Fb3e81aAc012c08501f41296CCC145a1E15844) |
| Abstract | [0xb1bEF51ebCA01EB12001a639bDBbFF6eEcA12B9F](https://abscan.org/address/0xb1bEF51ebCA01EB12001a639bDBbFF6eEcA12B9F) |
| Arbitrum One | [0xF34E41a6f6Ce5A45559B1D3Ee92E141a3De96376](https://arbiscan.io/address/0xF34E41a6f6Ce5A45559B1D3Ee92E141a3De96376) |
| Avalanche | [0x4735517616373c5137dE8bcCDc887637B8ac85Ce](https://snowtrace.io/address/0x4735517616373c5137dE8bcCDc887637B8ac85Ce) |
| Base | [0x83A6fA8c04420B3F9C7A4CF1c040b63Fbbc89B66](https://basescan.org/address/0x83A6fA8c04420B3F9C7A4CF1c040b63Fbbc89B66) |
| Blast | [0xb1bEF51ebCA01EB12001a639bDBbFF6eEcA12B9F](https://blastscan.io/address/0xb1bEF51ebCA01EB12001a639bDBbFF6eEcA12B9F) |
| BNB Smart Chain | [0x6666cA940D2f4B65883b454b7Bc7EEB039f64fa3](https://bscscan.com/address/0x6666cA940D2f4B65883b454b7Bc7EEB039f64fa3) |
| Chiliz | [0x74A234DcAdFCB395b37C8c2B3Edf7A13Be78c935](https://chiliscan.com/address/0x74A234DcAdFCB395b37C8c2B3Edf7A13Be78c935) |
| Core Dao | [0xb1bEF51ebCA01EB12001a639bDBbFF6eEcA12B9F](https://scan.coredao.org/address/0xb1bEF51ebCA01EB12001a639bDBbFF6eEcA12B9F) |
| Form | [0xb1bEF51ebCA01EB12001a639bDBbFF6eEcA12B9F](https://explorer.form.network/address/0xb1bEF51ebCA01EB12001a639bDBbFF6eEcA12B9F) |
| Gnosis | [0x72ACB57fa6a8fa768bE44Db453B1CDBa8B12A399](https://gnosisscan.io/address/0x72ACB57fa6a8fa768bE44Db453B1CDBa8B12A399) |
| HyperEVM | [0xb1bEF51ebCA01EB12001a639bDBbFF6eEcA12B9F](https://hyperevmscan.io/address/0xb1bEF51ebCA01EB12001a639bDBbFF6eEcA12B9F) |
| IoTeX | [0xb1bEF51ebCA01EB12001a639bDBbFF6eEcA12B9F](https://iotexscan.io/address/0xb1bEF51ebCA01EB12001a639bDBbFF6eEcA12B9F) |
| LightLink | [0xb1bEF51ebCA01EB12001a639bDBbFF6eEcA12B9F](https://phoenix.lightlink.io/address/0xb1bEF51ebCA01EB12001a639bDBbFF6eEcA12B9F) |
| Linea | [0x72dCfa0483d5Ef91562817C6f20E8Ce07A81319D](https://lineascan.build/address/0x72dCfa0483d5Ef91562817C6f20E8Ce07A81319D) |
| Mode | [0xb1bEF51ebCA01EB12001a639bDBbFF6eEcA12B9F](https://explorer.mode.network/address/0xb1bEF51ebCA01EB12001a639bDBbFF6eEcA12B9F) |
| Morph | [0xb1bEF51ebCA01EB12001a639bDBbFF6eEcA12B9F](https://explorer.morphl2.io/address/0xb1bEF51ebCA01EB12001a639bDBbFF6eEcA12B9F) |
| Optimism | [0x43c76FE8Aec91F63EbEfb4f5d2a4ba88ef880350](https://optimistic.etherscan.io/address/0x43c76FE8Aec91F63EbEfb4f5d2a4ba88ef880350) |
| Polygon | [0x40A518C5B9c1d3D6d62Ba789501CE4D526C9d9C6](https://polygonscan.com/address/0x40A518C5B9c1d3D6d62Ba789501CE4D526C9d9C6) |
| Scroll | [0x0F7Ad835235Ede685180A5c611111610813457a9](https://scrollscan.com/address/0x0F7Ad835235Ede685180A5c611111610813457a9) |
| Sei | [0xb1bEF51ebCA01EB12001a639bDBbFF6eEcA12B9F](https://seitrace.com/address/0xb1bEF51ebCA01EB12001a639bDBbFF6eEcA12B9F) |
| Sonic | [0xb1bEF51ebCA01EB12001a639bDBbFF6eEcA12B9F](https://sonicscan.org/address/0xb1bEF51ebCA01EB12001a639bDBbFF6eEcA12B9F) |
| Sophon | [0xb1bEF51ebCA01EB12001a639bDBbFF6eEcA12B9F](https://sophscan.xyz/address/0xb1bEF51ebCA01EB12001a639bDBbFF6eEcA12B9F) |
| Superseed | [0xb1bEF51ebCA01EB12001a639bDBbFF6eEcA12B9F](https://explorer.superseed.xyz/address/0xb1bEF51ebCA01EB12001a639bDBbFF6eEcA12B9F) |
| Taiko | [0xb1bEF51ebCA01EB12001a639bDBbFF6eEcA12B9F](https://taikoscan.io/address/0xb1bEF51ebCA01EB12001a639bDBbFF6eEcA12B9F) |
| Tangle | [0xb1bEF51ebCA01EB12001a639bDBbFF6eEcA12B9F](https://explorer.tangle.tools/address/0xb1bEF51ebCA01EB12001a639bDBbFF6eEcA12B9F) |
| Ultra | [0xb1bef51ebca01eb12001a639bdbbff6eeca12b9f](https://evmexplorer.ultra.io/address/0xb1bef51ebca01eb12001a639bdbbff6eeca12b9f) |
| Unichain | [0xb1bef51ebca01eb12001a639bdbbff6eeca12b9f](https://uniscan.xyz/address/0xb1bef51ebca01eb12001a639bdbbff6eeca12b9f) |
| zkSync Era | [0xaFeA787Ef04E280ad5Bb907363f214E4BAB9e288](https://era.zksync.network/address/0xaFeA787Ef04E280ad5Bb907363f214E4BAB9e288) |
## Lockup
Admin has the following permissions on each chain where `Lockup` is deployed:
| Permission | Function |
| ------------------ | ------------------------------------------------------------------------------------------------------- |
| Allow to Hook | [allowToHook](../reference/lockup/contracts/abstracts/abstract.SablierLockupBase#allowtohook) |
| Set NFT Descriptor | [setNFTDescriptor](../reference/lockup/contracts/abstracts/abstract.SablierLockupBase#setnftdescriptor) |
## MerkleFactory
Admin has the following permissions on each chain where `MerkleFactory` is deployed:
| Permission | Function |
| ---------------- | ---------------------------------------------------------------------------------------------- |
| Reset Custom Fee | [resetCustomFee](../reference/airdrops/contracts/contract.SablierMerkleFactory#resetcustomfee) |
| Set Custom Fee | [setCustomFee](../reference/airdrops/contracts/contract.SablierMerkleFactory#setcustomfee) |
| Set Default Fee | [setDefaultFee](../reference/airdrops/contracts/contract.SablierMerkleFactory#setdefaultfee) |
## Flow
Admin has the following permissions on each chain where `Flow` is deployed:
| Permission | Function |
| ------------------------ | --------------------------------------------------------------------------------------------------------------- |
| Collect Protocol Revenue | [collectProtocolRevenue](../reference/flow/contracts/abstracts/abstract.SablierFlowBase#collectprotocolrevenue) |
| Recover ERC20 token | [recover](../reference/flow/contracts/abstracts/abstract.SablierFlowBase#recover) |
| Set NFT Descriptor | [setNFTDescriptor](../reference/flow/contracts/abstracts/abstract.SablierFlowBase#setnftdescriptor) |
| Set Protocol Fee | [setProtocolFee](../reference/flow/contracts/abstracts/abstract.SablierFlowBase#setprotocolfee) |
## Trustlessness
Despite having an admin, the Sablier Protocol remains trustless. Here's why:
1. The protocol is permissionless, i.e. it can be freely accessed by anyone with an Internet connection.
2. The protocol is persistent, i.e. the admin cannot pause it.
3. The streaming logic is non-upgradeable, i.e. the admin cannot tamper with the streams created by users.
4. There are no escape hatches that allow the admin to claim user funds.
5. There is a hard-coded upper limit of 10% to the fees that the admin can charge.
## Timelocks
The parameter changes that can be effected are NOT subject to a timelock. This means that the admin can execute any of
the functions listed above at any time.
## Governance
As a startup, Sablier has to deal with uncertainty regarding:
1. Protocol-market fit
2. Smart contract security
Attaining success in these areas is no easy feat, and as such, decentralizing the protocol's governance will not be an
initial priority.
Nonetheless, we believe that progressive decentralization is the most effective approach to scaling a smart contract
protocol. As the protocol matures, we will decentralize its governance incrementally.
---
## Fees
During the course of using Sablier, you may encounter up to three different types of fees:
[Interface Fees](#interface-fees), [Contract Fees](#contract-fees), and [Gas Fees](#gas-fees). Each of these fees may go
to a different party. Below you can see a breakdown of how each fee is calculated and who receives it.
## Interface Fees
The Sablier Interface charges a flat fee for certain operations. This fee is paid in the native gas token, i.e. in ETH
for streams on Ethereum, and in POL for streams on Polygon.
The fee amount is calculated based on market prices. For example, when ETH is $4000, a $1 fee is 0.00025 ETH.
:::tip[For Senders]
Interface Fees can be subsidized - the person creating the stream or airdrop can choose to cover the fees that would normally be charged to recipients.
If you're interested in subsiding fees for your users, please contact us to discuss your specific requirements.
:::
### Stream Withdrawals
The Sablier Interface charges a flat fee each time you withdraw from a stream. This applies to both Lockup and Flow
streams.
:::info[What is the withdraw fee?]
The fee is **$1** (in the gas token) regardless of the withdraw amount.
:::
The fee applies only to streams created via Lockup v2.0 (or later) and Flow v1.1 (or later). You do not pay this fee for
withdrawing from streams created using earlier releases.
### Airdrop Claims
The Sablier Interface charges a flat fee when you claim an airdrop.
:::info[What is the claim fee?]
The fee is **$2** (in the gas token) per claim, regardless of the airdrop amount.
:::
The fee applies only to airdrops created via Merkle Airdrops v1.3 (or later). Claims from airdrops created with earlier
versions do not incur any claim fee.
### Timeline for Interface Fees
| Product | Timeline | Operation | Fee |
| -------- | -------------------------- | ------------- | --- |
| Airdrops | Apr 10, 2025 - present | Airdrop claim | $2 |
| Lockup | Feb 3, 2025 - present | Withdraw | $1 |
| Flow | Feb 3, 2025 - present | Withdraw | $1 |
| Airdrops | Feb 3, 2025 - Apr 10, 2025 | Airdrop claim | $3 |
| Airdrops | Dec 18, 2023 - Feb 2, 2025 | Airdrop claim | 0 |
| Lockup | Jul 3, 2023 - Feb 2, 2025 | Withdraw | 0 |
| Flow | Dec 4, 2024 - Feb 2, 2025 | Withdraw | 0 |
## Contract Fees
As opposed to the Interface fees, the contract fees are charged by the Sablier contracts themselves. They apply
regardless of the interface used to interact with the Sablier Protocol.
This fee is charged via the `msg.value` field. Basically, for the contract to accept a transaction, the `msg.value` must
be greater than or equal to the fee.
:::warning
The Contract Fee acts as a **minimum fee**, so it is NOT cumulative with the Interface Fee. You will pay the higher of
the two fees.
:::
### MerkleFactory
The ONLY contracts that can charge fees in Sablier are the `MerkleFactory` contract and the airdrop contracts it
deploys.
The [Protocol Admin](/concepts/governance/) can update the fee in the
[`MerkleFactory`](/reference/airdrops/contracts/contract.SablierMerkleFactory) contract. However, the new fee applies
only to airdrops created after the update. The fee values in the individual airdrop contracts remain immutable once set.
Like the Interface fee, this fee is paid in the native gas token, e.g., ETH on Ethereum, POL on Polygon.
The fee can only be applied to airdrops created with [Merkle Airdrops v1.3](/guides/airdrops/deployments) (or later).
Airdrop campaigns created with earlier versions do not incur any claim fee.
:::info[What is the fee?]
The fee is ~**$1** (in the gas token) per claim, regardless of the airdrop amount.
:::
| Chain | Gas Token | Fee | Fee in Wei |
| ------------- | --------- | ---------------- | ------------------- |
| Ethereum | ETH | 0.00036 ETH | 360000000000000 |
| Abstract | ETH | 0.00036 ETH | 360000000000000 |
| Arbitrum | ETH | 0.00036 ETH | 360000000000000 |
| Avalanche | AVAX | 0.038491147 AVAX | 38491147000000000 |
| Base | ETH | 0.00036 ETH | 360000000000000 |
| Berachain | BERA | 0.15385 BERA | 153850000000000000 |
| Blast | ETH | 0.00036 ETH | 360000000000000 |
| BNB Chain | BNB | 0.0017620835 BNB | 1762083500000000 |
| Chiliz | CHZ | 9.29 CHZ | 9290000000000000000 |
| Form | ETH | 0 ETH | 0 |
| Gnosis | XDAI | 1 XDAI | 1000000000000000000 |
| IoTeX | IOTX | 0 IOTX | 0 |
| LightLink | ETH | 0 ETH | 0 |
| Linea | ETH | 0.00036 ETH | 360000000000000 |
| Mode | ETH | 0.00036 ETH | 360000000000000 |
| Morph | ETH | 0.00036 ETH | 360000000000000 |
| Optimism | ETH | 0.00036 ETH | 360000000000000 |
| Polygon | POL | 3.1897926635 POL | 3189792663500000000 |
| Scroll | ETH | 0.00036 ETH | 360000000000000 |
| Sei | SEI | 0 SEI | 0 |
| Sonic | S | 0 S | 0 |
| Sophon | SOPH | 0 SOPH | 0 |
| Superseed | ETH | 0.00036 ETH | 360000000000000 |
| Taiko Mainnet | ETH | 0.00036 ETH | 360000000000000 |
| Tangle | TNT | 0 TNT | 0 |
| Ultra | UOS | 0 UOS | 0 |
| Unichain | ETH | 0 ETH | 0 |
| zkSync Era | ETH | 0.00036 ETH | 360000000000000 |
## Gas Fees
[Gas fees](https://investopedia.com/terms/g/gas-ethereum.asp) are transaction fees paid to the blockchain validators in
the native token of the network, e.g., ETH for Ethereum Mainnet.
Gas is paid only when streams are created, canceled, transferred, or withdrawn from. Gas does not accrue in real-time.
Importantly, Sablier Labs does not take any cut from the gas fee. 100% of the gas fee goes to the blockchain network
validators, which are not affiliated with Sablier Labs.
## Fee Subsidization
Interface and contract fees can be subsidized, partially or fully, by the sender in certain cases. This means that the person creating the stream or airdrop can choose to cover the fees that would normally be charged to the recipient. Note that the gas fees cannot be subsidized as they are paid to the blockchain network validators on every transaction.
If you're interested in subsiding fees for your users, please [contact us](https://docs.google.com/forms/d/e/1FAIpQLSdqkcRjXl3urdE_yiT55itkcEX5LC4CM4HsNhjJbXB_CNMMjg/viewform) to discuss your specific requirements.
## FAQ
### Q: How are the Interface Fees charged?
A: They are added to the gas fee. For example, if the gas fee is \$10 and the Interface Fee is \$1, you would pay \$11
in total (the payment is taken in the gas token, e.g., ETH).
### Q: Are the Interface Fees and the Contract Fees cumulative?
A: No. The Contract Fee acts as a **minimum fee**, so it will not get added to the Interface Fee. You will pay the
higher of the two fees.
### Q: Does the Stream Withdrawal Fee apply to each withdrawal?
A: Yes, unless they are subsidized by the sender. The fee is charged each time you withdraw from a stream. For example, if you withdraw from a stream 10 times,
you will pay $10 in fees.
### Q: Can the Interface Fees and the Contract Fees be subsidized?
A: Yes, they can be subsidized by the stream sender or the airdrop creator. Please [contact us](https://docs.google.com/forms/d/e/1FAIpQLSdqkcRjXl3urdE_yiT55itkcEX5LC4CM4HsNhjJbXB_CNMMjg/viewform) to discuss your specific requirements.
:::tip
We provide gas benchmarks for the [Lockup](/guides/lockup/gas-benchmarks) and [Flow](/guides/flow/gas-benchmarks)
contracts.
:::
---
## Security
Ensuring the security of the Sablier Protocol is our utmost priority. We have dedicated significant efforts towards the
design and testing of the protocol to guarantee its safety and reliability.
The Sablier contracts have undergone rigorous audits by leading security experts from [Cantina](https://cantina.xyz/),
[CodeHawks](https://codehawks.cyfrin.io/), and many independent auditors. For a comprehensive list of all audits
conducted, check out [the audit repo](https://github.com/sablier-labs/audits/).
## Lockup Audits
All the audits of Lockup contracts can be found [here](https://github.com/sablier-labs/audits/blob/main/lockup).
## Merkle Airdrops Audits
All the audits of Merkle Airdrops contracts can be found
[here](https://github.com/sablier-labs/audits/tree/main/airdrops).
## Flow Audits
All the audits of Lockup contracts can be found [here](https://github.com/sablier-labs/audits/blob/main/flow).
## Bug Bounty
The details of the bug bounty program can be found [here](https://sablier.notion.site/bug-bounty).
:::info
The bounty is up to $100,000 for reporting critical vulnerabilities.
:::
---
## Glossary
## Broker
A third-party entity that interacts with the Sablier Protocol on behalf of its users, who may charge service fees for
facilitating these interactions.
## Broker Fee
The fee collected, in streaming tokens, by the broker upon creating a stream for their users.
## Claim Fee
The minimum fee, in native tokens, required for claiming an airdrop from a Merkle Airdrop campaign.
## DeFi
Short for Decentralized Finance: an ecosystem of financial applications and services built on blockchain networks,
primarily Ethereum, that leverage smart contracts to enable trustless, permissionless, and transparent financial
transactions without relying on traditional intermediaries like banks or financial institutions.
## ERC-20
[ERC-20][erc-20] tokens are fungible tokens on Ethereum. Sablier supports all standard ERC-20 implementations, including
those with the
[missing return value bug](https://medium.com/coinmonks/missing-return-value-bug-at-least-130-tokens-affected-d67bf08521ca).
## ERC-721
[ERC-721][erc-721] tokens are non-fungible tokens ("NFTs") on Ethereum. Both Lockup and Flow streams are represented as
NFTs.
## Ethereum
A global, open-source platform for decentralized applications.
## Ethereum Virtual Machine
The technical architecture of Ethereum, which many other blockchains have appropriated.
## Flow
A term coined by us for our debt tracking protocol that tracks tokens owed between two parties, enabling open-ended
token streaming.
### Covered debt
The amount of tokens that can be withdrawn by the recipient.
### Flow Protocol
Smart contracts that are considered foundational, and are essential for Flow streams to exist. Upgrading to a new
version of Flow would require deploying an entirely new set of smart contracts, and would be considered a new version of
the Flow protocol.
### Rate Per Second
The amount of tokens that are streamed per second in a Flow stream.
### Status
A Flow stream can have one out of six possible statuses:
1. NULL
1. PAUSED_INSOLVENT
1. PAUSED_SOLVENT
1. STREAMING_INSOLVENT
1. STREAMING_SOLVENT
1. VOIDED
### Uncovered debt
The amount of tokens that sender owes to the stream.
## Foundry
[Foundry][foundry] is the application development toolkit that has been used to develop the Sablier Protocol.
## Gas Fee
[Gas fees](https://www.investopedia.com/terms/g/gas-ethereum.asp) are transaction fees paid to the blockchain validators
in native tokens such as ETH. Sablier Labs does not take any cut from this.
Gas is paid only when streams are created, canceled, transferred, or withdrawn from. It does not accrue in real-time.
## Lockup
A term coined by us to refer to the requirement of locking up tokens in order to create a stream.
### Allow List
A list of smart contract recipients that are authorized to be run by the Lockup protocol upon withdraw and cancel.
The stream itself is represented as an NFT (ERC-721).
### Cliff Time
The cut-off point for releasing tokens. Prior to the cliff, the recipient cannot withdraw, though tokens continue to
accrue in the stream.
### Distribution Model
A distribution model represents the streaming function used to create lockup streams. There are three types of models
supported by the Lockup protocol:
1. Linear
2. Dynamic
3. Tranched
### Dynamic Model
A Lockup [distribution model](#distribution-model) with a streaming rate per second that can vary over time.
### End Time
The time when a stream is scheduled to end.
### Linear Model
A Lockup [distribution model](#distribution-model) with a constant streaming rate per second.
### Lockup Protocol
Smart contracts that are considered foundational, and are essential for Lockup streams to exist. Upgrading to a new
version of Lockup would require deploying an entirely new set of smart contracts, and would be considered a new version
of the Lockup protocol.
### Monotonicity
A protocol invariant that states that the total amount of tokens released by the stream can only increase over time and
never decrease.
### Renounce
A renounced stream is a stream that cannot be canceled anymore.
### Segment
A data object that encapsulates these three properties:
1. Amount
2. Exponent
3. Timestamp
Segments are an essential component of Dynamic [distribution model](#distribution-model), as they facilitate the
calculation of the custom streaming curve.
##3 Start time
The time when a stream is scheduled to start.
### Status
A Lockup stream can have one out of six possible statuses:
1. NULL
2. PENDING
3. STREAMING
4. SETTLED
5. CANCELED
6. DEPLETED
### Timestamp
Lockup timestamp represents start time and end time.
### Tranche
A data object that encapsulates these two properties:
1. Amount
2. Timestamp
Tranches are an essential component of Tranched [distribution model](#distribution-model), as they facilitate the
calculation of the custom streaming curve.
### Tranched Model
A Lockup [distribution model](#distribution-model) with a streaming in discrete tranches.
### Unlock Amounts
A data object that encapsulates amounts to be unlocked at the start of the stream and at the cliff of the stream.
### Vesting Math
[A public library](/reference/lockup/contracts/libraries/library.VestingMath) used by the Lockup protocol to calculate
the amount of vested tokens at any given time.
## Merkle Airdrop
An onchain distribution of tokens that employs a Merkle tree data structure to perform airdrop eligibility checks.
## Merkle Tree
Aa data structure used to store hashes of the recipients airdrop allocations in Merkle Airdrop Campaigns.
## PRBMath
[PRBMath][prb-math] is fixed-point arithmetic library used by the Sablier Protocol for precise calculations.
## Protocol Admin
An entity with exclusive access to specific functions of the protocol.
## Real-time finance
A term coined by us in 2019 to emphasize the wide-ranging use cases for the Sablier Protocol.
Since the withdrawable amounts in streams are updated every second, they embody the concept of real-time financial
transactions.
## Stream
A new financial primitive that permits by-the-second payments.
Currently, Sablier offers two distribution protocols called Lockup and Flow. In Lockup, the creator has to lock up a
specified amount of tokens, whereas in Flow, creator is not required to lock up any amount of tokens.
## Streaming
By-the-second payments.
## Token
Digital tokens can exist in various forms, but the Sablier Protocol exclusively supports the streaming of ERC-20 tokens.
## Vesting
One of the most popular use cases for streaming today.
The purpose of vesting is to delay gratification. Founders, investors, and employees must wait a certain amount of time
before being able to access tokens.
## Withdraw Fee
The fee collected, in native tokens, by the Sablier interface for withdrawing from streams.
[erc-20]: https://eips.ethereum.org/EIPS/eip-20
[erc-721]: https://eips.ethereum.org/EIPS/eip-721
[foundry]: https://github.com/foundry-rs/foundry
[prb-math]: https://github.com/PaulRBerg/prb-math
---
## Overview (10)
Flow is a debt tracking protocol that tracks tokens owed between two parties, enabling indefinite token streaming. A
Flow stream is characterized by its rate per second (rps). The relationship between the amount owed and time elapsed is
linear and can be defined as:
```math
\text{amount owed} = rps \cdot \text{elapsed time}
```
The Flow protocol can be used in several areas of everyday finance, such as payroll, distributing grants, insurance
premiums, loans interest, token ESOPs etc. If you are looking for vesting and airdrops, please refer to our
[Lockup](../lockup/overview) protocol.
## Features
1. **Flexible deposit:** A stream can be funded with any amount, at any time, by anyone, in full or in parts.
2. **Flexible duration:** A stream can be created with no specific start or end time. It can run indefinitely.
3. **Pause:** A stream can be paused by the sender and can later be restarted without losing track of previously accrued
debt.
4. **Refund:** Unstreamed amount can be refunded back to the sender at any time.
5. **Void:** Voiding a stream implies it cannot be restarted anymore. Voiding an insolvent stream forfeits the uncovered
debt. Either party can void a stream at any time.
6. **Withdraw:** it is publicly callable as long as `to` is set to the recipient. However, a stream’s recipient is
allowed to withdraw funds to any address.
## Key Definitions
The definitions below will help you understand some terms used in Sablier Flow:
## Open-Ended Streams
Open-ended streams on Sablier are token streams without a predefined end date. They continue indefinitely until voided
by the sender.
Key traits:
- No end time: the stream has a start date but no fixed stop.
- Funds are streamed continuously at a fixed rate per second.
- Stream must be topped up periodically to maintain solvency,
[debt is otherwise accumulated](/concepts/flow/overview#total-debt).
- Useful for ongoing payments like salaries, grants, or subscriptions.
### Stream balance
Stream balance is the token balance of a stream. It increases when funds are deposited into a stream, and decreases when
the sender refunds from it or when a withdrawal happens.
### Total debt
Total debt is the amount of tokens owed to the recipient. This value is further divided into two sub-categories:
- **Covered debt:** The part of the total debt that covered by the stream balance. This is the same as the
**withdrawable amount**, which is an alias.
- **Uncovered debt:** The part of the total debt that is not covered by the stream balance. This is what the sender owes
to the stream.
```math
\text{total debt} = \text{covered debt} + \text{uncovered debt}
```
### Snapshot debt and Snapshot time
A snapshot is an event during which snapshot debt and snapshot time of a Flow stream are updated. **Snapshot debt** is
the debt accumulated until the previous snapshot. The UNIX timestamp at which snapshot debt is updated is called
**Snapshot time**.
At snapshot, the following operations are taking place:
```math
\text{snapshot debt} = \text{previous snapshot debt} + \underbrace{
rps \cdot (\text{block.timestamp} - \text{snapshot time})}_\text{ongoing debt}
```
```math
\text{snapshot time} = \text{block.timestamp}
```
### Ongoing debt
Ongoing debt is the debt accumulated since the previous snapshot. It is calculated as the following:
```math
\text{ongoing debt} = rps \cdot (\text{block.timestamp} - \text{snapshot time})
```
Therefore, at any point in time, total debt can also be defined as:
```math
\text{total debt} = \text{snapshot debt} + \text{ongoing debt}
```
## Lifecycle
1. A Flow stream is created with an `rps`, a `sender` and a `recipient` address.
2. During the lifecycle of the stream, all the functions enclosed inside the rectangle (diagram below) can be called any
number of times. There are some limitations though, such as `restart` can only be called if the stream is `paused`.
3. Any party can call `void` to terminate it. Only withdraw and refund are allowed on a voided stream.
```mermaid
flowchart TD
subgraph "Stream Lifecycle"
direction TB
NULL
subgraph ACTIVE
direction TB
adjustRatePerSecond
deposit
pause
refund
restart
void
withdraw
restart --> pause
pause --> restart
end
subgraph VOID
withdraw2(withdraw)
refund2(refund)
end
end
NULL -- create() --> ACTIVE
```
---
## Statuses
# Stream Statuses
A Flow stream can have one of five distinct statuses:
| Status | Description |
| --------------------- | ----------------------------------------------------------------------------------- |
| `STREAMING_SOLVENT` | Active stream with total debt not exceeding stream balance. |
| `STREAMING_INSOLVENT` | Active stream with total debt exceeding stream balance. |
| `PAUSED_SOLVENT` | Paused stream with total debt not exceeding stream balance. |
| `PAUSED_INSOLVENT` | Paused stream with total debt exceeding stream balance. |
| `VOIDED` | Paused stream that can no longer be restarted and has forfeited its uncovered debt. |
## Stream characteristics
A stream can have the following characteristics:
| Characteristic | Statuses | Description |
| :------------- | :---------------------------------------------- | :------------------------------------------------------ |
| Streaming | `STREAMING_SOLVENT`, `STREAMING_INSOLVENT` | Non-zero rps. |
| Paused | `PAUSED_SOLVENT`, `PAUSED_INSOLVENT`, `VOIDED` | Zero rps. |
| Solvent | `STREAMING_SOLVENT`, `PAUSED_SOLVENT`, `VOIDED` | Total debt not exceeding the stream balance. |
| Insolvent | `STREAMING_INSOLVENT`, `PAUSED_INSOLVENT` | Total debt exceeding the stream balance. |
## State transitions
The following diagram illustrates the statuses and the allowed transitions between them:
```mermaid
flowchart LR
N(NULL)
V(VOIDED)
subgraph PAUSED
direction RL
PS(SOLVENT)
PI(INSOLVENT)
PI -- "deposit" --> PS
end
subgraph STREAMING
direction LR
SS(SOLVENT)
SI(INSOLVENT)
SI -- "deposit" --> SS
SS -- "time" --> SI
end
STREAMING -- pause --> PAUSED
STREAMING -- void --> V
PAUSED -- restart --> STREAMING
PAUSED -- void --> V
N -- create (rps > 0) --> STREAMING
N -- create (rps = 0) --> PAUSED
```
## Functions Statuses Interaction
### NULL stream
```mermaid
flowchart LR
CR[CREATE] --> NULL((NULL))
```
### STREAMING stream
```mermaid
flowchart TD
STR((STREAMING))
ADJRPS[ADJUST_RPS] --> STR
DP[DEPOSIT] --> STR
RFD[REFUND] --> STR
PS[PAUSE] --> STR
VD[VOID] --> STR
WTD[WITHDRAW] --> STR
```
### PAUSED stream
```mermaid
flowchart TD
PSED((PAUSED))
DP([DEPOSIT]) --> PSED
RFD([REFUND]) --> PSED
RST([RESTART]) --> PSED
VD([VOID]) --> PSED
WTD([WITHDRAW]) --> PSED
```
### VOIDED stream
```mermaid
flowchart LR
VOID((VOIDED))
RFD([REFUND]) --> VOID
WTD([WITHDRAW]) --> VOID
```
## Q&A
### Q: What is a null stream?
A: An ID that does not reference a created stream. Trying to interact with a null stream will result in a revert.
### Q: What to do with a stream status?
A: Knowing the status of a stream can inform your decision making. For example, if a stream is `STREAMING_INSOLVENT`,
that means the stream is active but has insufficient balance. As a sender, you should deposit into the stream so that
your recipient can withdraw the streamed amount without any hiccups. And if you don't want to continue the stream, you
can pause it.
### Q: Who can make a stream `VOIDED`?
A: Both sender and recipient can void the stream. This is especially useful when either party wants to stop the stream
immediately. Once a stream is voided, it cannot be restarted. If there is uncovered debt, it will be reset to 0. So to
ensure that your recipient does not lose on any streamed amount, you can deposit into the stream before voiding it.
---
## Overview (11)
Lockup is a token streaming protocol that refers to the requirement that the creator of a stream must lock up a certain
amount of tokens in a smart contract. A Lockup stream, therefore, is characterized by the start time, end time, amount
of tokens to be streamed and a [stream shape](./02-stream-shapes.mdx).
Let's take an example. Imagine Alice wants to stream 3000 DAI to Bob during the whole month of April.
1. Alice deposits the 3000 DAI in Lockup before Apr 1, setting the end time to May 1.
2. Bob's allocation of the DAI deposit increases every second beginning Apr 1.
3. On Apr 10, Bob will have earned approximately 1000 DAI. He can send a transaction to Lockup to withdraw the tokens.
4. If at any point during April Alice wishes to get back her tokens, she can cancel the stream and recover what has not
been streamed yet.
This streaming model is especially useful for use cases like vesting and airdrops. If you are looking to create an
indefinite stream of tokens, please refer to our [Flow](../flow/overview) protocol.
Lockup enables multiple distribution models, a feature that is discussed in the next section.
---
## Stream Shapes
:::note
- The code used to generate the gas benchmarks for the different stream curves can be found
[here](https://github.com/sablier-labs/examples/tree/shapes-benchmark).
- If you are interested in learning how to programmatically create the curves shown below in Solidity, check out the
[examples](https://github.com/sablier-labs/examples/blob/main/lockup/) repository and the "CurvesCreator" files.
:::
## Lockup Linear
### Linear
Lockup Linear streams are the simplest token distribution curve in Sablier. The streamed amount over time follows a
straight line that goes up and to the right on a graph, which corresponds to the identity function $f(x) = x$:
With this shape of stream, the payment rate remains constant, meaning that the same fraction of the deposit amount is
streamed to the recipient every second. This provides greater predictability and is easy to understand because of how
intuitive it is. Imagine a diagonal line going up and to the right – that's how simple it is.
:::info
The gas cost to create this shape is approximately _168,923_ on Mainnet. This may vary due to multiple factors.
:::
### Initial Unlock
The Unlock Linear shape combines an initial immediate release of tokens with a steady, linear payout over time. This
shape is ideal for employment contracts that include a signing bonus along with a regular payout schedule.
At the beginning of the stream, a fixed amount of tokens is instantly available to the recipient — this is your "signing
bonus". Following this, the remaining tokens begin to stream continuously at a consistent rate until the end of the
contract term — this is your "salary".
Another use case is a token distribution to investors where a particular amount gets unlocked immediately followed by a
linear vesting plan.
:::info
The gas cost to create this shape is approximately _191,182_ on Mainnet. This may vary due to multiple factors.
:::
### Cliff Unlock
It is possible to attach a "cliff" to a Lockup Linear stream, which sets a cut-off point for releasing tokens. Prior to
the cliff, the recipient cannot withdraw any tokens, but the stream continues to accrue them. After the cliff, the
constant payment rate per second kicks in.
This feature is especially useful for vesting ERC-20 tokens as it allows you to have, for example, a 1-year cliff, and
then 3 additional years of linear streaming. If the stream is for an employee, you can make it cancellable so that if
the employee leaves your company during the stream, you can cancel it and recover the tokens that have not yet been
streamed.
:::info
The gas cost to create this shape is approximately _213,708_ on Mainnet. This may vary due to multiple factors.
:::
### Initial Cliff Unlock
This shape is useful for companies who want to distribute tokens to their investors using a cliff followed by linear
vesting but also want to unlock some liquidity at the beginning to be able to allow investors to bootstrap AMM pools.
Initially, a set amount of tokens are made available to the recipient as an upfront payment. After this initial unlock,
the tokens are held during the cliff period until the moment of time set. The release resumes in a linearly post-cliff.
:::info
The gas cost to create this shape is approximately _214,067_ on Mainnet. This may vary due to multiple factors.
:::
## Lockup Dynamic
Lockup Dynamic streams are what makes Sablier so unique, since they enable the creation of an arbitrary streaming curve,
including non-linear curves.
On the Sablier Interface, we support only some distribution shapes (the ones enumerated below), but the potential for
innovation is limitless when you interact programmatically with the contracts. For example, one could design a
logarithmic stream that emulates the $f(x) = log(x)$ function.
These streams are powered by a number of user-provided [segments](/concepts/lockup/segments), which we will cover in the
next article. What is important to note here is that with Lockup Dynamic, Sablier has evolved into a universal streaming
engine, capable of supporting any custom streaming curve.
### Exponential
A fantastic use case for Lockup Dynamic is Exponential streams, a shape through which the recipient receives
increasingly more tokens as time passes.
Exponentials are a great fit if you are looking to airdrop tokens, because your community members will receive the
majority of the tokens towards the end of the stream instead of receiving the tokens all at once (no streaming) or in a
linear fashion (Lockup Linear). This incentivizes long-term behavior and a constructive attitude.
:::info
The gas cost to create this shape is approximately _219,629_ on Mainnet. This may vary due to multiple factors.
:::
### Cliff Exponential
Another use case for Lockup Dynamic is a variation of the previous design: an Cliff Exponential.
The stream starts with a cliff (which can be how long you want), a specific amount instantly unlocked when the cliff
ends, and then the rest of the stream is exponentially streamed.
This is an excellent distribution if you are a company looking to set up a token vesting plan for your employees. Your
employees will have an incentive to remain with your company in the long run, as they will receive an increasingly
larger number of tokens.
:::info
The gas cost to create this shape is approximately _274,420_ on Mainnet. This may vary due to multiple factors.
:::
## Lockup Tranched
Lockup Tranched streams are, as the name says, streams that have token unlocks in tranches. Even though you can use
Lockup Dynamic to create a traditional vesting structure with periodic unlocks, Lockup Tranched is specifically design
for that use case. As a result, a stream with tranches created using Lockup Tranched is more gas efficient than the same
stream created using Lockup Dynamic.
These streams are powered by a number of user-provided [tranches](/concepts/lockup/tranches), which is covered in the
tranches article.
### Unlock in Steps
You can use Lockup Tranched to create a traditional vesting contract with periodic unlocks. In this case, the
"streaming" rate would not be by the second, but by the week, month, or year.
After each period, a specific amount becomes unlocked and available for the recipient to withdraw. Past unlocks
accumulate, so if the recipient doesn't withdraw them, they will be able to withdraw them later.
The advantage of using Unlock in Steps instead of a normal vesting contract is that Sablier automates the entire
process. No more worries about setting up vesting contracts or creating a user interface for your investors to claim
their tokens.
:::info
The gas cost to create this shape is approximately _299,268_ on Mainnet for four unlocks. This may vary as there are
multiple factors to consider.
:::
### Unlock Monthly
Unlock Monthly is a special case of Unlock in Steps where tokens are unlocked on the same day every month, e.g. the 1st
of every month. This is suited for use cases like traditional monthly salaries or ESOPs plans.
[
1 + Math.floor(i / 2),
10 * Math.floor(i / 2) + (i % 2 === 1 ? 10 : 0),
]),
},
],
}}
/>
Each month, on a particular day, a specific amount of tokens becomes unlocked and available for withdrawal. Like Unlock
in Steps, unwithdrawn tokens will carry over to the next period, providing flexibility and control to the recipient.
This shape is ideal for employers who wish to set up advanced payment schedules for their employees, offering them
access to funds on a predictable, monthly basis.
:::info
The gas cost to create this shape is approximately _511,476_ on Mainnet for a period of exactly **one year**. This may
vary as there are multiple factors to consider.
:::
### Backweighted
Backweighted is a type of tranched vesting curve where the tokens are vested in a backweighted way, meaning little vests early on, and large chunks vest towards the end.
Example for a 4-year vesting schedule:
- Year 1: 10% vests
- Year 2: 20% vests
- Year 3: 30% vests
- Year 4: 40% vests
This makes it a particularly good fit for recipients that need to be particularly incentivized on a long-term perspective, as they receive progressively more and more tokens as the stream gets closer to its end date.
### Timelock
The Timelock shape locks all tokens for a specified period. Users cannot access the tokens until the set period elapses.
Once the set period elapses, the full amount becomes accessible to the recipient. This setup is particularly
advantageous for projects seeking to stabilize token pricing and minimize market volatility, encouraging investors to
maintain their stake over a more extended period.
:::info
The gas cost to create this shape is approximately _219,700_ on Mainnet. This may vary due to multiple factors.
:::
---
## Segments (2)
## Definition
A Dynamic stream is composed of multiple segments, which are separate partitions with different streaming amount and
rates. The protocol uses these segments to enable custom streaming curves, which power exponential streams, cliff
streams, etc.
Technically, a segment is a [struct](/reference/lockup/contracts/types/library.LockupDynamic#segment) with three fields:
| Field | Type | Description |
| :-------- | :-------- | :--------------------------------------------------------------------------------------------- |
| Amount | `uint128` | The amount of tokens to be streamed in this segment, denoted in units of the token's decimals. |
| Exponent | `UD2x18` | The exponent of this segment, denoted as a fixed-point number. |
| Timestamp | `uint40` | The Unix timestamp indicating this segment's end. |
Each segment has its own streaming function:
$$
f(x) = x^{exp} * csa
$$
Therefore, the distribution function of a dynamic stream becomes:
$$
f(x) = x^{exp} * csa + \Sigma(esa)
$$
Where:
- $x$ is the elapsed time divided by the total time in the current segment.
- $exp$ is the current segment exponent.
- $csa$ is the current segment amount.
- $\Sigma(esa)$ is the sum of all elapsed segments' amounts.
:::info
Segments can be used to represent any monotonic increasing function.
:::
:::caution
Because x is a percentage, the payment rate is inversely proportional to the exponent. For example, if the exponent is
0.5, the rate is quadratically faster compared to the baseline when the exponent is 1.
Conversely, if the exponent is 2, the rate is quadratically slower compared to baseline.
:::
## Requirements
- The sum of all segment amounts must equal the deposit amount.
- There is a limit to how many segments there can be in a stream as enforced by the block gas limit.
- If someone creates a stream with an excessively large number of segments, the transaction would revert as it
wouldn't fit within a block. You can fetch the limit using you can find the limit for each chain
[here](https://github.com/sablier-labs/lockup/blob/main/script/Base.s.sol#L90-L131).
- The timestamps must be sorted in ascending order. It's not possible for the $(i-1)^{th}$ timestamp to be greater than
$i^{th}$ timestamp (given that we're dealing with an increasing monotonic function).
## Examples
A segment can be used to represent any monotonic increasing function. A few popular examples are highlighted below:
### Constant Curve (exp = 0)
A constant segment follows the function $f(x) = c$. This is achieved with an exponent of 0.
```solidity
LockupDynamic.Segment({
amount: amount, // Total amount in this segment
exponent: ud2x18(0e18), // Exponent = 0 (constant)
timestamp: endTime // End time of the segment
});
```
A constant curve can be used to unlock amount in tranches where the entire segment amount unlocks at the beginning or the end of the segment.
### Linear Curve (exp = 1)
A linear segment follows the function $f(x) = cx$. This is achieved with an exponent of 1.
```solidity
LockupDynamic.Segment({
amount: amount, // Total amount in this segment
exponent: ud2x18(1e18), // Exponent = 1 (linear)
timestamp: endTime // End time of the segment
});
```
A linear curve unlocks amount linearly over time.
### Accelerating Curve (exp > 1)
A function $f(x) = cx^{exp} \mid exp > 1$ can be used to create a segment that unlocks slowly at the beginning and then quickly at the end.
For example, an exponent of 2 unlocks 25% of the segment amount in the first 50% of the time and the remaining 75% in the last 50% of the time.
```solidity
segments[0] = LockupDynamic.Segment({
amount: totalAmount, // Total amount in this segment
exponent: ud2x18(2e18), // Exponent = 2 (Quadratic)
timestamp: endTime // End time of the stream
});
```
As you may have realized, the higher the exponent, the steeper the curve gets at the end. For example, an exponent of 4
unlocks 6% of the segment amount in the first 50% of the time and the remaining 94% in the last 50% of the time.
### Decelerating Curve (exp < 1)
A function $f(x) = cx^{exp} \mid 0 < exp < 1$ can be used to create a segment that unlocks quickly at the beginning and then slowly at the end.
For example, an exponent of 0.2 unlocks 80% of the segment amount in the first 50% of the time and the remaining 20% in the last 50% of the time.
```solidity
segments[0] = LockupDynamic.Segment({
amount: totalAmount, // Total amount in this segment
exponent: ud2x18(0.3e18), // Exponent = 0.3
timestamp: endTime // End time of the stream
});
```
---
## Tranches (3)
## Definition
Analogous to the segments in Dynamic streams, a Tranched stream is composed of multiple tranches with different amounts
and durations. The protocol uses these tranches to enable traditional vesting curves with regular unlocks.
Technically, a tranche is a [struct](/reference/lockup/contracts/types/library.LockupTranched#tranche) with two fields:
| Field | Type | Description |
| :-------- | :-------- | :------------------------------------------------------------------------------------------ |
| Amount | `uint128` | The amount of tokens to be unlocked in a tranche, denoted in units of the token's decimals. |
| Timestamp | `uint40` | The Unix timestamp indicating the tranche's end. |
The distribution function of a Lockup tranched stream:
$$
f(x) = \Sigma(eta)
$$
Where:
- $\Sigma(eta)$ is the sum of all vested tranches' amounts.
## Requirements
- The sum of all tranche amounts must equal the deposit amount.
- The block gas limit enforces a limit to how many tranches there can be in a stream.
- If someone creates a stream with an excessively large number of tranches, the transaction would revert as it
wouldn't fit within a block. You can fetch the limit using
[MAX_TRANCHE_COUNT](/reference/lockup/contracts/contract.SablierLockup#max_count). Alternatively, you can find the
limit for each chain [here](https://github.com/sablier-labs/lockup/blob/main/script/Base.s.sol#L90-L131).
- The timestamps must be sorted in ascending order. It's not possible for the $(i-1)^{th}$ timestamp to be greater than
$i^{th}$ timestamp (given that we're dealing with an increasing monotonic function).
---
## Statuses (2)
# Stream Statuses
A Lockup stream can have one of five distinct statuses:
| Status | Description |
| ----------- | ----------------------------------------------------------------- |
| `PENDING` | Stream created but not started; tokens are in a pending state. |
| `STREAMING` | Active stream where tokens are currently being streamed. |
| `SETTLED` | All tokens have been streamed; recipient is due to withdraw them. |
| `CANCELED` | Canceled stream; remaining tokens await recipient's withdrawal. |
| `DEPLETED` | Depleted stream; all tokens have been withdrawn and/or refunded. |
## Temperature
A stream status can have one out of two "temperatures":
| Temperature | Statuses | Description |
| :---------- | :-------------------------- | :-------------------------------------------------------------- |
| Warm | Pending, Streaming | The passage of time alone can change the status. |
| Cold | Settled, Canceled, Depleted | The passage of time won’t affect the status anymore. |
## State transitions
The following diagram illustrates the statuses and the allowed transitions between them:
```mermaid
stateDiagram-v2
direction LR
state Warm {
Pending
Streaming
}
state Cold {
Settled
Canceled
Depleted
}
Null --> Pending
Null --> Settled
Pending --> Streaming
Pending --> Settled
Pending --> Canceled
Streaming --> Settled
Streaming --> Canceled
Streaming --> Depleted
Settled --> Depleted
Canceled --> Depleted
```
## Q&A
### Q: What is a null stream?
A: An id that does not reference a created stream. Trying to interact with a null stream will result in a revert.
### Q: What to do with a stream status?
A: Knowing the status of a stream can inform your decision making. For example, if a stream is canceled, you know that
you can't cancel it again. Or, if a stream is depleted, you know that you can't withdraw any more tokens from it.
### Q: How can a stream enter the `SETTLED` status directly?
A: This is a peculiarity of the [Lockup Dynamic](/concepts/lockup/stream-shapes#lockup-dynamic) streams. Segment amounts
can be zero, and the segment milestones can be set in such a way that all non-zero segments are in the past. This will
cause the stream to enter the `SETTLED` status directly.
---
## Hooks
Hooks are arbitrary third-party functions that get automatically executed by the Sablier Protocol in response to
`cancel` and `withdraw` events. They are similar to callback functions in web2.
:::info Important
Hooks have to be allowlisted before they can be run. Currently, only the [Protocol Admin](/concepts/governance) has
permission to do this. In the future, we may decentralize this process through governance.
:::
Hooks are a powerful feature that enable Sablier streams to interact with other DeFi protocols. Let's consider an
example:
You own a Sablier stream that expires in two years. You are interested into taking a loan against it with the intention
to pay it all back after it expires. Hooks are what enable you to do that. With the help of Hooks, we can create an
ecosystem of varied use cases for Sablier streams. This can range from lending, staking, credit, and more.
It is worth noting that once a hook has been allowlisted, it can never be removed. This is to ensure stronger
immutability and decentralization guarantees. Once a recipient contract is allowlisted, integrators do NOT have to trust
us to keep their contract on the allowlist.
## Checklist
The requirements a hook contract must meet:
1. The contract is not upgradeable.
2. The contract was audited by a third-party security researcher.
3. The contract implements `supportsInterface` and returns `true` for `0xf8ee98d3`, i.e.,
`type(ISablierLockupRecipient).interfaceId`.
4. If it implements `onSablierLockupCancel`:
1. It returns `ISablierLockupRecipient.onSablierLockupCancel.selector`.
1. It reverts if `msg.sender` is not the Lockup contract.
1. It uses input parameters correctly: `streamId`, `sender`, `senderAmount`, `recipientAmount`.
1. Be aware that if the call reverts, the entire `cancel` execution would revert too.
5. If it implements `onSablierLockupWithdraw`:
1. It returns `ISablierLockupRecipient.onSablierLockupWithdraw.selector`.
1. It reverts if `msg.sender` is not Lockup contract.
1. It uses input parameters correctly: `streamId`, `caller`, `to`, `amount`.
1. Be aware that if the call reverts, the entire `withdraw` execution would revert too.
## Visual representation
:::note
If the recipient contract is not on the Sablier allowlist, the hooks will not be executed.
:::
### Cancel hook
```mermaid
sequenceDiagram
actor Sender
Sender ->> SablierLockup: cancel()
SablierLockup -->> Recipient: onSablierLockupCancel()
Recipient -->> SablierLockup: return selector
SablierLockup -->> Sender: transfer unstreamed tokens
break if hook reverts
Recipient -->> SablierLockup: ❌ tx fail
end
```
### Withdraw hook
```mermaid
sequenceDiagram
actor Anyone
Anyone ->> SablierLockup: withdraw()
SablierLockup -->> Recipient: onSablierLockupWithdraw()
Recipient -->> SablierLockup: return selector
SablierLockup -->> Recipient: transfer streamed tokens
break if hook reverts
Recipient -->> SablierLockup: ❌ tx fail
end
```
## Next steps
If you are interested into using Sablier hooks into your protocol, please check the
[Hook guide](/guides/lockup/examples/hooks). If you are looking to get on the allowlist, reach out to us on
[Discord](https://discord.sablier.com).
---
## Custom Deployments
:::info[Reach Out]
{/* prettier-ignore */}
Want to get Sablier deployed on your chain? If you meet the requirements listed below, fill out this
form and our team will get back to you.
:::
## Requirements
The Sablier Interface currently supports only The Graph and Envio indexer services. If you use a different indexer, you
can schedule a call here to discuss integration.
- [x] Blockchain explorer with instructions for verifying contracts
- [x] Functional JSON-RPC endpoint, preferably listed on [ChainList](https://chainlist.org)
- [x] GraphQL indexer: specifically, either [The Graph](https://thegraph.com) or [Envio](https://envio.dev)
- [x] Bridge, and instructions for how to obtain gas tokens (e.g., ETH) and ERC-20 tokens to the target chain
- [x] Foundry's [Deterministic Deployer](https://github.com/Arachnid/deterministic-deployment-proxy) contract at
[`0x4e59b44847b379578588920cA78FbF26c0B4956C`](https://etherscan.io/address/0x4e59b44847b379578588920cA78FbF26c0B4956C)
- [x] [Multicall3](https://github.com/mds1/multicall) contract at
[`0xcA11bde05977b3631167028862bE2a173976CA11`](https://etherscan.io/address/0xcA11bde05977b3631167028862bE2a173976CA11)
## Making a Deployment
:::warning[NOTE]
The rest of the guide applies ONLY IF you have you been granted a
[BUSL license](https://app.ens.domains/license-grants.sablier.eth?tab=records) to deploy the protocol. Otherwise, this
section is not relevant to you.
:::
### Prerequisites
- Check [here](/guides/lockup/deployments) if the deployment is not already made
- Follow the contributing guides for [Lockup](https://github.com/sablier-labs/lockup/blob/main/CONTRIBUTING.md),
[Airdrops](https://github.com/sablier-labs/airdrops/blob/main/CONTRIBUTING.md) and
[Flow](https://github.com/sablier-labs/flow/blob/main/CONTRIBUTING.md).
- Install the [Just](https://github.com/casey/just) CLI tool.
- RPC endpoint, e.g., a paid [Infura](https://www.infura.io/) or [Alchemy](https://www.alchemy.com/) account
- Have enough ETH in your deployer account
- Have an Etherscan API key (for source code verification)
### Lockup Deployment
#### Step 1: Clone the [Lockup repo](https://github.com/sablier-labs/lockup) and checkout to the `v2.0.0` tag
```bash
git checkout v2.0.0
```
#### Step 2: Create an `.env` file
```bash
touch .env
```
Add the following variables to `.env` file:
```
EOA="DEPLOYER ADDRESS"
ETHERSCAN_API_KEY="EXPLORER API KEY"
PRIVATE_KEY="PRIVATE KEY OF DEPLOYER ADDRESS"
RPC_URL="RPC ENDPOINT URL"
VERIFIER_URL="EXPLORER VERIFICATION URL"
```
Load the environment variables into your shell:
```bash
source .env
```
#### Step 3: Build the contracts
```bash
bun install --frozen-lockfile
```
```bash
just build-optimized
```
#### Step 4: Run the following deployment command
For **deterministic** deployment:
```bash
FOUNDRY_PROFILE=optimized \
forge script script/DeployDeterministicProtocol.s.sol \
--broadcast \
--etherscan-api-key $ETHERSCAN_API_KEY \
--rpc-url $RPC_URL \
--private-key $PRIVATE_KEY \
--sig "run()" \
--verifier-url $VERIFIER_URL \
--verify \
-vvv
```
For **non-deterministic** deployment:
```bash
FOUNDRY_PROFILE=optimized \
forge script script/DeployProtocol.s.sol \
--broadcast \
--etherscan-api-key $ETHERSCAN_API_KEY \
--private-key $PRIVATE_KEY \
--rpc-url $RPC_URL \
--sig "run()" \
--verifier-url $VERIFIER_URL \
--verify \
-vvv
```
If you are using a mnemonic or a hardware device for your deployer address, refer to `forge-script` page from
[foundry book](https://book.getfoundry.sh/reference/forge/forge-script#forge-script) for different wallet options.
### Merkle Airdrops Deployment
#### Step 1: Clone the [Merkle Airdrops repo](https://github.com/sablier-labs/airdrops) and checkout to `v1.3.0` tag
```bash
git checkout v1.3.0
```
#### Step 2: Create an `.env` file
```bash
touch .env
```
Add the following variables to `.env` file:
```
EOA="DEPLOYER ADDRESS"
ETHERSCAN_API_KEY="EXPLORER API KEY"
PRIVATE_KEY="PRIVATE KEY OF DEPLOYER ADDRESS"
RPC_URL="RPC ENDPOINT URL"
VERIFIER_URL="EXPLORER VERIFICATION URL"
```
Load the environment variables into shell:
```bash
source .env
```
#### Step 3: Build the contracts
```bash
bun install --frozen-lockfile
```
```bash
just build-optimized
```
#### Step 4: Run the following command to deploy all merkle airdrop contracts
For **deterministic** deployments, meaning that CREATE2 is used:
```bash
FOUNDRY_PROFILE=optimized \
forge script script/DeployDeterministicMerkleFactory.s.sol \
--broadcast \
--etherscan-api-key $ETHERSCAN_API_KEY \
--private-key $PRIVATE_KEY \
--rpc-url $RPC_URL \
--sig "run()" \
--verifier-url $VERIFIER_URL \
--verify \
-vvv
```
For **non-deterministic** deployments:
```bash
FOUNDRY_PROFILE=optimized \
forge script script/DeployMerkleFactory.s.sol \
--broadcast \
--etherscan-api-key $ETHERSCAN_API_KEY \
--private-key $PRIVATE_KEY \
--rpc-url $RPC_URL \
--sig "run()" \
--verifier-url $VERIFIER_URL \
--verify \
-vvv
```
If you are using a mnemonic or a hardware device for your deployer address, refer to `forge-script` page from the
[Foundry Book](https://book.getfoundry.sh/reference/forge/forge-script#forge-script).
### Flow Deployment
#### Step 1: Clone the [Flow repo](https://github.com/sablier-labs/flow) and checkout to `v1.1.0` tag
```bash
git checkout v1.1.0
```
#### Step 2: Create an `.env` file
```bash
touch .env
```
Add the following variables to `.env` file:
```
ETH_FROM="DEPLOYER ADDRESS"
ETHERSCAN_API_KEY="EXPLORER API KEY"
PRIVATE_KEY="PRIVATE KEY OF DEPLOYER ADDRESS"
RPC_URL="RPC ENDPOINT URL"
VERIFIER_URL="EXPLORER VERIFICATION URL"
```
Load the environment variables into your shell:
```bash
source .env
```
#### Step 3: Build the contracts
```bash
bun install --frozen-lockfile
```
```bash
just build-optimized
```
#### Step 4: Run the following deployment command
For **deterministic** deployment:
```bash
FOUNDRY_PROFILE=optimized \
forge script script/DeployDeterministicFlow.s.sol \
--broadcast \
--etherscan-api-key $ETHERSCAN_API_KEY \
--rpc-url $RPC_URL \
--private-key $PRIVATE_KEY \
--sig "run()" \
--verifier-url $VERIFIER_URL \
--verify \
-vvv
```
For **non-deterministic** deployment:
```bash
FOUNDRY_PROFILE=optimized \
forge script script/DeployFlow.s.sol \
--broadcast \
--etherscan-api-key $ETHERSCAN_API_KEY \
--private-key $PRIVATE_KEY \
--rpc-url $RPC_URL \
--sig "run()" \
--verifier-url $VERIFIER_URL \
--verify \
-vvv
```
If you are using a mnemonic or a hardware device for your deployer address, refer to `forge-script` page from
[foundry book](https://book.getfoundry.sh/reference/forge/forge-script#forge-script) for different wallet options.
### List your deployment
After the contracts are deployed, you can submit your deployment like so:
1. Open a PR in the [docs repo](https://github.com/sablier-labs/docs) by following the listing instructions below.
2. Open a PR in the [deployments repo](https://github.com/sablier-labs/deployments) to add the broadcast file (JSON).
You can find it in the `broadcast` directory.
#### Listing instructions
When listing a new chain, you need to update the following sections of this documentation site:
- Contract Deployments, e.g. for [Lockup](/guides/lockup/deployments)
- Indexers, e.g. for [Lockup](/api/lockup/indexers)
- [Governance](/concepts/governance)
- [Fees](/concepts/fees)
---
## Snapshot Voting
# Snapshot Voting Strategies
To enable off-chain governance, we created a collection of Snapshot Strategies that calculate the voting power of tokens
stored in Lockup streams.
## Lockup
If you started using Sablier in July 2023 or later, you should be using the Lockup strategies.
- [Snapshot playground](https://snapshot.org/#/playground/sablier-v2) - test the strategies
- [Snapshot code repository](https://github.com/snapshot-labs/snapshot-strategies/tree/master/src/strategies/sablier-v2) -
see the implementation
The following strategies will read the various amounts that can be found in Lockup streams. The voting power will be
calculated based on some sub-strategies called `policies`.
| Snapshot Playground |
| :---------------------------------------------------- |
|  |
### Example Setup
```json
{
"address": "0x97cb342cf2f6ecf48c1285fb8668f5a4237bf862",
"symbol": "DAI",
"decimals": 18,
"policy": "withdrawable-recipient" // recommended,
}
```
#### Other parameters
Aside from this example setup, we use Snapshot's base parameters `Network`, `Snapshot` (block), and `Addresses`.
Based on the chosen strategy, the values filled in the `Addresses` field will represent a list (>= 1) of senders or
recipients.
### Policies
#### Primary policies
| Policy | Methodology |
| :--------------------- | :---------------------------------------------------------------- |
| withdrawable-recipient | Tokens that are available for the stream's recipient to withdraw. |
| reserved-recipient | Tokens available for withdraw aggregated with unstreamed tokens. |
#### Secondary policies
These policies are designed to address specific edge cases. We strongly recommend using the primary policies.
| Policy | Methodology |
| :------------------- | :------------------------------------------------------------------------------------ |
| deposited-recipient | Tokens that have been deposited in streams the recipient owned at snapshot time. |
| deposited-sender | Tokens that have been deposited in streams started by the sender before the snapshot. |
| streamed-recipient | Tokens that have been streamed to the recipient until the snapshot. |
| unstreamed-recipient | Tokens that have not yet been streamed to the recipient at the time of snapshot. |
### Example
```text
Lockup Stream #000001
---
Deposited: TKN 1000 for 30 days
Withdrawn: TKN 450 before snapshot
Snapshot: Day 15 (midway) with a streamed amount of TKN 500
+------------------------+----------+
| POLICY | POWER |
+------------------------+----------+
| erc20-balance-of | TKN 450 |
+------------------------+----------+
| withdrawable-recipient | TKN 50 |
+------------------------+----------+
| reserved-recipient | TKN 550 |
+------------------------+----------+
| deposited-recipient | TKN 1000 |
+------------------------+----------+
| deposited-sender | TKN 1000 |
+------------------------+----------+
| streamed-recipient | TKN 500 |
+------------------------+----------+
| unstreamed-recipient | TKN 500 |
+------------------------+----------+
```
### Recommendation
For the best results, we recommend using the primary policies.
1. The best option is to combine the `withdrawable-recipient` policy with `erc20-balance-of`. Doing so will aggregate
tokens streamed but not withdrawn yet, as well as tokens in the user's wallet.
2. The second best option is to combine `reserved-recipient` with `erc20-balance-of`. They will aggregate (i) tokens
streamed but not withdrawn yet, (ii) unstreamed funds (which will become available in the future), and (iii) the
tokens in the user's wallet.
### Details and Caveats
#### `withdrawable-recipient` ⭐️
The withdrawable amount counts tokens that have been streamed but not withdrawn yet by the recipient.
This is provided using the
[`withdrawableAmountOf`](/reference/lockup/contracts/abstracts/abstract.SablierLockupBase#withdrawableamountof) contract
method.
Voting power: realized (present).
#### `reserved-recipient` ⭐️
The reserved amount combines tokens that have been streamed but not withdrawn yet (similar to `withdrawable-recipient`)
with tokens that haven't been streamed (which will become available in the future). Can be computed as
`reserved = withdrawable + unstreamed === deposited - withdrawn`. Canceled streams will only count the final
withdrawable amount, if any.
Voting power: realized (present) + expected (future).
---
#### `deposited-recipient`
Aggregates historical deposits up to the snapshot time, counting only the streams owned by the recipient.
:::caution Caveat
- Streaming, canceling and streaming again will cause tokens to be counted multiple times.
:::
#### `deposited-sender`
Aggregates historical deposits up to the snapshot time, counting only the streams started by the sender.
:::caution Caveats
- Streaming, canceling and streaming again will cause tokens to be counted multiple times.
- Takes into account streams created through [PRBProxy](/reference/lockup/contracts/contract.SablierBatchLockup)
instances configured through the official [Sablier Interface](https://app.sablier.com/).
:::
#### `streamed-recipient`
Aggregates historical amounts that have already been streamed to the recipient. Crucially, withdrawn tokens are
included.
It relies on the `streamedAmountOf` method in the
[SablierLockupBase](/reference/lockup/contracts/abstracts/abstract.SablierLockupBase#streamedamountof) contract.
:::caution Caveats
- Using this policy alongside `erc20-balance-of` may double count tokens. In the example above, `TNK 500` was streamed,
but the recipient withdrew `TKN 450`, so the total voting power would be `TKN 950`.
- If funds are recycled (streamed, withdrawn and streamed again) the voting power may be increased artificially.
:::
#### `unstreamed-recipient`
The opposite of `streamed-recipient`, counting amounts that have not been streamed yet (locked, but will become
available in the future). Subtracts the `streamed` amount from the initial `deposit`. For canceled streams, the
unstreamed amount will be `0`.
## Legacy
If you started using Sablier before July 2023, you should be using the Legacy strategies.
- [Snapshot playground](https://snapshot.org/#/playground/sablier-v1-deposit) - test the strategies
- [Snapshot code repository](https://github.com/snapshot-labs/snapshot-strategies/tree/master/src/strategies/sablier-v1-deposit) -
dive into the implementation
The Legacy strategy regards the stream recipient as the voter. It returns the voting power for any voter as the **sum of
all deposits** made by a sender towards the recipient (the **voter**) for a specific ERC-20 token.
:::caution Caveats
- Similar to the Sablier Lockup [`streamed-recipient`](#streamed-recipient) strategy, the voting power can be increased
artificially.
:::
### Example Setup
```json
{
"sender": "0xC9F2D9adfa6C24ce0D5a999F2BA3c6b06E36F75E",
"token": "0x7f8F6E42C169B294A384F5667c303fd8Eedb3CF3"
}
```
---
## Overview (12)
# Sablier Merkle Airdrops
Welcome to the Sablier Merkle Airdrops documentation.
This section contains detailed guides and technical references for the Merkle Airdrops contracts. These documents offer
insight into the operational nuances of the contracts, providing a valuable resource for building onchain integrations.
# Guides
If you are new to Merkle Airdrops, we recommend you start with the [Airstreams](/concepts/airdrops) section first.
If you want to setup your local environment, head over to [the guide](/guides/airdrops/examples/local-environment).
# Reference
For a deeper dive into the protocol specifications, read through the
[technical reference](/reference/airdrops/diagrams).
# Resources
- [Source Code](https://github.com/sablier-labs/airdrops/tree/release)
- [Examples](https://github.com/sablier-labs/examples/tree/main/airdrops/)
- [Foundry Book](https://book.getfoundry.sh/)
---
## Deployment Addresses
# Merkle Airdrops Deployments
This section contains the deployment addresses for the v1.3 release of
[@sablier/airdrops](https://npmjs.com/package/@sablier/airdrops).
A few noteworthy details about the deployments:
- The addresses are final
- All contracts are non-upgradeable
- The source code is verified on Etherscan across all chains
## Versions
This repository is the successor of [Lockup Periphery](https://github.com/sablier-labs/v2-periphery), which has been
discontinued. For previous deployments, please refer to the
[Lockup deployments](/guides/lockup/previous-deployments/v1.2) page.
## Mainnets
### Abstract
| Contract | Address | Deployment |
| :-------- | :-------- | :--------- |
| SablierMerkleFactory | [`0x0C72b957347B51285854f015e4D20641655B939A`](https://abscan.org/address/0x0C72b957347B51285854f015e4D20641655B939A) | [`airdrops-v1.3`](https://github.com/sablier-labs/sdk/blob/main/deployments/airdrops/v1.3) |
### Arbitrum
| Contract | Address | Deployment |
| :-------- | :-------- | :--------- |
| SablierMerkleFactory | [`0x7efd170e3e32Dc1b4c17eb4cFFf92c81FF43a6cb`](https://arbiscan.io/address/0x7efd170e3e32Dc1b4c17eb4cFFf92c81FF43a6cb) | [`airdrops-v1.3`](https://github.com/sablier-labs/sdk/blob/main/deployments/airdrops/v1.3) |
### Avalanche
| Contract | Address | Deployment |
| :-------- | :-------- | :--------- |
| SablierMerkleFactory | [`0x6bCD2260825CFed440Bb765f7A92f6CDBDc90f43`](https://snowtrace.io/address/0x6bCD2260825CFed440Bb765f7A92f6CDBDc90f43) | [`airdrops-v1.3`](https://github.com/sablier-labs/sdk/blob/main/deployments/airdrops/v1.3) |
### Base
| Contract | Address | Deployment |
| :-------- | :-------- | :--------- |
| SablierMerkleFactory | [`0xD9e108f26fe104CE1058D48070438deDB3aD826A`](https://basescan.org/address/0xD9e108f26fe104CE1058D48070438deDB3aD826A) | [`airdrops-v1.3`](https://github.com/sablier-labs/sdk/blob/main/deployments/airdrops/v1.3) |
### Berachain
| Contract | Address | Deployment |
| :-------- | :-------- | :--------- |
| SablierMerkleFactory | [`0x7868Af143cc5e6Cd03f9B4f5cdD2832695A85d6B`](https://berascan.com/address/0x7868Af143cc5e6Cd03f9B4f5cdD2832695A85d6B) | [`airdrops-v1.3`](https://github.com/sablier-labs/sdk/blob/main/deployments/airdrops/v1.3) |
### Blast
| Contract | Address | Deployment |
| :-------- | :-------- | :--------- |
| SablierMerkleFactory | [`0xDd40b4F5B216F524a55E2e8F75637E8b453E4bd2`](https://blastscan.io/address/0xDd40b4F5B216F524a55E2e8F75637E8b453E4bd2) | [`airdrops-v1.3`](https://github.com/sablier-labs/sdk/blob/main/deployments/airdrops/v1.3) |
### BNB Chain
| Contract | Address | Deployment |
| :-------- | :-------- | :--------- |
| SablierMerkleFactory | [`0xf9f89d99fb702b06fba16a294b7614089defe068`](https://bscscan.com/address/0xf9f89d99fb702b06fba16a294b7614089defe068) | [`airdrops-v1.3`](https://github.com/sablier-labs/sdk/blob/main/deployments/airdrops/v1.3) |
### Chiliz
| Contract | Address | Deployment |
| :-------- | :-------- | :--------- |
| SablierMerkleFactory | [`0xf978034bb3CAB5fe88d23DB5Cb38D510485DaB90`](https://scan.chiliz.com/address/0xf978034bb3CAB5fe88d23DB5Cb38D510485DaB90) | [`airdrops-v1.3`](https://github.com/sablier-labs/sdk/blob/main/deployments/airdrops/v1.3) |
### Ethereum
| Contract | Address | Deployment |
| :-------- | :-------- | :--------- |
| SablierMerkleFactory | [`0x71DD3Ca88E7564416E5C2E350090C12Bf8F6144a`](https://etherscan.io/address/0x71DD3Ca88E7564416E5C2E350090C12Bf8F6144a) | [`airdrops-v1.3`](https://github.com/sablier-labs/sdk/blob/main/deployments/airdrops/v1.3) |
### Form
| Contract | Address | Deployment |
| :-------- | :-------- | :--------- |
| SablierMerkleFactory | [`0xA9264Ef7cB1516cc27FCD5149A2909Ace885Ffb6`](https://explorer.form.network/address/0xA9264Ef7cB1516cc27FCD5149A2909Ace885Ffb6) | [`airdrops-v1.3`](https://github.com/sablier-labs/sdk/blob/main/deployments/airdrops/v1.3) |
### Gnosis
| Contract | Address | Deployment |
| :-------- | :-------- | :--------- |
| SablierMerkleFactory | [`0x64ba580946985B4b87f4D9f7b6598C2156026775`](https://gnosisscan.io/address/0x64ba580946985B4b87f4D9f7b6598C2156026775) | [`airdrops-v1.3`](https://github.com/sablier-labs/sdk/blob/main/deployments/airdrops/v1.3) |
### HyperEVM
| Contract | Address | Deployment |
| :-------- | :-------- | :--------- |
| SablierMerkleFactory | [`0xe0548364372f3b842e6f89e2DAC2E53b5eA0a35b`](https://hyperevmscan.io/address/0xe0548364372f3b842e6f89e2DAC2E53b5eA0a35b) | [`airdrops-v1.3`](https://github.com/sablier-labs/sdk/blob/main/deployments/airdrops/v1.3) |
### IoTeX
| Contract | Address | Deployment |
| :-------- | :-------- | :--------- |
| SablierMerkleFactory | [`0xf08548b1a6DB590FEC6f1B95e6B41d17791767C2`](https://iotexscan.io/address/0xf08548b1a6DB590FEC6f1B95e6B41d17791767C2) | [`airdrops-v1.3`](https://github.com/sablier-labs/sdk/blob/main/deployments/airdrops/v1.3) |
### Lightlink
| Contract | Address | Deployment |
| :-------- | :-------- | :--------- |
| SablierMerkleFactory | [`0xC0107f368FBB50075d2190549055d9E6bf75c5c9`](https://phoenix.lightlink.io/address/0xC0107f368FBB50075d2190549055d9E6bf75c5c9) | [`airdrops-v1.3`](https://github.com/sablier-labs/sdk/blob/main/deployments/airdrops/v1.3) |
### Linea Mainnet
| Contract | Address | Deployment |
| :-------- | :-------- | :--------- |
| SablierMerkleFactory | [`0xAa122611E0e3a0771127aA4cd4995A896BB2c20B`](https://lineascan.build/address/0xAa122611E0e3a0771127aA4cd4995A896BB2c20B) | [`airdrops-v1.3`](https://github.com/sablier-labs/sdk/blob/main/deployments/airdrops/v1.3) |
### Mode
| Contract | Address | Deployment |
| :-------- | :-------- | :--------- |
| SablierMerkleFactory | [`0xc472391DB89e7BE07170f18c4fdb010242507F2C`](https://modescan.io/address/0xc472391DB89e7BE07170f18c4fdb010242507F2C) | [`airdrops-v1.3`](https://github.com/sablier-labs/sdk/blob/main/deployments/airdrops/v1.3) |
### Morph
| Contract | Address | Deployment |
| :-------- | :-------- | :--------- |
| SablierMerkleFactory | [`0xBE64e8718D82C598EBCDA5149D10eB68b79632a4`](https://explorer.morphl2.io/address/0xBE64e8718D82C598EBCDA5149D10eB68b79632a4) | [`airdrops-v1.3`](https://github.com/sablier-labs/sdk/blob/main/deployments/airdrops/v1.3) |
### OP Mainnet
| Contract | Address | Deployment |
| :-------- | :-------- | :--------- |
| SablierMerkleFactory | [`0x2455bff7a71E6e441b2d0B1b1e480fe36EbF6D1E`](https://optimistic.etherscan.io/address/0x2455bff7a71E6e441b2d0B1b1e480fe36EbF6D1E) | [`airdrops-v1.3`](https://github.com/sablier-labs/sdk/blob/main/deployments/airdrops/v1.3) |
### Polygon
| Contract | Address | Deployment |
| :-------- | :-------- | :--------- |
| SablierMerkleFactory | [`0xf0d61b42311C810dfdE191D58427d81E87c5d5F6`](https://polygonscan.com/address/0xf0d61b42311C810dfdE191D58427d81E87c5d5F6) | [`airdrops-v1.3`](https://github.com/sablier-labs/sdk/blob/main/deployments/airdrops/v1.3) |
### Scroll
| Contract | Address | Deployment |
| :-------- | :-------- | :--------- |
| SablierMerkleFactory | [`0x6dF0bfFDb106b19d1e954853f4d14003E21B7854`](https://scrollscan.com/address/0x6dF0bfFDb106b19d1e954853f4d14003E21B7854) | [`airdrops-v1.3`](https://github.com/sablier-labs/sdk/blob/main/deployments/airdrops/v1.3) |
### Sei Network
| Contract | Address | Deployment |
| :-------- | :-------- | :--------- |
| SablierMerkleFactory | [`0x0171A06878F7ff81c9955DEB5641f64f520d45E5`](https://seitrace.com/address/0x0171A06878F7ff81c9955DEB5641f64f520d45E5) | [`airdrops-v1.3`](https://github.com/sablier-labs/sdk/blob/main/deployments/airdrops/v1.3) |
### Sonic
| Contract | Address | Deployment |
| :-------- | :-------- | :--------- |
| SablierMerkleFactory | [`0xbD73389Cbdd4f31F374F2815ecb7f9dEc0F124D3`](https://sonicscan.org/address/0xbD73389Cbdd4f31F374F2815ecb7f9dEc0F124D3) | [`airdrops-v1.3`](https://github.com/sablier-labs/sdk/blob/main/deployments/airdrops/v1.3) |
### Sophon
| Contract | Address | Deployment |
| :-------- | :-------- | :--------- |
| SablierMerkleFactory | [`0x9D4923e2ff0b9DAdc447A89f528760928f84D0F7`](https://explorer.sophon.xyz/address/0x9D4923e2ff0b9DAdc447A89f528760928f84D0F7) | [`airdrops-v1.3`](https://github.com/sablier-labs/sdk/blob/main/deployments/airdrops/v1.3) |
### Superseed
| Contract | Address | Deployment |
| :-------- | :-------- | :--------- |
| SablierMerkleFactory | [`0x3df48bb93509D9a041C81F6670C37B1eEb3E154B`](https://explorer.superseed.xyz/address/0x3df48bb93509D9a041C81F6670C37B1eEb3E154B) | [`airdrops-v1.3`](https://github.com/sablier-labs/sdk/blob/main/deployments/airdrops/v1.3) |
### Taiko
| Contract | Address | Deployment |
| :-------- | :-------- | :--------- |
| SablierMerkleFactory | [`0x39D4D8C60D3596B75bc09863605BBB4dcE8243F1`](https://taikoscan.io/address/0x39D4D8C60D3596B75bc09863605BBB4dcE8243F1) | [`airdrops-v1.3`](https://github.com/sablier-labs/sdk/blob/main/deployments/airdrops/v1.3) |
### Tangle
| Contract | Address | Deployment |
| :-------- | :-------- | :--------- |
| SablierMerkleFactory | [`0xd641a0E4509Cced67cC24E7BDcDe2a31b7F7cF77`](https://explorer.tangle.tools/address/0xd641a0E4509Cced67cC24E7BDcDe2a31b7F7cF77) | [`airdrops-v1.3`](https://github.com/sablier-labs/sdk/blob/main/deployments/airdrops/v1.3) |
### Unichain
| Contract | Address | Deployment |
| :-------- | :-------- | :--------- |
| SablierMerkleFactory | [`0xC6fC028E988D158C52Aa2e38CDd6f969AA14bdCd`](https://uniscan.xyz/address/0xC6fC028E988D158C52Aa2e38CDd6f969AA14bdCd) | [`airdrops-v1.3`](https://github.com/sablier-labs/sdk/blob/main/deployments/airdrops/v1.3) |
### XDC
| Contract | Address | Deployment |
| :-------- | :-------- | :--------- |
| SablierMerkleFactory | [`0xe41909f5623c3b78219D9a2Bb92bE95AEe5bbC30`](https://xdcscan.com/address/0xe41909f5623c3b78219D9a2Bb92bE95AEe5bbC30) | [`airdrops-v1.3`](https://github.com/sablier-labs/sdk/blob/main/deployments/airdrops/v1.3) |
### ZKsync Era
| Contract | Address | Deployment |
| :-------- | :-------- | :--------- |
| SablierMerkleFactory | [`0x8E7E78799F8cC87d4816112A758281dabc158452`](https://era.zksync.network//address/0x8E7E78799F8cC87d4816112A758281dabc158452) | [`airdrops-v1.3`](https://github.com/sablier-labs/sdk/blob/main/deployments/airdrops/v1.3) |
## Testnets
### Arbitrum Sepolia
| Contract | Address | Deployment |
| :-------- | :-------- | :--------- |
| SablierMerkleFactory | [`0x465E9218C1A8d36169e0c40C01b856A83CE44153`](https://sepolia.arbiscan.io/address/0x465E9218C1A8d36169e0c40C01b856A83CE44153) | [`airdrops-v1.3`](https://github.com/sablier-labs/sdk/blob/main/deployments/airdrops/v1.3) |
### Base Sepolia
| Contract | Address | Deployment |
| :-------- | :-------- | :--------- |
| SablierMerkleFactory | [`0x6a3466398A66c7Ce801989B45C390cdC8717102D`](https://sepolia.basescan.org/address/0x6a3466398A66c7Ce801989B45C390cdC8717102D) | [`airdrops-v1.3`](https://github.com/sablier-labs/sdk/blob/main/deployments/airdrops/v1.3) |
### Linea Sepolia
| Contract | Address | Deployment |
| :-------- | :-------- | :--------- |
| SablierMerkleFactory | [`0x5ADE5DF4FB42e353223DFF677cbfec812c6C4Da7`](https://sepolia.lineascan.build/address/0x5ADE5DF4FB42e353223DFF677cbfec812c6C4Da7) | [`airdrops-v1.3`](https://github.com/sablier-labs/sdk/blob/main/deployments/airdrops/v1.3) |
### Mode Testnet
| Contract | Address | Deployment |
| :-------- | :-------- | :--------- |
| SablierMerkleFactory | [`0x659836D788cce324Ad8c445584b9c44c6a8c74b7`](https://sepolia.explorer.mode.network/address/0x659836D788cce324Ad8c445584b9c44c6a8c74b7) | [`airdrops-v1.3`](https://github.com/sablier-labs/sdk/blob/main/deployments/airdrops/v1.3) |
### Monad Testnet
| Contract | Address | Deployment |
| :-------- | :-------- | :--------- |
| SablierMerkleFactory | [`0x99846E1379fEBC91FCeC641097f8191b51ef0d34`](https://testnet.monadexplorer.com/address/0x99846E1379fEBC91FCeC641097f8191b51ef0d34) | [`airdrops-v1.3`](https://github.com/sablier-labs/sdk/blob/main/deployments/airdrops/v1.3) |
### OP Sepolia
| Contract | Address | Deployment |
| :-------- | :-------- | :--------- |
| SablierMerkleFactory | [`0x2934A7aDDC3000D1625eD1E8D21C070a89073702`](https://optimism-sepolia.blockscout.com/address/0x2934A7aDDC3000D1625eD1E8D21C070a89073702) | [`airdrops-v1.3`](https://github.com/sablier-labs/sdk/blob/main/deployments/airdrops/v1.3) |
### Sepolia
| Contract | Address | Deployment |
| :-------- | :-------- | :--------- |
| SablierMerkleFactory | [`0xf642751d1271c88bBb8786067de808B32a016Fd4`](https://sepolia.etherscan.io/address/0xf642751d1271c88bBb8786067de808B32a016Fd4) | [`airdrops-v1.3`](https://github.com/sablier-labs/sdk/blob/main/deployments/airdrops/v1.3) |
### Superseed Sepolia
| Contract | Address | Deployment |
| :-------- | :-------- | :--------- |
| SablierMerkleFactory | [`0xb5951501D416cb7326e5b9bEB6EF8840a8DF6910`](https://sepolia-explorer.superseed.xyz/address/0xb5951501D416cb7326e5b9bEB6EF8840a8DF6910) | [`airdrops-v1.3`](https://github.com/sablier-labs/sdk/blob/main/deployments/airdrops/v1.3) |
### Taiko Hekla
| Contract | Address | Deployment |
| :-------- | :-------- | :--------- |
| SablierMerkleFactory | [`0xB5F4FB527568f88F8898Ce5F366f4d72e2C742BE`](https://hekla.taikoscan.network/address/0xB5F4FB527568f88F8898Ce5F366f4d72e2C742BE) | [`airdrops-v1.3`](https://github.com/sablier-labs/sdk/blob/main/deployments/airdrops/v1.3) |
---
## Campaign Verification
# Campaign Verification on Etherscan
When the airdrop campaign contract is deployed for the first time on a chain, the source code has to be verified to make
it public and viewable on Etherscan. This guide will walk you through the process of verifying the campaign contract on
Etherscan. If you get stuck, you can ask for help on [Discord](https://discord.sablier.com).
As an example, we will use the `SablierMerkleLL` contract deployed on Arbitrum Sepolia at
[0x0ef0647b7324238bfa6084b54ad2d4fd58d8e4ef](https://sepolia.arbiscan.io/address/0x0ef0647b7324238bfa6084b54ad2d4fd58d8e4ef).
:::tip Good to Know
Since Etherscan automatically verifies the contracts based on the matching source code criterion, this verification is
only required once per chain.
:::
## Step 1: Identify the transaction hash
Find the transaction that created the contract. For our example, this is the
[transaction](https://sepolia.arbiscan.io//tx/0x6bad05e2963db82cfada58e9ed990651c8efb04b3203037b3cf9c6c4b2d1a232).
## Step 2: Identify the function name
On the transaction page, locate the "Click to show more" button, and click it:
In this case, the function name is `createMerkleLL`. Then, locate and note down the function name.
## Step 3: Copy the input data and campaign creator address
Click on the "View Input As" button, then change the view to "Original", and copy the input data.
Copy the address of the campaign creator from the "From" field.
## Step 4: Get the constructor argument
Go to
[SablierMerkleAirdropDecoder](https://sepolia.etherscan.io/address/0x8a85407d8ec568233c15e843534e219697e3da07#readContract)
and make sure you are on the "Read Contract" section.
1. Click on `decodeMerkleInstantArgs` if the function name from step 1 is
[`createMerkleInstant`](/reference/airdrops/contracts/interfaces/interface.ISablierMerkleFactory#createmerkleinstant).
1. Click on `decodeMerkleLLArgs` if the function name from step 1 is
[`createMerkleLL`](/reference/airdrops/contracts/interfaces/interface.ISablierMerkleFactory#createmerklell).
1. Click on `decodeMerkleLTArgs` if the function name from step 1 is
[`createMerkleLT`](/reference/airdrops/contracts/interfaces/interface.ISablierMerkleFactory#createmerklelt).
In this case, since the function name was `createMerkleLL`, we will click on `decodeMerkleLLArgs`.
- In the `txData (bytes)` field, paste the input data copied from Step 2.
- In the `campaignCreator (address)` field, paste the campaign creator address copied from Step 2.
Click on the "Query" button and copy the output, which is also the constructor argument of the campaign contract.
## Step 5: Build the contracts
Clone the [sablier-labs/airdrops](https://github.com/sablier-labs/airdrops) repo, and build the contracts from the
`v1.3.0` tag. Note that you will need [Foundry](https://getfoundry.sh/) installed for this.
```bash
git clone git@github.com:sablier-labs/airdrops.git
git checkout v1.3.0
bun install --frozen-lockfile
just build-optimized
```
## Step 6: Run the verification command
Next, load the following environment variables into the shell.
```bash
export ETHERSCAN_API_KEY= # Your Etherscan API key
export ETHERSCAN_URL= # The Etherscan URL for the chain
export CONSTRUCTOR_ARG= # The constructor argument copied from Step 3
export CONTRACT_TO_VERIFY= # The contract address to verify
```
The `CONTRACT_TO_VERIFY`, in this example, is `0x0Ef0647B7324238bFA6084b54aD2d4Fd58d8E4ef`.
If the function name from Step 1 is `createMerkleLL`, run the following command:
```bash
FOUNDRY_PROFILE=optimized \
forge verify-contract --etherscan-api-key $ETHERSCAN_API_KEY --verifier-url $ETHERSCAN_URL \
--constructor-args $CONSTRUCTOR_ARG $CONTRACT_TO_VERIFY \
src/SablierMerkleLL.sol:SablierMerkleLL --watch
```
If the function name is `createMerkleLT`, run the following command:
```bash
FOUNDRY_PROFILE=optimized \
forge verify-contract --etherscan-api-key $ETHERSCAN_API_KEY --verifier-url $ETHERSCAN_URL \
--constructor-args $CONSTRUCTOR_ARG $CONTRACT_TO_VERIFY \
src/SablierMerkleLT.sol:SablierMerkleLT --watch
```
If the function name is `createMerkleInstant`, run the following command:
```bash
FOUNDRY_PROFILE=optimized \
forge verify-contract --etherscan-api-key $ETHERSCAN_API_KEY --verifier-url $ETHERSCAN_URL \
--constructor-args $CONSTRUCTOR_ARG $CONTRACT_TO_VERIFY \
src/SablierMerkleInstant.sol:SablierMerkleInstant --watch
```
The campaign contract should now be verified on Etherscan. Thank you for reading! 💚
---
## Configure Your Local Environment
In this guide, we will go through the steps to set up a local development environment for building onchain
integrations with {props.protocol}. We will use Foundry to install {props.protocol} as a dependency.
At the end, you’ll have a development environment set up that you can use to build the rest of the examples under
"Guides", or start your own integration project.
## Pre-requisites
You will need the following software on your machine:
- Git
- Foundry
- Node.js
- Bun
In addition, familiarity with Ethereum and Solidity is
requisite.
## Set up using Foundry template
:::tip
Make sure you are using the latest version of Foundry by running `foundryup`.
:::
Foundry is a popular development toolkit for Ethereum projects, which we have used to build the {props.protocol} Protocol. For
the purposes of this guide, Foundry will provide us with the tooling needed to compile and test our contracts.
Let's use this command to spin up a new Foundry project:
```bash
$ forge init my-project
$ cd my-project
```
Once the initialization completes, take a look around at what got set up:
```bash
├── foundry.toml
├── script
├── src
└── test
```
The folder structure should be intuitive:
- `src` is where you'll write Solidity contracts
- `test` is where you'll write tests (also in Solidity)
- `script` is where you'll write scripts to perform actions like deploying contracts (you guessed it, in Solidity)
- `foundry.toml` is where you can configure your Foundry settings, which we will leave as is in this guide
:::note
You might notice that the CLI is `forge` rather than `foundry`. This is because Foundry is a toolkit, and `forge` is
just one of the tools that comes with it.
:::
## Install via npm package
:::tip
If you are integrating with `MerkleLL` or `MerkleLT`, you will also have to install
[Lockup npm package](/guides/lockup/examples/local-environment#install-via-npm-package). Both `MerkleLL` and
`MerkleLT` contracts interact with Lockup protocol to setup up vesting for airdropped tokens.
:::
Let's install the {props.protocol} Node.js packages using Bun:
{`$ bun add @sablier/${props.protocol.toLowerCase()}`}
Bun will download the {props.protocol} contracts, along with their dependencies, and put them in the `node_modules` directory.
Let's remap the package names to point to the installed contracts. This step is required so that the Solidity
compiler can find the {props.protocol} contracts when you import them:
{`$ echo "@sablier/${props.protocol.toLowerCase()}=node_modules/@sablier/${props.protocol.toLowerCase()}/" >> remappings.txt
$ echo "@openzeppelin/contracts/=node_modules/@openzeppelin/contracts/" >> remappings.txt
$ echo "@prb/math/=node_modules/@prb/math/" >> remappings.txt`}
That's it! You should now have a functional development environment to start building onchain {props.protocol}
integrations.
## Next steps
Congratulations! Your environment is now configured, and you are prepared to start building. Explore the guides section
to discover various features available for {props.protocol} integration. Remember to include all contracts (`.sol` files) in the `src` folder and their corresponding tests in the `test` folder.
As far as Foundry is concerned, there is much more to uncover. If you want to learn more about it, check out the Foundry Book, which contains numerous examples and
tutorials. A deep understanding of Foundry will enable you to create more sophisticated integrations with {props.protocol} protocol.
---
## Create Campaigns
# Create Airdrop Campaigns
In this guide, we will show you how you can use Solidity to create a campaign via the
[Merkle Factory](/reference/airdrops/contracts/contract.SablierMerkleFactory).
This guide assumes that you have already gone through the [Protocol Concepts](/concepts/airdrops) section.
:::caution
The code in this guide is not production-ready, and is implemented in a simplistic manner for the purpose of learning.
:::
## Set up a contract
Declare the Solidity version used to compile the contract:
```solidity
// SPDX-License-Identifier: GPL-3.0-or-later
pragma solidity >=0.8.22;
```
Now, import the relevant symbols from `@sablier/lockup` and `@sablier/airdrops`:
```solidity
```
Create a contract called `MerkleCreator`, and declare a constant `DAI` of type `IERC20`, a constant `LOCKUP` of type
`ISablierLockup` and a constant `FACTORY` of type `ISablierMerkleFactory`.
```solidity
contract MerkleCreator {
IERC20 public constant DAI = IERC20(0x68194a729C2450ad26072b3D33ADaCbcef39D574);
ISablierMerkleFactory public constant FACTORY = ISablierMerkleFactory(0x4ECd5A688b0365e61c1a764E8BF96A7C5dF5d35F);
ISablierLockup public constant LOCKUP = ISablierLockup(0xC2Da366fD67423b500cDF4712BdB41d0995b0794);
}
```
In the code above, the contract addresses are hard-coded for demonstration purposes. However, in production, you
would likely use input parameters to allow flexibility in changing the addresses.
Also, these addresses are deployed on Ethereum Sepolia. If you need to work with a different chain, {props.protocol}
addresses can be obtained from the {props.protocol}
Deployments page.
Factory address can be obtained from the [Merkle Airdrops Deployments](/guides/airdrops/deployments) page.
## Create function
There are three create functions available through factory:
- [`createMerkleInstant`](/reference/airdrops/contracts/contract.SablierMerkleFactory#createmerkleinstant): creates
campaign for instant distribution of tokens.
- [`createMerkleLL`](/reference/airdrops/contracts/contract.SablierMerkleFactory#createmerklell): creates campaign with
a Lockup Linear distribution.
- [`createMerkleLT`](/reference/airdrops/contracts/contract.SablierMerkleFactory#createmerklelt): creates campaign with
a Lockup Tranched distribution.
Which one you choose depends upon your use case. In this guide, we will use `createMerkleLL`.
## Function definition
Define a function called `createMerkleLL` that returns the address of newly deployed Merkle Lockup contract.
```solidity
function createMerkleLL() public returns (ISablierMerkleLL merkleLL) {
// ...
}
```
## Parameters
Merkle Factory uses
[MerkleBase.ConstructorParams](/reference/airdrops/contracts/types/library.MerkleBase#constructorparams) as the shared
struct among all the create functions.
```solidity
MerkleBase.ConstructorParams memory baseParams;
```
Let's review each parameter of the shared struct in detail.
### Cancelable
Boolean that indicates whether the stream will be cancelable or not after it has been claimed.
```solidity
baseParams.cancelable = false;
```
### Expiration
The unix timestamp indicating the expiration of the campaign. Once this time has been passed, users will no longer be
able to claim their airdrop. And you will be able to
[clawback](/reference/airdrops/contracts/abstracts/abstract.SablierMerkleBase#clawback) any unclaimed tokens from the
campaign.
```solidity
baseParams.expiration = uint40(block.timestamp + 12 weeks);
```
### Initial Admin
This is the initial admin of the Airstream campaign. When a recipient claims his airdrop, a Lockup stream is created
with this admin as the sender of the stream. Another role of admin is to clawback unclaimed tokens from the campaign
post expiry and during grace period.
```solidity
baseParams.initialAdmin = address(0xBeeF);
```
### IPFS CID
This is the content identifier (CID) for indexing the contract on IPFS. This is where we store addresses of the Airdrop
recipients and their claim amount.
```solidity
baseParams.ipfsCID = "QmT5NvUtoM5nWFfrQdVrFtvGfKFmG7AHE8P34isapyhCxX";
```
### Merkle Root
These campaigns use a Merkle tree data structure to store the airdrop data onchain. As a result, you only pay the gas
fee to create the contract and store the Merkle root onchain. Airdrop recipients can then call the contract on their own
to claim their airdrop.
If you want to create the Merkle root programmatically, you can follow
[our guide on Merkle API](/api/airdrops/merkle-api/overview).
```solidity
baseParams.merkleRoot = 0x4e07408562bedb8b60ce05c1decfe3ad16b722309875f562c03d02d7aaacb123;
```
### Name
The name of the campaign.
```solidity
baseParams.name = "My First Campaign";
```
### Token
The contract address of the ERC-20 token that you want to airdrop to your recipients. In this example, we will use DAI.
```solidity
baseParams.token = DAI;
```
### Transferable
Boolean that indicates whether the stream will be transferable or not. This is the stream that users obtain when they
claim their airstream.
```solidity
baseParams.transferable = true;
```
Now that we have the `baseParams` ready, it's time to setup rest of the input parameters.
### Aggregate Amount
This is the total amount of tokens you want to airdrop to your users, denoted in units of the asset's decimals. Let's say
you want to airdrop 100M tokens of DAI. Then, the aggregate amount would be $100m\times 10^{18}$.
```solidity
uint256 aggregateAmount = 100_000_000e18;
```
### Recipient Count
The total number of recipient addresses.
```solidity
uint256 recipientCount = 10_000;
```
### Schedule
For the Lockup Linear campaign, a new struct named `Schedule` is needed. This structure enables the configuration of
various requirements for the campaign creator. For this example, we will have the following configurations:
1. `startTime`: sets the start time of vesting. If set to 0, the vesting will begin at the time of claim.
2. `startPercentage`: We want to unlock 0.01% of the total amount at the start time.
3. `cliffDuration`: We want a cliff duration of 30 days.
4. `cliffPercentage`: We want to unlock another 0.01% after the cliff period ends.
5. `totalDuration`: The total duration of vesting should be 90 days.
```solidity
MerkleLL.Schedule memory schedule = MerkleLL.Schedule({
startTime: 0,
startPercentage: ud2x18(0.01e18),
cliffDuration: 30 days,
cliffPercentage: ud2x18(0.01e18),
totalDuration: 90 days
});
```
## Invoke the create function
With all parameters set, we can now call the `createMerkleLL` function, and assign the address of the newly created
campaign to a variable:
```solidity
merkleLL = FACTORY.createMerkleLL({
baseParams: baseParams,
lockup: LOCKUP,
cancelable: false,
transferable: true,
schedule: schedule,
aggregateAmount: aggregateAmount,
recipientCount: recipientCount
});
```
## Full code
Below you can see the full code. You can also access the code on GitHub through
[this link](https://github.com/sablier-labs/examples/blob/main/airdrops/MerkleCreator.sol).
{`https://github.com/sablier-labs/examples/blob/main/airdrops/MerkleCreator.sol`}
---
## Overview (13)
# Sablier Flow
Welcome to the Sablier Flow documentation.
This section contains detailed guides and technical references for the Flow protocol. These documents offer insight into
the operational nuances of the contracts, providing a valuable resource for building onchain integrations.
# Guides
If you are new to Sablier, we recommend you start with the [Concepts](/concepts/what-is-sablier) section first.
If you want to setup your local environment, head over to [the guide](/guides/flow/examples/local-environment).
# Reference
For a deeper dive into the protocol specifications, read through the [technical reference](/reference/flow/diagrams).
# Resources
- [Source Code](https://github.com/sablier-labs/flow/tree/release)
- [Integration Templates](https://github.com/sablier-labs/flow-integration-template)
- [Examples](https://github.com/sablier-labs/examples/tree/main/flow/)
- [Foundry Book](https://book.getfoundry.sh/)
---
## Deployment Addresses (2)
# Flow Deployments
This section contains the deployment addresses for the v1.1 release of
[@sablier/flow](https://npmjs.com/package/@sablier/flow).
A few noteworthy details about the deployments:
- The addresses are final
- All contracts are non-upgradeable
- The source code is verified on Etherscan across all chains
## Versions
Any updates or additional features will require a new deployment of the protocol, due to its immutable nature.
Came here looking for the previous deployments? Click below to see other versions.
| Version | Release Date | UI Aliases |
| ---------------------------------------------- | ------------- | ---------- |
| [v1.1](/guides/flow/overview) (latest) | February 2025 | FL2 |
| [v1.0](/guides/flow/previous-deployments/v1.0) | December 2024 | FL |
:::info
Stay up to date with any new releases by [subscribing](https://x.com/Sablier/status/1821220784661995627) to the official
Sablier repositories on Github.
:::
## Mainnets
### Abstract
| Contract | Address | Deployment |
| :-------- | :-------- | :--------- |
| SablierFlow | [`0x555B0766f494c641bb522086da4E728AC08c1420`](https://abscan.org/address/0x555B0766f494c641bb522086da4E728AC08c1420) | [`flow-v1.1`](https://github.com/sablier-labs/sdk/blob/main/deployments/flow/v1.1) |
| FlowNFTDescriptor | [`0x6CefdBc5Ba80937235F012c83d6aA83F1200d6cC`](https://abscan.org/address/0x6CefdBc5Ba80937235F012c83d6aA83F1200d6cC) | [`flow-v1.1`](https://github.com/sablier-labs/sdk/blob/main/deployments/flow/v1.1) |
### Arbitrum
| Contract | Address | Deployment |
| :-------- | :-------- | :--------- |
| SablierFlow | [`0x87CF87ec5de33DeB4a88787065373563Ba85Ee72`](https://arbiscan.io/address/0x87CF87ec5de33DeB4a88787065373563Ba85Ee72) | [`flow-v1.1`](https://github.com/sablier-labs/sdk/blob/main/deployments/flow/v1.1) |
| FlowNFTDescriptor | [`0x5F23eF12A7e861CB92c24B4314Af2A5F363CDD4F`](https://arbiscan.io/address/0x5F23eF12A7e861CB92c24B4314Af2A5F363CDD4F) | [`flow-v1.1`](https://github.com/sablier-labs/sdk/blob/main/deployments/flow/v1.1) |
### Avalanche
| Contract | Address | Deployment |
| :-------- | :-------- | :--------- |
| SablierFlow | [`0xac7CB985d4022A5Ebd4a385374ac3d3B487b3C63`](https://snowtrace.io/address/0xac7CB985d4022A5Ebd4a385374ac3d3B487b3C63) | [`flow-v1.1`](https://github.com/sablier-labs/sdk/blob/main/deployments/flow/v1.1) |
| FlowNFTDescriptor | [`0xb09b714B0feC83675E09fc997B7D532cF6620326`](https://snowtrace.io/address/0xb09b714B0feC83675E09fc997B7D532cF6620326) | [`flow-v1.1`](https://github.com/sablier-labs/sdk/blob/main/deployments/flow/v1.1) |
### Base
| Contract | Address | Deployment |
| :-------- | :-------- | :--------- |
| SablierFlow | [`0x6FE93c7f6cd1DC394e71591E3c42715Be7180A6A`](https://basescan.org/address/0x6FE93c7f6cd1DC394e71591E3c42715Be7180A6A) | [`flow-v1.1`](https://github.com/sablier-labs/sdk/blob/main/deployments/flow/v1.1) |
| FlowNFTDescriptor | [`0x5b5e742305Be3A484EacCB124C83456463c24E6a`](https://basescan.org/address/0x5b5e742305Be3A484EacCB124C83456463c24E6a) | [`flow-v1.1`](https://github.com/sablier-labs/sdk/blob/main/deployments/flow/v1.1) |
### Berachain
| Contract | Address | Deployment |
| :-------- | :-------- | :--------- |
| SablierFlow | [`0xA031544946ED769377128fBD961c9d621c4b4179`](https://berascan.com/address/0xA031544946ED769377128fBD961c9d621c4b4179) | [`flow-v1.1`](https://github.com/sablier-labs/sdk/blob/main/deployments/flow/v1.1) |
| FlowNFTDescriptor | [`0x581250eE4311F7Dc1afCF965cF8024004B423e9E`](https://berascan.com/address/0x581250eE4311F7Dc1afCF965cF8024004B423e9E) | [`flow-v1.1`](https://github.com/sablier-labs/sdk/blob/main/deployments/flow/v1.1) |
### Blast
| Contract | Address | Deployment |
| :-------- | :-------- | :--------- |
| SablierFlow | [`0x16b50eb5eAeF0366f1A4da594e2A8c8943A297e0`](https://blastscan.io/address/0x16b50eb5eAeF0366f1A4da594e2A8c8943A297e0) | [`flow-v1.1`](https://github.com/sablier-labs/sdk/blob/main/deployments/flow/v1.1) |
| FlowNFTDescriptor | [`0x92f1dB592C771D9Ec7708abFEe79771AbC1b4fAd`](https://blastscan.io/address/0x92f1dB592C771D9Ec7708abFEe79771AbC1b4fAd) | [`flow-v1.1`](https://github.com/sablier-labs/sdk/blob/main/deployments/flow/v1.1) |
### BNB Chain
| Contract | Address | Deployment |
| :-------- | :-------- | :--------- |
| SablierFlow | [`0x4C4610aF3f3861EC99b6F6F8066C03E4C3a0E023`](https://bscscan.com/address/0x4C4610aF3f3861EC99b6F6F8066C03E4C3a0E023) | [`flow-v1.1`](https://github.com/sablier-labs/sdk/blob/main/deployments/flow/v1.1) |
| FlowNFTDescriptor | [`0xAE557c04B46d47Ecac24edA63F22cabB4571Da61`](https://bscscan.com/address/0xAE557c04B46d47Ecac24edA63F22cabB4571Da61) | [`flow-v1.1`](https://github.com/sablier-labs/sdk/blob/main/deployments/flow/v1.1) |
### Chiliz
| Contract | Address | Deployment |
| :-------- | :-------- | :--------- |
| SablierFlow | [`0x28eAB88ee8a951F78e1028557D0C3fD97af61A33`](https://scan.chiliz.com/address/0x28eAB88ee8a951F78e1028557D0C3fD97af61A33) | [`flow-v1.1`](https://github.com/sablier-labs/sdk/blob/main/deployments/flow/v1.1) |
| FlowNFTDescriptor | [`0xC7fd18CA19938d559dC45aDE362a850015CF0bd8`](https://scan.chiliz.com/address/0xC7fd18CA19938d559dC45aDE362a850015CF0bd8) | [`flow-v1.1`](https://github.com/sablier-labs/sdk/blob/main/deployments/flow/v1.1) |
### Core Dao
| Contract | Address | Deployment |
| :-------- | :-------- | :--------- |
| SablierFlow | [`0xa0aE7F1bE0DB024Beda05c80722413EDDe7231Bd`](https://scan.coredao.org/address/0xa0aE7F1bE0DB024Beda05c80722413EDDe7231Bd) | [`flow-v1.1`](https://github.com/sablier-labs/sdk/blob/main/deployments/flow/v1.1) |
| FlowNFTDescriptor | [`0x7293F2D4A4e676EF67C085E92277AdF560AECb88`](https://scan.coredao.org/address/0x7293F2D4A4e676EF67C085E92277AdF560AECb88) | [`flow-v1.1`](https://github.com/sablier-labs/sdk/blob/main/deployments/flow/v1.1) |
### Ethereum
| Contract | Address | Deployment |
| :-------- | :-------- | :--------- |
| SablierFlow | [`0x3DF2AAEdE81D2F6b261F79047517713B8E844E04`](https://etherscan.io/address/0x3DF2AAEdE81D2F6b261F79047517713B8E844E04) | [`flow-v1.1`](https://github.com/sablier-labs/sdk/blob/main/deployments/flow/v1.1) |
| FlowNFTDescriptor | [`0x24bE13897eE1F83367661B6bA616a72523fC55C9`](https://etherscan.io/address/0x24bE13897eE1F83367661B6bA616a72523fC55C9) | [`flow-v1.1`](https://github.com/sablier-labs/sdk/blob/main/deployments/flow/v1.1) |
### Form
| Contract | Address | Deployment |
| :-------- | :-------- | :--------- |
| SablierFlow | [`0x5dd399bb320412dF92Df5c10484d3F8d481FE231`](https://explorer.form.network/address/0x5dd399bb320412dF92Df5c10484d3F8d481FE231) | [`flow-v1.1`](https://github.com/sablier-labs/sdk/blob/main/deployments/flow/v1.1) |
| FlowNFTDescriptor | [`0x88E64227D4DcF8De1141bb0807A9DC04a5Be9251`](https://explorer.form.network/address/0x88E64227D4DcF8De1141bb0807A9DC04a5Be9251) | [`flow-v1.1`](https://github.com/sablier-labs/sdk/blob/main/deployments/flow/v1.1) |
### Gnosis
| Contract | Address | Deployment |
| :-------- | :-------- | :--------- |
| SablierFlow | [`0x34Bc0C2BF1F2DA51c65cd821bA4133aFCacdb8f5`](https://gnosisscan.io/address/0x34Bc0C2BF1F2DA51c65cd821bA4133aFCacdb8f5) | [`flow-v1.1`](https://github.com/sablier-labs/sdk/blob/main/deployments/flow/v1.1) |
| FlowNFTDescriptor | [`0x5A47FC8732d399a2f3845c4FC91aB91bb97da31F`](https://gnosisscan.io/address/0x5A47FC8732d399a2f3845c4FC91aB91bb97da31F) | [`flow-v1.1`](https://github.com/sablier-labs/sdk/blob/main/deployments/flow/v1.1) |
### HyperEVM
| Contract | Address | Deployment |
| :-------- | :-------- | :--------- |
| SablierFlow | [`0x556d859DFEB58Ed3fa092B6526b09da6b74113e2`](https://hyperevmscan.io/address/0x556d859DFEB58Ed3fa092B6526b09da6b74113e2) | [`flow-v1.1`](https://github.com/sablier-labs/sdk/blob/main/deployments/flow/v1.1) |
| FlowNFTDescriptor | [`0x81Cc8C4B57B9A60a56330d087D6854A8E17Dfc7A`](https://hyperevmscan.io/address/0x81Cc8C4B57B9A60a56330d087D6854A8E17Dfc7A) | [`flow-v1.1`](https://github.com/sablier-labs/sdk/blob/main/deployments/flow/v1.1) |
### IoTeX
| Contract | Address | Deployment |
| :-------- | :-------- | :--------- |
| SablierFlow | [`0xCD8871a22640C57ba36984Fb57E9c794f5Df7F40`](https://iotexscan.io/address/0xCD8871a22640C57ba36984Fb57E9c794f5Df7F40) | [`flow-v1.1`](https://github.com/sablier-labs/sdk/blob/main/deployments/flow/v1.1) |
| FlowNFTDescriptor | [`0x91D7B990B1aCDfB2F38189c646371377416c641E`](https://iotexscan.io/address/0x91D7B990B1aCDfB2F38189c646371377416c641E) | [`flow-v1.1`](https://github.com/sablier-labs/sdk/blob/main/deployments/flow/v1.1) |
### Lightlink
| Contract | Address | Deployment |
| :-------- | :-------- | :--------- |
| SablierFlow | [`0x89d964E0b508234bCfDc7a32aE0aA0356f422B70`](https://phoenix.lightlink.io/address/0x89d964E0b508234bCfDc7a32aE0aA0356f422B70) | [`flow-v1.1`](https://github.com/sablier-labs/sdk/blob/main/deployments/flow/v1.1) |
| FlowNFTDescriptor | [`0xc58E948Cb0a010105467C92856bcd4842B759fb1`](https://phoenix.lightlink.io/address/0xc58E948Cb0a010105467C92856bcd4842B759fb1) | [`flow-v1.1`](https://github.com/sablier-labs/sdk/blob/main/deployments/flow/v1.1) |
### Linea Mainnet
| Contract | Address | Deployment |
| :-------- | :-------- | :--------- |
| SablierFlow | [`0xEFc6e4C7DC5faA0CfBFEbB5e04eA7Cd47f64012f`](https://lineascan.build/address/0xEFc6e4C7DC5faA0CfBFEbB5e04eA7Cd47f64012f) | [`flow-v1.1`](https://github.com/sablier-labs/sdk/blob/main/deployments/flow/v1.1) |
| FlowNFTDescriptor | [`0x294D7fceBa43C4507771707CeBBB7b6d81d0BFdE`](https://lineascan.build/address/0x294D7fceBa43C4507771707CeBBB7b6d81d0BFdE) | [`flow-v1.1`](https://github.com/sablier-labs/sdk/blob/main/deployments/flow/v1.1) |
### Mode
| Contract | Address | Deployment |
| :-------- | :-------- | :--------- |
| SablierFlow | [`0xc968E8eEFe19BD6De8868df40D9740Be127a172a`](https://modescan.io/address/0xc968E8eEFe19BD6De8868df40D9740Be127a172a) | [`flow-v1.1`](https://github.com/sablier-labs/sdk/blob/main/deployments/flow/v1.1) |
| FlowNFTDescriptor | [`0xD9E2822a33606741BeDbA31614E68A745e430102`](https://modescan.io/address/0xD9E2822a33606741BeDbA31614E68A745e430102) | [`flow-v1.1`](https://github.com/sablier-labs/sdk/blob/main/deployments/flow/v1.1) |
### Morph
| Contract | Address | Deployment |
| :-------- | :-------- | :--------- |
| SablierFlow | [`0xf31c8E7D9a0Bd310a9d5Fb317ba67BB1f0101c6D`](https://explorer.morphl2.io/address/0xf31c8E7D9a0Bd310a9d5Fb317ba67BB1f0101c6D) | [`flow-v1.1`](https://github.com/sablier-labs/sdk/blob/main/deployments/flow/v1.1) |
| FlowNFTDescriptor | [`0x1dd4dcE2BB742908b4062E583d9c035973413A3F`](https://explorer.morphl2.io/address/0x1dd4dcE2BB742908b4062E583d9c035973413A3F) | [`flow-v1.1`](https://github.com/sablier-labs/sdk/blob/main/deployments/flow/v1.1) |
### OP Mainnet
| Contract | Address | Deployment |
| :-------- | :-------- | :--------- |
| SablierFlow | [`0xC5612feA2D370127ac67048115bd6b1dF7b7F7C0`](https://optimistic.etherscan.io/address/0xC5612feA2D370127ac67048115bd6b1dF7b7F7C0) | [`flow-v1.1`](https://github.com/sablier-labs/sdk/blob/main/deployments/flow/v1.1) |
| FlowNFTDescriptor | [`0x7AD245b74bBC1B71Da1713D53238931F791b90A3`](https://optimistic.etherscan.io/address/0x7AD245b74bBC1B71Da1713D53238931F791b90A3) | [`flow-v1.1`](https://github.com/sablier-labs/sdk/blob/main/deployments/flow/v1.1) |
### Polygon
| Contract | Address | Deployment |
| :-------- | :-------- | :--------- |
| SablierFlow | [`0x3e5c4130Ea7cfbD364FA5f170289d697865cA94b`](https://polygonscan.com/address/0x3e5c4130Ea7cfbD364FA5f170289d697865cA94b) | [`flow-v1.1`](https://github.com/sablier-labs/sdk/blob/main/deployments/flow/v1.1) |
| FlowNFTDescriptor | [`0x87B836a9e26673feB3E409A0da2EAf99C79f26C3`](https://polygonscan.com/address/0x87B836a9e26673feB3E409A0da2EAf99C79f26C3) | [`flow-v1.1`](https://github.com/sablier-labs/sdk/blob/main/deployments/flow/v1.1) |
### Scroll
| Contract | Address | Deployment |
| :-------- | :-------- | :--------- |
| SablierFlow | [`0xC4F104cE12cb12484Ff67cF0C4Bd0561F0014ec2`](https://scrollscan.com/address/0xC4F104cE12cb12484Ff67cF0C4Bd0561F0014ec2) | [`flow-v1.1`](https://github.com/sablier-labs/sdk/blob/main/deployments/flow/v1.1) |
| FlowNFTDescriptor | [`0x797Fe78c41d9cbE81BBEA2f420101be5e47d2aFf`](https://scrollscan.com/address/0x797Fe78c41d9cbE81BBEA2f420101be5e47d2aFf) | [`flow-v1.1`](https://github.com/sablier-labs/sdk/blob/main/deployments/flow/v1.1) |
### Sei Network
| Contract | Address | Deployment |
| :-------- | :-------- | :--------- |
| SablierFlow | [`0xdEF70082ebda4944A55311624900E42A720b4Ec9`](https://seitrace.com/address/0xdEF70082ebda4944A55311624900E42A720b4Ec9) | [`flow-v1.1`](https://github.com/sablier-labs/sdk/blob/main/deployments/flow/v1.1) |
| FlowNFTDescriptor | [`0xF3D18b06c87735a58DAb3baC45af058b3772fD54`](https://seitrace.com/address/0xF3D18b06c87735a58DAb3baC45af058b3772fD54) | [`flow-v1.1`](https://github.com/sablier-labs/sdk/blob/main/deployments/flow/v1.1) |
### Sonic
| Contract | Address | Deployment |
| :-------- | :-------- | :--------- |
| SablierFlow | [`0x63815da47C97063cc24b28D0b6F59234f71D5c96`](https://sonicscan.org/address/0x63815da47C97063cc24b28D0b6F59234f71D5c96) | [`flow-v1.1`](https://github.com/sablier-labs/sdk/blob/main/deployments/flow/v1.1) |
| FlowNFTDescriptor | [`0xAab30e5CB903f67F109aFc7102ac8ED803681EA5`](https://sonicscan.org/address/0xAab30e5CB903f67F109aFc7102ac8ED803681EA5) | [`flow-v1.1`](https://github.com/sablier-labs/sdk/blob/main/deployments/flow/v1.1) |
### Sophon
| Contract | Address | Deployment |
| :-------- | :-------- | :--------- |
| SablierFlow | [`0x20C9A3E27322Fc2b21Ced430D1B2e12d90804db6`](https://explorer.sophon.xyz/address/0x20C9A3E27322Fc2b21Ced430D1B2e12d90804db6) | [`flow-v1.1`](https://github.com/sablier-labs/sdk/blob/main/deployments/flow/v1.1) |
| FlowNFTDescriptor | [`0x2F1eB117A87217E8bE9AA96795F69c9e380686Db`](https://explorer.sophon.xyz/address/0x2F1eB117A87217E8bE9AA96795F69c9e380686Db) | [`flow-v1.1`](https://github.com/sablier-labs/sdk/blob/main/deployments/flow/v1.1) |
### Superseed
| Contract | Address | Deployment |
| :-------- | :-------- | :--------- |
| SablierFlow | [`0x40E75bb2F2aA3507D3a332872829c71be19eF623`](https://explorer.superseed.xyz/address/0x40E75bb2F2aA3507D3a332872829c71be19eF623) | [`flow-v1.1`](https://github.com/sablier-labs/sdk/blob/main/deployments/flow/v1.1) |
| FlowNFTDescriptor | [`0xd932fDA016eE9d9F70f745544b4F56715b1E723b`](https://explorer.superseed.xyz/address/0xd932fDA016eE9d9F70f745544b4F56715b1E723b) | [`flow-v1.1`](https://github.com/sablier-labs/sdk/blob/main/deployments/flow/v1.1) |
### Taiko
| Contract | Address | Deployment |
| :-------- | :-------- | :--------- |
| SablierFlow | [`0x9d4bc7f013cCddAE1658dc28F981C2D424d7F0Dd`](https://taikoscan.io/address/0x9d4bc7f013cCddAE1658dc28F981C2D424d7F0Dd) | [`flow-v1.1`](https://github.com/sablier-labs/sdk/blob/main/deployments/flow/v1.1) |
| FlowNFTDescriptor | [`0x80Bde7C505eFE9960b673567CB25Cd8af85552BE`](https://taikoscan.io/address/0x80Bde7C505eFE9960b673567CB25Cd8af85552BE) | [`flow-v1.1`](https://github.com/sablier-labs/sdk/blob/main/deployments/flow/v1.1) |
### Tangle
| Contract | Address | Deployment |
| :-------- | :-------- | :--------- |
| SablierFlow | [`0xcb099EfC90e88690e287259410B9AE63e1658CC6`](https://explorer.tangle.tools/address/0xcb099EfC90e88690e287259410B9AE63e1658CC6) | [`flow-v1.1`](https://github.com/sablier-labs/sdk/blob/main/deployments/flow/v1.1) |
| FlowNFTDescriptor | [`0xDf578C2c70A86945999c65961417057363530a1c`](https://explorer.tangle.tools/address/0xDf578C2c70A86945999c65961417057363530a1c) | [`flow-v1.1`](https://github.com/sablier-labs/sdk/blob/main/deployments/flow/v1.1) |
### Unichain
| Contract | Address | Deployment |
| :-------- | :-------- | :--------- |
| SablierFlow | [`0x9797B40340be0bFc9EC0dBb8712627Bcdd17E771`](https://uniscan.xyz/address/0x9797B40340be0bFc9EC0dBb8712627Bcdd17E771) | [`flow-v1.1`](https://github.com/sablier-labs/sdk/blob/main/deployments/flow/v1.1) |
| FlowNFTDescriptor | [`0x89824A7e48dcf6B7AE9DeE6E566f62A5aDF037F2`](https://uniscan.xyz/address/0x89824A7e48dcf6B7AE9DeE6E566f62A5aDF037F2) | [`flow-v1.1`](https://github.com/sablier-labs/sdk/blob/main/deployments/flow/v1.1) |
### XDC
| Contract | Address | Deployment |
| :-------- | :-------- | :--------- |
| SablierFlow | [`0xD6482334242862951dA3E730F818c3f6E3f45A30`](https://xdcscan.com/address/0xD6482334242862951dA3E730F818c3f6E3f45A30) | [`flow-v1.1`](https://github.com/sablier-labs/sdk/blob/main/deployments/flow/v1.1) |
| FlowNFTDescriptor | [`0x9D3F0122b260D2218ecf681c416495882003deDd`](https://xdcscan.com/address/0x9D3F0122b260D2218ecf681c416495882003deDd) | [`flow-v1.1`](https://github.com/sablier-labs/sdk/blob/main/deployments/flow/v1.1) |
### ZKsync Era
| Contract | Address | Deployment |
| :-------- | :-------- | :--------- |
| SablierFlow | [`0xE3747379bF7282e0ab5389A63eA053a5256042df`](https://era.zksync.network//address/0xE3747379bF7282e0ab5389A63eA053a5256042df) | [`flow-v1.1`](https://github.com/sablier-labs/sdk/blob/main/deployments/flow/v1.1) |
| FlowNFTDescriptor | [`0x423C1b454250992Ede8516D36DE456F609714B53`](https://era.zksync.network//address/0x423C1b454250992Ede8516D36DE456F609714B53) | [`flow-v1.1`](https://github.com/sablier-labs/sdk/blob/main/deployments/flow/v1.1) |
## Testnets
### Arbitrum Sepolia
| Contract | Address | Deployment |
| :-------- | :-------- | :--------- |
| SablierFlow | [`0xF9cbfFAe10010475A2800a5eFC11f4D4780cA48d`](https://sepolia.arbiscan.io/address/0xF9cbfFAe10010475A2800a5eFC11f4D4780cA48d) | [`flow-v1.1`](https://github.com/sablier-labs/sdk/blob/main/deployments/flow/v1.1) |
| FlowNFTDescriptor | [`0x3E64A31C3974b6ae9f09a8fbc784519bF551e795`](https://sepolia.arbiscan.io/address/0x3E64A31C3974b6ae9f09a8fbc784519bF551e795) | [`flow-v1.1`](https://github.com/sablier-labs/sdk/blob/main/deployments/flow/v1.1) |
### Base Sepolia
| Contract | Address | Deployment |
| :-------- | :-------- | :--------- |
| SablierFlow | [`0xFB6B72a5988A7701a9090C56936269241693a9CC`](https://sepolia.basescan.org/address/0xFB6B72a5988A7701a9090C56936269241693a9CC) | [`flow-v1.1`](https://github.com/sablier-labs/sdk/blob/main/deployments/flow/v1.1) |
| FlowNFTDescriptor | [`0xcb5591F6d0e0fFC03037ef7b006D1361C6D33D25`](https://sepolia.basescan.org/address/0xcb5591F6d0e0fFC03037ef7b006D1361C6D33D25) | [`flow-v1.1`](https://github.com/sablier-labs/sdk/blob/main/deployments/flow/v1.1) |
### Blast Sepolia
| Contract | Address | Deployment |
| :-------- | :-------- | :--------- |
| SablierFlow | [`0x027b55FD4b26A78a0463304C63f35e97A35246FD`](https://sepolia.blastscan.io/address/0x027b55FD4b26A78a0463304C63f35e97A35246FD) | [`flow-v1.1`](https://github.com/sablier-labs/sdk/blob/main/deployments/flow/v1.1) |
| FlowNFTDescriptor | [`0x42Abaf2c1E36624FD0084998A9BeA4a753A93e45`](https://sepolia.blastscan.io/address/0x42Abaf2c1E36624FD0084998A9BeA4a753A93e45) | [`flow-v1.1`](https://github.com/sablier-labs/sdk/blob/main/deployments/flow/v1.1) |
### Linea Sepolia
| Contract | Address | Deployment |
| :-------- | :-------- | :--------- |
| SablierFlow | [`0x3D0804610dE1b8DC19B1DDf90C26d5a51ab2B6b6`](https://sepolia.lineascan.build/address/0x3D0804610dE1b8DC19B1DDf90C26d5a51ab2B6b6) | [`flow-v1.1`](https://github.com/sablier-labs/sdk/blob/main/deployments/flow/v1.1) |
| FlowNFTDescriptor | [`0xbd17DFd74078dB49f12101Ca929b5153E924e9C7`](https://sepolia.lineascan.build/address/0xbd17DFd74078dB49f12101Ca929b5153E924e9C7) | [`flow-v1.1`](https://github.com/sablier-labs/sdk/blob/main/deployments/flow/v1.1) |
### Mode Testnet
| Contract | Address | Deployment |
| :-------- | :-------- | :--------- |
| SablierFlow | [`0x1063D400953441F1C6d8EF6406e1E6aa5684B82d`](https://sepolia.explorer.mode.network/address/0x1063D400953441F1C6d8EF6406e1E6aa5684B82d) | [`flow-v1.1`](https://github.com/sablier-labs/sdk/blob/main/deployments/flow/v1.1) |
| FlowNFTDescriptor | [`0xe1eDdA64eea2173a015A3738171C3a1C263324C7`](https://sepolia.explorer.mode.network/address/0xe1eDdA64eea2173a015A3738171C3a1C263324C7) | [`flow-v1.1`](https://github.com/sablier-labs/sdk/blob/main/deployments/flow/v1.1) |
### Morph Holesky
| Contract | Address | Deployment |
| :-------- | :-------- | :--------- |
| SablierFlow | [`0x9efc8663cab0e2d97ad17c9fbfc8392445517e94`](https://explorer-holesky.morphl2.io/address/0x9efc8663cab0e2d97ad17c9fbfc8392445517e94) | [`flow-v1.1`](https://github.com/sablier-labs/sdk/blob/main/deployments/flow/v1.1) |
| FlowNFTDescriptor | [`0x3d664b2da905ddd0db931982fd9a759ea950d6e1`](https://explorer-holesky.morphl2.io/address/0x3d664b2da905ddd0db931982fd9a759ea950d6e1) | [`flow-v1.1`](https://github.com/sablier-labs/sdk/blob/main/deployments/flow/v1.1) |
### OP Sepolia
| Contract | Address | Deployment |
| :-------- | :-------- | :--------- |
| SablierFlow | [`0x77873085a88189c8B82B3a01BcbC294108D02805`](https://optimism-sepolia.blockscout.com/address/0x77873085a88189c8B82B3a01BcbC294108D02805) | [`flow-v1.1`](https://github.com/sablier-labs/sdk/blob/main/deployments/flow/v1.1) |
| FlowNFTDescriptor | [`0x4739327acfb56E90177d44Cb0845e759276BCA88`](https://optimism-sepolia.blockscout.com/address/0x4739327acfb56E90177d44Cb0845e759276BCA88) | [`flow-v1.1`](https://github.com/sablier-labs/sdk/blob/main/deployments/flow/v1.1) |
### Sepolia
| Contract | Address | Deployment |
| :-------- | :-------- | :--------- |
| SablierFlow | [`0x93FE8f86e881a23e5A2FEB4B160514Fd332576A6`](https://sepolia.etherscan.io/address/0x93FE8f86e881a23e5A2FEB4B160514Fd332576A6) | [`flow-v1.1`](https://github.com/sablier-labs/sdk/blob/main/deployments/flow/v1.1) |
| FlowNFTDescriptor | [`0xc9dBf2D207D178875b698e5f7493ce2d8BA88994`](https://sepolia.etherscan.io/address/0xc9dBf2D207D178875b698e5f7493ce2d8BA88994) | [`flow-v1.1`](https://github.com/sablier-labs/sdk/blob/main/deployments/flow/v1.1) |
### Superseed Sepolia
| Contract | Address | Deployment |
| :-------- | :-------- | :--------- |
| SablierFlow | [`0x905756b52efeaf75f6b1bb1bb0fc35eea15ae260`](https://sepolia-explorer.superseed.xyz/address/0x905756b52efeaf75f6b1bb1bb0fc35eea15ae260) | [`flow-v1.1`](https://github.com/sablier-labs/sdk/blob/main/deployments/flow/v1.1) |
| FlowNFTDescriptor | [`0xc43fb9fe4477d8e8bf68b9fd3a0163a4cffcbb31`](https://sepolia-explorer.superseed.xyz/address/0xc43fb9fe4477d8e8bf68b9fd3a0163a4cffcbb31) | [`flow-v1.1`](https://github.com/sablier-labs/sdk/blob/main/deployments/flow/v1.1) |
### Taiko Hekla
| Contract | Address | Deployment |
| :-------- | :-------- | :--------- |
| SablierFlow | [`0xb528AF43fFEe6d4B702CF6235d2380e1828eD852`](https://hekla.taikoscan.network/address/0xb528AF43fFEe6d4B702CF6235d2380e1828eD852) | [`flow-v1.1`](https://github.com/sablier-labs/sdk/blob/main/deployments/flow/v1.1) |
| FlowNFTDescriptor | [`0xB197D4142b9DBf34979588cf8BF1222Ea3907916`](https://hekla.taikoscan.network/address/0xB197D4142b9DBf34979588cf8BF1222Ea3907916) | [`flow-v1.1`](https://github.com/sablier-labs/sdk/blob/main/deployments/flow/v1.1) |
### ZKsync Sepolia Testnet
| Contract | Address | Deployment |
| :-------- | :-------- | :--------- |
| SablierFlow | [`0xf499b35e2e932a05ecD6115Aa4DcCeb29aF55E3D`](https://sepolia-era.zksync.network//address/0xf499b35e2e932a05ecD6115Aa4DcCeb29aF55E3D) | [`flow-v1.1`](https://github.com/sablier-labs/sdk/blob/main/deployments/flow/v1.1) |
| FlowNFTDescriptor | [`0xb3eCE4451825f865479813d42f74a080D2CcC928`](https://sepolia-era.zksync.network//address/0xb3eCE4451825f865479813d42f74a080D2CcC928) | [`flow-v1.1`](https://github.com/sablier-labs/sdk/blob/main/deployments/flow/v1.1) |
---
## Gas Benchmarks
The gas usage of the Flow protocol is not deterministic and varies by user. Calls to third-party contracts, such as
ERC-20 tokens, may use an arbitrary amount of gas. The values in the table below are rough estimations on Ethereum
mainnet - you shouldn't take them for granted. The gas usage may vary depending on the network.
:::note
The benchmarks were generated using the code in this GitHub repository.
:::
## SablierFlow
---
## Configure Your Local Environment (2)
In this guide, we will go through the steps to set up a local development environment for building onchain
integrations with {props.protocol}. We will use Foundry to install {props.protocol} as a dependency, and run a simple test.
At the end, you’ll have a development environment set up that you can use to build the rest of the examples under
"Guides", or start your own integration project.
## Pre-requisites
You will need the following software on your machine:
- Git
- Foundry
- Node.js
- Bun
In addition, familiarity with Ethereum and Solidity is
requisite.
## Set up using integration template
:::tip
Make sure you are using the latest version of Foundry by running `foundryup`.
:::
We put together a template repository that you can use to get started quickly. This repository features a basic project
structure, pre-configured {props.protocol} imports, and a selection of sample contracts and tests.
To install the template, simply execute the following commands:
{`$ mkdir ${props.protocol.toLowerCase()}-integration-template
$ cd ${props.protocol.toLowerCase()}-integration-template
$ forge init --template sablier-labs/${props.protocol.toLowerCase()}-integration-template
$ bun install`}
Then, hop to the Run a Fork Test section to complete your set up and start
developing.
## Set up using Foundry template
Foundry is a popular development toolkit for Ethereum projects, which we have used to build the {props.protocol} Protocol. For
the purposes of this guide, Foundry will provide us with the tooling needed to compile and test our contracts.
Let's use this command to spin up a new Foundry project:
```bash
$ forge init my-project
$ cd my-project
```
Once the initialization completes, take a look around at what got set up:
```bash
├── foundry.toml
├── script
├── src
└── test
```
The folder structure should be intuitive:
- `src` is where you'll write Solidity contracts
- `test` is where you'll write tests (also in Solidity)
- `script` is where you'll write scripts to perform actions like deploying contracts (you guessed it, in Solidity)
- `foundry.toml` is where you can configure your Foundry settings, which we will leave as is in this guide
:::note
You might notice that the CLI is `forge` rather than `foundry`. This is because Foundry is a toolkit, and `forge` is
just one of the tools that comes with it.
:::
## Install via npm package
Let's install the {props.protocol} Node.js packages using Bun:
{`$ mkdir ${props.protocol.toLowerCase()}-integration-template
$ cd ${props.protocol.toLowerCase()}-integration-template
$ forge init --template sablier-labs/${props.protocol.toLowerCase()}-integration-template
$ bun install`}
{`$ bun add @sablier/${props.protocol.toLowerCase()}`}
Bun will download the {props.protocol} contracts, along with their dependencies, and put them in the `node_modules` directory.
Let's remap the package names to point to the installed contracts. This step is required so that the Solidity
compiler can find the {props.protocol} contracts when you import them:
{`$ echo "@sablier/${props.protocol.toLowerCase()}=node_modules/@sablier/${props.protocol.toLowerCase()}/" >> remappings.txt
$ echo "@openzeppelin/contracts/=node_modules/@openzeppelin/contracts/" >> remappings.txt
$ echo "@prb/math/=node_modules/@prb/math/" >> remappings.txt`}
That's it! You should now have a functional development environment to start building onchain {props.protocol}
integrations. Let's run a quick test to confirm everything is set up properly.
## Write your first contract
Delete the `src/Counter.sol` and `test/Counter.t.sol` files generated by Forge, and create two new files:
`src/StreamCreator.sol` and `test/StreamCreator.t.sol`.
Paste the following code into `src/StreamCreator.sol`:
{`https://github.com/sablier-labs/${props.protocol.toLowerCase()}-integration-template/blob/main/src/${props.protocol}StreamCreator.sol`}
Let's use Forge to compile this contract:
```bash
$ forge build
```
If the contract was compiled correctly, you should see this message:
```bash
[⠢] Compiling...
[⠰] Compiling 62 files with Solc 0.8.26
[⠒] Solc 0.8.26 finished in 967.04ms
Compiler run successful!
```
:::info
The minimum Solidity version supported by the {props.protocol} contracts is v0.8.22.
:::
## Run a fork test
Foundry offers native support for running tests against a fork of Ethereum Mainnet, testnets and L2s, which is useful
when building and testing integrations with onchain protocols like Sablier. In practice, this enables you to access all
Sablier contracts deployed on Ethereum, and use them for testing your integration.
As a prerequisite, you will need an RPC that supports forking. A good solution for this is Alchemy, as it includes forking in its free tier
plan.
Once you have obtained your RPC, you can proceed to run the following test:
{`https://github.com/sablier-labs/${props.protocol.toLowerCase()}-integration-template/blob/main/test/${props.protocol}StreamCreator.t.sol`}
You can run the test using Forge:
```bash
$ forge test
```
If the test passed, you should see a message like this:
{`Ran 2 tests for test/${props.protocol}StreamCreator.t.sol:${props.protocol}StreamCreatorTest
[PASS] test_Create{props.protocol}Stream() (gas: 246830)
Suite result: ok. 1 passed; 0 failed; 0 skipped; finished in 626.58ms (500.67µs CPU time)`}
## Next steps
Congratulations! Your environment is now configured, and you are prepared to start building. Explore the guides section
to discover various features available for {props.protocol} integration. Remember to include all contracts (`.sol` files) in the `src` folder and their corresponding tests in the `test` folder.
As far as Foundry is concerned, there is much more to uncover. If you want to learn more about it, check out the Foundry Book, which contains numerous examples and
tutorials. A deep understanding of Foundry will enable you to create more sophisticated integrations with {props.protocol} protocol.
---
## Calculate Rate per Second
This guide explains how to calculate the rate per second when creating a Flow stream. It is the most important step in
setting up a stream since the rate per second is a key parameter in the stream's configuration.
We assume that you have already gone through the [Protocol Concepts](/concepts/streaming) and the
[Flow Overview](/concepts/flow/overview) sections.
:::caution
The code in this guide is not production-ready, and is implemented in a simplistic manner for the purpose of learning.
:::
The rate per second is the amount of tokens streamed in one second. It is represented as a fixed-point number with 18
decimals, specifically as a `UD21x18` type from the `PRBMath` library. The underlying native Solidity type associated
with `UD21x18` is `uint128`.
Depending on how you receive payments, you have to calculate the rate per second and scale its value to 18 decimals
format as below:
1. Based on a duration, e.g., 3 months
2. Between two points in time, e.g., January 1, 2025 to April, 1 2025
The calculation method is the same in either case.
## Set up a library
Declare the Solidity version used to compile the library:
```solidity
pragma solidity >=0.8.22;
```
Import the relevant symbols:
```solidity
```
Declare a library that can be used in other contracts:
```solidity
library FlowUtilities {}
```
## Calculate the rate per second on a duration
Define a function called `ratePerSecondWithDuration` that takes the following parameters and the returned value:
```solidity
function ratePerSecondWithDuration(
address token,
uint128 amount,
uint40 duration
)
internal
view
returns (UD21x18 ratePerSecond)
{
// ...
}
```
First, retrieve the token's decimals. Note that not all ERC-20 tokens use the 18-decimal standard.
```solidity
uint8 decimals = IERC20Metadata(token).decimals();
```
If the token uses 18 decimals, simply divide the amount by the duration:
```solidity
if (decimals == 18) {
return ud21x18(amount / duration);
}
```
If the token has less than 18 decimals, calculate the scale factor from the token's decimals:
```solidity
uint128 scaleFactor = uint128(10 ** (18 - decimals));
```
Then, multiply the amount by the scale factor and divide it by the duration:
```solidity
return ud21x18((amount * scaleFactor) / duration);
```
## Calculate the rate per second on timestamps
Here, there are two time parameters, a start and an end time, instead of a duration. Let's define the function:
```solidity
function ratePerSecondForTimestamps(
address token,
uint128 amount,
uint40 start,
uint40 end
)
internal
view
returns (UD21x18 ratePerSecond)
{
// ...
}
```
The first step is to calculate the duration between the two timestamps:
```solidity
uint40 duration = end - start;
```
The remaining logic is identical to the duration-based calculation:
```solidity
uint8 decimals = IERC20Metadata(token).decimals();
if (decimals == 18) {
return ud21x18(amount / duration);
}
uint128 scaleFactor = uint128(10 ** (18 - decimals));
ratePerSecond = ud21x18((scaleFactor * amount) / duration);
```
## Additional utilities
To calculate earnings for specific durations from an existing stream, you can use the following functions:
```solidity
function calculateAmountStreamedPerWeek(UD21x18 ratePerSecond) internal pure returns (uint128 amountPerWeek) {
amountPerWeek = ratePerSecond.unwrap() * 1 weeks;
}
function calculateAmountStreamedPerMonth(UD21x18 ratePerSecond) internal pure returns (uint128 amountPerMonth) {
amountPerMonth = ratePerSecond.unwrap() * 30 days;
}
function calculateAmountStreamedPerYear(UD21x18 ratePerSecond) internal pure returns (uint128 amountPerYear) {
amountPerYear = ratePerSecond.unwrap() * 365 days;
}
```
## Full code
Below you can see the complete `FlowUtilities` library:
{`https://github.com/sablier-labs/examples/blob/main/flow/FlowUtilities.sol`}
---
## Create a Stream
# Create a Flow stream
In this guide, we will show you how you can create a Flow stream using Solidity.
It is important to note that A Flow stream has no end date, which means it will continue to accumulate debt even if no
funds are deposited.
This guide assumes that you have already gone through the [Calculate Rate per Second](./02-calculate-rps.mdx) section.
:::caution
The code in this guide is not production-ready, and is implemented in a simplistic manner for the purpose of learning.
:::
## Set up a contract
Declare the Solidity version used to compile the contract:
```solidity
pragma solidity >=0.8.22;
```
Import the relevant symbols from `@sablier/flow`, and the `FlowUtilities` library:
```solidity
```
Create a contract called `FlowStreamCreator`, and declare a constant `USDC` of type `IERC20` and a constant `FLOW` of
type `ISablierFlow`:
```solidity
contract FlowStreamCreator {
IERC20 public constant USDC = IERC20(0xf08A50178dfcDe18524640EA6618a1f965821715);
ISablierFlow public constant FLOW = ISablierFlow(0x52ab22e769E31564E17D524b683264B65662A014);
}
```
In the code above, the contract addresses are hard-coded for demonstration purposes. However, in production, you
would likely use input parameters to allow flexibility in changing the addresses.
Also, these addresses are deployed on Ethereum Sepolia. If you need to work with a different chain, {props.protocol}
addresses can be obtained from the {props.protocol}
Deployments page.
We will declare two functions, based on the amount desired to stream over a period of time.
## Define a function
Define a function to stream a salary of 1000 USDC per month, call it `createStream_1K_PerMonth` which returns the newly
created stream ID:
```solidity
function createStream_1K_PerMonth() external returns (uint256) {
// ...
}
```
## Input parameters
### Rate Per Second
Use the [`FlowUtilities`](./02-calculate-rps.mdx) library to calculate the rate per second for the desired amount:
```solidity
UD21x18 ratePerSecond = FlowUtilities.ratePerSecondWithDuration({ token: address(USDC), amount: 1000e6, duration: 30 days });
```
### Sender
The address streaming the tokens, with the ability to `pause` the stream:
```solidity
sender = msg.sender
```
### Recipient
The address receiving the tokens:
```solidity
recipient = address(0xCAFE);
```
### Token
The contract address of the ERC-20 token used for streaming. In this example, we will stream `USDC`:
```solidity
token = USDC;
```
### Transferable
Boolean that indicates whether the stream will be transferable or not.
```solidity
transferable = true;
```
### Invoke the create function
With all the parameters, we can call the `create` function on the `FLOW` contract and assign the newly created stream to
`streamId` variable:
```solidity
streamId = FLOW.create({
sender: msg.sender,
recipient: address(0xCAFE),
ratePerSecond: FlowUtilities.ratePerSecondWithDuration({ token: address(USDC), amount: 1000e6, duration: 30 days }),
token: USDC,
transferable: true
});
```
## Full code
Below you can see the complete `FlowStreamCreator` contract:
{`https://github.com/sablier-labs/examples/blob/main/flow/FlowStreamCreator.sol`}
---
## Stream Management
# Managing a Stream
This section will guide you through the different functions of Flow and how to interact with them. Before diving in,
please note the following:
1. We assume you are already familiar with [creating Flow streams](./03-create-stream.mdx).
2. We also assume that the stream management contract is authorized to invoke each respective function. To learn more
about access control in Flow, see the [Access Control](/reference/flow/access-control) guide.
:::caution
The code in this guide is not production-ready, and is implemented in a simplistic manner for the purpose of learning.
:::
# Set up your contract
Declare the Solidity version used to compile the contract:
```solidity
// SPDX-License-Identifier: GPL-3.0-or-later
pragma solidity >=0.8.22;
```
Import the relevant symbols from `@sablier/flow` and `@prb/math`:
```solidity
```
Declare the contract and add the Flow address as a constant:
```solidity
contract FlowStreamManager {
ISablierFlow public constant FLOW = ISablierFlow(0x52ab22e769E31564E17D524b683264B65662A014);
}
```
In the code above, the contract addresses are hard-coded for demonstration purposes. However, in production, you
would likely use input parameters to allow flexibility in changing the addresses.
Also, these addresses are deployed on Ethereum Sepolia. If you need to work with a different chain, {props.protocol}
addresses can be obtained from the {props.protocol}
Deployments page.
## Deposit
Depositing into streams means adding tokens to the stream, which will then be distributed to the recipient based on the
value of rate per second.
:::info
A deposit is also referred to as a top-up.
:::
There are three deposit functions:
1. [`deposit`](/reference/flow/contracts/contract.SablierFlow#deposit): deposits an amount of tokens.
2. [`depositAndPause`](/reference/flow/contracts/contract.SablierFlow#depositandpause): deposits an amount of tokens and
then pauses the stream.
3. [`depositViaBroker`](/reference/flow/contracts/contract.SablierFlow#depositviabroker): deposits an amount of tokens
and transfers a fee to the [broker](/concepts/glossary#broker-fee) specified.
```solidity
function deposit(uint256 streamId, uint256 amount) external {
FLOW.deposit(streamId, amount);
}
function depositAndPause(uint256 streamId) external {
FLOW.depositAndPause(streamId, 3.14159e18);
}
function depositViaBroker(uint256 streamId) external {
Broker memory broker = Broker({ account: address(0xDEAD), fee: ud60x18(0.0001e18) });
FLOW.depositViaBroker({
streamId: streamId,
totalAmount: 3.14159e18,
sender: msg.sender,
recipient: address(0xCAFE),
broker: broker
});
}
```
## Withdraw
The recipient of a stream can withdraw any amount, not exceeding the withdrawable amount. The recipient also has the
option to withdraw the tokens to an alternate address of their choice.
There are two withdrawal functions:
1. [`withdraw`](/reference/flow/contracts/contract.SablierFlow#withdraw): withdraws an amount of tokens not exceeding
the withdrawable amount.
2. [`withdrawMax`](/reference/flow/contracts/contract.SablierFlow#withdrawmax): withdraws the entire withdrawable amount
of tokens.
```solidity
function withdraw(uint256 streamId) external {
FLOW.withdraw({ streamId: streamId, to: address(0xCAFE), amount: 2.71828e18 });
}
function withdrawMax(uint256 streamId) external {
FLOW.withdrawMax({ streamId: streamId, to: address(0xCAFE) });
}
```
## Adjust Rate per Second
Adjusting the rate per second means changing the amount of tokens that is streamed each second.
```solidity
function adjustRatePerSecond(uint256 streamId) external {
FLOW.adjustRatePerSecond({ streamId: streamId, newRatePerSecond: ud21x18(0.0001e18) });
}
```
## Pause
Pausing a stream means setting the rate per second to zero, which means no more streaming.
```solidity
function pause(uint256 streamId) external {
FLOW.pause(streamId);
}
```
## Restart
There are two restart functions:
1. [`restart`](/reference/flow/contracts/contract.SablierFlow#restart): restarts a stream.
2. [`restartAndDeposit`](/reference/flow/contracts/contract.SablierFlow#restartanddeposit): restarts a stream followed
by depositing an amount of tokens into it.
```solidity
function restart(uint256 streamId) external {
FLOW.restart({ streamId: streamId, ratePerSecond: ud21x18(0.0001e18) });
}
function restartAndDeposit(uint256 streamId) external {
FLOW.restartAndDeposit({ streamId: streamId, ratePerSecond: ud21x18(0.0001e18), amount: 2.71828e18 });
}
```
## Refund
There are three refund functions:
1. [`refund`](/reference/flow/contracts/contract.SablierFlow#refund): refunds an amount of tokens not exceeding the
refundable amount.
2. [`refundAndPause`](/reference/flow/contracts/contract.SablierFlow#refundandpause): refunds an amount of tokens, and
then pauses the stream.
3. [`refundMax`](/reference/flow/contracts/contract.SablierFlow#refundmax): refunds the entire refundable amount of
tokens.
```solidity
function refund(uint256 streamId) external {
FLOW.refund({ streamId: streamId, amount: 1.61803e18 });
}
function refundAndPause(uint256 streamId) external {
FLOW.refundAndPause({ streamId: streamId, amount: 1.61803e18 });
}
function refundMax(uint256 streamId) external {
FLOW.refundMax(streamId);
}
```
## Void
Voiding a stream means permanently stopping it from streaming any tokens. This is slightly different from pausing a
stream because it also sets the stream's uncovered debt to zero.
```solidity
function void(uint256 streamId) external {
FLOW.void(streamId);
}
```
## Full code
Below you can see the complete `FlowStreamManager` contract:
{`https://github.com/sablier-labs/examples/blob/main/flow/FlowStreamManager.sol`}
---
## Batching Functions
A neat feature of Sablier Flow is the ability to batch multiple function calls into a single transaction. This is made
possible by the [`Batch`](/reference/flow/contracts/abstracts/abstract.Batch) contract, which is inherited by
`SablierFlow`. With this, you can efficiently batch multiple function calls in a single transaction.
:::caution
The code in this guide is not production-ready, and is implemented in a simplistic manner for the purpose of learning.
:::
## Set up a contract
Declare the Solidity version used to compile the contract:
```solidity
pragma solidity >=0.8.22;
```
Import the relevant symbols:
```solidity
```
Create a contract called `FlowBatchable`, and declare a constant `USDC` of type `IERC20` and a constant `FLOW` of type
`ISablierFlow`:
```solidity
contract FlowBatchable {
IERC20 public constant USDC = IERC20(0xf08A50178dfcDe18524640EA6618a1f965821715);
ISablierFlow public constant FLOW = ISablierFlow(0x52ab22e769E31564E17D524b683264B65662A014);
}
```
In the code above, the contract addresses are hard-coded for demonstration purposes. However, in production, you
would likely use input parameters to allow flexibility in changing the addresses.
Also, these addresses are deployed on Ethereum Sepolia. If you need to work with a different chain, {props.protocol}
addresses can be obtained from the {props.protocol}
Deployments page.
## Create multiple streams
One of the most useful features achieved by `batch` is the ability to create multiple streams in a single transaction.
Let's focus on it in this example.
Define a function that creates multiple streams and returns their respective stream IDs:
```solidity
function createMultiple() external returns (uint256[] memory streamIds) {
// ...
}
```
### Parameters
We will create two streams with same stream parameters required by the `create` function.
```solidity
address sender = msg.sender;
address firstRecipient = address(0xCAFE);
address secondRecipient = address(0xBEEF);
UD21x18 firstRatePerSecond = ud21x18(0.0001e18);
UD21x18 secondRatePerSecond = ud21x18(0.0002e18);
bool transferable = true;
```
Construct an array of `bytes` of length 2 to be passed into the `batch` function:
```solidity
bytes[] memory calls = new bytes[](2);
calls[0] = abi.encodeCall(FLOW.create, (sender, firstRecipient, firstRatePerSecond, USDC, transferable));
calls[1] = abi.encodeCall(FLOW.create, (sender, secondRecipient, secondRatePerSecond, USDC, transferable));
```
Since we are creating two streams, the function will return an array containing the two generated stream IDs:
```solidity
uint256 nextStreamId = FLOW.nextStreamId();
streamIds = new uint256[](2);
streamIds[0] = nextStreamId;
streamIds[1] = nextStreamId + 1;
```
Execute the `batch`:
```solidity
FLOW.batch(calls);
```
## Homework
Try to implement the following ideas using `batch` function:
- Adjust Rate Per Second and Deposit
- Pause and Withdraw Max
- Void and Withdraw Max
- Multiple Withdraw Max
Below, you will find the full code for it.
## Other ideas
There are plenty of other possibilities as well! Feel free to experiment and come up with combinations that suit your
system. 🚀
## Full code
Below you can see the complete `FlowBatchable` contract:
{`https://github.com/sablier-labs/examples/blob/main/flow/FlowBatchable.sol`}
---
## v1.0
# Flow v1.0
This section contains the deployment addresses for the v1.0 release of
[@sablier/flow@1.0.0](https://npmjs.com/package/@sablier/flow/v/1.0.0).
A few noteworthy details about the deployments:
- The addresses are final
- All contracts are non-upgradeable
- The source code is verified on Etherscan across all chains
:::info
This is an outdated version of the Flow protocol. See the latest version [here](/guides/flow/deployments).
:::
## Mainnets
### Abstract
| Contract | Address | Deployment |
| :-------- | :-------- | :--------- |
| FlowNFTDescriptor | [`0x20C9A3E27322Fc2b21Ced430D1B2e12d90804db6`](https://abscan.org/address/0x20C9A3E27322Fc2b21Ced430D1B2e12d90804db6) | [`flow-v1.0`](https://github.com/sablier-labs/sdk/blob/main/deployments/flow/v1.0) |
| SablierFlow | [`0x001F1408515Ccd5C1A19A682455ed4eFa39DadD6`](https://abscan.org/address/0x001F1408515Ccd5C1A19A682455ed4eFa39DadD6) | [`flow-v1.0`](https://github.com/sablier-labs/sdk/blob/main/deployments/flow/v1.0) |
### Arbitrum
| Contract | Address | Deployment |
| :-------- | :-------- | :--------- |
| FlowNFTDescriptor | [`0x900ebdb9ecfb19f9463d68d1fd6e5fa7ab9c6897`](https://arbiscan.io/address/0x900ebdb9ecfb19f9463d68d1fd6e5fa7ab9c6897) | [`flow-v1.0`](https://github.com/sablier-labs/sdk/blob/main/deployments/flow/v1.0) |
| SablierFlow | [`0x18a12a7035aa56240bcd236bc019aa245dcc015a`](https://arbiscan.io/address/0x18a12a7035aa56240bcd236bc019aa245dcc015a) | [`flow-v1.0`](https://github.com/sablier-labs/sdk/blob/main/deployments/flow/v1.0) |
### Avalanche
| Contract | Address | Deployment |
| :-------- | :-------- | :--------- |
| FlowNFTDescriptor | [`0x82ea83ab59b106c125168492cd468c322bd0d195`](https://snowtrace.io/address/0x82ea83ab59b106c125168492cd468c322bd0d195) | [`flow-v1.0`](https://github.com/sablier-labs/sdk/blob/main/deployments/flow/v1.0) |
| SablierFlow | [`0x8c172e42c06302e3cfe555dc4d6b71a756ee186b`](https://snowtrace.io/address/0x8c172e42c06302e3cfe555dc4d6b71a756ee186b) | [`flow-v1.0`](https://github.com/sablier-labs/sdk/blob/main/deployments/flow/v1.0) |
### Base
| Contract | Address | Deployment |
| :-------- | :-------- | :--------- |
| FlowNFTDescriptor | [`0x8e64f389a4697e004647162ec6ea0a7779d5d899`](https://basescan.org/address/0x8e64f389a4697e004647162ec6ea0a7779d5d899) | [`flow-v1.0`](https://github.com/sablier-labs/sdk/blob/main/deployments/flow/v1.0) |
| SablierFlow | [`0x1a9adc0e2114c8407cc31669baafeee031d15dd2`](https://basescan.org/address/0x1a9adc0e2114c8407cc31669baafeee031d15dd2) | [`flow-v1.0`](https://github.com/sablier-labs/sdk/blob/main/deployments/flow/v1.0) |
### Blast
| Contract | Address | Deployment |
| :-------- | :-------- | :--------- |
| FlowNFTDescriptor | [`0xb40624ce2af67227529f713bac46e2b7064b7b92`](https://blastscan.io/address/0xb40624ce2af67227529f713bac46e2b7064b7b92) | [`flow-v1.0`](https://github.com/sablier-labs/sdk/blob/main/deployments/flow/v1.0) |
| SablierFlow | [`0xfdac2799644141856e20e021ac06f231cafc731f`](https://blastscan.io/address/0xfdac2799644141856e20e021ac06f231cafc731f) | [`flow-v1.0`](https://github.com/sablier-labs/sdk/blob/main/deployments/flow/v1.0) |
### BNB Chain
| Contract | Address | Deployment |
| :-------- | :-------- | :--------- |
| FlowNFTDescriptor | [`0xbc6fdd3f59900b9fcd445f8df159e2e794f098ec`](https://bscscan.com/address/0xbc6fdd3f59900b9fcd445f8df159e2e794f098ec) | [`flow-v1.0`](https://github.com/sablier-labs/sdk/blob/main/deployments/flow/v1.0) |
| SablierFlow | [`0xfce01f79247cf450062545e7155d7bd568551d0e`](https://bscscan.com/address/0xfce01f79247cf450062545e7155d7bd568551d0e) | [`flow-v1.0`](https://github.com/sablier-labs/sdk/blob/main/deployments/flow/v1.0) |
### Chiliz
| Contract | Address | Deployment |
| :-------- | :-------- | :--------- |
| FlowNFTDescriptor | [`0x3D664B2Da905DDD0Db931982FD9a759ea950D6e1`](https://scan.chiliz.com/address/0x3D664B2Da905DDD0Db931982FD9a759ea950D6e1) | [`flow-v1.0`](https://github.com/sablier-labs/sdk/blob/main/deployments/flow/v1.0) |
| SablierFlow | [`0x9EfC8663cAB0e2d97ad17C9fbfc8392445517E94`](https://scan.chiliz.com/address/0x9EfC8663cAB0e2d97ad17C9fbfc8392445517E94) | [`flow-v1.0`](https://github.com/sablier-labs/sdk/blob/main/deployments/flow/v1.0) |
### Core Dao
| Contract | Address | Deployment |
| :-------- | :-------- | :--------- |
| FlowNFTDescriptor | [`0xbfaa055ecfe503e1323dc9fc26b7d3aa3bf54364`](https://scan.coredao.org/address/0xbfaa055ecfe503e1323dc9fc26b7d3aa3bf54364) | [`flow-v1.0`](https://github.com/sablier-labs/sdk/blob/main/deployments/flow/v1.0) |
| SablierFlow | [`0x447c6ea25540611541ff98fc677ca865f4e92450`](https://scan.coredao.org/address/0x447c6ea25540611541ff98fc677ca865f4e92450) | [`flow-v1.0`](https://github.com/sablier-labs/sdk/blob/main/deployments/flow/v1.0) |
### Ethereum
| Contract | Address | Deployment |
| :-------- | :-------- | :--------- |
| FlowNFTDescriptor | [`0xb69b27073fa0366cddf432f5976c34c9baf7eae6`](https://etherscan.io/address/0xb69b27073fa0366cddf432f5976c34c9baf7eae6) | [`flow-v1.0`](https://github.com/sablier-labs/sdk/blob/main/deployments/flow/v1.0) |
| SablierFlow | [`0x2d9221a63e12aa796619cb381ec4a71b201281f5`](https://etherscan.io/address/0x2d9221a63e12aa796619cb381ec4a71b201281f5) | [`flow-v1.0`](https://github.com/sablier-labs/sdk/blob/main/deployments/flow/v1.0) |
### Gnosis
| Contract | Address | Deployment |
| :-------- | :-------- | :--------- |
| FlowNFTDescriptor | [`0xc07c1128c19c2bf303b68ae061eff5293927630e`](https://gnosisscan.io/address/0xc07c1128c19c2bf303b68ae061eff5293927630e) | [`flow-v1.0`](https://github.com/sablier-labs/sdk/blob/main/deployments/flow/v1.0) |
| SablierFlow | [`0x5515f774a4db42820802333ba575f68a6e85bd13`](https://gnosisscan.io/address/0x5515f774a4db42820802333ba575f68a6e85bd13) | [`flow-v1.0`](https://github.com/sablier-labs/sdk/blob/main/deployments/flow/v1.0) |
### IoTeX
| Contract | Address | Deployment |
| :-------- | :-------- | :--------- |
| FlowNFTDescriptor | [`0x83Dd52FCA44E069020b58155b761A590F12B59d3`](https://iotexscan.io/address/0x83Dd52FCA44E069020b58155b761A590F12B59d3) | [`flow-v1.0`](https://github.com/sablier-labs/sdk/blob/main/deployments/flow/v1.0) |
| SablierFlow | [`0x1DdC1c21CD39c2Fa16366E6036c95342A31831Ba`](https://iotexscan.io/address/0x1DdC1c21CD39c2Fa16366E6036c95342A31831Ba) | [`flow-v1.0`](https://github.com/sablier-labs/sdk/blob/main/deployments/flow/v1.0) |
### Lightlink
| Contract | Address | Deployment |
| :-------- | :-------- | :--------- |
| FlowNFTDescriptor | [`0xa2a48b83b6c96e1536336df9ead024d557a97a23`](https://phoenix.lightlink.io/address/0xa2a48b83b6c96e1536336df9ead024d557a97a23) | [`flow-v1.0`](https://github.com/sablier-labs/sdk/blob/main/deployments/flow/v1.0) |
| SablierFlow | [`0x46fa0164c5af9382d330e5a245a2ca8a18398950`](https://phoenix.lightlink.io/address/0x46fa0164c5af9382d330e5a245a2ca8a18398950) | [`flow-v1.0`](https://github.com/sablier-labs/sdk/blob/main/deployments/flow/v1.0) |
### Linea Mainnet
| Contract | Address | Deployment |
| :-------- | :-------- | :--------- |
| FlowNFTDescriptor | [`0xF430f0d2f798c42fDFAc35b5e32BD4f63Bf51130`](https://lineascan.build/address/0xF430f0d2f798c42fDFAc35b5e32BD4f63Bf51130) | [`flow-v1.0`](https://github.com/sablier-labs/sdk/blob/main/deployments/flow/v1.0) |
| SablierFlow | [`0x949bFa08f1632432A2656a9dB17CA34d54Da8296`](https://lineascan.build/address/0x949bFa08f1632432A2656a9dB17CA34d54Da8296) | [`flow-v1.0`](https://github.com/sablier-labs/sdk/blob/main/deployments/flow/v1.0) |
### Mode
| Contract | Address | Deployment |
| :-------- | :-------- | :--------- |
| FlowNFTDescriptor | [`0x46fa0164c5af9382d330e5a245a2ca8a18398950`](https://modescan.io/address/0x46fa0164c5af9382d330e5a245a2ca8a18398950) | [`flow-v1.0`](https://github.com/sablier-labs/sdk/blob/main/deployments/flow/v1.0) |
| SablierFlow | [`0x75970dde488431fc4961494569def3269f20d6b3`](https://modescan.io/address/0x75970dde488431fc4961494569def3269f20d6b3) | [`flow-v1.0`](https://github.com/sablier-labs/sdk/blob/main/deployments/flow/v1.0) |
### Morph
| Contract | Address | Deployment |
| :-------- | :-------- | :--------- |
| FlowNFTDescriptor | [`0xab281bbc2bc34a1f202ddff17ffd1c00edf73f3a`](https://explorer.morphl2.io/address/0xab281bbc2bc34a1f202ddff17ffd1c00edf73f3a) | [`flow-v1.0`](https://github.com/sablier-labs/sdk/blob/main/deployments/flow/v1.0) |
| SablierFlow | [`0xfe6972d0ae797fae343e5a58d0c7d8513937f092`](https://explorer.morphl2.io/address/0xfe6972d0ae797fae343e5a58d0c7d8513937f092) | [`flow-v1.0`](https://github.com/sablier-labs/sdk/blob/main/deployments/flow/v1.0) |
### OP Mainnet
| Contract | Address | Deployment |
| :-------- | :-------- | :--------- |
| FlowNFTDescriptor | [`0xe674fb603d6f72b88bf297c1ba69f57b588a8f6d`](https://optimistic.etherscan.io/address/0xe674fb603d6f72b88bf297c1ba69f57b588a8f6d) | [`flow-v1.0`](https://github.com/sablier-labs/sdk/blob/main/deployments/flow/v1.0) |
| SablierFlow | [`0x906356e4e6410ea0a97dbc5b071cf394ab0dcd69`](https://optimistic.etherscan.io/address/0x906356e4e6410ea0a97dbc5b071cf394ab0dcd69) | [`flow-v1.0`](https://github.com/sablier-labs/sdk/blob/main/deployments/flow/v1.0) |
### Polygon
| Contract | Address | Deployment |
| :-------- | :-------- | :--------- |
| FlowNFTDescriptor | [`0x011277c87158e52cfbd8a1dd4a29118d602dda3a`](https://polygonscan.com/address/0x011277c87158e52cfbd8a1dd4a29118d602dda3a) | [`flow-v1.0`](https://github.com/sablier-labs/sdk/blob/main/deployments/flow/v1.0) |
| SablierFlow | [`0xcf2d812d5aad4e6fec3b05850ff056b21159d496`](https://polygonscan.com/address/0xcf2d812d5aad4e6fec3b05850ff056b21159d496) | [`flow-v1.0`](https://github.com/sablier-labs/sdk/blob/main/deployments/flow/v1.0) |
### Scroll
| Contract | Address | Deployment |
| :-------- | :-------- | :--------- |
| FlowNFTDescriptor | [`0x57fd892b3dc20eadb83cd8fb0240a87960046daa`](https://scrollscan.com/address/0x57fd892b3dc20eadb83cd8fb0240a87960046daa) | [`flow-v1.0`](https://github.com/sablier-labs/sdk/blob/main/deployments/flow/v1.0) |
| SablierFlow | [`0x66826f53bffeaab71adc7fe1a77e86f8268848d8`](https://scrollscan.com/address/0x66826f53bffeaab71adc7fe1a77e86f8268848d8) | [`flow-v1.0`](https://github.com/sablier-labs/sdk/blob/main/deployments/flow/v1.0) |
### Superseed
| Contract | Address | Deployment |
| :-------- | :-------- | :--------- |
| FlowNFTDescriptor | [`0xac2c36347869d8d779f7872c6202de3efd6ef2bb`](https://explorer.superseed.xyz/address/0xac2c36347869d8d779f7872c6202de3efd6ef2bb) | [`flow-v1.0`](https://github.com/sablier-labs/sdk/blob/main/deployments/flow/v1.0) |
| SablierFlow | [`0x4f5f9b3fb57bba43aaf90e3f71d8f8f384e88e20`](https://explorer.superseed.xyz/address/0x4f5f9b3fb57bba43aaf90e3f71d8f8f384e88e20) | [`flow-v1.0`](https://github.com/sablier-labs/sdk/blob/main/deployments/flow/v1.0) |
### Taiko
| Contract | Address | Deployment |
| :-------- | :-------- | :--------- |
| FlowNFTDescriptor | [`0xe790b6178612eeba6faeec16a2e1354c872f8bde`](https://taikoscan.io/address/0xe790b6178612eeba6faeec16a2e1354c872f8bde) | [`flow-v1.0`](https://github.com/sablier-labs/sdk/blob/main/deployments/flow/v1.0) |
| SablierFlow | [`0x3d303e4c61285f87da9f61aaadc8c89b7d55dfa2`](https://taikoscan.io/address/0x3d303e4c61285f87da9f61aaadc8c89b7d55dfa2) | [`flow-v1.0`](https://github.com/sablier-labs/sdk/blob/main/deployments/flow/v1.0) |
### Tangle
| Contract | Address | Deployment |
| :-------- | :-------- | :--------- |
| FlowNFTDescriptor | [`0x2De92156000269fa2fde7544F10f01E8cBC80fFa`](https://explorer.tangle.tools/address/0x2De92156000269fa2fde7544F10f01E8cBC80fFa) | [`flow-v1.0`](https://github.com/sablier-labs/sdk/blob/main/deployments/flow/v1.0) |
| SablierFlow | [`0xCff4a803b0Bf55dD1BE38Fb96088478F3D2eeCF2`](https://explorer.tangle.tools/address/0xCff4a803b0Bf55dD1BE38Fb96088478F3D2eeCF2) | [`flow-v1.0`](https://github.com/sablier-labs/sdk/blob/main/deployments/flow/v1.0) |
### ZKsync Era
| Contract | Address | Deployment |
| :-------- | :-------- | :--------- |
| FlowNFTDescriptor | [`0x01C40608f2822816cF25a0a911c1df330487ba62`](https://era.zksync.network//address/0x01C40608f2822816cF25a0a911c1df330487ba62) | [`flow-v1.0`](https://github.com/sablier-labs/sdk/blob/main/deployments/flow/v1.0) |
| SablierFlow | [`0x015899a075B7C181e357Cd0ed000683DBB4F1FcE`](https://era.zksync.network//address/0x015899a075B7C181e357Cd0ed000683DBB4F1FcE) | [`flow-v1.0`](https://github.com/sablier-labs/sdk/blob/main/deployments/flow/v1.0) |
## Testnets
### Arbitrum Sepolia
| Contract | Address | Deployment |
| :-------- | :-------- | :--------- |
| FlowNFTDescriptor | [`0x9a08e6ae67c28002ee2c7cff9badecd33ae2151c`](https://sepolia.arbiscan.io/address/0x9a08e6ae67c28002ee2c7cff9badecd33ae2151c) | [`flow-v1.0`](https://github.com/sablier-labs/sdk/blob/main/deployments/flow/v1.0) |
| SablierFlow | [`0x781b3b2527f2a0a1e6b429161f2717a8a28b9f46`](https://sepolia.arbiscan.io/address/0x781b3b2527f2a0a1e6b429161f2717a8a28b9f46) | [`flow-v1.0`](https://github.com/sablier-labs/sdk/blob/main/deployments/flow/v1.0) |
### Base Sepolia
| Contract | Address | Deployment |
| :-------- | :-------- | :--------- |
| FlowNFTDescriptor | [`0x168ad0b246f604bc70bef87ecde585c3f1d49617`](https://sepolia.basescan.org/address/0x168ad0b246f604bc70bef87ecde585c3f1d49617) | [`flow-v1.0`](https://github.com/sablier-labs/sdk/blob/main/deployments/flow/v1.0) |
| SablierFlow | [`0xd5f78708d83ac2bc8734a8cdf2d112c1bb3b62a2`](https://sepolia.basescan.org/address/0xd5f78708d83ac2bc8734a8cdf2d112c1bb3b62a2) | [`flow-v1.0`](https://github.com/sablier-labs/sdk/blob/main/deployments/flow/v1.0) |
### Blast Sepolia
| Contract | Address | Deployment |
| :-------- | :-------- | :--------- |
| FlowNFTDescriptor | [`0x567a95aa72a23b924f79dfa437d28c38740e144c`](https://sepolia.blastscan.io/address/0x567a95aa72a23b924f79dfa437d28c38740e144c) | [`flow-v1.0`](https://github.com/sablier-labs/sdk/blob/main/deployments/flow/v1.0) |
| SablierFlow | [`0xa8c864c53e72301c2ab484d013627a5a7084174b`](https://sepolia.blastscan.io/address/0xa8c864c53e72301c2ab484d013627a5a7084174b) | [`flow-v1.0`](https://github.com/sablier-labs/sdk/blob/main/deployments/flow/v1.0) |
### Linea Sepolia
| Contract | Address | Deployment |
| :-------- | :-------- | :--------- |
| FlowNFTDescriptor | [`0xcd8871a22640c57ba36984fb57e9c794f5df7f40`](https://sepolia.lineascan.build/address/0xcd8871a22640c57ba36984fb57e9c794f5df7f40) | [`flow-v1.0`](https://github.com/sablier-labs/sdk/blob/main/deployments/flow/v1.0) |
| SablierFlow | [`0xb0255ed1ee5c01dfe865c1b21bbf56a80f9ae739`](https://sepolia.lineascan.build/address/0xb0255ed1ee5c01dfe865c1b21bbf56a80f9ae739) | [`flow-v1.0`](https://github.com/sablier-labs/sdk/blob/main/deployments/flow/v1.0) |
### Mode Testnet
| Contract | Address | Deployment |
| :-------- | :-------- | :--------- |
| FlowNFTDescriptor | [`0x1cae76b71913598d7664d16641ccb6037d8ed61a`](https://sepolia.explorer.mode.network/address/0x1cae76b71913598d7664d16641ccb6037d8ed61a) | [`flow-v1.0`](https://github.com/sablier-labs/sdk/blob/main/deployments/flow/v1.0) |
| SablierFlow | [`0xf5ac60870e1ccc4bfce23cfbb7a796a0d8dbaf47`](https://sepolia.explorer.mode.network/address/0xf5ac60870e1ccc4bfce23cfbb7a796a0d8dbaf47) | [`flow-v1.0`](https://github.com/sablier-labs/sdk/blob/main/deployments/flow/v1.0) |
### Morph Holesky
| Contract | Address | Deployment |
| :-------- | :-------- | :--------- |
| FlowNFTDescriptor | [`0x3d664b2da905ddd0db931982fd9a759ea950d6e1`](https://explorer-holesky.morphl2.io/address/0x3d664b2da905ddd0db931982fd9a759ea950d6e1) | [`flow-v1.0`](https://github.com/sablier-labs/sdk/blob/main/deployments/flow/v1.0) |
| SablierFlow | [`0x9efc8663cab0e2d97ad17c9fbfc8392445517e94`](https://explorer-holesky.morphl2.io/address/0x9efc8663cab0e2d97ad17c9fbfc8392445517e94) | [`flow-v1.0`](https://github.com/sablier-labs/sdk/blob/main/deployments/flow/v1.0) |
### OP Sepolia
| Contract | Address | Deployment |
| :-------- | :-------- | :--------- |
| FlowNFTDescriptor | [`0x28401987a23ed9b8926b07f3b6855222a70c2128`](https://optimism-sepolia.blockscout.com/address/0x28401987a23ed9b8926b07f3b6855222a70c2128) | [`flow-v1.0`](https://github.com/sablier-labs/sdk/blob/main/deployments/flow/v1.0) |
| SablierFlow | [`0x417db0f2bd020fc4d6bccea6b2bb6be0c541862e`](https://optimism-sepolia.blockscout.com/address/0x417db0f2bd020fc4d6bccea6b2bb6be0c541862e) | [`flow-v1.0`](https://github.com/sablier-labs/sdk/blob/main/deployments/flow/v1.0) |
### Sepolia
| Contract | Address | Deployment |
| :-------- | :-------- | :--------- |
| FlowNFTDescriptor | [`0xbc4da2fbdfe5c5eaa11bd0e282201e2abf40b1ee`](https://sepolia.etherscan.io/address/0xbc4da2fbdfe5c5eaa11bd0e282201e2abf40b1ee) | [`flow-v1.0`](https://github.com/sablier-labs/sdk/blob/main/deployments/flow/v1.0) |
| SablierFlow | [`0x5ae8c13f6ae094887322012425b34b0919097d8a`](https://sepolia.etherscan.io/address/0x5ae8c13f6ae094887322012425b34b0919097d8a) | [`flow-v1.0`](https://github.com/sablier-labs/sdk/blob/main/deployments/flow/v1.0) |
### Superseed Sepolia
| Contract | Address | Deployment |
| :-------- | :-------- | :--------- |
| FlowNFTDescriptor | [`0xc43fb9fe4477d8e8bf68b9fd3a0163a4cffcbb31`](https://sepolia-explorer.superseed.xyz/address/0xc43fb9fe4477d8e8bf68b9fd3a0163a4cffcbb31) | [`flow-v1.0`](https://github.com/sablier-labs/sdk/blob/main/deployments/flow/v1.0) |
| SablierFlow | [`0x905756b52efeaf75f6b1bb1bb0fc35eea15ae260`](https://sepolia-explorer.superseed.xyz/address/0x905756b52efeaf75f6b1bb1bb0fc35eea15ae260) | [`flow-v1.0`](https://github.com/sablier-labs/sdk/blob/main/deployments/flow/v1.0) |
### Taiko Hekla
| Contract | Address | Deployment |
| :-------- | :-------- | :--------- |
| FlowNFTDescriptor | [`0xd45f45dd34045a368854f7987a84d9485b4b45e9`](https://hekla.taikoscan.network/address/0xd45f45dd34045a368854f7987a84d9485b4b45e9) | [`flow-v1.0`](https://github.com/sablier-labs/sdk/blob/main/deployments/flow/v1.0) |
| SablierFlow | [`0x29b7bafce0a04638dc91ca0b87a562cab8c3dbde`](https://hekla.taikoscan.network/address/0x29b7bafce0a04638dc91ca0b87a562cab8c3dbde) | [`flow-v1.0`](https://github.com/sablier-labs/sdk/blob/main/deployments/flow/v1.0) |
### ZKsync Sepolia Testnet
| Contract | Address | Deployment |
| :-------- | :-------- | :--------- |
| FlowNFTDescriptor | [`0x900277DBB45a04eB79028b3A44c650Ac81Ca86c4`](https://sepolia-era.zksync.network//address/0x900277DBB45a04eB79028b3A44c650Ac81Ca86c4) | [`flow-v1.0`](https://github.com/sablier-labs/sdk/blob/main/deployments/flow/v1.0) |
| SablierFlow | [`0x8e70296F8972eBE94d885B1Caf94Da4836976140`](https://sepolia-era.zksync.network//address/0x8e70296F8972eBE94d885B1Caf94Da4836976140) | [`flow-v1.0`](https://github.com/sablier-labs/sdk/blob/main/deployments/flow/v1.0) |
---
## Overview (14)
# Legacy
:::warning
Legacy has been superseded by [Sablier Lockup](/guides/lockup/overview).
:::
This is a technical account on how to integrate Legacy into your own application. If you have any questions along the
way, please join the #dev channel in the [Sablier Discord server](https://discord.sablier.com); our team, and members of
the community, look forward to helping you.
What we will cover:
- Smart contract architecture and ABI.
- Networks and typical gas costs.
- How to create, withdraw from and cancel streams.
---
## Deployment Addresses (3)
# Legacy Deployment Addresses
This section contains deployment addresses for Sablier Legacy, an old release that has been superseded by
[Sablier Lockup](/guides/lockup/overview).
Legacy is still accessible through the [legacy user interfaces](https://legacy-sender.sablier.com).
## Legacy v1.1
| Contract | Chain | Address |
| ----------- | ---------------- | ------------------------------------------------------------------------------------------------------------------------------------ |
| Sablier.sol | Ethereum Mainnet | [0xCD18eAa163733Da39c232722cBC4E8940b1D8888](https://etherscan.io/address/0xCD18eAa163733Da39c232722cBC4E8940b1D8888) |
| Sablier.sol | Arbitrum One | [0xaDB944B478818d95659067E70D2e5Fc43Fa3eDe9](https://arbiscan.io/address/0xaDB944B478818d95659067E70D2e5Fc43Fa3eDe9) |
| Sablier.sol | Avalanche | [0x73f503fad13203C87889c3D5c567550b2d41D7a4](https://snowtrace.io/address/0x73f503fad13203C87889c3D5c567550b2d41D7a4) |
| Sablier.sol | BNB Smart Chain | [0x05BC7f5fb7F248d44d38703e5C921A8c16825161](https://bscscan.com/address/0x05BC7f5fb7F248d44d38703e5C921A8c16825161) |
| Sablier.sol | Optimism | [0x6C5927c0679e6d857E87367bb635decbcB20F31c](https://optimistic.etherscan.io/address/0x6C5927c0679e6d857E87367bb635decbcB20F31c) |
| Sablier.sol | Polygon Mainnet | [0xAC18EAB6592F5fF6F9aCf5E0DCE0Df8E49124C06](https://polygonscan.com/address/0xAC18EAB6592F5fF6F9aCf5E0DCE0Df8E49124C06) |
| Sablier.sol | Ronin | [0xDe9dCc27aa1552d591Fc9B9c21881feE43BD8118](https://explorer.roninchain.com/address/ronin:de9dcc27aa1552d591fc9b9c21881fee43bd8118) |
| Sablier.sol | Goerli | [0xFc7E3a3073F88B0f249151192812209117C2014b](https://goerli.etherscan.io/address/0xFc7E3a3073F88B0f249151192812209117C2014b) |
## Legacy v1.0
_This is an outdated deployment_.
| Contract | Chain | Address |
| ----------- | ---------------- | --------------------------------------------------------------------------------------------------------------------- |
| Payroll.sol | Ethereum Mainnet | [0xbd6a40Bb904aEa5a49c59050B5395f7484A4203d](https://etherscan.io/address/0xbd6a40Bb904aEa5a49c59050B5395f7484A4203d) |
| Sablier.sol | Ethereum Mainnet | [0xA4fc358455Febe425536fd1878bE67FfDBDEC59a](https://etherscan.io/address/0xA4fc358455Febe425536fd1878bE67FfDBDEC59a) |
## Unofficial deployments
Unofficial deployments are made by external teams, an they are not supported in the official user interface.
| Chain | Address | Deployer |
| ----- | ---------------------------------------------------------------------------------------------------------------------- | ------------------------------------------ |
| IoTeX | [0x93Efd750a7F589f9FE26408a91e15587a88c4E78](https://iotexscout.io/address/0x93Efd750a7F589f9FE26408a91e15587a88c4E78) | [IoTeX team](https://twitter.com/iotex_io) |
## Testnet Tokens
If you want to use the Sablier interfaces on a testnet, you need to get some testnet DAI first. To do this, you have to
go to the Etherscan page of the associated token, tap the "Write Contract" tab, connect your Ethereum wallet and call
the `mint` method.
Note that the testnet token has 18 decimals, so you may want to use a
[unit converter](https://tools.deth.net/token-unit-conversion).
| Chain | Network | Ethereum address |
| ---------- | ------- | ---------------------------------------------------------------------------------------------------------------------------- |
| TestnetDAI | Goerli | [0x97cb342Cf2F6EcF48c1285Fb8668f5a4237BF862](https://goerli.etherscan.io/address/0x97cb342Cf2F6EcF48c1285Fb8668f5a4237BF862) |
---
## Codebase
## Repository
The Sablier Legacy code is hosted on GitHub and the source code for each contract is verified on Etherscan.
## ABIs
Depending on the web3 library you're working with, you may need to get hold of the Lockup ABIs (application binary
interfaces). The ABI acts as an interface between two program modules, one of which is the smart contract and the other
the Ethereum virtual machine code.
There are two ways to obtain it:
1. Copy `Sablier.json` from [sablier-labs/legacy-abis](https://github.com/sablier-labs/legacy-abis).
2. Clone [sablier-labs/legacy](https://github.com/sablier-labs/legacy) and compile the contract yourself.
Here's an example for how to do step 2 with yarn and truffle:
```bash
$ git clone git@github.com/sablier-labs/legacy.git sablier-legacy
$ cd ./sablier-legacy
$ yarn bootstrap
$ cd ./packages/protocol
$ truffle compile
The `Sablier.json` artifact should be generated in the relative `build/contracts` folder.
```
---
## Streams (4)
Every interaction with Sablier is in relation to a specific "token stream". This is how we refer to a real-time payment.
A token stream has six properties:
1. Sender.
2. Recipient.
3. Fixed deposit amount.
4. ERC-20 token used as streaming currency.
5. Start time
6. Stop Time
## Example
Imagine a 3,000 DAI salary paid by Alice to Bob over the whole month of January. The start time would be Jan 1 and the
stop time Feb 1. Every second makes Bob richer; on Jan 10, he would have earned approximately 1,000 DAI.
---
## Gas Costs
The gas usage of Sablier Legacy is not deterministic and varies by user. Calls to third-party contracts, such as
[ERC-20](https://eips.ethereum.org/EIPS/eip-20) tokens, may use an arbitrary amount of gas. The values in the table
below are rough estimations - you shouldn't take them for granted:
| Action | Typical Gas Cost |
| -------------------- | ---------------- |
| Create stream | ~240K |
| Withdraw from stream | ~80K |
| Cancel stream | ~90K |
---
## Overview (15)
# Sablier Lockup
Welcome to the Sablier Lockup documentation.
This section contains detailed guides and technical references for the Lockup protocol, a suite of smart contracts
running autonomously in the Ethereum ecosystem. These documents offer insight into the operational nuances of the
contracts, providing a valuable resource for building onchain integrations.
# Guides
If you are new to Sablier, we recommend you start with the [Concepts](/concepts/what-is-sablier) section first.
You can then setup your [local environment](/guides/lockup/examples/local-environment) and create your
[first stream](/guides/lockup/examples/create-stream/lockup-linear).
# Reference
For a deeper dive into the protocol specifications, read through the [technical reference](/reference/lockup/diagrams).
# Versioning
The product uses a unified versioning system across releases and NPM packages.
Prior to Lockup v1.2, we used a different versioning scheme (V2.0, V2.1, V2.2), while the NPM package used a semantic
versioning scheme (e.g., v1.0.2, v1.1.2). Since Lockup v1.2, the versioning has been unified into a single system for
greater consistency across protocol releases and NPM packages.
# Resources
- [Source Code](https://github.com/sablier-labs/lockup/tree/release)
- [Integration Templates](https://github.com/sablier-labs/lockup-integration-template)
- [Examples](https://github.com/sablier-labs/examples/tree/main/lockup/)
- [Foundry Book](https://book.getfoundry.sh/)
---
## Deployment Addresses (4)
# Lockup Deployments
This section contains the deployment addresses for the v2.0 release of
[@sablier/lockup](https://npmjs.com/package/@sablier/lockup).
A few noteworthy details about the deployments:
- The addresses are final
- All contracts are non-upgradeable
- The source code is verified on Etherscan across all chains
:::info[important]
The Lockup Periphery repo has been discontinued in favor of the new [Airdrops repo](/guides/airdrops/overview).
:::
## Versions
Any updates or additional features will require a new deployment of the protocol, due to its immutable nature.
Came here looking for the previous Lockup deployments? Click below to see other versions.
| Version | Release Date | UI Aliases |
| ------------------------------------------------ | ------------- | ---------------------------------------------------------------------- |
| [v2.0](/guides/lockup/deployments) (latest) | February 2025 | `LK` (Lockup): all models have been merged into a single contract |
| [v1.2](/guides/lockup/previous-deployments/v1.2) | July 2024 | `LD3` (Lockup Dynamic), `LL3` (Lockup Linear), `LT3` (Lockup Tranched) |
| [v1.1](/guides/lockup/previous-deployments/v1.1) | December 2023 | `LD2` (Lockup Dynamic), `LL2` (Lockup Linear) |
| [v1.0](/guides/lockup/previous-deployments/v1.0) | July 2023 | `LD` (Lockup Dynamic), `LL` (Lockup Linear) |
Or maybe you're looking for Legacy? [Click here](/guides/legacy/deployments).
:::info
Stay up to date with any new releases by [subscribing](https://x.com/Sablier/status/1821220784661995627) to the official
Sablier repositories on Github.
:::
## Mainnets
### Ethereum
| Contract | Address | Deployment |
| :-------- | :-------- | :--------- |
| Helpers | [`0xf8076E4Fb5cfE8be1C26E61222DC51828Db8C1dc`](https://etherscan.io/address/0xf8076E4Fb5cfE8be1C26E61222DC51828Db8C1dc) | [`lockup-v2.0`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v2.0) |
| LockupNFTDescriptor | [`0xA9dC6878C979B5cc1d98a1803F0664ad725A1f56`](https://etherscan.io/address/0xA9dC6878C979B5cc1d98a1803F0664ad725A1f56) | [`lockup-v2.0`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v2.0) |
| SablierBatchLockup | [`0x3F6E8a8Cffe377c4649aCeB01e6F20c60fAA356c`](https://etherscan.io/address/0x3F6E8a8Cffe377c4649aCeB01e6F20c60fAA356c) | [`lockup-v2.0`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v2.0) |
| SablierLockup | [`0x7C01AA3783577E15fD7e272443D44B92d5b21056`](https://etherscan.io/address/0x7C01AA3783577E15fD7e272443D44B92d5b21056) | [`lockup-v2.0`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v2.0) |
| VestingMath | [`0x5522CA06Ce080800AB59BA4C091e63f6f54C5E6d`](https://etherscan.io/address/0x5522CA06Ce080800AB59BA4C091e63f6f54C5E6d) | [`lockup-v2.0`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v2.0) |
### Abstract
| Contract | Address | Deployment |
| :-------- | :-------- | :--------- |
| Helpers | [`0x07c194dFE7DCe9Ae7Ffe4bF32683cf1F8CDD4aEa`](https://abscan.org/address/0x07c194dFE7DCe9Ae7Ffe4bF32683cf1F8CDD4aEa) | [`lockup-v2.0`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v2.0) |
| LockupNFTDescriptor | [`0x63Ff2E370788C163D5a1909B5FCb299DB327AEF9`](https://abscan.org/address/0x63Ff2E370788C163D5a1909B5FCb299DB327AEF9) | [`lockup-v2.0`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v2.0) |
| SablierBatchLockup | [`0x3409308357BB704f79f70d748da502F363Dc2f1D`](https://abscan.org/address/0x3409308357BB704f79f70d748da502F363Dc2f1D) | [`lockup-v2.0`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v2.0) |
| SablierLockup | [`0x14Eb4AB47B2ec2a71763eaBa202a252E176FAE88`](https://abscan.org/address/0x14Eb4AB47B2ec2a71763eaBa202a252E176FAE88) | [`lockup-v2.0`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v2.0) |
| VestingMath | [`0xbB2e2884AE40003BB55fd3A85A9f8f7f72Aa441F`](https://abscan.org/address/0xbB2e2884AE40003BB55fd3A85A9f8f7f72Aa441F) | [`lockup-v2.0`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v2.0) |
### Arbitrum
| Contract | Address | Deployment |
| :-------- | :-------- | :--------- |
| Helpers | [`0xf8076E4Fb5cfE8be1C26E61222DC51828Db8C1dc`](https://arbiscan.io/address/0xf8076E4Fb5cfE8be1C26E61222DC51828Db8C1dc) | [`lockup-v2.0`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v2.0) |
| LockupNFTDescriptor | [`0xd5c6a0Dd2E1822865c308850b8b3E2CcE762D061`](https://arbiscan.io/address/0xd5c6a0Dd2E1822865c308850b8b3E2CcE762D061) | [`lockup-v2.0`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v2.0) |
| SablierBatchLockup | [`0xB11Ead48F572155C5F8dB6201701e91A936896f7`](https://arbiscan.io/address/0xB11Ead48F572155C5F8dB6201701e91A936896f7) | [`lockup-v2.0`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v2.0) |
| SablierLockup | [`0x467D5Bf8Cfa1a5f99328fBdCb9C751c78934b725`](https://arbiscan.io/address/0x467D5Bf8Cfa1a5f99328fBdCb9C751c78934b725) | [`lockup-v2.0`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v2.0) |
| VestingMath | [`0x5522CA06Ce080800AB59BA4C091e63f6f54C5E6d`](https://arbiscan.io/address/0x5522CA06Ce080800AB59BA4C091e63f6f54C5E6d) | [`lockup-v2.0`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v2.0) |
### Avalanche
| Contract | Address | Deployment |
| :-------- | :-------- | :--------- |
| Helpers | [`0xf8076E4Fb5cfE8be1C26E61222DC51828Db8C1dc`](https://snowtrace.io/address/0xf8076E4Fb5cfE8be1C26E61222DC51828Db8C1dc) | [`lockup-v2.0`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v2.0) |
| LockupNFTDescriptor | [`0x906A4BD5dD0EF13654eA29bFD6185d0d64A4b674`](https://snowtrace.io/address/0x906A4BD5dD0EF13654eA29bFD6185d0d64A4b674) | [`lockup-v2.0`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v2.0) |
| SablierBatchLockup | [`0xABDE228d84D86D78029C31A37Ae2435C8f923c8b`](https://snowtrace.io/address/0xABDE228d84D86D78029C31A37Ae2435C8f923c8b) | [`lockup-v2.0`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v2.0) |
| SablierLockup | [`0x3C81BBBe72EF8eF3fb1D19B0bd6310Ad0dd27E82`](https://snowtrace.io/address/0x3C81BBBe72EF8eF3fb1D19B0bd6310Ad0dd27E82) | [`lockup-v2.0`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v2.0) |
| VestingMath | [`0x5522CA06Ce080800AB59BA4C091e63f6f54C5E6d`](https://snowtrace.io/address/0x5522CA06Ce080800AB59BA4C091e63f6f54C5E6d) | [`lockup-v2.0`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v2.0) |
### Base
| Contract | Address | Deployment |
| :-------- | :-------- | :--------- |
| Helpers | [`0xf8076E4Fb5cfE8be1C26E61222DC51828Db8C1dc`](https://basescan.org/address/0xf8076E4Fb5cfE8be1C26E61222DC51828Db8C1dc) | [`lockup-v2.0`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v2.0) |
| LockupNFTDescriptor | [`0x87e437030b7439150605a641483de98672E26317`](https://basescan.org/address/0x87e437030b7439150605a641483de98672E26317) | [`lockup-v2.0`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v2.0) |
| SablierBatchLockup | [`0xC26CdAFd6ec3c91AD9aEeB237Ee1f37205ED26a4`](https://basescan.org/address/0xC26CdAFd6ec3c91AD9aEeB237Ee1f37205ED26a4) | [`lockup-v2.0`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v2.0) |
| SablierLockup | [`0xb5D78DD3276325f5FAF3106Cc4Acc56E28e0Fe3B`](https://basescan.org/address/0xb5D78DD3276325f5FAF3106Cc4Acc56E28e0Fe3B) | [`lockup-v2.0`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v2.0) |
| VestingMath | [`0x5522CA06Ce080800AB59BA4C091e63f6f54C5E6d`](https://basescan.org/address/0x5522CA06Ce080800AB59BA4C091e63f6f54C5E6d) | [`lockup-v2.0`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v2.0) |
### Berachain
| Contract | Address | Deployment |
| :-------- | :-------- | :--------- |
| Helpers | [`0xf8076E4Fb5cfE8be1C26E61222DC51828Db8C1dc`](https://berascan.com/address/0xf8076E4Fb5cfE8be1C26E61222DC51828Db8C1dc) | [`lockup-v2.0`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v2.0) |
| LockupNFTDescriptor | [`0x3bbE0a21792564604B0fDc00019532Adeffa70eb`](https://berascan.com/address/0x3bbE0a21792564604B0fDc00019532Adeffa70eb) | [`lockup-v2.0`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v2.0) |
| SablierBatchLockup | [`0x75838C66Dfa2296bB9758f75fC7ad219718C8a88`](https://berascan.com/address/0x75838C66Dfa2296bB9758f75fC7ad219718C8a88) | [`lockup-v2.0`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v2.0) |
| SablierLockup | [`0xC19A2542156b5d7960e0eF46E9787E7d336cF428`](https://berascan.com/address/0xC19A2542156b5d7960e0eF46E9787E7d336cF428) | [`lockup-v2.0`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v2.0) |
| VestingMath | [`0x5522CA06Ce080800AB59BA4C091e63f6f54C5E6d`](https://berascan.com/address/0x5522CA06Ce080800AB59BA4C091e63f6f54C5E6d) | [`lockup-v2.0`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v2.0) |
### Blast
| Contract | Address | Deployment |
| :-------- | :-------- | :--------- |
| Helpers | [`0xf8076E4Fb5cfE8be1C26E61222DC51828Db8C1dc`](https://blastscan.io/address/0xf8076E4Fb5cfE8be1C26E61222DC51828Db8C1dc) | [`lockup-v2.0`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v2.0) |
| LockupNFTDescriptor | [`0x959c412d5919b1Ec5D07bee3443ea68c91d57dd7`](https://blastscan.io/address/0x959c412d5919b1Ec5D07bee3443ea68c91d57dd7) | [`lockup-v2.0`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v2.0) |
| SablierBatchLockup | [`0x193c2af965FEAca8D893c974712e5b6BD3cBc5ec`](https://blastscan.io/address/0x193c2af965FEAca8D893c974712e5b6BD3cBc5ec) | [`lockup-v2.0`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v2.0) |
| SablierLockup | [`0xDbB6e9653d7e41766712Db22eB08ED3F21009fdd`](https://blastscan.io/address/0xDbB6e9653d7e41766712Db22eB08ED3F21009fdd) | [`lockup-v2.0`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v2.0) |
| VestingMath | [`0x5522CA06Ce080800AB59BA4C091e63f6f54C5E6d`](https://blastscan.io/address/0x5522CA06Ce080800AB59BA4C091e63f6f54C5E6d) | [`lockup-v2.0`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v2.0) |
### BNB Chain
| Contract | Address | Deployment |
| :-------- | :-------- | :--------- |
| Helpers | [`0xf8076E4Fb5cfE8be1C26E61222DC51828Db8C1dc`](https://bscscan.com/address/0xf8076E4Fb5cfE8be1C26E61222DC51828Db8C1dc) | [`lockup-v2.0`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v2.0) |
| LockupNFTDescriptor | [`0x56831a5a932793E02251126831174Ab8Bf2f7695`](https://bscscan.com/address/0x56831a5a932793E02251126831174Ab8Bf2f7695) | [`lockup-v2.0`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v2.0) |
| SablierBatchLockup | [`0xcf990fA3267F0945bBf7cf40A0c03F9dFE6a1804`](https://bscscan.com/address/0xcf990fA3267F0945bBf7cf40A0c03F9dFE6a1804) | [`lockup-v2.0`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v2.0) |
| SablierLockup | [`0x6E0baD2c077d699841F1929b45bfb93FAfBEd395`](https://bscscan.com/address/0x6E0baD2c077d699841F1929b45bfb93FAfBEd395) | [`lockup-v2.0`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v2.0) |
| VestingMath | [`0x5522CA06Ce080800AB59BA4C091e63f6f54C5E6d`](https://bscscan.com/address/0x5522CA06Ce080800AB59BA4C091e63f6f54C5E6d) | [`lockup-v2.0`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v2.0) |
### Chiliz
| Contract | Address | Deployment |
| :-------- | :-------- | :--------- |
| Helpers | [`0x6FcAB41e3b62d05aB4fC729586CB06Af2a2662D0`](https://scan.chiliz.com/address/0x6FcAB41e3b62d05aB4fC729586CB06Af2a2662D0) | [`lockup-v2.0`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v2.0) |
| LockupNFTDescriptor | [`0x8A96f827082FB349B6e268baa0a7A5584c4Ccda6`](https://scan.chiliz.com/address/0x8A96f827082FB349B6e268baa0a7A5584c4Ccda6) | [`lockup-v2.0`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v2.0) |
| SablierBatchLockup | [`0x179536f3289fb50076968b339C7EF0Dc0B38E3AF`](https://scan.chiliz.com/address/0x179536f3289fb50076968b339C7EF0Dc0B38E3AF) | [`lockup-v2.0`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v2.0) |
| SablierLockup | [`0x711900e5f55d427cd88e5E3FCAe54Ccf02De71F4`](https://scan.chiliz.com/address/0x711900e5f55d427cd88e5E3FCAe54Ccf02De71F4) | [`lockup-v2.0`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v2.0) |
| VestingMath | [`0x84f092cf4D7D36C2d4987F672df81a39200a7146`](https://scan.chiliz.com/address/0x84f092cf4D7D36C2d4987F672df81a39200a7146) | [`lockup-v2.0`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v2.0) |
### Core Dao
| Contract | Address | Deployment |
| :-------- | :-------- | :--------- |
| Helpers | [`0xf8076E4Fb5cfE8be1C26E61222DC51828Db8C1dc`](https://scan.coredao.org/address/0xf8076E4Fb5cfE8be1C26E61222DC51828Db8C1dc) | [`lockup-v2.0`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v2.0) |
| LockupNFTDescriptor | [`0xac0cf0f2a96ed7ec3cfa4d0be621c67adc9dd903`](https://scan.coredao.org/address/0xac0cf0f2a96ed7ec3cfa4d0be621c67adc9dd903) | [`lockup-v2.0`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v2.0) |
| SablierBatchLockup | [`0x96dadeeab25413de04a1b8e40c4de41bd9d7fd29`](https://scan.coredao.org/address/0x96dadeeab25413de04a1b8e40c4de41bd9d7fd29) | [`lockup-v2.0`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v2.0) |
| SablierLockup | [`0x4fff53bfe86a0bd59a81c89d8ba84c67cf947764`](https://scan.coredao.org/address/0x4fff53bfe86a0bd59a81c89d8ba84c67cf947764) | [`lockup-v2.0`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v2.0) |
| VestingMath | [`0x5522CA06Ce080800AB59BA4C091e63f6f54C5E6d`](https://scan.coredao.org/address/0x5522CA06Ce080800AB59BA4C091e63f6f54C5E6d) | [`lockup-v2.0`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v2.0) |
### Form
| Contract | Address | Deployment |
| :-------- | :-------- | :--------- |
| Helpers | [`0xf8076E4Fb5cfE8be1C26E61222DC51828Db8C1dc`](https://explorer.form.network/address/0xf8076E4Fb5cfE8be1C26E61222DC51828Db8C1dc) | [`lockup-v2.0`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v2.0) |
| LockupNFTDescriptor | [`0x6Ef33eeCE9D3B04B1A954C0c94F09808C81512c8`](https://explorer.form.network/address/0x6Ef33eeCE9D3B04B1A954C0c94F09808C81512c8) | [`lockup-v2.0`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v2.0) |
| SablierBatchLockup | [`0x74759072f464F6600E7563DcC2828A2dE8111840`](https://explorer.form.network/address/0x74759072f464F6600E7563DcC2828A2dE8111840) | [`lockup-v2.0`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v2.0) |
| SablierLockup | [`0xa2dD5E785AA0225D681416884D395c7E22D92850`](https://explorer.form.network/address/0xa2dD5E785AA0225D681416884D395c7E22D92850) | [`lockup-v2.0`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v2.0) |
| VestingMath | [`0x5522CA06Ce080800AB59BA4C091e63f6f54C5E6d`](https://explorer.form.network/address/0x5522CA06Ce080800AB59BA4C091e63f6f54C5E6d) | [`lockup-v2.0`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v2.0) |
### Gnosis
| Contract | Address | Deployment |
| :-------- | :-------- | :--------- |
| Helpers | [`0xf8076E4Fb5cfE8be1C26E61222DC51828Db8C1dc`](https://gnosisscan.io/address/0xf8076E4Fb5cfE8be1C26E61222DC51828Db8C1dc) | [`lockup-v2.0`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v2.0) |
| LockupNFTDescriptor | [`0x3140a6900AA2FF3186730741ad8255ee4e6d8Ff1`](https://gnosisscan.io/address/0x3140a6900AA2FF3186730741ad8255ee4e6d8Ff1) | [`lockup-v2.0`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v2.0) |
| SablierBatchLockup | [`0xe89EE0b2B31A296C5cCb631C3670F94bDD64a0D2`](https://gnosisscan.io/address/0xe89EE0b2B31A296C5cCb631C3670F94bDD64a0D2) | [`lockup-v2.0`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v2.0) |
| SablierLockup | [`0x007aF5dC7b1CaA66Cf7Ebcc01E2e6ba4D55D3e92`](https://gnosisscan.io/address/0x007aF5dC7b1CaA66Cf7Ebcc01E2e6ba4D55D3e92) | [`lockup-v2.0`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v2.0) |
| VestingMath | [`0x5522CA06Ce080800AB59BA4C091e63f6f54C5E6d`](https://gnosisscan.io/address/0x5522CA06Ce080800AB59BA4C091e63f6f54C5E6d) | [`lockup-v2.0`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v2.0) |
### HyperEVM
| Contract | Address | Deployment |
| :-------- | :-------- | :--------- |
| Helpers | [`0xe2f66eEe2E227c40074668ba53021423ED7D4ea1`](https://hyperevmscan.io/address/0xe2f66eEe2E227c40074668ba53021423ED7D4ea1) | [`lockup-v2.0`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v2.0) |
| LockupNFTDescriptor | [`0x7263d77e9e872f82A15e5E1a9816440D23758708`](https://hyperevmscan.io/address/0x7263d77e9e872f82A15e5E1a9816440D23758708) | [`lockup-v2.0`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v2.0) |
| SablierBatchLockup | [`0x5444eA1B8B636A8FdF7cE814077E664c28dE30Ec`](https://hyperevmscan.io/address/0x5444eA1B8B636A8FdF7cE814077E664c28dE30Ec) | [`lockup-v2.0`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v2.0) |
| SablierLockup | [`0x856167EE3e09Ba562d69A542Ab6A939903ad738e`](https://hyperevmscan.io/address/0x856167EE3e09Ba562d69A542Ab6A939903ad738e) | [`lockup-v2.0`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v2.0) |
| VestingMath | [`0xf91e1a8fA643F8062C12Ca2865f1eb2258d6422F`](https://hyperevmscan.io/address/0xf91e1a8fA643F8062C12Ca2865f1eb2258d6422F) | [`lockup-v2.0`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v2.0) |
### IoTeX
| Contract | Address | Deployment |
| :-------- | :-------- | :--------- |
| Helpers | [`0xAe60adf8D373523076F68941A6C48dF4C18C68ef`](https://iotexscan.io/address/0xAe60adf8D373523076F68941A6C48dF4C18C68ef) | [`lockup-v2.0`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v2.0) |
| LockupNFTDescriptor | [`0xf9920809bf97Fc038bdB8c5c2C2D100036d7cc8c`](https://iotexscan.io/address/0xf9920809bf97Fc038bdB8c5c2C2D100036d7cc8c) | [`lockup-v2.0`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v2.0) |
| SablierBatchLockup | [`0x5F448badebB50b9da6589C57B999725dc514B5D5`](https://iotexscan.io/address/0x5F448badebB50b9da6589C57B999725dc514B5D5) | [`lockup-v2.0`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v2.0) |
| SablierLockup | [`0xcaF51434a0af3c43Cd5569bC5eCc5aa21d28086E`](https://iotexscan.io/address/0xcaF51434a0af3c43Cd5569bC5eCc5aa21d28086E) | [`lockup-v2.0`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v2.0) |
| VestingMath | [`0xe3247c554200C2dFf6Ba3c2Ea5b2F5a50dbf6B32`](https://iotexscan.io/address/0xe3247c554200C2dFf6Ba3c2Ea5b2F5a50dbf6B32) | [`lockup-v2.0`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v2.0) |
### Lightlink
| Contract | Address | Deployment |
| :-------- | :-------- | :--------- |
| Helpers | [`0xf8076E4Fb5cfE8be1C26E61222DC51828Db8C1dc`](https://phoenix.lightlink.io/address/0xf8076E4Fb5cfE8be1C26E61222DC51828Db8C1dc) | [`lockup-v2.0`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v2.0) |
| LockupNFTDescriptor | [`0xCFB5F90370A7884DEc59C55533782B45FA24f4d1`](https://phoenix.lightlink.io/address/0xCFB5F90370A7884DEc59C55533782B45FA24f4d1) | [`lockup-v2.0`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v2.0) |
| SablierBatchLockup | [`0xe8fa70D0172BB36c952E3e20e2f3550Ca4557761`](https://phoenix.lightlink.io/address/0xe8fa70D0172BB36c952E3e20e2f3550Ca4557761) | [`lockup-v2.0`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v2.0) |
| SablierLockup | [`0x6c65aAf03186d1DA60127D3d7792cF36eD99D909`](https://phoenix.lightlink.io/address/0x6c65aAf03186d1DA60127D3d7792cF36eD99D909) | [`lockup-v2.0`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v2.0) |
| VestingMath | [`0x5522CA06Ce080800AB59BA4C091e63f6f54C5E6d`](https://phoenix.lightlink.io/address/0x5522CA06Ce080800AB59BA4C091e63f6f54C5E6d) | [`lockup-v2.0`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v2.0) |
### Linea Mainnet
| Contract | Address | Deployment |
| :-------- | :-------- | :--------- |
| Helpers | [`0x058aD99662FE7ecB8c3109920C99439a302b6573`](https://lineascan.build/address/0x058aD99662FE7ecB8c3109920C99439a302b6573) | [`lockup-v2.0`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v2.0) |
| LockupNFTDescriptor | [`0x1514a869D29a8B22961e8F9eBa3DC64000b96BCe`](https://lineascan.build/address/0x1514a869D29a8B22961e8F9eBa3DC64000b96BCe) | [`lockup-v2.0`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v2.0) |
| SablierBatchLockup | [`0xEdf0A4b30defD14449604d1b97e2c39128c136CA`](https://lineascan.build/address/0xEdf0A4b30defD14449604d1b97e2c39128c136CA) | [`lockup-v2.0`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v2.0) |
| SablierLockup | [`0x6964252561e8762dD10267176EaC5078b6291e51`](https://lineascan.build/address/0x6964252561e8762dD10267176EaC5078b6291e51) | [`lockup-v2.0`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v2.0) |
| VestingMath | [`0xdEe57959770667d97A90C94fE70C055496B7a791`](https://lineascan.build/address/0xdEe57959770667d97A90C94fE70C055496B7a791) | [`lockup-v2.0`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v2.0) |
### Mode
| Contract | Address | Deployment |
| :-------- | :-------- | :--------- |
| Helpers | [`0xf8076E4Fb5cfE8be1C26E61222DC51828Db8C1dc`](https://modescan.io/address/0xf8076E4Fb5cfE8be1C26E61222DC51828Db8C1dc) | [`lockup-v2.0`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v2.0) |
| LockupNFTDescriptor | [`0x64e7879558b6dfE2f510bd4b9Ad196ef0371EAA8`](https://modescan.io/address/0x64e7879558b6dfE2f510bd4b9Ad196ef0371EAA8) | [`lockup-v2.0`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v2.0) |
| SablierBatchLockup | [`0x34dBab20FD097F63DDbf3092D83B1005D2573082`](https://modescan.io/address/0x34dBab20FD097F63DDbf3092D83B1005D2573082) | [`lockup-v2.0`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v2.0) |
| SablierLockup | [`0x3aEbaDFC423fD08BE4715986F68D5E9A597ec974`](https://modescan.io/address/0x3aEbaDFC423fD08BE4715986F68D5E9A597ec974) | [`lockup-v2.0`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v2.0) |
| VestingMath | [`0x5522CA06Ce080800AB59BA4C091e63f6f54C5E6d`](https://modescan.io/address/0x5522CA06Ce080800AB59BA4C091e63f6f54C5E6d) | [`lockup-v2.0`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v2.0) |
### Morph
| Contract | Address | Deployment |
| :-------- | :-------- | :--------- |
| Helpers | [`0xf8076E4Fb5cfE8be1C26E61222DC51828Db8C1dc`](https://explorer.morphl2.io/address/0xf8076E4Fb5cfE8be1C26E61222DC51828Db8C1dc) | [`lockup-v2.0`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v2.0) |
| LockupNFTDescriptor | [`0x660314f09ac3B65E216B6De288aAdc2599AF14e2`](https://explorer.morphl2.io/address/0x660314f09ac3B65E216B6De288aAdc2599AF14e2) | [`lockup-v2.0`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v2.0) |
| SablierBatchLockup | [`0x081BBbd4861BaBACE3E7eDC8a45741129DfC02fE`](https://explorer.morphl2.io/address/0x081BBbd4861BaBACE3E7eDC8a45741129DfC02fE) | [`lockup-v2.0`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v2.0) |
| SablierLockup | [`0xF3cd08105b6745965149eF02b8aBdCEa0Ae51241`](https://explorer.morphl2.io/address/0xF3cd08105b6745965149eF02b8aBdCEa0Ae51241) | [`lockup-v2.0`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v2.0) |
| VestingMath | [`0x5522CA06Ce080800AB59BA4C091e63f6f54C5E6d`](https://explorer.morphl2.io/address/0x5522CA06Ce080800AB59BA4C091e63f6f54C5E6d) | [`lockup-v2.0`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v2.0) |
### OP Mainnet
| Contract | Address | Deployment |
| :-------- | :-------- | :--------- |
| Helpers | [`0xf8076E4Fb5cfE8be1C26E61222DC51828Db8C1dc`](https://optimistic.etherscan.io/address/0xf8076E4Fb5cfE8be1C26E61222DC51828Db8C1dc) | [`lockup-v2.0`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v2.0) |
| LockupNFTDescriptor | [`0x41dBa1AfBB6DF91b3330dc009842327A9858Cbae`](https://optimistic.etherscan.io/address/0x41dBa1AfBB6DF91b3330dc009842327A9858Cbae) | [`lockup-v2.0`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v2.0) |
| SablierBatchLockup | [`0x0c4Cd6087DbFa3F74661BAbbFaa35273baC1c4b1`](https://optimistic.etherscan.io/address/0x0c4Cd6087DbFa3F74661BAbbFaa35273baC1c4b1) | [`lockup-v2.0`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v2.0) |
| SablierLockup | [`0x822e9c4852E978104d82F0f785bFA663c2b700c1`](https://optimistic.etherscan.io/address/0x822e9c4852E978104d82F0f785bFA663c2b700c1) | [`lockup-v2.0`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v2.0) |
| VestingMath | [`0x5522CA06Ce080800AB59BA4C091e63f6f54C5E6d`](https://optimistic.etherscan.io/address/0x5522CA06Ce080800AB59BA4C091e63f6f54C5E6d) | [`lockup-v2.0`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v2.0) |
### Polygon
| Contract | Address | Deployment |
| :-------- | :-------- | :--------- |
| Helpers | [`0xf8076E4Fb5cfE8be1C26E61222DC51828Db8C1dc`](https://polygonscan.com/address/0xf8076E4Fb5cfE8be1C26E61222DC51828Db8C1dc) | [`lockup-v2.0`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v2.0) |
| LockupNFTDescriptor | [`0xf5e12d0bA25FCa0D738Ec57f149736B2e4C46980`](https://polygonscan.com/address/0xf5e12d0bA25FCa0D738Ec57f149736B2e4C46980) | [`lockup-v2.0`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v2.0) |
| SablierBatchLockup | [`0x1aDd9385F2C5c8e446bbB77c7A36839aB7743AF4`](https://polygonscan.com/address/0x1aDd9385F2C5c8e446bbB77c7A36839aB7743AF4) | [`lockup-v2.0`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v2.0) |
| SablierLockup | [`0xE0BFe071Da104e571298f8b6e0fcE44C512C1Ff4`](https://polygonscan.com/address/0xE0BFe071Da104e571298f8b6e0fcE44C512C1Ff4) | [`lockup-v2.0`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v2.0) |
| VestingMath | [`0x5522CA06Ce080800AB59BA4C091e63f6f54C5E6d`](https://polygonscan.com/address/0x5522CA06Ce080800AB59BA4C091e63f6f54C5E6d) | [`lockup-v2.0`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v2.0) |
### Scroll
| Contract | Address | Deployment |
| :-------- | :-------- | :--------- |
| Helpers | [`0xf8076E4Fb5cfE8be1C26E61222DC51828Db8C1dc`](https://scrollscan.com/address/0xf8076E4Fb5cfE8be1C26E61222DC51828Db8C1dc) | [`lockup-v2.0`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v2.0) |
| LockupNFTDescriptor | [`0x00Ff6443E902874924dd217c1435e3be04f57431`](https://scrollscan.com/address/0x00Ff6443E902874924dd217c1435e3be04f57431) | [`lockup-v2.0`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v2.0) |
| SablierBatchLockup | [`0x8234Ad3CC4D29a4619C36a15286dac73078672a8`](https://scrollscan.com/address/0x8234Ad3CC4D29a4619C36a15286dac73078672a8) | [`lockup-v2.0`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v2.0) |
| SablierLockup | [`0xcB0B1f1D116eD62135848d8C90EB61afDA936Da8`](https://scrollscan.com/address/0xcB0B1f1D116eD62135848d8C90EB61afDA936Da8) | [`lockup-v2.0`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v2.0) |
| VestingMath | [`0x5522CA06Ce080800AB59BA4C091e63f6f54C5E6d`](https://scrollscan.com/address/0x5522CA06Ce080800AB59BA4C091e63f6f54C5E6d) | [`lockup-v2.0`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v2.0) |
### Sei Network
| Contract | Address | Deployment |
| :-------- | :-------- | :--------- |
| Helpers | [`0xf8076E4Fb5cfE8be1C26E61222DC51828Db8C1dc`](https://seitrace.com/address/0xf8076E4Fb5cfE8be1C26E61222DC51828Db8C1dc) | [`lockup-v2.0`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v2.0) |
| LockupNFTDescriptor | [`0xeaFB40669fe3523b073904De76410b46e79a56D7`](https://seitrace.com/address/0xeaFB40669fe3523b073904De76410b46e79a56D7) | [`lockup-v2.0`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v2.0) |
| SablierBatchLockup | [`0x34686937bef23c6441248Cc5A63A79a3a707e7E4`](https://seitrace.com/address/0x34686937bef23c6441248Cc5A63A79a3a707e7E4) | [`lockup-v2.0`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v2.0) |
| SablierLockup | [`0x736A6E895790e089aEC2Bf76B2D7f368ce6Efff5`](https://seitrace.com/address/0x736A6E895790e089aEC2Bf76B2D7f368ce6Efff5) | [`lockup-v2.0`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v2.0) |
| VestingMath | [`0x5522CA06Ce080800AB59BA4C091e63f6f54C5E6d`](https://seitrace.com/address/0x5522CA06Ce080800AB59BA4C091e63f6f54C5E6d) | [`lockup-v2.0`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v2.0) |
### Sonic
| Contract | Address | Deployment |
| :-------- | :-------- | :--------- |
| Helpers | [`0xf8076E4Fb5cfE8be1C26E61222DC51828Db8C1dc`](https://sonicscan.org/address/0xf8076E4Fb5cfE8be1C26E61222DC51828Db8C1dc) | [`lockup-v2.0`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v2.0) |
| LockupNFTDescriptor | [`0xAE8FE47765f88e0A2D7E8fbaf33583DBf0373f01`](https://sonicscan.org/address/0xAE8FE47765f88e0A2D7E8fbaf33583DBf0373f01) | [`lockup-v2.0`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v2.0) |
| SablierBatchLockup | [`0xc91b20dC29E19120BF3f54277947327AfD50fBa2`](https://sonicscan.org/address/0xc91b20dC29E19120BF3f54277947327AfD50fBa2) | [`lockup-v2.0`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v2.0) |
| SablierLockup | [`0xc37462eE6500D2C36c9131b921fAADBD6cb7B60b`](https://sonicscan.org/address/0xc37462eE6500D2C36c9131b921fAADBD6cb7B60b) | [`lockup-v2.0`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v2.0) |
| VestingMath | [`0x5522CA06Ce080800AB59BA4C091e63f6f54C5E6d`](https://sonicscan.org/address/0x5522CA06Ce080800AB59BA4C091e63f6f54C5E6d) | [`lockup-v2.0`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v2.0) |
### Sophon
| Contract | Address | Deployment |
| :-------- | :-------- | :--------- |
| Helpers | [`0x424B27529B49EF4Bfa0727aFcFE4387Ac2932944`](https://explorer.sophon.xyz/address/0x424B27529B49EF4Bfa0727aFcFE4387Ac2932944) | [`lockup-v2.0`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v2.0) |
| LockupNFTDescriptor | [`0xAc2E42b520364940c90Ce164412Ca9BA212d014B`](https://explorer.sophon.xyz/address/0xAc2E42b520364940c90Ce164412Ca9BA212d014B) | [`lockup-v2.0`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v2.0) |
| SablierBatchLockup | [`0x7282d83E49363f373102d195F66649eBD6C57B9B`](https://explorer.sophon.xyz/address/0x7282d83E49363f373102d195F66649eBD6C57B9B) | [`lockup-v2.0`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v2.0) |
| SablierLockup | [`0x28fCAE6bda2546C93183EeC8638691B2EB184003`](https://explorer.sophon.xyz/address/0x28fCAE6bda2546C93183EeC8638691B2EB184003) | [`lockup-v2.0`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v2.0) |
| VestingMath | [`0x9971914DA16787F6cCfb27bEfB4404e33C8b869D`](https://explorer.sophon.xyz/address/0x9971914DA16787F6cCfb27bEfB4404e33C8b869D) | [`lockup-v2.0`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v2.0) |
### Superseed
| Contract | Address | Deployment |
| :-------- | :-------- | :--------- |
| Helpers | [`0xf8076E4Fb5cfE8be1C26E61222DC51828Db8C1dc`](https://explorer.superseed.xyz/address/0xf8076E4Fb5cfE8be1C26E61222DC51828Db8C1dc) | [`lockup-v2.0`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v2.0) |
| LockupNFTDescriptor | [`0xa4576b58Ec760A8282D081dc94F3dc716DFc61e9`](https://explorer.superseed.xyz/address/0xa4576b58Ec760A8282D081dc94F3dc716DFc61e9) | [`lockup-v2.0`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v2.0) |
| SablierBatchLockup | [`0x89e9F2473836d9ab7D28Df6F180E30992b8CB5d6`](https://explorer.superseed.xyz/address/0x89e9F2473836d9ab7D28Df6F180E30992b8CB5d6) | [`lockup-v2.0`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v2.0) |
| SablierLockup | [`0xF46D1f8C85f215A515F6D738ab3E3bA081f6C083`](https://explorer.superseed.xyz/address/0xF46D1f8C85f215A515F6D738ab3E3bA081f6C083) | [`lockup-v2.0`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v2.0) |
| VestingMath | [`0x5522CA06Ce080800AB59BA4C091e63f6f54C5E6d`](https://explorer.superseed.xyz/address/0x5522CA06Ce080800AB59BA4C091e63f6f54C5E6d) | [`lockup-v2.0`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v2.0) |
### Taiko
| Contract | Address | Deployment |
| :-------- | :-------- | :--------- |
| Helpers | [`0xf8076E4Fb5cfE8be1C26E61222DC51828Db8C1dc`](https://taikoscan.io/address/0xf8076E4Fb5cfE8be1C26E61222DC51828Db8C1dc) | [`lockup-v2.0`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v2.0) |
| LockupNFTDescriptor | [`0x79F1fD8bB2D455f64010063Fc79E27561980FE10`](https://taikoscan.io/address/0x79F1fD8bB2D455f64010063Fc79E27561980FE10) | [`lockup-v2.0`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v2.0) |
| SablierBatchLockup | [`0xcBbA08768C4a9D9131dE0467Ae136b8450dC13B2`](https://taikoscan.io/address/0xcBbA08768C4a9D9131dE0467Ae136b8450dC13B2) | [`lockup-v2.0`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v2.0) |
| SablierLockup | [`0x628E88cDF558c0F4796c8CeB5068a023a7159aA7`](https://taikoscan.io/address/0x628E88cDF558c0F4796c8CeB5068a023a7159aA7) | [`lockup-v2.0`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v2.0) |
| VestingMath | [`0x5522CA06Ce080800AB59BA4C091e63f6f54C5E6d`](https://taikoscan.io/address/0x5522CA06Ce080800AB59BA4C091e63f6f54C5E6d) | [`lockup-v2.0`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v2.0) |
### Tangle
| Contract | Address | Deployment |
| :-------- | :-------- | :--------- |
| Helpers | [`0x3D664B2Da905DDD0Db931982FD9a759ea950D6e1`](https://explorer.tangle.tools/address/0x3D664B2Da905DDD0Db931982FD9a759ea950D6e1) | [`lockup-v2.0`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v2.0) |
| LockupNFTDescriptor | [`0x92FC05e49c27884d554D98a5C01Ff0894a9DC29a`](https://explorer.tangle.tools/address/0x92FC05e49c27884d554D98a5C01Ff0894a9DC29a) | [`lockup-v2.0`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v2.0) |
| SablierBatchLockup | [`0xF5AC60870E1CCc4Bfce23cfbb7a796A0d8dBAf47`](https://explorer.tangle.tools/address/0xF5AC60870E1CCc4Bfce23cfbb7a796A0d8dBAf47) | [`lockup-v2.0`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v2.0) |
| SablierLockup | [`0x1cAe76b71913598d7664d16641CCB6037d8Ed61a`](https://explorer.tangle.tools/address/0x1cAe76b71913598d7664d16641CCB6037d8Ed61a) | [`lockup-v2.0`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v2.0) |
| VestingMath | [`0x9EfC8663cAB0e2d97ad17C9fbfc8392445517E94`](https://explorer.tangle.tools/address/0x9EfC8663cAB0e2d97ad17C9fbfc8392445517E94) | [`lockup-v2.0`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v2.0) |
### Unichain
| Contract | Address | Deployment |
| :-------- | :-------- | :--------- |
| Helpers | [`0xf8076e4fb5cfe8be1c26e61222dc51828db8c1dc`](https://uniscan.xyz/address/0xf8076e4fb5cfe8be1c26e61222dc51828db8c1dc) | [`lockup-v2.0`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v2.0) |
| LockupNFTDescriptor | [`0xa5F12D63E18a28C9BE27B6f3d91ce693320067ba`](https://uniscan.xyz/address/0xa5F12D63E18a28C9BE27B6f3d91ce693320067ba) | [`lockup-v2.0`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v2.0) |
| SablierBatchLockup | [`0xaf875A2bDb74bA8872292FC371131eb45a9b570C`](https://uniscan.xyz/address/0xaf875A2bDb74bA8872292FC371131eb45a9b570C) | [`lockup-v2.0`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v2.0) |
| SablierLockup | [`0x26C341C4D79bA8F6BFB450a49E9165c936316B14`](https://uniscan.xyz/address/0x26C341C4D79bA8F6BFB450a49E9165c936316B14) | [`lockup-v2.0`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v2.0) |
| VestingMath | [`0x5522ca06ce080800ab59ba4c091e63f6f54c5e6d`](https://uniscan.xyz/address/0x5522ca06ce080800ab59ba4c091e63f6f54c5e6d) | [`lockup-v2.0`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v2.0) |
### XDC
| Contract | Address | Deployment |
| :-------- | :-------- | :--------- |
| Helpers | [`0xf8076e4fb5cfe8be1c26e61222dc51828db8c1dc`](https://xdcscan.com/address/0xf8076e4fb5cfe8be1c26e61222dc51828db8c1dc) | [`lockup-v2.0`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v2.0) |
| LockupNFTDescriptor | [`0x4c1311a9d88BFb7023148aB04F7321C2E91c29bf`](https://xdcscan.com/address/0x4c1311a9d88BFb7023148aB04F7321C2E91c29bf) | [`lockup-v2.0`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v2.0) |
| SablierBatchLockup | [`0x6d36227Dd84e2A3d898B192Bc82a005c3cc2320C`](https://xdcscan.com/address/0x6d36227Dd84e2A3d898B192Bc82a005c3cc2320C) | [`lockup-v2.0`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v2.0) |
| SablierLockup | [`0x489e0DC5E62A751A2b209f1cC03E189fd6257176`](https://xdcscan.com/address/0x489e0DC5E62A751A2b209f1cC03E189fd6257176) | [`lockup-v2.0`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v2.0) |
| VestingMath | [`0x5522ca06ce080800ab59ba4c091e63f6f54c5e6d`](https://xdcscan.com/address/0x5522ca06ce080800ab59ba4c091e63f6f54c5e6d) | [`lockup-v2.0`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v2.0) |
### ZKsync Era
| Contract | Address | Deployment |
| :-------- | :-------- | :--------- |
| Helpers | [`0x37De3Fc44a07A40411AD0Cea4310990C9F88c1C1`](https://era.zksync.network//address/0x37De3Fc44a07A40411AD0Cea4310990C9F88c1C1) | [`lockup-v2.0`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v2.0) |
| LockupNFTDescriptor | [`0xCB2d53c58496C2aA114bce4ED5C7fe768ce86542`](https://era.zksync.network//address/0xCB2d53c58496C2aA114bce4ED5C7fe768ce86542) | [`lockup-v2.0`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v2.0) |
| SablierBatchLockup | [`0xCC926359DBE6b6311D63f8155fcC3B57F3fAAE80`](https://era.zksync.network//address/0xCC926359DBE6b6311D63f8155fcC3B57F3fAAE80) | [`lockup-v2.0`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v2.0) |
| SablierLockup | [`0x7BCcB3595Aa81Dbe8A69DD8C46f5C2A3cf76594A`](https://era.zksync.network//address/0x7BCcB3595Aa81Dbe8A69DD8C46f5C2A3cf76594A) | [`lockup-v2.0`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v2.0) |
| VestingMath | [`0xEE4a32E026aC2FD6BF71d9D7eB00803576aD314d`](https://era.zksync.network//address/0xEE4a32E026aC2FD6BF71d9D7eB00803576aD314d) | [`lockup-v2.0`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v2.0) |
## Testnets
### Arbitrum Sepolia
| Contract | Address | Deployment |
| :-------- | :-------- | :--------- |
| Helpers | [`0xf8076E4Fb5cfE8be1C26E61222DC51828Db8C1dc`](https://sepolia.arbiscan.io/address/0xf8076E4Fb5cfE8be1C26E61222DC51828Db8C1dc) | [`lockup-v2.0`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v2.0) |
| LockupNFTDescriptor | [`0x8224eb5D7d76B2D7Df43b868D875E79B11500eA8`](https://sepolia.arbiscan.io/address/0x8224eb5D7d76B2D7Df43b868D875E79B11500eA8) | [`lockup-v2.0`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v2.0) |
| SablierBatchLockup | [`0xbf85cD17cA59b7A2b81d3D776cE1602a7C0aF9D9`](https://sepolia.arbiscan.io/address/0xbf85cD17cA59b7A2b81d3D776cE1602a7C0aF9D9) | [`lockup-v2.0`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v2.0) |
| SablierLockup | [`0x83Dd52FCA44E069020b58155b761A590F12B59d3`](https://sepolia.arbiscan.io/address/0x83Dd52FCA44E069020b58155b761A590F12B59d3) | [`lockup-v2.0`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v2.0) |
| VestingMath | [`0x5522CA06Ce080800AB59BA4C091e63f6f54C5E6d`](https://sepolia.arbiscan.io/address/0x5522CA06Ce080800AB59BA4C091e63f6f54C5E6d) | [`lockup-v2.0`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v2.0) |
### Base Sepolia
| Contract | Address | Deployment |
| :-------- | :-------- | :--------- |
| Helpers | [`0xf8076E4Fb5cfE8be1C26E61222DC51828Db8C1dc`](https://sepolia.basescan.org/address/0xf8076E4Fb5cfE8be1C26E61222DC51828Db8C1dc) | [`lockup-v2.0`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v2.0) |
| LockupNFTDescriptor | [`0xCA2593027BA24856c292Fdcb5F987E0c25e755a4`](https://sepolia.basescan.org/address/0xCA2593027BA24856c292Fdcb5F987E0c25e755a4) | [`lockup-v2.0`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v2.0) |
| SablierBatchLockup | [`0xEdc716E9672f672456d22b02532395c1e62B8C16`](https://sepolia.basescan.org/address/0xEdc716E9672f672456d22b02532395c1e62B8C16) | [`lockup-v2.0`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v2.0) |
| SablierLockup | [`0xa4777CA525d43a7aF55D45b11b430606d7416f8d`](https://sepolia.basescan.org/address/0xa4777CA525d43a7aF55D45b11b430606d7416f8d) | [`lockup-v2.0`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v2.0) |
| VestingMath | [`0x5522CA06Ce080800AB59BA4C091e63f6f54C5E6d`](https://sepolia.basescan.org/address/0x5522CA06Ce080800AB59BA4C091e63f6f54C5E6d) | [`lockup-v2.0`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v2.0) |
### Blast Sepolia
| Contract | Address | Deployment |
| :-------- | :-------- | :--------- |
| Helpers | [`0xf8076E4Fb5cfE8be1C26E61222DC51828Db8C1dc`](https://sepolia.blastscan.io/address/0xf8076E4Fb5cfE8be1C26E61222DC51828Db8C1dc) | [`lockup-v2.0`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v2.0) |
| LockupNFTDescriptor | [`0xF0182C7c0F155CdB49B575cFB5Fe7b3cE94D2234`](https://sepolia.blastscan.io/address/0xF0182C7c0F155CdB49B575cFB5Fe7b3cE94D2234) | [`lockup-v2.0`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v2.0) |
| SablierBatchLockup | [`0x30FC3D5b53e17edbC72d0a488f10C0eD3d7b0893`](https://sepolia.blastscan.io/address/0x30FC3D5b53e17edbC72d0a488f10C0eD3d7b0893) | [`lockup-v2.0`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v2.0) |
| SablierLockup | [`0x3fC9E80478c65759a8273CD9dFe2D7011b45164E`](https://sepolia.blastscan.io/address/0x3fC9E80478c65759a8273CD9dFe2D7011b45164E) | [`lockup-v2.0`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v2.0) |
| VestingMath | [`0x5522CA06Ce080800AB59BA4C091e63f6f54C5E6d`](https://sepolia.blastscan.io/address/0x5522CA06Ce080800AB59BA4C091e63f6f54C5E6d) | [`lockup-v2.0`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v2.0) |
### Linea Sepolia
| Contract | Address | Deployment |
| :-------- | :-------- | :--------- |
| Helpers | [`0x058aD99662FE7ecB8c3109920C99439a302b6573`](https://sepolia.lineascan.build/address/0x058aD99662FE7ecB8c3109920C99439a302b6573) | [`lockup-v2.0`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v2.0) |
| LockupNFTDescriptor | [`0xCE94BE25320A51Ac868d0C133c251aE10682DabD`](https://sepolia.lineascan.build/address/0xCE94BE25320A51Ac868d0C133c251aE10682DabD) | [`lockup-v2.0`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v2.0) |
| SablierBatchLockup | [`0x9A987181BF05b7C154118A3216d522fa2407a8Be`](https://sepolia.lineascan.build/address/0x9A987181BF05b7C154118A3216d522fa2407a8Be) | [`lockup-v2.0`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v2.0) |
| SablierLockup | [`0xbb4A14868A4BEc78b7354582b8C818ba520d7A4E`](https://sepolia.lineascan.build/address/0xbb4A14868A4BEc78b7354582b8C818ba520d7A4E) | [`lockup-v2.0`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v2.0) |
| VestingMath | [`0xdEe57959770667d97A90C94fE70C055496B7a791`](https://sepolia.lineascan.build/address/0xdEe57959770667d97A90C94fE70C055496B7a791) | [`lockup-v2.0`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v2.0) |
### Mode Testnet
| Contract | Address | Deployment |
| :-------- | :-------- | :--------- |
| Helpers | [`0xf8076E4Fb5cfE8be1C26E61222DC51828Db8C1dc`](https://sepolia.explorer.mode.network/address/0xf8076E4Fb5cfE8be1C26E61222DC51828Db8C1dc) | [`lockup-v2.0`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v2.0) |
| LockupNFTDescriptor | [`0xdd695e927b97460c8d454d8f6d8cd797dcf1fcfd`](https://sepolia.explorer.mode.network/address/0xdd695e927b97460c8d454d8f6d8cd797dcf1fcfd) | [`lockup-v2.0`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v2.0) |
| SablierBatchLockup | [`0xaD2f0228369D71605cd19c33FfA2Dde85A2FE477`](https://sepolia.explorer.mode.network/address/0xaD2f0228369D71605cd19c33FfA2Dde85A2FE477) | [`lockup-v2.0`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v2.0) |
| SablierLockup | [`0xF56b79523FD0b4A6c9bf4e6F7a3Ea45dC0fB5bBC`](https://sepolia.explorer.mode.network/address/0xF56b79523FD0b4A6c9bf4e6F7a3Ea45dC0fB5bBC) | [`lockup-v2.0`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v2.0) |
| VestingMath | [`0x5522CA06Ce080800AB59BA4C091e63f6f54C5E6d`](https://sepolia.explorer.mode.network/address/0x5522CA06Ce080800AB59BA4C091e63f6f54C5E6d) | [`lockup-v2.0`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v2.0) |
### OP Sepolia
| Contract | Address | Deployment |
| :-------- | :-------- | :--------- |
| Helpers | [`0xf8076E4Fb5cfE8be1C26E61222DC51828Db8C1dc`](https://optimism-sepolia.blockscout.com/address/0xf8076E4Fb5cfE8be1C26E61222DC51828Db8C1dc) | [`lockup-v2.0`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v2.0) |
| LockupNFTDescriptor | [`0xDf6163ddD3Ebcb552Cc1379a9c65AFe68683534e`](https://optimism-sepolia.blockscout.com/address/0xDf6163ddD3Ebcb552Cc1379a9c65AFe68683534e) | [`lockup-v2.0`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v2.0) |
| SablierBatchLockup | [`0xF7BA8a7dc96d1939b789b91865bdb05596EBB558`](https://optimism-sepolia.blockscout.com/address/0xF7BA8a7dc96d1939b789b91865bdb05596EBB558) | [`lockup-v2.0`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v2.0) |
| SablierLockup | [`0x1f898895eAB949FfD34c29Cf859C035DC4525DF4`](https://optimism-sepolia.blockscout.com/address/0x1f898895eAB949FfD34c29Cf859C035DC4525DF4) | [`lockup-v2.0`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v2.0) |
| VestingMath | [`0x5522CA06Ce080800AB59BA4C091e63f6f54C5E6d`](https://optimism-sepolia.blockscout.com/address/0x5522CA06Ce080800AB59BA4C091e63f6f54C5E6d) | [`lockup-v2.0`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v2.0) |
### Sepolia
| Contract | Address | Deployment |
| :-------- | :-------- | :--------- |
| Helpers | [`0xf8076E4Fb5cfE8be1C26E61222DC51828Db8C1dc`](https://sepolia.etherscan.io/address/0xf8076E4Fb5cfE8be1C26E61222DC51828Db8C1dc) | [`lockup-v2.0`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v2.0) |
| LockupNFTDescriptor | [`0x08D3C81626d9Cb19760835e8730Ec0D3F1899976`](https://sepolia.etherscan.io/address/0x08D3C81626d9Cb19760835e8730Ec0D3F1899976) | [`lockup-v2.0`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v2.0) |
| SablierBatchLockup | [`0xB655ecD83D27f7c683A9605783bd2866a4dCEB04`](https://sepolia.etherscan.io/address/0xB655ecD83D27f7c683A9605783bd2866a4dCEB04) | [`lockup-v2.0`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v2.0) |
| SablierLockup | [`0xd116c275541cdBe7594A202bD6AE4DBca4578462`](https://sepolia.etherscan.io/address/0xd116c275541cdBe7594A202bD6AE4DBca4578462) | [`lockup-v2.0`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v2.0) |
| VestingMath | [`0x5522CA06Ce080800AB59BA4C091e63f6f54C5E6d`](https://sepolia.etherscan.io/address/0x5522CA06Ce080800AB59BA4C091e63f6f54C5E6d) | [`lockup-v2.0`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v2.0) |
### Superseed Sepolia
| Contract | Address | Deployment |
| :-------- | :-------- | :--------- |
| Helpers | [`0xf8076E4Fb5cfE8be1C26E61222DC51828Db8C1dc`](https://sepolia-explorer.superseed.xyz/address/0xf8076E4Fb5cfE8be1C26E61222DC51828Db8C1dc) | [`lockup-v2.0`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v2.0) |
| LockupNFTDescriptor | [`0xc5D8E4317CE4a2E323192A5d856C90372bDE1558`](https://sepolia-explorer.superseed.xyz/address/0xc5D8E4317CE4a2E323192A5d856C90372bDE1558) | [`lockup-v2.0`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v2.0) |
| SablierBatchLockup | [`0xB2C6C57ee10B88E8344f34ffeCe39B0C6573c23D`](https://sepolia-explorer.superseed.xyz/address/0xB2C6C57ee10B88E8344f34ffeCe39B0C6573c23D) | [`lockup-v2.0`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v2.0) |
| SablierLockup | [`0x4E83EC1Ea3B885C1a3698dA7DC42F32575688ABE`](https://sepolia-explorer.superseed.xyz/address/0x4E83EC1Ea3B885C1a3698dA7DC42F32575688ABE) | [`lockup-v2.0`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v2.0) |
| VestingMath | [`0x5522CA06Ce080800AB59BA4C091e63f6f54C5E6d`](https://sepolia-explorer.superseed.xyz/address/0x5522CA06Ce080800AB59BA4C091e63f6f54C5E6d) | [`lockup-v2.0`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v2.0) |
### Taiko Hekla
| Contract | Address | Deployment |
| :-------- | :-------- | :--------- |
| Helpers | [`0xf8076E4Fb5cfE8be1C26E61222DC51828Db8C1dc`](https://hekla.taikoscan.network/address/0xf8076E4Fb5cfE8be1C26E61222DC51828Db8C1dc) | [`lockup-v2.0`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v2.0) |
| LockupNFTDescriptor | [`0x4a92Ca0a777fd781B3aA1d7925Ad54B64C85eedE`](https://hekla.taikoscan.network/address/0x4a92Ca0a777fd781B3aA1d7925Ad54B64C85eedE) | [`lockup-v2.0`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v2.0) |
| SablierBatchLockup | [`0x5F62Be3b60c3Dc3D49e96Ee8390Fea2930A3E01b`](https://hekla.taikoscan.network/address/0x5F62Be3b60c3Dc3D49e96Ee8390Fea2930A3E01b) | [`lockup-v2.0`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v2.0) |
| SablierLockup | [`0xa969f0CCc080dfd513Eb7175248df68364701fC2`](https://hekla.taikoscan.network/address/0xa969f0CCc080dfd513Eb7175248df68364701fC2) | [`lockup-v2.0`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v2.0) |
| VestingMath | [`0x5522CA06Ce080800AB59BA4C091e63f6f54C5E6d`](https://hekla.taikoscan.network/address/0x5522CA06Ce080800AB59BA4C091e63f6f54C5E6d) | [`lockup-v2.0`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v2.0) |
---
## Gas Benchmarks (2)
The gas usage of the Lockup protocol is not deterministic and varies by user. Calls to third-party contracts, such as
ERC-20 tokens, may use an arbitrary amount of gas. The values in the table below are rough estimations on Ethereum
mainnet - you shouldn't take them for granted. The gas usage may vary depending on the network.
:::note
The benchmarks were generated using the code in this GitHub repository.
:::
## BatchLockup
## LockupLinear streams
## LockupDynamic streams
## LockupTranched streams
---
## Etherscan Operations
# Etherscan: Manual Operations
## Introduction
Just like any other open protocol, Lockup can be interacted with directly through a blockchain explorer like Etherscan.
In this guide, we will show you how to create a stream and withdraw from a stream by manually interacting with the
Lockup Core contracts on Etherscan.
If you're interested in interacting with V1, please refer to this
[article](https://blog.sablier.com/operating-the-sablier-v1-protocol-manually/).
## Creating a Stream
### Prerequisites
Before being able to create a stream using the Lockup Core contracts you need to have granted a sufficient token
allowance. See the [Allowances](#prerequisite-erc20-allowances) section below for a guide on how to do that.
### Step 1: Go to contract page
Head over to our [deployments](/guides/lockup/deployments) list to pick the contract address you want to interact with.
In this tutorial, we will create a Lockup stream on Ethereum Sepolia.
Once you find the right contract, click on the address to access its explorer's page. Click on the "Contract" tab, and
then on the "Write Contract" sub-tab.


You can now connect your wallet to the interface by clicking on "Connect to Web3".

### Step 2: Fill in parameters
We will now proceed to create our first stream. Let's go with the following parameters:
- a Lockup Linear stream
- and a deposit of 100 DAI
- starting Jan 27, 2025
- ending Jan 27, 2026
- with cliff until Jan 30, 2025 and cliff amount of 2 DAI
- no token unlock at start time
- non-cancelable
- and transferrable
As the start and end date are fixed, we'll be using the
[`createwithtimestampsLL`](/reference/lockup/contracts/interfaces/interface.ISablierLockup#createwithtimestampsll)
method. Please note that using
[`createwithdurationsLL`](/reference/lockup/contracts/interfaces/interface.ISablierLockup#createwithdurationsll) is also
possible if you specify durations instead of the timestamps.
Open the **"createwithtimestampsLL"** method, and start filling in the stream details:
:::note
All functions are marked as `payable`, however, its entirely optional to attach any value (in native token) to the
transaction. For this example, we will not be attaching any value and therefore `payableAmount(ether)` will be 0.
:::

```json
{
"sender": "0xf26994E6Af0b95cCa8DFA22A0BC25E1f38a54C42",
"recipient": "0xb4bf8a8475d1e8e9a2088f118ad0e2cdc2896183",
"totalAmount": 100000000000000000000,
"token": "0x3DcBc355c5B5FdF45D2d2ccc8890d76C5b30394A",
"cancelable": false,
"transferable": true,
"timestamps": [1737936000, 1769472000],
"shape": "",
"broker": ["0x0000000000000000000000000000000000000000", 0],
"unlockAmounts": ["0", "2000000000000000000"],
"cliffTime": 1738195200
}
```
If the Etherscan UI does not break down the inputs into separate fields (like in the screenshot above), you will have to
provide it like this:
```json
[
"0xf26994E6Af0b95cCa8DFA22A0BC25E1f38a54C42",
"0xb4bf8a8475d1e8e9a2088f118ad0e2cdc2896183",
100000000000000000000,
"0x3DcBc355c5B5FdF45D2d2ccc8890d76C5b30394A",
false,
true,
[1737936000, 1769472000],
"",
["0x0000000000000000000000000000000000000000", 0],
["0", "2000000000000000000"],
1738195200
]
```
:::tip
In case of a tuple, ensure to follow the best practices:
1. Use square brackets
2. Wrap addresses in double quotes
3. Wrap large numbers in quotes
Follow [this guide](https://info.etherscan.com/understanding-the-required-input-formats-for-read-write-contract-tab/)
from Etherscan to learn how to correctly format input data for Write Contract tab.
:::
As an example, in the screenshot below, we are providing input parameters for
[`createWithTimestampsLL`](/reference/lockup/contracts/contract.SablierBatchLockup#createwithtimestampsll) function in
[`SablierBatchLockup`](https://sepolia.etherscan.io/address/0x04A9c14b7a000640419aD5515Db4eF4172C00E31#writeContract)
contract. As you can see, since `batch` requires a tuple and does not break it down into separate fields, we had to use
the above method.

#### Sender
If the stream is cancelable, the sender is the wallet that will have the ability to cancel and renounce the stream. But
if the stream is non-cancelable, the sender cannot cancel the stream.
Most users will set their own wallet address as the sender.
#### Recipient
The address you want to stream tokens to. The owner of this address is the stream recipient and will receive tokens on
[withdraw](#withdrawing-from-a-stream).
#### Total Amount
This is the total amount of tokens available to be streamed, **DECIMALS INCLUDED**. If the asset has 18 decimals, for
example, you will need to add eighteen zeros after the amount. Let's say you want to stream 20,000 DAI like in this
example, you will need to fill in `20000000000000000000000`.
:::note
The total amount will also include any [broker fee](/concepts/fees). While fees are kept at zero in Sablier UI, the
total amount should be equal to the streamed amount plus the broker fee amount.
:::
#### Token
The token is the contract address of the ERC-20 token being streamed. You can obtain this from the
[Sablier Interface](#step-1-go-to-token-page) or from
[Etherscan explorer](https://sepolia.etherscan.io/token/0x776b6fc2ed15d6bb5fc32e0c89de68683118c62a). Please double check
the token address is correct before continuing.
#### Cancelable
This field indicates whether or not you want the stream to be cancelable. This can be set to either `true` or `false`.
If set to true, the stream will be cancelable.
You can make a cancelable stream non-cancelable after the stream has been created, but if it's a non-cancelable stream,
it cannot become cancelable post-creation.
#### Transferable
The `transferable` field indicates whether the NFT owner is allowed to transfer te NFT or not. This can be set to either
`true` or `false`.
This flag cannot be changed later.
#### Timestamps
The `timestamps` field contains the start time, and the end time of the stream, in this order. The values should be UNIX
timestamps (represented in **seconds**). You can find a Unix timestamp converter [here](https://www.unixtimestamp.com/).
#### Shape
The shape field can be used to specify the shape of the stream that you want the User Interface to display. This is an
optional field and can be left empty.
#### Broker
An optional parameter that can be set in order to charge a fee as a percentage of `totalAmount`.
You can set the `broker` field to address zero and `zero` fees. Read more about fees
[here](/concepts/glossary#broker-fee).
#### Unlock Amounts
The `unlockAmounts` field contains the amount of tokens that will be unlocked at the start time and at the cliff time.
For this example, we do not want to unlock any amount at the start time, however, we want to unlock 2 DAI at the cliff
time.
#### Cliff Time
If you prefer to not have a cliff, you can simply set the cliff time to 0. If, however, you want to have a cliff, fill
in the timestamp for the cliff there.
:::caution
Inside tuples/arrays (the `[ ... ]` structures in the example) make sure that you:
- Use square brackets
- Wrap addresses in double quotes, i.e. `" "`
:::
Once the data is filled, and after you double-checked, click on the "Write" button and confirm the transaction in your
wallet. That's all! You are done. You can now head over to the [Sablier Interface](https://app.sablier.com), connect
your wallet, and your stream should appear like this:

#### How about [`createWithDurationsLL`](/reference/lockup/contracts/contract.SablierLockup#createwithdurationsll)?
For the durations version, we'll replace the `timestamps` and `cliffTime` parameters with a single `durations` parameter
to represent the total duration of the stream (in seconds) and the duration of the cliff (in seconds).
```json
{
"durations": [0, 864000] // no cliff and a total duration of 10 days
}
```
| Total Duration | Cliff Duration | [Cliff, Total] |
| :------------- | :------------- | ----------------- |
| 10 days | no cliff | `[0, 864000]` |
| 10 days | 1 day | `[86400, 864000]` |
## Withdrawing from a Stream
### Prerequisites
To withdraw from a stream using Etherscan, you will need to obtain the stream's ID. To obtain this without the Sablier
Interface, find the transaction which created the stream on Etherscan. Here's an
[example](https://sepolia.etherscan.io/tx/0xf40e0a5ccf134aaa889f2e5d040f5f4fc3bc157298cdac7a2a620a3d784ebbd1) of what it
should look like.
Once found, you will see the stream ID between the two brackets. Note that stream ID and "Token ID" are the same thing.
:::info
Anyone can withdraw on your behalf if they pay the gas fee. When a third party withdraws, the recipient is the only
allowed withdrawal address. However, if you withdraw yourself, you can choose to withdraw to any other address. You can
read more about this advanced feature [here](/reference/lockup/access-control#overview).
:::

### Step 1: Go to contract page
Head over to our [deployments](/guides/lockup/deployments) list and select the contract address you want to interact
with.
Once you find the right contract, click on the address to access its explorer's page. Click on the "Contract" tab, and
then on the "Write Contract" sub-tab.


You can now connect your wallet to the interface by clicking on "Connect to Web3".

### Step 2: Fill in parameters
Head over to the **`withdraw`** method, and fill in the data.

```json
{
"streamId": 1,
"to": "0xb1bEF51ebCA01EB12001a639bDBbFF6eEcA12B9F",
"amount": 100000000000000000000
}
```
#### Stream ID
The `streamId` is the value you have previously located in the transaction in which the stream was created.
#### To
The `to` field is there for the stream recipient's address. This will most likely be your own wallet, but you can also
choose to withdraw these funds to another wallet (e.g. a separate cold wallet) if you are the stream's recipient. If you
are not the stream recipient, it MUST be the address of the recipient.
#### Amount
This represents the amount of tokens that you want to withdraw, **DECIMALS INCLUDED**. For example, if the token you are
looking to withdraw has 18 decimals, you will need to add eighteen zeros after the amount. Let's say you want to
withdraw 100 DAI like in this example, you will need to put in `100000000000000000000`. Oh, and make sure that that
amount has already been streamed, you cannot withdraw funds that haven't yet been streamed over to you.
Once ready, click on the "Write" button, and confirm the transaction in your wallet. You are done!
---
Apart from the main flows, you may be required to do some other actions, usually listed as prerequisites.
## Prerequisite: ERC20 Allowances
Before interacting directly with the Lockup [contracts](/guides/lockup/deployments) to
[create a stream](#creating-a-stream) you will need to manually grant proper ERC20 allowances.
### Step 1: Go to token page
Pick a token you want to stream, e.g.
[DAI](https://sepolia.etherscan.io/token/0x68194a729C2450ad26072b3D33ADaCbcef39D574). Using its address, visit the token
page on Etherscan (in this example, we're using Ethereum Sepolia):
`https://sepolia.etherscan.io/token/`
:::info
To get the address of an asset in the [Sablier Interface](/apps/features/overview), you can click on its name in the
token list dialog or find an existing stream with that token and click on the icon inside the stream circle.
 
:::
### Step 2: Go to `approve`
Next, look for the "Contract" tab and the "Write Contract" sub-tab.
You'll see a list of methods that can be called for that token. Pick the `approve` method (e.g.
[DAI's approve](https://sepolia.etherscan.io/token/0x68194a729C2450ad26072b3D33ADaCbcef39D574#writeContract#F1)). Most
ERC-20 approve methods will contain two fields:
1. The spender
2. The amount
:::tip
Some tokens like [USDC](https://etherscan.io/token/0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48?a=#writeProxyContract) or
[AAVE](https://etherscan.io/token/0x7fc66500c84a76ad7e9c93437bfc5ac33e2ddae9?a=#writeProxyContract) are upgradeable and
use a proxy pattern. For these, you have to use the "Write as Proxy" tab.
:::
### Step 3: Send transaction
For the purpose of creating a **LockupLinear** stream with Lockup, the spender will be the
[SablierLockup](/guides/lockup/deployments) contract.
As for the amount, you'll have to pad it with the right number of decimals. For DAI, that's 18 decimals, so a value of
`100` will turn into `100 * 1e18` (100 followed by 18 zeroes). For USDC,that's 6 decimals, so a value of `100` will turn
into `100 * 1e8` (100 followed by 8 zeroes). The same logic applies to the [total amounts](#total-amount) when creating
the stream.
```json
{
"spender": "0xd116c275541cdBe7594A202bD6AE4DBca4578462",
"amount": 100000000000000000000
}
```

Before clicking on the "Write" button to submit your allowance update, make sure to connect your wallet to the interface
by clicking on "Connect to Web3".
---
## Configure Your Local Environment (3)
In this guide, we will go through the steps to set up a local development environment for building onchain
integrations with {props.protocol}. We will use Foundry to install {props.protocol} as a dependency, and run a simple test.
At the end, you’ll have a development environment set up that you can use to build the rest of the examples under
"Guides", or start your own integration project.
## Pre-requisites
You will need the following software on your machine:
- Git
- Foundry
- Node.js
- Bun
In addition, familiarity with Ethereum and Solidity is
requisite.
## Set up using integration template
:::tip
Make sure you are using the latest version of Foundry by running `foundryup`.
:::
We put together a template repository that you can use to get started quickly. This repository features a basic project
structure, pre-configured {props.protocol} imports, and a selection of sample contracts and tests.
To install the template, simply execute the following commands:
{`$ mkdir ${props.protocol.toLowerCase()}-integration-template
$ cd ${props.protocol.toLowerCase()}-integration-template
$ forge init --template sablier-labs/${props.protocol.toLowerCase()}-integration-template
$ bun install`}
Then, hop to the Run a Fork Test section to complete your set up and start
developing.
## Set up using Foundry template
Foundry is a popular development toolkit for Ethereum projects, which we have used to build the {props.protocol} Protocol. For
the purposes of this guide, Foundry will provide us with the tooling needed to compile and test our contracts.
Let's use this command to spin up a new Foundry project:
```bash
$ forge init my-project
$ cd my-project
```
Once the initialization completes, take a look around at what got set up:
```bash
├── foundry.toml
├── script
├── src
└── test
```
The folder structure should be intuitive:
- `src` is where you'll write Solidity contracts
- `test` is where you'll write tests (also in Solidity)
- `script` is where you'll write scripts to perform actions like deploying contracts (you guessed it, in Solidity)
- `foundry.toml` is where you can configure your Foundry settings, which we will leave as is in this guide
:::note
You might notice that the CLI is `forge` rather than `foundry`. This is because Foundry is a toolkit, and `forge` is
just one of the tools that comes with it.
:::
## Install via npm package
Let's install the {props.protocol} Node.js packages using Bun:
{`$ mkdir ${props.protocol.toLowerCase()}-integration-template
$ cd ${props.protocol.toLowerCase()}-integration-template
$ forge init --template sablier-labs/${props.protocol.toLowerCase()}-integration-template
$ bun install`}
{`$ bun add @sablier/${props.protocol.toLowerCase()}`}
Bun will download the {props.protocol} contracts, along with their dependencies, and put them in the `node_modules` directory.
Let's remap the package names to point to the installed contracts. This step is required so that the Solidity
compiler can find the {props.protocol} contracts when you import them:
{`$ echo "@sablier/${props.protocol.toLowerCase()}=node_modules/@sablier/${props.protocol.toLowerCase()}/" >> remappings.txt
$ echo "@openzeppelin/contracts/=node_modules/@openzeppelin/contracts/" >> remappings.txt
$ echo "@prb/math/=node_modules/@prb/math/" >> remappings.txt`}
That's it! You should now have a functional development environment to start building onchain {props.protocol}
integrations. Let's run a quick test to confirm everything is set up properly.
## Write your first contract
Delete the `src/Counter.sol` and `test/Counter.t.sol` files generated by Forge, and create two new files:
`src/StreamCreator.sol` and `test/StreamCreator.t.sol`.
Paste the following code into `src/StreamCreator.sol`:
{`https://github.com/sablier-labs/${props.protocol.toLowerCase()}-integration-template/blob/main/src/${props.protocol}StreamCreator.sol`}
Let's use Forge to compile this contract:
```bash
$ forge build
```
If the contract was compiled correctly, you should see this message:
```bash
[⠢] Compiling...
[⠰] Compiling 62 files with Solc 0.8.26
[⠒] Solc 0.8.26 finished in 967.04ms
Compiler run successful!
```
:::info
The minimum Solidity version supported by the {props.protocol} contracts is v0.8.22.
:::
## Run a fork test
Foundry offers native support for running tests against a fork of Ethereum Mainnet, testnets and L2s, which is useful
when building and testing integrations with onchain protocols like Sablier. In practice, this enables you to access all
Sablier contracts deployed on Ethereum, and use them for testing your integration.
As a prerequisite, you will need an RPC that supports forking. A good solution for this is Alchemy, as it includes forking in its free tier
plan.
Once you have obtained your RPC, you can proceed to run the following test:
{`https://github.com/sablier-labs/${props.protocol.toLowerCase()}-integration-template/blob/main/test/${props.protocol}StreamCreator.t.sol`}
You can run the test using Forge:
```bash
$ forge test
```
If the test passed, you should see a message like this:
{`Ran 2 tests for test/${props.protocol}StreamCreator.t.sol:${props.protocol}StreamCreatorTest
[PASS] test_Create{props.protocol}Stream() (gas: 246830)
Suite result: ok. 1 passed; 0 failed; 0 skipped; finished in 626.58ms (500.67µs CPU time)`}
## Next steps
Congratulations! Your environment is now configured, and you are prepared to start building. Explore the guides section
to discover various features available for {props.protocol} integration. Remember to include all contracts (`.sol` files) in the `src` folder and their corresponding tests in the `test` folder.
As far as Foundry is concerned, there is much more to uncover. If you want to learn more about it, check out the Foundry Book, which contains numerous examples and
tutorials. A deep understanding of Foundry will enable you to create more sophisticated integrations with {props.protocol} protocol.
---
## Implement Hooks
Hooks provide an interface for recipient contracts to react upon cancellations and withdrawals. In order to allow your
contract to be able to hook into Lockup, you must implement this interface and it must have been allowlisted by the
Lockup contract's admin.
:::info
[`allowToHook`](/reference/lockup/contracts/interfaces/interface.ISablierLockupBase#allowtohook) is an irreversible
operation, i.e., once a contract has been added to the allowlist, it can never be removed. This is to ensure stronger
immutability and decentralization guarantees. Once a recipient contract is allowlisted, integrators should NOT have to
trust us to keep their contract on the allowlist.
:::
In this guide, we will explain how to implement [hooks](/concepts/lockup/hooks) in your smart contract to allow
interacting with Lockup streams.
### Overview
### Requirements
The recipient contract should implement the `{IERC165-supportsInterface}` method, which MUST return `true` when called
with `0xf8ee98d3`, which is the interface ID for `ISablierLockupRecipient`.
```solidity
function supportsInterface(bytes4 interfaceId)
public
view
override(IERC165, ERC165)
returns (bool) {
return interfaceId == 0xf8ee98d3;
}
```
### Hook Functions
These are the hooks that can be implemented by a recipient contract:
| Hook | Arguments | Return value | Description |
| ------------------------- | --------------------------------------------------- | ----------------- | --------------------------------------------------- |
| `onSablierLockupCancel` | `(streamId, sender, senderAmount, recipientAmount)` | function selector | Called when the stream is canceled by the sender. |
| `onSablierLockupWithdraw` | `(streamId, caller, to, amount)` | function selector | Called when an amount is withdrawn from the stream. |
The complete interface for `ISablierLockupRecipient` can be found
[here](/reference/lockup/contracts/interfaces/interface.ISablierLockupRecipient).
:::tip
Looking to get on the allowlist? Reach out to us on [Discord](https://discord.sablier.com).
:::
### Sample Implementations
#### Recipient
{`https://github.com/sablier-labs/examples/blob/main/lockup/RecipientHooks.sol`}
---
## Pull Vesting Data
This guide explains how you can pull vesting data from Sablier Lockup streams. This data can be useful for a variety of
use cases, including but not limited to staking contracts, blockchain explorers, and data dashboards:
1. **Staking**: Staking of Sablier streams require access to the amount of tokens that are held by the stream. You do
not want to distribute rewards for tokens that have been withdrawn by users.
2. **Explorers (e.g., Etherscan, CoinGecko)**: One major feature of blockchain explorers is to show accurate circulating
supplies. When tokens are vested through Sablier, you may want to exclude the amount of unvested tokens from the
circulating supply. This is helpful to accurately calculate the market cap, which depends upon the amount of liquid
tokens.
3. **Data Dashboards (e.g., Tokenomist, Nansen, Dune)**: Investors and traders use data dashboards to make informed
trading decisions. When Sablier is used, you may want to show the amount of liquid (or vested) tokens and the amount
of illiquid (or unvested) tokens. This is helpful to understand the token distribution and the team's commitment to
the long-term success of the project.
:::note
Note that 'streamed amount' is synonymous with 'vested amount'.
:::
## Frontend Sandbox
The examples in this guide are written in Solidity, but you may want to interact with the Sablier Lockup contract from
your frontend application. A good starting point for this is the
[Sablier Sandbox](https://github.com/sablier-labs/sandbox).
For a comprehensive list of all the functions available in Sablier Lockup, visit the [References](/reference/overview)
section of this website.
## Actions
### Cancel on first withdraw
To automatically cancel streams as soon as the user withdraws their tokens, you can use one of two methods: onchain or
offchain.
The onchain method is to track the withdrawn amount and check if its value is greater than 0:
```solidity
if (lockup.getWithdrawnAmount(streamId) > 0) {
lockup.cancel(streamId);
}
```
Offchain, you can monitor the
[`WithdrawFromLockupStream`](/reference/lockup/contracts/interfaces/interface.ISablierLockup) events. As soon as a
withdrawal event is detected, you can send a transaction to cancel the stream.
## Calculating Amounts
### Amount in stream
This is the amount of tokens held by the stream. It is the sum of locked tokens and vested tokens that have not been
withdrawn. This value is particularly useful for applications like staking. The following formula can be used for both
cancelable and non-cancelable streams:
```solidity
uint256 amountInStream = sablierLockup.getDepositedAmount(streamId)
- sablierLockup.getWithdrawnAmount(streamId)
- sablierLockup.getRefundedAmount(streamId);
```
For non-cancelable stream, a more efficient way to calculate the amount in stream is:
```solidity
uint256 amountInStream = sablierLockup.getDepositedAmount(streamId)
- sablierLockup.getWithdrawnAmount(streamId);
```
:::info
If you want to build a Staking contract for Sablier streams, check out the [staking guide](./staking/setup).
:::
### Locked amount
This is the amount of tokens that are locked in the stream and are effectively illiquid. This is particularly relevant
when calculating the circulating supply of a token.
```solidity
uint256 lockedAmount = lockup.getDepositedAmount(streamId)
- lockup.streamedAmountOf(streamId)
- sablierLockup.getRefundedAmount(streamId);
```
For non-cancelable stream, a more efficient way to calculate locked amount is:
```solidity
uint256 lockedAmount = lockup.getDepositedAmount(streamId) - lockup.streamedAmountOf(streamId);
```
While calculating the circulating supply, you may want to subtract the locked amount from your calculations.
### Unlocked amount
As opposed to the locked amount, the unlocked amount refers to tokens that are no longer locked and are effectively
liquid.
```solidity
uint256 unlockedAmount = lockup.streamedAmountOf(streamId)
+ sablierLockup.getRefundedAmount(streamId);
```
For non-cancelable stream, a more efficient way to calculate unlocked amount is:
```solidity
uint256 unlockedAmount = lockup.streamedAmountOf(streamId);
```
## Vested amount not withdrawn
If you are building an application that requires access to amount of tokens that have been vested but not yet withdrawn,
you can use the following formula:
```solidity
uint256 vestedAmount = lockup.streamedAmountOf(streamId) - lockup.getWithdrawnAmount(streamId);
```
This may be useful for use cases in which you want to reward 'diamond hands', i.e., users who have not withdrawn their
share of airdrops.
## Unlock Dates
This section is useful if you are building a data dashboard and want to index the dates when tokens will be unlocked in
Sablier.
To obtain the time at which a stream will be fully unlocked, you can use the following function:
```solidity
uint256 unlockTime = lockup.getEndTime(streamId);
```
Obtaining the earlier unlock times depends on the type of stream. Let's go through each stream type:
### Linear streams
For Linear streams, make requests to `lockup.getCliffTime(streamId)` and `lockup.getEndTime(streamId)` to read cliff
time and end time respectively.
### Dynamic streams
For Dynamic streams, you may be particularly interested in the unlock amount and time of the current segment.
```solidity
LockupDynamic.Segment[] memory segments = lockup.getSegments(streamId);
// Loop over the segments to find the next unlock time.
for (uint i; i < segments.length; ++i) {
if (segments[i].timestamp > block.timestamp) {
nextUnlockAmount = segments[i].amount;
nextUnlockTime = segments[i].timestamp;
break;
}
}
```
### Tranched streams
For Tranched streams, you may be particularly interested in the unlock amount and time of the current tranche.
```solidity
LockupTranched.Tranche[] memory tranches = lockup.getTranches(streamId);
// Loop over the tranches to find the next unlock time.
for (uint i; i < tranches.length; ++i) {
if (tranches[i].timestamp > block.timestamp) {
nextUnlockAmount = tranches[i].amount;
nextUnlockTime = tranches[i].timestamp;
break;
}
}
```
We hope you have found this guide helpful. If you have a use case that is not covered here, please reach out to us on
[Discord](https://discord.sablier.com), and we will assist you.
---
## Batch Lockup Linear
# Create a Batch of Linear Streams
In this guide, we will show you how you can use Solidity to batch create linear streams via the
[Batch Lockup](/reference/lockup/contracts/contract.SablierBatchLockup) contract.
This guide assumes that you have already gone through the [Protocol Concepts](/concepts/streaming) section.
:::caution
The code in this guide is not production-ready, and is implemented in a simplistic manner for the purpose of learning.
:::
## Set up a contract
Declare the Solidity version used to compile the contract:
```solidity
// SPDX-License-Identifier: GPL-3.0-or-later
pragma solidity >=0.8.22;
```
Now, import the relevant symbols from `@sablier/lockup`:
```solidity
```
Create a contract called `BatchLLStreamCreator`, and declare a constant `DAI` of type `IERC20`, a constant `LOCKUP` of
type `ISablierLockup`, and a constant `BATCH_LOCKUP` of type `ISablierBatchLockup`:
```solidity
contract BatchLLStreamCreator {
IERC20 public constant DAI = IERC20(0x68194a729C2450ad26072b3D33ADaCbcef39D574);
ISablierLockup public constant LOCKUP = ISablierLockup(0xC2Da366fD67423b500cDF4712BdB41d0995b0794);
ISablierBatchLockup public constant BATCH_LOCKUP = ISablierBatchLockup(0xd4294579236eE290668c8FdaE9403c4F00D914f0);
}
```
In the code above, the contract addresses are hard-coded for demonstration purposes. However, in production, you
would likely use input parameters to allow flexibility in changing the addresses.
Also, these addresses are deployed on Ethereum Sepolia. If you need to work with a different chain, {props.protocol}
addresses can be obtained from the {props.protocol}
Deployments page.
## Batch create functions
There are two batch create functions for the Linear streams:
- [`createWithDurationsLL`](/reference/lockup/contracts/contract.SablierBatchLockup#createwithdurationsll)
- [`createWithTimestampsLL`](/reference/lockup/contracts/contract.SablierBatchLockup#createwithtimestampsll)
Which one you choose depends upon your use case. In this guide, we will use `createWithDurationsLL`.
## Function definition
Define a function called `batchCreateStreams` that takes a parameter `perStreamAmount` and returns an array of ids for
the created streams:
```solidity
function batchCreateStreams(uint128 perStreamAmount) public returns (uint256[] memory streamIds) {
// ...
}
```
## Batch size
Next, declare a batch size, which is needed to calculate the transfer amount:
```solidity
// Create a batch of two streams
uint256 batchSize = 2;
// Calculate the combined amount of DAI to transfer to this contract
uint256 transferAmount = perStreamAmount * batchSize;
```
## ERC-20 steps
To create a stream, the caller must approve the creator contract to pull the tokens from the calling address's account.
Then, we have to also approve the `Batch` contract to pull the tokens that the creator contract will be in possession of
after they are transferred from the calling address (you):
```solidity
// Transfer the provided amount of DAI tokens to this contract
DAI.transferFrom(msg.sender, address(this), transferAmount);
// Approve the Batch contract to spend DAI
DAI.approve(address(BATCH_LOCKUP), transferAmount);
```
For more guidance on how to approve and transfer ERC-20 tokens, see
[this article](https://ethereum.org/en/developers/docs/standards/tokens/erc-20/) on the Ethereum website.
## Stream Parameters
Given that we declared a `batchSize` of two, we need to define two
[BatchLockup.CreateWithDurationsLL](/reference/lockup/contracts/types/library.BatchLockup#createwithdurationsll)
structs:
```solidity
// Declare the first stream in the batch
BatchLockup.CreateWithDurationsLL memory stream0;
stream0.sender = address(0xABCD); // The sender to stream the tokens, he will be able to cancel the stream
stream0.recipient = address(0xCAFE); // The recipient of the streamed tokens
stream0.totalAmount = perStreamAmount; // The total amount of each stream, inclusive of all fees
stream0.cancelable = true; // Whether the stream will be cancelable or not
stream0.transferable = false; // Whether the recipient can transfer the NFT or not
stream0.durations = LockupLinear.Durations({
cliff: 4 weeks, // Assets will be unlocked only after 4 weeks
total: 52 weeks // Setting a total duration of ~1 year
});
stream0.unlockAmounts = LockupLinear.UnlockAmounts({
start: 0, // Whether the stream will unlock a certain amount of tokens at the start time
cliff: 0 // Whether the stream will unlock a certain amount of tokens at the cliff time
});
stream0.broker = Broker(address(0), ud60x18(0)); // Optional parameter left undefined
```
To add some variety, we will change the parameters of the second stream:
```solidity
// Declare the second stream in the batch
BatchLockup.CreateWithDurationsLL memory stream1;
stream1.sender = address(0xABCD); // The sender to stream the tokens, he will be able to cancel the stream
stream1.recipient = address(0xBEEF); // The recipient of the streamed tokens
stream1.totalAmount = perStreamAmount; // The total amount of each stream, inclusive of all fees
stream1.cancelable = false; // Whether the stream will be cancelable or not
stream1.transferable = false; // Whether the recipient can transfer the NFT or not
stream1.durations = LockupLinear.Durations({
cliff: 1 weeks, // Assets will be unlocked only after 1 week
total: 26 weeks // Setting a total duration of ~6 months
});
stream1.unlockAmounts = LockupLinear.UnlockAmounts({
start: 0, // Whether the stream will unlock a certain amount of tokens at the start time
cliff: 0 // Whether the stream will unlock a certain amount of tokens at the start time
});
stream1.broker = Broker(address(0), ud60x18(0)); // Optional parameter left undefined
```
Once both structs are declared, the batch array has to be filled:
```solidity
// Fill the batch param
BatchLockup.CreateWithDurationsLL[] memory batch = new BatchLockup.CreateWithDurationsLL[](batchSize);
batch[0] = stream0;
batch[1] = stream1;
```
## Invoke the batch create function
With all parameters set, we can now call the `createWithDurationsLL` function, and assign the ids of the newly created
streams to the array:
```solidity
streamIds = BATCH_LOCKUP.createWithDurationsLL(LOCKUP_LINEAR, DAI, batch);
```
## Full code
Below you can see the full code. You can also access the code on GitHub through
[this link](https://github.com/sablier-labs/examples/blob/main/lockup/BatchLLStreamCreator.sol).
{`https://github.com/sablier-labs/examples/blob/main/lockup/BatchLLStreamCreator.sol`}
---
## Batch Lockup Dynamic
# Create a Batch of Dynamic Streams
In this guide, we will show you how you can use Solidity to batch create dynamic streams via the
[Batch Lockup](/reference/lockup/contracts/contract.SablierBatchLockup) contract.
This guide assumes that you have already gone through the [Protocol Concepts](/concepts/streaming) section.
:::caution
The code in this guide is not production-ready, and is implemented in a simplistic manner for the purpose of learning.
:::
## Set up a contract
Declare the Solidity version used to compile the contract:
```solidity
// SPDX-License-Identifier: GPL-3.0-or-later
pragma solidity >=0.8.22;
```
Now, import the relevant symbols from `@sablier/lockup`:
```solidity
```
Create a contract called `BatchLDStreamCreator`, and declare a constant `DAI` of type `IERC20`, a constant `LOCKUP` of
type `ISablierLockup`, and a constant `BATCH_LOCKUP` of type `ISablierBatchLockup`:
```solidity
contract BatchLDStreamCreator {
IERC20 public constant DAI = IERC20(0x68194a729C2450ad26072b3D33ADaCbcef39D574);
ISablierLockup public constant LOCKUP = ISablierLockup(0xC2Da366fD67423b500cDF4712BdB41d0995b0794);
ISablierBatchLockup public constant BATCH_LOCKUP = ISablierBatchLockup(0xd4294579236eE290668c8FdaE9403c4F00D914f0);
}
```
In the code above, the contract addresses are hard-coded for demonstration purposes. However, in production, you
would likely use input parameters to allow flexibility in changing the addresses.
Also, these addresses are deployed on Ethereum Sepolia. If you need to work with a different chain, {props.protocol}
addresses can be obtained from the {props.protocol}
Deployments page.
## Batch create functions
There are two batch create functions for the Dynamic streams:
- [`createWithDurationsLD`](/reference/lockup/contracts/contract.SablierBatchLockup#createwithdurationsld)
- [`createWithTimestampsLD`](/reference/lockup/contracts/contract.SablierBatchLockup#createwithtimestampsld)
Which one you choose depends upon your use case. In this guide, we will use `createWithTimestampsLD`.
## Function definition
Define a function called `batchCreateStreams` that takes a parameter `perStreamAmount` and returns an array of ids for
the created streams:
```solidity
function batchCreateStreams(uint128 perStreamAmount) public returns (uint256[] memory streamIds) {
// ...
}
```
## Batch size
Next, declare a batch size, which is needed to calculate the transfer amount:
```solidity
// Create a batch of two streams
uint256 batchSize = 2;
// Calculate the combined amount of DAI to transfer to this contract
uint256 transferAmount = perStreamAmount * batchSize;
```
## ERC-20 steps
To create a stream, the caller must approve the creator contract to pull the tokens from the calling address's account.
Then, we have to also approve the `Batch` contract to pull the tokens that the creator contract will be in possession of
after they are transferred from the calling address (you):
```solidity
// Transfer the provided amount of DAI tokens to this contract
DAI.transferFrom(msg.sender, address(this), transferAmount);
// Approve the Batch contract to spend DAI
DAI.approve(address(BATCH_LOCKUP), transferAmount);
```
For more guidance on how to approve and transfer ERC-20 tokens, see
[this article](https://ethereum.org/en/developers/docs/standards/tokens/erc-20/) on the Ethereum website.
## Stream Parameters
Given that we declared a `batchSize` of two, we need to define two
[BatchLockup.CreateWithTimestampsLD](/reference/lockup/contracts/types/library.BatchLockup#createwithtimestampsld)
structs:
```solidity
// Declare the first stream in the batch
BatchLockup.CreateWithTimestampsLD memory stream0;
stream0.sender = address(0xABCD); // The sender to stream the tokens, he will be able to cancel the stream
stream0.recipient = address(0xCAFE); // The recipient of the streamed tokens
stream0.totalAmount = perStreamAmount; // The total amount of each stream, inclusive of all fees
stream0.cancelable = true; // Whether the stream will be cancelable or not
stream0.transferable = false; // Whether the recipient can transfer the NFT or not
stream0.startTime = uint40(block.timestamp); // Set the start time to block timestamp
// Declare some dummy segments
stream0.segments = new LockupDynamic.Segment[](2);
stream0.segments[0] = LockupDynamic.Segment({
amount: uint128(perStreamAmount / 2),
exponent: ud2x18(0.25e18),
timestamp: uint40(block.timestamp + 1 weeks)
});
stream0.segments[1] = (
LockupDynamic.Segment({
amount: uint128(perStreamAmount - stream0.segments[0].amount),
exponent: ud2x18(2.71e18),
timestamp: uint40(block.timestamp + 24 weeks)
})
);
stream0.broker = Broker(address(0), ud60x18(0)); // Optional parameter left undefined
```
To add some variety, we will change the parameters of the second stream:
```solidity
BatchLockup.CreateWithTimestampsLD memory stream1;
stream1.sender = address(0xABCD); // The sender to stream the tokens, he will be able to cancel the stream
stream1.recipient = address(0xBEEF); // The recipient of the streamed tokens
stream1.totalAmount = uint128(perStreamAmount); // The total amount of each stream, inclusive of all fees
stream1.cancelable = false; // Whether the stream will be cancelable or not
stream1.transferable = false; // Whether the recipient can transfer the NFT or not
stream1.startTime = uint40(block.timestamp); // Set the start time to block timestamp
// Declare some dummy segments
stream1.segments = new LockupDynamic.Segment[](2);
stream1.segments[0] = LockupDynamic.Segment({
amount: uint128(perStreamAmount / 4),
exponent: ud2x18(1e18),
timestamp: uint40(block.timestamp + 4 weeks)
});
stream1.segments[1] = (
LockupDynamic.Segment({
amount: uint128(perStreamAmount - stream1.segments[0].amount),
exponent: ud2x18(3.14e18),
timestamp: uint40(block.timestamp + 52 weeks)
})
);
stream1.broker = Broker(address(0), ud60x18(0)); // Optional parameter left undefined
```
Once both structs are declared, the batch array has to be filled:
```solidity
// Fill the batch array
BatchLockup.CreateWithTimestampsLD[] memory batch = new BatchLockup.CreateWithTimestampsLD[](batchSize);
batch[0] = stream0;
batch[1] = stream1;
```
## Invoke the batch create function
With all parameters set, we can now call the `createWithTimestampsLD` function, and assign the ids of the newly created
streams to the array:
```solidity
streamIds = BATCH_LOCKUP.createWithTimestampsLD(LOCKUP_DYNAMIC, DAI, batch);
```
## Full code
Below you can see the full code. You can also access the code on GitHub through
[this link](https://github.com/sablier-labs/examples/blob/main/lockup/BatchLDStreamCreator.sol).
{`https://github.com/sablier-labs/examples/blob/main/lockup/BatchLDStreamCreator.sol`}
---
## Batch Lockup Tranched
# Create a Batch of Tranched Streams
In this guide, we will show you how can use Solidity to batch create tranched streams via the
[Batch Lockup](/reference/lockup/contracts/contract.SablierBatchLockup) contract.
This guide assumes that you have already gone through the [Protocol Concepts](/concepts/streaming) section.
:::caution
The code in this guide is not production-ready, and is implemented in a simplistic manner for the purpose of learning.
:::
## Set up a contract
Declare the Solidity version used to compile the contract:
```solidity
// SPDX-License-Identifier: GPL-3.0-or-later
pragma solidity >=0.8.22;
```
Now, import the relevant symbols from `@sablier/lockup`:
```solidity
```
Create a contract called `BatchLTStreamCreator`, and declare a constant `DAI` of type `IERC20`, a constant `LOCKUP` of
type `ISablierLockup`, and a constant `BATCH_LOCKUP` of type `ISablierBatchLockup`:
```solidity
contract BatchLTStreamCreator {
IERC20 public constant DAI = IERC20(0x68194a729C2450ad26072b3D33ADaCbcef39D574);
ISablierLockup public constant LOCKUP = ISablierLockup(0xC2Da366fD67423b500cDF4712BdB41d0995b0794);
ISablierBatchLockup public constant BATCH_LOCKUP = ISablierBatchLockup(0xd4294579236eE290668c8FdaE9403c4F00D914f0);
}
```
In the code above, the contract addresses are hard-coded for demonstration purposes. However, in production, you
would likely use input parameters to allow flexibility in changing the addresses.
Also, these addresses are deployed on Ethereum Sepolia. If you need to work with a different chain, {props.protocol}
addresses can be obtained from the {props.protocol}
Deployments page.
## Batch create functions
There are two batch create functions for the Tranched streams:
- [`createWithDurationsLT`](/reference/lockup/contracts/contract.SablierBatchLockup#createwithdurationslt)
- [`createWithTimestampsLT`](/reference/lockup/contracts/contract.SablierBatchLockup#createwithtimestampslt)
Which one you choose depends upon your use case. In this guide, we will use `createWithTimestampsLT`.
## Function definition
Define a function called `batchCreateStreams` that takes a parameter `perStreamAmount` and returns an array of ids for
the created streams:
```solidity
function batchCreateStreams(uint128 perStreamAmount) public returns (uint256[] memory streamIds) {
// ...
}
```
## Batch size
Next, declare a batch size, which is needed to calculate the transfer amount:
```solidity
// Create a batch of two streams
uint256 batchSize = 2;
// Calculate the combined amount of DAI to transfer to this contract
uint256 transferAmount = perStreamAmount * batchSize;
```
## ERC-20 steps
To create a stream, the caller must approve the creator contract to pull the tokens from the calling address's account.
Then, we have to also approve the `Batch` contract to pull the tokens that the creator contract will be in possession of
after they are transferred from the calling address (you):
```solidity
// Transfer the provided amount of DAI tokens to this contract
DAI.transferFrom(msg.sender, address(this), transferAmount);
// Approve the Batch contract to spend DAI
DAI.approve(address(BATCH_LOCKUP), transferAmount);
```
For more guidance on how to approve and transfer ERC-20 tokens, see
[this article](https://ethereum.org/en/developers/docs/standards/tokens/erc-20/) on the Ethereum website.
## Stream Parameters
Given that we declared a `batchSize` of two, we need to define two
[BatchLockup.CreateWithTimestampsLT](/reference/lockup/contracts/types/library.BatchLockup#createwithtimestampslt)
structs:
```solidity
// Declare the first stream in the batch
BatchLockup.CreateWithTimestampsLT memory stream0;
stream0.sender = address(0xABCD); // The sender to stream the tokens, he will be able to cancel the stream
stream0.recipient = address(0xCAFE); // The recipient of the streamed tokens
stream0.totalAmount = perStreamAmount; // The total amount of each stream, inclusive of all fees
stream0.cancelable = true; // Whether the stream will be cancelable or not
stream0.transferable = false; // Whether the recipient can transfer the NFT or not
stream0.startTime = uint40(block.timestamp); // Set the start time to block timestamp
// Declare some dummy tranches
stream0.tranches = new LockupTranched.Tranche[](2);
stream0.tranches[0] = LockupTranched.Tranche({
amount: uint128(perStreamAmount / 2),
timestamp: uint40(block.timestamp + 1 weeks)
});
stream0.tranches[1] = LockupTranched.Tranche({
amount: uint128(perStreamAmount - stream0.tranches[0].amount),
timestamp: uint40(block.timestamp + 24 weeks)
});
stream0.broker = Broker(address(0), ud60x18(0)); // Optional parameter left undefined
```
To add some variety, we will change the parameters of the second stream:
```solidity
BatchLockup.CreateWithTimestampsLT memory stream1;
stream1.sender = address(0xABCD); // The sender to stream the tokens, he will be able to cancel the stream
stream1.recipient = address(0xBEEF); // The recipient of the streamed tokens
stream1.totalAmount = uint128(perStreamAmount); // The total amount of each stream, inclusive of all fees
stream1.cancelable = false; // Whether the stream will be cancelable or not
stream1.transferable = false; // Whether the recipient can transfer the NFT or not
stream1.startTime = uint40(block.timestamp); // Set the start time to block timestamp
// Declare some dummy tranches
stream1.tranches = new LockupTranched.Tranche[](2);
stream1.tranches[0] = LockupTranched.Tranche({
amount: uint128(perStreamAmount / 4),
timestamp: uint40(block.timestamp + 4 weeks)
});
stream1.tranches[1] = LockupTranched.Tranche({
amount: uint128(perStreamAmount - stream1.tranches[0].amount),
timestamp: uint40(block.timestamp + 24 weeks)
});
stream1.broker = Broker(address(0), ud60x18(0)); // Optional parameter left undefined
```
Once both structs are declared, the batch array has to be filled:
```solidity
// Fill the batch array
BatchLockup.CreateWithTimestampsLT[] memory batch = new BatchLockup.CreateWithTimestampsLT[](batchSize);
batch[0] = stream0;
batch[1] = stream1;
```
## Invoke the batch create function
With all parameters set, we can now call the `createWithTimestampsLT` function, and assign the ids of the newly created
streams to the array:
```solidity
streamIds = BATCH_LOCKUP.createWithTimestampsLT(LOCKUP_TRANCHED, DAI, batch);
```
## Full code
Below you can see the full code. You can also access the code on GitHub through
[this link](https://github.com/sablier-labs/examples/blob/main/lockup/BatchLTStreamCreator.sol).
{`https://github.com/sablier-labs/examples/blob/main/lockup/BatchLTStreamCreator.sol`}
---
## Lockup Linear
# Create a Lockup Linear Stream
Linear streams are streams with a linear streaming function. In this guide, we will show you how to create a Lockup
Linear stream using Solidity.
This guide assumes that you have already gone through the [Protocol Concepts](/concepts/streaming) section.
:::caution
The code in this guide is not production-ready, and is implemented in a simplistic manner for the purpose of learning.
:::
## Set up a contract
Declare the Solidity version used to compile the contract:
```solidity
// SPDX-License-Identifier: GPL-3.0-or-later
pragma solidity >=0.8.22;
```
Import the relevant symbols from `@sablier/lockup`:
```solidity
```
Create a contract called `LockupLinearStreamCreator`, and declare a constant `DAI` of type `IERC20` and a constant
`LOCKUP` of type `ISablierLockup`:
```solidity
contract LockupLinearStreamCreator {
IERC20 public constant DAI = IERC20(0x68194a729C2450ad26072b3D33ADaCbcef39D574);
ISablierLockup public constant LOCKUP = ISablierLockup(0xC2Da366fD67423b500cDF4712BdB41d0995b0794);
}
```
In the code above, the contract addresses are hard-coded for demonstration purposes. However, in production, you
would likely use input parameters to allow flexibility in changing the addresses.
Also, these addresses are deployed on Ethereum Sepolia. If you need to work with a different chain, {props.protocol}
addresses can be obtained from the {props.protocol}
Deployments page.
There are two create functions in the Lockup contract that can be used to create Linear streams:
- `createWithDurationsLL`: takes duration and calculates the start and end timestamps based on the provided durations.
- `createWithTimestampsLL`: takes start and end timestamps.
Which one you choose depends upon your use case. In this guide, we will use `createWithDurationsLL`.
## Function definition
Define a function called `createStream` which takes a single parameter `totalAmount`, and which returns the id of the
created stream:
```solidity
function createStream(uint128 totalAmount) public returns (uint256 streamId) {
// ...
}
```
## ERC-20 steps
To create a stream, the caller must approve the creator contract to pull the tokens from the calling address's account.
Then, we have to approve the Lockup contract to pull the tokens that the creator contract will be in possession of after
they are transferred from the calling address (you):
```solidity
// Transfer the provided amount of DAI tokens to this contract
DAI.transferFrom(msg.sender, address(this), totalAmount);
// Approve the Sablier contract to spend DAI
DAI.approve(address(LOCKUP), totalAmount);
```
For more guidance on how to approve and transfer ERC-20 tokens, see
[this article](https://ethereum.org/en/developers/docs/standards/tokens/erc-20/) on the Ethereum website.
## Parameters
The struct associated with `createWithDurationsLL` are
[`Lockup.CreateWithDurations`](/reference/lockup/contracts/types/library.Lockup#createwithdurations) (a shared struct
across all the lockup streams),
[`LockupLinear.durations`](/reference/lockup/contracts/types/library.LockupLinear#durations) and
[`LockupLinear.unlockamounts`](/reference/lockup/contracts/types/library.LockupLinear#unlockamounts).
```solidity
Lockup.CreateWithDurations memory params;
LockupLinear.UnlockAmounts memory unlockAmounts;
LockupLinear.Durations memory durations;
```
Let's review each parameter in detail.
Let's review each parameter in detail.
### Broker
An optional parameter that can be set in order to charge a fee as a percentage of `totalAmount`.
In the following example, we will leave this parameter uninitialized (i.e. set to zero), because it doesn't make sense
to charge yourself a fee. In practice, this parameter will mostly be used by front-end applications.
```solidity
params.broker = Broker(address(0), ud60x18(0));
```
:::info
Wondering what's up with that `ud60x18` function? It's a casting function that wraps a basic integer to the `UD60x18`
value type. This type is part of the math library [PRBMath](https://github.com/PaulRBerg/prb-math), which is used in
Sablier for fixed-point calculations.
:::
### Cancelable
Boolean that indicates whether the stream will be cancelable or not.
```solidity
params.cancelable = true;
```
### Recipient
The address receiving the tokens:
```solidity
params.recipient = address(0xCAFE);
```
### Sender
The address streaming the tokens, with the ability to cancel the stream:
```solidity
params.sender = msg.sender;
```
### Token
The contract address of the ERC-20 token used for streaming. In this example, we will stream DAI:
```solidity
params.token = DAI;
```
### Total amount
The total amount of ERC-20 tokens to be paid, including the stream deposit and any potential [fees](/concepts/fees), all
denoted in units of the asset's decimals.
```solidity
params.totalAmount = totalAmount;
```
### Transferable
Boolean that indicates whether the stream will be transferable or not.
```solidity
params.transferable = true;
```
### Durations
Struct containing (i) cliff duration and (ii) total stream duration, both denoted in seconds.
```solidity
durations = LockupLinear.Durations({
cliff: 0,
total: 52 weeks
});
```
### Unlock Amounts
Struct containing details on unlock amounts at start time and at cliff time.
```solidity
unlockAmounts = LockupLinear.UnlockAmounts({ start: 0, cliff: 0 });
```
## Invoke the create function
With all parameters set, we can now call the `createWithDurationsLL` function, and assign the id of the newly created
stream to a variable:
```solidity
streamId = LOCKUP.createWithDurationsLL(params, unlockAmounts, durations);
```
## Full code
Below you can see the full code. You can also access the code on GitHub through
[this link](https://github.com/sablier-labs/examples/blob/main/lockup/LockupLinearStreamCreator.sol).
{`https://github.com/sablier-labs/examples/blob/main/lockup/LockupLinearStreamCreator.sol`}
---
## Lockup Tranched
# Create a Lockup Tranched Stream
Lockup Tranched are streams with discrete unlocks. In this guide, we will show you how to create a Lockup Tranched
stream using Solidity.
This guide assumes that you have already gone through the [Protocol Concepts](/concepts/streaming) section.
:::caution
The code in this guide is not production-ready, and is implemented in a simplistic manner for the purpose of learning.
:::
## Set up a contract
Declare the Solidity version used to compile the contract:
```solidity
// SPDX-License-Identifier: GPL-3.0-or-later
pragma solidity >=0.8.22;
```
Import the relevant symbols from `@sablier/lockup`:
```solidity
```
Create a contract called `LockupTranchedStreamCreator`, and declare a constant `DAI` of type `IERC20` and a constant
`LOCKUP` of type `ISablierLockup`:
```solidity
contract LockupTranchedStreamCreator {
IERC20 public constant DAI = IERC20(0x68194a729C2450ad26072b3D33ADaCbcef39D574);
ISablierLockup public constant LOCKUP = ISablierLockup(0xC2Da366fD67423b500cDF4712BdB41d0995b0794);
}
```
In the code above, the contract addresses are hard-coded for demonstration purposes. However, in production, you
would likely use input parameters to allow flexibility in changing the addresses.
Also, these addresses are deployed on Ethereum Sepolia. If you need to work with a different chain, {props.protocol}
addresses can be obtained from the {props.protocol}
Deployments page.
There are two create functions in the Lockup contract that can be used to create Tranched streams:
- `createWithDurationsLT`: takes duration and calculates the tranche timestamps based on the provided durations.
- `createWithTimestampsLT`: takes UNIX timestamps for tranches.
Which one you choose depends upon your use case. In this guide, we will use `createWithDurationsLT`.
## Function definition
Define a function called `createStream` which takes two parameters, `amount0` and `amount1`, and which returns the id of
the created stream:
```solidity
function createStream(uint128 amount0, uint128 amount1) public returns (uint256 streamId) {
// ...
}
```
Next, sum up the `amount0` and `amount1` parameters to get the total amount of the stream, which will be needed in many
of the steps below:
```solidity
uint256 totalAmount = amount0 + amount1;
```
## ERC-20 steps
To create a stream, the caller must approve the creator contract to pull the tokens from the calling address's account.
Then, we have to approve the Lockup contract to pull the tokens that the creator contract will be in possession of after
they are transferred from the calling address (you):
```solidity
// Transfer the provided amount of DAI tokens to this contract
DAI.transferFrom(msg.sender, address(this), totalAmount);
// Approve the Sablier contract to spend DAI
DAI.approve(address(LOCKUP), totalAmount);
```
For more guidance on how to approve and transfer ERC-20 tokens, see
[this article](https://ethereum.org/en/developers/docs/standards/tokens/erc-20/) on the Ethereum website.
## Parameters
The struct associated with `createWithDurationsLT` are
[`Lockup.CreateWithDurations`](/reference/lockup/contracts/types/library.Lockup#createwithdurations) (a shared struct
across all the lockup streams) and
[`LockupTranched.TrancheWithDuration`](/reference/lockup/contracts/types/library.LockupTranched#tranchewithduration).
```solidity
Lockup.CreateWithDurations memory params;
LockupTranched.TrancheWithDuration[] memory tranches = new LockupTranched.TrancheWithDuration[](2);
```
Let's review each parameter in detail.
Let's review each parameter in detail.
### Broker
An optional parameter that can be set in order to charge a fee as a percentage of `totalAmount`.
In the following example, we will leave this parameter uninitialized (i.e. set to zero), because it doesn't make sense
to charge yourself a fee. In practice, this parameter will mostly be used by front-end applications.
```solidity
params.broker = Broker(address(0), ud60x18(0));
```
:::info
Wondering what's up with that `ud60x18` function? It's a casting function that wraps a basic integer to the `UD60x18`
value type. This type is part of the math library [PRBMath](https://github.com/PaulRBerg/prb-math), which is used in
Sablier for fixed-point calculations.
:::
### Cancelable
Boolean that indicates whether the stream will be cancelable or not.
```solidity
params.cancelable = true;
```
### Recipient
The address receiving the tokens:
```solidity
params.recipient = address(0xCAFE);
```
### Sender
The address streaming the tokens, with the ability to cancel the stream:
```solidity
params.sender = msg.sender;
```
### Token
The contract address of the ERC-20 token used for streaming. In this example, we will stream DAI:
```solidity
params.token = DAI;
```
### Total amount
The total amount of ERC-20 tokens to be paid, including the stream deposit and any potential [fees](/concepts/fees), all
denoted in units of the asset's decimals.
```solidity
params.totalAmount = totalAmount;
```
### Transferable
Boolean that indicates whether the stream will be transferable or not.
```solidity
params.transferable = true;
```
### Tranches With Duration
Tranches are what the protocol uses to compose the discrete unlocks. For a full exposition of tranches, see the
[Tranches](/concepts/lockup/tranches) guide.
Each tranche is characterized by a specific amount and timestamp. Because we are using `createWithDurationsLT` in this
example, these tranches are supplied to the function in the form of an array containing
[`LockupTranched.TrancheWithDuration`](/reference/lockup/contracts/types/library.LockupTranched#tranchewithduration)
structs.
Let's define two dummy tranches:
```solidity
params.tranches[0] = LockupTranched.TrancheWithDuration({
amount: amount0,
duration: uint40(4 weeks)
});
params.tranches[1] = (
LockupTranched.TrancheWithDuration({
amount: amount1,
duration: uint40(6 weeks)
})
);
```
In this example, the first tranche (`amount0`) will unlock at the end of the 4 weeks after the stream was created and
the second tranche (`amount1`) will unlock after further 6 weeks. Thus, the total amount will be unlocked in 10 weeks.
## Invoke the create function
With all parameters set, we can now call the `createWithDurationsLT` function, and assign the ID of the newly created
stream to a variable:
```solidity
streamId = LOCKUP.createWithDurationsLT(params, tranches);
```
## Full code
Below you can see the full code. You can also access the code on GitHub through
[this link](https://github.com/sablier-labs/examples/blob/main/lockup/LockupTranchedStreamCreator.sol).
{`https://github.com/sablier-labs/examples/blob/main/lockup/LockupTranchedStreamCreator.sol`}
---
## Lockup Dynamic
# Create a Lockup Dynamic Stream
Dynamic streams are streams with a custom streaming function. In this guide, we will show you how to create a Lockup
Dynamic stream using Solidity.
This guide assumes that you have already gone through the [Protocol Concepts](/concepts/streaming) section.
:::caution
The code in this guide is not production-ready, and is implemented in a simplistic manner for the purpose of learning.
:::
## Set up a contract
Declare the Solidity version used to compile the contract:
```solidity
// SPDX-License-Identifier: GPL-3.0-or-later
pragma solidity >=0.8.22;
```
Import the relevant symbols from `@sablier/lockup`:
```solidity
```
Create a contract called `LockupDynamicStreamCreator`, and declare a constant `DAI` of type `IERC20` and a constant
`LOCKUP` of type `ISablierLockup`:
```solidity
contract LockupDynamicStreamCreator {
IERC20 public constant DAI = IERC20(0x68194a729C2450ad26072b3D33ADaCbcef39D574);
ISablierLockup public constant LOCKUP = ISablierLockup(0xC2Da366fD67423b500cDF4712BdB41d0995b0794);
}
```
In the code above, the contract addresses are hard-coded for demonstration purposes. However, in production, you
would likely use input parameters to allow flexibility in changing the addresses.
Also, these addresses are deployed on Ethereum Sepolia. If you need to work with a different chain, {props.protocol}
addresses can be obtained from the {props.protocol}
Deployments page.
There are two create functions in the Lockup contract that can be used to create Dynamic streams:
- `createWithDurationsLD`: takes duration and calculates the segment timestamps based on the provided durations.
- `createWithTimestampsLD`: takes UNIX timestamps for segment.
Which one you choose depends upon your use case. In this guide, we will use `createWithTimestampsLD`.
## Function definition
Define a function called `createStream` which takes two parameters, `amount0` and `amount1`, and which returns the id of
the created stream:
```solidity
function createStream(uint128 amount0, uint128 amount1) public returns (uint256 streamId) {
// ...
}
```
Next, sum up the `amount0` and `amount1` parameters to get the total amount of the stream, which will be needed in many
of the steps below:
```solidity
uint256 totalAmount = amount0 + amount1;
```
## ERC-20 steps
To create a stream, the caller must approve the creator contract to pull the tokens from the calling address's account.
Then, we have to approve the Lockup contract to pull the tokens that the creator contract will be in possession of after
they are transferred from the calling address (you):
```solidity
// Transfer the provided amount of DAI tokens to this contract
DAI.transferFrom(msg.sender, address(this), totalAmount);
// Approve the Sablier contract to spend DAI
DAI.approve(address(LOCKUP), totalAmount);
```
For more guidance on how to approve and transfer ERC-20 tokens, see
[this article](https://ethereum.org/en/developers/docs/standards/tokens/erc-20/) on the Ethereum website.
## Parameters
The struct associated with `createWithTimestampsLD` are
[`Lockup.CreateWithTimestamps`](/reference/lockup/contracts/types/library.Lockup#createwithtimestamps) (a shared struct
across all the lockup streams) and
[`LockupDynamic.Segment`](/reference/lockup/contracts/types/library.LockupDynamic#segment).
```solidity
LockupDynamic.CreateWithTimestamps memory params;
LockupDynamic.Segment[] memory segments = new LockupDynamic.Segment[](2);
```
Let's review each parameter in detail.
Let's review each parameter in detail.
### Broker
An optional parameter that can be set in order to charge a fee as a percentage of `totalAmount`.
In the following example, we will leave this parameter uninitialized (i.e. set to zero), because it doesn't make sense
to charge yourself a fee. In practice, this parameter will mostly be used by front-end applications.
```solidity
params.broker = Broker(address(0), ud60x18(0));
```
:::info
Wondering what's up with that `ud60x18` function? It's a casting function that wraps a basic integer to the `UD60x18`
value type. This type is part of the math library [PRBMath](https://github.com/PaulRBerg/prb-math), which is used in
Sablier for fixed-point calculations.
:::
### Cancelable
Boolean that indicates whether the stream will be cancelable or not.
```solidity
params.cancelable = true;
```
### Recipient
The address receiving the tokens:
```solidity
params.recipient = address(0xCAFE);
```
### Sender
The address streaming the tokens, with the ability to cancel the stream:
```solidity
params.sender = msg.sender;
```
### Token
The contract address of the ERC-20 token used for streaming. In this example, we will stream DAI:
```solidity
params.token = DAI;
```
### Total amount
The total amount of ERC-20 tokens to be paid, including the stream deposit and any potential [fees](/concepts/fees), all
denoted in units of the asset's decimals.
```solidity
params.totalAmount = totalAmount;
```
### Transferable
Boolean that indicates whether the stream will be transferable or not.
```solidity
params.transferable = true;
```
### Start Time and End Time
The start and end timestamps for the stream. Note that the end timestamps much match the timestamp of the last segment.
```solidity
params.timestamps.start = uint40(block.timestamp + 100 seconds);
params.timestamps.end = uint40(block.timestamp + 52 weeks);
```
### Segments
Segments are what the protocol uses to compose the custom distribution curve of a Dynamic stream. For a full exposition
of segments, see the [Segments](/concepts/lockup/segments) guide.
The term "segment" refers to the splitting of the stream into separate partitions, with each segment characterized by a
specific amount, exponent, and timestamp. These segments are supplied to the function in the form of an array containing
[`LockupDynamic.Segment`](/reference/lockup/contracts/types/library.LockupDynamic#segment) structs.
Let's define two dummy segments:
```solidity
segments[0] = LockupDynamic.Segment({
amount: amount0,
exponent: ud2x18(1e18),
timestamp: uint40(block.timestamp + 4 weeks)
});
segments[1] = (
LockupDynamic.Segment({
amount: amount1,
exponent: ud2x18(3.14e18),
timestamp: uint40(block.timestamp + 52 weeks)
})
);
```
In this example, the first segment (`amount0`) will stream much faster than the second segment (`amount1`), because the
exponents are different. As a rule of thumb: the higher the exponent, the slower the stream.
:::note
The segment timestamp must be in ascending order.
:::
:::info
The `ud2x18` function wraps a basic integer to the `UD2x18` value type, which is part of the
[PRBMath](https://github.com/PaulRBerg/prb-math) library.
:::
## Invoke the create function
With all parameters set, we can now call the `createWithTimestampsLD` function, and assign the id of the newly created
stream to a variable:
```solidity
streamId = LOCKUP.createWithTimestampsLD(params, segments);
```
## Full code
Below you can see the full code. You can also access the code on GitHub through
[this link](https://github.com/sablier-labs/examples/blob/main/lockup/LockupDynamicStreamCreator.sol).
{`https://github.com/sablier-labs/examples/blob/main/lockup/LockupDynamicStreamCreator.sol`}
---
## Introduction
# Staking in Sablier
Staking is a popular concept in DeFi. A major advantage of using Sablier is that you can set up staking of tokens being
vested through Sablier streams. This is enabled by [hooks](/concepts/lockup/hooks), about which you can read more in the
[hooks guide](/guides/lockup/examples/hooks).
This series will guide you through an example of a staking contract with the following features:
1. Allowing users to stake Sablier streams for a particular token.
2. Earning and claiming rewards in the same token as the vested token.
3. Allowing users to unstake their staked Sablier streams.
:::warning
The code provided in this guide has NOT BEEN AUDITED and is provided "AS IS" with no warranties of any kind, either
express or implied. It is intended solely for demonstration purposes.
:::
## Assumptions
Before diving in, please note that we will make the following assumptions:
1. Since staking requires transferring the Sablier NFT from users' wallet to the staking contract, the Sablier stream
must be transferable at the time of creation.
1. The staking contract allows staking of one stream per user. So, if a user has already staked a stream, he will not be
able to stake another stream from the same address. This is assumed for simplicity's sake.
1. Rewards are distributed at a fixed rate, for a fixed duration, and are bound by an end time.
## First steps
Let's begin with the constructor.
Create a contract called `StakeSablierNFT` and write the `constructor` as follows:
```solidity
contract StakeSablierNFT is
Adminable,
ERC721Holder,
ISablierLockupRecipient // Required to implement hooks
{
constructor(address initialAdmin, IERC20 rewardERC20Token_, ISablierLockup sablierLockup_) {
admin = initialAdmin;
rewardERC20Token = rewardERC20Token_;
sablierLockup = sablierLockup_;
}
}
```
As mentioned above, a user will only be able to stake a stream that is vesting tokens specified by `rewardERC20Token_`
in the constructor. The rewards will also be distributed in the same token.
To focus on specific functionalities that enable staking support for streams, obvious functions such as
`startStakingPeriod` have been omitted from this guide. However, for completeness, the full code can be found on the
next page as well as in the
[examples repo](https://github.com/sablier-labs/examples/blob/main/lockup/StakeSablierNFT.sol).
---
## Full code
The guide in the following pages will cover each of the essential functionalities of the `StakeSablierNFT` contract. For
those who want to start hacking right away, here is the full code, which can also be found on
[GitHub](https://github.com/sablier-labs/examples/blob/main/lockup/StakeSablierNFT.sol):
{`https://github.com/sablier-labs/examples/blob/main/lockup/StakeSablierNFT.sol`}
---
## Hooks (2)
As explained in the [access control](/reference/lockup/access-control) section, the Sablier Protocol allows anyone to
trigger withdrawals from a stream. For the staking contract, we want to make sure that any call to `withdraw` also
updates the states of the staking contract. So in this section, we will discuss how we can create such control flows
with Sablier hooks.
Hooks enable callbacks to the staking contract in the following scenario:
1. A call to `cancel` or `withdraw` function is made.
2. The staking contract is the recipient of the Sablier stream.
Depending on your requirement, you can implement custom logic to be executed when the sender cancels or a user withdraws
from a staked stream. For example, you might want to automatically unstake the stream if `cancel` is called, or you
might want to update the internal accounting if `withdraw` is called. Hooks make that happen.
For this example, we will implement the following logic:
1. When a stream is canceled, update the user's staked balance in the staking contract.
2. When a withdrawal is made, update the user's staked balance in the staking contract and transfer the withdrawn amount
to the user's address.
:::note
A dedicated guide for hooks is available [here](/guides/lockup/examples/hooks).
:::
### Cancel hook
```solidity
/// @notice Implements the hook to handle cancellation events. This will be called by Sablier contract when a stream
/// is canceled by the sender.
/// @dev This function subtracts the amount refunded to the sender from `totalERC20StakedSupply`.
/// - This function also updates the rewards for the staker.
function onSablierLockupCancel(
uint256 streamId,
address, /* sender */
uint128 senderAmount,
uint128 /* recipientAmount */
)
external
updateReward(stakedUsers[streamId])
returns (bytes4 selector)
{
// Check: the caller is the Lockup contract.
if (msg.sender != address(sablierLockup)) {
revert UnauthorizedCaller(msg.sender, streamId);
}
// Effect: update the total staked amount.
totalERC20StakedSupply -= senderAmount;
return ISablierLockupRecipient.onSablierLockupCancel.selector;
}
```
### Withdraw hook
```solidity
/// @notice Implements the hook to handle withdraw events. This will be called by Sablier contract when withdraw is
/// called on a stream.
/// @dev This function transfers `amount` to the original staker.
function onSablierLockupWithdraw(
uint256 streamId,
address, /* caller */
address, /* recipient */
uint128 amount
)
external
updateReward(stakedUsers[streamId])
returns (bytes4 selector)
{
// Check: the caller is the Lockup contract
if (msg.sender != address(sablierLockup)) {
revert UnauthorizedCaller(msg.sender, streamId);
}
address staker = stakedUsers[streamId];
// Check: the staker is not the zero address.
if (staker == address(0)) {
revert ZeroAddress(staker);
}
// Effect: update the total staked amount.
totalERC20StakedSupply -= amount;
// Interaction: transfer the withdrawn amount to the original staker.
rewardERC20Token.safeTransfer(staker, amount);
return ISablierLockupRecipient.onSablierLockupWithdraw.selector;
}
```
---
## Stake
The `stake` function takes the `streamId` as the input, and stakes the stream by transferring the Sablier NFT from the
user's wallet to the staking contract.
```solidity
function stake(uint256 streamId) external {
// code goes here.
}
```
As the first step, we will check if the underlying token being vested through the stream is same as the reward token.
Since the Sablier protocol can be used to stream any ERC-20 token, this check ensures that the staking contract does not
accept unknown tokens.
```solidity
if (sablierLockup.getUnderlyingToken(streamId) != rewardERC20Token) {
revert DifferentStreamingToken(streamId, rewardERC20Token);
}
```
As mentioned in the assumptions, the contract only allows staking one NFT at a time. So, we will now check if the user
is already staking.
```solidity
if (stakedStreams[msg.sender] != 0) {
revert AlreadyStaking(msg.sender, stakedStreams[msg.sender]);
}
```
Finally, we will set some storage variables and transfer the NFT:
```solidity
stakedUsers[streamId] = msg.sender;
stakedStreams[msg.sender] = streamId;
totalERC20StakedSupply += _getAmountInStream(streamId);
sablierLockup.safeTransferFrom({ from: msg.sender, to: address(this), tokenId: streamId });
```
The `_getAmountInStream` function retrieves the amount of tokens being vested through the stream.
```math
\text{amount in a stream} = (\text{amount deposited} - \text{amount withdrawn} - \text{amount refunded})
```
The implementation is as follows:
```solidity
/// @dev The following function determines the amounts of tokens in a stream irrespective of its cancelable status.
function _getAmountInStream(uint256 streamId) private view returns (uint256 amount) {
// The tokens in the stream = amount deposited - amount withdrawn - amount refunded.
return sablierLockup.getDepositedAmount(streamId) - sablierLockup.getWithdrawnAmount(streamId)
- sablierLockup.getRefundedAmount(streamId);
}
```
---
## Update rewards
In this section, we will define a modifier to update the rewards earned by users each time one of following functions is
called:
- `claimRewards`
- `onSablierLockupCancel`
- `onSablierLockupWithdraw`
- `stake`
- `unstake`
First, define the modifier with `account` as an input parameter:
```solidity
modifier updateReward(address account) {
// code goes here
_;
}
```
### Total rewards paid per ERC-20 token
Inside the modifier, we will update the total rewards earned per ERC-20 token.
```solidity
totalRewardPaidPerERC20Token = rewardPaidPerERC20Token();
```
The implementation of `rewardPaidPerERC20Token` goes as follows:
```solidity
/// @notice Calculates the total rewards distributed per ERC-20 token.
/// @dev This is called by `updateReward`, which also updates the value of `totalRewardPaidPerERC20Token`.
function rewardPaidPerERC20Token() public view returns (uint256) {
// If the total staked supply is zero or staking has ended, return the stored value of reward per ERC-20.
if (totalERC20StakedSupply == 0 || block.timestamp >= stakingEndTime) {
return totalRewardPaidPerERC20Token;
}
uint256 totalRewardsPerERC20InCurrentPeriod =
((lastTimeRewardsApplicable() - lastUpdateTime) * rewardRate * 1e18) / totalERC20StakedSupply;
return totalRewardPaidPerERC20Token + totalRewardsPerERC20InCurrentPeriod;
}
```
The function calculates the rewards earned by all the streams since the last snapshot, and divides the result by the
total amount of ERC-20 tokens being vested through all staked streams. Finally, it adds the value to
`totalRewardPaidPerERC20Token`. So, the `totalRewardPaidPerERC20Token` variable tracks the cumulative rewards earned per
ERC-20 token.
This is also helpful in calculating the rewards earned by each user:
```math
\text{rewards} = \text{amount in stream} \times \text{rewardPaidPerERC20Token} - \text{rewards already paid}
```
### Last time update
Now let's move onto the second line of the modifier:
```solidity
lastUpdateTime = lastTimeRewardsApplicable();
```
The implementation of `lastTimeRewardsApplicable` goes as follows:
```solidity
function lastTimeRewardsApplicable() public view returns (uint256) {
return block.timestamp < stakingEndTime ? block.timestamp : stakingEndTime;
}
```
which is just the block timestamp if the staking period has not ended.
### Rewards earned by each user
The third line of the modifier calculates and stores rewards earned by each user:
```solidity
rewards[account] = calculateUserRewards(account);
```
The implementation of `calculateUserRewards` goes as follows:
```solidity
/// @return earned The amount available as rewards for the account.
function calculateUserRewards(address account) public view returns (uint256 earned) {
// Return if no tokens are staked.
if (stakedStreams[account] == 0) {
return rewards[account];
}
uint256 amountInStream = _getAmountInStream(stakedStreams[account]);
// Get the rewards already paid to the user per ERC-20 token.
uint256 userRewardPerERC20Token_ = userRewardPerERC20Token[account];
uint256 rewardsSinceLastTime = (amountInStream * (rewardPaidPerERC20Token() - userRewardPerERC20Token_)) / 1e18;
return rewardsSinceLastTime + rewards[account];
}
```
### Update user rewards per ERC-20 token
The final step is to set the cumulative reward per token for the user:
```solidity
userRewardPerERC20Token[account] = totalRewardPaidPerERC20Token;
```
Each time this modifier is called, it updates the value of `totalRewardPaidPerERC20Token` based on the total staked
supply at that moment. This ensures that the cumulative rewards earned per ERC-20 token are tracked accurately, so users
do not lose out on their rewards even if they do not interact with the system for an extended period.
:::info
Let us understand this with a simple example. Let's say the reward rate is 100 tokens per hour.
1. A user stakes 100 tokens.
2. After one hour, a second user stakes 100 tokens. The `totalRewardPaidPerERC20Token` will be updated to 1.
3. After two hours, a third user stakes 200 tokens, which makes total tokens staked to be 400. The
`totalRewardPaidPerERC20Token` will be updated to 1.5. Note that the modifier is called at the start of the function.
4. After three hours, the first user claims their rewards. The `totalRewardPaidPerERC20Token` will be updated to 1.75.
`rewards[account]` will be set to 175, and the `userRewardPerERC20Token[account]` will be set to 1.75. The first user
ends up with a reward of 175 tokens.
Let us check if this is indeed correct.
1. First hour: Because the first user is the only staker, they should earn 100 tokens.
2. 2nd hour: Now because of the second user, the first user should earn 50 tokens.
3. 3rd hour: The first user should earn 25 tokens.
QED.
:::
---
## Claim Rewards
This function transfers the rewards earned by `msg.sender` and then resets the value of `rewards` storage variable to
zero.
```solidity
function claimRewards() public updateReward(msg.sender) {
uint256 reward = rewards[msg.sender];
if (reward > 0) {
delete rewards[msg.sender];
rewardERC20Token.safeTransfer(msg.sender, reward);
emit RewardPaid(msg.sender, reward);
}
}
```
---
## Unstake
The `unstake` function takes `streamId` as input, and unstakes the stream by transferring the Sablier NFT back to the
user.
```solidity
function unstake(uint256 streamId) public updateReward(msg.sender) {
// code goes here.
}
```
As the first step, we will check if the user is a staker.
```solidity
if (stakedUsers[streamId] != msg.sender) {
revert UnauthorizedCaller(msg.sender, streamId);
}
```
As the second step, we will reduce the total amount of underlying ERC20 token staked.
```solidity
totalERC20StakedSupply -= _getAmountInStream(streamId);
```
As the final step, we will update some storage variables and transfer the NFT:
```solidity
delete stakedUsers[streamId];
delete stakedStreams[account];
sablierLockup.safeTransferFrom({ from: address(this), to: account, tokenId: streamId });
```
---
## Set Up Your Contract
The "Stream Management" series will guide you through how to withdraw, cancel, renounce, and transfer ownership of
streams.
Before diving in, please note the following:
1. We assume you are already familiar with [creating streams](/guides/lockup/examples/create-stream/lockup-linear).
2. We also assume that the stream management contract is authorized to invoke each respective function. To learn more
about access control in Lockup, see the [Access Control](/reference/lockup/access-control) guide.
With that said, let's begin. First, declare the Solidity version used to compile the contract:
```solidity
// SPDX-License-Identifier: GPL-3.0-or-later
pragma solidity >=0.8.22;
```
Import the relevant symbols from `@sablier/core`:
```solidity
```
Create a contract called `StreamManagement` and declare an immutable variable `sablier` of type `ISablierLockup`:
```solidity
contract StreamManagement {
ISablierLockup public immutable sablier;
}
```
Just like in the create stream guides, the next step requires you to head over to the
[Deployment Addresses](/guides/lockup/deployments) page and copy the address of the Lockup contract. Then, you can
deploy the stream management contract:
```solidity
constructor(ISablierLockup sablier_) {
sablier = sablier_;
}
```
You're all set! You can now move on to the next page, which will teach you how to withdraw from a stream.
---
## Withdraw from Streams
:::note
This section assumes that you have already gone through the [setup](/guides/lockup/examples/stream-management/setup)
part.
:::
:::tip
See the [Access Control](/reference/lockup/access-control) guide for an overview of who is allowed to withdraw from
streams.
:::
Withdrawing from streams means claiming the tokens that have become due to the recipient, who has the option to direct
the withdrawal to an alternative address of their choice.
There are four withdrawal functions:
1. [`withdraw`](/reference/lockup/contracts/abstracts/abstract.SablierLockupBase#withdraw): withdraws a specific amount
of tokens.
2. [`withdrawMax`](/reference/lockup/contracts/abstracts/abstract.SablierLockupBase#withdrawmax): withdraws the maximum
withdrawable amount of tokens.
3. [`withdrawMaxAndTransfer`](/reference/lockup/contracts/abstracts/abstract.SablierLockupBase#withdrawmaxandtransfer):
withdraws the maximum withdrawable amount and transfers the NFT.
4. [`withdrawMultiple`](/reference/lockup/contracts/abstracts/abstract.SablierLockupBase#withdrawmultiple): withdraws
specific amounts of tokens from multiple streams at once.
To call any of these functions, you need to have created a stream. If you don't have one yet, go back to the
[previous guide](/guides/lockup/examples/create-stream/lockup-linear) and create a stream with a brief duration,
assigning the `StreamManagement` contract as the recipient. Then, you can use the `withdraw` function like this:
{`https://github.com/sablier-labs/examples/blob/main/lockup/StreamManagement.sol#L20-L22`}
In this example, the withdrawal address and withdrawal amount are hard-coded for demonstration purposes. However, in a
production environment, these values would likely be adjustable parameters determined by the user. Alternatively, you
can use [`withdrawableAmountOf`](/reference/lockup/contracts/abstracts/abstract.SablierLockupBase#withdrawableamountof)
function to determine how much amount of tokens is available to withdraw.
In addition to the `withdraw` function, there is the `withdrawMax` function, which you can use to withdraw the maximum
withdrawable amount of tokens at the time of invocation:
{`https://github.com/sablier-labs/examples/blob/main/lockup/StreamManagement.sol#L25-L27`}
What `withdrawMax` does is call the
[`withdrawableAmountOf`](/reference/lockup/contracts/abstracts/abstract.SablierLockupBase#withdrawableamountof) function
and pass its value to `withdraw`.
Similar to `withdrawMax`, you can use `withdrawMaxAndTransfer` to withdraw the maximum withdrawable tokens and at the
same time, transfer the NFT to another address.
Lastly, there is the `withdrawMultiple` function, with which you can use to withdraw from multiple streams at once:
{`https://github.com/sablier-labs/examples/blob/main/lockup/StreamManagement.sol#L30-L32`}
---
## Cancel Streams
:::note
This section assumes that you have already gone through the [setup](/guides/lockup/examples/stream-management/setup)
part.
:::
:::tip
See the [Access Control](/reference/lockup/access-control) guide for an overview of who is allowed to cancel streams.
:::
Canceling streams involves stopping the flow of tokens before the stream's end time and refunding the remaining funds to
the sender. However, the portion that has already been streamed is NOT automatically transferred - the
recipient will need to withdraw it.
There are two functions that can be used to cancel streams:
1. [`cancel`](/reference/lockup/contracts/abstracts/abstract.SablierLockupBase#cancel): cancels a single stream
2. [`cancelMultiple`](/reference/lockup/contracts/abstracts/abstract.SablierLockupBase#cancelmultiple): cancels multiple
streams at once
To call any of these functions, you need to have created a cancelable stream. If you don't have one yet, go back to the
[previous guide](/guides/lockup/examples/create-stream/lockup-linear) and create a stream. Then, you can use the
`cancel` function like this:
{`https://github.com/sablier-labs/examples/blob/main/lockup/StreamManagement.sol#L39-L41`}
In addition to the `cancel` function, there is the `cancelMultiple` function, which allows you to cancel several streams
at once:
{`https://github.com/sablier-labs/examples/blob/main/lockup/StreamManagement.sol#L44-L46`}
---
## Renounce Streams
:::note
This section assumes that you have already gone through the [setup](/guides/lockup/examples/stream-management/setup)
part.
:::
Renouncing a stream means that the sender of the stream will no longer be able to cancel it. This is useful if the
sender wants to give up control of the stream.
To renounce a stream, you can use
[`renounce`](/reference/lockup/contracts/abstracts/abstract.SablierLockupBase#renounce).
Before invoking this function, ensure that you have an active, cancelable stream with the sender set to the
`StreamManagement` contract. Once the stream is created, you can use the `renounce` function like this:
{`https://github.com/sablier-labs/examples/blob/main/lockup/StreamManagement.sol#L53-L55`}
---
## Transfer Ownership
:::note
This section assumes that you have already gone through the [setup](/guides/lockup/examples/stream-management/setup)
part.
:::
:::tip
See the [Access Control](/reference/lockup/access-control) guide for an overview of who is allowed to transfer
ownership.
:::
You may remember from the [NFT](/concepts/nft) guide that every Lockup stream is wrapped in an
[ERC-721](https://eips.ethereum.org/EIPS/eip-721) non-fungible token (NFT). One of the key benefits of this design is
that the recipient of the stream has the ability to transfer the NFT to a different address, effectively redirecting the
streaming of tokens to that new address.
To transfer ownership of a stream, it is recommended to invoke the
[`withdrawMaxAndTransfer`](/reference/lockup/contracts/abstracts/abstract.SablierLockupBase#withdrawmaxandtransfer)
function, which withdraws all the unclaimed funds to the current recipient prior to transferring ownership to the new
recipient:
{`https://github.com/sablier-labs/examples/blob/main/lockup/StreamManagement.sol#L72-L74`}
The withdrawal will be skipped if there are no unclaimed funds.
If you want to transfer ownership without withdrawing the funds, you can use the `IERC721.transferFrom` function:
{`https://github.com/sablier-labs/examples/blob/main/lockup/StreamManagement.sol#L67-L69`}
:::caution
Be careful with `transferFrom`. All remaining funds, including the already streamed portion, will enter into the
possession of the new recipient. Consider using `withdrawMaxAndTransfer` instead.
:::
Finally, note that in the examples above, the new recipient is hard-coded for demonstration purposes. However, in a
production environment, the new recipient would definitely be an adjustable parameter provided by the user.
---
## v1.0 (2)
# Lockup v1.0
This section contains the deployment addresses for the v1.0 release of [@sablier/v2-core@1.0.2][v2-core] and
[@sablier/v2-periphery@1.0.3][v2-periphery].
[v2-core]: https://npmjs.com/package/@sablier/v2-core/v/1.0.2
[v2-periphery]: https://npmjs.com/package/@sablier/v2-periphery/v/1.0.3
A few noteworthy details about the deployments:
- The addresses are final
- All contracts are non-upgradeable
- The source code is verified on Etherscan across all chains
:::info
This is an outdated version of the Lockup protocol. See the latest version [here](/guides/lockup/deployments).
:::
## Mainnets
### Arbitrum
| Contract | Address | Deployment |
| :-------- | :-------- | :--------- |
| SablierV2Comptroller | [`0x17Ec73692F0aDf7E7C554822FBEAACB4BE781762`](https://arbiscan.io/address/0x17Ec73692F0aDf7E7C554822FBEAACB4BE781762) | [`lockup-v1.0`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v1.0) |
| SablierV2LockupDynamic | [`0xA9EfBEf1A35fF80041F567391bdc9813b2D50197`](https://arbiscan.io/address/0xA9EfBEf1A35fF80041F567391bdc9813b2D50197) | [`lockup-v1.0`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v1.0) |
| SablierV2LockupLinear | [`0x197D655F3be03903fD25e7828c3534504bfe525e`](https://arbiscan.io/address/0x197D655F3be03903fD25e7828c3534504bfe525e) | [`lockup-v1.0`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v1.0) |
| SablierV2NFTDescriptor | [`0xc245d6C9608769CeF91C3858e4d2a74802B9f1bB`](https://arbiscan.io/address/0xc245d6C9608769CeF91C3858e4d2a74802B9f1bB) | [`lockup-v1.0`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v1.0) |
| SablierV2Archive | [`0xDFa4512d07AbD4eb8Be570Cd79e2e6Fe21ff15C9`](https://arbiscan.io/address/0xDFa4512d07AbD4eb8Be570Cd79e2e6Fe21ff15C9) | [`lockup-v1.0`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v1.0) |
| SablierV2ProxyPlugin | [`0x9aB73CA73c89AF0bdc69642aCeb23CC6A55A514C`](https://arbiscan.io/address/0x9aB73CA73c89AF0bdc69642aCeb23CC6A55A514C) | [`lockup-v1.0`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v1.0) |
| SablierV2ProxyTarget | [`0xB7185AcAF42C4966fFA3c81486d9ED9633aa4c13`](https://arbiscan.io/address/0xB7185AcAF42C4966fFA3c81486d9ED9633aa4c13) | [`lockup-v1.0`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v1.0) |
| SablierV2ProxyTargetApprove | [`0x90cc23dc3e12e80f27c05b8137b5f0d2b1edfa20`](https://arbiscan.io/address/0x90cc23dc3e12e80f27c05b8137b5f0d2b1edfa20) | [`lockup-v1.0`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v1.0) |
### Avalanche
| Contract | Address | Deployment |
| :-------- | :-------- | :--------- |
| SablierV2Comptroller | [`0x66F5431B0765D984f82A4fc4551b2c9ccF7eAC9C`](https://snowtrace.io/address/0x66F5431B0765D984f82A4fc4551b2c9ccF7eAC9C) | [`lockup-v1.0`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v1.0) |
| SablierV2LockupDynamic | [`0x665d1C8337F1035cfBe13DD94bB669110b975f5F`](https://snowtrace.io/address/0x665d1C8337F1035cfBe13DD94bB669110b975f5F) | [`lockup-v1.0`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v1.0) |
| SablierV2LockupLinear | [`0x610346E9088AFA70D6B03e96A800B3267E75cA19`](https://snowtrace.io/address/0x610346E9088AFA70D6B03e96A800B3267E75cA19) | [`lockup-v1.0`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v1.0) |
| SablierV2NFTDescriptor | [`0xFd050AFA2e04aA0596947DaD3Ec5690162aDc77F`](https://snowtrace.io/address/0xFd050AFA2e04aA0596947DaD3Ec5690162aDc77F) | [`lockup-v1.0`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v1.0) |
| SablierV2Archive | [`0x7b1ef644ce9a625537e9e0c3d7fef3be667e6159`](https://snowtrace.io/address/0x7b1ef644ce9a625537e9e0c3d7fef3be667e6159) | [`lockup-v1.0`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v1.0) |
| SablierV2ProxyPlugin | [`0x17167A7e2763121e263B4331B700a1BF9113b387`](https://snowtrace.io/address/0x17167A7e2763121e263B4331B700a1BF9113b387) | [`lockup-v1.0`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v1.0) |
| SablierV2ProxyTarget | [`0x48B4889cf5d6f8360050f9d7606505F1433120BC`](https://snowtrace.io/address/0x48B4889cf5d6f8360050f9d7606505F1433120BC) | [`lockup-v1.0`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v1.0) |
| SablierV2ProxyTargetApprove | [`0x817fE1364A9d57d1fB951945B53942234163Ef10`](https://snowtrace.io/address/0x817fE1364A9d57d1fB951945B53942234163Ef10) | [`lockup-v1.0`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v1.0) |
### Base
| Contract | Address | Deployment |
| :-------- | :-------- | :--------- |
| SablierV2Comptroller | [`0x7Faaedd40B1385C118cA7432952D9DC6b5CbC49e`](https://basescan.org/address/0x7Faaedd40B1385C118cA7432952D9DC6b5CbC49e) | [`lockup-v1.0`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v1.0) |
| SablierV2LockupDynamic | [`0x645B00960Dc352e699F89a81Fc845C0C645231cf`](https://basescan.org/address/0x645B00960Dc352e699F89a81Fc845C0C645231cf) | [`lockup-v1.0`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v1.0) |
| SablierV2LockupLinear | [`0x6b9a46C8377f21517E65fa3899b3A9Fab19D17f5`](https://basescan.org/address/0x6b9a46C8377f21517E65fa3899b3A9Fab19D17f5) | [`lockup-v1.0`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v1.0) |
| SablierV2NFTDescriptor | [`0xEFc2896c29F70bc23e82892Df827d4e2259028Fd`](https://basescan.org/address/0xEFc2896c29F70bc23e82892Df827d4e2259028Fd) | [`lockup-v1.0`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v1.0) |
| SablierV2Archive | [`0x1C5Ac71dd48c7ff291743e5E6e3689ba92F73cC6`](https://basescan.org/address/0x1C5Ac71dd48c7ff291743e5E6e3689ba92F73cC6) | [`lockup-v1.0`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v1.0) |
| SablierV2ProxyPlugin | [`0x50E8B9dC7F28e5cA9253759455C1077e497c4232`](https://basescan.org/address/0x50E8B9dC7F28e5cA9253759455C1077e497c4232) | [`lockup-v1.0`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v1.0) |
| SablierV2ProxyTarget | [`0x0648C80b969501c7778b6ff3ba47aBb78fEeDF39`](https://basescan.org/address/0x0648C80b969501c7778b6ff3ba47aBb78fEeDF39) | [`lockup-v1.0`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v1.0) |
| SablierV2ProxyTargetApprove | [`0xf19576Ab425753816eCbF98aca8132A0f693aEc5`](https://basescan.org/address/0xf19576Ab425753816eCbF98aca8132A0f693aEc5) | [`lockup-v1.0`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v1.0) |
### BNB Chain
| Contract | Address | Deployment |
| :-------- | :-------- | :--------- |
| SablierV2Comptroller | [`0x33511f69A784Fd958E6713aCaC7c9dCF1A5578E8`](https://bscscan.com/address/0x33511f69A784Fd958E6713aCaC7c9dCF1A5578E8) | [`lockup-v1.0`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v1.0) |
| SablierV2LockupDynamic | [`0xF2f3feF2454DcA59ECA929D2D8cD2a8669Cc6214`](https://bscscan.com/address/0xF2f3feF2454DcA59ECA929D2D8cD2a8669Cc6214) | [`lockup-v1.0`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v1.0) |
| SablierV2LockupLinear | [`0x3FE4333f62A75c2a85C8211c6AeFd1b9Bfde6e51`](https://bscscan.com/address/0x3FE4333f62A75c2a85C8211c6AeFd1b9Bfde6e51) | [`lockup-v1.0`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v1.0) |
| SablierV2NFTDescriptor | [`0x3daD1bF57edCFF979Fb68a802AC54c5AAfB78F4c`](https://bscscan.com/address/0x3daD1bF57edCFF979Fb68a802AC54c5AAfB78F4c) | [`lockup-v1.0`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v1.0) |
| SablierV2Archive | [`0xeDe48EB173A869c0b27Cb98CC56d00BC391e5887`](https://bscscan.com/address/0xeDe48EB173A869c0b27Cb98CC56d00BC391e5887) | [`lockup-v1.0`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v1.0) |
| SablierV2ProxyPlugin | [`0xC43b2d8CedB71df30F45dFd9a21eC1E50A813bD6`](https://bscscan.com/address/0xC43b2d8CedB71df30F45dFd9a21eC1E50A813bD6) | [`lockup-v1.0`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v1.0) |
| SablierV2ProxyTarget | [`0x135e78B8E17B1d189Af75FcfCC018ab2E6c7b879`](https://bscscan.com/address/0x135e78B8E17B1d189Af75FcfCC018ab2E6c7b879) | [`lockup-v1.0`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v1.0) |
| SablierV2ProxyTargetApprove | [`0xc9bf2A6bD467A813908d836c1506efE61E465761`](https://bscscan.com/address/0xc9bf2A6bD467A813908d836c1506efE61E465761) | [`lockup-v1.0`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v1.0) |
### Ethereum
| Contract | Address | Deployment |
| :-------- | :-------- | :--------- |
| SablierV2Comptroller | [`0xC3Be6BffAeab7B297c03383B4254aa3Af2b9a5BA`](https://etherscan.io/address/0xC3Be6BffAeab7B297c03383B4254aa3Af2b9a5BA) | [`lockup-v1.0`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v1.0) |
| SablierV2LockupDynamic | [`0x39EFdC3dbB57B2388CcC4bb40aC4CB1226Bc9E44`](https://etherscan.io/address/0x39EFdC3dbB57B2388CcC4bb40aC4CB1226Bc9E44) | [`lockup-v1.0`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v1.0) |
| SablierV2LockupLinear | [`0xB10daee1FCF62243aE27776D7a92D39dC8740f95`](https://etherscan.io/address/0xB10daee1FCF62243aE27776D7a92D39dC8740f95) | [`lockup-v1.0`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v1.0) |
| SablierV2NFTDescriptor | [`0x98F2196fECc01C240d1429B624d007Ca268EEA29`](https://etherscan.io/address/0x98F2196fECc01C240d1429B624d007Ca268EEA29) | [`lockup-v1.0`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v1.0) |
| SablierV2Archive | [`0x0Be20a8242B0781B6fd4d453e90DCC1CcF7DBcc6`](https://etherscan.io/address/0x0Be20a8242B0781B6fd4d453e90DCC1CcF7DBcc6) | [`lockup-v1.0`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v1.0) |
| SablierV2ProxyPlugin | [`0x9bdebF4F9adEB99387f46e4020FBf3dDa885D2b8`](https://etherscan.io/address/0x9bdebF4F9adEB99387f46e4020FBf3dDa885D2b8) | [`lockup-v1.0`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v1.0) |
| SablierV2ProxyTarget | [`0x297b43aE44660cA7826ef92D8353324C018573Ef`](https://etherscan.io/address/0x297b43aE44660cA7826ef92D8353324C018573Ef) | [`lockup-v1.0`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v1.0) |
| SablierV2ProxyTargetApprove | [`0x638a7aC8315767cEAfc57a6f5e3559454347C3f6`](https://etherscan.io/address/0x638a7aC8315767cEAfc57a6f5e3559454347C3f6) | [`lockup-v1.0`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v1.0) |
### Gnosis
| Contract | Address | Deployment |
| :-------- | :-------- | :--------- |
| SablierV2Comptroller | [`0x73962c44c0fB4cC5e4545FB91732a5c5e87F55C2`](https://gnosisscan.io/address/0x73962c44c0fB4cC5e4545FB91732a5c5e87F55C2) | [`lockup-v1.0`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v1.0) |
| SablierV2LockupDynamic | [`0xeb148E4ec13aaA65328c0BA089a278138E9E53F9`](https://gnosisscan.io/address/0xeb148E4ec13aaA65328c0BA089a278138E9E53F9) | [`lockup-v1.0`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v1.0) |
| SablierV2LockupLinear | [`0x685E92c9cA2bB23f1B596d0a7D749c0603e88585`](https://gnosisscan.io/address/0x685E92c9cA2bB23f1B596d0a7D749c0603e88585) | [`lockup-v1.0`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v1.0) |
| SablierV2NFTDescriptor | [`0x8CE9Cd651e03325Cf6D4Ce9cfa74BE79CDf6d530`](https://gnosisscan.io/address/0x8CE9Cd651e03325Cf6D4Ce9cfa74BE79CDf6d530) | [`lockup-v1.0`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v1.0) |
| SablierV2Archive | [`0xF4A6F47Da7c6b26b6Dd774671aABA48fb4bFE309`](https://gnosisscan.io/address/0xF4A6F47Da7c6b26b6Dd774671aABA48fb4bFE309) | [`lockup-v1.0`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v1.0) |
| SablierV2ProxyPlugin | [`0xc84f0e95815A576171A19EB9E0fA55a217Ab1536`](https://gnosisscan.io/address/0xc84f0e95815A576171A19EB9E0fA55a217Ab1536) | [`lockup-v1.0`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v1.0) |
| SablierV2ProxyTarget | [`0x5B144C3B9C8cfd48297Aeb59B90a024Ef3fCcE92`](https://gnosisscan.io/address/0x5B144C3B9C8cfd48297Aeb59B90a024Ef3fCcE92) | [`lockup-v1.0`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v1.0) |
| SablierV2ProxyTargetApprove | [`0x89AfE038714e547C29Fa881029DD4B5CFB008454`](https://gnosisscan.io/address/0x89AfE038714e547C29Fa881029DD4B5CFB008454) | [`lockup-v1.0`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v1.0) |
### OP Mainnet
| Contract | Address | Deployment |
| :-------- | :-------- | :--------- |
| SablierV2Comptroller | [`0x1EECb6e6EaE6a1eD1CCB4323F3a146A7C5443A10`](https://optimistic.etherscan.io/address/0x1EECb6e6EaE6a1eD1CCB4323F3a146A7C5443A10) | [`lockup-v1.0`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v1.0) |
| SablierV2LockupDynamic | [`0x6f68516c21E248cdDfaf4898e66b2b0Adee0e0d6`](https://optimistic.etherscan.io/address/0x6f68516c21E248cdDfaf4898e66b2b0Adee0e0d6) | [`lockup-v1.0`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v1.0) |
| SablierV2LockupLinear | [`0xB923aBdCA17Aed90EB5EC5E407bd37164f632bFD`](https://optimistic.etherscan.io/address/0xB923aBdCA17Aed90EB5EC5E407bd37164f632bFD) | [`lockup-v1.0`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v1.0) |
| SablierV2NFTDescriptor | [`0xe0138C596939CC0D2382046795bC163ad5755e0E`](https://optimistic.etherscan.io/address/0xe0138C596939CC0D2382046795bC163ad5755e0E) | [`lockup-v1.0`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v1.0) |
| SablierV2Archive | [`0x9A09eC6f991386718854aDDCEe68647776Befd5b`](https://optimistic.etherscan.io/address/0x9A09eC6f991386718854aDDCEe68647776Befd5b) | [`lockup-v1.0`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v1.0) |
| SablierV2ProxyPlugin | [`0x77C8516B1F327890C956bb38F93Ac2d6B24795Ea`](https://optimistic.etherscan.io/address/0x77C8516B1F327890C956bb38F93Ac2d6B24795Ea) | [`lockup-v1.0`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v1.0) |
| SablierV2ProxyTarget | [`0x194ed7D6005C8ba4084A948406545DF299ad37cD`](https://optimistic.etherscan.io/address/0x194ed7D6005C8ba4084A948406545DF299ad37cD) | [`lockup-v1.0`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v1.0) |
| SablierV2ProxyTargetApprove | [`0x8a6974c162fdc7Cb67996F7dB8bAAFb9a99566e0`](https://optimistic.etherscan.io/address/0x8a6974c162fdc7Cb67996F7dB8bAAFb9a99566e0) | [`lockup-v1.0`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v1.0) |
### Polygon
| Contract | Address | Deployment |
| :-------- | :-------- | :--------- |
| SablierV2Comptroller | [`0x9761692EDf10F5F2A69f0150e2fd50dcecf05F2E`](https://polygonscan.com/address/0x9761692EDf10F5F2A69f0150e2fd50dcecf05F2E) | [`lockup-v1.0`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v1.0) |
| SablierV2LockupDynamic | [`0x7313AdDb53f96a4f710D3b91645c62B434190725`](https://polygonscan.com/address/0x7313AdDb53f96a4f710D3b91645c62B434190725) | [`lockup-v1.0`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v1.0) |
| SablierV2LockupLinear | [`0x67422C3E36A908D5C3237e9cFfEB40bDE7060f6E`](https://polygonscan.com/address/0x67422C3E36A908D5C3237e9cFfEB40bDE7060f6E) | [`lockup-v1.0`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v1.0) |
| SablierV2NFTDescriptor | [`0xA820946EaAceB2a85aF123f706f23192c28bC6B9`](https://polygonscan.com/address/0xA820946EaAceB2a85aF123f706f23192c28bC6B9) | [`lockup-v1.0`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v1.0) |
| SablierV2Archive | [`0xA2f5B2e798e7ADd59d85d9b76645E6AC13fC4e1f`](https://polygonscan.com/address/0xA2f5B2e798e7ADd59d85d9b76645E6AC13fC4e1f) | [`lockup-v1.0`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v1.0) |
| SablierV2ProxyPlugin | [`0xBe4cad0e99865CC62787Ecf029aD9DD4815d3d2e`](https://polygonscan.com/address/0xBe4cad0e99865CC62787Ecf029aD9DD4815d3d2e) | [`lockup-v1.0`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v1.0) |
| SablierV2ProxyTarget | [`0x576743075fc5F771bbC1376c3267A6185Af9D62B`](https://polygonscan.com/address/0x576743075fc5F771bbC1376c3267A6185Af9D62B) | [`lockup-v1.0`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v1.0) |
| SablierV2ProxyTargetApprove | [`0xccA6dd77bA2cfcccEdA01A82CB309e2A17901682`](https://polygonscan.com/address/0xccA6dd77bA2cfcccEdA01A82CB309e2A17901682) | [`lockup-v1.0`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v1.0) |
### Scroll
| Contract | Address | Deployment |
| :-------- | :-------- | :--------- |
| SablierV2Comptroller | [`0x859708495E3B3c61Bbe19e6E3E1F41dE3A5C5C5b`](https://scrollscan.com/address/0x859708495E3B3c61Bbe19e6E3E1F41dE3A5C5C5b) | [`lockup-v1.0`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v1.0) |
| SablierV2LockupDynamic | [`0xde6a30D851eFD0Fc2a9C922F294801Cfd5FCB3A1`](https://scrollscan.com/address/0xde6a30D851eFD0Fc2a9C922F294801Cfd5FCB3A1) | [`lockup-v1.0`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v1.0) |
| SablierV2LockupLinear | [`0x80640ca758615ee83801EC43452feEA09a202D33`](https://scrollscan.com/address/0x80640ca758615ee83801EC43452feEA09a202D33) | [`lockup-v1.0`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v1.0) |
| SablierV2NFTDescriptor | [`0xC1fa624733203F2B7185c3724039C4D5E5234fE4`](https://scrollscan.com/address/0xC1fa624733203F2B7185c3724039C4D5E5234fE4) | [`lockup-v1.0`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v1.0) |
| SablierV2Archive | [`0x94A18AC6e4B7d97E31f1587f6a666Dc5503086c3`](https://scrollscan.com/address/0x94A18AC6e4B7d97E31f1587f6a666Dc5503086c3) | [`lockup-v1.0`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v1.0) |
| SablierV2ProxyPlugin | [`0xED1591BD6038032a74D786A452A23536b3201490`](https://scrollscan.com/address/0xED1591BD6038032a74D786A452A23536b3201490) | [`lockup-v1.0`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v1.0) |
| SablierV2ProxyTarget | [`0x91154fc80933D25793E6B4D7CE19fb51dE6794B7`](https://scrollscan.com/address/0x91154fc80933D25793E6B4D7CE19fb51dE6794B7) | [`lockup-v1.0`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v1.0) |
| SablierV2ProxyTargetApprove | [`0x71CeA9c4d15fed2E58785cE0C05165CE34313A74`](https://scrollscan.com/address/0x71CeA9c4d15fed2E58785cE0C05165CE34313A74) | [`lockup-v1.0`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v1.0) |
## Testnets
### Arbitrum Sepolia
| Contract | Address | Deployment |
| :-------- | :-------- | :--------- |
| SablierV2Comptroller | [`0xA6A0cfA3442053fbB516D55205A749Ef2D33aed9`](https://sepolia.arbiscan.io/address/0xA6A0cfA3442053fbB516D55205A749Ef2D33aed9) | [`lockup-v1.0`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v1.0) |
| SablierV2LockupDynamic | [`0x7938c18a59FaD2bA11426AcfBe8d74F0F598a4D2`](https://sepolia.arbiscan.io/address/0x7938c18a59FaD2bA11426AcfBe8d74F0F598a4D2) | [`lockup-v1.0`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v1.0) |
| SablierV2LockupLinear | [`0xa3e36b51B7A456812c92253780f4B15bad56e34c`](https://sepolia.arbiscan.io/address/0xa3e36b51B7A456812c92253780f4B15bad56e34c) | [`lockup-v1.0`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v1.0) |
| SablierV2NFTDescriptor | [`0xEe93BFf599C17C6fF8e31F2De6c3e40bd5e51312`](https://sepolia.arbiscan.io/address/0xEe93BFf599C17C6fF8e31F2De6c3e40bd5e51312) | [`lockup-v1.0`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v1.0) |
| SablierV2Archive | [`0x2C8fA48361C7D48Dc21b27a3D549402Cf8AE16B0`](https://sepolia.arbiscan.io/address/0x2C8fA48361C7D48Dc21b27a3D549402Cf8AE16B0) | [`lockup-v1.0`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v1.0) |
| SablierV2ProxyPlugin | [`0x7D310803c3824636bAff74e4f80e81ece167c440`](https://sepolia.arbiscan.io/address/0x7D310803c3824636bAff74e4f80e81ece167c440) | [`lockup-v1.0`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v1.0) |
| SablierV2ProxyTarget | [`0x396A3a169918A4C0B339ECf86C583f46D696254E`](https://sepolia.arbiscan.io/address/0x396A3a169918A4C0B339ECf86C583f46D696254E) | [`lockup-v1.0`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v1.0) |
### Sepolia
| Contract | Address | Deployment |
| :-------- | :-------- | :--------- |
| SablierV2Comptroller | [`0x2006d43E65e66C5FF20254836E63947FA8bAaD68`](https://sepolia.etherscan.io/address/0x2006d43E65e66C5FF20254836E63947FA8bAaD68) | [`lockup-v1.0`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v1.0) |
| SablierV2LockupDynamic | [`0x421e1E7a53FF360f70A2D02037Ee394FA474e035`](https://sepolia.etherscan.io/address/0x421e1E7a53FF360f70A2D02037Ee394FA474e035) | [`lockup-v1.0`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v1.0) |
| SablierV2LockupLinear | [`0xd4300c5bc0b9e27c73ebabdc747ba990b1b570db`](https://sepolia.etherscan.io/address/0xd4300c5bc0b9e27c73ebabdc747ba990b1b570db) | [`lockup-v1.0`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v1.0) |
| SablierV2NFTDescriptor | [`0x3cb51943EbcEA05B23C35c50491B3d296FF675db`](https://sepolia.etherscan.io/address/0x3cb51943EbcEA05B23C35c50491B3d296FF675db) | [`lockup-v1.0`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v1.0) |
| SablierV2Archive | [`0x83495d8DF6221f566232e1353a6e7231A86C61fF`](https://sepolia.etherscan.io/address/0x83495d8DF6221f566232e1353a6e7231A86C61fF) | [`lockup-v1.0`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v1.0) |
| SablierV2ProxyPlugin | [`0xa333c8233CfD04740E64AB4fd5447995E357561B`](https://sepolia.etherscan.io/address/0xa333c8233CfD04740E64AB4fd5447995E357561B) | [`lockup-v1.0`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v1.0) |
| SablierV2ProxyTarget | [`0x5091900B7cF803a7407FCE6333A6bAE4aA779Fd4`](https://sepolia.etherscan.io/address/0x5091900B7cF803a7407FCE6333A6bAE4aA779Fd4) | [`lockup-v1.0`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v1.0) |
| SablierV2ProxyTargetApprove | [`0x105E7728C5706Ad41d194EbDc7873B047352F3d2`](https://sepolia.etherscan.io/address/0x105E7728C5706Ad41d194EbDc7873B047352F3d2) | [`lockup-v1.0`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v1.0) |
---
## v1.1
# Lockup v1.1
This section contains the deployment addresses for the v1.1 release of [@sablier/v2-core@1.1.2][v2-core] and
[@sablier/v2-periphery@1.1.1][v2-periphery].
[v2-core]: https://npmjs.com/package/@sablier/v2-core/v/1.1.2
[v2-periphery]: https://npmjs.com/package/@sablier/v2-periphery/v/1.1.1
A few noteworthy details about the deployments:
- The addresses are final
- All contracts are non-upgradeable
- The source code is verified on Etherscan across all chains
:::info
This is an outdated version of the Lockup protocol. See the latest version [here](/guides/lockup/deployments).
:::
## Mainnets
### Arbitrum
| Contract | Address | Deployment |
| :-------- | :-------- | :--------- |
| SablierV2Comptroller | [`0x17Ec73692F0aDf7E7C554822FBEAACB4BE781762`](https://arbiscan.io/address/0x17Ec73692F0aDf7E7C554822FBEAACB4BE781762) | [`lockup-v1.1`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v1.1) |
| SablierV2LockupDynamic | [`0xf390cE6f54e4dc7C5A5f7f8689062b7591F7111d`](https://arbiscan.io/address/0xf390cE6f54e4dc7C5A5f7f8689062b7591F7111d) | [`lockup-v1.1`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v1.1) |
| SablierV2LockupLinear | [`0xFDD9d122B451F549f48c4942c6fa6646D849e8C1`](https://arbiscan.io/address/0xFDD9d122B451F549f48c4942c6fa6646D849e8C1) | [`lockup-v1.1`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v1.1) |
| SablierV2NFTDescriptor | [`0x2fb103fC853b2F5022a840091ab1cDf5172E7cfa`](https://arbiscan.io/address/0x2fb103fC853b2F5022a840091ab1cDf5172E7cfa) | [`lockup-v1.1`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v1.1) |
| SablierV2Batch | [`0xAFd1434296e29a0711E24014656158055F00784c`](https://arbiscan.io/address/0xAFd1434296e29a0711E24014656158055F00784c) | [`lockup-v1.1`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v1.1) |
| SablierV2MerkleStreamerFactory | [`0x237400eF5a41886a75B0e036228221Df075b3B80`](https://arbiscan.io/address/0x237400eF5a41886a75B0e036228221Df075b3B80) | [`lockup-v1.1`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v1.1) |
### Avalanche
| Contract | Address | Deployment |
| :-------- | :-------- | :--------- |
| SablierV2Comptroller | [`0x66F5431B0765D984f82A4fc4551b2c9ccF7eAC9C`](https://snowtrace.io/address/0x66F5431B0765D984f82A4fc4551b2c9ccF7eAC9C) | [`lockup-v1.1`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v1.1) |
| SablierV2LockupDynamic | [`0x0310Da0D8fF141166eD47548f00c96464880781F`](https://snowtrace.io/address/0x0310Da0D8fF141166eD47548f00c96464880781F) | [`lockup-v1.1`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v1.1) |
| SablierV2LockupLinear | [`0xB24B65E015620455bB41deAAd4e1902f1Be9805f`](https://snowtrace.io/address/0xB24B65E015620455bB41deAAd4e1902f1Be9805f) | [`lockup-v1.1`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v1.1) |
| SablierV2NFTDescriptor | [`0xaBEdCf46c5D1d8eD8B9a487144189887695835DC`](https://snowtrace.io/address/0xaBEdCf46c5D1d8eD8B9a487144189887695835DC) | [`lockup-v1.1`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v1.1) |
| SablierV2Batch | [`0x68f156E5fa8C23D65B33aBEbbA50e0CA3626F741`](https://snowtrace.io/address/0x68f156E5fa8C23D65B33aBEbbA50e0CA3626F741) | [`lockup-v1.1`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v1.1) |
| SablierV2MerkleStreamerFactory | [`0x4849e797d7Aab20FCC8f807EfafDffF98A83412E`](https://snowtrace.io/address/0x4849e797d7Aab20FCC8f807EfafDffF98A83412E) | [`lockup-v1.1`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v1.1) |
### Base
| Contract | Address | Deployment |
| :-------- | :-------- | :--------- |
| SablierV2Comptroller | [`0x7Faaedd40B1385C118cA7432952D9DC6b5CbC49e`](https://basescan.org/address/0x7Faaedd40B1385C118cA7432952D9DC6b5CbC49e) | [`lockup-v1.1`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v1.1) |
| SablierV2LockupDynamic | [`0x461E13056a3a3265CEF4c593F01b2e960755dE91`](https://basescan.org/address/0x461E13056a3a3265CEF4c593F01b2e960755dE91) | [`lockup-v1.1`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v1.1) |
| SablierV2LockupLinear | [`0xFCF737582d167c7D20A336532eb8BCcA8CF8e350`](https://basescan.org/address/0xFCF737582d167c7D20A336532eb8BCcA8CF8e350) | [`lockup-v1.1`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v1.1) |
| SablierV2NFTDescriptor | [`0x67e0a126b695DBA35128860cd61926B90C420Ceb`](https://basescan.org/address/0x67e0a126b695DBA35128860cd61926B90C420Ceb) | [`lockup-v1.1`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v1.1) |
| SablierV2Batch | [`0x94E596EEd73b4e3171c067f05A87AB0268cA993c`](https://basescan.org/address/0x94E596EEd73b4e3171c067f05A87AB0268cA993c) | [`lockup-v1.1`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v1.1) |
| SablierV2MerkleStreamerFactory | [`0x5545c8E7c3E1F74aDc98e518F2E8D23A002C4412`](https://basescan.org/address/0x5545c8E7c3E1F74aDc98e518F2E8D23A002C4412) | [`lockup-v1.1`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v1.1) |
### Blast
| Contract | Address | Deployment |
| :-------- | :-------- | :--------- |
| SablierV2Comptroller | [`0x2De92156000269fa2fde7544F10f01E8cBC80fFa`](https://blastscan.io/address/0x2De92156000269fa2fde7544F10f01E8cBC80fFa) | [`lockup-v1.1`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v1.1) |
| SablierV2LockupDynamic | [`0xDf578C2c70A86945999c65961417057363530a1c`](https://blastscan.io/address/0xDf578C2c70A86945999c65961417057363530a1c) | [`lockup-v1.1`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v1.1) |
| SablierV2LockupLinear | [`0xcb099EfC90e88690e287259410B9AE63e1658CC6`](https://blastscan.io/address/0xcb099EfC90e88690e287259410B9AE63e1658CC6) | [`lockup-v1.1`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v1.1) |
| SablierV2NFTDescriptor | [`0xCff4a803b0Bf55dD1BE38Fb96088478F3D2eeCF2`](https://blastscan.io/address/0xCff4a803b0Bf55dD1BE38Fb96088478F3D2eeCF2) | [`lockup-v1.1`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v1.1) |
| SablierV2Batch | [`0x0eDA15D606733f6CDe9DB67263E546bfcDDe9264`](https://blastscan.io/address/0x0eDA15D606733f6CDe9DB67263E546bfcDDe9264) | [`lockup-v1.1`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v1.1) |
| SablierV2MerkleStreamerFactory | [`0x92FC05e49c27884d554D98a5C01Ff0894a9DC29a`](https://blastscan.io/address/0x92FC05e49c27884d554D98a5C01Ff0894a9DC29a) | [`lockup-v1.1`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v1.1) |
### BNB Chain
| Contract | Address | Deployment |
| :-------- | :-------- | :--------- |
| SablierV2Comptroller | [`0x33511f69A784Fd958E6713aCaC7c9dCF1A5578E8`](https://bscscan.com/address/0x33511f69A784Fd958E6713aCaC7c9dCF1A5578E8) | [`lockup-v1.1`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v1.1) |
| SablierV2LockupDynamic | [`0xf900c5E3aA95B59Cc976e6bc9c0998618729a5fa`](https://bscscan.com/address/0xf900c5E3aA95B59Cc976e6bc9c0998618729a5fa) | [`lockup-v1.1`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v1.1) |
| SablierV2LockupLinear | [`0x14c35E126d75234a90c9fb185BF8ad3eDB6A90D2`](https://bscscan.com/address/0x14c35E126d75234a90c9fb185BF8ad3eDB6A90D2) | [`lockup-v1.1`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v1.1) |
| SablierV2NFTDescriptor | [`0xEcAfcF09c23057210cB6470eB5D0FD8Bafd1755F`](https://bscscan.com/address/0xEcAfcF09c23057210cB6470eB5D0FD8Bafd1755F) | [`lockup-v1.1`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v1.1) |
| SablierV2Batch | [`0x2E30a2ae6565Db78C06C28dE937F668597c80a1c`](https://bscscan.com/address/0x2E30a2ae6565Db78C06C28dE937F668597c80a1c) | [`lockup-v1.1`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v1.1) |
| SablierV2MerkleStreamerFactory | [`0x434D73465aAc4125d204A6637eB6C579d8D69f48`](https://bscscan.com/address/0x434D73465aAc4125d204A6637eB6C579d8D69f48) | [`lockup-v1.1`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v1.1) |
### Ethereum
| Contract | Address | Deployment |
| :-------- | :-------- | :--------- |
| SablierV2Comptroller | [`0xC3Be6BffAeab7B297c03383B4254aa3Af2b9a5BA`](https://etherscan.io/address/0xC3Be6BffAeab7B297c03383B4254aa3Af2b9a5BA) | [`lockup-v1.1`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v1.1) |
| SablierV2LockupDynamic | [`0x7CC7e125d83A581ff438608490Cc0f7bDff79127`](https://etherscan.io/address/0x7CC7e125d83A581ff438608490Cc0f7bDff79127) | [`lockup-v1.1`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v1.1) |
| SablierV2LockupLinear | [`0xAFb979d9afAd1aD27C5eFf4E27226E3AB9e5dCC9`](https://etherscan.io/address/0xAFb979d9afAd1aD27C5eFf4E27226E3AB9e5dCC9) | [`lockup-v1.1`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v1.1) |
| SablierV2NFTDescriptor | [`0x23eD5DA55AF4286c0dE55fAcb414dEE2e317F4CB`](https://etherscan.io/address/0x23eD5DA55AF4286c0dE55fAcb414dEE2e317F4CB) | [`lockup-v1.1`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v1.1) |
| SablierV2Batch | [`0xEa07DdBBeA804E7fe66b958329F8Fa5cDA95Bd55`](https://etherscan.io/address/0xEa07DdBBeA804E7fe66b958329F8Fa5cDA95Bd55) | [`lockup-v1.1`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v1.1) |
| SablierV2MerkleStreamerFactory | [`0x1A272b596b10f02931480BC7a3617db4a8d154E3`](https://etherscan.io/address/0x1A272b596b10f02931480BC7a3617db4a8d154E3) | [`lockup-v1.1`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v1.1) |
### Gnosis
| Contract | Address | Deployment |
| :-------- | :-------- | :--------- |
| SablierV2Comptroller | [`0x73962c44c0fB4cC5e4545FB91732a5c5e87F55C2`](https://gnosisscan.io/address/0x73962c44c0fB4cC5e4545FB91732a5c5e87F55C2) | [`lockup-v1.1`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v1.1) |
| SablierV2LockupDynamic | [`0x1DF83C7682080B0f0c26a20C6C9CB8623e0Df24E`](https://gnosisscan.io/address/0x1DF83C7682080B0f0c26a20C6C9CB8623e0Df24E) | [`lockup-v1.1`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v1.1) |
| SablierV2LockupLinear | [`0xce49854a647a1723e8Fb7CC3D190CAB29A44aB48`](https://gnosisscan.io/address/0xce49854a647a1723e8Fb7CC3D190CAB29A44aB48) | [`lockup-v1.1`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v1.1) |
| SablierV2NFTDescriptor | [`0x01dbFE22205d8B109959e2Be02d0095379309eed`](https://gnosisscan.io/address/0x01dbFE22205d8B109959e2Be02d0095379309eed) | [`lockup-v1.1`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v1.1) |
| SablierV2Batch | [`0xBd9DDbC55B85FF6Dc0b76E9EFdCd2547Ab482501`](https://gnosisscan.io/address/0xBd9DDbC55B85FF6Dc0b76E9EFdCd2547Ab482501) | [`lockup-v1.1`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v1.1) |
| SablierV2MerkleStreamerFactory | [`0x777F66477FF83aBabADf39a3F22A8CC3AEE43765`](https://gnosisscan.io/address/0x777F66477FF83aBabADf39a3F22A8CC3AEE43765) | [`lockup-v1.1`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v1.1) |
### Lightlink
| Contract | Address | Deployment |
| :-------- | :-------- | :--------- |
| SablierV2Comptroller | [`0xb568f9Bc0dcE39B9B64e843bC19DA102B5E3E939`](https://phoenix.lightlink.io/address/0xb568f9Bc0dcE39B9B64e843bC19DA102B5E3E939) | [`lockup-v1.1`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v1.1) |
| SablierV2LockupDynamic | [`0x49d753422ff05daa291A9efa383E4f57daEAd889`](https://phoenix.lightlink.io/address/0x49d753422ff05daa291A9efa383E4f57daEAd889) | [`lockup-v1.1`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v1.1) |
| SablierV2LockupLinear | [`0x17c4f98c40e69a6A0D5c42B11E3733f076A99E20`](https://phoenix.lightlink.io/address/0x17c4f98c40e69a6A0D5c42B11E3733f076A99E20) | [`lockup-v1.1`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v1.1) |
| SablierV2NFTDescriptor | [`0xda55fB3E53b7d205e37B6bdCe990b789255e4302`](https://phoenix.lightlink.io/address/0xda55fB3E53b7d205e37B6bdCe990b789255e4302) | [`lockup-v1.1`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v1.1) |
| SablierV2Batch | [`0x3eb9F8f80354a157315Fce64990C554434690c2f`](https://phoenix.lightlink.io/address/0x3eb9F8f80354a157315Fce64990C554434690c2f) | [`lockup-v1.1`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v1.1) |
| SablierV2MerkleStreamerFactory | [`0xdB07a1749D5Ca49909C7C4159652Fbd527c735B8`](https://phoenix.lightlink.io/address/0xdB07a1749D5Ca49909C7C4159652Fbd527c735B8) | [`lockup-v1.1`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v1.1) |
### OP Mainnet
| Contract | Address | Deployment |
| :-------- | :-------- | :--------- |
| SablierV2Comptroller | [`0x1EECb6e6EaE6a1eD1CCB4323F3a146A7C5443A10`](https://optimistic.etherscan.io/address/0x1EECb6e6EaE6a1eD1CCB4323F3a146A7C5443A10) | [`lockup-v1.1`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v1.1) |
| SablierV2LockupDynamic | [`0xd6920c1094eABC4b71f3dC411A1566f64f4c206e`](https://optimistic.etherscan.io/address/0xd6920c1094eABC4b71f3dC411A1566f64f4c206e) | [`lockup-v1.1`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v1.1) |
| SablierV2LockupLinear | [`0x4b45090152a5731b5bc71b5baF71E60e05B33867`](https://optimistic.etherscan.io/address/0x4b45090152a5731b5bc71b5baF71E60e05B33867) | [`lockup-v1.1`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v1.1) |
| SablierV2NFTDescriptor | [`0xF5050c04425E639C647F5ED632218b16ce96694d`](https://optimistic.etherscan.io/address/0xF5050c04425E639C647F5ED632218b16ce96694d) | [`lockup-v1.1`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v1.1) |
| SablierV2Batch | [`0x8145429538dDBdDc4099B2bAfd24DD8958fa03b8`](https://optimistic.etherscan.io/address/0x8145429538dDBdDc4099B2bAfd24DD8958fa03b8) | [`lockup-v1.1`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v1.1) |
| SablierV2MerkleStreamerFactory | [`0x044EC80FbeC40f0eE7E7b3856828170971796C19`](https://optimistic.etherscan.io/address/0x044EC80FbeC40f0eE7E7b3856828170971796C19) | [`lockup-v1.1`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v1.1) |
### Polygon
| Contract | Address | Deployment |
| :-------- | :-------- | :--------- |
| SablierV2Comptroller | [`0x9761692EDf10F5F2A69f0150e2fd50dcecf05F2E`](https://polygonscan.com/address/0x9761692EDf10F5F2A69f0150e2fd50dcecf05F2E) | [`lockup-v1.1`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v1.1) |
| SablierV2LockupDynamic | [`0xB194c7278C627D52E440316b74C5F24FC70c1565`](https://polygonscan.com/address/0xB194c7278C627D52E440316b74C5F24FC70c1565) | [`lockup-v1.1`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v1.1) |
| SablierV2LockupLinear | [`0x5f0e1dea4A635976ef51eC2a2ED41490d1eBa003`](https://polygonscan.com/address/0x5f0e1dea4A635976ef51eC2a2ED41490d1eBa003) | [`lockup-v1.1`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v1.1) |
| SablierV2NFTDescriptor | [`0x8683da9DF8c5c3528e8251a5764EC7DAc7264795`](https://polygonscan.com/address/0x8683da9DF8c5c3528e8251a5764EC7DAc7264795) | [`lockup-v1.1`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v1.1) |
| SablierV2Batch | [`0x5865C73789C4496665eDE1CAF018dc52ac248598`](https://polygonscan.com/address/0x5865C73789C4496665eDE1CAF018dc52ac248598) | [`lockup-v1.1`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v1.1) |
| SablierV2MerkleStreamerFactory | [`0xF4906225e783fb8977410BDBFb960caBed6C2EF4`](https://polygonscan.com/address/0xF4906225e783fb8977410BDBFb960caBed6C2EF4) | [`lockup-v1.1`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v1.1) |
### Scroll
| Contract | Address | Deployment |
| :-------- | :-------- | :--------- |
| SablierV2Comptroller | [`0x859708495E3B3c61Bbe19e6E3E1F41dE3A5C5C5b`](https://scrollscan.com/address/0x859708495E3B3c61Bbe19e6E3E1F41dE3A5C5C5b) | [`lockup-v1.1`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v1.1) |
| SablierV2LockupDynamic | [`0xAaff2D11f9e7Cd2A9cDC674931fAC0358a165995`](https://scrollscan.com/address/0xAaff2D11f9e7Cd2A9cDC674931fAC0358a165995) | [`lockup-v1.1`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v1.1) |
| SablierV2LockupLinear | [`0x57e14AB4DAd920548899d86B54AD47Ea27F00987`](https://scrollscan.com/address/0x57e14AB4DAd920548899d86B54AD47Ea27F00987) | [`lockup-v1.1`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v1.1) |
| SablierV2NFTDescriptor | [`0xB71440B85172332E8B768e85EdBfdb34CB457c1c`](https://scrollscan.com/address/0xB71440B85172332E8B768e85EdBfdb34CB457c1c) | [`lockup-v1.1`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v1.1) |
| SablierV2Batch | [`0xD18faa233E02d41EDFFdb64f20281dE0592FA3b5`](https://scrollscan.com/address/0xD18faa233E02d41EDFFdb64f20281dE0592FA3b5) | [`lockup-v1.1`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v1.1) |
| SablierV2MerkleStreamerFactory | [`0xb3ade5463000E6c0D376e7d7570f372eBf98BDAf`](https://scrollscan.com/address/0xb3ade5463000E6c0D376e7d7570f372eBf98BDAf) | [`lockup-v1.1`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v1.1) |
### ZKsync Era
| Contract | Address | Deployment |
| :-------- | :-------- | :--------- |
| SablierV2Comptroller | [`0xD05bdb4cF6Be7D647c5FEcC7952660bdD82cE44C`](https://era.zksync.network//address/0xD05bdb4cF6Be7D647c5FEcC7952660bdD82cE44C) | [`lockup-v1.1`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v1.1) |
| SablierV2LockupDynamic | [`0xE6c7324BEA8474209103e407779Eec600c07cF3F`](https://era.zksync.network//address/0xE6c7324BEA8474209103e407779Eec600c07cF3F) | [`lockup-v1.1`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v1.1) |
| SablierV2LockupLinear | [`0x2FcA69fa0a318EFDf4c15eE8F13A873347a8A8D4`](https://era.zksync.network//address/0x2FcA69fa0a318EFDf4c15eE8F13A873347a8A8D4) | [`lockup-v1.1`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v1.1) |
| SablierV2NFTDescriptor | [`0xf12d2B8ff4Fc0495Db9c6d16b6a03bff9a10657A`](https://era.zksync.network//address/0xf12d2B8ff4Fc0495Db9c6d16b6a03bff9a10657A) | [`lockup-v1.1`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v1.1) |
| SablierV2Batch | [`0x37A20Fb12DD6e0ADA47B327C0466A231dDc4504A`](https://era.zksync.network//address/0x37A20Fb12DD6e0ADA47B327C0466A231dDc4504A) | [`lockup-v1.1`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v1.1) |
| SablierV2MerkleStreamerFactory | [`0x46DE683D20c3575A0381fFd66C10Ab6836390140`](https://era.zksync.network//address/0x46DE683D20c3575A0381fFd66C10Ab6836390140) | [`lockup-v1.1`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v1.1) |
## Testnets
### Arbitrum Sepolia
| Contract | Address | Deployment |
| :-------- | :-------- | :--------- |
| SablierV2Comptroller | [`0xA6A0cfA3442053fbB516D55205A749Ef2D33aed9`](https://sepolia.arbiscan.io/address/0xA6A0cfA3442053fbB516D55205A749Ef2D33aed9) | [`lockup-v1.1`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v1.1) |
| SablierV2LockupDynamic | [`0x8c8102b92B1f31cC304A085D490796f4DfdF7aF3`](https://sepolia.arbiscan.io/address/0x8c8102b92B1f31cC304A085D490796f4DfdF7aF3) | [`lockup-v1.1`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v1.1) |
| SablierV2LockupLinear | [`0x483bdd560dE53DC20f72dC66ACdB622C5075de34`](https://sepolia.arbiscan.io/address/0x483bdd560dE53DC20f72dC66ACdB622C5075de34) | [`lockup-v1.1`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v1.1) |
| SablierV2NFTDescriptor | [`0x593050f0360518C3A4F11c32Eb936146e1096FD1`](https://sepolia.arbiscan.io/address/0x593050f0360518C3A4F11c32Eb936146e1096FD1) | [`lockup-v1.1`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v1.1) |
| SablierV2Batch | [`0x72D921E579aB7FC5D19CD398B6be24d626Ccb6e7`](https://sepolia.arbiscan.io/address/0x72D921E579aB7FC5D19CD398B6be24d626Ccb6e7) | [`lockup-v1.1`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v1.1) |
| SablierV2MerkleStreamerFactory | [`0xcc87b1A4de285832f226BD585bd54a2184D32105`](https://sepolia.arbiscan.io/address/0xcc87b1A4de285832f226BD585bd54a2184D32105) | [`lockup-v1.1`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v1.1) |
### Base Sepolia
| Contract | Address | Deployment |
| :-------- | :-------- | :--------- |
| SablierV2Comptroller | [`0x90b1C663314cFb55c8FF6f9a50a8D57a2D83a664`](https://sepolia.basescan.org/address/0x90b1C663314cFb55c8FF6f9a50a8D57a2D83a664) | [`lockup-v1.1`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v1.1) |
| SablierV2LockupDynamic | [`0xF46d5fA9bFC964E8d06846c8739AEc69BC06344d`](https://sepolia.basescan.org/address/0xF46d5fA9bFC964E8d06846c8739AEc69BC06344d) | [`lockup-v1.1`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v1.1) |
| SablierV2LockupLinear | [`0xbd7AAA2984c0a887E93c66baae222749883763d3`](https://sepolia.basescan.org/address/0xbd7AAA2984c0a887E93c66baae222749883763d3) | [`lockup-v1.1`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v1.1) |
| SablierV2NFTDescriptor | [`0xb2b4b1E69B16411AEBD30c8EA5aB395E13069160`](https://sepolia.basescan.org/address/0xb2b4b1E69B16411AEBD30c8EA5aB395E13069160) | [`lockup-v1.1`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v1.1) |
| SablierV2Batch | [`0xbD636B8EF09760aC91f6Df3c6AC5531250420200`](https://sepolia.basescan.org/address/0xbD636B8EF09760aC91f6Df3c6AC5531250420200) | [`lockup-v1.1`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v1.1) |
| SablierV2MerkleStreamerFactory | [`0xf632521bbAb0dBC2bEf169865e6c8e285AFe0a42`](https://sepolia.basescan.org/address/0xf632521bbAb0dBC2bEf169865e6c8e285AFe0a42) | [`lockup-v1.1`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v1.1) |
### Blast Sepolia
| Contract | Address | Deployment |
| :-------- | :-------- | :--------- |
| SablierV2Comptroller | [`0x9e216126115AFcdA9531232D3B735731905B4DC4`](https://sepolia.blastscan.io/address/0x9e216126115AFcdA9531232D3B735731905B4DC4) | [`lockup-v1.1`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v1.1) |
| SablierV2LockupDynamic | [`0x8aB55a8E046634D5AD87f64d65C1E96275e48712`](https://sepolia.blastscan.io/address/0x8aB55a8E046634D5AD87f64d65C1E96275e48712) | [`lockup-v1.1`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v1.1) |
| SablierV2LockupLinear | [`0xe31Ac61c7762930625D4700D7ea9282B7E57b816`](https://sepolia.blastscan.io/address/0xe31Ac61c7762930625D4700D7ea9282B7E57b816) | [`lockup-v1.1`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v1.1) |
| SablierV2NFTDescriptor | [`0x1e7217Aa198A17F79cc45aB5C90277Ff1d18b5DB`](https://sepolia.blastscan.io/address/0x1e7217Aa198A17F79cc45aB5C90277Ff1d18b5DB) | [`lockup-v1.1`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v1.1) |
| SablierV2Batch | [`0x72D91DB141fd38eD5DDc0D4b00BdDd2A17Cf6D55`](https://sepolia.blastscan.io/address/0x72D91DB141fd38eD5DDc0D4b00BdDd2A17Cf6D55) | [`lockup-v1.1`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v1.1) |
| SablierV2MerkleStreamerFactory | [`0x6F147f9A251A1F004A1d043b8E486aAb00A49cef`](https://sepolia.blastscan.io/address/0x6F147f9A251A1F004A1d043b8E486aAb00A49cef) | [`lockup-v1.1`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v1.1) |
### OP Sepolia
| Contract | Address | Deployment |
| :-------- | :-------- | :--------- |
| SablierV2Comptroller | [`0x6587166c4F4E0b6203549463EbAB4dBeFA63fd8f`](https://optimism-sepolia.blockscout.com/address/0x6587166c4F4E0b6203549463EbAB4dBeFA63fd8f) | [`lockup-v1.1`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v1.1) |
| SablierV2LockupDynamic | [`0xf9e4095C1dfC058B34135C5c48cae66a8D2b3Aa5`](https://optimism-sepolia.blockscout.com/address/0xf9e4095C1dfC058B34135C5c48cae66a8D2b3Aa5) | [`lockup-v1.1`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v1.1) |
| SablierV2LockupLinear | [`0xe59D28bEF2D37E99b93E734ed1dDcFc4B9C1bf73`](https://optimism-sepolia.blockscout.com/address/0xe59D28bEF2D37E99b93E734ed1dDcFc4B9C1bf73) | [`lockup-v1.1`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v1.1) |
| SablierV2NFTDescriptor | [`0x3590f54c5d3d83BA68c17cF5C28DB89C5d1DfA10`](https://optimism-sepolia.blockscout.com/address/0x3590f54c5d3d83BA68c17cF5C28DB89C5d1DfA10) | [`lockup-v1.1`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v1.1) |
| SablierV2Batch | [`0x65D3A5b99372ef59E741EE768443dF884aB56E0b`](https://optimism-sepolia.blockscout.com/address/0x65D3A5b99372ef59E741EE768443dF884aB56E0b) | [`lockup-v1.1`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v1.1) |
| SablierV2MerkleStreamerFactory | [`0x9b6cC73522f22Ad3f2F8187e892A51b95f1A0E8a`](https://optimism-sepolia.blockscout.com/address/0x9b6cC73522f22Ad3f2F8187e892A51b95f1A0E8a) | [`lockup-v1.1`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v1.1) |
### Sepolia
| Contract | Address | Deployment |
| :-------- | :-------- | :--------- |
| SablierV2Comptroller | [`0x2006d43E65e66C5FF20254836E63947FA8bAaD68`](https://sepolia.etherscan.io/address/0x2006d43E65e66C5FF20254836E63947FA8bAaD68) | [`lockup-v1.1`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v1.1) |
| SablierV2LockupDynamic | [`0xc9940AD8F43aAD8e8f33A4D5dbBf0a8F7FF4429A`](https://sepolia.etherscan.io/address/0xc9940AD8F43aAD8e8f33A4D5dbBf0a8F7FF4429A) | [`lockup-v1.1`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v1.1) |
| SablierV2LockupLinear | [`0x7a43F8a888fa15e68C103E18b0439Eb1e98E4301`](https://sepolia.etherscan.io/address/0x7a43F8a888fa15e68C103E18b0439Eb1e98E4301) | [`lockup-v1.1`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v1.1) |
| SablierV2NFTDescriptor | [`0xE8fFEbA8963CD9302ffD39c704dc2c027128D36F`](https://sepolia.etherscan.io/address/0xE8fFEbA8963CD9302ffD39c704dc2c027128D36F) | [`lockup-v1.1`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v1.1) |
| SablierV2Batch | [`0xd2569DC4A58dfE85d807Dffb976dbC0a3bf0B0Fb`](https://sepolia.etherscan.io/address/0xd2569DC4A58dfE85d807Dffb976dbC0a3bf0B0Fb) | [`lockup-v1.1`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v1.1) |
| SablierV2MerkleStreamerFactory | [`0xBacC1d151A78eeD71D504f701c25E8739DC0262D`](https://sepolia.etherscan.io/address/0xBacC1d151A78eeD71D504f701c25E8739DC0262D) | [`lockup-v1.1`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v1.1) |
### Taiko Hekla
| Contract | Address | Deployment |
| :-------- | :-------- | :--------- |
| SablierV2Comptroller | [`0x2De92156000269fa2fde7544F10f01E8cBC80fFa`](https://hekla.taikoscan.network/address/0x2De92156000269fa2fde7544F10f01E8cBC80fFa) | [`lockup-v1.1`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v1.1) |
| SablierV2LockupDynamic | [`0xDf578C2c70A86945999c65961417057363530a1c`](https://hekla.taikoscan.network/address/0xDf578C2c70A86945999c65961417057363530a1c) | [`lockup-v1.1`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v1.1) |
| SablierV2LockupLinear | [`0xcb099EfC90e88690e287259410B9AE63e1658CC6`](https://hekla.taikoscan.network/address/0xcb099EfC90e88690e287259410B9AE63e1658CC6) | [`lockup-v1.1`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v1.1) |
| SablierV2NFTDescriptor | [`0xCff4a803b0Bf55dD1BE38Fb96088478F3D2eeCF2`](https://hekla.taikoscan.network/address/0xCff4a803b0Bf55dD1BE38Fb96088478F3D2eeCF2) | [`lockup-v1.1`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v1.1) |
| SablierV2Batch | [`0xd641a0E4509Cced67cC24E7BDcDe2a31b7F7cF77`](https://hekla.taikoscan.network/address/0xd641a0E4509Cced67cC24E7BDcDe2a31b7F7cF77) | [`lockup-v1.1`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v1.1) |
| SablierV2MerkleStreamerFactory | [`0x29a8d9F67608d77D0B4544A70FC2ab80BA5525f5`](https://hekla.taikoscan.network/address/0x29a8d9F67608d77D0B4544A70FC2ab80BA5525f5) | [`lockup-v1.1`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v1.1) |
### ZKsync Sepolia Testnet
| Contract | Address | Deployment |
| :-------- | :-------- | :--------- |
| SablierV2Comptroller | [`0xEB4570723ae207a0473D73B3c2B255b0D5Ec9f01`](https://sepolia-era.zksync.network//address/0xEB4570723ae207a0473D73B3c2B255b0D5Ec9f01) | [`lockup-v1.1`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v1.1) |
| SablierV2LockupDynamic | [`0xe101C69A6f9c071Ab79aEE0be56928565962F56d`](https://sepolia-era.zksync.network//address/0xe101C69A6f9c071Ab79aEE0be56928565962F56d) | [`lockup-v1.1`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v1.1) |
| SablierV2LockupLinear | [`0xdFC6F5D327dcF5DB579eC1b47fb260F93e042409`](https://sepolia-era.zksync.network//address/0xdFC6F5D327dcF5DB579eC1b47fb260F93e042409) | [`lockup-v1.1`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v1.1) |
| SablierV2NFTDescriptor | [`0xABF4a24519c9A3c68a354FD6d5D4429De0A0D36C`](https://sepolia-era.zksync.network//address/0xABF4a24519c9A3c68a354FD6d5D4429De0A0D36C) | [`lockup-v1.1`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v1.1) |
| SablierV2Batch | [`0x5F812F1332A2294149b9e1cBd216a5eED12cEbDD`](https://sepolia-era.zksync.network//address/0x5F812F1332A2294149b9e1cBd216a5eED12cEbDD) | [`lockup-v1.1`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v1.1) |
| SablierV2MerkleStreamerFactory | [`0xd9a834135c816FFd133a411a36219aAFD190fF97`](https://sepolia-era.zksync.network//address/0xd9a834135c816FFd133a411a36219aAFD190fF97) | [`lockup-v1.1`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v1.1) |
---
## v1.2
# Lockup v1.2
This section contains the deployment addresses for the v1.2 release of [@sablier/v2-core@1.2.0][v2-core] and
[@sablier/v2-periphery@1.2.0][v2-periphery].
[v2-core]: https://npmjs.com/package/@sablier/v2-core/v/1.2.0
[v2-periphery]: https://npmjs.com/package/@sablier/v2-periphery/v/1.2.0
A few noteworthy details about the deployments:
- The addresses are final
- All contracts are non-upgradeable
- The source code is verified on Etherscan across all chains
:::info
This is an outdated version of the Lockup protocol. See the latest version [here](/guides/lockup/deployments).
:::
## Mainnets
### Abstract
| Contract | Address | Deployment |
| :-------- | :-------- | :--------- |
| SablierV2LockupDynamic | [`0xc69c06c030E825EDE13F1486078Aa9a2E2AAffaf`](https://abscan.org/address/0xc69c06c030E825EDE13F1486078Aa9a2E2AAffaf) | [`lockup-v1.2`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v1.2) |
| SablierV2LockupLinear | [`0x7282d83E49363f373102d195F66649eBD6C57B9B`](https://abscan.org/address/0x7282d83E49363f373102d195F66649eBD6C57B9B) | [`lockup-v1.2`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v1.2) |
| SablierV2LockupTranched | [`0x28fCAE6bda2546C93183EeC8638691B2EB184003`](https://abscan.org/address/0x28fCAE6bda2546C93183EeC8638691B2EB184003) | [`lockup-v1.2`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v1.2) |
| SablierV2NFTDescriptor | [`0xAc2E42b520364940c90Ce164412Ca9BA212d014B`](https://abscan.org/address/0xAc2E42b520364940c90Ce164412Ca9BA212d014B) | [`lockup-v1.2`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v1.2) |
| SablierV2BatchLockup | [`0x2F1eB117A87217E8bE9AA96795F69c9e380686Db`](https://abscan.org/address/0x2F1eB117A87217E8bE9AA96795F69c9e380686Db) | [`lockup-v1.2`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v1.2) |
| SablierV2MerkleLockupFactory | [`0xe2C0C3e0ff10Df4485a2dcbbdd1D002a40446164`](https://abscan.org/address/0xe2C0C3e0ff10Df4485a2dcbbdd1D002a40446164) | [`lockup-v1.2`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v1.2) |
### Arbitrum
| Contract | Address | Deployment |
| :-------- | :-------- | :--------- |
| SablierV2LockupDynamic | [`0x53F5eEB133B99C6e59108F35bCC7a116da50c5ce`](https://arbiscan.io/address/0x53F5eEB133B99C6e59108F35bCC7a116da50c5ce) | [`lockup-v1.2`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v1.2) |
| SablierV2LockupLinear | [`0x05a323a4C936fed6D02134c5f0877215CD186b51`](https://arbiscan.io/address/0x05a323a4C936fed6D02134c5f0877215CD186b51) | [`lockup-v1.2`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v1.2) |
| SablierV2LockupTranched | [`0x0dA2c7Aa93E7CD43e6b8D043Aab5b85CfDDf3818`](https://arbiscan.io/address/0x0dA2c7Aa93E7CD43e6b8D043Aab5b85CfDDf3818) | [`lockup-v1.2`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v1.2) |
| SablierV2NFTDescriptor | [`0xacA12cdC4DcD7063c82E69A358549ba082463608`](https://arbiscan.io/address/0xacA12cdC4DcD7063c82E69A358549ba082463608) | [`lockup-v1.2`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v1.2) |
| SablierV2BatchLockup | [`0x785Edf1e617824A78EFE76295E040B1AE06002bf`](https://arbiscan.io/address/0x785Edf1e617824A78EFE76295E040B1AE06002bf) | [`lockup-v1.2`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v1.2) |
| SablierV2MerkleLockupFactory | [`0xc9A5a0Bc2D8E217BDbdFE7486E9E72c5c3308F01`](https://arbiscan.io/address/0xc9A5a0Bc2D8E217BDbdFE7486E9E72c5c3308F01) | [`lockup-v1.2`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v1.2) |
### Avalanche
| Contract | Address | Deployment |
| :-------- | :-------- | :--------- |
| SablierV2LockupDynamic | [`0xE3826241E5EeBB3F5fEde33F9f677047674D3FBF`](https://snowtrace.io/address/0xE3826241E5EeBB3F5fEde33F9f677047674D3FBF) | [`lockup-v1.2`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v1.2) |
| SablierV2LockupLinear | [`0xc0bF14AfB95CA4C049BDc19E06a3531D8065F6Fd`](https://snowtrace.io/address/0xc0bF14AfB95CA4C049BDc19E06a3531D8065F6Fd) | [`lockup-v1.2`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v1.2) |
| SablierV2LockupTranched | [`0xfA536049652BFb5f57ba8DCFbec1B2b2Dd9803D3`](https://snowtrace.io/address/0xfA536049652BFb5f57ba8DCFbec1B2b2Dd9803D3) | [`lockup-v1.2`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v1.2) |
| SablierV2NFTDescriptor | [`0xcF24fb2a09227d955F8e9A12f36A26cf1ac079c6`](https://snowtrace.io/address/0xcF24fb2a09227d955F8e9A12f36A26cf1ac079c6) | [`lockup-v1.2`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v1.2) |
| SablierV2BatchLockup | [`0xaBCdF4dcDBa57a04889784A670b862540758f9E7`](https://snowtrace.io/address/0xaBCdF4dcDBa57a04889784A670b862540758f9E7) | [`lockup-v1.2`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v1.2) |
| SablierV2MerkleLockupFactory | [`0x0430ed39EA2789AcdF27b89268117EBABc8176D1`](https://snowtrace.io/address/0x0430ed39EA2789AcdF27b89268117EBABc8176D1) | [`lockup-v1.2`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v1.2) |
### Base
| Contract | Address | Deployment |
| :-------- | :-------- | :--------- |
| SablierV2LockupDynamic | [`0xF9E9eD67DD2Fab3b3ca024A2d66Fcf0764d36742`](https://basescan.org/address/0xF9E9eD67DD2Fab3b3ca024A2d66Fcf0764d36742) | [`lockup-v1.2`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v1.2) |
| SablierV2LockupLinear | [`0x4CB16D4153123A74Bc724d161050959754f378D8`](https://basescan.org/address/0x4CB16D4153123A74Bc724d161050959754f378D8) | [`lockup-v1.2`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v1.2) |
| SablierV2LockupTranched | [`0xf4937657Ed8B3f3cB379Eed47b8818eE947BEb1e`](https://basescan.org/address/0xf4937657Ed8B3f3cB379Eed47b8818eE947BEb1e) | [`lockup-v1.2`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v1.2) |
| SablierV2NFTDescriptor | [`0x0fF9d05E6331A43A906fE1440E0C9D0742F475A3`](https://basescan.org/address/0x0fF9d05E6331A43A906fE1440E0C9D0742F475A3) | [`lockup-v1.2`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v1.2) |
| SablierV2BatchLockup | [`0xc1c548F980669615772dadcBfEBC29937c29481A`](https://basescan.org/address/0xc1c548F980669615772dadcBfEBC29937c29481A) | [`lockup-v1.2`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v1.2) |
| SablierV2MerkleLockupFactory | [`0x58A51E5382318EeA6065BB7721eecdF4331c0B90`](https://basescan.org/address/0x58A51E5382318EeA6065BB7721eecdF4331c0B90) | [`lockup-v1.2`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v1.2) |
### Blast
| Contract | Address | Deployment |
| :-------- | :-------- | :--------- |
| SablierV2LockupDynamic | [`0xA705DE617673e2Fe63a4Ea0E58c26897601D32A5`](https://blastscan.io/address/0xA705DE617673e2Fe63a4Ea0E58c26897601D32A5) | [`lockup-v1.2`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v1.2) |
| SablierV2LockupLinear | [`0x9b1468d29b4A5869f00c92517c57f8656E928B93`](https://blastscan.io/address/0x9b1468d29b4A5869f00c92517c57f8656E928B93) | [`lockup-v1.2`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v1.2) |
| SablierV2LockupTranched | [`0x91FB72e5297e2728c10FDe73BdE74A4888A68570`](https://blastscan.io/address/0x91FB72e5297e2728c10FDe73BdE74A4888A68570) | [`lockup-v1.2`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v1.2) |
| SablierV2NFTDescriptor | [`0x5f111b49f8f8bdb4A6001701E0D330fF52D6B370`](https://blastscan.io/address/0x5f111b49f8f8bdb4A6001701E0D330fF52D6B370) | [`lockup-v1.2`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v1.2) |
| SablierV2BatchLockup | [`0xdc988d7AD6F186ea4a236f3E61A45a7851edF84E`](https://blastscan.io/address/0xdc988d7AD6F186ea4a236f3E61A45a7851edF84E) | [`lockup-v1.2`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v1.2) |
| SablierV2MerkleLockupFactory | [`0x3aBCDDa756d069Cf3c7a17410602343966EAFf27`](https://blastscan.io/address/0x3aBCDDa756d069Cf3c7a17410602343966EAFf27) | [`lockup-v1.2`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v1.2) |
### BNB Chain
| Contract | Address | Deployment |
| :-------- | :-------- | :--------- |
| SablierV2LockupDynamic | [`0xeB6d84c585bf8AEA34F05a096D6fAA3b8477D146`](https://bscscan.com/address/0xeB6d84c585bf8AEA34F05a096D6fAA3b8477D146) | [`lockup-v1.2`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v1.2) |
| SablierV2LockupLinear | [`0x88ad3B5c62A46Df953A5d428d33D70408F53C408`](https://bscscan.com/address/0x88ad3B5c62A46Df953A5d428d33D70408F53C408) | [`lockup-v1.2`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v1.2) |
| SablierV2LockupTranched | [`0xAb5f007b33EDDA56962A0fC428B15D544EA46591`](https://bscscan.com/address/0xAb5f007b33EDDA56962A0fC428B15D544EA46591) | [`lockup-v1.2`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v1.2) |
| SablierV2NFTDescriptor | [`0x27641f29b012d0d523EB5943011148c42c98e7F1`](https://bscscan.com/address/0x27641f29b012d0d523EB5943011148c42c98e7F1) | [`lockup-v1.2`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v1.2) |
| SablierV2BatchLockup | [`0x70998557980CB6E8E63c46810081262B6c343051`](https://bscscan.com/address/0x70998557980CB6E8E63c46810081262B6c343051) | [`lockup-v1.2`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v1.2) |
| SablierV2MerkleLockupFactory | [`0x96Aa12809CAC29Bba4944fEca1dFDC8e1704e6c1`](https://bscscan.com/address/0x96Aa12809CAC29Bba4944fEca1dFDC8e1704e6c1) | [`lockup-v1.2`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v1.2) |
### Chiliz
| Contract | Address | Deployment |
| :-------- | :-------- | :--------- |
| SablierV2LockupDynamic | [`0xCff4a803b0Bf55dD1BE38Fb96088478F3D2eeCF2`](https://scan.chiliz.com/address/0xCff4a803b0Bf55dD1BE38Fb96088478F3D2eeCF2) | [`lockup-v1.2`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v1.2) |
| SablierV2LockupLinear | [`0xDf578C2c70A86945999c65961417057363530a1c`](https://scan.chiliz.com/address/0xDf578C2c70A86945999c65961417057363530a1c) | [`lockup-v1.2`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v1.2) |
| SablierV2LockupTranched | [`0xcb099EfC90e88690e287259410B9AE63e1658CC6`](https://scan.chiliz.com/address/0xcb099EfC90e88690e287259410B9AE63e1658CC6) | [`lockup-v1.2`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v1.2) |
| SablierV2NFTDescriptor | [`0x2De92156000269fa2fde7544F10f01E8cBC80fFa`](https://scan.chiliz.com/address/0x2De92156000269fa2fde7544F10f01E8cBC80fFa) | [`lockup-v1.2`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v1.2) |
| SablierV2BatchLockup | [`0x0eDA15D606733f6CDe9DB67263E546bfcDDe9264`](https://scan.chiliz.com/address/0x0eDA15D606733f6CDe9DB67263E546bfcDDe9264) | [`lockup-v1.2`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v1.2) |
| SablierV2MerkleLockupFactory | [`0x92FC05e49c27884d554D98a5C01Ff0894a9DC29a`](https://scan.chiliz.com/address/0x92FC05e49c27884d554D98a5C01Ff0894a9DC29a) | [`lockup-v1.2`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v1.2) |
### Core Dao
| Contract | Address | Deployment |
| :-------- | :-------- | :--------- |
| SablierV2LockupDynamic | [`0xf0a7F2cCE911c298B5CB8106Db19EF1D00230710`](https://scan.coredao.org/address/0xf0a7F2cCE911c298B5CB8106Db19EF1D00230710) | [`lockup-v1.2`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v1.2) |
| SablierV2LockupLinear | [`0x98Fe0d8b2c2c05d9C6a9e635f59474Aaa0000120`](https://scan.coredao.org/address/0x98Fe0d8b2c2c05d9C6a9e635f59474Aaa0000120) | [`lockup-v1.2`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v1.2) |
| SablierV2LockupTranched | [`0x9C99EF88399bC1c1188399B39E7Cc667D78210ea`](https://scan.coredao.org/address/0x9C99EF88399bC1c1188399B39E7Cc667D78210ea) | [`lockup-v1.2`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v1.2) |
| SablierV2NFTDescriptor | [`0x64C734B2F1704822D8E69CAF230aE8d2eC18AA3e`](https://scan.coredao.org/address/0x64C734B2F1704822D8E69CAF230aE8d2eC18AA3e) | [`lockup-v1.2`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v1.2) |
| SablierV2BatchLockup | [`0xdE21BBFf718723E9069d8528d6Bb26c2971D58a7`](https://scan.coredao.org/address/0xdE21BBFf718723E9069d8528d6Bb26c2971D58a7) | [`lockup-v1.2`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v1.2) |
| SablierV2MerkleLockupFactory | [`0x074CC814a8114126c505F5eecFC82A400B39cA03`](https://scan.coredao.org/address/0x074CC814a8114126c505F5eecFC82A400B39cA03) | [`lockup-v1.2`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v1.2) |
### Ethereum
| Contract | Address | Deployment |
| :-------- | :-------- | :--------- |
| SablierV2LockupDynamic | [`0x9DeaBf7815b42Bf4E9a03EEc35a486fF74ee7459`](https://etherscan.io/address/0x9DeaBf7815b42Bf4E9a03EEc35a486fF74ee7459) | [`lockup-v1.2`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v1.2) |
| SablierV2LockupLinear | [`0x3962f6585946823440d274aD7C719B02b49DE51E`](https://etherscan.io/address/0x3962f6585946823440d274aD7C719B02b49DE51E) | [`lockup-v1.2`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v1.2) |
| SablierV2LockupTranched | [`0xf86B359035208e4529686A1825F2D5BeE38c28A8`](https://etherscan.io/address/0xf86B359035208e4529686A1825F2D5BeE38c28A8) | [`lockup-v1.2`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v1.2) |
| SablierV2NFTDescriptor | [`0xAE32Ca14d85311A506Bb852D49bbfB315466bA26`](https://etherscan.io/address/0xAE32Ca14d85311A506Bb852D49bbfB315466bA26) | [`lockup-v1.2`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v1.2) |
| SablierV2BatchLockup | [`0xB5Ec9706C3Be9d22326D208f491E5DEef7C8d9f0`](https://etherscan.io/address/0xB5Ec9706C3Be9d22326D208f491E5DEef7C8d9f0) | [`lockup-v1.2`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v1.2) |
| SablierV2MerkleLockupFactory | [`0xF35aB407CF28012Ba57CAF5ee2f6d6E4420253bc`](https://etherscan.io/address/0xF35aB407CF28012Ba57CAF5ee2f6d6E4420253bc) | [`lockup-v1.2`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v1.2) |
### Gnosis
| Contract | Address | Deployment |
| :-------- | :-------- | :--------- |
| SablierV2LockupDynamic | [`0x555eb55cbc477Aebbe5652D25d0fEA04052d3971`](https://gnosisscan.io/address/0x555eb55cbc477Aebbe5652D25d0fEA04052d3971) | [`lockup-v1.2`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v1.2) |
| SablierV2LockupLinear | [`0xf1cAeB104AB29271463259335357D57772C90758`](https://gnosisscan.io/address/0xf1cAeB104AB29271463259335357D57772C90758) | [`lockup-v1.2`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v1.2) |
| SablierV2LockupTranched | [`0x59A4B7255A5D01247837600e7828A6F77f664b34`](https://gnosisscan.io/address/0x59A4B7255A5D01247837600e7828A6F77f664b34) | [`lockup-v1.2`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v1.2) |
| SablierV2NFTDescriptor | [`0xA0B5C851E3E9fED83f387f4D8847DA398Da4A8E2`](https://gnosisscan.io/address/0xA0B5C851E3E9fED83f387f4D8847DA398Da4A8E2) | [`lockup-v1.2`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v1.2) |
| SablierV2BatchLockup | [`0x0F324E5CB01ac98b2883c8ac4231aCA7EfD3e750`](https://gnosisscan.io/address/0x0F324E5CB01ac98b2883c8ac4231aCA7EfD3e750) | [`lockup-v1.2`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v1.2) |
| SablierV2MerkleLockupFactory | [`0x5f12318fc6cCa518A950e2Ee16063a6317C2a9Ef`](https://gnosisscan.io/address/0x5f12318fc6cCa518A950e2Ee16063a6317C2a9Ef) | [`lockup-v1.2`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v1.2) |
### IoTeX
| Contract | Address | Deployment |
| :-------- | :-------- | :--------- |
| SablierV2LockupDynamic | [`0x6FcAB41e3b62d05aB4fC729586CB06Af2a2662D0`](https://iotexscan.io/address/0x6FcAB41e3b62d05aB4fC729586CB06Af2a2662D0) | [`lockup-v1.2`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v1.2) |
| SablierV2LockupLinear | [`0x84f092cf4d7d36c2d4987f672df81a39200a7146`](https://iotexscan.io/address/0x84f092cf4d7d36c2d4987f672df81a39200a7146) | [`lockup-v1.2`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v1.2) |
| SablierV2LockupTranched | [`0x179536f3289fb50076968b339C7EF0Dc0B38E3AF`](https://iotexscan.io/address/0x179536f3289fb50076968b339C7EF0Dc0B38E3AF) | [`lockup-v1.2`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v1.2) |
| SablierV2NFTDescriptor | [`0x28eAB88ee8a951F78e1028557D0C3fD97af61A33`](https://iotexscan.io/address/0x28eAB88ee8a951F78e1028557D0C3fD97af61A33) | [`lockup-v1.2`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v1.2) |
| SablierV2BatchLockup | [`0x711900e5f55d427cd88e5E3FCAe54Ccf02De71F4`](https://iotexscan.io/address/0x711900e5f55d427cd88e5E3FCAe54Ccf02De71F4) | [`lockup-v1.2`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v1.2) |
| SablierV2MerkleLockupFactory | [`0xf978034bb3CAB5fe88d23DB5Cb38D510485DaB90`](https://iotexscan.io/address/0xf978034bb3CAB5fe88d23DB5Cb38D510485DaB90) | [`lockup-v1.2`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v1.2) |
### Lightlink
| Contract | Address | Deployment |
| :-------- | :-------- | :--------- |
| SablierV2LockupDynamic | [`0xAa05E418Fb7851C211351C65435F1b17cbFa88Bf`](https://phoenix.lightlink.io/address/0xAa05E418Fb7851C211351C65435F1b17cbFa88Bf) | [`lockup-v1.2`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v1.2) |
| SablierV2LockupLinear | [`0x6329591464FA6721c8E1c1271e4c6C41531Aea6b`](https://phoenix.lightlink.io/address/0x6329591464FA6721c8E1c1271e4c6C41531Aea6b) | [`lockup-v1.2`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v1.2) |
| SablierV2LockupTranched | [`0x83403c6426E6D044bF3B84EC1C007Db211AaA140`](https://phoenix.lightlink.io/address/0x83403c6426E6D044bF3B84EC1C007Db211AaA140) | [`lockup-v1.2`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v1.2) |
| SablierV2NFTDescriptor | [`0x5881ef3c0D3eB21b1b40E13b4a69c50754bc77C7`](https://phoenix.lightlink.io/address/0x5881ef3c0D3eB21b1b40E13b4a69c50754bc77C7) | [`lockup-v1.2`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v1.2) |
| SablierV2BatchLockup | [`0x5C847244649BD74aB41f09C893aF792AD87D32aA`](https://phoenix.lightlink.io/address/0x5C847244649BD74aB41f09C893aF792AD87D32aA) | [`lockup-v1.2`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v1.2) |
| SablierV2MerkleLockupFactory | [`0x278AC15622846806BD46FBDbdB8dB8d09614173A`](https://phoenix.lightlink.io/address/0x278AC15622846806BD46FBDbdB8dB8d09614173A) | [`lockup-v1.2`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v1.2) |
### Linea Mainnet
| Contract | Address | Deployment |
| :-------- | :-------- | :--------- |
| SablierV2LockupDynamic | [`0xF2E46B249cFe09c2b3A2022dc81E0bB4bE3336F1`](https://lineascan.build/address/0xF2E46B249cFe09c2b3A2022dc81E0bB4bE3336F1) | [`lockup-v1.2`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v1.2) |
| SablierV2LockupLinear | [`0xB5d39049510F47EE7f74c528105D225E42747d63`](https://lineascan.build/address/0xB5d39049510F47EE7f74c528105D225E42747d63) | [`lockup-v1.2`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v1.2) |
| SablierV2LockupTranched | [`0xC46ce4B77cBc46D17A2EceB2Cc8e2EE23D96529F`](https://lineascan.build/address/0xC46ce4B77cBc46D17A2EceB2Cc8e2EE23D96529F) | [`lockup-v1.2`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v1.2) |
| SablierV2NFTDescriptor | [`0x2E72F7523cFeaed6B841aCe20060E0b203c312F5`](https://lineascan.build/address/0x2E72F7523cFeaed6B841aCe20060E0b203c312F5) | [`lockup-v1.2`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v1.2) |
| SablierV2BatchLockup | [`0x4259557F6665eCF5907c9019a30f3Cb009c20Ae7`](https://lineascan.build/address/0x4259557F6665eCF5907c9019a30f3Cb009c20Ae7) | [`lockup-v1.2`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v1.2) |
| SablierV2MerkleLockupFactory | [`0x35E9C3445A039B258Eb7112A5Eea259a825E8AC0`](https://lineascan.build/address/0x35E9C3445A039B258Eb7112A5Eea259a825E8AC0) | [`lockup-v1.2`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v1.2) |
### Meld
| Contract | Address | Deployment |
| :-------- | :-------- | :--------- |
| SablierV2LockupDynamic | [`0xCff4a803b0Bf55dD1BE38Fb96088478F3D2eeCF2`](https://meldscan.io/address/0xCff4a803b0Bf55dD1BE38Fb96088478F3D2eeCF2) | [`lockup-v1.2`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v1.2) |
| SablierV2LockupLinear | [`0xDf578C2c70A86945999c65961417057363530a1c`](https://meldscan.io/address/0xDf578C2c70A86945999c65961417057363530a1c) | [`lockup-v1.2`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v1.2) |
| SablierV2LockupTranched | [`0xcb099EfC90e88690e287259410B9AE63e1658CC6`](https://meldscan.io/address/0xcb099EfC90e88690e287259410B9AE63e1658CC6) | [`lockup-v1.2`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v1.2) |
| SablierV2NFTDescriptor | [`0x2De92156000269fa2fde7544F10f01E8cBC80fFa`](https://meldscan.io/address/0x2De92156000269fa2fde7544F10f01E8cBC80fFa) | [`lockup-v1.2`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v1.2) |
| SablierV2BatchLockup | [`0x0eDA15D606733f6CDe9DB67263E546bfcDDe9264`](https://meldscan.io/address/0x0eDA15D606733f6CDe9DB67263E546bfcDDe9264) | [`lockup-v1.2`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v1.2) |
| SablierV2MerkleLockupFactory | [`0x92FC05e49c27884d554D98a5C01Ff0894a9DC29a`](https://meldscan.io/address/0x92FC05e49c27884d554D98a5C01Ff0894a9DC29a) | [`lockup-v1.2`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v1.2) |
### Mode
| Contract | Address | Deployment |
| :-------- | :-------- | :--------- |
| SablierV2LockupDynamic | [`0x704552099f5aD679294D337638B9a57Fd4726F52`](https://modescan.io/address/0x704552099f5aD679294D337638B9a57Fd4726F52) | [`lockup-v1.2`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v1.2) |
| SablierV2LockupLinear | [`0xD8C65Bd7CB6924EF895b2eDcA03407c652f5a2C5`](https://modescan.io/address/0xD8C65Bd7CB6924EF895b2eDcA03407c652f5a2C5) | [`lockup-v1.2`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v1.2) |
| SablierV2LockupTranched | [`0xBbfA51A10bE68714fa33281646B986dae9f52021`](https://modescan.io/address/0xBbfA51A10bE68714fa33281646B986dae9f52021) | [`lockup-v1.2`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v1.2) |
| SablierV2NFTDescriptor | [`0xA1976d4bd6572B68A677037B496D806ACC2cBdB3`](https://modescan.io/address/0xA1976d4bd6572B68A677037B496D806ACC2cBdB3) | [`lockup-v1.2`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v1.2) |
| SablierV2BatchLockup | [`0x641A10A2c9e0CeB94F406e1EF68b1E1da002662d`](https://modescan.io/address/0x641A10A2c9e0CeB94F406e1EF68b1E1da002662d) | [`lockup-v1.2`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v1.2) |
| SablierV2MerkleLockupFactory | [`0x0Fd01Dd30F96A15dE6AfAd5627d45Ef94752460a`](https://modescan.io/address/0x0Fd01Dd30F96A15dE6AfAd5627d45Ef94752460a) | [`lockup-v1.2`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v1.2) |
### Morph
| Contract | Address | Deployment |
| :-------- | :-------- | :--------- |
| SablierV2LockupDynamic | [`0x946654AB30Dd6eD10236C89f2C8B2719df653691`](https://explorer.morphl2.io/address/0x946654AB30Dd6eD10236C89f2C8B2719df653691) | [`lockup-v1.2`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v1.2) |
| SablierV2LockupLinear | [`0xAC19F4181E58efb7094e0cb4e1BB18c79F6AAdf4`](https://explorer.morphl2.io/address/0xAC19F4181E58efb7094e0cb4e1BB18c79F6AAdf4) | [`lockup-v1.2`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v1.2) |
| SablierV2LockupTranched | [`0x63B92F7E2f69877184C955E63B9D8Dff55e52e14`](https://explorer.morphl2.io/address/0x63B92F7E2f69877184C955E63B9D8Dff55e52e14) | [`lockup-v1.2`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v1.2) |
| SablierV2NFTDescriptor | [`0xe785101Cb228693cc3EFdCd5d637fEf6A6Ff7259`](https://explorer.morphl2.io/address/0xe785101Cb228693cc3EFdCd5d637fEf6A6Ff7259) | [`lockup-v1.2`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v1.2) |
| SablierV2BatchLockup | [`0x28D116d7e917756310986C4207eA54183fcba06A`](https://explorer.morphl2.io/address/0x28D116d7e917756310986C4207eA54183fcba06A) | [`lockup-v1.2`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v1.2) |
| SablierV2MerkleLockupFactory | [`0x5e73bb96493C10919204045fCdb639D35ad859f8`](https://explorer.morphl2.io/address/0x5e73bb96493C10919204045fCdb639D35ad859f8) | [`lockup-v1.2`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v1.2) |
### OP Mainnet
| Contract | Address | Deployment |
| :-------- | :-------- | :--------- |
| SablierV2LockupDynamic | [`0x4994325F8D4B4A36Bd643128BEb3EC3e582192C0`](https://optimistic.etherscan.io/address/0x4994325F8D4B4A36Bd643128BEb3EC3e582192C0) | [`lockup-v1.2`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v1.2) |
| SablierV2LockupLinear | [`0x5C22471A86E9558ed9d22235dD5E0429207ccf4B`](https://optimistic.etherscan.io/address/0x5C22471A86E9558ed9d22235dD5E0429207ccf4B) | [`lockup-v1.2`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v1.2) |
| SablierV2LockupTranched | [`0x90952912a50079bef00D5F49c975058d6573aCdC`](https://optimistic.etherscan.io/address/0x90952912a50079bef00D5F49c975058d6573aCdC) | [`lockup-v1.2`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v1.2) |
| SablierV2NFTDescriptor | [`0x1a4837b8c668b8F7BE22Ba156419b7b823Cfd05c`](https://optimistic.etherscan.io/address/0x1a4837b8c668b8F7BE22Ba156419b7b823Cfd05c) | [`lockup-v1.2`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v1.2) |
| SablierV2BatchLockup | [`0x6cd7bB0f63aFCc9F6CeDd1Bf1E3Bd4ED078CD019`](https://optimistic.etherscan.io/address/0x6cd7bB0f63aFCc9F6CeDd1Bf1E3Bd4ED078CD019) | [`lockup-v1.2`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v1.2) |
| SablierV2MerkleLockupFactory | [`0xe041629D99730b3EE4d6518097C45b4E3591992b`](https://optimistic.etherscan.io/address/0xe041629D99730b3EE4d6518097C45b4E3591992b) | [`lockup-v1.2`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v1.2) |
### Polygon
| Contract | Address | Deployment |
| :-------- | :-------- | :--------- |
| SablierV2LockupDynamic | [`0x8D4dDc187a73017a5d7Cef733841f55115B13762`](https://polygonscan.com/address/0x8D4dDc187a73017a5d7Cef733841f55115B13762) | [`lockup-v1.2`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v1.2) |
| SablierV2LockupLinear | [`0x8D87c5eddb5644D1a714F85930Ca940166e465f0`](https://polygonscan.com/address/0x8D87c5eddb5644D1a714F85930Ca940166e465f0) | [`lockup-v1.2`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v1.2) |
| SablierV2LockupTranched | [`0xBF67f0A1E847564D0eFAD475782236D3Fa7e9Ec2`](https://polygonscan.com/address/0xBF67f0A1E847564D0eFAD475782236D3Fa7e9Ec2) | [`lockup-v1.2`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v1.2) |
| SablierV2NFTDescriptor | [`0xf28BF9390fb57BB68386430550818D312699ED15`](https://polygonscan.com/address/0xf28BF9390fb57BB68386430550818D312699ED15) | [`lockup-v1.2`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v1.2) |
| SablierV2BatchLockup | [`0xD29EC4B9203f2d1C9Cd4Ba8c68FCFE4ECd85f6f5`](https://polygonscan.com/address/0xD29EC4B9203f2d1C9Cd4Ba8c68FCFE4ECd85f6f5) | [`lockup-v1.2`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v1.2) |
| SablierV2MerkleLockupFactory | [`0xC28872e0c1f3633EeD467907123727ac0155029D`](https://polygonscan.com/address/0xC28872e0c1f3633EeD467907123727ac0155029D) | [`lockup-v1.2`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v1.2) |
### Scroll
| Contract | Address | Deployment |
| :-------- | :-------- | :--------- |
| SablierV2LockupDynamic | [`0xAc199bFea92aa4D4C3d8A49fd463EAD99C7a6A8f`](https://scrollscan.com/address/0xAc199bFea92aa4D4C3d8A49fd463EAD99C7a6A8f) | [`lockup-v1.2`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v1.2) |
| SablierV2LockupLinear | [`0xBc5DC6D77612E636DA32af0d85Ca3179a57330fd`](https://scrollscan.com/address/0xBc5DC6D77612E636DA32af0d85Ca3179a57330fd) | [`lockup-v1.2`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v1.2) |
| SablierV2LockupTranched | [`0xb0f78dDc01D829d8b567821Eb193De8082b57D9D`](https://scrollscan.com/address/0xb0f78dDc01D829d8b567821Eb193De8082b57D9D) | [`lockup-v1.2`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v1.2) |
| SablierV2NFTDescriptor | [`0xA1A281BbcaED8f0A9Dcd0fe67cbC53e0993C24cb`](https://scrollscan.com/address/0xA1A281BbcaED8f0A9Dcd0fe67cbC53e0993C24cb) | [`lockup-v1.2`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v1.2) |
| SablierV2BatchLockup | [`0x4B8BF9cD3274517609e7Fe905740fa151C9aa711`](https://scrollscan.com/address/0x4B8BF9cD3274517609e7Fe905740fa151C9aa711) | [`lockup-v1.2`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v1.2) |
| SablierV2MerkleLockupFactory | [`0x344afe8ad5dBA3d55870dc398e0F53B635B2ed0d`](https://scrollscan.com/address/0x344afe8ad5dBA3d55870dc398e0F53B635B2ed0d) | [`lockup-v1.2`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v1.2) |
### Superseed
| Contract | Address | Deployment |
| :-------- | :-------- | :--------- |
| SablierV2LockupDynamic | [`0x1fA500262b352d821B4e1c933A20f2242B45383d`](https://explorer.superseed.xyz/address/0x1fA500262b352d821B4e1c933A20f2242B45383d) | [`lockup-v1.2`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v1.2) |
| SablierV2LockupLinear | [`0x251FC799344151026d19b959B8f3667416d56B88`](https://explorer.superseed.xyz/address/0x251FC799344151026d19b959B8f3667416d56B88) | [`lockup-v1.2`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v1.2) |
| SablierV2LockupTranched | [`0x91211E1760280d3f7dF2182ce4D1Fd6A1735C202`](https://explorer.superseed.xyz/address/0x91211E1760280d3f7dF2182ce4D1Fd6A1735C202) | [`lockup-v1.2`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v1.2) |
| SablierV2NFTDescriptor | [`0x0a6C2E6B61cf05800F9aA91494480440843d6c3c`](https://explorer.superseed.xyz/address/0x0a6C2E6B61cf05800F9aA91494480440843d6c3c) | [`lockup-v1.2`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v1.2) |
| SablierV2BatchLockup | [`0xc4DE6f667435d5Ce0150e08BcEc9722C9017e90b`](https://explorer.superseed.xyz/address/0xc4DE6f667435d5Ce0150e08BcEc9722C9017e90b) | [`lockup-v1.2`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v1.2) |
| SablierV2MerkleLockupFactory | [`0xF60bEADEfbeb98C927E13C4165BCa7D85Ba32cB2`](https://explorer.superseed.xyz/address/0xF60bEADEfbeb98C927E13C4165BCa7D85Ba32cB2) | [`lockup-v1.2`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v1.2) |
### Taiko
| Contract | Address | Deployment |
| :-------- | :-------- | :--------- |
| SablierV2LockupDynamic | [`0x238C830FA8E4ED0f0A4bc9C986BF338aEC9e38D1`](https://taikoscan.io/address/0x238C830FA8E4ED0f0A4bc9C986BF338aEC9e38D1) | [`lockup-v1.2`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v1.2) |
| SablierV2LockupLinear | [`0x5Ec0a2e88dAd09ad940Be2639c9aDb24D186989E`](https://taikoscan.io/address/0x5Ec0a2e88dAd09ad940Be2639c9aDb24D186989E) | [`lockup-v1.2`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v1.2) |
| SablierV2LockupTranched | [`0x6a619d35972578E8458E33B7d1e07b155A51585E`](https://taikoscan.io/address/0x6a619d35972578E8458E33B7d1e07b155A51585E) | [`lockup-v1.2`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v1.2) |
| SablierV2NFTDescriptor | [`0xBFD6048C80665792d949692CE77307e55dbb8986`](https://taikoscan.io/address/0xBFD6048C80665792d949692CE77307e55dbb8986) | [`lockup-v1.2`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v1.2) |
| SablierV2BatchLockup | [`0x65E2C9990d4CAc5E54E65c1BD625CdcC9FDd1292`](https://taikoscan.io/address/0x65E2C9990d4CAc5E54E65c1BD625CdcC9FDd1292) | [`lockup-v1.2`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v1.2) |
| SablierV2MerkleLockupFactory | [`0xd7df0b795756b60ab51a37e26f1edb7ef9e78828`](https://taikoscan.io/address/0xd7df0b795756b60ab51a37e26f1edb7ef9e78828) | [`lockup-v1.2`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v1.2) |
### Tangle
| Contract | Address | Deployment |
| :-------- | :-------- | :--------- |
| SablierV2LockupDynamic | [`0x946654AB30Dd6eD10236C89f2C8B2719df653691`](https://explorer.tangle.tools/address/0x946654AB30Dd6eD10236C89f2C8B2719df653691) | [`lockup-v1.2`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v1.2) |
| SablierV2LockupLinear | [`0xAC19F4181E58efb7094e0cb4e1BB18c79F6AAdf4`](https://explorer.tangle.tools/address/0xAC19F4181E58efb7094e0cb4e1BB18c79F6AAdf4) | [`lockup-v1.2`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v1.2) |
| SablierV2LockupTranched | [`0x63B92F7E2f69877184C955E63B9D8Dff55e52e14`](https://explorer.tangle.tools/address/0x63B92F7E2f69877184C955E63B9D8Dff55e52e14) | [`lockup-v1.2`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v1.2) |
| SablierV2NFTDescriptor | [`0xe785101Cb228693cc3EFdCd5d637fEf6A6Ff7259`](https://explorer.tangle.tools/address/0xe785101Cb228693cc3EFdCd5d637fEf6A6Ff7259) | [`lockup-v1.2`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v1.2) |
| SablierV2BatchLockup | [`0x28D116d7e917756310986C4207eA54183fcba06A`](https://explorer.tangle.tools/address/0x28D116d7e917756310986C4207eA54183fcba06A) | [`lockup-v1.2`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v1.2) |
| SablierV2MerkleLockupFactory | [`0x5e73bb96493C10919204045fCdb639D35ad859f8`](https://explorer.tangle.tools/address/0x5e73bb96493C10919204045fCdb639D35ad859f8) | [`lockup-v1.2`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v1.2) |
### ZKsync Era
| Contract | Address | Deployment |
| :-------- | :-------- | :--------- |
| SablierV2LockupDynamic | [`0xf03f4Bf48b108360bAf1597Fb8053Ebe0F5245dA`](https://era.zksync.network//address/0xf03f4Bf48b108360bAf1597Fb8053Ebe0F5245dA) | [`lockup-v1.2`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v1.2) |
| SablierV2LockupLinear | [`0x8cB69b514E97a904743922e1adf3D1627deeeE8D`](https://era.zksync.network//address/0x8cB69b514E97a904743922e1adf3D1627deeeE8D) | [`lockup-v1.2`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v1.2) |
| SablierV2LockupTranched | [`0x1fB145A47Eb9b8bf565273e137356376197b3559`](https://era.zksync.network//address/0x1fB145A47Eb9b8bf565273e137356376197b3559) | [`lockup-v1.2`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v1.2) |
| SablierV2NFTDescriptor | [`0x99BA0D464942e7166dEBb8BAaAF1192F8d4117eb`](https://era.zksync.network//address/0x99BA0D464942e7166dEBb8BAaAF1192F8d4117eb) | [`lockup-v1.2`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v1.2) |
| SablierV2BatchLockup | [`0xAE1A55205A0499d6BBb0Cf0f1210641957e9cb7e`](https://era.zksync.network//address/0xAE1A55205A0499d6BBb0Cf0f1210641957e9cb7e) | [`lockup-v1.2`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v1.2) |
| SablierV2MerkleLockupFactory | [`0x8a84fCF962163A7E98Bf0daFD918973c846fa5C8`](https://era.zksync.network//address/0x8a84fCF962163A7E98Bf0daFD918973c846fa5C8) | [`lockup-v1.2`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v1.2) |
## Testnets
### Arbitrum Sepolia
| Contract | Address | Deployment |
| :-------- | :-------- | :--------- |
| SablierV2LockupDynamic | [`0x8127E8081C22807c8a786Af1e1b174939577144A`](https://sepolia.arbiscan.io/address/0x8127E8081C22807c8a786Af1e1b174939577144A) | [`lockup-v1.2`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v1.2) |
| SablierV2LockupLinear | [`0x9D1C257d9bc09E6E6B8E7e7c2496C12000f55457`](https://sepolia.arbiscan.io/address/0x9D1C257d9bc09E6E6B8E7e7c2496C12000f55457) | [`lockup-v1.2`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v1.2) |
| SablierV2LockupTranched | [`0xaff2efFCF38Ea4A92E0cC5D7c48456C53358fE1a`](https://sepolia.arbiscan.io/address/0xaff2efFCF38Ea4A92E0cC5D7c48456C53358fE1a) | [`lockup-v1.2`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v1.2) |
| SablierV2NFTDescriptor | [`0x46AEd4FE32aE1306d8073FE54A4E844e10a3ca16`](https://sepolia.arbiscan.io/address/0x46AEd4FE32aE1306d8073FE54A4E844e10a3ca16) | [`lockup-v1.2`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v1.2) |
| SablierV2BatchLockup | [`0xC1FD380b3B0fF989C259D0b45B97F9663B638aA4`](https://sepolia.arbiscan.io/address/0xC1FD380b3B0fF989C259D0b45B97F9663B638aA4) | [`lockup-v1.2`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v1.2) |
| SablierV2MerkleLockupFactory | [`0xa11561F9e418f2C431B411E1CA22FD3F85D4c831`](https://sepolia.arbiscan.io/address/0xa11561F9e418f2C431B411E1CA22FD3F85D4c831) | [`lockup-v1.2`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v1.2) |
### Base Sepolia
| Contract | Address | Deployment |
| :-------- | :-------- | :--------- |
| SablierV2LockupDynamic | [`0x6DCB73E5F7e8e70bE20b3B9CF50E3be4625A91C3`](https://sepolia.basescan.org/address/0x6DCB73E5F7e8e70bE20b3B9CF50E3be4625A91C3) | [`lockup-v1.2`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v1.2) |
| SablierV2LockupLinear | [`0xFE7fc0Bbde84C239C0aB89111D617dC7cc58049f`](https://sepolia.basescan.org/address/0xFE7fc0Bbde84C239C0aB89111D617dC7cc58049f) | [`lockup-v1.2`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v1.2) |
| SablierV2LockupTranched | [`0xb8c724df3eC8f2Bf8fA808dF2cB5dbab22f3E68c`](https://sepolia.basescan.org/address/0xb8c724df3eC8f2Bf8fA808dF2cB5dbab22f3E68c) | [`lockup-v1.2`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v1.2) |
| SablierV2NFTDescriptor | [`0x474dFf3Cdd6489523947bf08D538F56d07Ca699e`](https://sepolia.basescan.org/address/0x474dFf3Cdd6489523947bf08D538F56d07Ca699e) | [`lockup-v1.2`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v1.2) |
| SablierV2BatchLockup | [`0x23d0B7691F4Ca0E5477132a7C7F54fdCEd1814B9`](https://sepolia.basescan.org/address/0x23d0B7691F4Ca0E5477132a7C7F54fdCEd1814B9) | [`lockup-v1.2`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v1.2) |
| SablierV2MerkleLockupFactory | [`0x899a05feb160fe912f621733A1d0b39C1446B3eB`](https://sepolia.basescan.org/address/0x899a05feb160fe912f621733A1d0b39C1446B3eB) | [`lockup-v1.2`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v1.2) |
### Blast Sepolia
| Contract | Address | Deployment |
| :-------- | :-------- | :--------- |
| SablierV2LockupDynamic | [`0x9dA09f4887FD3a78Ea237F74a456a82e4301F3D4`](https://sepolia.blastscan.io/address/0x9dA09f4887FD3a78Ea237F74a456a82e4301F3D4) | [`lockup-v1.2`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v1.2) |
| SablierV2LockupLinear | [`0x07f1386803ab6e1D8b6AABD50A9772E45bEA08f1`](https://sepolia.blastscan.io/address/0x07f1386803ab6e1D8b6AABD50A9772E45bEA08f1) | [`lockup-v1.2`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v1.2) |
| SablierV2LockupTranched | [`0x7eB79ab3652713bBE989e7A0dCA61ba484CAED85`](https://sepolia.blastscan.io/address/0x7eB79ab3652713bBE989e7A0dCA61ba484CAED85) | [`lockup-v1.2`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v1.2) |
| SablierV2NFTDescriptor | [`0x93c0c4a57573C7056D7d63B536e33E28FB3ec2EE`](https://sepolia.blastscan.io/address/0x93c0c4a57573C7056D7d63B536e33E28FB3ec2EE) | [`lockup-v1.2`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v1.2) |
| SablierV2BatchLockup | [`0xAC83E6aDA41a9251516601d8D5D0188466044Cc1`](https://sepolia.blastscan.io/address/0xAC83E6aDA41a9251516601d8D5D0188466044Cc1) | [`lockup-v1.2`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v1.2) |
| SablierV2MerkleLockupFactory | [`0xb9fCF1f73DD941Dd1C589fCf8545E60133EE5eC2`](https://sepolia.blastscan.io/address/0xb9fCF1f73DD941Dd1C589fCf8545E60133EE5eC2) | [`lockup-v1.2`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v1.2) |
### Linea Sepolia
| Contract | Address | Deployment |
| :-------- | :-------- | :--------- |
| SablierV2LockupDynamic | [`0x95D29708be647BDD8dA0bdF82B84eB5f42d45918`](https://sepolia.lineascan.build/address/0x95D29708be647BDD8dA0bdF82B84eB5f42d45918) | [`lockup-v1.2`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v1.2) |
| SablierV2LockupLinear | [`0x435F33C21B9Ea8BF207785616Bb28C46eDeD7366`](https://sepolia.lineascan.build/address/0x435F33C21B9Ea8BF207785616Bb28C46eDeD7366) | [`lockup-v1.2`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v1.2) |
| SablierV2LockupTranched | [`0x5A52E9F4dFcdBcd68E50386D484378718167aB60`](https://sepolia.lineascan.build/address/0x5A52E9F4dFcdBcd68E50386D484378718167aB60) | [`lockup-v1.2`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v1.2) |
| SablierV2NFTDescriptor | [`0x237f114a9cF62b87383684529d889DdfEd917f0c`](https://sepolia.lineascan.build/address/0x237f114a9cF62b87383684529d889DdfEd917f0c) | [`lockup-v1.2`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v1.2) |
| SablierV2BatchLockup | [`0x8224eb5D7d76B2D7Df43b868D875E79B11500eA8`](https://sepolia.lineascan.build/address/0x8224eb5D7d76B2D7Df43b868D875E79B11500eA8) | [`lockup-v1.2`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v1.2) |
| SablierV2MerkleLockupFactory | [`0x83Dd52FCA44E069020b58155b761A590F12B59d3`](https://sepolia.lineascan.build/address/0x83Dd52FCA44E069020b58155b761A590F12B59d3) | [`lockup-v1.2`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v1.2) |
### Mode Testnet
| Contract | Address | Deployment |
| :-------- | :-------- | :--------- |
| SablierV2LockupDynamic | [`0x5cD39Ec69F0Ed62733d0DA3E083E451334bA1f70`](https://sepolia.explorer.mode.network/address/0x5cD39Ec69F0Ed62733d0DA3E083E451334bA1f70) | [`lockup-v1.2`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v1.2) |
| SablierV2LockupLinear | [`0x61861e4C72EE2F6967C852FE79Eac0E7a9C4f466`](https://sepolia.explorer.mode.network/address/0x61861e4C72EE2F6967C852FE79Eac0E7a9C4f466) | [`lockup-v1.2`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v1.2) |
| SablierV2LockupTranched | [`0xc51346d1FD003E536530584eb4c8974BB279712D`](https://sepolia.explorer.mode.network/address/0xc51346d1FD003E536530584eb4c8974BB279712D) | [`lockup-v1.2`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v1.2) |
| SablierV2NFTDescriptor | [`0xD3c856A7333c264475aD87F9E6f84Ef376AE250D`](https://sepolia.explorer.mode.network/address/0xD3c856A7333c264475aD87F9E6f84Ef376AE250D) | [`lockup-v1.2`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v1.2) |
| SablierV2BatchLockup | [`0xece83740834694A6E204825e5bcD8774F26a2665`](https://sepolia.explorer.mode.network/address/0xece83740834694A6E204825e5bcD8774F26a2665) | [`lockup-v1.2`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v1.2) |
| SablierV2MerkleLockupFactory | [`0x900de6cC1021afa13f41e1067bEE681BbD661C69`](https://sepolia.explorer.mode.network/address/0x900de6cC1021afa13f41e1067bEE681BbD661C69) | [`lockup-v1.2`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v1.2) |
### Morph Holesky
| Contract | Address | Deployment |
| :-------- | :-------- | :--------- |
| SablierV2LockupDynamic | [`0x36477f8FEf1fC3B0fe7F24b8F6d9561f0BeC30e7`](https://explorer-holesky.morphl2.io/address/0x36477f8FEf1fC3B0fe7F24b8F6d9561f0BeC30e7) | [`lockup-v1.2`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v1.2) |
| SablierV2LockupLinear | [`0x4b4126036726085636BC2A4788a448d5C26705E4`](https://explorer-holesky.morphl2.io/address/0x4b4126036726085636BC2A4788a448d5C26705E4) | [`lockup-v1.2`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v1.2) |
| SablierV2LockupTranched | [`0x6AF155530D6360E789deD0CF88219f855CCb158F`](https://explorer-holesky.morphl2.io/address/0x6AF155530D6360E789deD0CF88219f855CCb158F) | [`lockup-v1.2`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v1.2) |
| SablierV2NFTDescriptor | [`0x33BE6a7810B464B913052EC0436A067de25C164c`](https://explorer-holesky.morphl2.io/address/0x33BE6a7810B464B913052EC0436A067de25C164c) | [`lockup-v1.2`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v1.2) |
| SablierV2BatchLockup | [`0x728Ec8260Ea1115252D33c0D563d78CA18990dE4`](https://explorer-holesky.morphl2.io/address/0x728Ec8260Ea1115252D33c0D563d78CA18990dE4) | [`lockup-v1.2`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v1.2) |
| SablierV2MerkleLockupFactory | [`0x4B5F6B967dC61c2B39fa233092745B460eA1b433`](https://explorer-holesky.morphl2.io/address/0x4B5F6B967dC61c2B39fa233092745B460eA1b433) | [`lockup-v1.2`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v1.2) |
### OP Sepolia
| Contract | Address | Deployment |
| :-------- | :-------- | :--------- |
| SablierV2LockupDynamic | [`0x89EC3830040dec63E9dF0C904d649fda4d49DF16`](https://optimism-sepolia.blockscout.com/address/0x89EC3830040dec63E9dF0C904d649fda4d49DF16) | [`lockup-v1.2`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v1.2) |
| SablierV2LockupLinear | [`0x0a881bbd71a21710D56Ff1931EC8189d94019D60`](https://optimism-sepolia.blockscout.com/address/0x0a881bbd71a21710D56Ff1931EC8189d94019D60) | [`lockup-v1.2`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v1.2) |
| SablierV2LockupTranched | [`0xb971A93608413C54F407eE86C7c15b295E0004bB`](https://optimism-sepolia.blockscout.com/address/0xb971A93608413C54F407eE86C7c15b295E0004bB) | [`lockup-v1.2`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v1.2) |
| SablierV2NFTDescriptor | [`0x48F8C05C721E27FA82aD6c8ddB1a88eF43864A9A`](https://optimism-sepolia.blockscout.com/address/0x48F8C05C721E27FA82aD6c8ddB1a88eF43864A9A) | [`lockup-v1.2`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v1.2) |
| SablierV2BatchLockup | [`0xd9dD971D4800100aED0BfF3535aB116D4Be5c420`](https://optimism-sepolia.blockscout.com/address/0xd9dD971D4800100aED0BfF3535aB116D4Be5c420) | [`lockup-v1.2`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v1.2) |
| SablierV2MerkleLockupFactory | [`0x6CBe6e298A9354306e6ee65f63FF85CFA7062a39`](https://optimism-sepolia.blockscout.com/address/0x6CBe6e298A9354306e6ee65f63FF85CFA7062a39) | [`lockup-v1.2`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v1.2) |
### Sepolia
| Contract | Address | Deployment |
| :-------- | :-------- | :--------- |
| SablierV2LockupDynamic | [`0x73BB6dD3f5828d60F8b3dBc8798EB10fbA2c5636`](https://sepolia.etherscan.io/address/0x73BB6dD3f5828d60F8b3dBc8798EB10fbA2c5636) | [`lockup-v1.2`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v1.2) |
| SablierV2LockupLinear | [`0x3E435560fd0a03ddF70694b35b673C25c65aBB6C`](https://sepolia.etherscan.io/address/0x3E435560fd0a03ddF70694b35b673C25c65aBB6C) | [`lockup-v1.2`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v1.2) |
| SablierV2LockupTranched | [`0x3a1beA13A8C24c0EA2b8fAE91E4b2762A59D7aF5`](https://sepolia.etherscan.io/address/0x3a1beA13A8C24c0EA2b8fAE91E4b2762A59D7aF5) | [`lockup-v1.2`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v1.2) |
| SablierV2NFTDescriptor | [`0x56F2f7f4d15d1A9FF9d3782b6F6bB8f6fd690D33`](https://sepolia.etherscan.io/address/0x56F2f7f4d15d1A9FF9d3782b6F6bB8f6fd690D33) | [`lockup-v1.2`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v1.2) |
| SablierV2BatchLockup | [`0x04A9c14b7a000640419aD5515Db4eF4172C00E31`](https://sepolia.etherscan.io/address/0x04A9c14b7a000640419aD5515Db4eF4172C00E31) | [`lockup-v1.2`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v1.2) |
| SablierV2MerkleLockupFactory | [`0x56E9180A8d2C35c99F2F8a1A5Ab8aBe79E876E8c`](https://sepolia.etherscan.io/address/0x56E9180A8d2C35c99F2F8a1A5Ab8aBe79E876E8c) | [`lockup-v1.2`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v1.2) |
### Superseed Sepolia
| Contract | Address | Deployment |
| :-------- | :-------- | :--------- |
| SablierV2LockupDynamic | [`0xCff4a803b0Bf55dD1BE38Fb96088478F3D2eeCF2`](https://sepolia-explorer.superseed.xyz/address/0xCff4a803b0Bf55dD1BE38Fb96088478F3D2eeCF2) | [`lockup-v1.2`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v1.2) |
| SablierV2LockupLinear | [`0xDf578C2c70A86945999c65961417057363530a1c`](https://sepolia-explorer.superseed.xyz/address/0xDf578C2c70A86945999c65961417057363530a1c) | [`lockup-v1.2`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v1.2) |
| SablierV2LockupTranched | [`0xcb099EfC90e88690e287259410B9AE63e1658CC6`](https://sepolia-explorer.superseed.xyz/address/0xcb099EfC90e88690e287259410B9AE63e1658CC6) | [`lockup-v1.2`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v1.2) |
| SablierV2NFTDescriptor | [`0x2De92156000269fa2fde7544F10f01E8cBC80fFa`](https://sepolia-explorer.superseed.xyz/address/0x2De92156000269fa2fde7544F10f01E8cBC80fFa) | [`lockup-v1.2`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v1.2) |
| SablierV2BatchLockup | [`0x0eDA15D606733f6CDe9DB67263E546bfcDDe9264`](https://sepolia-explorer.superseed.xyz/address/0x0eDA15D606733f6CDe9DB67263E546bfcDDe9264) | [`lockup-v1.2`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v1.2) |
| SablierV2MerkleLockupFactory | [`0x92FC05e49c27884d554D98a5C01Ff0894a9DC29a`](https://sepolia-explorer.superseed.xyz/address/0x92FC05e49c27884d554D98a5C01Ff0894a9DC29a) | [`lockup-v1.2`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v1.2) |
### Taiko Hekla
| Contract | Address | Deployment |
| :-------- | :-------- | :--------- |
| SablierV2LockupDynamic | [`0x01565a1298d631302c114E13C431c9345ae5532e`](https://hekla.taikoscan.network/address/0x01565a1298d631302c114E13C431c9345ae5532e) | [`lockup-v1.2`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v1.2) |
| SablierV2LockupLinear | [`0x640376B26E5f57dCD385b394a24c91F4C60E4fAc`](https://hekla.taikoscan.network/address/0x640376B26E5f57dCD385b394a24c91F4C60E4fAc) | [`lockup-v1.2`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v1.2) |
| SablierV2LockupTranched | [`0xd040fa437021F771C307178F06183bffC36cb4A5`](https://hekla.taikoscan.network/address/0xd040fa437021F771C307178F06183bffC36cb4A5) | [`lockup-v1.2`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v1.2) |
| SablierV2NFTDescriptor | [`0x49Fd46F7d897778205c00D5c1D943fCDc26Ed9E8`](https://hekla.taikoscan.network/address/0x49Fd46F7d897778205c00D5c1D943fCDc26Ed9E8) | [`lockup-v1.2`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v1.2) |
| SablierV2BatchLockup | [`0x6C6a4Ef6C0C1318C9FD60b5084B68E04FB5e9Db9`](https://hekla.taikoscan.network/address/0x6C6a4Ef6C0C1318C9FD60b5084B68E04FB5e9Db9) | [`lockup-v1.2`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v1.2) |
| SablierV2MerkleLockupFactory | [`0x4F0d64365EfA9D6D1B88FfC387Ce02e4A71d9f9f`](https://hekla.taikoscan.network/address/0x4F0d64365EfA9D6D1B88FfC387Ce02e4A71d9f9f) | [`lockup-v1.2`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v1.2) |
### ZKsync Sepolia Testnet
| Contract | Address | Deployment |
| :-------- | :-------- | :--------- |
| SablierV2LockupDynamic | [`0xc4311a5913953162111bF75530f7BB14ec24e014`](https://sepolia-era.zksync.network//address/0xc4311a5913953162111bF75530f7BB14ec24e014) | [`lockup-v1.2`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v1.2) |
| SablierV2LockupLinear | [`0x43864C567b89FA5fEE8010f92d4473Bf19169BBA`](https://sepolia-era.zksync.network//address/0x43864C567b89FA5fEE8010f92d4473Bf19169BBA) | [`lockup-v1.2`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v1.2) |
| SablierV2LockupTranched | [`0xF6e869b73E20b812dcf0E850AA8822F74f67f670`](https://sepolia-era.zksync.network//address/0xF6e869b73E20b812dcf0E850AA8822F74f67f670) | [`lockup-v1.2`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v1.2) |
| SablierV2NFTDescriptor | [`0x477DDC91a7e13CBaC01c06737abF96d50ECa7961`](https://sepolia-era.zksync.network//address/0x477DDC91a7e13CBaC01c06737abF96d50ECa7961) | [`lockup-v1.2`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v1.2) |
| SablierV2BatchLockup | [`0x1D68417ff71855Eb0237Ff03a8FfF02Ef67e4AFb`](https://sepolia-era.zksync.network//address/0x1D68417ff71855Eb0237Ff03a8FfF02Ef67e4AFb) | [`lockup-v1.2`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v1.2) |
| SablierV2MerkleLockupFactory | [`0x2CEf8C06dDF7a1440Ad2561c53821e43adDbfA31`](https://sepolia-era.zksync.network//address/0x2CEf8C06dDF7a1440Ad2561c53821e43adDbfA31) | [`lockup-v1.2`](https://github.com/sablier-labs/sdk/blob/main/deployments/lockup/v1.2) |
---
## Overview (16)
The Sablier Protocol is a smart contract system comprised of many abstract contracts, libraries, and types. The design
of the smart contracts draws some inspiration from the architectural principles of [Uniswap](https://docs.uniswap.org).
This section provides a detailed overview of the Sablier smart contracts, their designs, control flows, and contract
references.
## Lockup
> [**Lockup Source Code**](https://github.com/sablier-labs/lockup/tree/release)
The Lockup repo consists of the Sablier Lockup contract, public libraries, Batch Lockup contract and an NFT descriptor.
### BatchLockup
> [**BatchLockup Reference**](./lockup/contracts/contract.SablierBatchLockup)
Creates multiple streams in a single transaction.
### Libraries
> [**Helpers Library**](./lockup/contracts/libraries/library.Helpers)
Library to validate input parameters across lockup streams.
> [**VestingMath Library**](./lockup/contracts/libraries/library.VestingMath)
Library to calculate vested amount across lockup streams.
### NFTDescriptor
> [**NFTDescriptor Reference**](./lockup/contracts/contract.LockupNFTDescriptor)
Generates the URI describing the Sablier Lockup stream NFTs.
### SablierLockup
> [**SablierLockup Reference**](./lockup/contracts/contract.SablierLockup)
Creates and manages Lockup streams with three different streaming functions.
## Merkle Airdrops
> [**Merkle Airdrops Source Code**](https://github.com/sablier-labs/airdrops/tree/release)
The Merkle Airdrops repo is a collection of contracts to create various kinds of airdrop campaigns. Some of these
campaigns make use of the Lockup protocol to create what we call [Airstreams](/concepts/airdrops). This repo consists of
airdrops related contracts such as MerkleFactory, MerkleInstant, MerkleLL, and MerkleLT.
### MerkleFactory
> [**MerkleFactory Reference**](./airdrops/contracts/contract.SablierMerkleFactory)
Factory contract to deploy Merkle airdrop campaigns.
### MerkleInstant
> [**MerkleInstant Reference**](./airdrops/contracts/contract.SablierMerkleInstant)
Enables airdrop distributions where the tokens are claimed directly to the users' wallets.
### MerkleLL
> [**MerkleLL Reference**](./airdrops/contracts/contract.SablierMerkleLL)
Enables airdrops with a vesting period powered by the Lockup Linear distribution model.
### MerkleLT
> [**MerkleLT Reference**](./airdrops/contracts/contract.SablierMerkleLT)
Enables airdrops with a vesting period powered by the Lockup Tranched distribution model.
## Flow
> [**Flow Source Code**](https://github.com/sablier-labs/flow/tree/release)
The Flow repo consists of the Sablier Flow contract, and an NFT descriptor.
### NFTDescriptor
> [**FlowNFTDescriptor Reference**](./flow/contracts/contract.FlowNFTDescriptor)
Generates the URI describing the Sablier Flow stream NFTs which, currently, is the Sablier logo.
### SablierFlow
> [**SablierFlow Reference**](./flow/contracts/contract.SablierFlow)
Creates and manages payment streams.
---
## Errors
## Background
The Sablier Protocol handles errors with the convenient and gas-efficient
[custom error syntax](https://blog.soliditylang.org/2021/04/21/custom-errors) introduced in Solidity v0.8.4.
The error data encoding is identical to the ABI encoding used for functions, e.g.:
```solidity
error SablierLockupBase_WithdrawAmountZero(uint256 streamId);
```
Yields the following 4-byte selector in the contract's ABI:
```solidity
bytes4(keccak256(bytes("SablierLockupBase_WithdrawAmountZero(uint256)")))
// 0xf747ab7c
```
## Naming Pattern
With the exception of a few generics, all errors in Sablier Protocol adhere to the naming pattern
`_`.
Incorporating the contract name as a prefix offers context, making it easier for end users to pinpoint the contract
responsible for a reverted transaction. This approach is particularly helpful for complex transactions involving
multiple contracts.
## Lockup Error List
[Click here](lockup/contracts/libraries/library.Errors) to see the full error list in Lockup protocol.
## Airdrops Error List
[Click here](airdrops/contracts/libraries/library.Errors) to see the full error list in Airdrops protocol.
## Flow Error List
[Click here](flow/contracts/libraries/library.Errors) to see the full error list in Flow protocol.
## Resources
- [Custom Errors in Solidity](https://blog.soliditylang.org/2021/04/21/custom-errors/): deep dive into the custom error
syntax
- [OpenChain](https://openchain.xyz/signatures): signature database
- [4byte.directory](https://4byte.directory/): yet another signature database
---
## Diagrams
## Airstream Campaigns
In an airstream campaign, there is a vesting of tokens which is powered by Sablier Lockup protocol. A typical airstream
campaign creation flow looks like the following:
```mermaid
sequenceDiagram
actor Campaign creator
Campaign creator ->> MerkleFactory: createMerkleLL()
MerkleFactory -->> MerkleLL: Deploy a new contract
```
And this is how the claim flow looks like for recipients:
```mermaid
sequenceDiagram
actor Airdrop recipient
Airdrop recipient ->> MerkleLL: claim()
MerkleLL -->> SablierLockup: Create vesting stream
MerkleLL -->> SablierLockup: Transfer tokens
SablierLockup -->> Airdrop recipient: Mint Stream NFT
```
## Instant Airdrop Campaigns
In an instant airdrop campaign, there is no vesting and airdropped tokens are claimed directly to the users' wallets. A
typical instant airdrop campaign creation flow looks like the following:
```mermaid
sequenceDiagram
actor Campaign creator
Campaign creator ->> MerkleFactory: createMerkleInstant()
MerkleFactory -->> MerkleInstant: Deploy a new contract
```
And this is how the claim flow looks like for recipients:
```mermaid
sequenceDiagram
actor Airdrop recipient
Airdrop recipient ->> MerkleInstant: claim()
MerkleInstant -->> Airdrop recipient: Transfer tokens
```
## Clawback
For campaign admins, we offer `clawback` functionality which can be used to retrieve unclaimed funds after expiration.
There is also a grace period that ends 7 days after the first claim is made. During the grace period, admin can
`clawback` to return funds from the campaign contract. This is useful in case there had been an accidental transfer of
funds.
```mermaid
sequenceDiagram
actor Campaign creator
Campaign creator ->> Merkle Campaign: clawback()
Merkle Campaign -->> Campaign creator: Transfer unclaimed tokens
```
---
## Access Control
With the exception of the [admin functions](/concepts/governance#merklefactory), all functions in Merkle campaign can
only be triggered either by the campaign creator or the airdrop recipients. The Protocol Admin has no control over any
funds in the campaign contract.
This article will provide a comprehensive overview of the actions that can be performed on a campaign contract.
:::note
Every campaign has a creator and a recipient. An 'public' caller is any address outside of creator and recipient. Anyone
can call `claim` function on a campaign but the tokens will be transferred to the recipient.
:::
## Overview
The table below offers a quick overview of the access control for each action that can be performed on a campaign.
| Action | Creator | Recipient | Public |
| -------- | :-----: | :-------: | :----: |
| Claim | ✅ | ✅ | ✅ |
| Clawback | ✅ | ❌ | ❌ |
## Claim
Claiming an airdrop requires four values:
1. Address of the eligible user
1. Amount that the user is eligible for
1. Claim index in the bitmap
1. Merkle proof
Anybody can `claim` function with the correct set of values. The `claim` then automatically transfers amount of tokens
to the eligible user.
```mermaid
sequenceDiagram
actor Anyone
Anyone ->> Campaign: claim(..)
Create actor Recipient
Campaign -->> Recipient: Transfer tokens
```
If the campaign requires token vesting, then the `claim` function will create a Sablier stream on behalf of the eligible
user.
```mermaid
sequenceDiagram
actor Anyone
Anyone ->> Campaign: claim(..)
Campaign -->> SablierLockup: Create vesting stream
Create actor Recipient
SablierLockup -->> Recipient: Mint Stream NFT
```
## Clawback
Only the campaign creator can clawback funds within grace period.
```mermaid
sequenceDiagram
actor Campaign Creator
Campaign Creator ->> Campaign: clawback()
Campaign -->> Campaign Creator: Transfer unclaimed tokens
```
---
## SablierMerkleBase
[Git Source](https://github.com/sablier-labs/airdrops/blob/f9a358c0a5bccfec77601d4490ef9117e0488068/src/abstracts/SablierMerkleBase.sol)
**Inherits:** [ISablierMerkleBase](/docs/reference/airdrops/contracts/interfaces/interface.ISablierMerkleBase.md),
Adminable
See the documentation in
[ISablierMerkleBase](/docs/reference/airdrops/contracts/interfaces/interface.ISablierMerkleBase.md).
## State Variables
### CAMPAIGN_NAME
_The name of the campaign stored as bytes32._
```solidity
bytes32 internal immutable CAMPAIGN_NAME;
```
### EXPIRATION
The cut-off point for the campaign, as a Unix timestamp. A value of zero means there is no expiration.
_This is an immutable state variable._
```solidity
uint40 public immutable override EXPIRATION;
```
### FACTORY
Retrieves the address of the factory contract.
```solidity
address public immutable override FACTORY;
```
### FEE
Retrieves the minimum fee required to claim the airdrop, which is paid in the native token of the chain, e.g. ETH for
Ethereum Mainnet.
```solidity
uint256 public immutable override FEE;
```
### MERKLE_ROOT
The root of the Merkle tree used to validate the proofs of inclusion.
_This is an immutable state variable._
```solidity
bytes32 public immutable override MERKLE_ROOT;
```
### SHAPE
_The shape of Lockup stream stored as bytes32._
```solidity
bytes32 internal immutable SHAPE;
```
### TOKEN
The ERC-20 token to distribute.
_This is an immutable state variable._
```solidity
IERC20 public immutable override TOKEN;
```
### ipfsCID
The content identifier for indexing the campaign on IPFS.
```solidity
string public override ipfsCID;
```
### \_claimedBitMap
_Packed booleans that record the history of claims._
```solidity
BitMaps.BitMap internal _claimedBitMap;
```
### \_firstClaimTime
_The timestamp when the first claim is made._
```solidity
uint40 internal _firstClaimTime;
```
## Functions
### constructor
Constructs the contract by initializing the immutable state variables.
```solidity
constructor(MerkleBase.ConstructorParams memory params, address campaignCreator) Adminable(params.initialAdmin);
```
### campaignName
Retrieves the name of the campaign.
```solidity
function campaignName() external view override returns (string memory);
```
### getFirstClaimTime
Returns the timestamp when the first claim is made.
```solidity
function getFirstClaimTime() external view override returns (uint40);
```
### hasClaimed
Returns a flag indicating whether a claim has been made for a given index.
_Uses a bitmap to save gas._
```solidity
function hasClaimed(uint256 index) public view override returns (bool);
```
**Parameters**
| Name | Type | Description |
| ------- | --------- | ------------------------------------ |
| `index` | `uint256` | The index of the recipient to check. |
### hasExpired
Returns a flag indicating whether the campaign has expired.
```solidity
function hasExpired() public view override returns (bool);
```
### shape
Retrieves the shape of the lockup stream that the campaign produces upon claiming.
```solidity
function shape() external view override returns (string memory);
```
### claim
Makes the claim.
Depending on the Merkle campaign, it either transfers tokens to the recipient or creates a Lockup stream with an NFT
minted to the recipient. Requirements:
- The campaign must not have expired.
- The stream must not have been claimed already.
- The Merkle proof must be valid.
- The `msg.value` must not be less than `FEE`.
```solidity
function claim(
uint256 index,
address recipient,
uint128 amount,
bytes32[] calldata merkleProof
)
external
payable
override;
```
**Parameters**
| Name | Type | Description |
| ------------- | ----------- | --------------------------------------------------------------- |
| `index` | `uint256` | The index of the recipient in the Merkle tree. |
| `recipient` | `address` | The address of the airdrop recipient. |
| `amount` | `uint128` | The amount of ERC-20 tokens to be transferred to the recipient. |
| `merkleProof` | `bytes32[]` | The proof of inclusion in the Merkle tree. |
### clawback
Claws back the unclaimed tokens from the campaign.
Emits a {Clawback} event. Requirements:
- `msg.sender` must be the admin.
- No claim must be made, OR The current timestamp must not exceed 7 days after the first claim, OR The campaign must be
expired.
```solidity
function clawback(address to, uint128 amount) external override onlyAdmin;
```
**Parameters**
| Name | Type | Description |
| -------- | --------- | ---------------------------------- |
| `to` | `address` | The address to receive the tokens. |
| `amount` | `uint128` | The amount of tokens to claw back. |
### collectFees
Collects the accrued fees by transferring them to `FACTORY` admin. Requirements:
- `msg.sender` must be the `FACTORY` contract.
```solidity
function collectFees(address factoryAdmin) external override returns (uint256 feeAmount);
```
**Parameters**
| Name | Type | Description |
| -------------- | --------- | ----------------------------------- |
| `factoryAdmin` | `address` | The address of the `FACTORY` admin. |
**Returns**
| Name | Type | Description |
| ----------- | --------- | ---------------------------------------------------------- |
| `feeAmount` | `uint256` | The amount of native tokens (e.g., ETH) collected as fees. |
### \_hasGracePeriodPassed
Returns a flag indicating whether the grace period has passed.
_The grace period is 7 days after the first claim._
```solidity
function _hasGracePeriodPassed() internal view returns (bool);
```
### \_claim
_This function is implemented by child contracts, so the logic varies depending on the model._
```solidity
function _claim(uint256 index, address recipient, uint128 amount) internal virtual;
```
---
## SablierMerkleFactory
[Git Source](https://github.com/sablier-labs/airdrops/blob/f9a358c0a5bccfec77601d4490ef9117e0488068/src/SablierMerkleFactory.sol)
**Inherits:** [ISablierMerkleFactory](/docs/reference/airdrops/contracts/interfaces/interface.ISablierMerkleFactory.md),
Adminable
See the documentation in
[ISablierMerkleFactory](/docs/reference/airdrops/contracts/interfaces/interface.ISablierMerkleFactory.md).
## State Variables
### defaultFee
Retrieves the default fee charged for claiming an airdrop.
_The fee is denominated in the native token of the chain, e.g., ETH for Ethereum Mainnet._
```solidity
uint256 public override defaultFee;
```
### \_customFees
_A mapping of custom fees mapped by campaign creator addresses._
```solidity
mapping(address campaignCreator => MerkleFactory.CustomFee customFee) private _customFees;
```
## Functions
### constructor
```solidity
constructor(address initialAdmin) Adminable(initialAdmin);
```
**Parameters**
| Name | Type | Description |
| -------------- | --------- | ------------------------------------------ |
| `initialAdmin` | `address` | The address of the initial contract admin. |
### getCustomFee
Retrieves the custom fee struct for the provided campaign creator.
_The fee is denominated in the native token of the chain, e.g., ETH for Ethereum Mainnet._
```solidity
function getCustomFee(address campaignCreator) external view override returns (MerkleFactory.CustomFee memory);
```
**Parameters**
| Name | Type | Description |
| ----------------- | --------- | ------------------------------------ |
| `campaignCreator` | `address` | The address of the campaign creator. |
### getFee
Retrieves the fee for the provided campaign creator, using the default fee if no custom fee is set.
_The fee is denominated in the native token of the chain, e.g., ETH for Ethereum Mainnet._
```solidity
function getFee(address campaignCreator) external view returns (uint256);
```
**Parameters**
| Name | Type | Description |
| ----------------- | --------- | ------------------------------------ |
| `campaignCreator` | `address` | The address of the campaign creator. |
### isPercentagesSum100
Verifies if the sum of percentages in `tranches` equals 100%, i.e., 1e18.
_This is a helper function for the frontend. It is not used anywhere in the contracts._
```solidity
function isPercentagesSum100(MerkleLT.TrancheWithPercentage[] calldata tranches)
external
pure
override
returns (bool result);
```
**Parameters**
| Name | Type | Description |
| ---------- | ---------------------------------- | ------------------------------------------------------ |
| `tranches` | `MerkleLT.TrancheWithPercentage[]` | The tranches with their respective unlock percentages. |
**Returns**
| Name | Type | Description |
| -------- | ------ | ------------------------------------------------------------ |
| `result` | `bool` | True if the sum of percentages equals 100%, otherwise false. |
### collectFees
Collects the fees accrued in the `merkleBase` contract, and transfers them to the factory admin.
Emits a {CollectFees} event. Notes:
- If the admin is a contract, it must be able to receive native token payments, e.g., ETH for Ethereum Mainnet.
```solidity
function collectFees(ISablierMerkleBase merkleBase) external override;
```
**Parameters**
| Name | Type | Description |
| ------------ | -------------------- | --------------------------------------------------------------------- |
| `merkleBase` | `ISablierMerkleBase` | The address of the Merkle contract where the fees are collected from. |
### createMerkleInstant
Creates a new MerkleInstant campaign for instant distribution of tokens.
Emits a {CreateMerkleInstant} event. Notes:
- The MerkleInstant contract is created with CREATE2.
- The immutable fee will be set to the default value unless a custom fee is set.
```solidity
function createMerkleInstant(
MerkleBase.ConstructorParams memory baseParams,
uint256 aggregateAmount,
uint256 recipientCount
)
external
override
returns (ISablierMerkleInstant merkleInstant);
```
**Parameters**
| Name | Type | Description |
| ----------------- | ------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| `baseParams` | `MerkleBase.ConstructorParams` | Struct encapsulating the [SablierMerkleBase](docs/reference/airdrops/contracts/abstracts/abstract.SablierMerkleBase.md) parameters, which are documented in {DataTypes}. |
| `aggregateAmount` | `uint256` | The total amount of ERC-20 tokens to be distributed to all recipients. |
| `recipientCount` | `uint256` | The total number of recipients who are eligible to claim. |
**Returns**
| Name | Type | Description |
| --------------- | ----------------------- | -------------------------------------------------------- |
| `merkleInstant` | `ISablierMerkleInstant` | The address of the newly created MerkleInstant contract. |
### createMerkleLL
Creates a new Merkle Lockup campaign with a Lockup Linear distribution.
Emits a {CreateMerkleLL} event. Notes:
- The MerkleLL contract is created with CREATE2.
- The immutable fee will be set to the default value unless a custom fee is set.
```solidity
function createMerkleLL(
MerkleBase.ConstructorParams memory baseParams,
ISablierLockup lockup,
bool cancelable,
bool transferable,
MerkleLL.Schedule memory schedule,
uint256 aggregateAmount,
uint256 recipientCount
)
external
override
returns (ISablierMerkleLL merkleLL);
```
**Parameters**
| Name | Type | Description |
| ----------------- | ------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| `baseParams` | `MerkleBase.ConstructorParams` | Struct encapsulating the [SablierMerkleBase](docs/reference/airdrops/contracts/abstracts/abstract.SablierMerkleBase.md) parameters, which are documented in {DataTypes}. |
| `lockup` | `ISablierLockup` | The address of the [SablierLockup](/reference/lockup/contracts/contract.SablierLockup.md) contract. |
| `cancelable` | `bool` | Indicates if the stream will be cancelable after claiming. |
| `transferable` | `bool` | Indicates if the stream will be transferable after claiming. |
| `schedule` | `MerkleLL.Schedule` | Struct encapsulating the unlocks schedule, which are documented in {DataTypes}. |
| `aggregateAmount` | `uint256` | The total amount of ERC-20 tokens to be distributed to all recipients. |
| `recipientCount` | `uint256` | The total number of recipients who are eligible to claim. |
**Returns**
| Name | Type | Description |
| ---------- | ------------------ | -------------------------------------------------------- |
| `merkleLL` | `ISablierMerkleLL` | The address of the newly created Merkle Lockup contract. |
### createMerkleLT
Creates a new Merkle Lockup campaign with a Lockup Tranched distribution.
Emits a {CreateMerkleLT} event. Notes:
- The MerkleLT contract is created with CREATE2.
- The immutable fee will be set to the default value unless a custom fee is set.
```solidity
function createMerkleLT(
MerkleBase.ConstructorParams memory baseParams,
ISablierLockup lockup,
bool cancelable,
bool transferable,
uint40 streamStartTime,
MerkleLT.TrancheWithPercentage[] memory tranchesWithPercentages,
uint256 aggregateAmount,
uint256 recipientCount
)
external
override
returns (ISablierMerkleLT merkleLT);
```
**Parameters**
| Name | Type | Description |
| ------------------------- | ---------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| `baseParams` | `MerkleBase.ConstructorParams` | Struct encapsulating the [SablierMerkleBase](docs/reference/airdrops/contracts/abstracts/abstract.SablierMerkleBase.md) parameters, which are documented in {DataTypes}. |
| `lockup` | `ISablierLockup` | The address of the [SablierLockup](/reference/lockup/contracts/contract.SablierLockup.md) contract. |
| `cancelable` | `bool` | Indicates if the stream will be cancelable after claiming. |
| `transferable` | `bool` | Indicates if the stream will be transferable after claiming. |
| `streamStartTime` | `uint40` | The start time of the streams created through {SablierMerkleBase.claim}. |
| `tranchesWithPercentages` | `MerkleLT.TrancheWithPercentage[]` | The tranches with their respective unlock percentages. |
| `aggregateAmount` | `uint256` | The total amount of ERC-20 tokens to be distributed to all recipients. |
| `recipientCount` | `uint256` | The total number of recipients who are eligible to claim. |
**Returns**
| Name | Type | Description |
| ---------- | ------------------ | -------------------------------------------------------- |
| `merkleLT` | `ISablierMerkleLT` | The address of the newly created Merkle Lockup contract. |
### resetCustomFee
Resets the custom fee for the provided campaign creator to the default fee.
Emits a {ResetCustomFee} event. Notes:
- The default fee will only be applied to future campaigns. Requirements:
- `msg.sender` must be the admin.
```solidity
function resetCustomFee(address campaignCreator) external override onlyAdmin;
```
**Parameters**
| Name | Type | Description |
| ----------------- | --------- | --------------------------------------- |
| `campaignCreator` | `address` | The user for whom the fee is reset for. |
### setCustomFee
Sets a custom fee for the provided campaign creator.
Emits a {SetCustomFee} event. Notes:
- The new fee will only be applied to future campaigns. Requirements:
- `msg.sender` must be the admin.
```solidity
function setCustomFee(address campaignCreator, uint256 newFee) external override onlyAdmin;
```
**Parameters**
| Name | Type | Description |
| ----------------- | --------- | --------------------------------- |
| `campaignCreator` | `address` | The user for whom the fee is set. |
| `newFee` | `uint256` | The new fee to be set. |
### setDefaultFee
Sets the default fee to be applied when claiming airdrops.
Emits a {SetDefaultFee} event. Notes:
- The new default fee will only be applied to the future campaigns and will not affect the ones already deployed.
Requirements:
- `msg.sender` must be the admin.
```solidity
function setDefaultFee(uint256 defaultFee_) external override onlyAdmin;
```
**Parameters**
| Name | Type | Description |
| ------------- | --------- | ----------- |
| `defaultFee_` | `uint256` | |
### \_getFee
Retrieves the fee for the provided campaign creator, using the default fee if no custom fee is set.
```solidity
function _getFee(address campaignCreator) private view returns (uint256);
```
### \_deployMerkleLT
Deploys a new MerkleLT contract with CREATE2.
_We need a separate function to prevent the stack too deep error._
```solidity
function _deployMerkleLT(
MerkleBase.ConstructorParams memory baseParams,
ISablierLockup lockup,
bool cancelable,
bool transferable,
uint40 streamStartTime,
MerkleLT.TrancheWithPercentage[] memory tranchesWithPercentages
)
private
returns (ISablierMerkleLT merkleLT);
```
---
## SablierMerkleInstant
[Git Source](https://github.com/sablier-labs/airdrops/blob/f9a358c0a5bccfec77601d4490ef9117e0488068/src/SablierMerkleInstant.sol)
**Inherits:** [ISablierMerkleInstant](/docs/reference/airdrops/contracts/interfaces/interface.ISablierMerkleInstant.md),
[SablierMerkleBase](/docs/reference/airdrops/contracts/abstracts/abstract.SablierMerkleBase.md)
See the documentation in
[ISablierMerkleInstant](/docs/reference/airdrops/contracts/interfaces/interface.ISablierMerkleInstant.md).
## Functions
### constructor
_Constructs the contract by initializing the immutable state variables._
```solidity
constructor(
MerkleBase.ConstructorParams memory baseParams,
address campaignCreator
)
SablierMerkleBase(baseParams, campaignCreator);
```
### \_claim
_This function is implemented by child contracts, so the logic varies depending on the model._
```solidity
function _claim(uint256 index, address recipient, uint128 amount) internal override;
```
---
## SablierMerkleLL
[Git Source](https://github.com/sablier-labs/airdrops/blob/f9a358c0a5bccfec77601d4490ef9117e0488068/src/SablierMerkleLL.sol)
**Inherits:** [ISablierMerkleLL](/docs/reference/airdrops/contracts/interfaces/interface.ISablierMerkleLL.md),
[SablierMerkleBase](/docs/reference/airdrops/contracts/abstracts/abstract.SablierMerkleBase.md)
See the documentation in
[ISablierMerkleLL](/docs/reference/airdrops/contracts/interfaces/interface.ISablierMerkleLL.md).
## State Variables
### LOCKUP
The address of the [SablierLockup](/reference/lockup/contracts/contract.SablierLockup.md) contract.
```solidity
ISablierLockup public immutable override LOCKUP;
```
### STREAM_CANCELABLE
A flag indicating whether the streams can be canceled.
_This is an immutable state variable._
```solidity
bool public immutable override STREAM_CANCELABLE;
```
### STREAM_TRANSFERABLE
A flag indicating whether the stream NFTs are transferable.
_This is an immutable state variable._
```solidity
bool public immutable override STREAM_TRANSFERABLE;
```
### \_schedule
_See the documentation in {ISablierMerkleLL.getSchedule}._
```solidity
MerkleLL.Schedule private _schedule;
```
## Functions
### constructor
_Constructs the contract by initializing the immutable state variables, and max approving the Lockup contract._
```solidity
constructor(
MerkleBase.ConstructorParams memory baseParams,
address campaignCreator,
ISablierLockup lockup,
bool cancelable,
bool transferable,
MerkleLL.Schedule memory schedule
)
SablierMerkleBase(baseParams, campaignCreator);
```
### getSchedule
A tuple containing the start time, start unlock percentage, cliff duration, cliff unlock percentage, and end duration.
These values are used to calculate the vesting schedule in `Lockup.CreateWithTimestampsLL`.
_A start time value of zero will be considered as `block.timestamp`._
```solidity
function getSchedule() external view override returns (MerkleLL.Schedule memory);
```
### \_claim
_This function is implemented by child contracts, so the logic varies depending on the model._
```solidity
function _claim(uint256 index, address recipient, uint128 amount) internal override;
```
---
## SablierMerkleLT
[Git Source](https://github.com/sablier-labs/airdrops/blob/f9a358c0a5bccfec77601d4490ef9117e0488068/src/SablierMerkleLT.sol)
**Inherits:** [ISablierMerkleLT](/docs/reference/airdrops/contracts/interfaces/interface.ISablierMerkleLT.md),
[SablierMerkleBase](/docs/reference/airdrops/contracts/abstracts/abstract.SablierMerkleBase.md)
See the documentation in
[ISablierMerkleLT](/docs/reference/airdrops/contracts/interfaces/interface.ISablierMerkleLT.md).
## State Variables
### LOCKUP
The address of the [SablierLockup](/reference/lockup/contracts/contract.SablierLockup.md) contract.
```solidity
ISablierLockup public immutable override LOCKUP;
```
### STREAM_CANCELABLE
A flag indicating whether the streams can be canceled.
_This is an immutable state variable._
```solidity
bool public immutable override STREAM_CANCELABLE;
```
### STREAM_START_TIME
The start time of the streams created through {SablierMerkleBase.claim} function.
_A start time value of zero will be treated as `block.timestamp`._
```solidity
uint40 public immutable override STREAM_START_TIME;
```
### STREAM_TRANSFERABLE
A flag indicating whether the stream NFTs are transferable.
_This is an immutable state variable._
```solidity
bool public immutable override STREAM_TRANSFERABLE;
```
### TOTAL_PERCENTAGE
The total percentage of the tranches.
```solidity
uint64 public immutable override TOTAL_PERCENTAGE;
```
### \_tranchesWithPercentages
_The tranches with their respective unlock percentages and durations._
```solidity
MerkleLT.TrancheWithPercentage[] internal _tranchesWithPercentages;
```
## Functions
### constructor
_Constructs the contract by initializing the immutable state variables, and max approving the Lockup contract._
```solidity
constructor(
MerkleBase.ConstructorParams memory baseParams,
address campaignCreator,
ISablierLockup lockup,
bool cancelable,
bool transferable,
uint40 streamStartTime,
MerkleLT.TrancheWithPercentage[] memory tranchesWithPercentages
)
SablierMerkleBase(baseParams, campaignCreator);
```
### getTranchesWithPercentages
Retrieves the tranches with their respective unlock percentages and durations.
```solidity
function getTranchesWithPercentages() external view override returns (MerkleLT.TrancheWithPercentage[] memory);
```
### \_claim
_This function is implemented by child contracts, so the logic varies depending on the model._
```solidity
function _claim(uint256 index, address recipient, uint128 amount) internal override;
```
### \_calculateStartTimeAndTranches
_Calculates the start time, and the tranches based on the claim amount and the unlock percentages for each tranche._
```solidity
function _calculateStartTimeAndTranches(uint128 claimAmount)
internal
view
returns (uint40 startTime, LockupTranched.Tranche[] memory tranches);
```
---
## ISablierMerkleBase
[Git Source](https://github.com/sablier-labs/airdrops/blob/f9a358c0a5bccfec77601d4490ef9117e0488068/src/interfaces/ISablierMerkleBase.sol)
**Inherits:** IAdminable
_Common interface between Merkle Lockups and Merkle Instant._
## Functions
### EXPIRATION
The cut-off point for the campaign, as a Unix timestamp. A value of zero means there is no expiration.
_This is an immutable state variable._
```solidity
function EXPIRATION() external returns (uint40);
```
### FACTORY
Retrieves the address of the factory contract.
```solidity
function FACTORY() external view returns (address);
```
### FEE
Retrieves the minimum fee required to claim the airdrop, which is paid in the native token of the chain, e.g. ETH for
Ethereum Mainnet.
```solidity
function FEE() external view returns (uint256);
```
### MERKLE_ROOT
The root of the Merkle tree used to validate the proofs of inclusion.
_This is an immutable state variable._
```solidity
function MERKLE_ROOT() external returns (bytes32);
```
### TOKEN
The ERC-20 token to distribute.
_This is an immutable state variable._
```solidity
function TOKEN() external returns (IERC20);
```
### campaignName
Retrieves the name of the campaign.
```solidity
function campaignName() external view returns (string memory);
```
### getFirstClaimTime
Returns the timestamp when the first claim is made.
```solidity
function getFirstClaimTime() external view returns (uint40);
```
### hasClaimed
Returns a flag indicating whether a claim has been made for a given index.
_Uses a bitmap to save gas._
```solidity
function hasClaimed(uint256 index) external returns (bool);
```
**Parameters**
| Name | Type | Description |
| ------- | --------- | ------------------------------------ |
| `index` | `uint256` | The index of the recipient to check. |
### hasExpired
Returns a flag indicating whether the campaign has expired.
```solidity
function hasExpired() external view returns (bool);
```
### ipfsCID
The content identifier for indexing the campaign on IPFS.
```solidity
function ipfsCID() external view returns (string memory);
```
### shape
Retrieves the shape of the lockup stream that the campaign produces upon claiming.
```solidity
function shape() external view returns (string memory);
```
### claim
Makes the claim.
Depending on the Merkle campaign, it either transfers tokens to the recipient or creates a Lockup stream with an NFT
minted to the recipient. Requirements:
- The campaign must not have expired.
- The stream must not have been claimed already.
- The Merkle proof must be valid.
- The `msg.value` must not be less than `FEE`.
```solidity
function claim(uint256 index, address recipient, uint128 amount, bytes32[] calldata merkleProof) external payable;
```
**Parameters**
| Name | Type | Description |
| ------------- | ----------- | --------------------------------------------------------------- |
| `index` | `uint256` | The index of the recipient in the Merkle tree. |
| `recipient` | `address` | The address of the airdrop recipient. |
| `amount` | `uint128` | The amount of ERC-20 tokens to be transferred to the recipient. |
| `merkleProof` | `bytes32[]` | The proof of inclusion in the Merkle tree. |
### clawback
Claws back the unclaimed tokens from the campaign.
Emits a [Clawback](/docs/reference/airdrops/contracts/interfaces/interface.ISablierMerkleBase.md#clawback) event.
Requirements:
- `msg.sender` must be the admin.
- No claim must be made, OR The current timestamp must not exceed 7 days after the first claim, OR The campaign must be
expired.
```solidity
function clawback(address to, uint128 amount) external;
```
**Parameters**
| Name | Type | Description |
| -------- | --------- | ---------------------------------- |
| `to` | `address` | The address to receive the tokens. |
| `amount` | `uint128` | The amount of tokens to claw back. |
### collectFees
Collects the accrued fees by transferring them to `FACTORY` admin. Requirements:
- `msg.sender` must be the `FACTORY` contract.
```solidity
function collectFees(address factoryAdmin) external returns (uint256 feeAmount);
```
**Parameters**
| Name | Type | Description |
| -------------- | --------- | ----------------------------------- |
| `factoryAdmin` | `address` | The address of the `FACTORY` admin. |
**Returns**
| Name | Type | Description |
| ----------- | --------- | ---------------------------------------------------------- |
| `feeAmount` | `uint256` | The amount of native tokens (e.g., ETH) collected as fees. |
## Events
### Clawback
Emitted when the admin claws back the unclaimed tokens.
```solidity
event Clawback(address indexed admin, address indexed to, uint128 amount);
```
---
## ISablierMerkleFactory
[Git Source](https://github.com/sablier-labs/airdrops/blob/f9a358c0a5bccfec77601d4490ef9117e0488068/src/interfaces/ISablierMerkleFactory.sol)
**Inherits:** IAdminable
A contract that deploys Merkle Lockups and Merkle Instant campaigns. Both use Merkle proofs for token distribution.
Merkle Lockup enable Airstreams, a portmanteau of "airdrop" and "stream", an airdrop model where the tokens are
distributed over time, as opposed to all at once. On the other hand, Merkle Instant enables instant airdrops where
tokens are unlocked and distributed immediately. See the Sablier docs for more guidance: https://docs.sablier.com
_The contracts are deployed using CREATE2._
## Functions
### defaultFee
Retrieves the default fee charged for claiming an airdrop.
_The fee is denominated in the native token of the chain, e.g., ETH for Ethereum Mainnet._
```solidity
function defaultFee() external view returns (uint256);
```
### getCustomFee
Retrieves the custom fee struct for the provided campaign creator.
_The fee is denominated in the native token of the chain, e.g., ETH for Ethereum Mainnet._
```solidity
function getCustomFee(address campaignCreator) external view returns (MerkleFactory.CustomFee memory);
```
**Parameters**
| Name | Type | Description |
| ----------------- | --------- | ------------------------------------ |
| `campaignCreator` | `address` | The address of the campaign creator. |
### getFee
Retrieves the fee for the provided campaign creator, using the default fee if no custom fee is set.
_The fee is denominated in the native token of the chain, e.g., ETH for Ethereum Mainnet._
```solidity
function getFee(address campaignCreator) external view returns (uint256);
```
**Parameters**
| Name | Type | Description |
| ----------------- | --------- | ------------------------------------ |
| `campaignCreator` | `address` | The address of the campaign creator. |
### isPercentagesSum100
Verifies if the sum of percentages in `tranches` equals 100%, i.e., 1e18.
_This is a helper function for the frontend. It is not used anywhere in the contracts._
```solidity
function isPercentagesSum100(MerkleLT.TrancheWithPercentage[] calldata tranches) external pure returns (bool result);
```
**Parameters**
| Name | Type | Description |
| ---------- | ---------------------------------- | ------------------------------------------------------ |
| `tranches` | `MerkleLT.TrancheWithPercentage[]` | The tranches with their respective unlock percentages. |
**Returns**
| Name | Type | Description |
| -------- | ------ | ------------------------------------------------------------ |
| `result` | `bool` | True if the sum of percentages equals 100%, otherwise false. |
### collectFees
Collects the fees accrued in the `merkleBase` contract, and transfers them to the factory admin.
Emits a [CollectFees](/docs/reference/airdrops/contracts/interfaces/interface.ISablierMerkleFactory.md#collectfees)
event. Notes:
- If the admin is a contract, it must be able to receive native token payments, e.g., ETH for Ethereum Mainnet.
```solidity
function collectFees(ISablierMerkleBase merkleBase) external;
```
**Parameters**
| Name | Type | Description |
| ------------ | -------------------- | --------------------------------------------------------------------- |
| `merkleBase` | `ISablierMerkleBase` | The address of the Merkle contract where the fees are collected from. |
### createMerkleInstant
Creates a new MerkleInstant campaign for instant distribution of tokens.
Emits a
[CreateMerkleInstant](/docs/reference/airdrops/contracts/interfaces/interface.ISablierMerkleFactory.md#createmerkleinstant)
event. Notes:
- The MerkleInstant contract is created with CREATE2.
- The immutable fee will be set to the default value unless a custom fee is set.
```solidity
function createMerkleInstant(
MerkleBase.ConstructorParams memory baseParams,
uint256 aggregateAmount,
uint256 recipientCount
)
external
returns (ISablierMerkleInstant merkleInstant);
```
**Parameters**
| Name | Type | Description |
| ----------------- | ------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| `baseParams` | `MerkleBase.ConstructorParams` | Struct encapsulating the [SablierMerkleBase](docs/reference/airdrops/contracts/abstracts/abstract.SablierMerkleBase.md) parameters, which are documented in {DataTypes}. |
| `aggregateAmount` | `uint256` | The total amount of ERC-20 tokens to be distributed to all recipients. |
| `recipientCount` | `uint256` | The total number of recipients who are eligible to claim. |
**Returns**
| Name | Type | Description |
| --------------- | ----------------------- | -------------------------------------------------------- |
| `merkleInstant` | `ISablierMerkleInstant` | The address of the newly created MerkleInstant contract. |
### createMerkleLL
Creates a new Merkle Lockup campaign with a Lockup Linear distribution.
Emits a
[CreateMerkleLL](/docs/reference/airdrops/contracts/interfaces/interface.ISablierMerkleFactory.md#createmerklell) event.
Notes:
- The MerkleLL contract is created with CREATE2.
- The immutable fee will be set to the default value unless a custom fee is set.
```solidity
function createMerkleLL(
MerkleBase.ConstructorParams memory baseParams,
ISablierLockup lockup,
bool cancelable,
bool transferable,
MerkleLL.Schedule memory schedule,
uint256 aggregateAmount,
uint256 recipientCount
)
external
returns (ISablierMerkleLL merkleLL);
```
**Parameters**
| Name | Type | Description |
| ----------------- | ------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| `baseParams` | `MerkleBase.ConstructorParams` | Struct encapsulating the [SablierMerkleBase](docs/reference/airdrops/contracts/abstracts/abstract.SablierMerkleBase.md) parameters, which are documented in {DataTypes}. |
| `lockup` | `ISablierLockup` | The address of the [SablierLockup](/reference/lockup/contracts/contract.SablierLockup.md) contract. |
| `cancelable` | `bool` | Indicates if the stream will be cancelable after claiming. |
| `transferable` | `bool` | Indicates if the stream will be transferable after claiming. |
| `schedule` | `MerkleLL.Schedule` | Struct encapsulating the unlocks schedule, which are documented in {DataTypes}. |
| `aggregateAmount` | `uint256` | The total amount of ERC-20 tokens to be distributed to all recipients. |
| `recipientCount` | `uint256` | The total number of recipients who are eligible to claim. |
**Returns**
| Name | Type | Description |
| ---------- | ------------------ | -------------------------------------------------------- |
| `merkleLL` | `ISablierMerkleLL` | The address of the newly created Merkle Lockup contract. |
### createMerkleLT
Creates a new Merkle Lockup campaign with a Lockup Tranched distribution.
Emits a
[CreateMerkleLT](/docs/reference/airdrops/contracts/interfaces/interface.ISablierMerkleFactory.md#createmerklelt) event.
Notes:
- The MerkleLT contract is created with CREATE2.
- The immutable fee will be set to the default value unless a custom fee is set.
```solidity
function createMerkleLT(
MerkleBase.ConstructorParams memory baseParams,
ISablierLockup lockup,
bool cancelable,
bool transferable,
uint40 streamStartTime,
MerkleLT.TrancheWithPercentage[] memory tranchesWithPercentages,
uint256 aggregateAmount,
uint256 recipientCount
)
external
returns (ISablierMerkleLT merkleLT);
```
**Parameters**
| Name | Type | Description |
| ------------------------- | ---------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| `baseParams` | `MerkleBase.ConstructorParams` | Struct encapsulating the [SablierMerkleBase](docs/reference/airdrops/contracts/abstracts/abstract.SablierMerkleBase.md) parameters, which are documented in {DataTypes}. |
| `lockup` | `ISablierLockup` | The address of the [SablierLockup](/reference/lockup/contracts/contract.SablierLockup.md) contract. |
| `cancelable` | `bool` | Indicates if the stream will be cancelable after claiming. |
| `transferable` | `bool` | Indicates if the stream will be transferable after claiming. |
| `streamStartTime` | `uint40` | The start time of the streams created through {SablierMerkleBase.claim}. |
| `tranchesWithPercentages` | `MerkleLT.TrancheWithPercentage[]` | The tranches with their respective unlock percentages. |
| `aggregateAmount` | `uint256` | The total amount of ERC-20 tokens to be distributed to all recipients. |
| `recipientCount` | `uint256` | The total number of recipients who are eligible to claim. |
**Returns**
| Name | Type | Description |
| ---------- | ------------------ | -------------------------------------------------------- |
| `merkleLT` | `ISablierMerkleLT` | The address of the newly created Merkle Lockup contract. |
### resetCustomFee
Resets the custom fee for the provided campaign creator to the default fee.
Emits a
[ResetCustomFee](/docs/reference/airdrops/contracts/interfaces/interface.ISablierMerkleFactory.md#resetcustomfee) event.
Notes:
- The default fee will only be applied to future campaigns. Requirements:
- `msg.sender` must be the admin.
```solidity
function resetCustomFee(address campaignCreator) external;
```
**Parameters**
| Name | Type | Description |
| ----------------- | --------- | --------------------------------------- |
| `campaignCreator` | `address` | The user for whom the fee is reset for. |
### setCustomFee
Sets a custom fee for the provided campaign creator.
Emits a [SetCustomFee](/docs/reference/airdrops/contracts/interfaces/interface.ISablierMerkleFactory.md#setcustomfee)
event. Notes:
- The new fee will only be applied to future campaigns. Requirements:
- `msg.sender` must be the admin.
```solidity
function setCustomFee(address campaignCreator, uint256 newFee) external;
```
**Parameters**
| Name | Type | Description |
| ----------------- | --------- | --------------------------------- |
| `campaignCreator` | `address` | The user for whom the fee is set. |
| `newFee` | `uint256` | The new fee to be set. |
### setDefaultFee
Sets the default fee to be applied when claiming airdrops.
Emits a [SetDefaultFee](/docs/reference/airdrops/contracts/interfaces/interface.ISablierMerkleFactory.md#setdefaultfee)
event. Notes:
- The new default fee will only be applied to the future campaigns and will not affect the ones already deployed.
Requirements:
- `msg.sender` must be the admin.
```solidity
function setDefaultFee(uint256 defaultFee) external;
```
**Parameters**
| Name | Type | Description |
| ------------ | --------- | ------------------------------ |
| `defaultFee` | `uint256` | The new default fee to be set. |
## Events
### CollectFees
Emitted when the accrued fees are collected.
```solidity
event CollectFees(address indexed admin, ISablierMerkleBase indexed merkleBase, uint256 feeAmount);
```
### CreateMerkleInstant
Emitted when a [SablierMerkleInstant](/docs/reference/airdrops/contracts/contract.SablierMerkleInstant.md) campaign is
created.
```solidity
event CreateMerkleInstant(
ISablierMerkleInstant indexed merkleInstant,
MerkleBase.ConstructorParams baseParams,
uint256 aggregateAmount,
uint256 recipientCount,
uint256 fee
);
```
### CreateMerkleLL
Emitted when a [SablierMerkleLL](/docs/reference/airdrops/contracts/contract.SablierMerkleLL.md) campaign is created.
```solidity
event CreateMerkleLL(
ISablierMerkleLL indexed merkleLL,
MerkleBase.ConstructorParams baseParams,
ISablierLockup lockup,
bool cancelable,
bool transferable,
MerkleLL.Schedule schedule,
uint256 aggregateAmount,
uint256 recipientCount,
uint256 fee
);
```
### CreateMerkleLT
Emitted when a [SablierMerkleLT](/docs/reference/airdrops/contracts/contract.SablierMerkleLT.md) campaign is created.
```solidity
event CreateMerkleLT(
ISablierMerkleLT indexed merkleLT,
MerkleBase.ConstructorParams baseParams,
ISablierLockup lockup,
bool cancelable,
bool transferable,
uint40 streamStartTime,
MerkleLT.TrancheWithPercentage[] tranchesWithPercentages,
uint256 totalDuration,
uint256 aggregateAmount,
uint256 recipientCount,
uint256 fee
);
```
### ResetCustomFee
Emitted when the admin resets the custom fee for the provided campaign creator to the default fee.
```solidity
event ResetCustomFee(address indexed admin, address indexed campaignCreator);
```
### SetCustomFee
Emitted when the admin sets a custom fee for the provided campaign creator.
```solidity
event SetCustomFee(address indexed admin, address indexed campaignCreator, uint256 customFee);
```
### SetDefaultFee
Emitted when the default fee is set by the admin.
```solidity
event SetDefaultFee(address indexed admin, uint256 defaultFee);
```
---
## ISablierMerkleInstant
[Git Source](https://github.com/sablier-labs/airdrops/blob/f9a358c0a5bccfec77601d4490ef9117e0488068/src/interfaces/ISablierMerkleInstant.sol)
**Inherits:** [ISablierMerkleBase](/docs/reference/airdrops/contracts/interfaces/interface.ISablierMerkleBase.md)
MerkleInstant enables airdrop distributions where the tokens are claimed directly to the users' wallets.
## Events
### Claim
Emitted when a recipient claims an instant airdrop.
```solidity
event Claim(uint256 index, address indexed recipient, uint128 amount);
```
---
## ISablierMerkleLL
[Git Source](https://github.com/sablier-labs/airdrops/blob/f9a358c0a5bccfec77601d4490ef9117e0488068/src/interfaces/ISablierMerkleLL.sol)
**Inherits:** [ISablierMerkleBase](/docs/reference/airdrops/contracts/interfaces/interface.ISablierMerkleBase.md)
Merkle Lockup enables airdrops with a vesting period powered by the Lockup Linear distribution model.
## Functions
### LOCKUP
The address of the [SablierLockup](/reference/lockup/contracts/contract.SablierLockup.md) contract.
```solidity
function LOCKUP() external view returns (ISablierLockup);
```
### STREAM_CANCELABLE
A flag indicating whether the streams can be canceled.
_This is an immutable state variable._
```solidity
function STREAM_CANCELABLE() external returns (bool);
```
### STREAM_TRANSFERABLE
A flag indicating whether the stream NFTs are transferable.
_This is an immutable state variable._
```solidity
function STREAM_TRANSFERABLE() external returns (bool);
```
### getSchedule
A tuple containing the start time, start unlock percentage, cliff duration, cliff unlock percentage, and end duration.
These values are used to calculate the vesting schedule in `Lockup.CreateWithTimestampsLL`.
_A start time value of zero will be considered as `block.timestamp`._
```solidity
function getSchedule() external view returns (MerkleLL.Schedule memory);
```
## Events
### Claim
Emitted when a recipient claims a stream.
```solidity
event Claim(uint256 index, address indexed recipient, uint128 amount, uint256 indexed streamId);
```
---
## ISablierMerkleLT
[Git Source](https://github.com/sablier-labs/airdrops/blob/f9a358c0a5bccfec77601d4490ef9117e0488068/src/interfaces/ISablierMerkleLT.sol)
**Inherits:** [ISablierMerkleBase](/docs/reference/airdrops/contracts/interfaces/interface.ISablierMerkleBase.md)
Merkle Lockup enables airdrops with a vesting period powered by the Lockup Tranched distribution model.
## Functions
### LOCKUP
The address of the [SablierLockup](/reference/lockup/contracts/contract.SablierLockup.md) contract.
```solidity
function LOCKUP() external view returns (ISablierLockup);
```
### STREAM_CANCELABLE
A flag indicating whether the streams can be canceled.
_This is an immutable state variable._
```solidity
function STREAM_CANCELABLE() external returns (bool);
```
### STREAM_START_TIME
The start time of the streams created through {SablierMerkleBase.claim} function.
_A start time value of zero will be treated as `block.timestamp`._
```solidity
function STREAM_START_TIME() external returns (uint40);
```
### STREAM_TRANSFERABLE
A flag indicating whether the stream NFTs are transferable.
_This is an immutable state variable._
```solidity
function STREAM_TRANSFERABLE() external returns (bool);
```
### TOTAL_PERCENTAGE
The total percentage of the tranches.
```solidity
function TOTAL_PERCENTAGE() external view returns (uint64);
```
### getTranchesWithPercentages
Retrieves the tranches with their respective unlock percentages and durations.
```solidity
function getTranchesWithPercentages() external view returns (MerkleLT.TrancheWithPercentage[] memory);
```
## Events
### Claim
Emitted when a recipient claims a stream.
```solidity
event Claim(uint256 index, address indexed recipient, uint128 amount, uint256 indexed streamId);
```
---
## Errors (2)
[Git Source](https://github.com/sablier-labs/airdrops/blob/f9a358c0a5bccfec77601d4490ef9117e0488068/src/libraries/Errors.sol)
Library containing all custom errors the protocol may revert with.
## Errors
### CallerNotAdmin
```solidity
error CallerNotAdmin(address admin, address caller);
```
### SablierMerkleBase_CallerNotFactory
Thrown when caller is not the factory contract.
```solidity
error SablierMerkleBase_CallerNotFactory(address factory, address caller);
```
### SablierMerkleBase_CampaignExpired
Thrown when trying to claim after the campaign has expired.
```solidity
error SablierMerkleBase_CampaignExpired(uint256 blockTimestamp, uint40 expiration);
```
### SablierMerkleBase_ClawbackNotAllowed
Thrown when trying to clawback when the current timestamp is over the grace period and the campaign has not expired.
```solidity
error SablierMerkleBase_ClawbackNotAllowed(uint256 blockTimestamp, uint40 expiration, uint40 firstClaimTime);
```
### SablierMerkleBase_FeeTransferFail
Thrown if the fees withdrawal failed.
```solidity
error SablierMerkleBase_FeeTransferFail(address factoryAdmin, uint256 feeAmount);
```
### SablierMerkleBase_InsufficientFeePayment
Thrown when trying to claim with an insufficient fee payment.
```solidity
error SablierMerkleBase_InsufficientFeePayment(uint256 feePaid, uint256 fee);
```
### SablierMerkleBase_InvalidProof
Thrown when trying to claim with an invalid Merkle proof.
```solidity
error SablierMerkleBase_InvalidProof();
```
### SablierMerkleBase_StreamClaimed
Thrown when trying to claim the same stream more than once.
```solidity
error SablierMerkleBase_StreamClaimed(uint256 index);
```
### SablierMerkleLT_TotalPercentageNotOneHundred
Thrown when trying to claim from an LT campaign with tranches' unlock percentages not adding up to 100%.
```solidity
error SablierMerkleLT_TotalPercentageNotOneHundred(uint64 totalPercentage);
```
---
## MerkleBase
[Git Source](https://github.com/sablier-labs/airdrops/blob/f9a358c0a5bccfec77601d4490ef9117e0488068/src/types/DataTypes.sol)
## Structs
### ConstructorParams
Struct encapsulating the base constructor parameters of a Merkle campaign.
```solidity
struct ConstructorParams {
IERC20 token;
uint40 expiration;
address initialAdmin;
string ipfsCID;
bytes32 merkleRoot;
string campaignName;
string shape;
}
```
**Properties**
| Name | Type | Description |
| -------------- | --------- | ------------------------------------------------------------------------------------------------------------------------ |
| `token` | `IERC20` | The contract address of the ERC-20 token to be distributed. |
| `expiration` | `uint40` | The expiration of the campaign, as a Unix timestamp. A value of zero means the campaign does not expire. |
| `initialAdmin` | `address` | The initial admin of the campaign. |
| `ipfsCID` | `string` | The content identifier for indexing the contract on IPFS. |
| `merkleRoot` | `bytes32` | The Merkle root of the claim data. |
| `campaignName` | `string` | The name of the campaign. It is truncated if exceeding 32 bytes |
| `shape` | `string` | The shape of Lockup stream is used for differentiating between streams in the UI. It is truncated if exceeding 32 bytes. |
---
## MerkleFactory
[Git Source](https://github.com/sablier-labs/airdrops/blob/f9a358c0a5bccfec77601d4490ef9117e0488068/src/types/DataTypes.sol)
## Structs
### CustomFee
Struct encapsulating the custom fee details for a given campaign creator.
```solidity
struct CustomFee {
bool enabled;
uint256 fee;
}
```
**Properties**
| Name | Type | Description |
| --------- | --------- | ----------------------------------------------------------------------------------------------------------------- |
| `enabled` | `bool` | Whether the fee is enabled. If false, the default fee will be applied for campaigns created by the given creator. |
| `fee` | `uint256` | The fee amount. |
---
## MerkleLL
[Git Source](https://github.com/sablier-labs/airdrops/blob/f9a358c0a5bccfec77601d4490ef9117e0488068/src/types/DataTypes.sol)
## Structs
### Schedule
Struct encapsulating the start time, cliff duration and the end duration used to construct the time variables in
`Lockup.CreateWithTimestampsLL`.
_A start time value of zero will be considered as `block.timestamp`._
```solidity
struct Schedule {
uint40 startTime;
UD2x18 startPercentage;
uint40 cliffDuration;
UD2x18 cliffPercentage;
uint40 totalDuration;
}
```
**Properties**
| Name | Type | Description |
| ----------------- | -------- | ------------------------------------------------ |
| `startTime` | `uint40` | The start time of the stream. |
| `startPercentage` | `UD2x18` | The percentage to be unlocked at the start time. |
| `cliffDuration` | `uint40` | The duration of the cliff. |
| `cliffPercentage` | `UD2x18` | The percentage to be unlocked at the cliff time. |
| `totalDuration` | `uint40` | The total duration of the stream. |
---
## MerkleLT
[Git Source](https://github.com/sablier-labs/airdrops/blob/f9a358c0a5bccfec77601d4490ef9117e0488068/src/types/DataTypes.sol)
## Structs
### TrancheWithPercentage
Struct encapsulating the unlock percentage and duration of a tranche.
_Since users may have different amounts allocated, this struct makes it possible to calculate the amounts at claim time.
An 18-decimal format is used to represent percentages: 100% = 1e18. For more information, see the PRBMath documentation
on UD2x18: https://github.com/PaulRBerg/prb-math_
```solidity
struct TrancheWithPercentage {
UD2x18 unlockPercentage;
uint40 duration;
}
```
**Properties**
| Name | Type | Description |
| ------------------ | -------- | ------------------------------------------------------------------------- |
| `unlockPercentage` | `UD2x18` | The percentage designated to be unlocked in this tranche. |
| `duration` | `uint40` | The time difference in seconds between this tranche and the previous one. |
---
## Diagrams (2)
## Token Flows
The following three functions lead to tokens flow in and out of a stream:
### Deposit
Anyone can deposit into a stream.
```mermaid
sequenceDiagram
actor Anyone
Anyone ->> Flow: deposit()
Anyone -->> Flow: Transfer tokens
```
### Refund
Only sender can refund from the stream that he created.
```mermaid
sequenceDiagram
actor Sender
Sender ->> Flow: refund()
Flow -->> Sender: Transfer unstreamed tokens
```
### Withdraw
Anyone can call withdraw on a stream as long as `to` address matches the recipient. If recipient/operator is calling
withdraw on a stream, they can choose to withdraw to any address.
```mermaid
sequenceDiagram
actor Anyone
Anyone ->> Flow: withdraw()
activate Flow
Create actor Recipient
Flow -->> Recipient: Transfer streamed tokens
deactivate Flow
Recipient ->> Flow: withdraw()
activate Flow
Create actor toAddress
Flow -->> toAddress: Transfer streamed tokens
deactivate Flow
```
## Abbreviations
| Abbreviation | Full name | Description |
| ------------ | --------------- | ----------------------------------------------------------- |
| bal | Stream balance | Balance of the stream |
| cd | Covered debt | Portion of the total debt covered by the stream balance |
| elt | Elapsed time | Time elapsed in seconds since the last snapshot |
| od | Ongoing debt | Debt accumulated since the last snapshot |
| now | Current time | Same as `block.timestamp` |
| rps | Rate per second | Rate at which tokens are streamed per second |
| sd | Snapshot debt | Debt accumulated until the last snapshot |
| st | Snapshot time | Time of the last snapshot |
| td | Total debt | Sum of sd and od, also same as sum of cd and ud |
| ud | Uncovered debt | Portion of the total debt not covered by the stream balance |
## Storage Layout
Flow is a singleton contract that stores all streams created by that contract's users. The following diagrams provide
insight into the storage layout of each stream. To see the full list of storage variables, check out
[this reference](/reference/flow/contracts/types/library.Flow#structs).
```mermaid
flowchart TD;
F["Flow contract"];
S0[(Stream 1)];
b0([bal])
r0([rps])
sd0([sd])
st0([st])
F --> S0;
S0 --> b0;
S0 --> r0;
S0 --> sd0;
S0 --> st0;
S1[(Stream 2)];
b1([bal])
r1([rps])
sd1([sd])
st1([st])
F --> S1;
S1 --> b1;
S1 --> r1;
S1 --> sd1;
S1 --> st1;
```
## Debts
### Covered debt
```mermaid
flowchart TD
di0{ }:::blue0
di1{ }:::blue0
cd([cd])
res_0([0 ])
res_bal([bal])
res_sum([td])
cd --> di0
di0 -- "bal = 0" --> res_0
di0 -- "bal > 0" --> di1
di1 -- "ud > 0" --> res_bal
di1 -- "ud = 0" --> res_sum
```
### Ongoing Debt
```mermaid
flowchart TD
rca([od])
di0{ }
di1{ }
res_00([0 ])
res_01([0 ])
res_rca(["rps ⋅ elt"])
rca --> di0
di0 -- "rps > 0" --> di1
di0 -- "rps == 0" --> res_00
di1 -- "now <= st" --> res_01
di1 -- "now > st" --> res_rca
```
### Uncovered Debt
```mermaid
flowchart TD
di0{ }:::red1
sd([ud])
res_sd(["td - bal"])
res_zero([0])
sd --> di0
di0 -- "bal < td" --> res_sd
di0 -- "bal >= td" --> res_zero
```
### Total Debt
```mermaid
flowchart TD
rca([td])
di0{ }
res_00([sd ])
res_01(["sd + od"])
rca --> di0
di0 -- "rps == 0" --> res_00
di0 -- "rps > 0" --> res_01
```
## Refundable Amount
```mermaid
flowchart TD
ra([Refundable Amount])
res_ra([bal - cd])
ra --> res_ra
```
---
## Access Control (2)
With the exception of the [admin functions](/concepts/governance#flow), all functions in Flow can only be triggered by
users. The Protocol Admin has no control over any stream or any part of the protocol.
This article will provide a comprehensive overview of the actions that can be performed on streams once they are
created, as well as the corresponding user permissions for each action.
:::note
Every stream has a sender and a recipient. Recipients can approve third parties to take actions on their behalf. An
'public' caller is any address outside of sender and recipient.
:::
## Overview
The table below offers a quick overview of the access control for each action that can be performed on a stream.
| Action | Sender | Recipient / Approved third party | Public |
| ----------------------- | :----: | :------------------------------: | :----: |
| AdjustRatePerSecond | ✅ | ❌ | ❌ |
| Deposit | ✅ | ✅ | ✅ |
| Pause | ✅ | ❌ | ❌ |
| Refund | ✅ | ❌ | ❌ |
| Restart | ✅ | ❌ | ❌ |
| Transfer NFT | ❌ | ✅ | ❌ |
| Withdraw to any address | ❌ | ✅ | ❌ |
| Withdraw to recipient | ✅ | ✅ | ✅ |
| Void | ✅ | ✅ | ❌ |
## Adjust rate per second
Only the sender can adjust the rate per second of a stream.
```mermaid
sequenceDiagram
actor Sender
Sender ->> Flow: adjustRatePerSecond()
Flow -->> Flow: update rps
```
## Create stream
```mermaid
sequenceDiagram
actor Sender
Sender ->> Flow: create()
Create actor Recipient
Flow -->> Recipient: mint NFT
```
## Deposit into a stream
Anyone can deposit into a stream.
```mermaid
sequenceDiagram
actor Anyone
Anyone ->> ERC20: approve()
Anyone ->> Flow: deposit()
Flow ->> ERC20: transferFrom()
Anyone -->> Flow: Transfer tokens
```
## Pause
Only the sender can pause a stream.
```mermaid
sequenceDiagram
actor Sender
Sender ->> Flow: pause()
Flow -->> Flow: set rps = 0
```
## Refund from a stream
Only the sender can refund from a stream.
```mermaid
sequenceDiagram
actor Sender
Sender ->> Flow: refund()
Flow ->> ERC20: transfer()
Flow -->> Sender: Transfer unstreamed tokens
```
## Restarting a stream
Only the sender can restart a stream.
```mermaid
sequenceDiagram
actor Sender
Sender ->> Flow: restart()
Flow -->> Flow: set rps > 0
```
## Voiding a stream
Both Sender and Recipient can void a stream.
```mermaid
sequenceDiagram
actor Sender
Sender ->> Flow: void()
activate Flow
Flow -->> Flow: set rps = 0,
Flow -->> Flow: set st = now & sd = cd
deactivate Flow
actor Recipient
Recipient ->> Flow: void()
activate Flow
Flow -->> Flow: set rps = 0
Flow -->> Flow: set st = now & sd = cd
deactivate Flow
```
## Withdraw from a stream
Anyone can call withdraw on a stream as long as `to` address matches the recipient. If recipient/operator is calling
withdraw on a stream, they can choose to withdraw to any address.
```mermaid
sequenceDiagram
actor Anyone
Anyone ->> Flow: withdraw()
activate Flow
Flow ->> ERC20: transfer()
Create actor Recipient
Flow -->> Recipient: Transfer tokens
deactivate Flow
Recipient ->> Flow: withdraw()
activate Flow
Flow ->> ERC20: transfer()
Create actor Any Address
Flow -->> Any Address : Transfer tokens
deactivate Flow
```
---
## Adminable
[Git Source](https://github.com/sablier-labs/flow/blob/a0fa33d2843af0817e34970cdc05822ead31daaa/src/abstracts/Adminable.sol)
**Inherits:** [IAdminable](/docs/reference/flow/contracts/interfaces/interface.IAdminable.md)
See the documentation in [IAdminable](/docs/reference/flow/contracts/interfaces/interface.IAdminable.md).
## State Variables
### admin
The address of the admin account or contract.
```solidity
address public override admin;
```
## Functions
### onlyAdmin
Reverts if called by any account other than the admin.
```solidity
modifier onlyAdmin();
```
### transferAdmin
Transfers the contract admin to a new address.
Notes:
- Does not revert if the admin is the same.
- This function can potentially leave the contract without an admin, thereby removing any functionality that is only
available to the admin. Requirements:
- `msg.sender` must be the contract admin.
```solidity
function transferAdmin(address newAdmin) public virtual override onlyAdmin;
```
**Parameters**
| Name | Type | Description |
| ---------- | --------- | ----------------------------- |
| `newAdmin` | `address` | The address of the new admin. |
---
## Batch (11)
[Git Source](https://github.com/sablier-labs/flow/blob/a0fa33d2843af0817e34970cdc05822ead31daaa/src/abstracts/Batch.sol)
**Inherits:** [IBatch](/docs/reference/flow/contracts/interfaces/interface.IBatch.md)
See the documentation in [IBatch](/docs/reference/flow/contracts/interfaces/interface.IBatch.md).
## Functions
### batch
Allows batched calls to self, i.e., `this` contract.
_Since `msg.value` can be reused across calls, be VERY CAREFUL when using it. Refer to
https://paradigm.xyz/2021/08/two-rights-might-make-a-wrong for more information._
```solidity
function batch(bytes[] calldata calls) external payable override returns (bytes[] memory results);
```
**Parameters**
| Name | Type | Description |
| ------- | --------- | --------------------------------- |
| `calls` | `bytes[]` | An array of inputs for each call. |
**Returns**
| Name | Type | Description |
| --------- | --------- | -------------------------------------------------------------------------------- |
| `results` | `bytes[]` | An array of results from each call. Empty when the calls do not return anything. |
---
## NoDelegateCall
[Git Source](https://github.com/sablier-labs/flow/blob/a0fa33d2843af0817e34970cdc05822ead31daaa/src/abstracts/NoDelegateCall.sol)
This contract implements logic to prevent delegate calls.
## State Variables
### ORIGINAL
_The address of the original contract that was deployed._
```solidity
address private immutable ORIGINAL;
```
## Functions
### constructor
_Sets the original contract address._
```solidity
constructor();
```
### noDelegateCall
Prevents delegate calls.
```solidity
modifier noDelegateCall();
```
### \_preventDelegateCall
This function checks whether the current call is a delegate call, and reverts if it is.
- A private function is used instead of inlining this logic in a modifier because Solidity copies modifiers into every
function that uses them. The `ORIGINAL` address would get copied in every place the modifier is used, which would
increase the contract size. By using a function instead, we can avoid this duplication of code and reduce the overall
size of the contract.
```solidity
function _preventDelegateCall() private view;
```
---
## SablierFlowBase
[Git Source](https://github.com/sablier-labs/flow/blob/a0fa33d2843af0817e34970cdc05822ead31daaa/src/abstracts/SablierFlowBase.sol)
**Inherits:** [Adminable](/docs/reference/flow/contracts/abstracts/abstract.Adminable.md),
[ISablierFlowBase](/docs/reference/flow/contracts/interfaces/interface.ISablierFlowBase.md), ERC721
See the documentation in [ISablierFlowBase](/docs/reference/flow/contracts/interfaces/interface.ISablierFlowBase.md).
## State Variables
### MAX_FEE
Retrieves the maximum fee that can be charged by the broker and the protocol, denoted as a fixed-point percentage where
1e18 is 100%.
_This value is hard coded as a constant._
```solidity
UD60x18 public constant override MAX_FEE = UD60x18.wrap(0.1e18);
```
### aggregateBalance
Retrieves the sum of balances of all streams.
```solidity
mapping(IERC20 token => uint256 amount) public override aggregateBalance;
```
### nextStreamId
Counter for stream ids.
```solidity
uint256 public override nextStreamId;
```
### nftDescriptor
Contract that generates the non-fungible token URI.
```solidity
IFlowNFTDescriptor public override nftDescriptor;
```
### protocolFee
Protocol fee for the provided ERC-20 token, denoted as a fixed-point percentage where 1e18 is 100%.
```solidity
mapping(IERC20 token => UD60x18 fee) public override protocolFee;
```
### protocolRevenue
Protocol revenue accrued for the provided ERC-20 token, denoted in token's decimals.
```solidity
mapping(IERC20 token => uint128 revenue) public override protocolRevenue;
```
### \_streams
_Sablier Flow streams mapped by unsigned integers._
```solidity
mapping(uint256 id => Flow.Stream stream) internal _streams;
```
## Functions
### constructor
_Emits {TransferAdmin} event._
```solidity
constructor(address initialAdmin, IFlowNFTDescriptor initialNFTDescriptor);
```
**Parameters**
| Name | Type | Description |
| ---------------------- | -------------------- | ------------------------------------------ |
| `initialAdmin` | `address` | The address of the initial contract admin. |
| `initialNFTDescriptor` | `IFlowNFTDescriptor` | The address of the initial NFT descriptor. |
### notNull
_Checks that `streamId` does not reference a null stream._
```solidity
modifier notNull(uint256 streamId);
```
### notPaused
_Checks that `streamId` does not reference a paused stream._
```solidity
modifier notPaused(uint256 streamId);
```
### notVoided
_Checks that `streamId` does not reference a voided stream._
```solidity
modifier notVoided(uint256 streamId);
```
### onlySender
_Checks the `msg.sender` is the stream's sender._
```solidity
modifier onlySender(uint256 streamId);
```
### updateMetadata
_Emits an ERC-4906 event to trigger an update of the NFT metadata._
```solidity
modifier updateMetadata(uint256 streamId);
```
### getBalance
Retrieves the balance of the stream, i.e. the total deposited amounts subtracted by the total withdrawn amounts, denoted
in token's decimals.
_Reverts if `streamId` references a null stream._
```solidity
function getBalance(uint256 streamId) external view override notNull(streamId) returns (uint128 balance);
```
**Parameters**
| Name | Type | Description |
| ---------- | --------- | ---------------------------- |
| `streamId` | `uint256` | The stream ID for the query. |
### getRatePerSecond
Retrieves the rate per second of the stream, denoted as a fixed-point number where 1e18 is 1 token per second.
_Reverts if `streamId` references a null stream._
```solidity
function getRatePerSecond(uint256 streamId) external view override notNull(streamId) returns (UD21x18 ratePerSecond);
```
**Parameters**
| Name | Type | Description |
| ---------- | --------- | ------------------------------------------- |
| `streamId` | `uint256` | The ID of the stream to make the query for. |
### getRecipient
Retrieves the stream's recipient.
_Reverts if `streamId` references a null stream._
```solidity
function getRecipient(uint256 streamId) external view override notNull(streamId) returns (address recipient);
```
**Parameters**
| Name | Type | Description |
| ---------- | --------- | ---------------------------- |
| `streamId` | `uint256` | The stream ID for the query. |
### getSender
Retrieves the stream's sender.
_Reverts if `streamId` references a null stream._
```solidity
function getSender(uint256 streamId) external view override notNull(streamId) returns (address sender);
```
**Parameters**
| Name | Type | Description |
| ---------- | --------- | ---------------------------- |
| `streamId` | `uint256` | The stream ID for the query. |
### getSnapshotDebtScaled
Retrieves the snapshot debt of the stream, denoted as a fixed-point number where 1e18 is 1 token.
_Reverts if `streamId` references a null stream._
```solidity
function getSnapshotDebtScaled(uint256 streamId)
external
view
override
notNull(streamId)
returns (uint256 snapshotDebtScaled);
```
**Parameters**
| Name | Type | Description |
| ---------- | --------- | ---------------------------- |
| `streamId` | `uint256` | The stream ID for the query. |
### getSnapshotTime
Retrieves the snapshot time of the stream, which is a Unix timestamp.
_Reverts if `streamId` references a null stream._
```solidity
function getSnapshotTime(uint256 streamId) external view override notNull(streamId) returns (uint40 snapshotTime);
```
**Parameters**
| Name | Type | Description |
| ---------- | --------- | ------------------------------------------- |
| `streamId` | `uint256` | The ID of the stream to make the query for. |
### getStream
Retrieves the stream entity.
_Reverts if `streamId` references a null stream._
```solidity
function getStream(uint256 streamId) external view override notNull(streamId) returns (Flow.Stream memory stream);
```
**Parameters**
| Name | Type | Description |
| ---------- | --------- | ---------------------------- |
| `streamId` | `uint256` | The stream ID for the query. |
### getToken
Retrieves the token of the stream.
_Reverts if `streamId` references a null stream._
```solidity
function getToken(uint256 streamId) external view override notNull(streamId) returns (IERC20 token);
```
**Parameters**
| Name | Type | Description |
| ---------- | --------- | ------------------------------------------- |
| `streamId` | `uint256` | The ID of the stream to make the query for. |
### getTokenDecimals
Retrieves the token decimals of the stream.
_Reverts if `streamId` references a null stream._
```solidity
function getTokenDecimals(uint256 streamId) external view override notNull(streamId) returns (uint8 tokenDecimals);
```
**Parameters**
| Name | Type | Description |
| ---------- | --------- | ------------------------------------------- |
| `streamId` | `uint256` | The ID of the stream to make the query for. |
### isPaused
Returns whether a stream is paused.
_Reverts if `streamId` references a null stream._
```solidity
function isPaused(uint256 streamId) external view override notNull(streamId) returns (bool result);
```
**Parameters**
| Name | Type | Description |
| ---------- | --------- | ---------------------------- |
| `streamId` | `uint256` | The stream ID for the query. |
### isStream
Retrieves a flag indicating whether the stream exists.
_Does not revert if `streamId` references a null stream._
```solidity
function isStream(uint256 streamId) external view override returns (bool result);
```
**Parameters**
| Name | Type | Description |
| ---------- | --------- | ---------------------------- |
| `streamId` | `uint256` | The stream ID for the query. |
### isTransferable
Retrieves a flag indicating whether the stream NFT is transferable.
_Reverts if `streamId` references a null stream._
```solidity
function isTransferable(uint256 streamId) external view override notNull(streamId) returns (bool result);
```
**Parameters**
| Name | Type | Description |
| ---------- | --------- | ---------------------------- |
| `streamId` | `uint256` | The stream ID for the query. |
### isVoided
Retrieves a flag indicating whether the stream is voided.
_Reverts if `streamId` references a null stream._
```solidity
function isVoided(uint256 streamId) external view override notNull(streamId) returns (bool result);
```
**Parameters**
| Name | Type | Description |
| ---------- | --------- | ---------------------------- |
| `streamId` | `uint256` | The stream ID for the query. |
### tokenURI
_See {IERC721Metadata-tokenURI}._
```solidity
function tokenURI(uint256 streamId) public view override(IERC721Metadata, ERC721) returns (string memory uri);
```
### collectFees
Collects the accrued fees by transferring them to the contract admin.
Emits a {CollectFees} event. Notes:
- If the admin is a contract, it must be able to receive native token payments, e.g., ETH for Ethereum Mainnet.
```solidity
function collectFees() external override;
```
### collectProtocolRevenue
Collect the protocol revenue accrued for the provided ERC-20 token.
Emits a {CollectProtocolRevenue} event. Requirements:
- `msg.sender` must be the contract admin.
- The accrued protocol revenue must be greater than zero.
```solidity
function collectProtocolRevenue(IERC20 token, address to) external override onlyAdmin;
```
**Parameters**
| Name | Type | Description |
| ------- | --------- | ----------------------------------------------------------------------------- |
| `token` | `IERC20` | The contract address of the ERC-20 token for which to claim protocol revenue. |
| `to` | `address` | The address to send the protocol revenue. |
### recover
Recover the surplus amount of tokens.
Emits a {Recover} event. Notes:
- The surplus amount is defined as the difference between the total balance of the contract for the provided ERC-20
token and the sum of balances of all streams created using the same ERC-20 token. Requirements:
- `msg.sender` must be the contract admin.
- The surplus amount must be greater than zero.
```solidity
function recover(IERC20 token, address to) external override onlyAdmin;
```
**Parameters**
| Name | Type | Description |
| ------- | --------- | -------------------------------------------------------- |
| `token` | `IERC20` | The contract address of the ERC-20 token to recover for. |
| `to` | `address` | The address to send the surplus amount. |
### setNFTDescriptor
Sets a new NFT descriptor contract, which produces the URI describing the Sablier stream NFTs.
Emits a {SetNFTDescriptor} and {BatchMetadataUpdate} event. Notes:
- Does not revert if the NFT descriptor is the same. Requirements:
- `msg.sender` must be the contract admin.
```solidity
function setNFTDescriptor(IFlowNFTDescriptor newNFTDescriptor) external override onlyAdmin;
```
**Parameters**
| Name | Type | Description |
| ------------------ | -------------------- | ----------------------------------------------- |
| `newNFTDescriptor` | `IFlowNFTDescriptor` | The address of the new NFT descriptor contract. |
### setProtocolFee
Sets a new protocol fee that will be charged on all the withdrawals from streams created with the provided ERC-20 token.
Emits a {SetProtocolFee} and {BatchMetadataUpdate} event. Notes:
- Does not revert if the fee is the same.
- It can be zero. Requirements:
- `msg.sender` must be the contract admin.
- `newProtocolFee` must not be greater than `MAX_FEE`.
```solidity
function setProtocolFee(IERC20 token, UD60x18 newProtocolFee) external override onlyAdmin;
```
**Parameters**
| Name | Type | Description |
| ---------------- | --------- | ----------------------------------------------------------------------------- |
| `token` | `IERC20` | The contract address of the ERC-20 token to update the fee for. |
| `newProtocolFee` | `UD60x18` | The new protocol fee, denoted as a fixed-point percentage where 1e18 is 100%. |
### supportsInterface
_See {IERC165-supportsInterface}._
```solidity
function supportsInterface(bytes4 interfaceId) public view override(IERC165, ERC721) returns (bool);
```
### \_isCallerStreamRecipientOrApproved
Checks whether `msg.sender` is the stream's recipient or an approved third party.
```solidity
function _isCallerStreamRecipientOrApproved(uint256 streamId) internal view returns (bool);
```
**Parameters**
| Name | Type | Description |
| ---------- | --------- | ---------------------------- |
| `streamId` | `uint256` | The stream ID for the query. |
### \_update
Overrides the {ERC-721.\_update} function to check that the stream is transferable.
_The transferable flag is ignored if the current owner is 0, as the update in this case is a mint and is allowed.
Transfers to the zero address are not allowed, preventing accidental burns._
```solidity
function _update(
address to,
uint256 streamId,
address auth
)
internal
override
updateMetadata(streamId)
returns (address);
```
**Parameters**
| Name | Type | Description |
| ---------- | --------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `to` | `address` | The address of the new recipient of the stream. |
| `streamId` | `uint256` | ID of the stream to update. |
| `auth` | `address` | Optional parameter. If the value is not zero, the overridden implementation will check that `auth` is either the recipient of the stream, or an approved third party. |
**Returns**
| Name | Type | Description |
| -------- | --------- | ----------------------------------------------------------- |
| `` | `address` | The original recipient of the `streamId` before the update. |
---
## FlowNFTDescriptor
[Git Source](https://github.com/sablier-labs/flow/blob/a0fa33d2843af0817e34970cdc05822ead31daaa/src/FlowNFTDescriptor.sol)
**Inherits:** [IFlowNFTDescriptor](/docs/reference/flow/contracts/interfaces/interface.IFlowNFTDescriptor.md)
See the documentation in
[IFlowNFTDescriptor](/docs/reference/flow/contracts/interfaces/interface.IFlowNFTDescriptor.md).
## Functions
### tokenURI
Produces the URI describing a particular stream NFT.
_Currently it returns the Sablier logo as an SVG. In the future, it will return an NFT SVG._
```solidity
function tokenURI(IERC721Metadata, uint256) external pure override returns (string memory uri);
```
**Parameters**
| Name | Type | Description |
| -------- | ----------------- | ----------- |
| `` | `IERC721Metadata` | |
| `` | `uint256` | |
**Returns**
| Name | Type | Description |
| ----- | -------- | ----------------------------------------- |
| `uri` | `string` | The URI of the ERC721-compliant metadata. |
---
## SablierFlow
[Git Source](https://github.com/sablier-labs/flow/blob/a0fa33d2843af0817e34970cdc05822ead31daaa/src/SablierFlow.sol)
**Inherits:** [Batch](/docs/reference/flow/contracts/abstracts/abstract.Batch.md),
[NoDelegateCall](/docs/reference/flow/contracts/abstracts/abstract.NoDelegateCall.md),
[ISablierFlow](/docs/reference/flow/contracts/interfaces/interface.ISablierFlow.md),
[SablierFlowBase](/docs/reference/flow/contracts/abstracts/abstract.SablierFlowBase.md)
See the documentation in [ISablierFlow](/docs/reference/flow/contracts/interfaces/interface.ISablierFlow.md).
## Functions
### constructor
_Emits {TransferAdmin} event._
```solidity
constructor(
address initialAdmin,
IFlowNFTDescriptor initialNFTDescriptor
)
ERC721("Sablier Flow NFT", "SAB-FLOW")
SablierFlowBase(initialAdmin, initialNFTDescriptor);
```
**Parameters**
| Name | Type | Description |
| ---------------------- | -------------------- | ------------------------------------------ |
| `initialAdmin` | `address` | The address of the initial contract admin. |
| `initialNFTDescriptor` | `IFlowNFTDescriptor` | The address of the initial NFT descriptor. |
### coveredDebtOf
Returns the amount of debt covered by the stream balance, denoted in token's decimals.
_Reverts if `streamId` references a null stream._
```solidity
function coveredDebtOf(uint256 streamId) external view override notNull(streamId) returns (uint128 coveredDebt);
```
**Parameters**
| Name | Type | Description |
| ---------- | --------- | ---------------------------- |
| `streamId` | `uint256` | The stream ID for the query. |
### depletionTimeOf
Returns the time at which the total debt exceeds stream balance. If the total debt is less than or equal to stream
balance, it returns 0.
Reverts on the following conditions:
- If `streamId` references a paused or a null stream.
- If stream balance is zero.
```solidity
function depletionTimeOf(uint256 streamId)
external
view
override
notNull(streamId)
notPaused(streamId)
returns (uint256 depletionTime);
```
**Parameters**
| Name | Type | Description |
| ---------- | --------- | ---------------------------- |
| `streamId` | `uint256` | The stream ID for the query. |
### ongoingDebtScaledOf
Returns the amount of debt accrued since the snapshot time until now, denoted as a fixed-point number where 1e18 is 1
token.
_Reverts if `streamId` references a null stream._
```solidity
function ongoingDebtScaledOf(uint256 streamId)
external
view
override
notNull(streamId)
returns (uint256 ongoingDebtScaled);
```
**Parameters**
| Name | Type | Description |
| ---------- | --------- | ---------------------------- |
| `streamId` | `uint256` | The stream ID for the query. |
### refundableAmountOf
Returns the amount that the sender can be refunded from the stream, denoted in token's decimals.
_Reverts if `streamId` references a null stream._
```solidity
function refundableAmountOf(uint256 streamId)
external
view
override
notNull(streamId)
returns (uint128 refundableAmount);
```
**Parameters**
| Name | Type | Description |
| ---------- | --------- | ---------------------------- |
| `streamId` | `uint256` | The stream ID for the query. |
### statusOf
Returns the stream's status.
_Reverts if `streamId` references a null stream. Integrators should exercise caution when depending on the return value
of this function as streams can be paused and resumed at any moment._
```solidity
function statusOf(uint256 streamId) external view override notNull(streamId) returns (Flow.Status status);
```
**Parameters**
| Name | Type | Description |
| ---------- | --------- | ---------------------------- |
| `streamId` | `uint256` | The stream ID for the query. |
### totalDebtOf
Returns the total amount owed by the sender to the recipient, denoted in token's decimals.
_Reverts if `streamId` references a null stream._
```solidity
function totalDebtOf(uint256 streamId) external view override notNull(streamId) returns (uint256 totalDebt);
```
**Parameters**
| Name | Type | Description |
| ---------- | --------- | ---------------------------- |
| `streamId` | `uint256` | The stream ID for the query. |
### uncoveredDebtOf
Returns the amount of debt not covered by the stream balance, denoted in token's decimals.
_Reverts if `streamId` references a null stream._
```solidity
function uncoveredDebtOf(uint256 streamId) external view override notNull(streamId) returns (uint256 uncoveredDebt);
```
**Parameters**
| Name | Type | Description |
| ---------- | --------- | ---------------------------- |
| `streamId` | `uint256` | The stream ID for the query. |
### withdrawableAmountOf
Calculates the amount that the recipient can withdraw from the stream, denoted in token decimals. This is an alias for
`coveredDebtOf`.
_Reverts if `streamId` references a null stream._
```solidity
function withdrawableAmountOf(uint256 streamId)
external
view
override
notNull(streamId)
returns (uint128 withdrawableAmount);
```
**Parameters**
| Name | Type | Description |
| ---------- | --------- | ---------------------------- |
| `streamId` | `uint256` | The stream ID for the query. |
**Returns**
| Name | Type | Description |
| -------------------- | --------- | ------------------------------------------- |
| `withdrawableAmount` | `uint128` | The amount that the recipient can withdraw. |
### adjustRatePerSecond
Changes the stream's rate per second.
Emits a {AdjustFlowStream} and {MetadataUpdate} event. Notes:
- It updates snapshot debt and snapshot time. Requirements:
- Must not be delegate called.
- `streamId` must not reference a null or a paused stream.
- `msg.sender` must be the stream's sender.
- `newRatePerSecond` must not equal to the current rate per second.
```solidity
function adjustRatePerSecond(
uint256 streamId,
UD21x18 newRatePerSecond
)
external
payable
override
noDelegateCall
notNull(streamId)
notPaused(streamId)
onlySender(streamId)
updateMetadata(streamId);
```
**Parameters**
| Name | Type | Description |
| ------------------ | --------- | ------------------------------------------------------------------------------------------ |
| `streamId` | `uint256` | The ID of the stream to adjust. |
| `newRatePerSecond` | `UD21x18` | The new rate per second, denoted as a fixed-point number where 1e18 is 1 token per second. |
### create
Creates a new Flow stream by setting the snapshot time to `block.timestamp` and leaving the balance to zero. The stream
is wrapped in an ERC-721 NFT.
Emits {CreateFlowStream} event. Requirements:
- Must not be delegate called.
- `sender` must not be the zero address.
- `recipient` must not be the zero address.
- The `token`'s decimals must be less than or equal to 18.
```solidity
function create(
address sender,
address recipient,
UD21x18 ratePerSecond,
IERC20 token,
bool transferable
)
external
payable
override
noDelegateCall
returns (uint256 streamId);
```
**Parameters**
| Name | Type | Description |
| --------------- | --------- | ------------------------------------------------------------------------------------------------------------------------------- |
| `sender` | `address` | The address streaming the tokens, which is able to adjust and pause the stream. It doesn't have to be the same as `msg.sender`. |
| `recipient` | `address` | The address receiving the tokens. |
| `ratePerSecond` | `UD21x18` | The amount by which the debt is increasing every second, denoted as a fixed-point number where 1e18 is 1 token per second. |
| `token` | `IERC20` | The contract address of the ERC-20 token to be streamed. |
| `transferable` | `bool` | Boolean indicating if the stream NFT is transferable. |
**Returns**
| Name | Type | Description |
| ---------- | --------- | ----------------------------------- |
| `streamId` | `uint256` | The ID of the newly created stream. |
### createAndDeposit
Creates a new Flow stream by setting the snapshot time to `block.timestamp` and the balance to `amount`. The stream is
wrapped in an ERC-721 NFT.
Emits a {Transfer}, {CreateFlowStream}, and {DepositFlowStream} event. Notes:
- Refer to the notes in {deposit}. Requirements:
- Refer to the requirements in {create} and {deposit}.
```solidity
function createAndDeposit(
address sender,
address recipient,
UD21x18 ratePerSecond,
IERC20 token,
bool transferable,
uint128 amount
)
external
payable
override
noDelegateCall
returns (uint256 streamId);
```
**Parameters**
| Name | Type | Description |
| --------------- | --------- | -------------------------------------------------------------------------------------------------------------------------- |
| `sender` | `address` | The address streaming the tokens. It doesn't have to be the same as `msg.sender`. |
| `recipient` | `address` | The address receiving the tokens. |
| `ratePerSecond` | `UD21x18` | The amount by which the debt is increasing every second, denoted as a fixed-point number where 1e18 is 1 token per second. |
| `token` | `IERC20` | The contract address of the ERC-20 token to be streamed. |
| `transferable` | `bool` | Boolean indicating if the stream NFT is transferable. |
| `amount` | `uint128` | The deposit amount, denoted in token's decimals. |
**Returns**
| Name | Type | Description |
| ---------- | --------- | ----------------------------------- |
| `streamId` | `uint256` | The ID of the newly created stream. |
### deposit
Makes a deposit in a stream.
Emits a {Transfer} and {DepositFlowStream} event. Requirements:
- Must not be delegate called.
- `streamId` must not reference a null or a voided stream.
- `amount` must be greater than zero.
- `sender` and `recipient` must match the stream's sender and recipient addresses.
```solidity
function deposit(
uint256 streamId,
uint128 amount,
address sender,
address recipient
)
external
payable
override
noDelegateCall
notNull(streamId)
notVoided(streamId)
updateMetadata(streamId);
```
**Parameters**
| Name | Type | Description |
| ----------- | --------- | ------------------------------------------------ |
| `streamId` | `uint256` | The ID of the stream to deposit to. |
| `amount` | `uint128` | The deposit amount, denoted in token's decimals. |
| `sender` | `address` | The stream's sender address. |
| `recipient` | `address` | The stream's recipient address. |
### depositAndPause
Deposits tokens in a stream and pauses it.
Emits a {Transfer}, {DepositFlowStream} and {PauseFlowStream} event. Notes:
- Refer to the notes in {deposit} and {pause}. Requirements:
- Refer to the requirements in {deposit} and {pause}.
```solidity
function depositAndPause(
uint256 streamId,
uint128 amount
)
external
payable
override
noDelegateCall
notNull(streamId)
notPaused(streamId)
onlySender(streamId)
updateMetadata(streamId);
```
**Parameters**
| Name | Type | Description |
| ---------- | --------- | --------------------------------------------------- |
| `streamId` | `uint256` | The ID of the stream to deposit to, and then pause. |
| `amount` | `uint128` | The deposit amount, denoted in token's decimals. |
### depositViaBroker
Deposits tokens in a stream.
Emits a {Transfer} and {DepositFlowStream} event. Notes:
- Refer to the notes in {deposit}. Requirements:
- Must not be delegate called.
- `streamId` must not reference a null stream.
- `totalAmount` must be greater than zero. Otherwise it will revert inside {deposit}.
- `broker.account` must not be 0 address.
- `broker.fee` must not be greater than `MAX_FEE`. It can be zero.
```solidity
function depositViaBroker(
uint256 streamId,
uint128 totalAmount,
address sender,
address recipient,
Broker calldata broker
)
external
payable
override
noDelegateCall
notNull(streamId)
notVoided(streamId)
updateMetadata(streamId);
```
**Parameters**
| Name | Type | Description |
| ------------- | --------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `streamId` | `uint256` | The ID of the stream to deposit on. |
| `totalAmount` | `uint128` | The total amount, including the deposit and any broker fee, denoted in token's decimals. |
| `sender` | `address` | The stream's sender address. |
| `recipient` | `address` | The stream's recipient address. |
| `broker` | `Broker` | Struct encapsulating (i) the address of the broker assisting in creating the stream, and (ii) the percentage fee paid to the broker from `totalAmount`, denoted as a fixed-point percentage. |
### pause
Pauses the stream.
Emits {PauseFlowStream} event. Notes:
- It updates snapshot debt and snapshot time.
- It sets the rate per second to zero. Requirements:
- Must not be delegate called.
- `streamId` must not reference a null or an already paused stream.
- `msg.sender` must be the stream's sender.
```solidity
function pause(uint256 streamId)
external
payable
override
noDelegateCall
notNull(streamId)
notPaused(streamId)
onlySender(streamId)
updateMetadata(streamId);
```
**Parameters**
| Name | Type | Description |
| ---------- | --------- | ------------------------------ |
| `streamId` | `uint256` | The ID of the stream to pause. |
### refund
Refunds the provided amount of tokens from the stream to the sender's address.
Emits a {Transfer} and {RefundFromFlowStream} event. Requirements:
- Must not be delegate called.
- `streamId` must not reference a null stream.
- `msg.sender` must be the sender.
- `amount` must be greater than zero and must not exceed the refundable amount.
```solidity
function refund(
uint256 streamId,
uint128 amount
)
external
payable
override
noDelegateCall
notNull(streamId)
onlySender(streamId)
updateMetadata(streamId);
```
**Parameters**
| Name | Type | Description |
| ---------- | --------- | -------------------------------------------------- |
| `streamId` | `uint256` | The ID of the stream to refund from. |
| `amount` | `uint128` | The amount to refund, denoted in token's decimals. |
### refundAndPause
Refunds the provided amount of tokens from the stream to the sender's address.
Emits a {Transfer}, {RefundFromFlowStream} and {PauseFlowStream} event. Notes:
- Refer to the notes in {pause}. Requirements:
- Refer to the requirements in {refund} and {pause}.
```solidity
function refundAndPause(
uint256 streamId,
uint128 amount
)
external
payable
override
noDelegateCall
notNull(streamId)
notPaused(streamId)
onlySender(streamId)
updateMetadata(streamId);
```
**Parameters**
| Name | Type | Description |
| ---------- | --------- | --------------------------------------------------- |
| `streamId` | `uint256` | The ID of the stream to refund from and then pause. |
| `amount` | `uint128` | The amount to refund, denoted in token's decimals. |
### refundMax
Refunds the entire refundable amount of tokens from the stream to the sender's address.
Emits a {Transfer} and {RefundFromFlowStream} event. Requirements:
- Refer to the requirements in {refund}.
```solidity
function refundMax(uint256 streamId)
external
payable
override
noDelegateCall
notNull(streamId)
onlySender(streamId)
updateMetadata(streamId);
```
**Parameters**
| Name | Type | Description |
| ---------- | --------- | ------------------------------------ |
| `streamId` | `uint256` | The ID of the stream to refund from. |
### restart
Restarts the stream with the provided rate per second.
Emits {RestartFlowStream} event. Notes:
- It updates snapshot debt and snapshot time. Requirements:
- Must not be delegate called.
- `streamId` must not reference a null, or a voided stream.
- `msg.sender` must be the stream's sender.
- `ratePerSecond` must be greater than zero.
```solidity
function restart(
uint256 streamId,
UD21x18 ratePerSecond
)
external
payable
override
noDelegateCall
notNull(streamId)
notVoided(streamId)
onlySender(streamId)
updateMetadata(streamId);
```
**Parameters**
| Name | Type | Description |
| --------------- | --------- | -------------------------------------------------------------------------------------------------------------------------- |
| `streamId` | `uint256` | The ID of the stream to restart. |
| `ratePerSecond` | `UD21x18` | The amount by which the debt is increasing every second, denoted as a fixed-point number where 1e18 is 1 token per second. |
### restartAndDeposit
Restarts the stream with the provided rate per second, and makes a deposit.
Emits a {RestartFlowStream}, {Transfer}, and {DepositFlowStream} event. Notes:
- Refer to the notes in {restart} and {deposit}. Requirements:
- `amount` must be greater than zero.
- Refer to the requirements in {restart}.
```solidity
function restartAndDeposit(
uint256 streamId,
UD21x18 ratePerSecond,
uint128 amount
)
external
payable
override
noDelegateCall
notNull(streamId)
notVoided(streamId)
onlySender(streamId)
updateMetadata(streamId);
```
**Parameters**
| Name | Type | Description |
| --------------- | --------- | -------------------------------------------------------------------------------------------------------------------------- |
| `streamId` | `uint256` | The ID of the stream to restart. |
| `ratePerSecond` | `UD21x18` | The amount by which the debt is increasing every second, denoted as a fixed-point number where 1e18 is 1 token per second. |
| `amount` | `uint128` | The deposit amount, denoted in token's decimals. |
### void
Voids a stream.
Emits {VoidFlowStream} event. Notes:
- It sets snapshot time to the `block.timestamp`
- Voiding an insolvent stream sets the snapshot debt to the stream's balance making the uncovered debt to become zero.
- Voiding a solvent stream updates the snapshot debt by adding up ongoing debt.
- It sets the rate per second to zero.
- A voided stream cannot be restarted. Requirements:
- Must not be delegate called.
- `streamId` must not reference a null or a voided stream.
- `msg.sender` must either be the stream's sender, recipient or an approved third party.
```solidity
function void(uint256 streamId)
external
payable
override
noDelegateCall
notNull(streamId)
notVoided(streamId)
updateMetadata(streamId);
```
**Parameters**
| Name | Type | Description |
| ---------- | --------- | ----------------------------- |
| `streamId` | `uint256` | The ID of the stream to void. |
### withdraw
Withdraws the provided `amount` minus the protocol fee to the provided `to` address.
Emits a {Transfer} and {WithdrawFromFlowStream} event. Notes:
- It sets the snapshot time to the `block.timestamp` if `amount` is greater than snapshot debt.
- A protocol fee may be charged on the withdrawn amount if the protocol fee is enabled for the streaming token.
Requirements:
- Must not be delegate called.
- `streamId` must not reference a null stream.
- `to` must not be the zero address.
- `to` must be the recipient if `msg.sender` is not the stream's recipient.
- `amount` must be greater than zero and must not exceed the withdrawable amount.
```solidity
function withdraw(
uint256 streamId,
address to,
uint128 amount
)
external
payable
override
noDelegateCall
notNull(streamId)
updateMetadata(streamId)
returns (uint128 withdrawnAmount, uint128 protocolFeeAmount);
```
**Parameters**
| Name | Type | Description |
| ---------- | --------- | ---------------------------------------------------- |
| `streamId` | `uint256` | The ID of the stream to withdraw from. |
| `to` | `address` | The address receiving the withdrawn tokens. |
| `amount` | `uint128` | The amount to withdraw, denoted in token's decimals. |
**Returns**
| Name | Type | Description |
| ------------------- | --------- | ---------------------------------------------------------------------------------------------------------------- |
| `withdrawnAmount` | `uint128` | The amount withdrawn to the recipient, denoted in token's decimals. This is input amount minus the protocol fee. |
| `protocolFeeAmount` | `uint128` | The protocol fee amount, denoted in the token's decimals. |
### withdrawMax
Withdraws the entire withdrawable amount minus the protocol fee to the provided `to` address.
Emits a {Transfer} and {WithdrawFromFlowStream} event. Notes:
- Refer to the notes in {withdraw}. Requirements:
- Refer to the requirements in {withdraw}.
```solidity
function withdrawMax(
uint256 streamId,
address to
)
external
payable
override
noDelegateCall
notNull(streamId)
updateMetadata(streamId)
returns (uint128 withdrawnAmount, uint128 protocolFeeAmount);
```
**Parameters**
| Name | Type | Description |
| ---------- | --------- | ------------------------------------------- |
| `streamId` | `uint256` | The ID of the stream to withdraw from. |
| `to` | `address` | The address receiving the withdrawn tokens. |
**Returns**
| Name | Type | Description |
| ------------------- | --------- | ------------------------------------------------------------------- |
| `withdrawnAmount` | `uint128` | The amount withdrawn to the recipient, denoted in token's decimals. |
| `protocolFeeAmount` | `uint128` | The protocol fee amount, denoted in the token's decimals. |
### \_coveredDebtOf
_Calculates the amount of covered debt by the stream balance._
```solidity
function _coveredDebtOf(uint256 streamId) internal view returns (uint128);
```
### \_ongoingDebtScaledOf
_Calculates the ongoing debt, as a 18-decimals fixed point number, accrued since last snapshot. Return 0 if the stream
is paused or `block.timestamp` is less than or equal to snapshot time._
```solidity
function _ongoingDebtScaledOf(uint256 streamId) internal view returns (uint256);
```
### \_refundableAmountOf
_Calculates the refundable amount._
```solidity
function _refundableAmountOf(uint256 streamId) internal view returns (uint128);
```
### \_totalDebtOf
_The total debt is the sum of the snapshot debt and the ongoing debt descaled to token's decimal. This value is
independent of the stream's balance._
```solidity
function _totalDebtOf(uint256 streamId) internal view returns (uint256);
```
### \_uncoveredDebtOf
_Calculates the uncovered debt._
```solidity
function _uncoveredDebtOf(uint256 streamId) internal view returns (uint256);
```
### \_verifyStreamSenderRecipient
_Checks whether the provided addresses matches stream's sender and recipient._
```solidity
function _verifyStreamSenderRecipient(uint256 streamId, address sender, address recipient) internal view;
```
### \_adjustRatePerSecond
_See the documentation for the user-facing functions that call this internal function._
```solidity
function _adjustRatePerSecond(uint256 streamId, UD21x18 newRatePerSecond) internal;
```
### \_create
_See the documentation for the user-facing functions that call this internal function._
```solidity
function _create(
address sender,
address recipient,
UD21x18 ratePerSecond,
IERC20 token,
bool transferable
)
internal
returns (uint256 streamId);
```
### \_deposit
_See the documentation for the user-facing functions that call this internal function._
```solidity
function _deposit(uint256 streamId, uint128 amount) internal;
```
### \_depositViaBroker
_See the documentation for the user-facing functions that call this internal function._
```solidity
function _depositViaBroker(uint256 streamId, uint128 totalAmount, Broker memory broker) internal;
```
### \_pause
_See the documentation for the user-facing functions that call this internal function._
```solidity
function _pause(uint256 streamId) internal;
```
### \_refund
_See the documentation for the user-facing functions that call this internal function._
```solidity
function _refund(uint256 streamId, uint128 amount) internal;
```
### \_restart
_See the documentation for the user-facing functions that call this internal function._
```solidity
function _restart(uint256 streamId, UD21x18 ratePerSecond) internal;
```
### \_void
_See the documentation for the user-facing functions that call this internal function._
```solidity
function _void(uint256 streamId) internal;
```
### \_withdraw
_See the documentation for the user-facing functions that call this internal function._
```solidity
function _withdraw(
uint256 streamId,
address to,
uint128 amount
)
internal
returns (uint128 withdrawnAmount, uint128 protocolFeeAmount);
```
---
## IAdminable
[Git Source](https://github.com/sablier-labs/flow/blob/a0fa33d2843af0817e34970cdc05822ead31daaa/src/interfaces/IAdminable.sol)
Contract module that provides a basic access control mechanism, with an admin that can be granted exclusive access to
specific functions. The inheriting contract must set the initial admin in the constructor.
## Functions
### admin
The address of the admin account or contract.
```solidity
function admin() external view returns (address);
```
### transferAdmin
Transfers the contract admin to a new address.
Notes:
- Does not revert if the admin is the same.
- This function can potentially leave the contract without an admin, thereby removing any functionality that is only
available to the admin. Requirements:
- `msg.sender` must be the contract admin.
```solidity
function transferAdmin(address newAdmin) external;
```
**Parameters**
| Name | Type | Description |
| ---------- | --------- | ----------------------------- |
| `newAdmin` | `address` | The address of the new admin. |
## Events
### TransferAdmin
Emitted when the admin is transferred.
```solidity
event TransferAdmin(address indexed oldAdmin, address indexed newAdmin);
```
**Parameters**
| Name | Type | Description |
| ---------- | --------- | ----------------------------- |
| `oldAdmin` | `address` | The address of the old admin. |
| `newAdmin` | `address` | The address of the new admin. |
---
## IBatch
[Git Source](https://github.com/sablier-labs/flow/blob/a0fa33d2843af0817e34970cdc05822ead31daaa/src/interfaces/IBatch.sol)
This contract implements logic to batch call any function.
## Functions
### batch
Allows batched calls to self, i.e., `this` contract.
_Since `msg.value` can be reused across calls, be VERY CAREFUL when using it. Refer to
https://paradigm.xyz/2021/08/two-rights-might-make-a-wrong for more information._
```solidity
function batch(bytes[] calldata calls) external payable returns (bytes[] memory results);
```
**Parameters**
| Name | Type | Description |
| ------- | --------- | --------------------------------- |
| `calls` | `bytes[]` | An array of inputs for each call. |
**Returns**
| Name | Type | Description |
| --------- | --------- | -------------------------------------------------------------------------------- |
| `results` | `bytes[]` | An array of results from each call. Empty when the calls do not return anything. |
---
## IFlowNFTDescriptor
[Git Source](https://github.com/sablier-labs/flow/blob/a0fa33d2843af0817e34970cdc05822ead31daaa/src/interfaces/IFlowNFTDescriptor.sol)
This contract generates the URI describing the Sablier Flow stream NFTs.
## Functions
### tokenURI
Produces the URI describing a particular stream NFT.
_Currently it returns the Sablier logo as an SVG. In the future, it will return an NFT SVG._
```solidity
function tokenURI(IERC721Metadata sablierFlow, uint256 streamId) external view returns (string memory uri);
```
**Parameters**
| Name | Type | Description |
| ------------- | ----------------- | ---------------------------------------------------------- |
| `sablierFlow` | `IERC721Metadata` | The address of the Sablier Flow the stream was created in. |
| `streamId` | `uint256` | The ID of the stream for which to produce a description. |
**Returns**
| Name | Type | Description |
| ----- | -------- | ----------------------------------------- |
| `uri` | `string` | The URI of the ERC721-compliant metadata. |
---
## ISablierFlow
[Git Source](https://github.com/sablier-labs/flow/blob/a0fa33d2843af0817e34970cdc05822ead31daaa/src/interfaces/ISablierFlow.sol)
**Inherits:** [IBatch](/docs/reference/flow/contracts/interfaces/interface.IBatch.md),
[ISablierFlowBase](/docs/reference/flow/contracts/interfaces/interface.ISablierFlowBase.md)
Creates and manages Flow streams with linear streaming functions.
## Functions
### coveredDebtOf
Returns the amount of debt covered by the stream balance, denoted in token's decimals.
_Reverts if `streamId` references a null stream._
```solidity
function coveredDebtOf(uint256 streamId) external view returns (uint128 coveredDebt);
```
**Parameters**
| Name | Type | Description |
| ---------- | --------- | ---------------------------- |
| `streamId` | `uint256` | The stream ID for the query. |
### depletionTimeOf
Returns the time at which the total debt exceeds stream balance. If the total debt is less than or equal to stream
balance, it returns 0.
Reverts on the following conditions:
- If `streamId` references a paused or a null stream.
- If stream balance is zero.
```solidity
function depletionTimeOf(uint256 streamId) external view returns (uint256 depletionTime);
```
**Parameters**
| Name | Type | Description |
| ---------- | --------- | ---------------------------- |
| `streamId` | `uint256` | The stream ID for the query. |
### ongoingDebtScaledOf
Returns the amount of debt accrued since the snapshot time until now, denoted as a fixed-point number where 1e18 is 1
token.
_Reverts if `streamId` references a null stream._
```solidity
function ongoingDebtScaledOf(uint256 streamId) external view returns (uint256 ongoingDebtScaled);
```
**Parameters**
| Name | Type | Description |
| ---------- | --------- | ---------------------------- |
| `streamId` | `uint256` | The stream ID for the query. |
### refundableAmountOf
Returns the amount that the sender can be refunded from the stream, denoted in token's decimals.
_Reverts if `streamId` references a null stream._
```solidity
function refundableAmountOf(uint256 streamId) external view returns (uint128 refundableAmount);
```
**Parameters**
| Name | Type | Description |
| ---------- | --------- | ---------------------------- |
| `streamId` | `uint256` | The stream ID for the query. |
### statusOf
Returns the stream's status.
_Reverts if `streamId` references a null stream. Integrators should exercise caution when depending on the return value
of this function as streams can be paused and resumed at any moment._
```solidity
function statusOf(uint256 streamId) external view returns (Flow.Status status);
```
**Parameters**
| Name | Type | Description |
| ---------- | --------- | ---------------------------- |
| `streamId` | `uint256` | The stream ID for the query. |
### totalDebtOf
Returns the total amount owed by the sender to the recipient, denoted in token's decimals.
_Reverts if `streamId` references a null stream._
```solidity
function totalDebtOf(uint256 streamId) external view returns (uint256 totalDebt);
```
**Parameters**
| Name | Type | Description |
| ---------- | --------- | ---------------------------- |
| `streamId` | `uint256` | The stream ID for the query. |
### uncoveredDebtOf
Returns the amount of debt not covered by the stream balance, denoted in token's decimals.
_Reverts if `streamId` references a null stream._
```solidity
function uncoveredDebtOf(uint256 streamId) external view returns (uint256 uncoveredDebt);
```
**Parameters**
| Name | Type | Description |
| ---------- | --------- | ---------------------------- |
| `streamId` | `uint256` | The stream ID for the query. |
### withdrawableAmountOf
Calculates the amount that the recipient can withdraw from the stream, denoted in token decimals. This is an alias for
`coveredDebtOf`.
_Reverts if `streamId` references a null stream._
```solidity
function withdrawableAmountOf(uint256 streamId) external view returns (uint128 withdrawableAmount);
```
**Parameters**
| Name | Type | Description |
| ---------- | --------- | ---------------------------- |
| `streamId` | `uint256` | The stream ID for the query. |
**Returns**
| Name | Type | Description |
| -------------------- | --------- | ------------------------------------------- |
| `withdrawableAmount` | `uint128` | The amount that the recipient can withdraw. |
### adjustRatePerSecond
Changes the stream's rate per second.
Emits a [AdjustFlowStream](/docs/reference/flow/contracts/interfaces/interface.ISablierFlow.md#adjustflowstream) and
{MetadataUpdate} event. Notes:
- It updates snapshot debt and snapshot time. Requirements:
- Must not be delegate called.
- `streamId` must not reference a null or a paused stream.
- `msg.sender` must be the stream's sender.
- `newRatePerSecond` must not equal to the current rate per second.
```solidity
function adjustRatePerSecond(uint256 streamId, UD21x18 newRatePerSecond) external payable;
```
**Parameters**
| Name | Type | Description |
| ------------------ | --------- | ------------------------------------------------------------------------------------------ |
| `streamId` | `uint256` | The ID of the stream to adjust. |
| `newRatePerSecond` | `UD21x18` | The new rate per second, denoted as a fixed-point number where 1e18 is 1 token per second. |
### create
Creates a new Flow stream by setting the snapshot time to `block.timestamp` and leaving the balance to zero. The stream
is wrapped in an ERC-721 NFT.
Emits [CreateFlowStream](/docs/reference/flow/contracts/interfaces/interface.ISablierFlow.md#createflowstream) event.
Requirements:
- Must not be delegate called.
- `sender` must not be the zero address.
- `recipient` must not be the zero address.
- The `token`'s decimals must be less than or equal to 18.
```solidity
function create(
address sender,
address recipient,
UD21x18 ratePerSecond,
IERC20 token,
bool transferable
)
external
payable
returns (uint256 streamId);
```
**Parameters**
| Name | Type | Description |
| --------------- | --------- | ------------------------------------------------------------------------------------------------------------------------------- |
| `sender` | `address` | The address streaming the tokens, which is able to adjust and pause the stream. It doesn't have to be the same as `msg.sender`. |
| `recipient` | `address` | The address receiving the tokens. |
| `ratePerSecond` | `UD21x18` | The amount by which the debt is increasing every second, denoted as a fixed-point number where 1e18 is 1 token per second. |
| `token` | `IERC20` | The contract address of the ERC-20 token to be streamed. |
| `transferable` | `bool` | Boolean indicating if the stream NFT is transferable. |
**Returns**
| Name | Type | Description |
| ---------- | --------- | ----------------------------------- |
| `streamId` | `uint256` | The ID of the newly created stream. |
### createAndDeposit
Creates a new Flow stream by setting the snapshot time to `block.timestamp` and the balance to `amount`. The stream is
wrapped in an ERC-721 NFT.
Emits a {Transfer}, {CreateFlowStream}, and {DepositFlowStream} event. Notes:
- Refer to the notes in {deposit}. Requirements:
- Refer to the requirements in {create} and {deposit}.
```solidity
function createAndDeposit(
address sender,
address recipient,
UD21x18 ratePerSecond,
IERC20 token,
bool transferable,
uint128 amount
)
external
payable
returns (uint256 streamId);
```
**Parameters**
| Name | Type | Description |
| --------------- | --------- | -------------------------------------------------------------------------------------------------------------------------- |
| `sender` | `address` | The address streaming the tokens. It doesn't have to be the same as `msg.sender`. |
| `recipient` | `address` | The address receiving the tokens. |
| `ratePerSecond` | `UD21x18` | The amount by which the debt is increasing every second, denoted as a fixed-point number where 1e18 is 1 token per second. |
| `token` | `IERC20` | The contract address of the ERC-20 token to be streamed. |
| `transferable` | `bool` | Boolean indicating if the stream NFT is transferable. |
| `amount` | `uint128` | The deposit amount, denoted in token's decimals. |
**Returns**
| Name | Type | Description |
| ---------- | --------- | ----------------------------------- |
| `streamId` | `uint256` | The ID of the newly created stream. |
### deposit
Makes a deposit in a stream.
Emits a {Transfer} and {DepositFlowStream} event. Requirements:
- Must not be delegate called.
- `streamId` must not reference a null or a voided stream.
- `amount` must be greater than zero.
- `sender` and `recipient` must match the stream's sender and recipient addresses.
```solidity
function deposit(uint256 streamId, uint128 amount, address sender, address recipient) external payable;
```
**Parameters**
| Name | Type | Description |
| ----------- | --------- | ------------------------------------------------ |
| `streamId` | `uint256` | The ID of the stream to deposit to. |
| `amount` | `uint128` | The deposit amount, denoted in token's decimals. |
| `sender` | `address` | The stream's sender address. |
| `recipient` | `address` | The stream's recipient address. |
### depositAndPause
Deposits tokens in a stream and pauses it.
Emits a {Transfer}, {DepositFlowStream} and {PauseFlowStream} event. Notes:
- Refer to the notes in {deposit} and {pause}. Requirements:
- Refer to the requirements in {deposit} and {pause}.
```solidity
function depositAndPause(uint256 streamId, uint128 amount) external payable;
```
**Parameters**
| Name | Type | Description |
| ---------- | --------- | --------------------------------------------------- |
| `streamId` | `uint256` | The ID of the stream to deposit to, and then pause. |
| `amount` | `uint128` | The deposit amount, denoted in token's decimals. |
### depositViaBroker
Deposits tokens in a stream.
Emits a {Transfer} and {DepositFlowStream} event. Notes:
- Refer to the notes in {deposit}. Requirements:
- Must not be delegate called.
- `streamId` must not reference a null stream.
- `totalAmount` must be greater than zero. Otherwise it will revert inside {deposit}.
- `broker.account` must not be 0 address.
- `broker.fee` must not be greater than `MAX_FEE`. It can be zero.
```solidity
function depositViaBroker(
uint256 streamId,
uint128 totalAmount,
address sender,
address recipient,
Broker calldata broker
)
external
payable;
```
**Parameters**
| Name | Type | Description |
| ------------- | --------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `streamId` | `uint256` | The ID of the stream to deposit on. |
| `totalAmount` | `uint128` | The total amount, including the deposit and any broker fee, denoted in token's decimals. |
| `sender` | `address` | The stream's sender address. |
| `recipient` | `address` | The stream's recipient address. |
| `broker` | `Broker` | Struct encapsulating (i) the address of the broker assisting in creating the stream, and (ii) the percentage fee paid to the broker from `totalAmount`, denoted as a fixed-point percentage. |
### pause
Pauses the stream.
Emits [PauseFlowStream](/docs/reference/flow/contracts/interfaces/interface.ISablierFlow.md#pauseflowstream) event.
Notes:
- It updates snapshot debt and snapshot time.
- It sets the rate per second to zero. Requirements:
- Must not be delegate called.
- `streamId` must not reference a null or an already paused stream.
- `msg.sender` must be the stream's sender.
```solidity
function pause(uint256 streamId) external payable;
```
**Parameters**
| Name | Type | Description |
| ---------- | --------- | ------------------------------ |
| `streamId` | `uint256` | The ID of the stream to pause. |
### refund
Refunds the provided amount of tokens from the stream to the sender's address.
Emits a {Transfer} and {RefundFromFlowStream} event. Requirements:
- Must not be delegate called.
- `streamId` must not reference a null stream.
- `msg.sender` must be the sender.
- `amount` must be greater than zero and must not exceed the refundable amount.
```solidity
function refund(uint256 streamId, uint128 amount) external payable;
```
**Parameters**
| Name | Type | Description |
| ---------- | --------- | -------------------------------------------------- |
| `streamId` | `uint256` | The ID of the stream to refund from. |
| `amount` | `uint128` | The amount to refund, denoted in token's decimals. |
### refundAndPause
Refunds the provided amount of tokens from the stream to the sender's address.
Emits a {Transfer}, {RefundFromFlowStream} and {PauseFlowStream} event. Notes:
- Refer to the notes in {pause}. Requirements:
- Refer to the requirements in {refund} and {pause}.
```solidity
function refundAndPause(uint256 streamId, uint128 amount) external payable;
```
**Parameters**
| Name | Type | Description |
| ---------- | --------- | --------------------------------------------------- |
| `streamId` | `uint256` | The ID of the stream to refund from and then pause. |
| `amount` | `uint128` | The amount to refund, denoted in token's decimals. |
### refundMax
Refunds the entire refundable amount of tokens from the stream to the sender's address.
Emits a {Transfer} and {RefundFromFlowStream} event. Requirements:
- Refer to the requirements in {refund}.
```solidity
function refundMax(uint256 streamId) external payable;
```
**Parameters**
| Name | Type | Description |
| ---------- | --------- | ------------------------------------ |
| `streamId` | `uint256` | The ID of the stream to refund from. |
### restart
Restarts the stream with the provided rate per second.
Emits [RestartFlowStream](/docs/reference/flow/contracts/interfaces/interface.ISablierFlow.md#restartflowstream) event.
Notes:
- It updates snapshot debt and snapshot time. Requirements:
- Must not be delegate called.
- `streamId` must not reference a null, or a voided stream.
- `msg.sender` must be the stream's sender.
- `ratePerSecond` must be greater than zero.
```solidity
function restart(uint256 streamId, UD21x18 ratePerSecond) external payable;
```
**Parameters**
| Name | Type | Description |
| --------------- | --------- | -------------------------------------------------------------------------------------------------------------------------- |
| `streamId` | `uint256` | The ID of the stream to restart. |
| `ratePerSecond` | `UD21x18` | The amount by which the debt is increasing every second, denoted as a fixed-point number where 1e18 is 1 token per second. |
### restartAndDeposit
Restarts the stream with the provided rate per second, and makes a deposit.
Emits a [RestartFlowStream](/docs/reference/flow/contracts/interfaces/interface.ISablierFlow.md#restartflowstream),
{Transfer}, and {DepositFlowStream} event. Notes:
- Refer to the notes in {restart} and {deposit}. Requirements:
- `amount` must be greater than zero.
- Refer to the requirements in {restart}.
```solidity
function restartAndDeposit(uint256 streamId, UD21x18 ratePerSecond, uint128 amount) external payable;
```
**Parameters**
| Name | Type | Description |
| --------------- | --------- | -------------------------------------------------------------------------------------------------------------------------- |
| `streamId` | `uint256` | The ID of the stream to restart. |
| `ratePerSecond` | `UD21x18` | The amount by which the debt is increasing every second, denoted as a fixed-point number where 1e18 is 1 token per second. |
| `amount` | `uint128` | The deposit amount, denoted in token's decimals. |
### void
Voids a stream.
Emits [VoidFlowStream](/docs/reference/flow/contracts/interfaces/interface.ISablierFlow.md#voidflowstream) event. Notes:
- It sets snapshot time to the `block.timestamp`
- Voiding an insolvent stream sets the snapshot debt to the stream's balance making the uncovered debt to become zero.
- Voiding a solvent stream updates the snapshot debt by adding up ongoing debt.
- It sets the rate per second to zero.
- A voided stream cannot be restarted. Requirements:
- Must not be delegate called.
- `streamId` must not reference a null or a voided stream.
- `msg.sender` must either be the stream's sender, recipient or an approved third party.
```solidity
function void(uint256 streamId) external payable;
```
**Parameters**
| Name | Type | Description |
| ---------- | --------- | ----------------------------- |
| `streamId` | `uint256` | The ID of the stream to void. |
### withdraw
Withdraws the provided `amount` minus the protocol fee to the provided `to` address.
Emits a {Transfer} and {WithdrawFromFlowStream} event. Notes:
- It sets the snapshot time to the `block.timestamp` if `amount` is greater than snapshot debt.
- A protocol fee may be charged on the withdrawn amount if the protocol fee is enabled for the streaming token.
Requirements:
- Must not be delegate called.
- `streamId` must not reference a null stream.
- `to` must not be the zero address.
- `to` must be the recipient if `msg.sender` is not the stream's recipient.
- `amount` must be greater than zero and must not exceed the withdrawable amount.
```solidity
function withdraw(
uint256 streamId,
address to,
uint128 amount
)
external
payable
returns (uint128 withdrawnAmount, uint128 protocolFeeAmount);
```
**Parameters**
| Name | Type | Description |
| ---------- | --------- | ---------------------------------------------------- |
| `streamId` | `uint256` | The ID of the stream to withdraw from. |
| `to` | `address` | The address receiving the withdrawn tokens. |
| `amount` | `uint128` | The amount to withdraw, denoted in token's decimals. |
**Returns**
| Name | Type | Description |
| ------------------- | --------- | ---------------------------------------------------------------------------------------------------------------- |
| `withdrawnAmount` | `uint128` | The amount withdrawn to the recipient, denoted in token's decimals. This is input amount minus the protocol fee. |
| `protocolFeeAmount` | `uint128` | The protocol fee amount, denoted in the token's decimals. |
### withdrawMax
Withdraws the entire withdrawable amount minus the protocol fee to the provided `to` address.
Emits a {Transfer} and {WithdrawFromFlowStream} event. Notes:
- Refer to the notes in {withdraw}. Requirements:
- Refer to the requirements in {withdraw}.
```solidity
function withdrawMax(
uint256 streamId,
address to
)
external
payable
returns (uint128 withdrawnAmount, uint128 protocolFeeAmount);
```
**Parameters**
| Name | Type | Description |
| ---------- | --------- | ------------------------------------------- |
| `streamId` | `uint256` | The ID of the stream to withdraw from. |
| `to` | `address` | The address receiving the withdrawn tokens. |
**Returns**
| Name | Type | Description |
| ------------------- | --------- | ------------------------------------------------------------------- |
| `withdrawnAmount` | `uint128` | The amount withdrawn to the recipient, denoted in token's decimals. |
| `protocolFeeAmount` | `uint128` | The protocol fee amount, denoted in the token's decimals. |
## Events
### AdjustFlowStream
Emitted when the rate per second is updated by the sender.
```solidity
event AdjustFlowStream(uint256 indexed streamId, uint256 totalDebt, UD21x18 oldRatePerSecond, UD21x18 newRatePerSecond);
```
**Parameters**
| Name | Type | Description |
| ------------------ | --------- | ------------------------------------------------------------------------------------------ |
| `streamId` | `uint256` | The ID of the stream. |
| `totalDebt` | `uint256` | The total debt at the time of the update, denoted in token's decimals. |
| `oldRatePerSecond` | `UD21x18` | The old rate per second, denoted as a fixed-point number where 1e18 is 1 token per second. |
| `newRatePerSecond` | `UD21x18` | The new rate per second, denoted as a fixed-point number where 1e18 is 1 token per second. |
### CreateFlowStream
Emitted when a Flow stream is created.
```solidity
event CreateFlowStream(
uint256 streamId,
address indexed sender,
address indexed recipient,
UD21x18 ratePerSecond,
IERC20 indexed token,
bool transferable
);
```
**Parameters**
| Name | Type | Description |
| --------------- | --------- | -------------------------------------------------------------------------------------------------------------------------- |
| `streamId` | `uint256` | The ID of the newly created stream. |
| `sender` | `address` | The address streaming the tokens, which is able to adjust and pause the stream. |
| `recipient` | `address` | The address receiving the tokens, as well as the NFT owner. |
| `ratePerSecond` | `UD21x18` | The amount by which the debt is increasing every second, denoted as a fixed-point number where 1e18 is 1 token per second. |
| `token` | `IERC20` | The contract address of the ERC-20 token to be streamed. |
| `transferable` | `bool` | Boolean indicating whether the stream NFT is transferable or not. |
### DepositFlowStream
Emitted when a stream is funded.
```solidity
event DepositFlowStream(uint256 indexed streamId, address indexed funder, uint128 amount);
```
**Parameters**
| Name | Type | Description |
| ---------- | --------- | ---------------------------------------------------------------------------- |
| `streamId` | `uint256` | The ID of the stream. |
| `funder` | `address` | The address that made the deposit. |
| `amount` | `uint128` | The amount of tokens deposited into the stream, denoted in token's decimals. |
### PauseFlowStream
Emitted when a stream is paused by the sender.
```solidity
event PauseFlowStream(uint256 indexed streamId, address indexed sender, address indexed recipient, uint256 totalDebt);
```
**Parameters**
| Name | Type | Description |
| ----------- | --------- | -------------------------------------------------------------------------------------- |
| `streamId` | `uint256` | The ID of the stream. |
| `sender` | `address` | The stream's sender address. |
| `recipient` | `address` | The stream's recipient address. |
| `totalDebt` | `uint256` | The amount of tokens owed by the sender to the recipient, denoted in token's decimals. |
### RefundFromFlowStream
Emitted when a sender is refunded from a stream.
```solidity
event RefundFromFlowStream(uint256 indexed streamId, address indexed sender, uint128 amount);
```
**Parameters**
| Name | Type | Description |
| ---------- | --------- | ------------------------------------------------------------------------- |
| `streamId` | `uint256` | The ID of the stream. |
| `sender` | `address` | The stream's sender address. |
| `amount` | `uint128` | The amount of tokens refunded to the sender, denoted in token's decimals. |
### RestartFlowStream
Emitted when a stream is restarted by the sender.
```solidity
event RestartFlowStream(uint256 indexed streamId, address indexed sender, UD21x18 ratePerSecond);
```
**Parameters**
| Name | Type | Description |
| --------------- | --------- | -------------------------------------------------------------------------------------------------------------------------- |
| `streamId` | `uint256` | The ID of the stream. |
| `sender` | `address` | The stream's sender address. |
| `ratePerSecond` | `UD21x18` | The amount by which the debt is increasing every second, denoted as a fixed-point number where 1e18 is 1 token per second. |
### VoidFlowStream
Emitted when a stream is voided by the sender, recipient or an approved operator.
```solidity
event VoidFlowStream(
uint256 indexed streamId,
address indexed sender,
address indexed recipient,
address caller,
uint256 newTotalDebt,
uint256 writtenOffDebt
);
```
**Parameters**
| Name | Type | Description |
| ---------------- | --------- | ------------------------------------------------------------------------------------------------ |
| `streamId` | `uint256` | The ID of the stream. |
| `sender` | `address` | The stream's sender address. |
| `recipient` | `address` | The stream's recipient address. |
| `caller` | `address` | The address that performed the void, which can be the sender, recipient or an approved operator. |
| `newTotalDebt` | `uint256` | The new total debt, denoted in token's decimals. |
| `writtenOffDebt` | `uint256` | The amount of debt written off by the caller, denoted in token's decimals. |
### WithdrawFromFlowStream
Emitted when tokens are withdrawn from a stream by a recipient or an approved operator.
```solidity
event WithdrawFromFlowStream(
uint256 indexed streamId,
address indexed to,
IERC20 indexed token,
address caller,
uint128 withdrawAmount,
uint128 protocolFeeAmount
);
```
**Parameters**
| Name | Type | Description |
| ------------------- | --------- | ------------------------------------------------------------------------------------------------------ |
| `streamId` | `uint256` | The ID of the stream. |
| `to` | `address` | The address that received the withdrawn tokens. |
| `token` | `IERC20` | The contract address of the ERC-20 token that was withdrawn. |
| `caller` | `address` | The address that performed the withdrawal, which can be the recipient or an approved operator. |
| `withdrawAmount` | `uint128` | The amount withdrawn to the recipient after subtracting the protocol fee, denoted in token's decimals. |
| `protocolFeeAmount` | `uint128` | The amount of protocol fee deducted from the withdrawn amount, denoted in token's decimals. |
---
## ISablierFlowBase
[Git Source](https://github.com/sablier-labs/flow/blob/a0fa33d2843af0817e34970cdc05822ead31daaa/src/interfaces/ISablierFlowBase.sol)
**Inherits:** IERC4906, IERC721Metadata, [IAdminable](/docs/reference/flow/contracts/interfaces/interface.IAdminable.md)
Base contract that includes state variables (storage and constants) for the
[SablierFlow](/docs/reference/flow/contracts/contract.SablierFlow.md) contract, their respective getters, helpful
modifiers, and helper functions.
_This contract also includes admin control functions._
## Functions
### MAX_FEE
Retrieves the maximum fee that can be charged by the broker and the protocol, denoted as a fixed-point percentage where
1e18 is 100%.
_This value is hard coded as a constant._
```solidity
function MAX_FEE() external view returns (UD60x18 fee);
```
### aggregateBalance
Retrieves the sum of balances of all streams.
```solidity
function aggregateBalance(IERC20 token) external view returns (uint256);
```
**Parameters**
| Name | Type | Description |
| ------- | -------- | ------------------------------- |
| `token` | `IERC20` | The ERC-20 token for the query. |
### getBalance
Retrieves the balance of the stream, i.e. the total deposited amounts subtracted by the total withdrawn amounts, denoted
in token's decimals.
_Reverts if `streamId` references a null stream._
```solidity
function getBalance(uint256 streamId) external view returns (uint128 balance);
```
**Parameters**
| Name | Type | Description |
| ---------- | --------- | ---------------------------- |
| `streamId` | `uint256` | The stream ID for the query. |
### getRatePerSecond
Retrieves the rate per second of the stream, denoted as a fixed-point number where 1e18 is 1 token per second.
_Reverts if `streamId` references a null stream._
```solidity
function getRatePerSecond(uint256 streamId) external view returns (UD21x18 ratePerSecond);
```
**Parameters**
| Name | Type | Description |
| ---------- | --------- | ------------------------------------------- |
| `streamId` | `uint256` | The ID of the stream to make the query for. |
### getRecipient
Retrieves the stream's recipient.
_Reverts if `streamId` references a null stream._
```solidity
function getRecipient(uint256 streamId) external view returns (address recipient);
```
**Parameters**
| Name | Type | Description |
| ---------- | --------- | ---------------------------- |
| `streamId` | `uint256` | The stream ID for the query. |
### getSender
Retrieves the stream's sender.
_Reverts if `streamId` references a null stream._
```solidity
function getSender(uint256 streamId) external view returns (address sender);
```
**Parameters**
| Name | Type | Description |
| ---------- | --------- | ---------------------------- |
| `streamId` | `uint256` | The stream ID for the query. |
### getSnapshotDebtScaled
Retrieves the snapshot debt of the stream, denoted as a fixed-point number where 1e18 is 1 token.
_Reverts if `streamId` references a null stream._
```solidity
function getSnapshotDebtScaled(uint256 streamId) external view returns (uint256 snapshotDebtScaled);
```
**Parameters**
| Name | Type | Description |
| ---------- | --------- | ---------------------------- |
| `streamId` | `uint256` | The stream ID for the query. |
### getSnapshotTime
Retrieves the snapshot time of the stream, which is a Unix timestamp.
_Reverts if `streamId` references a null stream._
```solidity
function getSnapshotTime(uint256 streamId) external view returns (uint40 snapshotTime);
```
**Parameters**
| Name | Type | Description |
| ---------- | --------- | ------------------------------------------- |
| `streamId` | `uint256` | The ID of the stream to make the query for. |
### getStream
Retrieves the stream entity.
_Reverts if `streamId` references a null stream._
```solidity
function getStream(uint256 streamId) external view returns (Flow.Stream memory stream);
```
**Parameters**
| Name | Type | Description |
| ---------- | --------- | ---------------------------- |
| `streamId` | `uint256` | The stream ID for the query. |
### getToken
Retrieves the token of the stream.
_Reverts if `streamId` references a null stream._
```solidity
function getToken(uint256 streamId) external view returns (IERC20 token);
```
**Parameters**
| Name | Type | Description |
| ---------- | --------- | ------------------------------------------- |
| `streamId` | `uint256` | The ID of the stream to make the query for. |
### getTokenDecimals
Retrieves the token decimals of the stream.
_Reverts if `streamId` references a null stream._
```solidity
function getTokenDecimals(uint256 streamId) external view returns (uint8 tokenDecimals);
```
**Parameters**
| Name | Type | Description |
| ---------- | --------- | ------------------------------------------- |
| `streamId` | `uint256` | The ID of the stream to make the query for. |
### isPaused
Returns whether a stream is paused.
_Reverts if `streamId` references a null stream._
```solidity
function isPaused(uint256 streamId) external view returns (bool result);
```
**Parameters**
| Name | Type | Description |
| ---------- | --------- | ---------------------------- |
| `streamId` | `uint256` | The stream ID for the query. |
### isStream
Retrieves a flag indicating whether the stream exists.
_Does not revert if `streamId` references a null stream._
```solidity
function isStream(uint256 streamId) external view returns (bool result);
```
**Parameters**
| Name | Type | Description |
| ---------- | --------- | ---------------------------- |
| `streamId` | `uint256` | The stream ID for the query. |
### isTransferable
Retrieves a flag indicating whether the stream NFT is transferable.
_Reverts if `streamId` references a null stream._
```solidity
function isTransferable(uint256 streamId) external view returns (bool result);
```
**Parameters**
| Name | Type | Description |
| ---------- | --------- | ---------------------------- |
| `streamId` | `uint256` | The stream ID for the query. |
### isVoided
Retrieves a flag indicating whether the stream is voided.
_Reverts if `streamId` references a null stream._
```solidity
function isVoided(uint256 streamId) external view returns (bool result);
```
**Parameters**
| Name | Type | Description |
| ---------- | --------- | ---------------------------- |
| `streamId` | `uint256` | The stream ID for the query. |
### nextStreamId
Counter for stream ids.
```solidity
function nextStreamId() external view returns (uint256);
```
**Returns**
| Name | Type | Description |
| -------- | --------- | ------------------- |
| `` | `uint256` | The next stream ID. |
### nftDescriptor
Contract that generates the non-fungible token URI.
```solidity
function nftDescriptor() external view returns (IFlowNFTDescriptor);
```
### protocolFee
Protocol fee for the provided ERC-20 token, denoted as a fixed-point percentage where 1e18 is 100%.
```solidity
function protocolFee(IERC20 token) external view returns (UD60x18);
```
### protocolRevenue
Protocol revenue accrued for the provided ERC-20 token, denoted in token's decimals.
```solidity
function protocolRevenue(IERC20 token) external view returns (uint128);
```
### collectFees
Collects the accrued fees by transferring them to the contract admin.
Emits a [CollectFees](/docs/reference/flow/contracts/interfaces/interface.ISablierFlowBase.md#collectfees) event. Notes:
- If the admin is a contract, it must be able to receive native token payments, e.g., ETH for Ethereum Mainnet.
```solidity
function collectFees() external;
```
### collectProtocolRevenue
Collect the protocol revenue accrued for the provided ERC-20 token.
Emits a
[CollectProtocolRevenue](/docs/reference/flow/contracts/interfaces/interface.ISablierFlowBase.md#collectprotocolrevenue)
event. Requirements:
- `msg.sender` must be the contract admin.
- The accrued protocol revenue must be greater than zero.
```solidity
function collectProtocolRevenue(IERC20 token, address to) external;
```
**Parameters**
| Name | Type | Description |
| ------- | --------- | ----------------------------------------------------------------------------- |
| `token` | `IERC20` | The contract address of the ERC-20 token for which to claim protocol revenue. |
| `to` | `address` | The address to send the protocol revenue. |
### recover
Recover the surplus amount of tokens.
Emits a [Recover](/docs/reference/flow/contracts/interfaces/interface.ISablierFlowBase.md#recover) event. Notes:
- The surplus amount is defined as the difference between the total balance of the contract for the provided ERC-20
token and the sum of balances of all streams created using the same ERC-20 token. Requirements:
- `msg.sender` must be the contract admin.
- The surplus amount must be greater than zero.
```solidity
function recover(IERC20 token, address to) external;
```
**Parameters**
| Name | Type | Description |
| ------- | --------- | -------------------------------------------------------- |
| `token` | `IERC20` | The contract address of the ERC-20 token to recover for. |
| `to` | `address` | The address to send the surplus amount. |
### setNFTDescriptor
Sets a new NFT descriptor contract, which produces the URI describing the Sablier stream NFTs.
Emits a [SetNFTDescriptor](/docs/reference/flow/contracts/interfaces/interface.ISablierFlowBase.md#setnftdescriptor) and
{BatchMetadataUpdate} event. Notes:
- Does not revert if the NFT descriptor is the same. Requirements:
- `msg.sender` must be the contract admin.
```solidity
function setNFTDescriptor(IFlowNFTDescriptor newNFTDescriptor) external;
```
**Parameters**
| Name | Type | Description |
| ------------------ | -------------------- | ----------------------------------------------- |
| `newNFTDescriptor` | `IFlowNFTDescriptor` | The address of the new NFT descriptor contract. |
### setProtocolFee
Sets a new protocol fee that will be charged on all the withdrawals from streams created with the provided ERC-20 token.
Emits a [SetProtocolFee](/docs/reference/flow/contracts/interfaces/interface.ISablierFlowBase.md#setprotocolfee) and
{BatchMetadataUpdate} event. Notes:
- Does not revert if the fee is the same.
- It can be zero. Requirements:
- `msg.sender` must be the contract admin.
- `newProtocolFee` must not be greater than `MAX_FEE`.
```solidity
function setProtocolFee(IERC20 token, UD60x18 newProtocolFee) external;
```
**Parameters**
| Name | Type | Description |
| ---------------- | --------- | ----------------------------------------------------------------------------- |
| `token` | `IERC20` | The contract address of the ERC-20 token to update the fee for. |
| `newProtocolFee` | `UD60x18` | The new protocol fee, denoted as a fixed-point percentage where 1e18 is 100%. |
## Events
### CollectFees
Emitted when the accrued fees are collected.
```solidity
event CollectFees(address indexed admin, uint256 indexed feeAmount);
```
**Parameters**
| Name | Type | Description |
| ----------- | --------- | ----------------------------------------------------------------------- |
| `admin` | `address` | The address of the current contract admin, which has received the fees. |
| `feeAmount` | `uint256` | The amount of collected fees. |
### CollectProtocolRevenue
Emitted when the contract admin collects protocol revenue accrued.
```solidity
event CollectProtocolRevenue(address indexed admin, IERC20 indexed token, address to, uint128 revenue);
```
**Parameters**
| Name | Type | Description |
| --------- | --------- | ---------------------------------------------------------------------------- |
| `admin` | `address` | The address of the contract admin. |
| `token` | `IERC20` | The address of the ERC-20 token the protocol revenue has been collected for. |
| `to` | `address` | The address the protocol revenue has been sent to. |
| `revenue` | `uint128` | The amount of protocol revenue collected. |
### Recover
Emitted when the contract admin recovers the surplus amount of token.
```solidity
event Recover(address indexed admin, IERC20 indexed token, address to, uint256 surplus);
```
**Parameters**
| Name | Type | Description |
| --------- | --------- | -------------------------------------------------------------------------- |
| `admin` | `address` | The address of the contract admin. |
| `token` | `IERC20` | The address of the ERC-20 token the surplus amount has been recovered for. |
| `to` | `address` | The address the surplus amount has been sent to. |
| `surplus` | `uint256` | The amount of surplus tokens recovered. |
### SetNFTDescriptor
Emitted when the contract admin sets a new NFT descriptor contract.
```solidity
event SetNFTDescriptor(address indexed admin, IFlowNFTDescriptor oldNFTDescriptor, IFlowNFTDescriptor newNFTDescriptor);
```
**Parameters**
| Name | Type | Description |
| ------------------ | -------------------- | ----------------------------------------------- |
| `admin` | `address` | The address of the contract admin. |
| `oldNFTDescriptor` | `IFlowNFTDescriptor` | The address of the old NFT descriptor contract. |
| `newNFTDescriptor` | `IFlowNFTDescriptor` | The address of the new NFT descriptor contract. |
### SetProtocolFee
Emitted when the contract admin sets a new protocol fee for the provided ERC-20 token.
```solidity
event SetProtocolFee(address indexed admin, IERC20 indexed token, UD60x18 oldProtocolFee, UD60x18 newProtocolFee);
```
**Parameters**
| Name | Type | Description |
| ---------------- | --------- | ---------------------------------------------------------------------- |
| `admin` | `address` | The address of the contract admin. |
| `token` | `IERC20` | The address of the ERC-20 token the new protocol fee has been set for. |
| `oldProtocolFee` | `UD60x18` | The old protocol fee, denoted as a fixed-point percentage. |
| `newProtocolFee` | `UD60x18` | The new protocol fee, denoted as a fixed-point percentage. |
---
## Errors (3)
[Git Source](https://github.com/sablier-labs/flow/blob/a0fa33d2843af0817e34970cdc05822ead31daaa/src/libraries/Errors.sol)
Library with custom errors used across the Flow contract.
## Errors
### BatchError
Thrown when an unexpected error occurs during a batch call.
```solidity
error BatchError(bytes errorData);
```
### CallerNotAdmin
Thrown when `msg.sender` is not the admin.
```solidity
error CallerNotAdmin(address admin, address caller);
```
### DelegateCall
Thrown when trying to delegate call to a function that disallows delegate calls.
```solidity
error DelegateCall();
```
### SablierFlow_BrokerAddressZero
Thrown when trying to create a stream with a broker recipient address as zero.
```solidity
error SablierFlow_BrokerAddressZero();
```
### SablierFlow_BrokerFeeTooHigh
Thrown when trying to create a stream with a broker fee more than the allowed.
```solidity
error SablierFlow_BrokerFeeTooHigh(UD60x18 brokerFee, UD60x18 maxFee);
```
### SablierFlow_DepositAmountZero
Thrown when trying to create a stream with a zero deposit amount.
```solidity
error SablierFlow_DepositAmountZero(uint256 streamId);
```
### SablierFlow_InvalidCalculation
Thrown when an unexpected error occurs during the calculation of an amount.
```solidity
error SablierFlow_InvalidCalculation(uint256 streamId, uint128 availableAmount, uint128 amount);
```
### SablierFlow_InvalidTokenDecimals
Thrown when trying to create a stream with an token with no decimals.
```solidity
error SablierFlow_InvalidTokenDecimals(address token);
```
### SablierFlow_NotStreamRecipient
Thrown when the recipient address does not match the stream's recipient.
```solidity
error SablierFlow_NotStreamRecipient(address recipient, address streamRecipient);
```
### SablierFlow_NotStreamSender
Thrown when the sender address does not match the stream's sender.
```solidity
error SablierFlow_NotStreamSender(address sender, address streamSender);
```
### SablierFlow_Null
Thrown when the ID references a null stream.
```solidity
error SablierFlow_Null(uint256 streamId);
```
### SablierFlow_Overdraw
Thrown when trying to withdraw an amount greater than the withdrawable amount.
```solidity
error SablierFlow_Overdraw(uint256 streamId, uint128 amount, uint128 withdrawableAmount);
```
### SablierFlow_RatePerSecondNotDifferent
Thrown when trying to change the rate per second with the same rate per second.
```solidity
error SablierFlow_RatePerSecondNotDifferent(uint256 streamId, UD21x18 ratePerSecond);
```
### SablierFlow_RefundAmountZero
Thrown when trying to refund zero tokens from a stream.
```solidity
error SablierFlow_RefundAmountZero(uint256 streamId);
```
### SablierFlow_RefundOverflow
Thrown when trying to refund an amount greater than the refundable amount.
```solidity
error SablierFlow_RefundOverflow(uint256 streamId, uint128 refundAmount, uint128 refundableAmount);
```
### SablierFlow_SenderZeroAddress
Thrown when trying to create a stream with the sender as the zero address.
```solidity
error SablierFlow_SenderZeroAddress();
```
### SablierFlow_StreamBalanceZero
Thrown when trying to get depletion time of a stream with zero balance.
```solidity
error SablierFlow_StreamBalanceZero(uint256 streamId);
```
### SablierFlow_StreamPaused
Thrown when trying to perform an action with a paused stream.
```solidity
error SablierFlow_StreamPaused(uint256 streamId);
```
### SablierFlow_StreamNotPaused
Thrown when trying to restart a stream that is not paused.
```solidity
error SablierFlow_StreamNotPaused(uint256 streamId);
```
### SablierFlow_StreamVoided
Thrown when trying to perform an action with a voided stream.
```solidity
error SablierFlow_StreamVoided(uint256 streamId);
```
### SablierFlow_Unauthorized
Thrown when `msg.sender` lacks authorization to perform an action.
```solidity
error SablierFlow_Unauthorized(uint256 streamId, address caller);
```
### SablierFlow_WithdrawalAddressNotRecipient
Thrown when trying to withdraw to an address other than the recipient's.
```solidity
error SablierFlow_WithdrawalAddressNotRecipient(uint256 streamId, address caller, address to);
```
### SablierFlow_WithdrawAmountZero
Thrown when trying to withdraw zero tokens from a stream.
```solidity
error SablierFlow_WithdrawAmountZero(uint256 streamId);
```
### SablierFlow_WithdrawToZeroAddress
Thrown when trying to withdraw to the zero address.
```solidity
error SablierFlow_WithdrawToZeroAddress(uint256 streamId);
```
### SablierFlowBase_FeeTransferFail
Thrown when the fee transfer fails.
```solidity
error SablierFlowBase_FeeTransferFail(address admin, uint256 feeAmount);
```
### SablierFlowBase_NoProtocolRevenue
Thrown when trying to claim protocol revenue when the accrued amount is zero.
```solidity
error SablierFlowBase_NoProtocolRevenue(address token);
```
### SablierFlowBase_NotTransferable
Thrown when trying to transfer Stream NFT when transferability is disabled.
```solidity
error SablierFlowBase_NotTransferable(uint256 streamId);
```
### SablierFlowBase_ProtocolFeeTooHigh
Thrown when trying to set protocol fee more than the allowed.
```solidity
error SablierFlowBase_ProtocolFeeTooHigh(UD60x18 newProtocolFee, UD60x18 maxFee);
```
### SablierFlowBase_SurplusZero
Thrown when trying to recover for a token with zero surplus.
```solidity
error SablierFlowBase_SurplusZero(address token);
```
---
## Helpers
[Git Source](https://github.com/sablier-labs/flow/blob/a0fa33d2843af0817e34970cdc05822ead31daaa/src/libraries/Helpers.sol)
Library with helper functions in [SablierFlow](/docs/reference/flow/contracts/contract.SablierFlow.md) contract.
## Functions
### calculateAmountsFromFee
_Calculate the fee amount and the net amount after subtracting the fee, based on the `fee` percentage._
```solidity
function calculateAmountsFromFee(
uint128 totalAmount,
UD60x18 fee
)
internal
pure
returns (uint128 feeAmount, uint128 netAmount);
```
### checkAndCalculateBrokerFee
_Checks the `Broker` parameter, and then calculates the broker fee amount and the deposit amount from the total amount._
```solidity
function checkAndCalculateBrokerFee(
uint128 totalAmount,
Broker memory broker,
UD60x18 maxFee
)
internal
pure
returns (uint128 brokerFeeAmount, uint128 depositAmount);
```
### descaleAmount
_Descales the provided `amount` from 18 decimals fixed-point number to token's decimals number._
```solidity
function descaleAmount(uint256 amount, uint8 decimals) internal pure returns (uint256);
```
### scaleAmount
_Scales the provided `amount` from token's decimals number to 18 decimals fixed-point number._
```solidity
function scaleAmount(uint256 amount, uint8 decimals) internal pure returns (uint256);
```
---
## Flow
[Git Source](https://github.com/sablier-labs/flow/blob/a0fa33d2843af0817e34970cdc05822ead31daaa/src/types/DataTypes.sol)
## Structs
### Stream
Struct representing Flow streams.
_The fields are arranged like this to save gas via tight variable packing._
```solidity
struct Stream {
uint128 balance;
UD21x18 ratePerSecond;
address sender;
uint40 snapshotTime;
bool isStream;
bool isTransferable;
bool isVoided;
IERC20 token;
uint8 tokenDecimals;
uint256 snapshotDebtScaled;
}
```
**Properties**
| Name | Type | Description |
| -------------------- | --------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `balance` | `uint128` | The amount of tokens that are currently available in the stream, denoted in token's decimals. This is the sum of deposited amounts minus the sum of withdrawn amounts. |
| `ratePerSecond` | `UD21x18` | The payment rate per second, denoted as a fixed-point number where 1e18 is 1 token per second. For example, to stream 1000 tokens per week, this parameter would have the value $(1000 * 10^{18}) / (7 days in seconds)$. |
| `sender` | `address` | The address streaming the tokens, with the ability to pause the stream. |
| `snapshotTime` | `uint40` | The Unix timestamp used for the ongoing debt calculation. |
| `isStream` | `bool` | Boolean indicating if the struct entity exists. |
| `isTransferable` | `bool` | Boolean indicating if the stream NFT is transferable. |
| `isVoided` | `bool` | Boolean indicating if the stream is voided. Voiding any stream is non-reversible and it cannot be restarted. Voiding an insolvent stream sets its uncovered debt to zero. |
| `token` | `IERC20` | The contract address of the ERC-20 token to stream. |
| `tokenDecimals` | `uint8` | The decimals of the ERC-20 token to stream. |
| `snapshotDebtScaled` | `uint256` | The amount of tokens that the sender owed to the recipient at snapshot time, denoted as a 18-decimals fixed-point number. This, along with the ongoing debt, can be used to calculate the total debt at any given point in time. |
## Enums
### Status
Enum representing the different statuses of a stream.
Explanations for the two types of streams:
1. Streaming: when the total debt is increasing.
2. Paused: when the total debt is not increasing.
**Notes:**
- value0: STREAMING_SOLVENT Streaming stream when there is no uncovered debt.
- value1: STREAMING_INSOLVENT Streaming stream when there is uncovered debt.
- value2: PAUSED_SOLVENT Paused stream when there is no uncovered debt.
- value3: PAUSED_INSOLVENT Paused stream when there is uncovered debt.
- value4: VOIDED Paused stream with no uncovered debt and it cannot be restarted.
```solidity
enum Status {
STREAMING_SOLVENT,
STREAMING_INSOLVENT,
PAUSED_SOLVENT,
PAUSED_INSOLVENT,
VOIDED
}
```
---
## Broker
[Git Source](https://github.com/sablier-labs/flow/blob/a0fa33d2843af0817e34970cdc05822ead31daaa/src/types/DataTypes.sol)
Struct encapsulating the broker parameters.
```solidity
struct Broker {
address account;
UD60x18 fee;
}
```
**Properties**
| Name | Type | Description |
| --------- | --------- | -------------------------------------------------------------------------------------------------------------------- |
| `account` | `address` | The address receiving the broker's fee. |
| `fee` | `UD60x18` | The broker's percentage fee charged from the deposit amount, denoted as a fixed-point percentage where 1e18 is 100%. |
---
## Constant Functions
## Get Stream
Returns all properties for the provided stream id.
```solidity
function getStream(uint256 streamId) view returns (address sender, address recipient, address tokenAddress, uint256 balance, uint256 startTime, uint256 stopTime, uint256 remainingBalance, uint256 ratePerSecond)
```
- `streamId`: The id of the stream to query.
- `RETURN`
- `sender`: The address that created and funded the stream.
- `recipient`: The address towards which the tokens are streamed.
- `tokenAddress`: The address of the ERC-20 token used as streaming currency.
- `startTime`: The unix timestamp for when the stream starts, in seconds.
- `stopTime`: The unix timestamp for when the stream stops, in seconds.
- `remainingBalance`: How much tokens are still allocated to this stream, in the smart contract.
- `ratePerSecond`: How much tokens are allocated from the sender to the recipient every second.
### Solidity
```solidity
Sablier sablier = Sablier(0xabcd...);
uint256 streamId = 42;
(uint256 sender, uint256 recipient, uint256 deposit, address tokenAddress, uint256 startTime, uint256 stopTime, uint256 remainingBalance, uint256 ratePerSecond) = sablier.getStream(streamId);
```
### Ethers.js
```javascript
const sablier = new ethers.Contract(0xabcd..., sablierABI, signerOrProvider);
const streamId = 42;
const stream = await sablier.getStream(streamId);
```
---
## Balance Of
Returns the real-time balance of an account with regards to a specific stream.
```solidity
function balanceOf(uint256 streamId, address who) view returns (uint256)
```
- `streamId`: The id of the stream for which to query the balance.
- `who`: The address for which to query the balance.
- `RETURN`: The available balance in units of the underlying ERC-20 token.
:::info
This is the amount of tokens that can be withdrawn from the contract, not the total amount of tokens streamed. If the
contract streamed 1,000 tokens to Bob, but Bob withdrew 400 tokens already, this function will return 600 and not 1,000.
:::
### Solidity
```solidity
Sablier sablier = Sablier(0xabcd...);
uint256 streamId = 42;
uint256 senderAddress = 0xcdef...;
uint256 balance = sablier.balanceOf(streamId, senderAddress);
```
### Javascript
```javascript
const sablier = new ethers.Contract(0xabcd..., sablierABI, signerOrProvider);
const streamId = 42;
const senderAddress = 0xcdef...;
const balance = await sablier.balanceOf(streamId, senderAddress);
```
---
## Delta of
Returns either the difference between now and the start time of the stream OR between the stop time and the start time
of the stream, whichever is smaller. However, if the clock did not hit the start time of the stream, the value returned
is 0 instead.
```solidity
function deltaOf(uint256 streamId) view returns (uint256)
```
`streamId`: The id of the stream for which to query the delta. `RETURN`: The time delta in seconds.
### Solidity
```solidity
Sablier sablier = Sablier(0xabcd...);
uint256 streamId = 42;
uint256 delta = sablier.deltaOf(streamId);
```
### Ethers.js
```javascript
const sablier = new ethers.Contract(0xabcd..., sablierABI, signerOrProvider);
const streamId = 42;
const delta = await sablier.deltaOf(streamId);
```
---
## Error Table
The table below lists all possible reasons for reverting a contract call that creates, withdraws from or cancels a
stream. The "Id" column is just a counter used in this table - the smart contract does not yield error codes, just
strings.
| Number | Error | Reason |
| ------ | ------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------- |
| 1 | stream does not exist | The provided stream id does not point to a valid stream |
| 2 | caller is not the sender or the recipient of the stream | The contract call originates from an unauthorized third-party |
| 3 | SafeERC20: low-level call failed | Possibly insufficient allowance, but not necessarily so |
| 4 | stream to the zero address | Attempt to stream tokens to the [zero address](https://etherscan.io/address/0x0000000000000000000000000000000000000000) |
| 5 | stream to the contract itself | Attempt to stream tokens to the Sablier contract |
| 6 | stream to the caller | Happens when the caller attempts to stream tokens to herself |
| 7 | deposit is zero | Attempt to stream 0 tokens |
| 8 | start time before block.timestamp | Tokens cannot be streamed retroactively |
| 9 | stop time before the start time | Negative streaming is not allowed |
| 10 | deposit smaller than time delta | The deposit, measured in units of the token, is smaller than the time delta |
| 11 | deposit not multiple of time delta | The deposit has a non-zero remainder when divided by the time delta |
| 12 | amount is zero | Attempt to withdraw 0 tokens |
| 13 | amount exceeds the available balance | Attempt to withdraw more tokens than the available balance |
| 14 | recipient balance calculation error | Happens only when streaming an absurdly high number of tokens (close to 2^256) |
:::info
The contract call could revert with [no reason](https://vmexceptionwhileprocessingtransactionrevert.com/) provided. In
this case, you probably did not approve the Lockup contract to spend your token balance, although this is not
necessarily the case. Ping us on [Discord](https://discord.sablier.com) if you get stuck.
:::
---
## Non-Constant Functions
## Create stream
The create stream function transfers the tokens into the Sablier smart contract, stamping the rules of the stream into
the blockchain. As soon as the chain clock hits the start time of the stream, a small portion of tokens starts getting
"transferred" from the sender to the recipient once every second.
We used scare quotes because what actually happens is not a transfer, but rather an abstract allocation of funds. Every
second, the in-contract allowance of the sender decreases. while the recipient's allocation increases, even if the
tokens are not transferred to the recipient. Actually transferring the tokens would be excessively expensive in terms of
gas costs.
```solidity
function createStream(address recipient, uint256 deposit, address tokenAddress, uint256 startTime, uint256 stopTime) returns (uint256)
```
- `msg.sender`: The account who funds the stream, and pays the recipient in real-time.
- `recipient`: The account toward which the tokens will be streamed.
- `deposit`: The amount of tokens to be streamed, in units of the streaming currency.
- `tokenAddress`: The address of the ERC-20 token to use as streaming currency.
- `startTime`: The unix timestamp for when the stream starts, in seconds.
- `stopTime`: The unix timestamp for when the stream stops, in seconds.
- `RETURN`: The stream's id as an unsigned integer on success, reverts on error.
:::caution
Before creating a stream, users must first [approve](https://eips.ethereum.org/EIPS/eip-20#approve) the Sablier contract
to access their token balance.
:::
:::danger
The transaction must be processed by the Ethereum blockchain before the start time of the stream, or otherwise the
contract will revert with a "start time before block.timestamp" message.
:::
### The Deposit Gotcha
The deposit must be a multiple of the difference between the stop time and the start time, or otherwise the contract
reverts with a "deposit not multiple of time delta" message. In practice, this means that you may not able to always use
exact amounts like 3,000. You may have to divide the fixed deposit by the time delta and subtract the remainder from the
initial number. Thus you may have to stream a value that is very, very close to the fixed deposit, but not quite it.
For example, if:
- The token has 18 decimals
- The time delta is 2592000 (30 days)
You will have to stream 2999999999999998944000 instead of 3000000000000000000000. The former divides evenly by 2592000,
but the latter doesn't.
### Solidity
```solidity
Sablier sablier = Sablier(0xabcd...); // get a handle for the Sablier contract
address recipient = 0xcdef...;
uint256 deposit = 2999999999999998944000; // almost 3,000, but not quite
uint256 startTime = block.timestamp + 3600; // 1 hour from now
uint256 stopTime = block.timestamp + 2592000 + 3600; // 30 days and 1 hour from now
Erc20 token = Erc20(0xcafe...); // get a handle for the token contract
token.approve(address(sablier), deposit); // approve the transfer
// the stream id is needed later to withdraw from or cancel the stream
uint256 streamId = sablier.createStream(recipient, deposit, address(token), startTime, stopTime);
```
### Ethers.js
```javascript
const sablier = new ethers.Contract(0xabcd..., sablierABI, signerOrProvider); // get a handle for the Sablier contract
const recipient = 0xcdef...;
const deposit = "2999999999999998944000"; // almost 3,000, but not quite
const now = Math.round(new Date().getTime() / 1000); // get seconds since unix epoch
const startTime = now + 3600; // 1 hour from now
const stopTime = now + 2592000 + 3600; // 30 days and 1 hour from now
const token = new ethers.Contract(0xcafe..., erc20ABI, signerOrProvider); // get a handle for the token contract
const approveTx = await token.approve(sablier.address, deposit); // approve the transfer
await approveTx.wait();
const createStreamTx = await sablier.createStream(recipient, deposit, token.address, startTime, stopTime);
await createStreamTx.wait();
```
---
## Withdraw from Stream
The withdraw from stream function transfers an amount of tokens from the Sablier contract to the recipient's account.
The withdrawn amount must be less than or equal to the available [balance](./constant-functions#balance-of). This
function can only be called by the sender or the recipient of the stream, not any third-party.
```solidity
function withdrawFromStream(uint256 streamId, uint256 amount) returns (bool);
```
- `streamId`: The id of the stream to withdraw tokens from.
- `amount`: The amount of tokens to withdraw.
- `RETURN`: True on success, reverts on error.
:::info
To be able to call this function, you have to wait until the clock goes past the start time of the stream.
:::
### Solidity
```solidity
Sablier sablier = Sablier(0xabcd...);
uint256 streamId = 42;
uint256 amount = 100;
require(sablier.withdrawFromStream(streamId, amount), "something went wrong");
```
### Ethers.js
```javascript
const sablier = new ethers.Contract(0xabcd..., sablierABI, signerOrProvider);
const streamId = 42;
const amount = 100;
const withdrawFromStreamTx = await sablier.withdrawFromStream(streamId, amount);
await withdrawFromStreamTx.wait();
```
---
## Cancel Stream
The cancel stream function revokes a previously created stream and returns the tokens back to the sender and/or the
recipient. If the chain clock did not hit the start time, all the tokens is returned to the sender. If the chain clock
did go past the start time, but not past the stop time, the sender and the recipient each get a pro-rata amount.
Finally, if the chain clock went past the stop time, all the tokens goes the recipient. This function can be called only
by the sender.
```solidity
function cancelStream(uint256 streamId) returns (bool);
```
- `streamId`: The id of the stream to cancel.
- `RETURN`: True on success, reverts on error.
### Solidity
```solidity
Sablier sablier = Sablier(0xabcd...);
uint256 streamId = 42;
require(sablier.cancelStream(streamId), "something went wrong");
```
### Ethers.js
```javascript
const sablier = new ethers.Contract(0xabcd..., sablierABI, signerOrProvider);
const streamId = 42;
const cancelStreamTx = await sablier.cancelStream(streamId);
await cancelStreamTx.wait();
```
---
## Diagrams (3)
## Token Flows
:::tip
If you are interested into creating a stream with non-transferrable tokens, make sure to whitelist both `BatchLockup`
and `Lockup` contracts.
:::
### Creating a Single Stream
```mermaid
sequenceDiagram
actor Sender
Sender ->> Lockup: createWithDurations()
Sender -->> Lockup: Transfer tokens
Lockup -->> Sender: Mint Stream NFT
```
### Creating a Batch of Streams
```mermaid
sequenceDiagram
actor Sender
Sender ->> BatchLockup: createWithDurations()
BatchLockup ->> Lockup: createWithDurations()
Sender -->> BatchLockup: Transfer tokens
BatchLockup -->> Lockup: Transfer tokens
Lockup -->> Sender: Mint Stream NFT
```
## Storage Layout
### Common
Lockup is a singleton contract that stores all streams created by that contract's users. The following diagrams provide
insight into the shared storage layout of each stream. To see the full list of storage variables, check out
[this reference](/reference/lockup/contracts/types/library.Lockup#structs).
```mermaid
flowchart TD;
L["Lockup contract"];
S0[(Stream 1)];
S01([amounts])
S02([isCancelable])
S03([isTransferable])
S04([endTime])
S05([lockupModel])
S06([sender])
S07([startTime])
S08([token])
L --> S0;
S0 --> S01;
S0 --> S02;
S0 --> S03;
S0 --> S04;
S0 --> S05;
S0 --> S06;
S0 --> S07;
S0 --> S08;
```
Each [amounts storage](/reference/lockup/contracts/types/library.Lockup#amounts) is made of the following components:
```mermaid
flowchart TD;
S01([amounts])
A1([deposited])
A2([withdrawn])
A3([refunded])
S01 --> A1;
S01 --> A2;
S01 --> A3;
```
:::info
Each stream belongs to one of the three models: Linear, Dynamic and Tranched. Each of these model has its own storage as
outlined below.
:::
### Linear Stream
Apart from the above storage layout, Linear stream requires storing
[unlock amounts](/reference/lockup/contracts/types/library.LockupLinear#unlockamounts) and cliff time.
```mermaid
flowchart TD;
L[(Linear stream)];
S0([common storage])
S1([cliff])
S2([start amount])
S3([cliff amount])
L --> S0;
L --> S1;
L --> S2;
L --> S3;
```
### Dynamic Stream
Similarly, Dynamic stream requires an array of
[segments](/reference/lockup/contracts/types/library.LockupDynamic#segment).
```mermaid
flowchart TD;
L[(Dynamic stream)];
S0([common storage])
S1([segment 1])
S2([segment 2])
S3([segment 3])
L --> S0;
L --> S1;
L --> S2;
L --> S3;
```
Where each segment is made of three components:
```mermaid
flowchart TD;
S1([segment 1])
S1 --> A01([amount])
S1 --> A02([exponent])
S1 --> A03([timestamp])
S2([segment 2])
S2 --> A11([amount])
S2 --> A12([exponent])
S2 --> A13([timestamp])
```
### Tranched Stream
A Tranched stream requires an array of [tranches](/reference/lockup/contracts/types/library.LockupTranched#tranche).
```mermaid
flowchart TD;
L[(Tranched stream)];
S0([common storage])
S1([tranche 1])
S2([tranche 2])
S3([tranche 3])
L --> S0;
L --> S1;
L --> S2;
L --> S3;
```
Where each tranche is made of two components:
```mermaid
flowchart TD;
S1([tranche 1])
S1 --> A01([amount])
S1 --> A02([timestamp])
S2([tranche 2])
S2 --> A11([amount])
S2 --> A12([timestamp])
```
---
## Access Control (3)
With the exception of the [admin functions](/concepts/governance#lockup), all functions in Lockup can only be triggered
by users. The Protocol Admin has no control over any stream or any part of the protocol.
This article will provide a comprehensive overview of the actions that can be performed on streams once they are
created, as well as the corresponding user permissions for each action.
:::note
Every stream has a sender and a recipient. Recipients can approve third parties to take actions on their behalf. An
'public' caller is any address outside of sender and recipient.
:::
## Overview
The table below offers a quick overview of the access control for each action that can be performed on a stream.
| Action | Sender | Recipient / Approved third party | Public |
| ----------------------- | :----: | :------------------------------: | :----: |
| Burn NFT | ❌ | ✅ | ❌ |
| Cancel | ✅ | ❌ | ❌ |
| Cancel Multiple | ✅ | ❌ | ❌ |
| Renounce | ✅ | ❌ | ❌ |
| Transfer NFT | ❌ | ✅ | ❌ |
| Withdraw to any address | ❌ | ✅ | ❌ |
| Withdraw to recipient | ✅ | ✅ | ✅ |
| Withdraw Multiple | ✅ | ✅ | ✅ |
## Burn NFT
Either the recipient or an approved operator can burn the NFT associated with a stream.
```mermaid
sequenceDiagram
actor Recipient
Recipient ->> Lockup: burn()
Recipient -->> address(0): Transfer stream NFT
```
#### With Operator:
```mermaid
sequenceDiagram
actor Recipient
actor Operator
Recipient ->> Lockup: approve(operator)
Operator ->> Lockup: burn()
Recipient -->> address(0): Transfer stream NFT
```
## Cancel
Only the sender can cancel a stream.
```mermaid
sequenceDiagram
actor Sender
Sender ->> Lockup: cancel()
Lockup -->> Sender: Transfer unvested tokens
```
## Cancel Multiple
Only the sender can cancel multiple streams.
```mermaid
sequenceDiagram
actor Sender
Sender ->> Lockup: cancelMultiple()
Lockup -->> Sender: Transfer unvested tokens from multiple streams
```
## Renounce
Only the sender can renounce a stream.
```mermaid
sequenceDiagram
actor Sender
Sender ->> Lockup: renounce()
```
## Transfer NFT
Either the recipient or an approved operator can transfer the NFT associated with a stream.
- Only if the stream is transferable.
```mermaid
sequenceDiagram
actor Recipient
Recipient ->> Lockup: transfer(toAddress)
Create actor toAddress
Recipient -->> toAddress: Transfer NFT
```
#### With Operator:
```mermaid
sequenceDiagram
actor Recipient
actor Operator
Recipient ->> Lockup: approve(operator)
Operator ->> Lockup: transfer(toAddress)
Create actor toAddress
Recipient -->> toAddress: Transfer NFT
```
## Withdraw Multiple
Anybody can withdraw tokens from multiple streams to the recipients of each stream.
```mermaid
sequenceDiagram
actor Anyone
Anyone ->> Lockup: withdrawMultiple()
Create actor getRecipient(1)
Lockup -->> getRecipient(1): Transfer vested tokens from stream 1
Create actor getRecipient(2)
Lockup -->> getRecipient(2): Transfer vested tokens from stream 2
Create actor getRecipient(3)
Lockup -->> getRecipient(3): Transfer vested tokens from stream 3
```
## Withdraw to Any Address
The tokens in a stream can be withdrawn to any address only by the recipient or an approved third party.
```mermaid
sequenceDiagram
actor Recipient
Recipient ->> Lockup: withdraw(toAddress)
Create actor toAddress
Lockup -->> toAddress: Transfer vested tokens
```
#### With Operator:
```mermaid
sequenceDiagram
actor Recipient
actor Operator
Recipient ->> Lockup: approve(operator)
Operator ->> Lockup: withdraw(toAddress)
Create actor toAddress
Lockup -->> toAddress: Transfer vested tokens
```
## Withdraw to Recipient
The tokens in a stream can be withdrawn to the recipient by anyone including the sender, recipient, or an approved third
party.
```mermaid
sequenceDiagram
actor Anyone
Anyone ->> Lockup: withdraw(recipient)
Create actor Recipient
Lockup -->> Recipient: Transfer vested tokens
```
---
## Adminable (2)
[Git Source](https://github.com/sablier-labs/lockup/blob/463278dbb461b1733d6424cf0aeee3b8d6bc036a/src/abstracts/Adminable.sol)
**Inherits:** [IAdminable](/docs/reference/lockup/contracts/interfaces/interface.IAdminable.md)
See the documentation in [IAdminable](/docs/reference/lockup/contracts/interfaces/interface.IAdminable.md).
## State Variables
### admin
The address of the admin account or contract.
```solidity
address public override admin;
```
## Functions
### onlyAdmin
Reverts if called by any account other than the admin.
```solidity
modifier onlyAdmin();
```
### constructor
_Emits a {TransferAdmin} event._
```solidity
constructor(address initialAdmin);
```
**Parameters**
| Name | Type | Description |
| -------------- | --------- | --------------------------------- |
| `initialAdmin` | `address` | The address of the initial admin. |
### transferAdmin
Transfers the contract admin to a new address.
Notes:
- Does not revert if the admin is the same.
- This function can potentially leave the contract without an admin, thereby removing any functionality that is only
available to the admin. Requirements:
- `msg.sender` must be the contract admin.
```solidity
function transferAdmin(address newAdmin) public virtual override onlyAdmin;
```
**Parameters**
| Name | Type | Description |
| ---------- | --------- | ----------------------------- |
| `newAdmin` | `address` | The address of the new admin. |
---
## Batch (12)
[Git Source](https://github.com/sablier-labs/lockup/blob/463278dbb461b1733d6424cf0aeee3b8d6bc036a/src/abstracts/Batch.sol)
**Inherits:** [IBatch](/docs/reference/lockup/contracts/interfaces/interface.IBatch.md)
See the documentation in [IBatch](/docs/reference/lockup/contracts/interfaces/interface.IBatch.md).
## Functions
### batch
Allows batched calls to self, i.e., `this` contract.
_Since `msg.value` can be reused across calls, be VERY CAREFUL when using it. Refer to
https://paradigm.xyz/2021/08/two-rights-might-make-a-wrong for more information._
```solidity
function batch(bytes[] calldata calls) external payable override returns (bytes[] memory results);
```
**Parameters**
| Name | Type | Description |
| ------- | --------- | --------------------------------- |
| `calls` | `bytes[]` | An array of inputs for each call. |
**Returns**
| Name | Type | Description |
| --------- | --------- | -------------------------------------------------------------------------------- |
| `results` | `bytes[]` | An array of results from each call. Empty when the calls do not return anything. |
---
## NoDelegateCall (2)
[Git Source](https://github.com/sablier-labs/lockup/blob/463278dbb461b1733d6424cf0aeee3b8d6bc036a/src/abstracts/NoDelegateCall.sol)
This contract implements logic to prevent delegate calls.
## State Variables
### ORIGINAL
_The address of the original contract that was deployed._
```solidity
address private immutable ORIGINAL;
```
## Functions
### constructor
_Sets the original contract address._
```solidity
constructor();
```
### noDelegateCall
Prevents delegate calls.
```solidity
modifier noDelegateCall();
```
### \_preventDelegateCall
This function checks whether the current call is a delegate call, and reverts if it is.
- A private function is used instead of inlining this logic in a modifier because Solidity copies modifiers into every
function that uses them. The `ORIGINAL` address would get copied in every place the modifier is used, which would
increase the contract size. By using a function instead, we can avoid this duplication of code and reduce the overall
size of the contract.
```solidity
function _preventDelegateCall() private view;
```
---
## SablierLockupBase
[Git Source](https://github.com/sablier-labs/lockup/blob/463278dbb461b1733d6424cf0aeee3b8d6bc036a/src/abstracts/SablierLockupBase.sol)
**Inherits:** [Batch](/docs/reference/lockup/contracts/abstracts/abstract.Batch.md),
[NoDelegateCall](/docs/reference/lockup/contracts/abstracts/abstract.NoDelegateCall.md),
[Adminable](/docs/reference/lockup/contracts/abstracts/abstract.Adminable.md),
[ISablierLockupBase](/docs/reference/lockup/contracts/interfaces/interface.ISablierLockupBase.md), ERC721
See the documentation in
[ISablierLockupBase](/docs/reference/lockup/contracts/interfaces/interface.ISablierLockupBase.md).
## State Variables
### MAX_BROKER_FEE
Retrieves the maximum broker fee that can be charged by the broker, denoted as a fixed-point number where 1e18 is 100%.
_This value is hard coded as a constant._
```solidity
UD60x18 public constant override MAX_BROKER_FEE = UD60x18.wrap(0.1e18);
```
### nextStreamId
Counter for stream IDs, used in the create functions.
```solidity
uint256 public override nextStreamId;
```
### nftDescriptor
Contract that generates the non-fungible token URI.
```solidity
ILockupNFTDescriptor public override nftDescriptor;
```
### \_allowedToHook
_Mapping of contracts allowed to hook to Sablier when a stream is canceled or when tokens are withdrawn._
```solidity
mapping(address recipient => bool allowed) internal _allowedToHook;
```
### \_streams
_Lockup streams mapped by unsigned integers._
```solidity
mapping(uint256 id => Lockup.Stream stream) internal _streams;
```
## Functions
### constructor
```solidity
constructor(address initialAdmin, ILockupNFTDescriptor initialNFTDescriptor) Adminable(initialAdmin);
```
**Parameters**
| Name | Type | Description |
| ---------------------- | ---------------------- | ------------------------------------------ |
| `initialAdmin` | `address` | The address of the initial contract admin. |
| `initialNFTDescriptor` | `ILockupNFTDescriptor` | The address of the initial NFT descriptor. |
### notNull
_Checks that `streamId` does not reference a null stream._
```solidity
modifier notNull(uint256 streamId);
```
### getDepositedAmount
Retrieves the amount deposited in the stream, denoted in units of the token's decimals.
_Reverts if `streamId` references a null stream._
```solidity
function getDepositedAmount(uint256 streamId)
external
view
override
notNull(streamId)
returns (uint128 depositedAmount);
```
**Parameters**
| Name | Type | Description |
| ---------- | --------- | ---------------------------- |
| `streamId` | `uint256` | The stream ID for the query. |
### getEndTime
Retrieves the stream's end time, which is a Unix timestamp.
_Reverts if `streamId` references a null stream._
```solidity
function getEndTime(uint256 streamId) external view override notNull(streamId) returns (uint40 endTime);
```
**Parameters**
| Name | Type | Description |
| ---------- | --------- | ---------------------------- |
| `streamId` | `uint256` | The stream ID for the query. |
### getLockupModel
Retrieves the distribution models used to create the stream.
_Reverts if `streamId` references a null stream._
```solidity
function getLockupModel(uint256 streamId) external view override notNull(streamId) returns (Lockup.Model lockupModel);
```
**Parameters**
| Name | Type | Description |
| ---------- | --------- | ---------------------------- |
| `streamId` | `uint256` | The stream ID for the query. |
### getRecipient
Retrieves the stream's recipient.
_Reverts if the NFT has been burned._
```solidity
function getRecipient(uint256 streamId) external view override returns (address recipient);
```
**Parameters**
| Name | Type | Description |
| ---------- | --------- | ---------------------------- |
| `streamId` | `uint256` | The stream ID for the query. |
### getRefundedAmount
Retrieves the amount refunded to the sender after a cancellation, denoted in units of the token's decimals. This amount
is always zero unless the stream was canceled.
_Reverts if `streamId` references a null stream._
```solidity
function getRefundedAmount(uint256 streamId)
external
view
override
notNull(streamId)
returns (uint128 refundedAmount);
```
**Parameters**
| Name | Type | Description |
| ---------- | --------- | ---------------------------- |
| `streamId` | `uint256` | The stream ID for the query. |
### getSender
Retrieves the stream's sender.
_Reverts if `streamId` references a null stream._
```solidity
function getSender(uint256 streamId) external view override notNull(streamId) returns (address sender);
```
**Parameters**
| Name | Type | Description |
| ---------- | --------- | ---------------------------- |
| `streamId` | `uint256` | The stream ID for the query. |
### getStartTime
Retrieves the stream's start time, which is a Unix timestamp.
_Reverts if `streamId` references a null stream._
```solidity
function getStartTime(uint256 streamId) external view override notNull(streamId) returns (uint40 startTime);
```
**Parameters**
| Name | Type | Description |
| ---------- | --------- | ---------------------------- |
| `streamId` | `uint256` | The stream ID for the query. |
### getUnderlyingToken
Retrieves the address of the underlying ERC-20 token being distributed.
_Reverts if `streamId` references a null stream._
```solidity
function getUnderlyingToken(uint256 streamId) external view override notNull(streamId) returns (IERC20 token);
```
**Parameters**
| Name | Type | Description |
| ---------- | --------- | ---------------------------- |
| `streamId` | `uint256` | The stream ID for the query. |
### getWithdrawnAmount
Retrieves the amount withdrawn from the stream, denoted in units of the token's decimals.
_Reverts if `streamId` references a null stream._
```solidity
function getWithdrawnAmount(uint256 streamId)
external
view
override
notNull(streamId)
returns (uint128 withdrawnAmount);
```
**Parameters**
| Name | Type | Description |
| ---------- | --------- | ---------------------------- |
| `streamId` | `uint256` | The stream ID for the query. |
### isAllowedToHook
Retrieves a flag indicating whether the provided address is a contract allowed to hook to Sablier when a stream is
canceled or when tokens are withdrawn.
_See [ISablierLockupRecipient](/docs/reference/lockup/contracts/interfaces/interface.ISablierLockupRecipient.md) for
more information._
```solidity
function isAllowedToHook(address recipient) external view returns (bool result);
```
### isCancelable
Retrieves a flag indicating whether the stream can be canceled. When the stream is cold, this flag is always `false`.
_Reverts if `streamId` references a null stream._
```solidity
function isCancelable(uint256 streamId) external view override notNull(streamId) returns (bool result);
```
**Parameters**
| Name | Type | Description |
| ---------- | --------- | ---------------------------- |
| `streamId` | `uint256` | The stream ID for the query. |
### isCold
Retrieves a flag indicating whether the stream is cold, i.e. settled, canceled, or depleted.
_Reverts if `streamId` references a null stream._
```solidity
function isCold(uint256 streamId) external view override notNull(streamId) returns (bool result);
```
**Parameters**
| Name | Type | Description |
| ---------- | --------- | ---------------------------- |
| `streamId` | `uint256` | The stream ID for the query. |
### isDepleted
Retrieves a flag indicating whether the stream is depleted.
_Reverts if `streamId` references a null stream._
```solidity
function isDepleted(uint256 streamId) external view override notNull(streamId) returns (bool result);
```
**Parameters**
| Name | Type | Description |
| ---------- | --------- | ---------------------------- |
| `streamId` | `uint256` | The stream ID for the query. |
### isStream
Retrieves a flag indicating whether the stream exists.
_Does not revert if `streamId` references a null stream._
```solidity
function isStream(uint256 streamId) external view override returns (bool result);
```
**Parameters**
| Name | Type | Description |
| ---------- | --------- | ---------------------------- |
| `streamId` | `uint256` | The stream ID for the query. |
### isTransferable
Retrieves a flag indicating whether the stream NFT can be transferred.
_Reverts if `streamId` references a null stream._
```solidity
function isTransferable(uint256 streamId) external view override notNull(streamId) returns (bool result);
```
**Parameters**
| Name | Type | Description |
| ---------- | --------- | ---------------------------- |
| `streamId` | `uint256` | The stream ID for the query. |
### isWarm
Retrieves a flag indicating whether the stream is warm, i.e. either pending or streaming.
_Reverts if `streamId` references a null stream._
```solidity
function isWarm(uint256 streamId) external view override notNull(streamId) returns (bool result);
```
**Parameters**
| Name | Type | Description |
| ---------- | --------- | ---------------------------- |
| `streamId` | `uint256` | The stream ID for the query. |
### refundableAmountOf
Calculates the amount that the sender would be refunded if the stream were canceled, denoted in units of the token's
decimals.
_Reverts if `streamId` references a null stream._
```solidity
function refundableAmountOf(uint256 streamId)
external
view
override
notNull(streamId)
returns (uint128 refundableAmount);
```
**Parameters**
| Name | Type | Description |
| ---------- | --------- | ---------------------------- |
| `streamId` | `uint256` | The stream ID for the query. |
### statusOf
Retrieves the stream's status.
_Reverts if `streamId` references a null stream._
```solidity
function statusOf(uint256 streamId) external view override notNull(streamId) returns (Lockup.Status status);
```
**Parameters**
| Name | Type | Description |
| ---------- | --------- | ---------------------------- |
| `streamId` | `uint256` | The stream ID for the query. |
### streamedAmountOf
Calculates the amount streamed to the recipient, denoted in units of the token's decimals.
Reverts if `streamId` references a null stream. Notes:
- Upon cancellation of the stream, the amount streamed is calculated as the difference between the deposited amount and
the refunded amount. Ultimately, when the stream becomes depleted, the streamed amount is equivalent to the total
amount withdrawn.
```solidity
function streamedAmountOf(uint256 streamId) external view override notNull(streamId) returns (uint128 streamedAmount);
```
**Parameters**
| Name | Type | Description |
| ---------- | --------- | ---------------------------- |
| `streamId` | `uint256` | The stream ID for the query. |
### supportsInterface
_See {IERC165-supportsInterface}._
```solidity
function supportsInterface(bytes4 interfaceId) public view override(IERC165, ERC721) returns (bool);
```
### tokenURI
_See {IERC721Metadata-tokenURI}._
```solidity
function tokenURI(uint256 streamId) public view override(IERC721Metadata, ERC721) returns (string memory uri);
```
### wasCanceled
Retrieves a flag indicating whether the stream was canceled.
_Reverts if `streamId` references a null stream._
```solidity
function wasCanceled(uint256 streamId) external view override notNull(streamId) returns (bool result);
```
**Parameters**
| Name | Type | Description |
| ---------- | --------- | ---------------------------- |
| `streamId` | `uint256` | The stream ID for the query. |
### withdrawableAmountOf
Calculates the amount that the recipient can withdraw from the stream, denoted in units of the token's decimals.
_Reverts if `streamId` references a null stream._
```solidity
function withdrawableAmountOf(uint256 streamId)
external
view
override
notNull(streamId)
returns (uint128 withdrawableAmount);
```
**Parameters**
| Name | Type | Description |
| ---------- | --------- | ---------------------------- |
| `streamId` | `uint256` | The stream ID for the query. |
### allowToHook
Allows a recipient contract to hook to Sablier when a stream is canceled or when tokens are withdrawn. Useful for
implementing contracts that hold streams on behalf of users, such as vaults or staking contracts.
Emits an {AllowToHook} event. Notes:
- Does not revert if the contract is already on the allowlist.
- This is an irreversible operation. The contract cannot be removed from the allowlist. Requirements:
- `msg.sender` must be the contract admin.
- `recipient` must have a non-zero code size.
- `recipient` must implement
[ISablierLockupRecipient](/docs/reference/lockup/contracts/interfaces/interface.ISablierLockupRecipient.md).
```solidity
function allowToHook(address recipient) external override onlyAdmin;
```
**Parameters**
| Name | Type | Description |
| ----------- | --------- | ----------------------------------------------- |
| `recipient` | `address` | The address of the contract to allow for hooks. |
### burn
Burns the NFT associated with the stream.
Emits a {Transfer} and {MetadataUpdate} event. Requirements:
- Must not be delegate called.
- `streamId` must reference a depleted stream.
- The NFT must exist.
- `msg.sender` must be either the NFT owner or an approved third party.
```solidity
function burn(uint256 streamId) external payable override noDelegateCall notNull(streamId);
```
**Parameters**
| Name | Type | Description |
| ---------- | --------- | --------------------------------- |
| `streamId` | `uint256` | The ID of the stream NFT to burn. |
### cancel
Cancels the stream and refunds any remaining tokens to the sender.
Emits a {Transfer}, {CancelLockupStream} and {MetadataUpdate} event. Notes:
- If there any tokens left for the recipient to withdraw, the stream is marked as canceled. Otherwise, the stream is
marked as depleted.
- If the address is on the allowlist, this function will invoke a hook on the recipient. Requirements:
- Must not be delegate called.
- The stream must be warm and cancelable.
- `msg.sender` must be the stream's sender.
```solidity
function cancel(uint256 streamId) public payable override noDelegateCall notNull(streamId);
```
**Parameters**
| Name | Type | Description |
| ---------- | --------- | ------------------------------- |
| `streamId` | `uint256` | The ID of the stream to cancel. |
### cancelMultiple
Cancels multiple streams and refunds any remaining tokens to the sender.
Emits multiple {Transfer}, {CancelLockupStream} and {MetadataUpdate} events. Notes:
- Refer to the notes in {cancel}. Requirements:
- All requirements from {cancel} must be met for each stream.
```solidity
function cancelMultiple(uint256[] calldata streamIds) external payable override noDelegateCall;
```
**Parameters**
| Name | Type | Description |
| ----------- | ----------- | --------------------------------- |
| `streamIds` | `uint256[]` | The IDs of the streams to cancel. |
### collectFees
Collects the accrued fees by transferring them to the contract admin.
Emits a {CollectFees} event. Notes:
- If the admin is a contract, it must be able to receive native token payments, e.g., ETH for Ethereum Mainnet.
```solidity
function collectFees() external override;
```
### renounce
Removes the right of the stream's sender to cancel the stream.
Emits a {RenounceLockupStream} event. Notes:
- This is an irreversible operation. Requirements:
- Must not be delegate called.
- `streamId` must reference a warm stream.
- `msg.sender` must be the stream's sender.
- The stream must be cancelable.
```solidity
function renounce(uint256 streamId) public payable override noDelegateCall notNull(streamId);
```
**Parameters**
| Name | Type | Description |
| ---------- | --------- | --------------------------------- |
| `streamId` | `uint256` | The ID of the stream to renounce. |
### renounceMultiple
Renounces multiple streams.
Emits multiple {RenounceLockupStream} events. Notes:
- Refer to the notes in {renounce}. Requirements:
- All requirements from {renounce} must be met for each stream.
```solidity
function renounceMultiple(uint256[] calldata streamIds) external payable override noDelegateCall;
```
**Parameters**
| Name | Type | Description |
| ----------- | ----------- | ----------------------------------- |
| `streamIds` | `uint256[]` | An array of stream IDs to renounce. |
### setNFTDescriptor
Sets a new NFT descriptor contract, which produces the URI describing the Sablier stream NFTs.
Emits a {SetNFTDescriptor} and {BatchMetadataUpdate} event. Notes:
- Does not revert if the NFT descriptor is the same. Requirements:
- `msg.sender` must be the contract admin.
```solidity
function setNFTDescriptor(ILockupNFTDescriptor newNFTDescriptor) external override onlyAdmin;
```
**Parameters**
| Name | Type | Description |
| ------------------ | ---------------------- | ----------------------------------------------- |
| `newNFTDescriptor` | `ILockupNFTDescriptor` | The address of the new NFT descriptor contract. |
### withdraw
Withdraws the provided amount of tokens from the stream to the `to` address.
Emits a {Transfer}, {WithdrawFromLockupStream} and {MetadataUpdate} event. Notes:
- If `msg.sender` is not the recipient and the address is on the allowlist, this function will invoke a hook on the
recipient. Requirements:
- Must not be delegate called.
- `streamId` must not reference a null or depleted stream.
- `to` must not be the zero address.
- `amount` must be greater than zero and must not exceed the withdrawable amount.
- `to` must be the recipient if `msg.sender` is not the stream's recipient or an approved third party.
```solidity
function withdraw(
uint256 streamId,
address to,
uint128 amount
)
public
payable
override
noDelegateCall
notNull(streamId);
```
**Parameters**
| Name | Type | Description |
| ---------- | --------- | ----------------------------------------------------------------- |
| `streamId` | `uint256` | The ID of the stream to withdraw from. |
| `to` | `address` | The address receiving the withdrawn tokens. |
| `amount` | `uint128` | The amount to withdraw, denoted in units of the token's decimals. |
### withdrawMax
Withdraws the maximum withdrawable amount from the stream to the provided address `to`.
Emits a {Transfer}, {WithdrawFromLockupStream} and {MetadataUpdate} event. Notes:
- Refer to the notes in {withdraw}. Requirements:
- Refer to the requirements in {withdraw}.
```solidity
function withdrawMax(uint256 streamId, address to) external payable override returns (uint128 withdrawnAmount);
```
**Parameters**
| Name | Type | Description |
| ---------- | --------- | ------------------------------------------- |
| `streamId` | `uint256` | The ID of the stream to withdraw from. |
| `to` | `address` | The address receiving the withdrawn tokens. |
**Returns**
| Name | Type | Description |
| ----------------- | --------- | --------------------------------------------------------------- |
| `withdrawnAmount` | `uint128` | The amount withdrawn, denoted in units of the token's decimals. |
### withdrawMaxAndTransfer
Withdraws the maximum withdrawable amount from the stream to the current recipient, and transfers the NFT to
`newRecipient`.
Emits a {WithdrawFromLockupStream}, {Transfer} and {MetadataUpdate} event. Notes:
- If the withdrawable amount is zero, the withdrawal is skipped.
- Refer to the notes in {withdraw}. Requirements:
- `msg.sender` must be either the NFT owner or an approved third party.
- Refer to the requirements in {withdraw}.
- Refer to the requirements in {IERC721.transferFrom}.
```solidity
function withdrawMaxAndTransfer(
uint256 streamId,
address newRecipient
)
external
payable
override
noDelegateCall
notNull(streamId)
returns (uint128 withdrawnAmount);
```
**Parameters**
| Name | Type | Description |
| -------------- | --------- | ----------------------------------------------- |
| `streamId` | `uint256` | The ID of the stream NFT to transfer. |
| `newRecipient` | `address` | The address of the new owner of the stream NFT. |
**Returns**
| Name | Type | Description |
| ----------------- | --------- | --------------------------------------------------------------- |
| `withdrawnAmount` | `uint128` | The amount withdrawn, denoted in units of the token's decimals. |
### withdrawMultiple
Withdraws tokens from streams to the recipient of each stream.
Emits multiple {Transfer}, {WithdrawFromLockupStream} and {MetadataUpdate} events. For each stream that reverted the
withdrawal, it emits an
[InvalidWithdrawalInWithdrawMultiple](/docs/reference/lockup/contracts/interfaces/interface.ISablierLockupBase.md#invalidwithdrawalinwithdrawmultiple)
event. Notes:
- This function attempts to call a hook on the recipient of each stream, unless `msg.sender` is the recipient.
Requirements:
- Must not be delegate called.
- There must be an equal number of `streamIds` and `amounts`.
- Each stream ID in the array must not reference a null or depleted stream.
- Each amount in the array must be greater than zero and must not exceed the withdrawable amount.
```solidity
function withdrawMultiple(
uint256[] calldata streamIds,
uint128[] calldata amounts
)
external
payable
override
noDelegateCall;
```
**Parameters**
| Name | Type | Description |
| ----------- | ----------- | ------------------------------------------------------------------ |
| `streamIds` | `uint256[]` | The IDs of the streams to withdraw from. |
| `amounts` | `uint128[]` | The amounts to withdraw, denoted in units of the token's decimals. |
### \_calculateStreamedAmount
Calculates the streamed amount of the stream without looking up the stream's status.
_This function is implemented by child contracts, so the logic varies depending on the model._
```solidity
function _calculateStreamedAmount(uint256 streamId) internal view virtual returns (uint128);
```
### \_isCallerStreamRecipientOrApproved
Checks whether `msg.sender` is the stream's recipient or an approved third party, when the `recipient` is known in
advance.
```solidity
function _isCallerStreamRecipientOrApproved(uint256 streamId, address recipient) internal view returns (bool);
```
**Parameters**
| Name | Type | Description |
| ----------- | --------- | -------------------------------------- |
| `streamId` | `uint256` | The stream ID for the query. |
| `recipient` | `address` | The address of the stream's recipient. |
### \_isCallerStreamSender
Checks whether `msg.sender` is the stream's sender.
```solidity
function _isCallerStreamSender(uint256 streamId) internal view returns (bool);
```
**Parameters**
| Name | Type | Description |
| ---------- | --------- | ---------------------------- |
| `streamId` | `uint256` | The stream ID for the query. |
### \_statusOf
_Retrieves the stream's status without performing a null check._
```solidity
function _statusOf(uint256 streamId) internal view returns (Lockup.Status);
```
### \_streamedAmountOf
_See the documentation for the user-facing functions that call this internal function._
```solidity
function _streamedAmountOf(uint256 streamId) internal view returns (uint128);
```
### \_withdrawableAmountOf
_See the documentation for the user-facing functions that call this internal function._
```solidity
function _withdrawableAmountOf(uint256 streamId) internal view returns (uint128);
```
### \_cancel
_See the documentation for the user-facing functions that call this internal function._
```solidity
function _cancel(uint256 streamId) internal;
```
### \_renounce
_See the documentation for the user-facing functions that call this internal function._
```solidity
function _renounce(uint256 streamId) internal;
```
### \_update
Overrides the {ERC-721.\_update} function to check that the stream is transferable, and emits an ERC-4906 event.
There are two cases when the transferable flag is ignored:
- If the current owner is 0, then the update is a mint and is allowed.
- If `to` is 0, then the update is a burn and is also allowed.
```solidity
function _update(address to, uint256 streamId, address auth) internal override returns (address);
```
**Parameters**
| Name | Type | Description |
| ---------- | --------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `to` | `address` | The address of the new recipient of the stream. |
| `streamId` | `uint256` | ID of the stream to update. |
| `auth` | `address` | Optional parameter. If the value is not zero, the overridden implementation will check that `auth` is either the recipient of the stream, or an approved third party. |
**Returns**
| Name | Type | Description |
| -------- | --------- | ----------------------------------------------------------- |
| `` | `address` | The original recipient of the `streamId` before the update. |
### \_withdraw
_See the documentation for the user-facing functions that call this internal function._
```solidity
function _withdraw(uint256 streamId, address to, uint128 amount) internal;
```
---
## LockupNFTDescriptor
[Git Source](https://github.com/sablier-labs/lockup/blob/463278dbb461b1733d6424cf0aeee3b8d6bc036a/src/LockupNFTDescriptor.sol)
**Inherits:** [ILockupNFTDescriptor](/docs/reference/lockup/contracts/interfaces/interface.ILockupNFTDescriptor.md)
See the documentation in
[ILockupNFTDescriptor](/docs/reference/lockup/contracts/interfaces/interface.ILockupNFTDescriptor.md).
## Functions
### tokenURI
Produces the URI describing a particular stream NFT.
_This is a data URI with the JSON contents directly inlined._
```solidity
function tokenURI(IERC721Metadata lockup, uint256 streamId) external view override returns (string memory uri);
```
**Parameters**
| Name | Type | Description |
| ---------- | ----------------- | -------------------------------------------------------- |
| `lockup` | `IERC721Metadata` | |
| `streamId` | `uint256` | The ID of the stream for which to produce a description. |
**Returns**
| Name | Type | Description |
| ----- | -------- | ----------------------------------------- |
| `uri` | `string` | The URI of the ERC721-compliant metadata. |
### abbreviateAmount
Creates an abbreviated representation of the provided amount, rounded down and prefixed with ">= ".
The abbreviation uses these suffixes:
- "K" for thousands
- "M" for millions
- "B" for billions
- "T" for trillions For example, if the input is 1,234,567, the output is ">= 1.23M".
```solidity
function abbreviateAmount(uint256 amount, uint256 decimals) internal pure returns (string memory);
```
**Parameters**
| Name | Type | Description |
| ---------- | --------- | -------------------------------------------------------------- |
| `amount` | `uint256` | The amount to abbreviate, denoted in units of `decimals`. |
| `decimals` | `uint256` | The number of decimals to assume when abbreviating the amount. |
**Returns**
| Name | Type | Description |
| -------- | -------- | -------------------------------------------------------------------------------- |
| `` | `string` | abbreviation The abbreviated representation of the provided amount, as a string. |
### calculateDurationInDays
Calculates the stream's duration in days, rounding down.
```solidity
function calculateDurationInDays(uint256 startTime, uint256 endTime) internal pure returns (string memory);
```
### calculateStreamedPercentage
Calculates how much of the deposited amount has been streamed so far, as a percentage with 4 implied decimals.
```solidity
function calculateStreamedPercentage(uint128 streamedAmount, uint128 depositedAmount) internal pure returns (uint256);
```
### generateAccentColor
Generates a pseudo-random HSL color by hashing together the `chainid`, the `sablier` address, and the `streamId`. This
will be used as the accent color for the SVG.
```solidity
function generateAccentColor(address sablier, uint256 streamId) internal view returns (string memory);
```
### generateAttributes
Generates an array of JSON objects that represent the NFT's attributes:
- Token symbol
- Sender address
- Status
_These attributes are useful for filtering and sorting the NFTs._
```solidity
function generateAttributes(
string memory tokenSymbol,
string memory sender,
string memory status
)
internal
pure
returns (string memory);
```
### generateDescription
Generates a string with the NFT's JSON metadata description, which provides a high-level overview.
```solidity
function generateDescription(
string memory tokenSymbol,
string memory lockupStringified,
string memory tokenAddress,
string memory streamId,
bool isTransferable
)
internal
pure
returns (string memory);
```
### isAllowedCharacter
Checks whether the provided string contains only alphanumeric characters, spaces, and dashes.
_Note that this returns true for empty strings._
```solidity
function isAllowedCharacter(string memory str) internal pure returns (bool);
```
### safeTokenDecimals
Retrieves the token's decimals safely, defaulting to "0" if an error occurs.
_Performs a low-level call to handle tokens in which the decimals are not implemented._
```solidity
function safeTokenDecimals(address token) internal view returns (uint8);
```
### safeTokenSymbol
Retrieves the token's symbol safely, defaulting to a hard-coded value if an error occurs.
_Performs a low-level call to handle tokens in which the symbol is not implemented or it is a bytes32 instead of a
string._
```solidity
function safeTokenSymbol(address token) internal view returns (string memory);
```
### stringifyFractionalAmount
Converts the provided fractional amount to a string prefixed by a dot.
```solidity
function stringifyFractionalAmount(uint256 fractionalAmount) internal pure returns (string memory);
```
**Parameters**
| Name | Type | Description |
| ------------------ | --------- | ------------------------------------------ |
| `fractionalAmount` | `uint256` | A numerical value with 2 implied decimals. |
### stringifyPercentage
Converts the provided percentage to a string.
```solidity
function stringifyPercentage(uint256 percentage) internal pure returns (string memory);
```
**Parameters**
| Name | Type | Description |
| ------------ | --------- | ------------------------------------------ |
| `percentage` | `uint256` | A numerical value with 4 implied decimals. |
### stringifyStatus
Retrieves the stream's status as a string.
```solidity
function stringifyStatus(Lockup.Status status) internal pure returns (string memory);
```
## Structs
### TokenURIVars
_Needed to avoid Stack Too Deep._
```solidity
struct TokenURIVars {
address token;
string tokenSymbol;
uint128 depositedAmount;
string json;
ISablierLockup lockup;
string lockupStringified;
string status;
string svg;
uint256 streamedPercentage;
}
```
---
## SablierBatchLockup
[Git Source](https://github.com/sablier-labs/lockup/blob/463278dbb461b1733d6424cf0aeee3b8d6bc036a/src/SablierBatchLockup.sol)
**Inherits:** [ISablierBatchLockup](/docs/reference/lockup/contracts/interfaces/interface.ISablierBatchLockup.md)
See the documentation in
[ISablierBatchLockup](/docs/reference/lockup/contracts/interfaces/interface.ISablierBatchLockup.md).
## Functions
### createWithDurationsLD
Creates a batch of Lockup Dynamic streams using `createWithDurationsLD`.
Requirements:
- There must be at least one element in `batch`.
- All requirements from {ISablierLockup.createWithDurationsLD} must be met for each stream.
```solidity
function createWithDurationsLD(
ISablierLockup lockup,
IERC20 token,
BatchLockup.CreateWithDurationsLD[] calldata batch
)
external
override
returns (uint256[] memory streamIds);
```
**Parameters**
| Name | Type | Description |
| -------- | ------------------------------------- | ------------------------------------------------------------------------------------------------------------ |
| `lockup` | `ISablierLockup` | The address of the [SablierLockup](/docs/reference/lockup/contracts/contract.SablierLockup.md) contract. |
| `token` | `IERC20` | The contract address of the ERC-20 token to be distributed. |
| `batch` | `BatchLockup.CreateWithDurationsLD[]` | An array of structs, each encapsulating a subset of the parameters of {SablierLockup.createWithDurationsLD}. |
**Returns**
| Name | Type | Description |
| ----------- | ----------- | ------------------------------------- |
| `streamIds` | `uint256[]` | The ids of the newly created streams. |
### createWithTimestampsLD
Creates a batch of Lockup Dynamic streams using `createWithTimestampsLD`.
Requirements:
- There must be at least one element in `batch`.
- All requirements from {ISablierLockup.createWithTimestampsLD} must be met for each stream.
```solidity
function createWithTimestampsLD(
ISablierLockup lockup,
IERC20 token,
BatchLockup.CreateWithTimestampsLD[] calldata batch
)
external
override
returns (uint256[] memory streamIds);
```
**Parameters**
| Name | Type | Description |
| -------- | -------------------------------------- | ------------------------------------------------------------------------------------------------------------- |
| `lockup` | `ISablierLockup` | The address of the [SablierLockup](/docs/reference/lockup/contracts/contract.SablierLockup.md) contract. |
| `token` | `IERC20` | The contract address of the ERC-20 token to be distributed. |
| `batch` | `BatchLockup.CreateWithTimestampsLD[]` | An array of structs, each encapsulating a subset of the parameters of {SablierLockup.createWithTimestampsLD}. |
**Returns**
| Name | Type | Description |
| ----------- | ----------- | ------------------------------------- |
| `streamIds` | `uint256[]` | The ids of the newly created streams. |
### createWithDurationsLL
Creates a batch of Lockup Linear streams using `createWithDurationsLL`.
Requirements:
- There must be at least one element in `batch`.
- All requirements from {ISablierLockup.createWithDurationsLL} must be met for each stream.
```solidity
function createWithDurationsLL(
ISablierLockup lockup,
IERC20 token,
BatchLockup.CreateWithDurationsLL[] calldata batch
)
external
override
returns (uint256[] memory streamIds);
```
**Parameters**
| Name | Type | Description |
| -------- | ------------------------------------- | ------------------------------------------------------------------------------------------------------------ |
| `lockup` | `ISablierLockup` | The address of the [SablierLockup](/docs/reference/lockup/contracts/contract.SablierLockup.md) contract. |
| `token` | `IERC20` | The contract address of the ERC-20 token to be distributed. |
| `batch` | `BatchLockup.CreateWithDurationsLL[]` | An array of structs, each encapsulating a subset of the parameters of {SablierLockup.createWithDurationsLL}. |
**Returns**
| Name | Type | Description |
| ----------- | ----------- | ------------------------------------- |
| `streamIds` | `uint256[]` | The ids of the newly created streams. |
### createWithTimestampsLL
Creates a batch of Lockup Linear streams using `createWithTimestampsLL`.
Requirements:
- There must be at least one element in `batch`.
- All requirements from {ISablierLockup.createWithTimestampsLL} must be met for each stream.
```solidity
function createWithTimestampsLL(
ISablierLockup lockup,
IERC20 token,
BatchLockup.CreateWithTimestampsLL[] calldata batch
)
external
override
returns (uint256[] memory streamIds);
```
**Parameters**
| Name | Type | Description |
| -------- | -------------------------------------- | ------------------------------------------------------------------------------------------------------------- |
| `lockup` | `ISablierLockup` | The address of the [SablierLockup](/docs/reference/lockup/contracts/contract.SablierLockup.md) contract. |
| `token` | `IERC20` | The contract address of the ERC-20 token to be distributed. |
| `batch` | `BatchLockup.CreateWithTimestampsLL[]` | An array of structs, each encapsulating a subset of the parameters of {SablierLockup.createWithTimestampsLL}. |
**Returns**
| Name | Type | Description |
| ----------- | ----------- | ------------------------------------- |
| `streamIds` | `uint256[]` | The ids of the newly created streams. |
### createWithDurationsLT
Creates a batch of Lockup Tranched streams using `createWithDurationsLT`.
Requirements:
- There must be at least one element in `batch`.
- All requirements from {ISablierLockup.createWithDurationsLT} must be met for each stream.
```solidity
function createWithDurationsLT(
ISablierLockup lockup,
IERC20 token,
BatchLockup.CreateWithDurationsLT[] calldata batch
)
external
override
returns (uint256[] memory streamIds);
```
**Parameters**
| Name | Type | Description |
| -------- | ------------------------------------- | ------------------------------------------------------------------------------------------------------------ |
| `lockup` | `ISablierLockup` | The address of the [SablierLockup](/docs/reference/lockup/contracts/contract.SablierLockup.md) contract. |
| `token` | `IERC20` | The contract address of the ERC-20 token to be distributed. |
| `batch` | `BatchLockup.CreateWithDurationsLT[]` | An array of structs, each encapsulating a subset of the parameters of {SablierLockup.createWithDurationsLT}. |
**Returns**
| Name | Type | Description |
| ----------- | ----------- | ------------------------------------- |
| `streamIds` | `uint256[]` | The ids of the newly created streams. |
### createWithTimestampsLT
Creates a batch of Lockup Tranched streams using `createWithTimestampsLT`.
Requirements:
- There must be at least one element in `batch`.
- All requirements from {ISablierLockup.createWithTimestampsLT} must be met for each stream.
```solidity
function createWithTimestampsLT(
ISablierLockup lockup,
IERC20 token,
BatchLockup.CreateWithTimestampsLT[] calldata batch
)
external
override
returns (uint256[] memory streamIds);
```
**Parameters**
| Name | Type | Description |
| -------- | -------------------------------------- | ------------------------------------------------------------------------------------------------------------- |
| `lockup` | `ISablierLockup` | The address of the [SablierLockup](/docs/reference/lockup/contracts/contract.SablierLockup.md) contract. |
| `token` | `IERC20` | The contract address of the ERC-20 token to be distributed. |
| `batch` | `BatchLockup.CreateWithTimestampsLT[]` | An array of structs, each encapsulating a subset of the parameters of {SablierLockup.createWithTimestampsLT}. |
**Returns**
| Name | Type | Description |
| ----------- | ----------- | ------------------------------------- |
| `streamIds` | `uint256[]` | The ids of the newly created streams. |
### \_approve
_Helper function to approve a Lockup contract to spend funds from the batchLockup. If the current allowance is
insufficient, this function approves Lockup to spend the exact `amount`. The {SafeERC20.forceApprove} function is used
to handle special ERC-20 tokens (e.g. USDT) that require the current allowance to be zero before setting it to a
non-zero value._
```solidity
function _approve(address lockup, IERC20 token, uint256 amount) internal;
```
### \_handleTransfer
_Helper function to transfer tokens from the caller to the batchLockup contract and approve the Lockup contract._
```solidity
function _handleTransfer(address lockup, IERC20 token, uint256 amount) internal;
```
---
## SablierLockup
[Git Source](https://github.com/sablier-labs/lockup/blob/463278dbb461b1733d6424cf0aeee3b8d6bc036a/src/SablierLockup.sol)
**Inherits:** [ISablierLockup](/docs/reference/lockup/contracts/interfaces/interface.ISablierLockup.md),
[SablierLockupBase](/docs/reference/lockup/contracts/abstracts/abstract.SablierLockupBase.md)
See the documentation in [ISablierLockup](/docs/reference/lockup/contracts/interfaces/interface.ISablierLockup.md).
## State Variables
### MAX_COUNT
The maximum number of segments and tranches allowed in Dynamic and Tranched streams respectively.
_This is initialized at construction time and cannot be changed later._
```solidity
uint256 public immutable override MAX_COUNT;
```
### \_cliffs
_Cliff timestamp mapped by stream IDs. This is used in Lockup Linear models._
```solidity
mapping(uint256 streamId => uint40 cliffTime) internal _cliffs;
```
### \_segments
_Stream segments mapped by stream IDs. This is used in Lockup Dynamic models._
```solidity
mapping(uint256 streamId => LockupDynamic.Segment[] segments) internal _segments;
```
### \_tranches
_Stream tranches mapped by stream IDs. This is used in Lockup Tranched models._
```solidity
mapping(uint256 streamId => LockupTranched.Tranche[] tranches) internal _tranches;
```
### \_unlockAmounts
_Unlock amounts mapped by stream IDs. This is used in Lockup Linear models._
```solidity
mapping(uint256 streamId => LockupLinear.UnlockAmounts unlockAmounts) internal _unlockAmounts;
```
## Functions
### constructor
```solidity
constructor(
address initialAdmin,
ILockupNFTDescriptor initialNFTDescriptor,
uint256 maxCount
)
ERC721("Sablier Lockup NFT", "SAB-LOCKUP")
SablierLockupBase(initialAdmin, initialNFTDescriptor);
```
**Parameters**
| Name | Type | Description |
| ---------------------- | ---------------------- | --------------------------------------------------------------------------------------------------------------- |
| `initialAdmin` | `address` | The address of the initial contract admin. |
| `initialNFTDescriptor` | `ILockupNFTDescriptor` | The address of the NFT descriptor contract. |
| `maxCount` | `uint256` | The maximum number of segments and tranched allowed in Lockup Dynamic and Lockup Tranched models, respectively. |
### getCliffTime
Retrieves the stream's cliff time, which is a Unix timestamp. A value of zero means there is no cliff.
_Reverts if `streamId` references a null stream or a non Lockup Linear stream._
```solidity
function getCliffTime(uint256 streamId) external view override notNull(streamId) returns (uint40 cliffTime);
```
**Parameters**
| Name | Type | Description |
| ---------- | --------- | ---------------------------- |
| `streamId` | `uint256` | The stream ID for the query. |
### getSegments
Retrieves the segments used to compose the dynamic distribution function.
_Reverts if `streamId` references a null stream or a non Lockup Dynamic stream._
```solidity
function getSegments(uint256 streamId)
external
view
override
notNull(streamId)
returns (LockupDynamic.Segment[] memory segments);
```
**Parameters**
| Name | Type | Description |
| ---------- | --------- | ---------------------------- |
| `streamId` | `uint256` | The stream ID for the query. |
**Returns**
| Name | Type | Description |
| ---------- | ------------------------- | ------------------------------------- |
| `segments` | `LockupDynamic.Segment[]` | See the documentation in {DataTypes}. |
### getTranches
Retrieves the tranches used to compose the tranched distribution function.
_Reverts if `streamId` references a null stream or a non Lockup Tranched stream._
```solidity
function getTranches(uint256 streamId)
external
view
override
notNull(streamId)
returns (LockupTranched.Tranche[] memory tranches);
```
**Parameters**
| Name | Type | Description |
| ---------- | --------- | ---------------------------- |
| `streamId` | `uint256` | The stream ID for the query. |
**Returns**
| Name | Type | Description |
| ---------- | -------------------------- | ------------------------------------- |
| `tranches` | `LockupTranched.Tranche[]` | See the documentation in {DataTypes}. |
### getUnlockAmounts
Retrieves the unlock amounts used to compose the linear distribution function.
_Reverts if `streamId` references a null stream or a non Lockup Linear stream._
```solidity
function getUnlockAmounts(uint256 streamId)
external
view
override
notNull(streamId)
returns (LockupLinear.UnlockAmounts memory unlockAmounts);
```
**Parameters**
| Name | Type | Description |
| ---------- | --------- | ---------------------------- |
| `streamId` | `uint256` | The stream ID for the query. |
**Returns**
| Name | Type | Description |
| --------------- | ---------------------------- | ------------------------------------- |
| `unlockAmounts` | `LockupLinear.UnlockAmounts` | See the documentation in {DataTypes}. |
### createWithDurationsLD
Creates a stream by setting the start time to `block.timestamp`, and the end time to the sum of `block.timestamp` and
all specified time durations. The segment timestamps are derived from these durations. The stream is funded by
`msg.sender` and is wrapped in an ERC-721 NFT.
Emits a {Transfer}, {CreateLockupDynamicStream} and {MetadataUpdate} event. Requirements:
- All requirements in {createWithTimestampsLD} must be met for the calculated parameters.
```solidity
function createWithDurationsLD(
Lockup.CreateWithDurations calldata params,
LockupDynamic.SegmentWithDuration[] calldata segmentsWithDuration
)
external
payable
override
noDelegateCall
returns (uint256 streamId);
```
**Parameters**
| Name | Type | Description |
| ---------------------- | ------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `params` | `Lockup.CreateWithDurations` | Struct encapsulating the function parameters, which are documented in {DataTypes}. |
| `segmentsWithDuration` | `LockupDynamic.SegmentWithDuration[]` | Segments with durations used to compose the dynamic distribution function. Timestamps are calculated by starting from `block.timestamp` and adding each duration to the previous timestamp. |
**Returns**
| Name | Type | Description |
| ---------- | --------- | ----------------------------------- |
| `streamId` | `uint256` | The ID of the newly created stream. |
### createWithDurationsLL
Creates a stream by setting the start time to `block.timestamp`, and the end time to the sum of `block.timestamp` and
`durations.total`. The stream is funded by `msg.sender` and is wrapped in an ERC-721 NFT.
Emits a {Transfer}, {CreateLockupLinearStream} and {MetadataUpdate} event. Requirements:
- All requirements in {createWithTimestampsLL} must be met for the calculated parameters.
```solidity
function createWithDurationsLL(
Lockup.CreateWithDurations calldata params,
LockupLinear.UnlockAmounts calldata unlockAmounts,
LockupLinear.Durations calldata durations
)
external
payable
override
noDelegateCall
returns (uint256 streamId);
```
**Parameters**
| Name | Type | Description |
| --------------- | ---------------------------- | ---------------------------------------------------------------------------------------------------------------- |
| `params` | `Lockup.CreateWithDurations` | Struct encapsulating the function parameters, which are documented in {DataTypes}. |
| `unlockAmounts` | `LockupLinear.UnlockAmounts` | Struct encapsulating (i) the amount to unlock at the start time and (ii) the amount to unlock at the cliff time. |
| `durations` | `LockupLinear.Durations` | Struct encapsulating (i) cliff period duration and (ii) total stream duration, both in seconds. |
**Returns**
| Name | Type | Description |
| ---------- | --------- | ----------------------------------- |
| `streamId` | `uint256` | The ID of the newly created stream. |
### createWithDurationsLT
Creates a stream by setting the start time to `block.timestamp`, and the end time to the sum of `block.timestamp` and
all specified time durations. The tranche timestamps are derived from these durations. The stream is funded by
`msg.sender` and is wrapped in an ERC-721 NFT.
Emits a {Transfer}, {CreateLockupTrancheStream} and {MetadataUpdate} event. Requirements:
- All requirements in {createWithTimestampsLT} must be met for the calculated parameters.
```solidity
function createWithDurationsLT(
Lockup.CreateWithDurations calldata params,
LockupTranched.TrancheWithDuration[] calldata tranchesWithDuration
)
external
payable
override
noDelegateCall
returns (uint256 streamId);
```
**Parameters**
| Name | Type | Description |
| ---------------------- | -------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `params` | `Lockup.CreateWithDurations` | Struct encapsulating the function parameters, which are documented in {DataTypes}. |
| `tranchesWithDuration` | `LockupTranched.TrancheWithDuration[]` | Tranches with durations used to compose the tranched distribution function. Timestamps are calculated by starting from `block.timestamp` and adding each duration to the previous timestamp. |
**Returns**
| Name | Type | Description |
| ---------- | --------- | ----------------------------------- |
| `streamId` | `uint256` | The ID of the newly created stream. |
### createWithTimestampsLD
Creates a stream with the provided segment timestamps, implying the end time from the last timestamp. The stream is
funded by `msg.sender` and is wrapped in an ERC-721 NFT.
Emits a {Transfer}, {CreateLockupDynamicStream} and {MetadataUpdate} event. Notes:
- As long as the segment timestamps are arranged in ascending order, it is not an error for some of them to be in the
past. Requirements:
- Must not be delegate called.
- `params.totalAmount` must be greater than zero.
- If set, `params.broker.fee` must not be greater than `MAX_BROKER_FEE`.
- `params.timestamps.start` must be greater than zero and less than the first segment's timestamp.
- `segments` must have at least one segment, but not more than `MAX_COUNT`.
- The segment timestamps must be arranged in ascending order.
- `params.timestamps.end` must be equal to the last segment's timestamp.
- The sum of the segment amounts must equal the deposit amount.
- `params.recipient` must not be the zero address.
- `params.sender` must not be the zero address.
- `msg.sender` must have allowed this contract to spend at least `params.totalAmount` tokens.
- `params.shape.length` must not be greater than 32 characters.
```solidity
function createWithTimestampsLD(
Lockup.CreateWithTimestamps calldata params,
LockupDynamic.Segment[] calldata segments
)
external
payable
override
noDelegateCall
returns (uint256 streamId);
```
**Parameters**
| Name | Type | Description |
| ---------- | ----------------------------- | ---------------------------------------------------------------------------------- |
| `params` | `Lockup.CreateWithTimestamps` | Struct encapsulating the function parameters, which are documented in {DataTypes}. |
| `segments` | `LockupDynamic.Segment[]` | Segments used to compose the dynamic distribution function. |
**Returns**
| Name | Type | Description |
| ---------- | --------- | ----------------------------------- |
| `streamId` | `uint256` | The ID of the newly created stream. |
### createWithTimestampsLL
Creates a stream with the provided start time and end time. The stream is funded by `msg.sender` and is wrapped in an
ERC-721 NFT.
Emits a {Transfer}, {CreateLockupLinearStream} and {MetadataUpdate} event. Notes:
- A cliff time of zero means there is no cliff.
- As long as the times are ordered, it is not an error for the start or the cliff time to be in the past. Requirements:
- Must not be delegate called.
- `params.totalAmount` must be greater than zero.
- If set, `params.broker.fee` must not be greater than `MAX_BROKER_FEE`.
- `params.timestamps.start` must be greater than zero and less than `params.timestamps.end`.
- If set, `cliffTime` must be greater than `params.timestamps.start` and less than `params.timestamps.end`.
- `params.recipient` must not be the zero address.
- `params.sender` must not be the zero address.
- The sum of `params.unlockAmounts.start` and `params.unlockAmounts.cliff` must be less than or equal to deposit amount.
- If `params.timestamps.cliff` not set, the `params.unlockAmounts.cliff` must be zero.
- `msg.sender` must have allowed this contract to spend at least `params.totalAmount` tokens.
- `params.shape.length` must not be greater than 32 characters.
```solidity
function createWithTimestampsLL(
Lockup.CreateWithTimestamps calldata params,
LockupLinear.UnlockAmounts calldata unlockAmounts,
uint40 cliffTime
)
external
payable
override
noDelegateCall
returns (uint256 streamId);
```
**Parameters**
| Name | Type | Description |
| --------------- | ----------------------------- | ---------------------------------------------------------------------------------------------------------------- |
| `params` | `Lockup.CreateWithTimestamps` | Struct encapsulating the function parameters, which are documented in {DataTypes}. |
| `unlockAmounts` | `LockupLinear.UnlockAmounts` | Struct encapsulating (i) the amount to unlock at the start time and (ii) the amount to unlock at the cliff time. |
| `cliffTime` | `uint40` | The Unix timestamp for the cliff period's end. A value of zero means there is no cliff. |
**Returns**
| Name | Type | Description |
| ---------- | --------- | ----------------------------------- |
| `streamId` | `uint256` | The ID of the newly created stream. |
### createWithTimestampsLT
Creates a stream with the provided tranche timestamps, implying the end time from the last timestamp. The stream is
funded by `msg.sender` and is wrapped in an ERC-721 NFT.
Emits a {Transfer}, {CreateLockupTrancheStream} and {MetadataUpdate} event. Notes:
- As long as the tranche timestamps are arranged in ascending order, it is not an error for some of them to be in the
past. Requirements:
- Must not be delegate called.
- `params.totalAmount` must be greater than zero.
- If set, `params.broker.fee` must not be greater than `MAX_BROKER_FEE`.
- `params.timestamps.start` must be greater than zero and less than the first tranche's timestamp.
- `tranches` must have at least one tranche, but not more than `MAX_COUNT`.
- The tranche timestamps must be arranged in ascending order.
- `params.timestamps.end` must be equal to the last tranche's timestamp.
- The sum of the tranche amounts must equal the deposit amount.
- `params.recipient` must not be the zero address.
- `params.sender` must not be the zero address.
- `msg.sender` must have allowed this contract to spend at least `params.totalAmount` tokens.
- `params.shape.length` must not be greater than 32 characters.
```solidity
function createWithTimestampsLT(
Lockup.CreateWithTimestamps calldata params,
LockupTranched.Tranche[] calldata tranches
)
external
payable
override
noDelegateCall
returns (uint256 streamId);
```
**Parameters**
| Name | Type | Description |
| ---------- | ----------------------------- | ---------------------------------------------------------------------------------- |
| `params` | `Lockup.CreateWithTimestamps` | Struct encapsulating the function parameters, which are documented in {DataTypes}. |
| `tranches` | `LockupTranched.Tranche[]` | Tranches used to compose the tranched distribution function. |
**Returns**
| Name | Type | Description |
| ---------- | --------- | ----------------------------------- |
| `streamId` | `uint256` | The ID of the newly created stream. |
### \_calculateStreamedAmount
Calculates the streamed amount of the stream without looking up the stream's status.
_This function is implemented by child contracts, so the logic varies depending on the model._
```solidity
function _calculateStreamedAmount(uint256 streamId) internal view override returns (uint128);
```
### \_create
_Common logic for creating a stream._
```solidity
function _create(
uint256 streamId,
Lockup.CreateWithTimestamps memory params,
Lockup.CreateAmounts memory createAmounts,
Lockup.Model lockupModel
)
internal
returns (Lockup.CreateEventCommon memory);
```
**Returns**
| Name | Type | Description |
| -------- | -------------------------- | ---------------------------------------------------------------------------- |
| `` | `Lockup.CreateEventCommon` | The common parameters emitted in the create event between all Lockup models. |
### \_createLD
_See the documentation for the user-facing functions that call this internal function._
```solidity
function _createLD(
Lockup.CreateWithTimestamps memory params,
LockupDynamic.Segment[] memory segments
)
internal
returns (uint256 streamId);
```
### \_createLL
_See the documentation for the user-facing functions that call this internal function._
```solidity
function _createLL(
Lockup.CreateWithTimestamps memory params,
LockupLinear.UnlockAmounts memory unlockAmounts,
uint40 cliffTime
)
internal
returns (uint256 streamId);
```
### \_createLT
_See the documentation for the user-facing functions that call this internal function._
```solidity
function _createLT(
Lockup.CreateWithTimestamps memory params,
LockupTranched.Tranche[] memory tranches
)
internal
returns (uint256 streamId);
```
---
## IAdminable (2)
[Git Source](https://github.com/sablier-labs/lockup/blob/463278dbb461b1733d6424cf0aeee3b8d6bc036a/src/interfaces/IAdminable.sol)
Contract module that provides a basic access control mechanism, with an admin that can be granted exclusive access to
specific functions. The inheriting contract must set the initial admin in the constructor.
## Functions
### admin
The address of the admin account or contract.
```solidity
function admin() external view returns (address);
```
### transferAdmin
Transfers the contract admin to a new address.
Notes:
- Does not revert if the admin is the same.
- This function can potentially leave the contract without an admin, thereby removing any functionality that is only
available to the admin. Requirements:
- `msg.sender` must be the contract admin.
```solidity
function transferAdmin(address newAdmin) external;
```
**Parameters**
| Name | Type | Description |
| ---------- | --------- | ----------------------------- |
| `newAdmin` | `address` | The address of the new admin. |
## Events
### TransferAdmin
Emitted when the admin is transferred.
```solidity
event TransferAdmin(address indexed oldAdmin, address indexed newAdmin);
```
**Parameters**
| Name | Type | Description |
| ---------- | --------- | ----------------------------- |
| `oldAdmin` | `address` | The address of the old admin. |
| `newAdmin` | `address` | The address of the new admin. |
---
## IBatch (2)
[Git Source](https://github.com/sablier-labs/lockup/blob/463278dbb461b1733d6424cf0aeee3b8d6bc036a/src/interfaces/IBatch.sol)
This contract implements logic to batch call any function.
## Functions
### batch
Allows batched calls to self, i.e., `this` contract.
_Since `msg.value` can be reused across calls, be VERY CAREFUL when using it. Refer to
https://paradigm.xyz/2021/08/two-rights-might-make-a-wrong for more information._
```solidity
function batch(bytes[] calldata calls) external payable returns (bytes[] memory results);
```
**Parameters**
| Name | Type | Description |
| ------- | --------- | --------------------------------- |
| `calls` | `bytes[]` | An array of inputs for each call. |
**Returns**
| Name | Type | Description |
| --------- | --------- | -------------------------------------------------------------------------------- |
| `results` | `bytes[]` | An array of results from each call. Empty when the calls do not return anything. |
---
## ILockupNFTDescriptor
[Git Source](https://github.com/sablier-labs/lockup/blob/463278dbb461b1733d6424cf0aeee3b8d6bc036a/src/interfaces/ILockupNFTDescriptor.sol)
This contract generates the URI describing the Sablier stream NFTs.
_Inspired by Uniswap V3 Positions NFTs._
## Functions
### tokenURI
Produces the URI describing a particular stream NFT.
_This is a data URI with the JSON contents directly inlined._
```solidity
function tokenURI(IERC721Metadata sablier, uint256 streamId) external view returns (string memory uri);
```
**Parameters**
| Name | Type | Description |
| ---------- | ----------------- | -------------------------------------------------------------- |
| `sablier` | `IERC721Metadata` | The address of the Sablier contract the stream was created in. |
| `streamId` | `uint256` | The ID of the stream for which to produce a description. |
**Returns**
| Name | Type | Description |
| ----- | -------- | ----------------------------------------- |
| `uri` | `string` | The URI of the ERC721-compliant metadata. |
---
## ISablierBatchLockup
[Git Source](https://github.com/sablier-labs/lockup/blob/463278dbb461b1733d6424cf0aeee3b8d6bc036a/src/interfaces/ISablierBatchLockup.sol)
Helper to batch create Lockup streams.
## Functions
### createWithDurationsLD
Creates a batch of Lockup Dynamic streams using `createWithDurationsLD`.
Requirements:
- There must be at least one element in `batch`.
- All requirements from {ISablierLockup.createWithDurationsLD} must be met for each stream.
```solidity
function createWithDurationsLD(
ISablierLockup lockup,
IERC20 token,
BatchLockup.CreateWithDurationsLD[] calldata batch
)
external
returns (uint256[] memory streamIds);
```
**Parameters**
| Name | Type | Description |
| -------- | ------------------------------------- | ------------------------------------------------------------------------------------------------------------ |
| `lockup` | `ISablierLockup` | The address of the [SablierLockup](/docs/reference/lockup/contracts/contract.SablierLockup.md) contract. |
| `token` | `IERC20` | The contract address of the ERC-20 token to be distributed. |
| `batch` | `BatchLockup.CreateWithDurationsLD[]` | An array of structs, each encapsulating a subset of the parameters of {SablierLockup.createWithDurationsLD}. |
**Returns**
| Name | Type | Description |
| ----------- | ----------- | ------------------------------------- |
| `streamIds` | `uint256[]` | The ids of the newly created streams. |
### createWithTimestampsLD
Creates a batch of Lockup Dynamic streams using `createWithTimestampsLD`.
Requirements:
- There must be at least one element in `batch`.
- All requirements from {ISablierLockup.createWithTimestampsLD} must be met for each stream.
```solidity
function createWithTimestampsLD(
ISablierLockup lockup,
IERC20 token,
BatchLockup.CreateWithTimestampsLD[] calldata batch
)
external
returns (uint256[] memory streamIds);
```
**Parameters**
| Name | Type | Description |
| -------- | -------------------------------------- | ------------------------------------------------------------------------------------------------------------- |
| `lockup` | `ISablierLockup` | The address of the [SablierLockup](/docs/reference/lockup/contracts/contract.SablierLockup.md) contract. |
| `token` | `IERC20` | The contract address of the ERC-20 token to be distributed. |
| `batch` | `BatchLockup.CreateWithTimestampsLD[]` | An array of structs, each encapsulating a subset of the parameters of {SablierLockup.createWithTimestampsLD}. |
**Returns**
| Name | Type | Description |
| ----------- | ----------- | ------------------------------------- |
| `streamIds` | `uint256[]` | The ids of the newly created streams. |
### createWithDurationsLL
Creates a batch of Lockup Linear streams using `createWithDurationsLL`.
Requirements:
- There must be at least one element in `batch`.
- All requirements from {ISablierLockup.createWithDurationsLL} must be met for each stream.
```solidity
function createWithDurationsLL(
ISablierLockup lockup,
IERC20 token,
BatchLockup.CreateWithDurationsLL[] calldata batch
)
external
returns (uint256[] memory streamIds);
```
**Parameters**
| Name | Type | Description |
| -------- | ------------------------------------- | ------------------------------------------------------------------------------------------------------------ |
| `lockup` | `ISablierLockup` | The address of the [SablierLockup](/docs/reference/lockup/contracts/contract.SablierLockup.md) contract. |
| `token` | `IERC20` | The contract address of the ERC-20 token to be distributed. |
| `batch` | `BatchLockup.CreateWithDurationsLL[]` | An array of structs, each encapsulating a subset of the parameters of {SablierLockup.createWithDurationsLL}. |
**Returns**
| Name | Type | Description |
| ----------- | ----------- | ------------------------------------- |
| `streamIds` | `uint256[]` | The ids of the newly created streams. |
### createWithTimestampsLL
Creates a batch of Lockup Linear streams using `createWithTimestampsLL`.
Requirements:
- There must be at least one element in `batch`.
- All requirements from {ISablierLockup.createWithTimestampsLL} must be met for each stream.
```solidity
function createWithTimestampsLL(
ISablierLockup lockup,
IERC20 token,
BatchLockup.CreateWithTimestampsLL[] calldata batch
)
external
returns (uint256[] memory streamIds);
```
**Parameters**
| Name | Type | Description |
| -------- | -------------------------------------- | ------------------------------------------------------------------------------------------------------------- |
| `lockup` | `ISablierLockup` | The address of the [SablierLockup](/docs/reference/lockup/contracts/contract.SablierLockup.md) contract. |
| `token` | `IERC20` | The contract address of the ERC-20 token to be distributed. |
| `batch` | `BatchLockup.CreateWithTimestampsLL[]` | An array of structs, each encapsulating a subset of the parameters of {SablierLockup.createWithTimestampsLL}. |
**Returns**
| Name | Type | Description |
| ----------- | ----------- | ------------------------------------- |
| `streamIds` | `uint256[]` | The ids of the newly created streams. |
### createWithDurationsLT
Creates a batch of Lockup Tranched streams using `createWithDurationsLT`.
Requirements:
- There must be at least one element in `batch`.
- All requirements from {ISablierLockup.createWithDurationsLT} must be met for each stream.
```solidity
function createWithDurationsLT(
ISablierLockup lockup,
IERC20 token,
BatchLockup.CreateWithDurationsLT[] calldata batch
)
external
returns (uint256[] memory streamIds);
```
**Parameters**
| Name | Type | Description |
| -------- | ------------------------------------- | ------------------------------------------------------------------------------------------------------------ |
| `lockup` | `ISablierLockup` | The address of the [SablierLockup](/docs/reference/lockup/contracts/contract.SablierLockup.md) contract. |
| `token` | `IERC20` | The contract address of the ERC-20 token to be distributed. |
| `batch` | `BatchLockup.CreateWithDurationsLT[]` | An array of structs, each encapsulating a subset of the parameters of {SablierLockup.createWithDurationsLT}. |
**Returns**
| Name | Type | Description |
| ----------- | ----------- | ------------------------------------- |
| `streamIds` | `uint256[]` | The ids of the newly created streams. |
### createWithTimestampsLT
Creates a batch of Lockup Tranched streams using `createWithTimestampsLT`.
Requirements:
- There must be at least one element in `batch`.
- All requirements from {ISablierLockup.createWithTimestampsLT} must be met for each stream.
```solidity
function createWithTimestampsLT(
ISablierLockup lockup,
IERC20 token,
BatchLockup.CreateWithTimestampsLT[] calldata batch
)
external
returns (uint256[] memory streamIds);
```
**Parameters**
| Name | Type | Description |
| -------- | -------------------------------------- | ------------------------------------------------------------------------------------------------------------- |
| `lockup` | `ISablierLockup` | The address of the [SablierLockup](/docs/reference/lockup/contracts/contract.SablierLockup.md) contract. |
| `token` | `IERC20` | The contract address of the ERC-20 token to be distributed. |
| `batch` | `BatchLockup.CreateWithTimestampsLT[]` | An array of structs, each encapsulating a subset of the parameters of {SablierLockup.createWithTimestampsLT}. |
**Returns**
| Name | Type | Description |
| ----------- | ----------- | ------------------------------------- |
| `streamIds` | `uint256[]` | The ids of the newly created streams. |
---
## ISablierLockup
[Git Source](https://github.com/sablier-labs/lockup/blob/463278dbb461b1733d6424cf0aeee3b8d6bc036a/src/interfaces/ISablierLockup.sol)
**Inherits:** [ISablierLockupBase](/docs/reference/lockup/contracts/interfaces/interface.ISablierLockupBase.md)
Creates and manages Lockup streams with various distribution models.
## Functions
### MAX_COUNT
The maximum number of segments and tranches allowed in Dynamic and Tranched streams respectively.
_This is initialized at construction time and cannot be changed later._
```solidity
function MAX_COUNT() external view returns (uint256);
```
### getCliffTime
Retrieves the stream's cliff time, which is a Unix timestamp. A value of zero means there is no cliff.
_Reverts if `streamId` references a null stream or a non Lockup Linear stream._
```solidity
function getCliffTime(uint256 streamId) external view returns (uint40 cliffTime);
```
**Parameters**
| Name | Type | Description |
| ---------- | --------- | ---------------------------- |
| `streamId` | `uint256` | The stream ID for the query. |
### getSegments
Retrieves the segments used to compose the dynamic distribution function.
_Reverts if `streamId` references a null stream or a non Lockup Dynamic stream._
```solidity
function getSegments(uint256 streamId) external view returns (LockupDynamic.Segment[] memory segments);
```
**Parameters**
| Name | Type | Description |
| ---------- | --------- | ---------------------------- |
| `streamId` | `uint256` | The stream ID for the query. |
**Returns**
| Name | Type | Description |
| ---------- | ------------------------- | ------------------------------------- |
| `segments` | `LockupDynamic.Segment[]` | See the documentation in {DataTypes}. |
### getTranches
Retrieves the tranches used to compose the tranched distribution function.
_Reverts if `streamId` references a null stream or a non Lockup Tranched stream._
```solidity
function getTranches(uint256 streamId) external view returns (LockupTranched.Tranche[] memory tranches);
```
**Parameters**
| Name | Type | Description |
| ---------- | --------- | ---------------------------- |
| `streamId` | `uint256` | The stream ID for the query. |
**Returns**
| Name | Type | Description |
| ---------- | -------------------------- | ------------------------------------- |
| `tranches` | `LockupTranched.Tranche[]` | See the documentation in {DataTypes}. |
### getUnlockAmounts
Retrieves the unlock amounts used to compose the linear distribution function.
_Reverts if `streamId` references a null stream or a non Lockup Linear stream._
```solidity
function getUnlockAmounts(uint256 streamId) external view returns (LockupLinear.UnlockAmounts memory unlockAmounts);
```
**Parameters**
| Name | Type | Description |
| ---------- | --------- | ---------------------------- |
| `streamId` | `uint256` | The stream ID for the query. |
**Returns**
| Name | Type | Description |
| --------------- | ---------------------------- | ------------------------------------- |
| `unlockAmounts` | `LockupLinear.UnlockAmounts` | See the documentation in {DataTypes}. |
### createWithDurationsLD
Creates a stream by setting the start time to `block.timestamp`, and the end time to the sum of `block.timestamp` and
all specified time durations. The segment timestamps are derived from these durations. The stream is funded by
`msg.sender` and is wrapped in an ERC-721 NFT.
Emits a {Transfer}, {CreateLockupDynamicStream} and {MetadataUpdate} event. Requirements:
- All requirements in {createWithTimestampsLD} must be met for the calculated parameters.
```solidity
function createWithDurationsLD(
Lockup.CreateWithDurations calldata params,
LockupDynamic.SegmentWithDuration[] calldata segmentsWithDuration
)
external
payable
returns (uint256 streamId);
```
**Parameters**
| Name | Type | Description |
| ---------------------- | ------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `params` | `Lockup.CreateWithDurations` | Struct encapsulating the function parameters, which are documented in {DataTypes}. |
| `segmentsWithDuration` | `LockupDynamic.SegmentWithDuration[]` | Segments with durations used to compose the dynamic distribution function. Timestamps are calculated by starting from `block.timestamp` and adding each duration to the previous timestamp. |
**Returns**
| Name | Type | Description |
| ---------- | --------- | ----------------------------------- |
| `streamId` | `uint256` | The ID of the newly created stream. |
### createWithDurationsLL
Creates a stream by setting the start time to `block.timestamp`, and the end time to the sum of `block.timestamp` and
`durations.total`. The stream is funded by `msg.sender` and is wrapped in an ERC-721 NFT.
Emits a {Transfer}, {CreateLockupLinearStream} and {MetadataUpdate} event. Requirements:
- All requirements in {createWithTimestampsLL} must be met for the calculated parameters.
```solidity
function createWithDurationsLL(
Lockup.CreateWithDurations calldata params,
LockupLinear.UnlockAmounts calldata unlockAmounts,
LockupLinear.Durations calldata durations
)
external
payable
returns (uint256 streamId);
```
**Parameters**
| Name | Type | Description |
| --------------- | ---------------------------- | ---------------------------------------------------------------------------------------------------------------- |
| `params` | `Lockup.CreateWithDurations` | Struct encapsulating the function parameters, which are documented in {DataTypes}. |
| `unlockAmounts` | `LockupLinear.UnlockAmounts` | Struct encapsulating (i) the amount to unlock at the start time and (ii) the amount to unlock at the cliff time. |
| `durations` | `LockupLinear.Durations` | Struct encapsulating (i) cliff period duration and (ii) total stream duration, both in seconds. |
**Returns**
| Name | Type | Description |
| ---------- | --------- | ----------------------------------- |
| `streamId` | `uint256` | The ID of the newly created stream. |
### createWithDurationsLT
Creates a stream by setting the start time to `block.timestamp`, and the end time to the sum of `block.timestamp` and
all specified time durations. The tranche timestamps are derived from these durations. The stream is funded by
`msg.sender` and is wrapped in an ERC-721 NFT.
Emits a {Transfer}, {CreateLockupTrancheStream} and {MetadataUpdate} event. Requirements:
- All requirements in {createWithTimestampsLT} must be met for the calculated parameters.
```solidity
function createWithDurationsLT(
Lockup.CreateWithDurations calldata params,
LockupTranched.TrancheWithDuration[] calldata tranchesWithDuration
)
external
payable
returns (uint256 streamId);
```
**Parameters**
| Name | Type | Description |
| ---------------------- | -------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `params` | `Lockup.CreateWithDurations` | Struct encapsulating the function parameters, which are documented in {DataTypes}. |
| `tranchesWithDuration` | `LockupTranched.TrancheWithDuration[]` | Tranches with durations used to compose the tranched distribution function. Timestamps are calculated by starting from `block.timestamp` and adding each duration to the previous timestamp. |
**Returns**
| Name | Type | Description |
| ---------- | --------- | ----------------------------------- |
| `streamId` | `uint256` | The ID of the newly created stream. |
### createWithTimestampsLD
Creates a stream with the provided segment timestamps, implying the end time from the last timestamp. The stream is
funded by `msg.sender` and is wrapped in an ERC-721 NFT.
Emits a {Transfer}, {CreateLockupDynamicStream} and {MetadataUpdate} event. Notes:
- As long as the segment timestamps are arranged in ascending order, it is not an error for some of them to be in the
past. Requirements:
- Must not be delegate called.
- `params.totalAmount` must be greater than zero.
- If set, `params.broker.fee` must not be greater than `MAX_BROKER_FEE`.
- `params.timestamps.start` must be greater than zero and less than the first segment's timestamp.
- `segments` must have at least one segment, but not more than `MAX_COUNT`.
- The segment timestamps must be arranged in ascending order.
- `params.timestamps.end` must be equal to the last segment's timestamp.
- The sum of the segment amounts must equal the deposit amount.
- `params.recipient` must not be the zero address.
- `params.sender` must not be the zero address.
- `msg.sender` must have allowed this contract to spend at least `params.totalAmount` tokens.
- `params.shape.length` must not be greater than 32 characters.
```solidity
function createWithTimestampsLD(
Lockup.CreateWithTimestamps calldata params,
LockupDynamic.Segment[] calldata segments
)
external
payable
returns (uint256 streamId);
```
**Parameters**
| Name | Type | Description |
| ---------- | ----------------------------- | ---------------------------------------------------------------------------------- |
| `params` | `Lockup.CreateWithTimestamps` | Struct encapsulating the function parameters, which are documented in {DataTypes}. |
| `segments` | `LockupDynamic.Segment[]` | Segments used to compose the dynamic distribution function. |
**Returns**
| Name | Type | Description |
| ---------- | --------- | ----------------------------------- |
| `streamId` | `uint256` | The ID of the newly created stream. |
### createWithTimestampsLL
Creates a stream with the provided start time and end time. The stream is funded by `msg.sender` and is wrapped in an
ERC-721 NFT.
Emits a {Transfer}, {CreateLockupLinearStream} and {MetadataUpdate} event. Notes:
- A cliff time of zero means there is no cliff.
- As long as the times are ordered, it is not an error for the start or the cliff time to be in the past. Requirements:
- Must not be delegate called.
- `params.totalAmount` must be greater than zero.
- If set, `params.broker.fee` must not be greater than `MAX_BROKER_FEE`.
- `params.timestamps.start` must be greater than zero and less than `params.timestamps.end`.
- If set, `cliffTime` must be greater than `params.timestamps.start` and less than `params.timestamps.end`.
- `params.recipient` must not be the zero address.
- `params.sender` must not be the zero address.
- The sum of `params.unlockAmounts.start` and `params.unlockAmounts.cliff` must be less than or equal to deposit amount.
- If `params.timestamps.cliff` not set, the `params.unlockAmounts.cliff` must be zero.
- `msg.sender` must have allowed this contract to spend at least `params.totalAmount` tokens.
- `params.shape.length` must not be greater than 32 characters.
```solidity
function createWithTimestampsLL(
Lockup.CreateWithTimestamps calldata params,
LockupLinear.UnlockAmounts calldata unlockAmounts,
uint40 cliffTime
)
external
payable
returns (uint256 streamId);
```
**Parameters**
| Name | Type | Description |
| --------------- | ----------------------------- | ---------------------------------------------------------------------------------------------------------------- |
| `params` | `Lockup.CreateWithTimestamps` | Struct encapsulating the function parameters, which are documented in {DataTypes}. |
| `unlockAmounts` | `LockupLinear.UnlockAmounts` | Struct encapsulating (i) the amount to unlock at the start time and (ii) the amount to unlock at the cliff time. |
| `cliffTime` | `uint40` | The Unix timestamp for the cliff period's end. A value of zero means there is no cliff. |
**Returns**
| Name | Type | Description |
| ---------- | --------- | ----------------------------------- |
| `streamId` | `uint256` | The ID of the newly created stream. |
### createWithTimestampsLT
Creates a stream with the provided tranche timestamps, implying the end time from the last timestamp. The stream is
funded by `msg.sender` and is wrapped in an ERC-721 NFT.
Emits a {Transfer}, {CreateLockupTrancheStream} and {MetadataUpdate} event. Notes:
- As long as the tranche timestamps are arranged in ascending order, it is not an error for some of them to be in the
past. Requirements:
- Must not be delegate called.
- `params.totalAmount` must be greater than zero.
- If set, `params.broker.fee` must not be greater than `MAX_BROKER_FEE`.
- `params.timestamps.start` must be greater than zero and less than the first tranche's timestamp.
- `tranches` must have at least one tranche, but not more than `MAX_COUNT`.
- The tranche timestamps must be arranged in ascending order.
- `params.timestamps.end` must be equal to the last tranche's timestamp.
- The sum of the tranche amounts must equal the deposit amount.
- `params.recipient` must not be the zero address.
- `params.sender` must not be the zero address.
- `msg.sender` must have allowed this contract to spend at least `params.totalAmount` tokens.
- `params.shape.length` must not be greater than 32 characters.
```solidity
function createWithTimestampsLT(
Lockup.CreateWithTimestamps calldata params,
LockupTranched.Tranche[] calldata tranches
)
external
payable
returns (uint256 streamId);
```
**Parameters**
| Name | Type | Description |
| ---------- | ----------------------------- | ---------------------------------------------------------------------------------- |
| `params` | `Lockup.CreateWithTimestamps` | Struct encapsulating the function parameters, which are documented in {DataTypes}. |
| `tranches` | `LockupTranched.Tranche[]` | Tranches used to compose the tranched distribution function. |
**Returns**
| Name | Type | Description |
| ---------- | --------- | ----------------------------------- |
| `streamId` | `uint256` | The ID of the newly created stream. |
## Events
### CreateLockupDynamicStream
Emitted when a stream is created using Lockup dynamic model.
```solidity
event CreateLockupDynamicStream(
uint256 indexed streamId, Lockup.CreateEventCommon commonParams, LockupDynamic.Segment[] segments
);
```
**Parameters**
| Name | Type | Description |
| -------------- | -------------------------- | ---------------------------------------------------------------------------- |
| `streamId` | `uint256` | The ID of the newly created stream. |
| `commonParams` | `Lockup.CreateEventCommon` | Common parameters emitted in Create events across all Lockup models. |
| `segments` | `LockupDynamic.Segment[]` | The segments the protocol uses to compose the dynamic distribution function. |
### CreateLockupLinearStream
Emitted when a stream is created using Lockup linear model.
```solidity
event CreateLockupLinearStream(
uint256 indexed streamId,
Lockup.CreateEventCommon commonParams,
uint40 cliffTime,
LockupLinear.UnlockAmounts unlockAmounts
);
```
**Parameters**
| Name | Type | Description |
| --------------- | ---------------------------- | ---------------------------------------------------------------------------------------------------------------- |
| `streamId` | `uint256` | The ID of the newly created stream. |
| `commonParams` | `Lockup.CreateEventCommon` | Common parameters emitted in Create events across all Lockup models. |
| `cliffTime` | `uint40` | The Unix timestamp for the cliff period's end. A value of zero means there is no cliff. |
| `unlockAmounts` | `LockupLinear.UnlockAmounts` | Struct encapsulating (i) the amount to unlock at the start time and (ii) the amount to unlock at the cliff time. |
### CreateLockupTranchedStream
Emitted when a stream is created using Lockup tranched model.
```solidity
event CreateLockupTranchedStream(
uint256 indexed streamId, Lockup.CreateEventCommon commonParams, LockupTranched.Tranche[] tranches
);
```
**Parameters**
| Name | Type | Description |
| -------------- | -------------------------- | ----------------------------------------------------------------------------- |
| `streamId` | `uint256` | The ID of the newly created stream. |
| `commonParams` | `Lockup.CreateEventCommon` | Common parameters emitted in Create events across all Lockup models. |
| `tranches` | `LockupTranched.Tranche[]` | The tranches the protocol uses to compose the tranched distribution function. |
---
## ISablierLockupBase
[Git Source](https://github.com/sablier-labs/lockup/blob/463278dbb461b1733d6424cf0aeee3b8d6bc036a/src/interfaces/ISablierLockupBase.sol)
**Inherits:** [IAdminable](/docs/reference/lockup/contracts/interfaces/interface.IAdminable.md),
[IBatch](/docs/reference/lockup/contracts/interfaces/interface.IBatch.md), IERC4906, IERC721Metadata
Common logic between all Sablier Lockup contracts.
## Functions
### MAX_BROKER_FEE
Retrieves the maximum broker fee that can be charged by the broker, denoted as a fixed-point number where 1e18 is 100%.
_This value is hard coded as a constant._
```solidity
function MAX_BROKER_FEE() external view returns (UD60x18);
```
### getDepositedAmount
Retrieves the amount deposited in the stream, denoted in units of the token's decimals.
_Reverts if `streamId` references a null stream._
```solidity
function getDepositedAmount(uint256 streamId) external view returns (uint128 depositedAmount);
```
**Parameters**
| Name | Type | Description |
| ---------- | --------- | ---------------------------- |
| `streamId` | `uint256` | The stream ID for the query. |
### getEndTime
Retrieves the stream's end time, which is a Unix timestamp.
_Reverts if `streamId` references a null stream._
```solidity
function getEndTime(uint256 streamId) external view returns (uint40 endTime);
```
**Parameters**
| Name | Type | Description |
| ---------- | --------- | ---------------------------- |
| `streamId` | `uint256` | The stream ID for the query. |
### getLockupModel
Retrieves the distribution models used to create the stream.
_Reverts if `streamId` references a null stream._
```solidity
function getLockupModel(uint256 streamId) external view returns (Lockup.Model lockupModel);
```
**Parameters**
| Name | Type | Description |
| ---------- | --------- | ---------------------------- |
| `streamId` | `uint256` | The stream ID for the query. |
### getRecipient
Retrieves the stream's recipient.
_Reverts if the NFT has been burned._
```solidity
function getRecipient(uint256 streamId) external view returns (address recipient);
```
**Parameters**
| Name | Type | Description |
| ---------- | --------- | ---------------------------- |
| `streamId` | `uint256` | The stream ID for the query. |
### getRefundedAmount
Retrieves the amount refunded to the sender after a cancellation, denoted in units of the token's decimals. This amount
is always zero unless the stream was canceled.
_Reverts if `streamId` references a null stream._
```solidity
function getRefundedAmount(uint256 streamId) external view returns (uint128 refundedAmount);
```
**Parameters**
| Name | Type | Description |
| ---------- | --------- | ---------------------------- |
| `streamId` | `uint256` | The stream ID for the query. |
### getSender
Retrieves the stream's sender.
_Reverts if `streamId` references a null stream._
```solidity
function getSender(uint256 streamId) external view returns (address sender);
```
**Parameters**
| Name | Type | Description |
| ---------- | --------- | ---------------------------- |
| `streamId` | `uint256` | The stream ID for the query. |
### getStartTime
Retrieves the stream's start time, which is a Unix timestamp.
_Reverts if `streamId` references a null stream._
```solidity
function getStartTime(uint256 streamId) external view returns (uint40 startTime);
```
**Parameters**
| Name | Type | Description |
| ---------- | --------- | ---------------------------- |
| `streamId` | `uint256` | The stream ID for the query. |
### getUnderlyingToken
Retrieves the address of the underlying ERC-20 token being distributed.
_Reverts if `streamId` references a null stream._
```solidity
function getUnderlyingToken(uint256 streamId) external view returns (IERC20 token);
```
**Parameters**
| Name | Type | Description |
| ---------- | --------- | ---------------------------- |
| `streamId` | `uint256` | The stream ID for the query. |
### getWithdrawnAmount
Retrieves the amount withdrawn from the stream, denoted in units of the token's decimals.
_Reverts if `streamId` references a null stream._
```solidity
function getWithdrawnAmount(uint256 streamId) external view returns (uint128 withdrawnAmount);
```
**Parameters**
| Name | Type | Description |
| ---------- | --------- | ---------------------------- |
| `streamId` | `uint256` | The stream ID for the query. |
### isAllowedToHook
Retrieves a flag indicating whether the provided address is a contract allowed to hook to Sablier when a stream is
canceled or when tokens are withdrawn.
_See [ISablierLockupRecipient](/docs/reference/lockup/contracts/interfaces/interface.ISablierLockupRecipient.md) for
more information._
```solidity
function isAllowedToHook(address recipient) external view returns (bool result);
```
### isCancelable
Retrieves a flag indicating whether the stream can be canceled. When the stream is cold, this flag is always `false`.
_Reverts if `streamId` references a null stream._
```solidity
function isCancelable(uint256 streamId) external view returns (bool result);
```
**Parameters**
| Name | Type | Description |
| ---------- | --------- | ---------------------------- |
| `streamId` | `uint256` | The stream ID for the query. |
### isCold
Retrieves a flag indicating whether the stream is cold, i.e. settled, canceled, or depleted.
_Reverts if `streamId` references a null stream._
```solidity
function isCold(uint256 streamId) external view returns (bool result);
```
**Parameters**
| Name | Type | Description |
| ---------- | --------- | ---------------------------- |
| `streamId` | `uint256` | The stream ID for the query. |
### isDepleted
Retrieves a flag indicating whether the stream is depleted.
_Reverts if `streamId` references a null stream._
```solidity
function isDepleted(uint256 streamId) external view returns (bool result);
```
**Parameters**
| Name | Type | Description |
| ---------- | --------- | ---------------------------- |
| `streamId` | `uint256` | The stream ID for the query. |
### isStream
Retrieves a flag indicating whether the stream exists.
_Does not revert if `streamId` references a null stream._
```solidity
function isStream(uint256 streamId) external view returns (bool result);
```
**Parameters**
| Name | Type | Description |
| ---------- | --------- | ---------------------------- |
| `streamId` | `uint256` | The stream ID for the query. |
### isTransferable
Retrieves a flag indicating whether the stream NFT can be transferred.
_Reverts if `streamId` references a null stream._
```solidity
function isTransferable(uint256 streamId) external view returns (bool result);
```
**Parameters**
| Name | Type | Description |
| ---------- | --------- | ---------------------------- |
| `streamId` | `uint256` | The stream ID for the query. |
### isWarm
Retrieves a flag indicating whether the stream is warm, i.e. either pending or streaming.
_Reverts if `streamId` references a null stream._
```solidity
function isWarm(uint256 streamId) external view returns (bool result);
```
**Parameters**
| Name | Type | Description |
| ---------- | --------- | ---------------------------- |
| `streamId` | `uint256` | The stream ID for the query. |
### nextStreamId
Counter for stream IDs, used in the create functions.
```solidity
function nextStreamId() external view returns (uint256);
```
### nftDescriptor
Contract that generates the non-fungible token URI.
```solidity
function nftDescriptor() external view returns (ILockupNFTDescriptor);
```
### refundableAmountOf
Calculates the amount that the sender would be refunded if the stream were canceled, denoted in units of the token's
decimals.
_Reverts if `streamId` references a null stream._
```solidity
function refundableAmountOf(uint256 streamId) external view returns (uint128 refundableAmount);
```
**Parameters**
| Name | Type | Description |
| ---------- | --------- | ---------------------------- |
| `streamId` | `uint256` | The stream ID for the query. |
### statusOf
Retrieves the stream's status.
_Reverts if `streamId` references a null stream._
```solidity
function statusOf(uint256 streamId) external view returns (Lockup.Status status);
```
**Parameters**
| Name | Type | Description |
| ---------- | --------- | ---------------------------- |
| `streamId` | `uint256` | The stream ID for the query. |
### streamedAmountOf
Calculates the amount streamed to the recipient, denoted in units of the token's decimals.
Reverts if `streamId` references a null stream. Notes:
- Upon cancellation of the stream, the amount streamed is calculated as the difference between the deposited amount and
the refunded amount. Ultimately, when the stream becomes depleted, the streamed amount is equivalent to the total
amount withdrawn.
```solidity
function streamedAmountOf(uint256 streamId) external view returns (uint128 streamedAmount);
```
**Parameters**
| Name | Type | Description |
| ---------- | --------- | ---------------------------- |
| `streamId` | `uint256` | The stream ID for the query. |
### wasCanceled
Retrieves a flag indicating whether the stream was canceled.
_Reverts if `streamId` references a null stream._
```solidity
function wasCanceled(uint256 streamId) external view returns (bool result);
```
**Parameters**
| Name | Type | Description |
| ---------- | --------- | ---------------------------- |
| `streamId` | `uint256` | The stream ID for the query. |
### withdrawableAmountOf
Calculates the amount that the recipient can withdraw from the stream, denoted in units of the token's decimals.
_Reverts if `streamId` references a null stream._
```solidity
function withdrawableAmountOf(uint256 streamId) external view returns (uint128 withdrawableAmount);
```
**Parameters**
| Name | Type | Description |
| ---------- | --------- | ---------------------------- |
| `streamId` | `uint256` | The stream ID for the query. |
### allowToHook
Allows a recipient contract to hook to Sablier when a stream is canceled or when tokens are withdrawn. Useful for
implementing contracts that hold streams on behalf of users, such as vaults or staking contracts.
Emits an [AllowToHook](/docs/reference/lockup/contracts/interfaces/interface.ISablierLockupBase.md#allowtohook) event.
Notes:
- Does not revert if the contract is already on the allowlist.
- This is an irreversible operation. The contract cannot be removed from the allowlist. Requirements:
- `msg.sender` must be the contract admin.
- `recipient` must have a non-zero code size.
- `recipient` must implement
[ISablierLockupRecipient](/docs/reference/lockup/contracts/interfaces/interface.ISablierLockupRecipient.md).
```solidity
function allowToHook(address recipient) external;
```
**Parameters**
| Name | Type | Description |
| ----------- | --------- | ----------------------------------------------- |
| `recipient` | `address` | The address of the contract to allow for hooks. |
### burn
Burns the NFT associated with the stream.
Emits a {Transfer} and {MetadataUpdate} event. Requirements:
- Must not be delegate called.
- `streamId` must reference a depleted stream.
- The NFT must exist.
- `msg.sender` must be either the NFT owner or an approved third party.
```solidity
function burn(uint256 streamId) external payable;
```
**Parameters**
| Name | Type | Description |
| ---------- | --------- | --------------------------------- |
| `streamId` | `uint256` | The ID of the stream NFT to burn. |
### cancel
Cancels the stream and refunds any remaining tokens to the sender.
Emits a {Transfer}, {CancelLockupStream} and {MetadataUpdate} event. Notes:
- If there any tokens left for the recipient to withdraw, the stream is marked as canceled. Otherwise, the stream is
marked as depleted.
- If the address is on the allowlist, this function will invoke a hook on the recipient. Requirements:
- Must not be delegate called.
- The stream must be warm and cancelable.
- `msg.sender` must be the stream's sender.
```solidity
function cancel(uint256 streamId) external payable;
```
**Parameters**
| Name | Type | Description |
| ---------- | --------- | ------------------------------- |
| `streamId` | `uint256` | The ID of the stream to cancel. |
### cancelMultiple
Cancels multiple streams and refunds any remaining tokens to the sender.
Emits multiple {Transfer}, {CancelLockupStream} and {MetadataUpdate} events. Notes:
- Refer to the notes in {cancel}. Requirements:
- All requirements from {cancel} must be met for each stream.
```solidity
function cancelMultiple(uint256[] calldata streamIds) external payable;
```
**Parameters**
| Name | Type | Description |
| ----------- | ----------- | --------------------------------- |
| `streamIds` | `uint256[]` | The IDs of the streams to cancel. |
### collectFees
Collects the accrued fees by transferring them to the contract admin.
Emits a [CollectFees](/docs/reference/lockup/contracts/interfaces/interface.ISablierLockupBase.md#collectfees) event.
Notes:
- If the admin is a contract, it must be able to receive native token payments, e.g., ETH for Ethereum Mainnet.
```solidity
function collectFees() external;
```
### renounce
Removes the right of the stream's sender to cancel the stream.
Emits a
[RenounceLockupStream](/docs/reference/lockup/contracts/interfaces/interface.ISablierLockupBase.md#renouncelockupstream)
event. Notes:
- This is an irreversible operation. Requirements:
- Must not be delegate called.
- `streamId` must reference a warm stream.
- `msg.sender` must be the stream's sender.
- The stream must be cancelable.
```solidity
function renounce(uint256 streamId) external payable;
```
**Parameters**
| Name | Type | Description |
| ---------- | --------- | --------------------------------- |
| `streamId` | `uint256` | The ID of the stream to renounce. |
### renounceMultiple
Renounces multiple streams.
Emits multiple
[RenounceLockupStream](/docs/reference/lockup/contracts/interfaces/interface.ISablierLockupBase.md#renouncelockupstream)
events. Notes:
- Refer to the notes in {renounce}. Requirements:
- All requirements from {renounce} must be met for each stream.
```solidity
function renounceMultiple(uint256[] calldata streamIds) external payable;
```
**Parameters**
| Name | Type | Description |
| ----------- | ----------- | ----------------------------------- |
| `streamIds` | `uint256[]` | An array of stream IDs to renounce. |
### setNFTDescriptor
Sets a new NFT descriptor contract, which produces the URI describing the Sablier stream NFTs.
Emits a [SetNFTDescriptor](/docs/reference/lockup/contracts/interfaces/interface.ISablierLockupBase.md#setnftdescriptor)
and {BatchMetadataUpdate} event. Notes:
- Does not revert if the NFT descriptor is the same. Requirements:
- `msg.sender` must be the contract admin.
```solidity
function setNFTDescriptor(ILockupNFTDescriptor newNFTDescriptor) external;
```
**Parameters**
| Name | Type | Description |
| ------------------ | ---------------------- | ----------------------------------------------- |
| `newNFTDescriptor` | `ILockupNFTDescriptor` | The address of the new NFT descriptor contract. |
### withdraw
Withdraws the provided amount of tokens from the stream to the `to` address.
Emits a {Transfer}, {WithdrawFromLockupStream} and {MetadataUpdate} event. Notes:
- If `msg.sender` is not the recipient and the address is on the allowlist, this function will invoke a hook on the
recipient. Requirements:
- Must not be delegate called.
- `streamId` must not reference a null or depleted stream.
- `to` must not be the zero address.
- `amount` must be greater than zero and must not exceed the withdrawable amount.
- `to` must be the recipient if `msg.sender` is not the stream's recipient or an approved third party.
```solidity
function withdraw(uint256 streamId, address to, uint128 amount) external payable;
```
**Parameters**
| Name | Type | Description |
| ---------- | --------- | ----------------------------------------------------------------- |
| `streamId` | `uint256` | The ID of the stream to withdraw from. |
| `to` | `address` | The address receiving the withdrawn tokens. |
| `amount` | `uint128` | The amount to withdraw, denoted in units of the token's decimals. |
### withdrawMax
Withdraws the maximum withdrawable amount from the stream to the provided address `to`.
Emits a {Transfer}, {WithdrawFromLockupStream} and {MetadataUpdate} event. Notes:
- Refer to the notes in {withdraw}. Requirements:
- Refer to the requirements in {withdraw}.
```solidity
function withdrawMax(uint256 streamId, address to) external payable returns (uint128 withdrawnAmount);
```
**Parameters**
| Name | Type | Description |
| ---------- | --------- | ------------------------------------------- |
| `streamId` | `uint256` | The ID of the stream to withdraw from. |
| `to` | `address` | The address receiving the withdrawn tokens. |
**Returns**
| Name | Type | Description |
| ----------------- | --------- | --------------------------------------------------------------- |
| `withdrawnAmount` | `uint128` | The amount withdrawn, denoted in units of the token's decimals. |
### withdrawMaxAndTransfer
Withdraws the maximum withdrawable amount from the stream to the current recipient, and transfers the NFT to
`newRecipient`.
Emits a
[WithdrawFromLockupStream](/docs/reference/lockup/contracts/interfaces/interface.ISablierLockupBase.md#withdrawfromlockupstream),
{Transfer} and {MetadataUpdate} event. Notes:
- If the withdrawable amount is zero, the withdrawal is skipped.
- Refer to the notes in {withdraw}. Requirements:
- `msg.sender` must be either the NFT owner or an approved third party.
- Refer to the requirements in {withdraw}.
- Refer to the requirements in {IERC721.transferFrom}.
```solidity
function withdrawMaxAndTransfer(
uint256 streamId,
address newRecipient
)
external
payable
returns (uint128 withdrawnAmount);
```
**Parameters**
| Name | Type | Description |
| -------------- | --------- | ----------------------------------------------- |
| `streamId` | `uint256` | The ID of the stream NFT to transfer. |
| `newRecipient` | `address` | The address of the new owner of the stream NFT. |
**Returns**
| Name | Type | Description |
| ----------------- | --------- | --------------------------------------------------------------- |
| `withdrawnAmount` | `uint128` | The amount withdrawn, denoted in units of the token's decimals. |
### withdrawMultiple
Withdraws tokens from streams to the recipient of each stream.
Emits multiple {Transfer}, {WithdrawFromLockupStream} and {MetadataUpdate} events. For each stream that reverted the
withdrawal, it emits an
[InvalidWithdrawalInWithdrawMultiple](/docs/reference/lockup/contracts/interfaces/interface.ISablierLockupBase.md#invalidwithdrawalinwithdrawmultiple)
event. Notes:
- This function attempts to call a hook on the recipient of each stream, unless `msg.sender` is the recipient.
Requirements:
- Must not be delegate called.
- There must be an equal number of `streamIds` and `amounts`.
- Each stream ID in the array must not reference a null or depleted stream.
- Each amount in the array must be greater than zero and must not exceed the withdrawable amount.
```solidity
function withdrawMultiple(uint256[] calldata streamIds, uint128[] calldata amounts) external payable;
```
**Parameters**
| Name | Type | Description |
| ----------- | ----------- | ------------------------------------------------------------------ |
| `streamIds` | `uint256[]` | The IDs of the streams to withdraw from. |
| `amounts` | `uint128[]` | The amounts to withdraw, denoted in units of the token's decimals. |
## Events
### AllowToHook
Emitted when the admin allows a new recipient contract to hook to Sablier.
```solidity
event AllowToHook(address indexed admin, address recipient);
```
**Parameters**
| Name | Type | Description |
| ----------- | --------- | ----------------------------------------------------------- |
| `admin` | `address` | The address of the current contract admin. |
| `recipient` | `address` | The address of the recipient contract put on the allowlist. |
### CancelLockupStream
Emitted when a stream is canceled.
```solidity
event CancelLockupStream(
uint256 streamId,
address indexed sender,
address indexed recipient,
IERC20 indexed token,
uint128 senderAmount,
uint128 recipientAmount
);
```
**Parameters**
| Name | Type | Description |
| ----------------- | --------- | ----------------------------------------------------------------------------------------------------------- |
| `streamId` | `uint256` | The ID of the stream. |
| `sender` | `address` | The address of the stream's sender. |
| `recipient` | `address` | The address of the stream's recipient. |
| `token` | `IERC20` | The contract address of the ERC-20 token that has been distributed. |
| `senderAmount` | `uint128` | The amount of tokens refunded to the stream's sender, denoted in units of the token's decimals. |
| `recipientAmount` | `uint128` | The amount of tokens left for the stream's recipient to withdraw, denoted in units of the token's decimals. |
### CollectFees
Emitted when the accrued fees are collected.
```solidity
event CollectFees(address indexed admin, uint256 indexed feeAmount);
```
**Parameters**
| Name | Type | Description |
| ----------- | --------- | ----------------------------------------------------------------------- |
| `admin` | `address` | The address of the current contract admin, which has received the fees. |
| `feeAmount` | `uint256` | The amount of collected fees. |
### InvalidWithdrawalInWithdrawMultiple
Emitted when withdrawing from multiple streams and one particular withdrawal reverts.
```solidity
event InvalidWithdrawalInWithdrawMultiple(uint256 streamId, bytes revertData);
```
**Parameters**
| Name | Type | Description |
| ------------ | --------- | ------------------------------------------------- |
| `streamId` | `uint256` | The stream ID that reverted during withdraw. |
| `revertData` | `bytes` | The error data returned by the reverted withdraw. |
### RenounceLockupStream
Emitted when a sender gives up the right to cancel a stream.
```solidity
event RenounceLockupStream(uint256 indexed streamId);
```
**Parameters**
| Name | Type | Description |
| ---------- | --------- | --------------------- |
| `streamId` | `uint256` | The ID of the stream. |
### SetNFTDescriptor
Emitted when the admin sets a new NFT descriptor contract.
```solidity
event SetNFTDescriptor(
address indexed admin, ILockupNFTDescriptor oldNFTDescriptor, ILockupNFTDescriptor newNFTDescriptor
);
```
**Parameters**
| Name | Type | Description |
| ------------------ | ---------------------- | ----------------------------------------------- |
| `admin` | `address` | The address of the current contract admin. |
| `oldNFTDescriptor` | `ILockupNFTDescriptor` | The address of the old NFT descriptor contract. |
| `newNFTDescriptor` | `ILockupNFTDescriptor` | The address of the new NFT descriptor contract. |
### WithdrawFromLockupStream
Emitted when tokens are withdrawn from a stream.
```solidity
event WithdrawFromLockupStream(uint256 indexed streamId, address indexed to, IERC20 indexed token, uint128 amount);
```
**Parameters**
| Name | Type | Description |
| ---------- | --------- | ------------------------------------------------------------------------- |
| `streamId` | `uint256` | The ID of the stream. |
| `to` | `address` | The address that has received the withdrawn tokens. |
| `token` | `IERC20` | The contract address of the ERC-20 token that has been withdrawn. |
| `amount` | `uint128` | The amount of tokens withdrawn, denoted in units of the token's decimals. |
---
## ISablierLockupRecipient
[Git Source](https://github.com/sablier-labs/lockup/blob/463278dbb461b1733d6424cf0aeee3b8d6bc036a/src/interfaces/ISablierLockupRecipient.sol)
**Inherits:** IERC165
Interface for recipient contracts capable of reacting to cancellations and withdrawals. For this to be able to hook into
Sablier, it must fully implement this interface and it must have been allowlisted by the Lockup contract's admin.
_See [IERC165-supportsInterface](https://eips.ethereum.org/EIPS/eip-165#supportsinterface). The implementation MUST
implement the {IERC165-supportsInterface} method, which MUST return `true` when called with `0xf8ee98d3`, i.e.
`type(ISablierLockupRecipient).interfaceId`._
## Functions
### onSablierLockupCancel
Responds to cancellations.
Notes:
- The function MUST return the selector `ISablierLockupRecipient.onSablierLockupCancel.selector`.
- If this function reverts, the execution in the Lockup contract will revert as well.
```solidity
function onSablierLockupCancel(
uint256 streamId,
address sender,
uint128 senderAmount,
uint128 recipientAmount
)
external
returns (bytes4 selector);
```
**Parameters**
| Name | Type | Description |
| ----------------- | --------- | ----------------------------------------------------------------------------------------------------------- |
| `streamId` | `uint256` | The ID of the canceled stream. |
| `sender` | `address` | The stream's sender, who canceled the stream. |
| `senderAmount` | `uint128` | The amount of tokens refunded to the stream's sender, denoted in units of the token's decimals. |
| `recipientAmount` | `uint128` | The amount of tokens left for the stream's recipient to withdraw, denoted in units of the token's decimals. |
**Returns**
| Name | Type | Description |
| ---------- | -------- | ---------------------------------------------------------- |
| `selector` | `bytes4` | The selector of this function needed to validate the hook. |
### onSablierLockupWithdraw
Responds to withdrawals triggered by any address except the contract implementing this interface.
Notes:
- The function MUST return the selector `ISablierLockupRecipient.onSablierLockupWithdraw.selector`.
- If this function reverts, the execution in the Lockup contract will revert as well.
```solidity
function onSablierLockupWithdraw(
uint256 streamId,
address caller,
address to,
uint128 amount
)
external
returns (bytes4 selector);
```
**Parameters**
| Name | Type | Description |
| ---------- | --------- | ------------------------------------------------------------------------- |
| `streamId` | `uint256` | The ID of the stream being withdrawn from. |
| `caller` | `address` | The original `msg.sender` address that triggered the withdrawal. |
| `to` | `address` | The address receiving the withdrawn tokens. |
| `amount` | `uint128` | The amount of tokens withdrawn, denoted in units of the token's decimals. |
**Returns**
| Name | Type | Description |
| ---------- | -------- | ---------------------------------------------------------- |
| `selector` | `bytes4` | The selector of this function needed to validate the hook. |
---
## Errors (4)
[Git Source](https://github.com/sablier-labs/lockup/blob/463278dbb461b1733d6424cf0aeee3b8d6bc036a/src/libraries/Errors.sol)
Library containing all custom errors the protocol may revert with.
## Errors
### BatchError
Thrown when an unexpected error occurs during a batch call.
```solidity
error BatchError(bytes errorData);
```
### CallerNotAdmin
Thrown when `msg.sender` is not the admin.
```solidity
error CallerNotAdmin(address admin, address caller);
```
### DelegateCall
Thrown when trying to delegate call to a function that disallows delegate calls.
```solidity
error DelegateCall();
```
### SablierBatchLockup_BatchSizeZero
```solidity
error SablierBatchLockup_BatchSizeZero();
```
### LockupNFTDescriptor_UnknownNFT
Thrown when trying to generate the token URI for an unknown ERC-721 NFT contract.
```solidity
error LockupNFTDescriptor_UnknownNFT(IERC721Metadata nft, string symbol);
```
### SablierHelpers_BrokerFeeTooHigh
Thrown when the broker fee exceeds the maximum allowed fee.
```solidity
error SablierHelpers_BrokerFeeTooHigh(UD60x18 brokerFee, UD60x18 maxBrokerFee);
```
### SablierHelpers_CliffTimeNotLessThanEndTime
Thrown when trying to create a linear stream with a cliff time not strictly less than the end time.
```solidity
error SablierHelpers_CliffTimeNotLessThanEndTime(uint40 cliffTime, uint40 endTime);
```
### SablierHelpers_CliffTimeZeroUnlockAmountNotZero
Thrown when trying to create a stream with a non zero cliff unlock amount when the cliff time is zero.
```solidity
error SablierHelpers_CliffTimeZeroUnlockAmountNotZero(uint128 cliffUnlockAmount);
```
### SablierHelpers_DepositAmountNotEqualToSegmentAmountsSum
Thrown when trying to create a dynamic stream with a deposit amount not equal to the sum of the segment amounts.
```solidity
error SablierHelpers_DepositAmountNotEqualToSegmentAmountsSum(uint128 depositAmount, uint128 segmentAmountsSum);
```
### SablierHelpers_DepositAmountNotEqualToTrancheAmountsSum
Thrown when trying to create a tranched stream with a deposit amount not equal to the sum of the tranche amounts.
```solidity
error SablierHelpers_DepositAmountNotEqualToTrancheAmountsSum(uint128 depositAmount, uint128 trancheAmountsSum);
```
### SablierHelpers_DepositAmountZero
Thrown when trying to create a stream with a zero deposit amount.
```solidity
error SablierHelpers_DepositAmountZero();
```
### SablierHelpers_EndTimeNotEqualToLastSegmentTimestamp
Thrown when trying to create a dynamic stream with end time not equal to the last segment's timestamp.
```solidity
error SablierHelpers_EndTimeNotEqualToLastSegmentTimestamp(uint40 endTime, uint40 lastSegmentTimestamp);
```
### SablierHelpers_EndTimeNotEqualToLastTrancheTimestamp
Thrown when trying to create a tranched stream with end time not equal to the last tranche's timestamp.
```solidity
error SablierHelpers_EndTimeNotEqualToLastTrancheTimestamp(uint40 endTime, uint40 lastTrancheTimestamp);
```
### SablierHelpers_SegmentCountTooHigh
Thrown when trying to create a dynamic stream with more segments than the maximum allowed.
```solidity
error SablierHelpers_SegmentCountTooHigh(uint256 count);
```
### SablierHelpers_SegmentCountZero
Thrown when trying to create a dynamic stream with no segments.
```solidity
error SablierHelpers_SegmentCountZero();
```
### SablierHelpers_SegmentTimestampsNotOrdered
Thrown when trying to create a dynamic stream with unordered segment timestamps.
```solidity
error SablierHelpers_SegmentTimestampsNotOrdered(uint256 index, uint40 previousTimestamp, uint40 currentTimestamp);
```
### SablierHelpers_SenderZeroAddress
Thrown when trying to create a stream with the sender as the zero address.
```solidity
error SablierHelpers_SenderZeroAddress();
```
### SablierHelpers_ShapeExceeds32Bytes
Thrown when trying to create a stream with a shape string exceeding 32 bytes.
```solidity
error SablierHelpers_ShapeExceeds32Bytes(uint256 shapeLength);
```
### SablierHelpers_StartTimeNotLessThanCliffTime
Thrown when trying to create a linear stream with a start time not strictly less than the cliff time, when the cliff
time does not have a zero value.
```solidity
error SablierHelpers_StartTimeNotLessThanCliffTime(uint40 startTime, uint40 cliffTime);
```
### SablierHelpers_StartTimeNotLessThanEndTime
Thrown when trying to create a linear stream with a start time not strictly less than the end time.
```solidity
error SablierHelpers_StartTimeNotLessThanEndTime(uint40 startTime, uint40 endTime);
```
### SablierHelpers_StartTimeNotLessThanFirstSegmentTimestamp
Thrown when trying to create a dynamic stream with a start time not strictly less than the first segment timestamp.
```solidity
error SablierHelpers_StartTimeNotLessThanFirstSegmentTimestamp(uint40 startTime, uint40 firstSegmentTimestamp);
```
### SablierHelpers_StartTimeNotLessThanFirstTrancheTimestamp
Thrown when trying to create a tranched stream with a start time not strictly less than the first tranche timestamp.
```solidity
error SablierHelpers_StartTimeNotLessThanFirstTrancheTimestamp(uint40 startTime, uint40 firstTrancheTimestamp);
```
### SablierHelpers_StartTimeZero
Thrown when trying to create a stream with a zero start time.
```solidity
error SablierHelpers_StartTimeZero();
```
### SablierHelpers_TrancheCountTooHigh
Thrown when trying to create a tranched stream with more tranches than the maximum allowed.
```solidity
error SablierHelpers_TrancheCountTooHigh(uint256 count);
```
### SablierHelpers_TrancheCountZero
Thrown when trying to create a tranched stream with no tranches.
```solidity
error SablierHelpers_TrancheCountZero();
```
### SablierHelpers_TrancheTimestampsNotOrdered
Thrown when trying to create a tranched stream with unordered tranche timestamps.
```solidity
error SablierHelpers_TrancheTimestampsNotOrdered(uint256 index, uint40 previousTimestamp, uint40 currentTimestamp);
```
### SablierHelpers_UnlockAmountsSumTooHigh
Thrown when trying to create a stream with the sum of the unlock amounts greater than the deposit amount.
```solidity
error SablierHelpers_UnlockAmountsSumTooHigh(
uint128 depositAmount, uint128 startUnlockAmount, uint128 cliffUnlockAmount
);
```
### SablierLockupBase_AllowToHookUnsupportedInterface
Thrown when trying to allow to hook a contract that doesn't implement the interface correctly.
```solidity
error SablierLockupBase_AllowToHookUnsupportedInterface(address recipient);
```
### SablierLockupBase_AllowToHookZeroCodeSize
Thrown when trying to allow to hook an address with no code.
```solidity
error SablierLockupBase_AllowToHookZeroCodeSize(address recipient);
```
### SablierLockupBase_FeeTransferFail
Thrown when the fee transfer fails.
```solidity
error SablierLockupBase_FeeTransferFail(address admin, uint256 feeAmount);
```
### SablierLockupBase_InvalidHookSelector
Thrown when the hook does not return the correct selector.
```solidity
error SablierLockupBase_InvalidHookSelector(address recipient);
```
### SablierLockupBase_NotTransferable
Thrown when trying to transfer Stream NFT when transferability is disabled.
```solidity
error SablierLockupBase_NotTransferable(uint256 tokenId);
```
### SablierLockupBase_Null
Thrown when the ID references a null stream.
```solidity
error SablierLockupBase_Null(uint256 streamId);
```
### SablierLockupBase_Overdraw
Thrown when trying to withdraw an amount greater than the withdrawable amount.
```solidity
error SablierLockupBase_Overdraw(uint256 streamId, uint128 amount, uint128 withdrawableAmount);
```
### SablierLockupBase_StreamCanceled
Thrown when trying to cancel or renounce a canceled stream.
```solidity
error SablierLockupBase_StreamCanceled(uint256 streamId);
```
### SablierLockupBase_StreamDepleted
Thrown when trying to cancel, renounce, or withdraw from a depleted stream.
```solidity
error SablierLockupBase_StreamDepleted(uint256 streamId);
```
### SablierLockupBase_StreamNotCancelable
Thrown when trying to cancel or renounce a stream that is not cancelable.
```solidity
error SablierLockupBase_StreamNotCancelable(uint256 streamId);
```
### SablierLockupBase_StreamNotDepleted
Thrown when trying to burn a stream that is not depleted.
```solidity
error SablierLockupBase_StreamNotDepleted(uint256 streamId);
```
### SablierLockupBase_StreamSettled
Thrown when trying to cancel or renounce a settled stream.
```solidity
error SablierLockupBase_StreamSettled(uint256 streamId);
```
### SablierLockupBase_Unauthorized
Thrown when `msg.sender` lacks authorization to perform an action.
```solidity
error SablierLockupBase_Unauthorized(uint256 streamId, address caller);
```
### SablierLockupBase_WithdrawalAddressNotRecipient
Thrown when trying to withdraw to an address other than the recipient's.
```solidity
error SablierLockupBase_WithdrawalAddressNotRecipient(uint256 streamId, address caller, address to);
```
### SablierLockupBase_WithdrawAmountZero
Thrown when trying to withdraw zero tokens from a stream.
```solidity
error SablierLockupBase_WithdrawAmountZero(uint256 streamId);
```
### SablierLockupBase_WithdrawArrayCountsNotEqual
Thrown when trying to withdraw from multiple streams and the number of stream IDs does not match the number of withdraw
amounts.
```solidity
error SablierLockupBase_WithdrawArrayCountsNotEqual(uint256 streamIdsCount, uint256 amountsCount);
```
### SablierLockupBase_WithdrawToZeroAddress
Thrown when trying to withdraw to the zero address.
```solidity
error SablierLockupBase_WithdrawToZeroAddress(uint256 streamId);
```
### SablierLockup_NotExpectedModel
Thrown when a function is called on a stream that does not use the expected Lockup model.
```solidity
error SablierLockup_NotExpectedModel(Lockup.Model actualLockupModel, Lockup.Model expectedLockupModel);
```
---
## Helpers (2)
[Git Source](https://github.com/sablier-labs/lockup/blob/463278dbb461b1733d6424cf0aeee3b8d6bc036a/src/libraries/Helpers.sol)
Library with functions needed to validate input parameters across lockup streams.
## Functions
### calculateSegmentTimestamps
_Calculate the timestamps and return the segments._
```solidity
function calculateSegmentTimestamps(
LockupDynamic.SegmentWithDuration[] memory segmentsWithDuration,
uint40 startTime
)
public
pure
returns (LockupDynamic.Segment[] memory segmentsWithTimestamps);
```
### calculateTrancheTimestamps
_Calculate the timestamps and return the tranches._
```solidity
function calculateTrancheTimestamps(
LockupTranched.TrancheWithDuration[] memory tranchesWithDuration,
uint40 startTime
)
public
pure
returns (LockupTranched.Tranche[] memory tranchesWithTimestamps);
```
### checkCreateLockupDynamic
_Checks the parameters of the {SablierLockup-\_createLD} function._
```solidity
function checkCreateLockupDynamic(
address sender,
Lockup.Timestamps memory timestamps,
uint128 totalAmount,
LockupDynamic.Segment[] memory segments,
uint256 maxCount,
UD60x18 brokerFee,
string memory shape,
UD60x18 maxBrokerFee
)
public
pure
returns (Lockup.CreateAmounts memory createAmounts);
```
### checkCreateLockupLinear
_Checks the parameters of the {SablierLockup-\_createLL} function._
```solidity
function checkCreateLockupLinear(
address sender,
Lockup.Timestamps memory timestamps,
uint40 cliffTime,
uint128 totalAmount,
LockupLinear.UnlockAmounts memory unlockAmounts,
UD60x18 brokerFee,
string memory shape,
UD60x18 maxBrokerFee
)
public
pure
returns (Lockup.CreateAmounts memory createAmounts);
```
### checkCreateLockupTranched
_Checks the parameters of the {SablierLockup-\_createLT} function._
```solidity
function checkCreateLockupTranched(
address sender,
Lockup.Timestamps memory timestamps,
uint128 totalAmount,
LockupTranched.Tranche[] memory tranches,
uint256 maxCount,
UD60x18 brokerFee,
string memory shape,
UD60x18 maxBrokerFee
)
public
pure
returns (Lockup.CreateAmounts memory createAmounts);
```
### \_checkAndCalculateBrokerFee
_Checks the broker fee is not greater than `maxBrokerFee`, and then calculates the broker fee amount and the deposit
amount from the total amount._
```solidity
function _checkAndCalculateBrokerFee(
uint128 totalAmount,
UD60x18 brokerFee,
UD60x18 maxBrokerFee
)
private
pure
returns (Lockup.CreateAmounts memory amounts);
```
### \_checkTimestampsAndUnlockAmounts
_Checks the user-provided cliff, end times and unlock amounts of a lockup linear stream._
```solidity
function _checkTimestampsAndUnlockAmounts(
uint128 depositAmount,
Lockup.Timestamps memory timestamps,
uint40 cliffTime,
LockupLinear.UnlockAmounts memory unlockAmounts
)
private
pure;
```
### \_checkCreateStream
_Checks the user-provided common parameters across lockup streams._
```solidity
function _checkCreateStream(
address sender,
uint128 depositAmount,
uint40 startTime,
string memory shape
)
private
pure;
```
### \_checkSegments
Checks:
1. The first timestamp is strictly greater than the start time.
2. The timestamps are ordered chronologically.
3. There are no duplicate timestamps.
4. The deposit amount is equal to the sum of all segment amounts.
5. The end time equals the last segment's timestamp.
```solidity
function _checkSegments(
LockupDynamic.Segment[] memory segments,
uint128 depositAmount,
Lockup.Timestamps memory timestamps,
uint256 maxSegmentCount
)
private
pure;
```
### \_checkTranches
Checks:
1. The first timestamp is strictly greater than the start time.
2. The timestamps are ordered chronologically.
3. There are no duplicate timestamps.
4. The deposit amount is equal to the sum of all tranche amounts.
5. The end time equals the last tranche's timestamp.
```solidity
function _checkTranches(
LockupTranched.Tranche[] memory tranches,
uint128 depositAmount,
Lockup.Timestamps memory timestamps,
uint256 maxTrancheCount
)
private
pure;
```
---
## NFTSVG
[Git Source](https://github.com/sablier-labs/lockup/blob/463278dbb461b1733d6424cf0aeee3b8d6bc036a/src/libraries/NFTSVG.sol)
## State Variables
### CARD_MARGIN
```solidity
uint256 internal constant CARD_MARGIN = 16;
```
## Functions
### generateSVG
```solidity
function generateSVG(SVGParams memory params) internal pure returns (string memory);
```
### generateDefs
```solidity
function generateDefs(
string memory accentColor,
string memory status,
string memory cards
)
internal
pure
returns (string memory);
```
### generateFloatingText
```solidity
function generateFloatingText(
string memory lockupAddress,
string memory tokenAddress,
string memory tokenSymbol
)
internal
pure
returns (string memory);
```
### generateHrefs
```solidity
function generateHrefs(
uint256 progressXPosition,
uint256 statusXPosition,
uint256 amountXPosition,
uint256 durationXPosition
)
internal
pure
returns (string memory);
```
## Structs
### SVGParams
```solidity
struct SVGParams {
string accentColor;
string amount;
string tokenAddress;
string tokenSymbol;
string duration;
string lockupAddress;
string progress;
uint256 progressNumerical;
string status;
}
```
### SVGVars
```solidity
struct SVGVars {
string amountCard;
uint256 amountWidth;
uint256 amountXPosition;
string cards;
uint256 cardsWidth;
string durationCard;
uint256 durationWidth;
uint256 durationXPosition;
string progressCard;
uint256 progressWidth;
uint256 progressXPosition;
string statusCard;
uint256 statusWidth;
uint256 statusXPosition;
}
```
---
## SVGElements
[Git Source](https://github.com/sablier-labs/lockup/blob/463278dbb461b1733d6424cf0aeee3b8d6bc036a/src/libraries/SVGElements.sol)
## State Variables
### BACKGROUND
```solidity
string internal constant BACKGROUND =
'';
```
### BACKGROUND_COLOR
```solidity
string internal constant BACKGROUND_COLOR = "hsl(230,21%,11%)";
```
### FLOATING_TEXT
```solidity
string internal constant FLOATING_TEXT =
'';
```
### GLOW
```solidity
string internal constant GLOW = '';
```
### LOGO
```solidity
string internal constant LOGO =
'';
```
### HOURGLASS_BACKGROUND_CIRCLE
```solidity
string internal constant HOURGLASS_BACKGROUND_CIRCLE =
'';
```
### HOURGLASS_FILL
```solidity
string internal constant HOURGLASS_FILL =
'';
```
### HOURGLASS_STROKE
```solidity
string internal constant HOURGLASS_STROKE =
'';
```
### HOURGLASS_LOWER_BULB_LARGE
```solidity
string internal constant HOURGLASS_LOWER_BULB_LARGE =
'';
```
### HOURGLASS_LOWER_BULB_SMALL
```solidity
string internal constant HOURGLASS_LOWER_BULB_SMALL =
'';
```
### HOURGLASS_UPPER_BULB
```solidity
string internal constant HOURGLASS_UPPER_BULB =
'';
```
### NOISE
```solidity
string internal constant NOISE =
'';
```
### SIGN_GE
_Escape character for "≥"._
```solidity
string internal constant SIGN_GE = "≥";
```
### SIGN_GT
_Escape character for ">"._
```solidity
string internal constant SIGN_GT = ">";
```
### SIGN_LT
_Escape character for "<"._
```solidity
string internal constant SIGN_LT = "<";
```
## Functions
### card
```solidity
function card(CardType cardType, string memory content) internal pure returns (uint256, string memory);
```
### card
```solidity
function card(
CardType cardType,
string memory content,
string memory circle
)
internal
pure
returns (uint256 width, string memory card_);
```
### floatingText
```solidity
function floatingText(string memory offset, string memory text) internal pure returns (string memory);
```
### gradients
```solidity
function gradients(string memory accentColor) internal pure returns (string memory);
```
### hourglass
```solidity
function hourglass(string memory status) internal pure returns (string memory);
```
### progressCircle
```solidity
function progressCircle(uint256 progressNumerical, string memory accentColor) internal pure returns (string memory);
```
### calculatePixelWidth
Calculates the pixel width of the provided string.
Notes:
- A factor of ~0.6 is applied to the two font sizes used in the SVG (26px and 22px) to approximate the average character
width.
- It is assumed that escaped characters are placed at the beginning of `text`.
- It is further assumed that there is no other semicolon in `text`.
```solidity
function calculatePixelWidth(string memory text, bool largeFont) internal pure returns (uint256 width);
```
### stringifyCardType
Retrieves the card type as a string.
```solidity
function stringifyCardType(CardType cardType) internal pure returns (string memory);
```
## Enums
### CardType
```solidity
enum CardType {
PROGRESS,
STATUS,
AMOUNT,
DURATION
}
```
---
## VestingMath
[Git Source](https://github.com/sablier-labs/lockup/blob/463278dbb461b1733d6424cf0aeee3b8d6bc036a/src/libraries/VestingMath.sol)
Library with functions needed to calculate vested amount across lockup streams.
## Functions
### calculateLockupDynamicStreamedAmount
Calculates the streamed amount for a Lockup dynamic stream.
Lockup dynamic model uses the following distribution function:
$$
f(x) = x^{exp} * csa + \Sigma(esa)
$$
Where:
- $x$ is the elapsed time divided by the total duration of the current segment.
- $exp$ is the current segment exponent.
- $csa$ is the current segment amount.
- $\Sigma(esa)$ is the sum of all vested segments' amounts. Notes:
1. Normalization to 18 decimals is not needed because there is no mix of amounts with different decimals.
2. The stream's start time must be in the past so that the calculations below do not overflow.
3. The stream's end time must be in the future so that the loop below does not panic with an "index out of bounds"
error. Assumptions:
4. The sum of all segment amounts does not overflow uint128 and equals the deposited amount.
5. The first segment's timestamp is greater than the start time.
6. The last segment's timestamp equals the end time.
7. The segment timestamps are arranged in ascending order.
```solidity
function calculateLockupDynamicStreamedAmount(
uint128 depositedAmount,
LockupDynamic.Segment[] memory segments,
uint40 blockTimestamp,
Lockup.Timestamps memory timestamps,
uint128 withdrawnAmount
)
public
pure
returns (uint128);
```
### calculateLockupLinearStreamedAmount
Calculates the streamed amount for a Lockup linear stream.
Lockup linear model uses the following distribution function:
$$
( x * sa + s, block timestamp < cliff time
f(x) = (
( x * sa + s + c, block timestamp => cliff time
$$
Where:
- $x$ is the elapsed time in the streamable range divided by the total streamable range.
- $sa$ is the streamable amount, i.e. deposited amount minus unlock amounts' sum.
- $s$ is the start unlock amount.
- $c$ is the cliff unlock amount. Assumptions:
1. The sum of the unlock amounts (start and cliff) does not overflow uint128 and is less than or equal to the deposit
amount.
2. The start time is before the end time.
3. If the cliff time is not zero, it is after the start time and before the end time.
```solidity
function calculateLockupLinearStreamedAmount(
uint128 depositedAmount,
uint40 blockTimestamp,
Lockup.Timestamps memory timestamps,
uint40 cliffTime,
LockupLinear.UnlockAmounts memory unlockAmounts,
uint128 withdrawnAmount
)
public
pure
returns (uint128);
```
### calculateLockupTranchedStreamedAmount
Calculates the streamed amount for a Lockup tranched stream.
Lockup tranched model uses the following distribution function:
$$
f(x) = \Sigma(eta)
$$
Where:
- $\Sigma(eta)$ is the sum of all vested tranches' amounts. Assumptions:
1. The sum of all tranche amounts does not overflow uint128, and equals the deposited amount.
2. The first tranche's timestamp is greater than the start time.
3. The last tranche's timestamp equals the end time.
4. The tranche timestamps are arranged in ascending order.
```solidity
function calculateLockupTranchedStreamedAmount(
uint128 depositedAmount,
uint40 blockTimestamp,
Lockup.Timestamps memory timestamps,
LockupTranched.Tranche[] memory tranches
)
public
pure
returns (uint128);
```
---
## BatchLockup
[Git Source](https://github.com/sablier-labs/lockup/blob/463278dbb461b1733d6424cf0aeee3b8d6bc036a/src/types/DataTypes.sol)
_Namespace for the structs used in `BatchLockup` contract._
## Structs
### CreateWithDurationsLD
A struct encapsulating all parameters of {SablierLockup.createWithDurationsLD} except for the token.
```solidity
struct CreateWithDurationsLD {
address sender;
address recipient;
uint128 totalAmount;
bool cancelable;
bool transferable;
LockupDynamic.SegmentWithDuration[] segmentsWithDuration;
string shape;
Broker broker;
}
```
### CreateWithDurationsLL
A struct encapsulating all parameters of {SablierLockup.createWithDurationsLL} except for the token.
```solidity
struct CreateWithDurationsLL {
address sender;
address recipient;
uint128 totalAmount;
bool cancelable;
bool transferable;
LockupLinear.Durations durations;
LockupLinear.UnlockAmounts unlockAmounts;
string shape;
Broker broker;
}
```
### CreateWithDurationsLT
A struct encapsulating all parameters of {SablierLockup.createWithDurationsLT} except for the token.
```solidity
struct CreateWithDurationsLT {
address sender;
address recipient;
uint128 totalAmount;
bool cancelable;
bool transferable;
LockupTranched.TrancheWithDuration[] tranchesWithDuration;
string shape;
Broker broker;
}
```
### CreateWithTimestampsLD
A struct encapsulating all parameters of {SablierLockup.createWithTimestampsLD} except for the token.
```solidity
struct CreateWithTimestampsLD {
address sender;
address recipient;
uint128 totalAmount;
bool cancelable;
bool transferable;
uint40 startTime;
LockupDynamic.Segment[] segments;
string shape;
Broker broker;
}
```
### CreateWithTimestampsLL
A struct encapsulating all parameters of {SablierLockup.createWithTimestampsLL} except for the token.
```solidity
struct CreateWithTimestampsLL {
address sender;
address recipient;
uint128 totalAmount;
bool cancelable;
bool transferable;
Lockup.Timestamps timestamps;
uint40 cliffTime;
LockupLinear.UnlockAmounts unlockAmounts;
string shape;
Broker broker;
}
```
### CreateWithTimestampsLT
A struct encapsulating all parameters of {SablierLockup.createWithTimestampsLT} except for the token.
```solidity
struct CreateWithTimestampsLT {
address sender;
address recipient;
uint128 totalAmount;
bool cancelable;
bool transferable;
uint40 startTime;
LockupTranched.Tranche[] tranches;
string shape;
Broker broker;
}
```
---
## Lockup
[Git Source](https://github.com/sablier-labs/lockup/blob/463278dbb461b1733d6424cf0aeee3b8d6bc036a/src/types/DataTypes.sol)
Namespace for the structs used in all Lockup models.
## Structs
### Amounts
Struct encapsulating the deposit, withdrawn, and refunded amounts, all denoted in units of the token's decimals.
_Because the deposited and the withdrawn amount are often read together, declaring them in the same slot saves gas._
```solidity
struct Amounts {
uint128 deposited;
uint128 withdrawn;
uint128 refunded;
}
```
**Properties**
| Name | Type | Description |
| ----------- | --------- | --------------------------------------------------------------------------------------- |
| `deposited` | `uint128` | The initial amount deposited in the stream, net of broker fee. |
| `withdrawn` | `uint128` | The cumulative amount withdrawn from the stream. |
| `refunded` | `uint128` | The amount refunded to the sender. Unless the stream was canceled, this is always zero. |
### CreateAmounts
Struct encapsulating (i) the deposit amount and (ii) the broker fee amount, both denoted in units of the token's
decimals.
```solidity
struct CreateAmounts {
uint128 deposit;
uint128 brokerFee;
}
```
**Properties**
| Name | Type | Description |
| ----------- | --------- | ------------------------------------ |
| `deposit` | `uint128` | The amount to deposit in the stream. |
| `brokerFee` | `uint128` | The broker fee amount. |
### CreateEventCommon
Struct encapsulating the common parameters emitted in the `Create` event.
```solidity
struct CreateEventCommon {
address funder;
address sender;
address recipient;
Lockup.CreateAmounts amounts;
IERC20 token;
bool cancelable;
bool transferable;
Lockup.Timestamps timestamps;
string shape;
address broker;
}
```
**Properties**
| Name | Type | Description |
| -------------- | ---------------------- | --------------------------------------------------------------------------------------------------------------------------- |
| `funder` | `address` | The address which has funded the stream. |
| `sender` | `address` | The address distributing the tokens, which is able to cancel the stream. |
| `recipient` | `address` | The address receiving the tokens, as well as the NFT owner. |
| `amounts` | `Lockup.CreateAmounts` | Struct encapsulating (i) the deposit amount, and (ii) the broker fee amount, both denoted in units of the token's decimals. |
| `token` | `IERC20` | The contract address of the ERC-20 token to be distributed. |
| `cancelable` | `bool` | Boolean indicating whether the stream is cancelable or not. |
| `transferable` | `bool` | Boolean indicating whether the stream NFT is transferable or not. |
| `timestamps` | `Lockup.Timestamps` | Struct encapsulating (i) the stream's start time and (ii) end time, all as Unix timestamps. |
| `shape` | `string` | An optional parameter to specify the shape of the distribution function. This helps differentiate streams in the UI. |
| `broker` | `address` | The address of the broker who has helped create the stream, e.g. a front-end website. |
### CreateWithDurations
Struct encapsulating the parameters of the `createWithDurations` functions.
```solidity
struct CreateWithDurations {
address sender;
address recipient;
uint128 totalAmount;
IERC20 token;
bool cancelable;
bool transferable;
string shape;
Broker broker;
}
```
**Properties**
| Name | Type | Description |
| -------------- | --------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `sender` | `address` | The address distributing the tokens, with the ability to cancel the stream. It doesn't have to be the same as `msg.sender`. |
| `recipient` | `address` | The address receiving the tokens, as well as the NFT owner. |
| `totalAmount` | `uint128` | The total amount, including the deposit and any broker fee, denoted in units of the token's decimals. |
| `token` | `IERC20` | The contract address of the ERC-20 token to be distributed. |
| `cancelable` | `bool` | Indicates if the stream is cancelable. |
| `transferable` | `bool` | Indicates if the stream NFT is transferable. |
| `shape` | `string` | An optional parameter to specify the shape of the distribution function. This helps differentiate streams in the UI. |
| `broker` | `Broker` | Struct encapsulating (i) the address of the broker assisting in creating the stream, and (ii) the percentage fee paid to the broker from `totalAmount`, denoted as a fixed-point number. Both can be set to zero. |
### CreateWithTimestamps
Struct encapsulating the parameters of the `createWithTimestamps` functions.
```solidity
struct CreateWithTimestamps {
address sender;
address recipient;
uint128 totalAmount;
IERC20 token;
bool cancelable;
bool transferable;
Timestamps timestamps;
string shape;
Broker broker;
}
```
**Properties**
| Name | Type | Description |
| -------------- | ------------ | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `sender` | `address` | The address distributing the tokens, with the ability to cancel the stream. It doesn't have to be the same as `msg.sender`. |
| `recipient` | `address` | The address receiving the tokens, as well as the NFT owner. |
| `totalAmount` | `uint128` | The total amount, including the deposit and any broker fee, denoted in units of the token's decimals. |
| `token` | `IERC20` | The contract address of the ERC-20 token to be distributed. |
| `cancelable` | `bool` | Indicates if the stream is cancelable. |
| `transferable` | `bool` | Indicates if the stream NFT is transferable. |
| `timestamps` | `Timestamps` | Struct encapsulating (i) the stream's start time and (ii) end time, both as Unix timestamps. |
| `shape` | `string` | An optional parameter to specify the shape of the distribution function. This helps differentiate streams in the UI. |
| `broker` | `Broker` | Struct encapsulating (i) the address of the broker assisting in creating the stream, and (ii) the percentage fee paid to the broker from `totalAmount`, denoted as a fixed-point number. Both can be set to zero. |
### Stream
A common data structure to be stored in all Lockup models.
_The fields are arranged like this to save gas via tight variable packing._
```solidity
struct Stream {
address sender;
uint40 startTime;
uint40 endTime;
bool isCancelable;
bool wasCanceled;
IERC20 token;
bool isDepleted;
bool isStream;
bool isTransferable;
Model lockupModel;
Amounts amounts;
}
```
**Properties**
| Name | Type | Description |
| ---------------- | --------- | ----------------------------------------------------------------------------------------------------------------- |
| `sender` | `address` | The address distributing the tokens, with the ability to cancel the stream. |
| `startTime` | `uint40` | The Unix timestamp indicating the stream's start. |
| `endTime` | `uint40` | The Unix timestamp indicating the stream's end. |
| `isCancelable` | `bool` | Boolean indicating if the stream is cancelable. |
| `wasCanceled` | `bool` | Boolean indicating if the stream was canceled. |
| `token` | `IERC20` | The contract address of the ERC-20 token to be distributed. |
| `isDepleted` | `bool` | Boolean indicating if the stream is depleted. |
| `isStream` | `bool` | Boolean indicating if the struct entity exists. |
| `isTransferable` | `bool` | Boolean indicating if the stream NFT is transferable. |
| `lockupModel` | `Model` | The distribution model of the stream. |
| `amounts` | `Amounts` | Struct encapsulating the deposit, withdrawn, and refunded amounts, both denoted in units of the token's decimals. |
### Timestamps
Struct encapsulating the Lockup timestamps.
```solidity
struct Timestamps {
uint40 start;
uint40 end;
}
```
**Properties**
| Name | Type | Description |
| ------- | -------- | ------------------------------------------ |
| `start` | `uint40` | The Unix timestamp for the stream's start. |
| `end` | `uint40` | The Unix timestamp for the stream's end. |
## Enums
### Model
Enum representing the different distribution models used to create lockup streams.
_These distribution models determine the vesting function used in the calculations of the unlocked tokens._
```solidity
enum Model {
LOCKUP_LINEAR,
LOCKUP_DYNAMIC,
LOCKUP_TRANCHED
}
```
### Status
Enum representing the different statuses of a stream.
The status can have a "temperature":
1. Warm: Pending, Streaming. The passage of time alone can change the status.
2. Cold: Settled, Canceled, Depleted. The passage of time alone cannot change the status.
**Notes:**
- value0: PENDING Stream created but not started; tokens are in a pending state.
- value1: STREAMING Active stream where tokens are currently being streamed.
- value2: SETTLED All tokens have been streamed; recipient is due to withdraw them.
- value3: CANCELED Canceled stream; remaining tokens await recipient's withdrawal.
- value4: DEPLETED Depleted stream; all tokens have been withdrawn and/or refunded.
```solidity
enum Status {
PENDING,
STREAMING,
SETTLED,
CANCELED,
DEPLETED
}
```
---
## LockupDynamic
[Git Source](https://github.com/sablier-labs/lockup/blob/463278dbb461b1733d6424cf0aeee3b8d6bc036a/src/types/DataTypes.sol)
Namespace for the structs used only in Lockup Dynamic model.
## Structs
### Segment
Segment struct to be stored in the Lockup Dynamic model.
```solidity
struct Segment {
uint128 amount;
UD2x18 exponent;
uint40 timestamp;
}
```
**Properties**
| Name | Type | Description |
| ----------- | --------- | --------------------------------------------------------------------------------------- |
| `amount` | `uint128` | The amount of tokens streamed in the segment, denoted in units of the token's decimals. |
| `exponent` | `UD2x18` | The exponent of the segment, denoted as a fixed-point number. |
| `timestamp` | `uint40` | The Unix timestamp indicating the segment's end. |
### SegmentWithDuration
Segment struct used at runtime in {SablierLockup.createWithDurationsLD} function.
```solidity
struct SegmentWithDuration {
uint128 amount;
UD2x18 exponent;
uint40 duration;
}
```
**Properties**
| Name | Type | Description |
| ---------- | --------- | --------------------------------------------------------------------------------------- |
| `amount` | `uint128` | The amount of tokens streamed in the segment, denoted in units of the token's decimals. |
| `exponent` | `UD2x18` | The exponent of the segment, denoted as a fixed-point number. |
| `duration` | `uint40` | The time difference in seconds between the segment and the previous one. |
---
## LockupLinear
[Git Source](https://github.com/sablier-labs/lockup/blob/463278dbb461b1733d6424cf0aeee3b8d6bc036a/src/types/DataTypes.sol)
Namespace for the structs used only in Lockup Linear model.
## Structs
### Durations
Struct encapsulating the cliff duration and the total duration used at runtime in {SablierLockup.createWithDurationsLL}
function.
```solidity
struct Durations {
uint40 cliff;
uint40 total;
}
```
**Properties**
| Name | Type | Description |
| ------- | -------- | ------------------------------ |
| `cliff` | `uint40` | The cliff duration in seconds. |
| `total` | `uint40` | The total duration in seconds. |
### UnlockAmounts
Struct encapsulating the unlock amounts for the stream.
_The sum of `start` and `cliff` must be less than or equal to deposit amount. Both amounts can be zero._
```solidity
struct UnlockAmounts {
uint128 start;
uint128 cliff;
}
```
**Properties**
| Name | Type | Description |
| ------- | --------- | -------------------------------------------- |
| `start` | `uint128` | The amount to be unlocked at the start time. |
| `cliff` | `uint128` | The amount to be unlocked at the cliff time. |
---
## LockupTranched
[Git Source](https://github.com/sablier-labs/lockup/blob/463278dbb461b1733d6424cf0aeee3b8d6bc036a/src/types/DataTypes.sol)
Namespace for the structs used only in Lockup Tranched model.
## Structs
### Tranche
Tranche struct to be stored in the Lockup Tranched model.
```solidity
struct Tranche {
uint128 amount;
uint40 timestamp;
}
```
**Properties**
| Name | Type | Description |
| ----------- | --------- | --------------------------------------------------------------------------------------------- |
| `amount` | `uint128` | The amount of tokens to be unlocked in the tranche, denoted in units of the token's decimals. |
| `timestamp` | `uint40` | The Unix timestamp indicating the tranche's end. |
### TrancheWithDuration
Tranche struct used at runtime in {SablierLockup.createWithDurationsLT} function.
```solidity
struct TrancheWithDuration {
uint128 amount;
uint40 duration;
}
```
**Properties**
| Name | Type | Description |
| ---------- | --------- | --------------------------------------------------------------------------------------------- |
| `amount` | `uint128` | The amount of tokens to be unlocked in the tranche, denoted in units of the token's decimals. |
| `duration` | `uint40` | The time difference in seconds between the tranche and the previous one. |
---
## Broker (2)
[Git Source](https://github.com/sablier-labs/lockup/blob/463278dbb461b1733d6424cf0aeee3b8d6bc036a/src/types/DataTypes.sol)
Struct encapsulating the broker parameters passed to the create functions. Both can be set to zero.
```solidity
struct Broker {
address account;
UD60x18 fee;
}
```
**Properties**
| Name | Type | Description |
| --------- | --------- | ------------------------------------------------------------------------------------------------------ |
| `account` | `address` | The address receiving the broker's fee. |
| `fee` | `UD60x18` | The broker's percentage fee from the total amount, denoted as a fixed-point number where 1e18 is 100%. |
---
## FAQ
### Where can I access the Sablier Protocol?
You can access Sablier through the following web interfaces:
- [app.sablier.com](https://app.sablier.com)
- [app.safe.global](https://app.safe.global/share/safe-app?appUrl=https%3A%2F%2Fapp.sablier.com%2F&chain=arb1) (if you
are using a Safe multisig wallet)
### What is token streaming?
An alternative wording, coined by Andreas Antonopoulos in 2017. Just like you can stream movies on Netflix or music on
Spotify, so you can stream tokens by the second on Sablier.
### How does streaming work on Sablier Lockup?
Imagine Alice wants to stream 3000 DAI to Bob during the whole month of January.
1. Alice deposits the 3000 DAI in Lockup before Jan 1, setting the end time to Feb 1.
2. Bob's allocation of the DAI deposit increases every second beginning Jan 1.
3. On Jan 10, Bob will have earned approximately 1000 DAI. He can send a transaction to withdraw the tokens.
4. If at any point during January Alice wishes to get back her tokens, she can cancel the stream and recover what has
not been streamed yet.
### How does Lockup calculate the payment rate?
Dividing the deposit amount by the difference between the stop time and the start time gives us a payment rate per
second. Lockup uses this rate to transfer a small portion of tokens from the sender to the recipient once every second.
For instance, if the payment rate was 0.01 DAI per second, the recipient would receive:
$0.01 * 60 = 0.6$ DAI / minute, $0.01 * 60 * 60 = 36$ DAI / hour, $0.01 * 60 * 60 * 24 = 864$ DAI / day
### How does streaming work on Sablier Flow?
Imagine Alice wants to stream 3000 DAI on a monthly basis to Bob.
1. Alice creates a stream on Flow with a rate of 3000 DAI per month.
2. Alice deposits 200 DAI in Flow.
3. On Jan 10, Bob is owed 1000 DAI, but there is only 200 DAI in the stream. So he can only withdraw 200 DAI.
4. Alice deposits another 2800 DAI in Flow, and Bob can now withdraw the remaining 800 DAI.
5. On Feb 1, Bob is able to withdraw 2800 DAI.
6. The stream will continue indefinitely until it is paused (by Alice) or voided (by either Alice or Bob).
### How can I create a stream?
You will need an EVM wallet (e.g. [Metamask](https://metamask.io), [Rainbow](https://rainbow.me), etc.), some ETH (or
the network's token to pay gas fees) and an ERC-20 token like DAI. Then, choose your favorite interface for accessing
the Sablier Protocol (such as [app.sablier.com](https://app.sablier.com)) and fill in the recipient's address, the
deposit amount and the total duration.
Alternatively, you can see [here](/guides/lockup/etherscan) how to manually create a stream using
[Etherscan](https://etherscan.io).
### Can I create a stream with non-transferable tokens?
Yes, it is possible to deposit non-transferable tokens in Sablier, but you need to whitelist the following two contracts:
1. `SablierLockup`
2. `SablierBatchLockup`
You can get the addresses of the above contracts on the [Lockup Deployments](/guides/lockup/deployments) page. Pick the chain on which your token is deployed. A relevant diagram can be found [here](/reference/lockup/diagrams).
### Where are the tokens held?
In the Sablier smart contracts. You can verify this assertion by inspecting Etherscan or any other blockchain explorer.
### How can recipients access their tokens?
As the tokens are being streamed at the smart contract level, recipients can consider Sablier their real-time wallet for
digital currency.
To make withdrawals, recipients can:
1. Use a web interface (e.g. [app.sablier.com](https://app.sablier.com)).
2. Call the contract directly on a blockchain explorer.
### Can I cancel streams?
Yes, both as a sender and a recipient.
If the stream is canceled before the start time, the whole deposit amount is returned in full to you. If the stream is
canceled while the stream is active, the smart contracts calculate how much has been streamed, transfer that to the
recipient and return the remainder to you. If the stream is canceled after the stream has stopped, the smart contracts
transfers all the remaining funds (if any) to the recipient.
### Can I modify the streaming rate?
On Lockup, once a stream is created, it is set in stone on the Ethereum blockchain. Whereas on Flow, the streaming rate
per second can be adjusted anytime by the sender.
### How are vested airdrops different from a batch of normal streams?
Creating streams through the form (manual or CSV) will immediately start the vesting period. You click to create the
transaction, pay for the gas, and you start all the streams for your recipients.
Due to how block gas limits work, you can only fit a limited number of streams (usually 60) in a single block before
running out of space. This is great for small distributions like paying your contractors or a set of investors.
Meanwhile, vested airdrops leverage a "lazy creation" of streams. You deploy a contract that stores a list of recipients
and the streams they are entitles to claim. Every recipient will manually claim their allocation by creating a stream.
This allows for millions of recipients in your distribution campaign, with each recipient triggering the stream creation
one after the other (as opposed to all at once).
| Feature | Groups | Airdrops |
| ------------------------------ | -------------------------------- | --------------------- |
| Maximum number of streams | ~280 (different limit per chain) | Millions |
| Gas to create streams | Sender paying | Each recipient paying |
| Gas to deploy Airdrop contract | N/A | Sender paying |
| Streams show up onchain | Immediately | Lazily |
| Good for | Investors, Employees | Large communities |
### What is real-time finance?
A term coined by us to emphasize the wide-ranging use cases for the Sablier Protocol. We like to think about work as an
attempt to rethink the way trust is established in financial contracts.
---
## Technical Guides
## Guides for Apps
Hands-on guides for app-specific features:
- [CSV Support](/apps/guides/csv-support) (for streams and airdrops)
- [URL Schemes](/apps/guides/url-schemes)
## Guides for Contracts
- [Interactions with Etherscan](/guides/lockup/etherscan)
- [Lockup Stream Management](/guides/lockup/examples/stream-management/withdraw)
- And more...
## Guides for Indexers
See the dedicated [API guides](/api/overview).
- [Getting Started](/api/getting-started)
- [Lockup Indexer](/api/lockup/indexers)
---
## How-to Videos (2)
## Airdrops
### How to Create a Sablier Vested Airdrop Campaign
### How to create a Sablier Instant Airdrop Campaign
### How to Claim a Sablier Vested Airdrop
### How to Claim a Sablier Instant Airdrop
## Vesting
### How to Withdraw From a Vesting Stream
### How to Create a Vesting Stream
### How to Batch-Cancel Streams
### How to Create Vesting Streams Using the CSV Upload Feature
### How to Create a Vesting Stream Using a Safe Multisig Wallet
### How to Trade Vesting Streams on OpenSea
### Distribution Shapes & Settings
## Payments
### How to Withdraw From Payment Streams
### How to Create Payment Streams
### How to Pay Your Team Automatically with Sablier
### How to Top Up a Sablier Payment Stream
### How to Manage Multiple Payment Streams
## Others
### How to Create a zkSync Proposal Involving a Vesting Stream
### Creating a Vesting Stream Using Fireblocks
### Withdrawing Funds From Vesting Stream Using Fireblocks
### Launching and Vesting Tokens Made Easy with CreateMyToken and Sablier