From 0d12a5c719549e8a04a0142cf46f35c5bdc42277 Mon Sep 17 00:00:00 2001 From: ak Date: Tue, 6 May 2025 19:28:45 +0300 Subject: [PATCH 01/16] add staking-abi link pr#289 --- website/src/pages/en/indexing/overview.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/src/pages/en/indexing/overview.mdx b/website/src/pages/en/indexing/overview.mdx index 8a35d638be7c..61e668d6d0e1 100644 --- a/website/src/pages/en/indexing/overview.mdx +++ b/website/src/pages/en/indexing/overview.mdx @@ -772,7 +772,7 @@ Once an Indexer has staked GRT in the protocol, the [Indexer components](/indexi 1. Open the [Remix app](https://remix.ethereum.org/) in a browser -2. In the `File Explorer` create a file named **Staking.abi** with the staking ABI. +2. In the `File Explorer` create a file named **Staking.abi** with the [staking ABI](https://raw.githubusercontent.com/graphprotocol/contracts/mainnet-deploy-build/build/abis/Staking.json). 3. With `Staking.abi` selected and open in the editor, switch to the `Deploy and run transactions` section in the Remix interface. From e8a9f4c520a85de519b5af23a381aff829a77d58 Mon Sep 17 00:00:00 2001 From: ak Date: Tue, 6 May 2025 19:51:42 +0300 Subject: [PATCH 02/16] add youtube link pr#489 --- .../src/pages/en/subgraphs/developing/creating/graph-ts/api.mdx | 2 ++ 1 file changed, 2 insertions(+) diff --git a/website/src/pages/en/subgraphs/developing/creating/graph-ts/api.mdx b/website/src/pages/en/subgraphs/developing/creating/graph-ts/api.mdx index c36983307869..560af0373c34 100644 --- a/website/src/pages/en/subgraphs/developing/creating/graph-ts/api.mdx +++ b/website/src/pages/en/subgraphs/developing/creating/graph-ts/api.mdx @@ -660,6 +660,8 @@ export function handleSomeEvent(event: SomeEvent): void { } ``` + + ### IPFS API ```typescript From ade4910d4c37fa9d4ecd13878a7934775a8262eb Mon Sep 17 00:00:00 2001 From: ak Date: Tue, 6 May 2025 20:01:38 +0300 Subject: [PATCH 03/16] pr-515 --- .../src/pages/en/archived/arbitrum/l2-transfer-tools-faq.mdx | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/website/src/pages/en/archived/arbitrum/l2-transfer-tools-faq.mdx b/website/src/pages/en/archived/arbitrum/l2-transfer-tools-faq.mdx index 27ebaeb8405a..3d5e72d7c713 100644 --- a/website/src/pages/en/archived/arbitrum/l2-transfer-tools-faq.mdx +++ b/website/src/pages/en/archived/arbitrum/l2-transfer-tools-faq.mdx @@ -116,7 +116,9 @@ To transfer your delegation, you will need to complete the following steps: ### What happens to my rewards if I initiate a transfer with an open allocation on Ethereum mainnet? -If the Indexer to whom you're delegating is still operating on L1, when you transfer to Arbitrum you will forfeit any delegation rewards from open allocations on Ethereum mainnet. This means that you will lose the rewards from, at most, the last 28-day period. If you time the transfer right after the Indexer has closed allocations you can make sure this is the least amount possible. If you have a communication channel with your Indexer(s), consider discussing with them to find the best time to do your transfer. +If the Indexer to whom you're delegating has started transferring stake to L2 but is still operating on L1, when you transfer to Arbitrum you will forfeit any delegation rewards from open allocations on Ethereum mainnet. This means that you will lose the rewards from, at most, the last 28-day period. If you time the transfer right after the Indexer has closed allocations you can make sure this is the least amount possible. If you have a communication channel with your Indexer(s), consider discussing with them to find the best time to do your transfer. Other than this, your unrealized rewards will be transferred to L2 with the delegation. + +If the Indexer has transferred all their stake to L2, they will not have open allocations on L1 and therefore all your rewards will be transferred to L2 with the delegation transfer. ### What happens if the Indexer I currently delegate to isn't on Arbitrum One? From dbc69e5a72ae1a4deeb7bb09f41626202820c8a0 Mon Sep 17 00:00:00 2001 From: ak Date: Wed, 7 May 2025 15:16:23 +0300 Subject: [PATCH 04/16] pr#340 --- .../developing/creating/graph-ts/api.mdx | 19 ++++++++++++++++++- 1 file changed, 18 insertions(+), 1 deletion(-) diff --git a/website/src/pages/en/subgraphs/developing/creating/graph-ts/api.mdx b/website/src/pages/en/subgraphs/developing/creating/graph-ts/api.mdx index 560af0373c34..a259a11f6d0b 100644 --- a/website/src/pages/en/subgraphs/developing/creating/graph-ts/api.mdx +++ b/website/src/pages/en/subgraphs/developing/creating/graph-ts/api.mdx @@ -500,7 +500,24 @@ export function handleTransfer(event: TransferEvent) { As long as the `ERC20Contract` on Ethereum has a public read-only function called `symbol`, it can be called with `.symbol()`. For public state variables a method with the same name is created automatically. -Any other contract that is part of the Subgraph can be imported from the generated code and can be bound to a valid address. +Any other contract that is part of the subgraph can be imported from the generated code and can be bound to a valid address. Example of that is presented within the steps below: + +- extend `subgraph.yaml` file with desired ABI file: + +```yaml +mapping: + kind: ethereum/events + apiVersion: 0.0.6 + language: wasm/assemblyscript + entities: + - Gravatar + abis: + - name: Gravity + file: ./abis/Gravity.json + - name: OtherContract + file: ./abis/OtherContract.json +``` +- import and bind to the contract using its address. #### Handling Reverted Calls From 351a084eb9971c22f80c3ed6df192d0ae350a2fa Mon Sep 17 00:00:00 2001 From: ak Date: Wed, 7 May 2025 15:21:48 +0300 Subject: [PATCH 05/16] pr543 --- .../en/subgraphs/developing/creating/subgraph-manifest.mdx | 2 ++ 1 file changed, 2 insertions(+) diff --git a/website/src/pages/en/subgraphs/developing/creating/subgraph-manifest.mdx b/website/src/pages/en/subgraphs/developing/creating/subgraph-manifest.mdx index 7273c0a30fc9..725f9d1d5af4 100644 --- a/website/src/pages/en/subgraphs/developing/creating/subgraph-manifest.mdx +++ b/website/src/pages/en/subgraphs/developing/creating/subgraph-manifest.mdx @@ -452,6 +452,8 @@ let tradingPair = context.getString('tradingPair') There are setters and getters like `setString` and `getString` for all value types. +> **Note:** Referecing an entity is done via ID in graphQL. That id can be passed into the instantiated data source by setting it in the context and then accessed within the mapping of the template. Example can be found in the [documenation of graph-ts](https://github.com/graphprotocol/graph-tooling/tree/main/packages/ts#api). + ## Start Blocks The `startBlock` is an optional setting that allows you to define from which block in the chain the data source will start indexing. Setting the start block allows the data source to skip potentially millions of blocks that are irrelevant. Typically, a Subgraph developer will set `startBlock` to the block in which the smart contract of the data source was created. From dd5d277f77503d96544e349311f14a0c72d3c31f Mon Sep 17 00:00:00 2001 From: ak Date: Wed, 7 May 2025 15:24:06 +0300 Subject: [PATCH 06/16] format --- .../src/pages/en/subgraphs/developing/creating/graph-ts/api.mdx | 1 + 1 file changed, 1 insertion(+) diff --git a/website/src/pages/en/subgraphs/developing/creating/graph-ts/api.mdx b/website/src/pages/en/subgraphs/developing/creating/graph-ts/api.mdx index a259a11f6d0b..fa8e3be3d59a 100644 --- a/website/src/pages/en/subgraphs/developing/creating/graph-ts/api.mdx +++ b/website/src/pages/en/subgraphs/developing/creating/graph-ts/api.mdx @@ -517,6 +517,7 @@ mapping: - name: OtherContract file: ./abis/OtherContract.json ``` + - import and bind to the contract using its address. #### Handling Reverted Calls From b171df397bd878dd27953d9f4aaac6215d36d976 Mon Sep 17 00:00:00 2001 From: ak Date: Thu, 10 Jul 2025 20:13:54 +0300 Subject: [PATCH 07/16] pr847 --- .../pages/en/subgraphs/developing/creating/graph-ts/api.mdx | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/website/src/pages/en/subgraphs/developing/creating/graph-ts/api.mdx b/website/src/pages/en/subgraphs/developing/creating/graph-ts/api.mdx index fa8e3be3d59a..ceada2b5120f 100644 --- a/website/src/pages/en/subgraphs/developing/creating/graph-ts/api.mdx +++ b/website/src/pages/en/subgraphs/developing/creating/graph-ts/api.mdx @@ -820,8 +820,8 @@ When the type of a value is certain, it can be converted to a [built-in type](#b | Bytes | Address | Address.fromBytes(s) | | String | BigInt | BigInt.fromString(s) | | String | BigDecimal | BigDecimal.fromString(s) | -| String (hexadecimal) | Bytes | ByteArray.fromHexString(s) | -| String (UTF-8) | Bytes | ByteArray.fromUTF8(s) | +| String (hexadecimal) | Bytes | Bytes.fromHexString(s) | +| String (UTF-8) | Bytes | Bytes.fromUTF8(s) | ### Data Source Metadata From 130b5199210fc111d63a0c8fde13f60af09453ff Mon Sep 17 00:00:00 2001 From: ak Date: Thu, 10 Jul 2025 20:32:43 +0300 Subject: [PATCH 08/16] 291 --- .../en/subgraphs/developing/creating/subgraph-manifest.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/src/pages/en/subgraphs/developing/creating/subgraph-manifest.mdx b/website/src/pages/en/subgraphs/developing/creating/subgraph-manifest.mdx index fd8f7bea97a5..bbafaaa1b5c4 100644 --- a/website/src/pages/en/subgraphs/developing/creating/subgraph-manifest.mdx +++ b/website/src/pages/en/subgraphs/developing/creating/subgraph-manifest.mdx @@ -218,7 +218,7 @@ filter: _The defined handler will be called once for every block which contains a call to the contract (data source) the handler is defined under._ -> **Note:** The `call` filter currently depends on the Parity tracing API. Certain networks, such as BNB chain and Arbitrum, do not support this API. If a Subgraph indexing one of these networks contains one or more block handlers with a `call` filter, it will not start syncing. +> **Note:** The `call` filter currently depends on the Parity tracing API. Certain networks, such as BNB chain, Arbitrum, Polygon, and Optimism do not support this API. If a Subgraph indexing one of these networks contains one or more block handlers with a `call` filter, it will not start syncing. The absence of a filter for a block handler will ensure that the handler is called every block. A data source can only contain one block handler for each filter type. From b3232a853c5f6f334e89ad80ff3cf99e17c52665 Mon Sep 17 00:00:00 2001 From: ak Date: Thu, 10 Jul 2025 20:47:54 +0300 Subject: [PATCH 09/16] 525 --- .../en/subgraphs/developing/creating/graph-ts/api.mdx | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/website/src/pages/en/subgraphs/developing/creating/graph-ts/api.mdx b/website/src/pages/en/subgraphs/developing/creating/graph-ts/api.mdx index e095312fb30d..5843a3617dfe 100644 --- a/website/src/pages/en/subgraphs/developing/creating/graph-ts/api.mdx +++ b/website/src/pages/en/subgraphs/developing/creating/graph-ts/api.mdx @@ -518,7 +518,7 @@ mapping: file: ./abis/OtherContract.json ``` -- import and bind to the contract using its address. +- Import and bind to the contract using its address #### Handling Reverted Calls @@ -792,6 +792,7 @@ When the type of a value is certain, it can be converted to a [built-in type](#b | BigInt | BigDecimal | s.toBigDecimal() | | BigInt | String (hexadecimal) | s.toHexString() or s.toHex() | | BigInt | String (unicode) | s.toString() | +| BigInt | Bytes | s.fromBigInt() | | BigInt | i32 | s.toI32() | | Boolean | Boolean | none | | Bytes (signed) | BigInt | BigInt.fromSignedBytes(s) | @@ -820,8 +821,8 @@ When the type of a value is certain, it can be converted to a [built-in type](#b | Bytes | Address | Address.fromBytes(s) | | String | BigInt | BigInt.fromString(s) | | String | BigDecimal | BigDecimal.fromString(s) | -| String (hexadecimal) | Bytes | Bytes.fromHexString(s) | -| String (UTF-8) | Bytes | Bytes.fromUTF8(s) | +| String (hexadecimal) | Bytes | Bytes.fromHexString(s) | +| String (UTF-8) | Bytes | Bytes.fromUTF8(s) | ### Data Source Metadata From f107e87d6054adf362eb930f3b3b9a95a27a87e7 Mon Sep 17 00:00:00 2001 From: ak Date: Thu, 10 Jul 2025 20:51:21 +0300 Subject: [PATCH 10/16] pr833 --- website/src/pages/en/archived/arbitrum/arbitrum-faq.mdx | 2 ++ .../src/pages/en/archived/arbitrum/l2-transfer-tools-faq.mdx | 2 ++ .../src/pages/en/archived/arbitrum/l2-transfer-tools-guide.mdx | 2 ++ 3 files changed, 6 insertions(+) diff --git a/website/src/pages/en/archived/arbitrum/arbitrum-faq.mdx b/website/src/pages/en/archived/arbitrum/arbitrum-faq.mdx index 9e5d1bdeb8e6..6c31d2070aeb 100644 --- a/website/src/pages/en/archived/arbitrum/arbitrum-faq.mdx +++ b/website/src/pages/en/archived/arbitrum/arbitrum-faq.mdx @@ -2,6 +2,8 @@ title: Arbitrum FAQ --- +> **Important**: L2 Transfer Tools have been deprecated, and The Graph now runs on Arbitrum, a Layer 2 blockchain. + Click [here](#billing-on-arbitrum-faqs) if you would like to skip to the Arbitrum Billing FAQs. ## Why did The Graph implement an L2 Solution? diff --git a/website/src/pages/en/archived/arbitrum/l2-transfer-tools-faq.mdx b/website/src/pages/en/archived/arbitrum/l2-transfer-tools-faq.mdx index 3d5e72d7c713..7c0e94b9a28e 100644 --- a/website/src/pages/en/archived/arbitrum/l2-transfer-tools-faq.mdx +++ b/website/src/pages/en/archived/arbitrum/l2-transfer-tools-faq.mdx @@ -2,6 +2,8 @@ title: L2 Transfer Tools FAQ --- +> **Important**: L2 Transfer Tools have been deprecated, and The Graph now runs on Arbitrum, a Layer 2 blockchain. + ## General ### What are L2 Transfer Tools? diff --git a/website/src/pages/en/archived/arbitrum/l2-transfer-tools-guide.mdx b/website/src/pages/en/archived/arbitrum/l2-transfer-tools-guide.mdx index 4a34da9bad0e..4f4816685d45 100644 --- a/website/src/pages/en/archived/arbitrum/l2-transfer-tools-guide.mdx +++ b/website/src/pages/en/archived/arbitrum/l2-transfer-tools-guide.mdx @@ -2,6 +2,8 @@ title: L2 Transfer Tools Guide --- +> **Important**: L2 Transfer Tools have been deprecated, and The Graph now runs on Arbitrum, a Layer 2 blockchain. + The Graph has made it easy to move to L2 on Arbitrum One. For each protocol participant, there are a set of L2 Transfer Tools to make transferring to L2 seamless for all network participants. These tools will require you to follow a specific set of steps depending on what you are transferring. Some frequent questions about these tools are answered in the [L2 Transfer Tools FAQ](/archived/arbitrum/l2-transfer-tools-faq/). The FAQs contain in-depth explanations of how to use the tools, how they work, and things to keep in mind when using them. From cdc04044a8326e638dc91a99be544dfcbdbaa3e0 Mon Sep 17 00:00:00 2001 From: AK <58132405+0xa3k5@users.noreply.github.com> Date: Fri, 11 Jul 2025 21:59:48 +0300 Subject: [PATCH 11/16] Update arbitrum-faq.mdx MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Benoît Rouleau --- website/src/pages/en/archived/arbitrum/arbitrum-faq.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/src/pages/en/archived/arbitrum/arbitrum-faq.mdx b/website/src/pages/en/archived/arbitrum/arbitrum-faq.mdx index 6c31d2070aeb..09065157ef6b 100644 --- a/website/src/pages/en/archived/arbitrum/arbitrum-faq.mdx +++ b/website/src/pages/en/archived/arbitrum/arbitrum-faq.mdx @@ -2,7 +2,7 @@ title: Arbitrum FAQ --- -> **Important**: L2 Transfer Tools have been deprecated, and The Graph now runs on Arbitrum, a Layer 2 blockchain. +> [!IMPORTANT] L2 Transfer Tools have been deprecated, and The Graph now runs on Arbitrum, a Layer 2 blockchain. Click [here](#billing-on-arbitrum-faqs) if you would like to skip to the Arbitrum Billing FAQs. From 63383b4baa0cbf0e08230ba2e8edb71636a5dc03 Mon Sep 17 00:00:00 2001 From: AK <58132405+0xa3k5@users.noreply.github.com> Date: Fri, 11 Jul 2025 21:59:55 +0300 Subject: [PATCH 12/16] Update l2-transfer-tools-faq.mdx MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Benoît Rouleau --- .../src/pages/en/archived/arbitrum/l2-transfer-tools-faq.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/src/pages/en/archived/arbitrum/l2-transfer-tools-faq.mdx b/website/src/pages/en/archived/arbitrum/l2-transfer-tools-faq.mdx index 7c0e94b9a28e..e3ab8ea47d14 100644 --- a/website/src/pages/en/archived/arbitrum/l2-transfer-tools-faq.mdx +++ b/website/src/pages/en/archived/arbitrum/l2-transfer-tools-faq.mdx @@ -2,7 +2,7 @@ title: L2 Transfer Tools FAQ --- -> **Important**: L2 Transfer Tools have been deprecated, and The Graph now runs on Arbitrum, a Layer 2 blockchain. +> [!IMPORTANT] L2 Transfer Tools have been deprecated, and The Graph now runs on Arbitrum, a Layer 2 blockchain. ## General From 22c59236b50b3dc32145ea4fc3a9a33c9115beac Mon Sep 17 00:00:00 2001 From: AK <58132405+0xa3k5@users.noreply.github.com> Date: Fri, 11 Jul 2025 22:00:02 +0300 Subject: [PATCH 13/16] Update l2-transfer-tools-guide.mdx MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Benoît Rouleau --- .../src/pages/en/archived/arbitrum/l2-transfer-tools-guide.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/src/pages/en/archived/arbitrum/l2-transfer-tools-guide.mdx b/website/src/pages/en/archived/arbitrum/l2-transfer-tools-guide.mdx index 4f4816685d45..5c8aa0b30a65 100644 --- a/website/src/pages/en/archived/arbitrum/l2-transfer-tools-guide.mdx +++ b/website/src/pages/en/archived/arbitrum/l2-transfer-tools-guide.mdx @@ -2,7 +2,7 @@ title: L2 Transfer Tools Guide --- -> **Important**: L2 Transfer Tools have been deprecated, and The Graph now runs on Arbitrum, a Layer 2 blockchain. +> [!IMPORTANT] L2 Transfer Tools have been deprecated, and The Graph now runs on Arbitrum, a Layer 2 blockchain. The Graph has made it easy to move to L2 on Arbitrum One. For each protocol participant, there are a set of L2 Transfer Tools to make transferring to L2 seamless for all network participants. These tools will require you to follow a specific set of steps depending on what you are transferring. From 8e50835a8bd9364b914d8fcd1cb0734fb073798d Mon Sep 17 00:00:00 2001 From: AK <58132405+0xa3k5@users.noreply.github.com> Date: Fri, 11 Jul 2025 22:00:10 +0300 Subject: [PATCH 14/16] Update api.mdx MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Benoît Rouleau --- .../src/pages/en/subgraphs/developing/creating/graph-ts/api.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/src/pages/en/subgraphs/developing/creating/graph-ts/api.mdx b/website/src/pages/en/subgraphs/developing/creating/graph-ts/api.mdx index 5843a3617dfe..93cb859a2bd2 100644 --- a/website/src/pages/en/subgraphs/developing/creating/graph-ts/api.mdx +++ b/website/src/pages/en/subgraphs/developing/creating/graph-ts/api.mdx @@ -502,7 +502,7 @@ As long as the `ERC20Contract` on Ethereum has a public read-only function calle Any other contract that is part of the subgraph can be imported from the generated code and can be bound to a valid address. Example of that is presented within the steps below: -- extend `subgraph.yaml` file with desired ABI file: +- Extend `subgraph.yaml` file with desired ABI file: ```yaml mapping: From a93aaba460e188237b482b66b826b928410ffb3f Mon Sep 17 00:00:00 2001 From: AK <58132405+0xa3k5@users.noreply.github.com> Date: Fri, 11 Jul 2025 22:00:17 +0300 Subject: [PATCH 15/16] Update api.mdx MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Benoît Rouleau --- .../src/pages/en/subgraphs/developing/creating/graph-ts/api.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/src/pages/en/subgraphs/developing/creating/graph-ts/api.mdx b/website/src/pages/en/subgraphs/developing/creating/graph-ts/api.mdx index 93cb859a2bd2..3cfb1b9fcc27 100644 --- a/website/src/pages/en/subgraphs/developing/creating/graph-ts/api.mdx +++ b/website/src/pages/en/subgraphs/developing/creating/graph-ts/api.mdx @@ -500,7 +500,7 @@ export function handleTransfer(event: TransferEvent) { As long as the `ERC20Contract` on Ethereum has a public read-only function called `symbol`, it can be called with `.symbol()`. For public state variables a method with the same name is created automatically. -Any other contract that is part of the subgraph can be imported from the generated code and can be bound to a valid address. Example of that is presented within the steps below: +Any other contract that is part of the subgraph can be imported from the generated code and can be bound to a valid address. An example of that is presented within the steps below: - Extend `subgraph.yaml` file with desired ABI file: From 9714df141068985b56f818d6d20109d47bff72e8 Mon Sep 17 00:00:00 2001 From: AK <58132405+0xa3k5@users.noreply.github.com> Date: Fri, 11 Jul 2025 22:00:23 +0300 Subject: [PATCH 16/16] Update subgraph-manifest.mdx MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Benoît Rouleau --- .../en/subgraphs/developing/creating/subgraph-manifest.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/src/pages/en/subgraphs/developing/creating/subgraph-manifest.mdx b/website/src/pages/en/subgraphs/developing/creating/subgraph-manifest.mdx index bbafaaa1b5c4..6df8dd98d66f 100644 --- a/website/src/pages/en/subgraphs/developing/creating/subgraph-manifest.mdx +++ b/website/src/pages/en/subgraphs/developing/creating/subgraph-manifest.mdx @@ -452,7 +452,7 @@ let tradingPair = context.getString('tradingPair') There are setters and getters like `setString` and `getString` for all value types. -> **Note:** Referecing an entity is done via ID in graphQL. That id can be passed into the instantiated data source by setting it in the context and then accessed within the mapping of the template. Example can be found in the [documenation of graph-ts](https://github.com/graphprotocol/graph-tooling/tree/main/packages/ts#api). +> Referencing an entity is done via ID in GraphQL. That ID can be passed into the instantiated data source by setting it in the context and then accessed within the mapping of the template. An example can be found in the [documentation of `graph-ts`](https://github.com/graphprotocol/graph-tooling/tree/main/packages/ts#api). ## Start Blocks