From 8a57fc807688acaa8fdb3ddc10fbbd22dfb62107 Mon Sep 17 00:00:00 2001 From: itofarina Date: Wed, 11 Sep 2024 13:20:01 -0300 Subject: [PATCH 1/3] =?UTF-8?q?=F0=9F=94=A7=20eslint:=20disable=20prefer-d?= =?UTF-8?q?estructuring=20rule?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .eslintrc.js | 1 + 1 file changed, 1 insertion(+) diff --git a/.eslintrc.js b/.eslintrc.js index 25edb32..8a9ee74 100644 --- a/.eslintrc.js +++ b/.eslintrc.js @@ -9,6 +9,7 @@ module.exports = { rules: { 'no-plusplus': 'off', 'eslint-comments/no-unused-disable': 'error', + 'prefer-destructuring': 'off', // not supported }, overrides: [ { From 788058aff9e2cfebedad33121aca9734e82324e3 Mon Sep 17 00:00:00 2001 From: itofarina Date: Mon, 19 Aug 2024 17:02:58 -0300 Subject: [PATCH 2/3] =?UTF-8?q?=E2=9C=A8=20staking:=20track=20reward=20amo?= =?UTF-8?q?unts=20and=20shared=20fees?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- bun.lockb | Bin 320236 -> 321148 bytes package.json | 2 +- schema.graphql | 15 +++++++++++++++ src/StakedEXA.ts | 35 +++++++++++++++++++++++++++++++++++ subgraph.template.yaml | 22 ++++++++++++++++++++++ views/protocol.js | 1 + 6 files changed, 74 insertions(+), 1 deletion(-) create mode 100644 src/StakedEXA.ts diff --git a/bun.lockb b/bun.lockb index 4834cb05481a89c959dac5cb0b136c1a38e70a75..3ca762bbbb9cbd37ee2135b1db5abf478cf39267 100755 GIT binary patch delta 64356 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" }, "dependencies": { - "@exactly/protocol": "exactly/protocol#0886922c1be4a9075dbc6d3d4de102c30645b114", + "@exactly/protocol": "exactly/protocol#0890c2e27e00054e1643608eac413f8548ce1ded", "@graphprotocol/graph-ts": "^0.35.1" }, "devDependencies": { diff --git a/schema.graphql b/schema.graphql index f422363..9c0183a 100644 --- a/schema.graphql +++ b/schema.graphql @@ -487,3 +487,18 @@ type TimelockControllerMinDelaySet @entity { block: Int! timestamp: Int! } + +type RewardAmountNotified @entity { + id: ID! # + reward: Bytes! + amount: BigInt! + notifier: Bytes! + timestamp: Int! +} + +type StakingSharedFee @entity { + id: ID! + reward: Bytes! + amount: BigInt! + lastUpdate: Int! +} diff --git a/src/StakedEXA.ts b/src/StakedEXA.ts new file mode 100644 index 0000000..c98437c --- /dev/null +++ b/src/StakedEXA.ts @@ -0,0 +1,35 @@ +import { BigInt, Bytes } from '@graphprotocol/graph-ts'; +import { RewardAmountNotified as RewardAmountNotifiedEvent } from '../generated/StakedEXA/StakedEXA'; +import { RewardAmountNotified, StakingSharedFee } from '../generated/schema'; +import toId from './utils/toId'; + +function loadStakingSharedFee(reward: Bytes): StakingSharedFee { + const id = reward.toHexString(); + let sharedFee = StakingSharedFee.load(id); + if (sharedFee) return sharedFee; + + sharedFee = new StakingSharedFee(id); + sharedFee.reward = reward; + sharedFee.amount = BigInt.zero(); + return sharedFee; +} + +export default function handleRewardAmountNotified(event: RewardAmountNotifiedEvent): void { + const rewardAmountNotified = new RewardAmountNotified(toId(event)); + const amount = event.params.amount; + const notifier = event.params.notifier; + const reward = event.params.reward; + const timestamp = event.block.timestamp.toI32(); + rewardAmountNotified.amount = amount; + rewardAmountNotified.reward = reward; + rewardAmountNotified.notifier = notifier; + rewardAmountNotified.timestamp = timestamp; + rewardAmountNotified.save(); + + if (event.address.equals(notifier)) { + const stakingSharedFee = loadStakingSharedFee(reward); + stakingSharedFee.amount = stakingSharedFee.amount.plus(amount); + stakingSharedFee.lastUpdate = timestamp; + stakingSharedFee.save(); + } +} diff --git a/subgraph.template.yaml b/subgraph.template.yaml index dc96fcc..c857210 100644 --- a/subgraph.template.yaml +++ b/subgraph.template.yaml @@ -203,3 +203,25 @@ dataSources: handler: handleMinDelayChange file: src/TimelockController.ts {{/ TimelockController }} +{{# StakedEXA }} + - kind: ethereum/contract + name: StakedEXA + network: {{ graphNetwork }} + source: + address: '{{ address }}' + startBlock: {{ startBlock }} + abi: StakedEXA + mapping: + kind: ethereum/events + apiVersion: 0.0.7 + language: wasm/assemblyscript + entities: + - RewardAmountNotified + abis: + - name: StakedEXA + file: node_modules/@exactly/protocol/deployments/{{ network }}/stEXA.json + eventHandlers: + - event: RewardAmountNotified(indexed address,indexed address,uint256) + handler: handleRewardAmountNotified + file: src/StakedEXA.ts +{{/ StakedEXA }} diff --git a/views/protocol.js b/views/protocol.js index 747f352..0bfb3fd 100644 --- a/views/protocol.js +++ b/views/protocol.js @@ -31,6 +31,7 @@ module.exports = { return from(deployment, name); }).filter(Boolean), TimelockController: from(get('TimelockController'), 'TimelockController'), + StakedEXA: from(get('stEXA'), 'stEXA'), }; /** @typedef {{ address: string, receipt?: { blockNumber?: number }, args?: any[] }} Deployment */ From bd3ba6a127495305f2bdefa9d7b974ae7c06920a Mon Sep 17 00:00:00 2001 From: itofarina Date: Wed, 18 Sep 2024 11:47:56 -0300 Subject: [PATCH 3/3] =?UTF-8?q?=F0=9F=94=A5=20staking:=20remove=20redundan?= =?UTF-8?q?t=20field?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- schema.graphql | 1 - src/StakedEXA.ts | 1 - 2 files changed, 2 deletions(-) diff --git a/schema.graphql b/schema.graphql index 9c0183a..d16f0fd 100644 --- a/schema.graphql +++ b/schema.graphql @@ -498,7 +498,6 @@ type RewardAmountNotified @entity { type StakingSharedFee @entity { id: ID! - reward: Bytes! amount: BigInt! lastUpdate: Int! } diff --git a/src/StakedEXA.ts b/src/StakedEXA.ts index c98437c..cdc8723 100644 --- a/src/StakedEXA.ts +++ b/src/StakedEXA.ts @@ -9,7 +9,6 @@ function loadStakingSharedFee(reward: Bytes): StakingSharedFee { if (sharedFee) return sharedFee; sharedFee = new StakingSharedFee(id); - sharedFee.reward = reward; sharedFee.amount = BigInt.zero(); return sharedFee; }