From c9c594f0c56d4f9db89caa1ae3b9be3ab40ea055 Mon Sep 17 00:00:00 2001 From: Claudia Date: Wed, 1 May 2024 11:18:21 +0200 Subject: [PATCH 1/3] feat: add the tx hash field in the schema and the handler --- packages/subgraph/schema.graphql | 1 + packages/subgraph/src/registries/daoRegistry.ts | 1 + 2 files changed, 2 insertions(+) diff --git a/packages/subgraph/schema.graphql b/packages/subgraph/schema.graphql index cd0840851..e63b1d1cb 100644 --- a/packages/subgraph/schema.graphql +++ b/packages/subgraph/schema.graphql @@ -461,6 +461,7 @@ type Dao @entity { daoURI: String metadata: String createdAt: BigInt! + txHash: Bytes! token: ERC20Contract actions: [Action!]! @derivedFrom(field: "dao") transfers: [TokenTransfer!]! @derivedFrom(field: "dao") diff --git a/packages/subgraph/src/registries/daoRegistry.ts b/packages/subgraph/src/registries/daoRegistry.ts index c6eed91e0..06e54f192 100644 --- a/packages/subgraph/src/registries/daoRegistry.ts +++ b/packages/subgraph/src/registries/daoRegistry.ts @@ -21,6 +21,7 @@ export function handleDAORegistered(event: DAORegistered): void { entity.creator = event.params.creator; entity.createdAt = event.block.timestamp; + entity.txHash = event.transaction.hash; // subscribe to templates DaoTemplateV1_0_0.create(daoAddress); From 81d0f1df0a1dad860534ea89115465764aeaae67 Mon Sep 17 00:00:00 2001 From: Claudia Date: Wed, 1 May 2024 11:28:50 +0200 Subject: [PATCH 2/3] feat: add tx hash to tests --- packages/subgraph/tests/dao/utils.ts | 2 ++ packages/subgraph/tests/helpers/method-classes.ts | 2 ++ packages/subgraph/tests/registry/daoRegistry.test.ts | 12 ++++++++++++ 3 files changed, 16 insertions(+) diff --git a/packages/subgraph/tests/dao/utils.ts b/packages/subgraph/tests/dao/utils.ts index b9f275d19..082c21ae9 100644 --- a/packages/subgraph/tests/dao/utils.ts +++ b/packages/subgraph/tests/dao/utils.ts @@ -420,6 +420,8 @@ export function createDaoEntityState( daoEntity.creator = Address.fromString(creator); daoEntity.createdAt = BigInt.zero(); daoEntity.token = Address.fromString(token).toHexString(); + // random tx hash for testing purposes only + daoEntity.txHash = Bytes.fromHexString('0x01'); daoEntity.save(); return daoEntity; diff --git a/packages/subgraph/tests/helpers/method-classes.ts b/packages/subgraph/tests/helpers/method-classes.ts index 781a00f0a..69a455fac 100644 --- a/packages/subgraph/tests/helpers/method-classes.ts +++ b/packages/subgraph/tests/helpers/method-classes.ts @@ -480,6 +480,8 @@ class DaoMethods extends Dao { this.token = Address.fromString(DAO_TOKEN_ADDRESS).toHexString(); this.trustedForwarder = Address.fromHexString(ADDRESS_TWO); this.signatureValidator = Address.fromHexString(ADDRESS_THREE); + // random tx hash for testing purposes only + this.txHash = Bytes.fromHexString('0x01'); return this; } diff --git a/packages/subgraph/tests/registry/daoRegistry.test.ts b/packages/subgraph/tests/registry/daoRegistry.test.ts index 85f279db6..05590ef3e 100644 --- a/packages/subgraph/tests/registry/daoRegistry.test.ts +++ b/packages/subgraph/tests/registry/daoRegistry.test.ts @@ -43,6 +43,12 @@ describe('DAORegistry', () => { 'createdAt', newDaoEvent.block.timestamp.toString() ); + assert.fieldEquals( + 'Dao', + daoEntityId, + 'txHash', + newDaoEvent.transaction.hash.toHexString() + ); }); test("Don't store subdomain for blocklisted DAO", () => { @@ -72,6 +78,12 @@ describe('DAORegistry', () => { 'createdAt', newDaoEvent.block.timestamp.toString() ); + assert.fieldEquals( + 'Dao', + denylistedEntityId, + 'txHash', + newDaoEvent.transaction.hash.toHexString() + ); const daoEntity = Dao.load(denylistedEntityId); assert.assertNull(daoEntity!.subdomain); From 6a032a83c91c79cf5d013ec57343c2b77a41c6e1 Mon Sep 17 00:00:00 2001 From: Claudia Date: Wed, 1 May 2024 14:00:25 +0200 Subject: [PATCH 3/3] feat: update changelog --- packages/subgraph/CHANGELOG.md | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/packages/subgraph/CHANGELOG.md b/packages/subgraph/CHANGELOG.md index 916abf3e3..11f3ab19d 100644 --- a/packages/subgraph/CHANGELOG.md +++ b/packages/subgraph/CHANGELOG.md @@ -7,9 +7,11 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## [UPCOMING] -## 1.4.1 +### Added -## 1.5.0 +- Add `txHash` field to the Dao entity. + +## 1.4.1 ### Changed