Skip to content

Instantly share code, notes, and snippets.

@PaulRBerg
Created October 31, 2025 11:40
Show Gist options
  • Select an option

  • Save PaulRBerg/8a0a03a83f0da3f0ed2152144c403bfe to your computer and use it in GitHub Desktop.

Select an option

Save PaulRBerg/8a0a03a83f0da3f0ed2152144c403bfe to your computer and use it in GitHub Desktop.
Sablier Lockup Graph manifest generated using commit hash d4eb56a (https://github.com/sablier-labs/indexers)
dataSources:
- context:
alias:
data: "LD"
type: "String"
chainId:
data: "1"
type: "BigInt"
version:
data: "v1.0"
type: "String"
kind: "ethereum/contract"
mapping:
apiVersion: "0.0.9"
kind: "ethereum/events"
language: "wasm/assemblyscript"
abis:
- file: "../../../node_modules/sablier/dist/abi/lockup/v1.0/SablierV2LockupDynamic.json"
name: "SablierV2LockupDynamic"
- file: "../../../abi/ERC20.json"
name: "ERC20"
- file: "../../../abi/ERC20Bytes.json"
name: "ERC20Bytes"
- file: "../../../abi/PRBProxy.json"
name: "PRBProxy"
- file: "../../../abi/PRBProxyRegistry.json"
name: "PRBProxyRegistry"
entities:
- "Action"
- "Asset"
- "Batch"
- "Batcher"
- "Contract"
- "DeprecatedStream"
- "Segment"
- "Stream"
- "Tranche"
- "Watcher"
eventHandlers:
- event: "Approval(indexed address,indexed address,indexed uint256)"
handler: "handle_SablierV2LockupDynamic_v1_0_Approval"
- event: "ApprovalForAll(indexed address,indexed address,bool)"
handler: "handle_SablierV2LockupDynamic_v1_0_ApprovalForAll"
- event: "Transfer(indexed address,indexed address,indexed uint256)"
handler: "handle_SablierV2LockupDynamic_v1_0_Transfer"
- event: "CancelLockupStream(indexed uint256,indexed address,indexed address,uint128,uint128)"
handler: "handle_SablierV2LockupDynamic_v1_0_CancelLockupStream"
- event: "CreateLockupDynamicStream(uint256,address,indexed address,indexed address,(uint128,uint128,uint128),indexed address,bool,(uint128,uint64,uint40)[],(uint40,uint40),address)"
handler: "handle_SablierV2LockupDynamic_v1_0_CreateLockupDynamicStream"
- event: "RenounceLockupStream(indexed uint256)"
handler: "handle_SablierV2LockupDynamic_v1_0_RenounceLockupStream"
- event: "WithdrawFromLockupStream(indexed uint256,indexed address,uint128)"
handler: "handle_SablierV2LockupDynamic_v1_0_WithdrawFromLockupStream"
file: "../mappings/v1.0/SablierV2LockupDynamic.ts"
name: "SablierV2LockupDynamic_v1_0"
network: "mainnet"
source:
abi: "SablierV2LockupDynamic"
address: "0x39efdc3dbb57b2388ccc4bb40ac4cb1226bc9e44"
startBlock: 17613133
- context:
alias:
data: "LD2"
type: "String"
chainId:
data: "1"
type: "BigInt"
version:
data: "v1.1"
type: "String"
kind: "ethereum/contract"
mapping:
apiVersion: "0.0.9"
kind: "ethereum/events"
language: "wasm/assemblyscript"
abis:
- file: "../../../node_modules/sablier/dist/abi/lockup/v1.1/SablierV2LockupDynamic.json"
name: "SablierV2LockupDynamic"
- file: "../../../abi/ERC20.json"
name: "ERC20"
- file: "../../../abi/ERC20Bytes.json"
name: "ERC20Bytes"
- file: "../../../abi/PRBProxy.json"
name: "PRBProxy"
- file: "../../../abi/PRBProxyRegistry.json"
name: "PRBProxyRegistry"
entities:
- "Action"
- "Asset"
- "Batch"
- "Batcher"
- "Contract"
- "DeprecatedStream"
- "Segment"
- "Stream"
- "Tranche"
- "Watcher"
eventHandlers:
- event: "Approval(indexed address,indexed address,indexed uint256)"
handler: "handle_SablierV2LockupDynamic_v1_1_Approval"
- event: "ApprovalForAll(indexed address,indexed address,bool)"
handler: "handle_SablierV2LockupDynamic_v1_1_ApprovalForAll"
- event: "Transfer(indexed address,indexed address,indexed uint256)"
handler: "handle_SablierV2LockupDynamic_v1_1_Transfer"
- event: "CancelLockupStream(uint256,indexed address,indexed address,indexed address,uint128,uint128)"
handler: "handle_SablierV2LockupDynamic_v1_1_CancelLockupStream"
- event: "CreateLockupDynamicStream(uint256,address,indexed address,indexed address,(uint128,uint128,uint128),indexed address,bool,bool,(uint128,uint64,uint40)[],(uint40,uint40),address)"
handler: "handle_SablierV2LockupDynamic_v1_1_CreateLockupDynamicStream"
- event: "RenounceLockupStream(indexed uint256)"
handler: "handle_SablierV2LockupDynamic_v1_1_RenounceLockupStream"
- event: "WithdrawFromLockupStream(indexed uint256,indexed address,indexed address,uint128)"
handler: "handle_SablierV2LockupDynamic_v1_1_WithdrawFromLockupStream"
file: "../mappings/v1.1/SablierV2LockupDynamic.ts"
name: "SablierV2LockupDynamic_v1_1"
network: "mainnet"
source:
abi: "SablierV2LockupDynamic"
address: "0x7cc7e125d83a581ff438608490cc0f7bdff79127"
startBlock: 18821269
- context:
alias:
data: "LD3"
type: "String"
chainId:
data: "1"
type: "BigInt"
version:
data: "v1.2"
type: "String"
kind: "ethereum/contract"
mapping:
apiVersion: "0.0.9"
kind: "ethereum/events"
language: "wasm/assemblyscript"
abis:
- file: "../../../node_modules/sablier/dist/abi/lockup/v1.2/SablierV2LockupDynamic.json"
name: "SablierV2LockupDynamic"
- file: "../../../abi/ERC20.json"
name: "ERC20"
- file: "../../../abi/ERC20Bytes.json"
name: "ERC20Bytes"
- file: "../../../abi/PRBProxy.json"
name: "PRBProxy"
- file: "../../../abi/PRBProxyRegistry.json"
name: "PRBProxyRegistry"
entities:
- "Action"
- "Asset"
- "Batch"
- "Batcher"
- "Contract"
- "DeprecatedStream"
- "Segment"
- "Stream"
- "Tranche"
- "Watcher"
eventHandlers:
- event: "Approval(indexed address,indexed address,indexed uint256)"
handler: "handle_SablierV2LockupDynamic_v1_2_Approval"
- event: "ApprovalForAll(indexed address,indexed address,bool)"
handler: "handle_SablierV2LockupDynamic_v1_2_ApprovalForAll"
- event: "Transfer(indexed address,indexed address,indexed uint256)"
handler: "handle_SablierV2LockupDynamic_v1_2_Transfer"
- event: "CancelLockupStream(uint256,indexed address,indexed address,indexed address,uint128,uint128)"
handler: "handle_SablierV2LockupDynamic_v1_2_CancelLockupStream"
- event: "CreateLockupDynamicStream(uint256,address,indexed address,indexed address,(uint128,uint128),indexed address,bool,bool,(uint128,uint64,uint40)[],(uint40,uint40),address)"
handler: "handle_SablierV2LockupDynamic_v1_2_CreateLockupDynamicStream"
- event: "RenounceLockupStream(indexed uint256)"
handler: "handle_SablierV2LockupDynamic_v1_2_RenounceLockupStream"
- event: "WithdrawFromLockupStream(indexed uint256,indexed address,indexed address,uint128)"
handler: "handle_SablierV2LockupDynamic_v1_2_WithdrawFromLockupStream"
file: "../mappings/v1.2/SablierV2LockupDynamic.ts"
name: "SablierV2LockupDynamic_v1_2"
network: "mainnet"
source:
abi: "SablierV2LockupDynamic"
address: "0x9deabf7815b42bf4e9a03eec35a486ff74ee7459"
startBlock: 20240097
- context:
alias:
data: "LL"
type: "String"
chainId:
data: "1"
type: "BigInt"
version:
data: "v1.0"
type: "String"
kind: "ethereum/contract"
mapping:
apiVersion: "0.0.9"
kind: "ethereum/events"
language: "wasm/assemblyscript"
abis:
- file: "../../../node_modules/sablier/dist/abi/lockup/v1.0/SablierV2LockupLinear.json"
name: "SablierV2LockupLinear"
- file: "../../../abi/ERC20.json"
name: "ERC20"
- file: "../../../abi/ERC20Bytes.json"
name: "ERC20Bytes"
- file: "../../../abi/PRBProxy.json"
name: "PRBProxy"
- file: "../../../abi/PRBProxyRegistry.json"
name: "PRBProxyRegistry"
entities:
- "Action"
- "Asset"
- "Batch"
- "Batcher"
- "Contract"
- "DeprecatedStream"
- "Segment"
- "Stream"
- "Tranche"
- "Watcher"
eventHandlers:
- event: "Approval(indexed address,indexed address,indexed uint256)"
handler: "handle_SablierV2LockupLinear_v1_0_Approval"
- event: "ApprovalForAll(indexed address,indexed address,bool)"
handler: "handle_SablierV2LockupLinear_v1_0_ApprovalForAll"
- event: "Transfer(indexed address,indexed address,indexed uint256)"
handler: "handle_SablierV2LockupLinear_v1_0_Transfer"
- event: "CancelLockupStream(indexed uint256,indexed address,indexed address,uint128,uint128)"
handler: "handle_SablierV2LockupLinear_v1_0_CancelLockupStream"
- event: "CreateLockupLinearStream(uint256,address,indexed address,indexed address,(uint128,uint128,uint128),indexed address,bool,(uint40,uint40,uint40),address)"
handler: "handle_SablierV2LockupLinear_v1_0_CreateLockupLinearStream"
- event: "RenounceLockupStream(indexed uint256)"
handler: "handle_SablierV2LockupLinear_v1_0_RenounceLockupStream"
- event: "WithdrawFromLockupStream(indexed uint256,indexed address,uint128)"
handler: "handle_SablierV2LockupLinear_v1_0_WithdrawFromLockupStream"
file: "../mappings/v1.0/SablierV2LockupLinear.ts"
name: "SablierV2LockupLinear_v1_0"
network: "mainnet"
source:
abi: "SablierV2LockupLinear"
address: "0xb10daee1fcf62243ae27776d7a92d39dc8740f95"
startBlock: 17613137
- context:
alias:
data: "LL2"
type: "String"
chainId:
data: "1"
type: "BigInt"
version:
data: "v1.1"
type: "String"
kind: "ethereum/contract"
mapping:
apiVersion: "0.0.9"
kind: "ethereum/events"
language: "wasm/assemblyscript"
abis:
- file: "../../../node_modules/sablier/dist/abi/lockup/v1.1/SablierV2LockupLinear.json"
name: "SablierV2LockupLinear"
- file: "../../../abi/ERC20.json"
name: "ERC20"
- file: "../../../abi/ERC20Bytes.json"
name: "ERC20Bytes"
- file: "../../../abi/PRBProxy.json"
name: "PRBProxy"
- file: "../../../abi/PRBProxyRegistry.json"
name: "PRBProxyRegistry"
entities:
- "Action"
- "Asset"
- "Batch"
- "Batcher"
- "Contract"
- "DeprecatedStream"
- "Segment"
- "Stream"
- "Tranche"
- "Watcher"
eventHandlers:
- event: "Approval(indexed address,indexed address,indexed uint256)"
handler: "handle_SablierV2LockupLinear_v1_1_Approval"
- event: "ApprovalForAll(indexed address,indexed address,bool)"
handler: "handle_SablierV2LockupLinear_v1_1_ApprovalForAll"
- event: "Transfer(indexed address,indexed address,indexed uint256)"
handler: "handle_SablierV2LockupLinear_v1_1_Transfer"
- event: "CancelLockupStream(uint256,indexed address,indexed address,indexed address,uint128,uint128)"
handler: "handle_SablierV2LockupLinear_v1_1_CancelLockupStream"
- event: "CreateLockupLinearStream(uint256,address,indexed address,indexed address,(uint128,uint128,uint128),indexed address,bool,bool,(uint40,uint40,uint40),address)"
handler: "handle_SablierV2LockupLinear_v1_1_CreateLockupLinearStream"
- event: "RenounceLockupStream(indexed uint256)"
handler: "handle_SablierV2LockupLinear_v1_1_RenounceLockupStream"
- event: "WithdrawFromLockupStream(indexed uint256,indexed address,indexed address,uint128)"
handler: "handle_SablierV2LockupLinear_v1_1_WithdrawFromLockupStream"
file: "../mappings/v1.1/SablierV2LockupLinear.ts"
name: "SablierV2LockupLinear_v1_1"
network: "mainnet"
source:
abi: "SablierV2LockupLinear"
address: "0xafb979d9afad1ad27c5eff4e27226e3ab9e5dcc9"
startBlock: 18820775
- context:
alias:
data: "LL3"
type: "String"
chainId:
data: "1"
type: "BigInt"
version:
data: "v1.2"
type: "String"
kind: "ethereum/contract"
mapping:
apiVersion: "0.0.9"
kind: "ethereum/events"
language: "wasm/assemblyscript"
abis:
- file: "../../../node_modules/sablier/dist/abi/lockup/v1.2/SablierV2LockupLinear.json"
name: "SablierV2LockupLinear"
- file: "../../../abi/ERC20.json"
name: "ERC20"
- file: "../../../abi/ERC20Bytes.json"
name: "ERC20Bytes"
- file: "../../../abi/PRBProxy.json"
name: "PRBProxy"
- file: "../../../abi/PRBProxyRegistry.json"
name: "PRBProxyRegistry"
entities:
- "Action"
- "Asset"
- "Batch"
- "Batcher"
- "Contract"
- "DeprecatedStream"
- "Segment"
- "Stream"
- "Tranche"
- "Watcher"
eventHandlers:
- event: "Approval(indexed address,indexed address,indexed uint256)"
handler: "handle_SablierV2LockupLinear_v1_2_Approval"
- event: "ApprovalForAll(indexed address,indexed address,bool)"
handler: "handle_SablierV2LockupLinear_v1_2_ApprovalForAll"
- event: "Transfer(indexed address,indexed address,indexed uint256)"
handler: "handle_SablierV2LockupLinear_v1_2_Transfer"
- event: "CancelLockupStream(uint256,indexed address,indexed address,indexed address,uint128,uint128)"
handler: "handle_SablierV2LockupLinear_v1_2_CancelLockupStream"
- event: "CreateLockupLinearStream(uint256,address,indexed address,indexed address,(uint128,uint128),indexed address,bool,bool,(uint40,uint40,uint40),address)"
handler: "handle_SablierV2LockupLinear_v1_2_CreateLockupLinearStream"
- event: "RenounceLockupStream(indexed uint256)"
handler: "handle_SablierV2LockupLinear_v1_2_RenounceLockupStream"
- event: "WithdrawFromLockupStream(indexed uint256,indexed address,indexed address,uint128)"
handler: "handle_SablierV2LockupLinear_v1_2_WithdrawFromLockupStream"
file: "../mappings/v1.2/SablierV2LockupLinear.ts"
name: "SablierV2LockupLinear_v1_2"
network: "mainnet"
source:
abi: "SablierV2LockupLinear"
address: "0x3962f6585946823440d274ad7c719b02b49de51e"
startBlock: 20240097
- context:
alias:
data: "LT3"
type: "String"
chainId:
data: "1"
type: "BigInt"
version:
data: "v1.2"
type: "String"
kind: "ethereum/contract"
mapping:
apiVersion: "0.0.9"
kind: "ethereum/events"
language: "wasm/assemblyscript"
abis:
- file: "../../../node_modules/sablier/dist/abi/lockup/v1.2/SablierV2LockupTranched.json"
name: "SablierV2LockupTranched"
- file: "../../../abi/ERC20.json"
name: "ERC20"
- file: "../../../abi/ERC20Bytes.json"
name: "ERC20Bytes"
- file: "../../../abi/PRBProxy.json"
name: "PRBProxy"
- file: "../../../abi/PRBProxyRegistry.json"
name: "PRBProxyRegistry"
entities:
- "Action"
- "Asset"
- "Batch"
- "Batcher"
- "Contract"
- "DeprecatedStream"
- "Segment"
- "Stream"
- "Tranche"
- "Watcher"
eventHandlers:
- event: "Approval(indexed address,indexed address,indexed uint256)"
handler: "handle_SablierV2LockupTranched_v1_2_Approval"
- event: "ApprovalForAll(indexed address,indexed address,bool)"
handler: "handle_SablierV2LockupTranched_v1_2_ApprovalForAll"
- event: "Transfer(indexed address,indexed address,indexed uint256)"
handler: "handle_SablierV2LockupTranched_v1_2_Transfer"
- event: "CancelLockupStream(uint256,indexed address,indexed address,indexed address,uint128,uint128)"
handler: "handle_SablierV2LockupTranched_v1_2_CancelLockupStream"
- event: "CreateLockupTranchedStream(uint256,address,indexed address,indexed address,(uint128,uint128),indexed address,bool,bool,(uint128,uint40)[],(uint40,uint40),address)"
handler: "handle_SablierV2LockupTranched_v1_2_CreateLockupTranchedStream"
- event: "RenounceLockupStream(indexed uint256)"
handler: "handle_SablierV2LockupTranched_v1_2_RenounceLockupStream"
- event: "WithdrawFromLockupStream(indexed uint256,indexed address,indexed address,uint128)"
handler: "handle_SablierV2LockupTranched_v1_2_WithdrawFromLockupStream"
file: "../mappings/v1.2/SablierV2LockupTranched.ts"
name: "SablierV2LockupTranched_v1_2"
network: "mainnet"
source:
abi: "SablierV2LockupTranched"
address: "0xf86b359035208e4529686a1825f2d5bee38c28a8"
startBlock: 20240098
- context:
alias:
data: "LK"
type: "String"
chainId:
data: "1"
type: "BigInt"
version:
data: "v2.0"
type: "String"
kind: "ethereum/contract"
mapping:
apiVersion: "0.0.9"
kind: "ethereum/events"
language: "wasm/assemblyscript"
abis:
- file: "../../../node_modules/sablier/dist/abi/lockup/v2.0/SablierLockup.json"
name: "SablierLockup"
- file: "../../../abi/ERC20.json"
name: "ERC20"
- file: "../../../abi/ERC20Bytes.json"
name: "ERC20Bytes"
- file: "../../../abi/PRBProxy.json"
name: "PRBProxy"
- file: "../../../abi/PRBProxyRegistry.json"
name: "PRBProxyRegistry"
entities:
- "Action"
- "Asset"
- "Batch"
- "Batcher"
- "Contract"
- "DeprecatedStream"
- "Segment"
- "Stream"
- "Tranche"
- "Watcher"
eventHandlers:
- event: "Approval(indexed address,indexed address,indexed uint256)"
handler: "handle_SablierLockup_v2_0_Approval"
- event: "ApprovalForAll(indexed address,indexed address,bool)"
handler: "handle_SablierLockup_v2_0_ApprovalForAll"
- event: "Transfer(indexed address,indexed address,indexed uint256)"
handler: "handle_SablierLockup_v2_0_Transfer"
- event: "CancelLockupStream(uint256,indexed address,indexed address,indexed address,uint128,uint128)"
handler: "handle_SablierLockup_v2_0_CancelLockupStream"
- event: "CreateLockupDynamicStream(indexed uint256,(address,address,address,(uint128,uint128),address,bool,bool,(uint40,uint40),string,address),(uint128,uint64,uint40)[])"
handler: "handle_SablierLockup_v2_0_CreateLockupDynamicStream"
- event: "CreateLockupLinearStream(indexed uint256,(address,address,address,(uint128,uint128),address,bool,bool,(uint40,uint40),string,address),uint40,(uint128,uint128))"
handler: "handle_SablierLockup_v2_0_CreateLockupLinearStream"
- event: "CreateLockupTranchedStream(indexed uint256,(address,address,address,(uint128,uint128),address,bool,bool,(uint40,uint40),string,address),(uint128,uint40)[])"
handler: "handle_SablierLockup_v2_0_CreateLockupTranchedStream"
- event: "RenounceLockupStream(indexed uint256)"
handler: "handle_SablierLockup_v2_0_RenounceLockupStream"
- event: "WithdrawFromLockupStream(indexed uint256,indexed address,indexed address,uint128)"
handler: "handle_SablierLockup_v2_0_WithdrawFromLockupStream"
file: "../mappings/v2.0/SablierLockup.ts"
name: "SablierLockup_v2_0"
network: "mainnet"
source:
abi: "SablierLockup"
address: "0x7c01aa3783577e15fd7e272443d44b92d5b21056"
startBlock: 21719028
- context:
alias:
data: "LK2"
type: "String"
chainId:
data: "1"
type: "BigInt"
version:
data: "v3.0"
type: "String"
kind: "ethereum/contract"
mapping:
apiVersion: "0.0.9"
kind: "ethereum/events"
language: "wasm/assemblyscript"
abis:
- file: "../../../node_modules/sablier/dist/abi/lockup/v3.0/SablierLockup.json"
name: "SablierLockup"
- file: "../../../abi/ERC20.json"
name: "ERC20"
- file: "../../../abi/ERC20Bytes.json"
name: "ERC20Bytes"
- file: "../../../abi/PRBProxy.json"
name: "PRBProxy"
- file: "../../../abi/PRBProxyRegistry.json"
name: "PRBProxyRegistry"
entities:
- "Action"
- "Asset"
- "Batch"
- "Batcher"
- "Contract"
- "DeprecatedStream"
- "Segment"
- "Stream"
- "Tranche"
- "Watcher"
eventHandlers:
- event: "Approval(indexed address,indexed address,indexed uint256)"
handler: "handle_SablierLockup_v3_0_Approval"
- event: "ApprovalForAll(indexed address,indexed address,bool)"
handler: "handle_SablierLockup_v3_0_ApprovalForAll"
- event: "Transfer(indexed address,indexed address,indexed uint256)"
handler: "handle_SablierLockup_v3_0_Transfer"
- event: "CancelLockupStream(uint256,indexed address,indexed address,indexed address,uint128,uint128)"
handler: "handle_SablierLockup_v3_0_CancelLockupStream"
- event: "CreateLockupDynamicStream(indexed uint256,(address,address,address,uint128,address,bool,bool,(uint40,uint40),string),(uint128,uint64,uint40)[])"
handler: "handle_SablierLockup_v3_0_CreateLockupDynamicStream"
- event: "CreateLockupLinearStream(indexed uint256,(address,address,address,uint128,address,bool,bool,(uint40,uint40),string),uint40,(uint128,uint128))"
handler: "handle_SablierLockup_v3_0_CreateLockupLinearStream"
- event: "CreateLockupTranchedStream(indexed uint256,(address,address,address,uint128,address,bool,bool,(uint40,uint40),string),(uint128,uint40)[])"
handler: "handle_SablierLockup_v3_0_CreateLockupTranchedStream"
- event: "RenounceLockupStream(indexed uint256)"
handler: "handle_SablierLockup_v3_0_RenounceLockupStream"
- event: "WithdrawFromLockupStream(indexed uint256,indexed address,indexed address,uint128)"
handler: "handle_SablierLockup_v3_0_WithdrawFromLockupStream"
file: "../mappings/v3.0/SablierLockup.ts"
name: "SablierLockup_v3_0"
network: "mainnet"
source:
abi: "SablierLockup"
address: "0xcf8ce57fa442ba50acbc57147a62ad03873ffa73"
startBlock: 23500619
description: "The Graph indexer for Sablier Lockup"
repository: "https://github.com/sablier-labs/indexers"
schema:
file: "../lockup.graphql"
specVersion: "1.3.0"
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment