From f078db688ac3b951a870d4ee87febab2bca6ce5a Mon Sep 17 00:00:00 2001 From: Ashwin Phatak Date: Mon, 27 Sep 2021 13:46:46 +0530 Subject: [PATCH] Eden subgraph artifacts, host API stub (#15) * Skip AssemblyScript during TS transpilation * Eden subgraph build files * Eden subgraph host API stubs --- packages/graph-node/src/eden.test.ts | 24 + packages/graph-node/src/index.ts | 44 +- .../eden/EdenNetwork/EdenNetwork.wasm | Bin 0 -> 18327 bytes .../eden/EdenNetwork/abis/EdenNetwork.json | 678 ++++++++++++ .../EdenNetworkDistribution.wasm | Bin 0 -> 11629 bytes .../abis/MerkleDistributor.json | 998 ++++++++++++++++++ .../EdenNetworkGovernance.wasm | Bin 0 -> 24263 bytes .../abis/DistributorGovernance.json | 505 +++++++++ .../test/subgraph/eden/schema.graphql | 330 ++++++ .../test/subgraph/eden/subgraph.yaml | 100 ++ packages/graph-node/tsconfig.json | 2 +- 11 files changed, 2661 insertions(+), 20 deletions(-) create mode 100644 packages/graph-node/src/eden.test.ts create mode 100644 packages/graph-node/test/subgraph/eden/EdenNetwork/EdenNetwork.wasm create mode 100644 packages/graph-node/test/subgraph/eden/EdenNetwork/abis/EdenNetwork.json create mode 100644 packages/graph-node/test/subgraph/eden/EdenNetworkDistribution/EdenNetworkDistribution.wasm create mode 100644 packages/graph-node/test/subgraph/eden/EdenNetworkDistribution/abis/MerkleDistributor.json create mode 100644 packages/graph-node/test/subgraph/eden/EdenNetworkGovernance/EdenNetworkGovernance.wasm create mode 100644 packages/graph-node/test/subgraph/eden/EdenNetworkGovernance/abis/DistributorGovernance.json create mode 100644 packages/graph-node/test/subgraph/eden/schema.graphql create mode 100644 packages/graph-node/test/subgraph/eden/subgraph.yaml diff --git a/packages/graph-node/src/eden.test.ts b/packages/graph-node/src/eden.test.ts new file mode 100644 index 00000000..d7aa0872 --- /dev/null +++ b/packages/graph-node/src/eden.test.ts @@ -0,0 +1,24 @@ +// +// Copyright 2021 Vulcanize, Inc. +// + +import path from 'path'; + +import { instantiate } from './index'; + +describe('eden wasm loader tests', () => { + it('should load the subgraph network wasm', async () => { + const filePath = path.resolve(__dirname, '../test/subgraph/eden/EdenNetwork/EdenNetwork.wasm'); + await instantiate(filePath); + }); + + it('should load the subgraph network distribution wasm', async () => { + const filePath = path.resolve(__dirname, '../test/subgraph/eden/EdenNetworkDistribution/EdenNetworkDistribution.wasm'); + await instantiate(filePath); + }); + + it('should load the subgraph network governance wasm', async () => { + const filePath = path.resolve(__dirname, '../test/subgraph/eden/EdenNetworkGovernance/EdenNetworkGovernance.wasm'); + await instantiate(filePath); + }); +}); diff --git a/packages/graph-node/src/index.ts b/packages/graph-node/src/index.ts index fe1898f9..3c02291d 100644 --- a/packages/graph-node/src/index.ts +++ b/packages/graph-node/src/index.ts @@ -20,28 +20,28 @@ const imports = { 'typeConversion.bytesToHex': () => { console.log('typeConversion.bytesToHex'); }, - 'typeConversion.bytesToString': () => { - console.log('typeConversion.bytesToString'); - }, + // 'typeConversion.bytesToString': () => { + // console.log('typeConversion.bytesToString'); + // }, 'typeConversion.bigIntToString': () => { console.log('typeConversion.bigIntToString'); }, - 'bigDecimal.fromString': () => { - console.log('bigDecimal.fromString'); - }, - 'bigDecimal.times': () => { - console.log('bigDecimal.times'); - }, + // 'bigDecimal.fromString': () => { + // console.log('bigDecimal.fromString'); + // }, + // 'bigDecimal.times': () => { + // console.log('bigDecimal.times'); + // }, 'bigDecimal.dividedBy': () => { console.log('bigDecimal.dividedBy'); }, - 'bigDecimal.plus': () => { - console.log('bigDecimal.plus'); - }, - 'bigDecimal.minus': () => { - console.log('bigDecimal.minus'); - }, + // 'bigDecimal.plus': () => { + // console.log('bigDecimal.plus'); + // }, + // 'bigDecimal.minus': () => { + // console.log('bigDecimal.minus'); + // }, 'bigInt.plus': () => { console.log('bigInt.plus'); @@ -55,16 +55,22 @@ const imports = { 'bigInt.dividedBy': () => { console.log('bigInt.dividedBy'); }, - 'bigInt.mod': () => { - console.log('bigInt.mod'); + // 'bigInt.mod': () => { + // console.log('bigInt.mod'); + // }, + 'bigInt.fromString': () => { + console.log('bigInt.fromString'); }, 'log.log': () => { console.log('log.log'); }, - 'dataSource.create': () => { - console.log('dataSource.create'); + // 'dataSource.create': () => { + // console.log('dataSource.create'); + // }, + 'dataSource.address': () => { + console.log('dataSource.address'); } }, ethereum: { diff --git a/packages/graph-node/test/subgraph/eden/EdenNetwork/EdenNetwork.wasm b/packages/graph-node/test/subgraph/eden/EdenNetwork/EdenNetwork.wasm new file mode 100644 index 0000000000000000000000000000000000000000..8b8583e5d34a934303d16e50d415e969e7403c5e GIT binary patch literal 18327 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 literal 0 HcmV?d00001 diff --git a/packages/graph-node/test/subgraph/eden/EdenNetworkDistribution/abis/MerkleDistributor.json b/packages/graph-node/test/subgraph/eden/EdenNetworkDistribution/abis/MerkleDistributor.json new file mode 100644 index 00000000..ccabf80a --- /dev/null +++ b/packages/graph-node/test/subgraph/eden/EdenNetworkDistribution/abis/MerkleDistributor.json @@ -0,0 +1,998 @@ +[ + { + "inputs": [ + { + "internalType": "contract IERC20Mintable", + "name": "token_", + "type": "address" + }, + { + "internalType": "address", + "name": "governance_", + "type": "address" + }, + { + "internalType": "address", + "name": "admin", + "type": "address" + }, + { + "internalType": "uint256", + "name": "updateThreshold_", + "type": "uint256" + } + ], + "stateMutability": "nonpayable", + "type": "constructor" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "account", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "totalClaimed", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "totalSlashed", + "type": "uint256" + } + ], + "name": "AccountUpdated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "approved", + "type": "address" + }, + { + "indexed": true, + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "Approval", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "operator", + "type": "address" + }, + { + "indexed": false, + "internalType": "bool", + "name": "approved", + "type": "bool" + } + ], + "name": "ApprovalForAll", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint256", + "name": "index", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "totalEarned", + "type": "uint256" + }, + { + "indexed": true, + "internalType": "address", + "name": "account", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "claimed", + "type": "uint256" + } + ], + "name": "Claimed", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "to", + "type": "address" + } + ], + "name": "GovernanceChanged", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "bytes32", + "name": "merkleRoot", + "type": "bytes32" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "distributionNumber", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "string", + "name": "metadataURI", + "type": "string" + } + ], + "name": "MerkleRootUpdated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "string", + "name": "_value", + "type": "string" + }, + { + "indexed": true, + "internalType": "uint256", + "name": "_id", + "type": "uint256" + } + ], + "name": "PermanentURI", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "bytes32", + "name": "role", + "type": "bytes32" + }, + { + "indexed": true, + "internalType": "bytes32", + "name": "previousAdminRole", + "type": "bytes32" + }, + { + "indexed": true, + "internalType": "bytes32", + "name": "newAdminRole", + "type": "bytes32" + } + ], + "name": "RoleAdminChanged", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "bytes32", + "name": "role", + "type": "bytes32" + }, + { + "indexed": true, + "internalType": "address", + "name": "account", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "sender", + "type": "address" + } + ], + "name": "RoleGranted", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "bytes32", + "name": "role", + "type": "bytes32" + }, + { + "indexed": true, + "internalType": "address", + "name": "account", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "sender", + "type": "address" + } + ], + "name": "RoleRevoked", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "account", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "slashed", + "type": "uint256" + } + ], + "name": "Slashed", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "indexed": true, + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "Transfer", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint256", + "name": "updateThreshold", + "type": "uint256" + } + ], + "name": "UpdateThresholdChanged", + "type": "event" + }, + { + "inputs": [], + "name": "DEFAULT_ADMIN_ROLE", + "outputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "DISTRIBUTOR_ROLE", + "outputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "SLASHER_ROLE", + "outputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "UPDATER_ROLE", + "outputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "name": "accountState", + "outputs": [ + { + "internalType": "uint256", + "name": "totalClaimed", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "totalSlashed", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "approve", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "owner", + "type": "address" + } + ], + "name": "balanceOf", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "index", + "type": "uint256" + }, + { + "internalType": "address", + "name": "account", + "type": "address" + }, + { + "internalType": "uint256", + "name": "totalEarned", + "type": "uint256" + }, + { + "internalType": "bytes32[]", + "name": "merkleProof", + "type": "bytes32[]" + } + ], + "name": "claim", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "distributionCount", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "getApproved", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "role", + "type": "bytes32" + } + ], + "name": "getRoleAdmin", + "outputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "governance", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "role", + "type": "bytes32" + }, + { + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "name": "grantRole", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "role", + "type": "bytes32" + }, + { + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "name": "hasRole", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "internalType": "address", + "name": "operator", + "type": "address" + } + ], + "name": "isApprovedForAll", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "merkleRoot", + "outputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "name", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "ownerOf", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "name": "previousMerkleRoot", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "role", + "type": "bytes32" + }, + { + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "name": "renounceRole", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "role", + "type": "bytes32" + }, + { + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "name": "revokeRole", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "safeTransferFrom", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + }, + { + "internalType": "bytes", + "name": "_data", + "type": "bytes" + } + ], + "name": "safeTransferFrom", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "operator", + "type": "address" + }, + { + "internalType": "bool", + "name": "approved", + "type": "bool" + } + ], + "name": "setApprovalForAll", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "to", + "type": "address" + } + ], + "name": "setGovernance", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "to", + "type": "uint256" + } + ], + "name": "setUpdateThreshold", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "account", + "type": "address" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "slash", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes4", + "name": "interfaceId", + "type": "bytes4" + } + ], + "name": "supportsInterface", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "symbol", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "token", + "outputs": [ + { + "internalType": "contract IERC20Mintable", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "index", + "type": "uint256" + } + ], + "name": "tokenByIndex", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "internalType": "uint256", + "name": "index", + "type": "uint256" + } + ], + "name": "tokenOfOwnerByIndex", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "tokenURI", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "totalSupply", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "transferFrom", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "_merkleRoot", + "type": "bytes32" + }, + { + "internalType": "string", + "name": "uri", + "type": "string" + }, + { + "internalType": "uint256", + "name": "_distributionNumber", + "type": "uint256" + } + ], + "name": "updateMerkleRoot", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "updateThreshold", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + } +] \ No newline at end of file diff --git a/packages/graph-node/test/subgraph/eden/EdenNetworkGovernance/EdenNetworkGovernance.wasm b/packages/graph-node/test/subgraph/eden/EdenNetworkGovernance/EdenNetworkGovernance.wasm new file mode 100644 index 0000000000000000000000000000000000000000..4f505074acb18771b5a0ed9dfafca0667fd44916 GIT binary patch literal 24263 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 literal 0 HcmV?d00001 diff --git a/packages/graph-node/test/subgraph/eden/EdenNetworkGovernance/abis/DistributorGovernance.json b/packages/graph-node/test/subgraph/eden/EdenNetworkGovernance/abis/DistributorGovernance.json new file mode 100644 index 00000000..ee8598e8 --- /dev/null +++ b/packages/graph-node/test/subgraph/eden/EdenNetworkGovernance/abis/DistributorGovernance.json @@ -0,0 +1,505 @@ +[ + { + "inputs": [ + { + "internalType": "address", + "name": "_admin", + "type": "address" + }, + { + "internalType": "address[]", + "name": "_blockProducers", + "type": "address[]" + }, + { + "internalType": "address[]", + "name": "_collectors", + "type": "address[]" + } + ], + "stateMutability": "nonpayable", + "type": "constructor" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "producer", + "type": "address" + } + ], + "name": "BlockProducerAdded", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "producer", + "type": "address" + } + ], + "name": "BlockProducerRemoved", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "producer", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "collector", + "type": "address" + } + ], + "name": "BlockProducerRewardCollectorChanged", + "type": "event" + }, + { + "anonymous": false, + "inputs": [], + "name": "RewardScheduleChanged", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "bytes32", + "name": "role", + "type": "bytes32" + }, + { + "indexed": true, + "internalType": "bytes32", + "name": "previousAdminRole", + "type": "bytes32" + }, + { + "indexed": true, + "internalType": "bytes32", + "name": "newAdminRole", + "type": "bytes32" + } + ], + "name": "RoleAdminChanged", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "bytes32", + "name": "role", + "type": "bytes32" + }, + { + "indexed": true, + "internalType": "address", + "name": "account", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "sender", + "type": "address" + } + ], + "name": "RoleGranted", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "bytes32", + "name": "role", + "type": "bytes32" + }, + { + "indexed": true, + "internalType": "address", + "name": "account", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "sender", + "type": "address" + } + ], + "name": "RoleRevoked", + "type": "event" + }, + { + "inputs": [], + "name": "DEFAULT_ADMIN_ROLE", + "outputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "DELEGATOR_ROLE", + "outputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "GOV_ROLE", + "outputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "REWARD_SCHEDULE_ENTRY_LENGTH", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "producer", + "type": "address" + } + ], + "name": "add", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address[]", + "name": "producers", + "type": "address[]" + } + ], + "name": "addBatch", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "name": "blockProducer", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "producer", + "type": "address" + }, + { + "internalType": "address", + "name": "collector", + "type": "address" + } + ], + "name": "delegate", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address[]", + "name": "producers", + "type": "address[]" + }, + { + "internalType": "address[]", + "name": "collectors", + "type": "address[]" + } + ], + "name": "delegateBatch", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "role", + "type": "bytes32" + } + ], + "name": "getRoleAdmin", + "outputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "role", + "type": "bytes32" + }, + { + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "name": "grantRole", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "role", + "type": "bytes32" + }, + { + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "name": "hasRole", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "producer", + "type": "address" + } + ], + "name": "remove", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address[]", + "name": "producers", + "type": "address[]" + } + ], + "name": "removeBatch", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "role", + "type": "bytes32" + }, + { + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "name": "renounceRole", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "role", + "type": "bytes32" + }, + { + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "name": "revokeRole", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "name": "rewardCollector", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "rewardScheduleEntries", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "index", + "type": "uint256" + } + ], + "name": "rewardScheduleEntry", + "outputs": [ + { + "components": [ + { + "internalType": "uint64", + "name": "startTime", + "type": "uint64" + }, + { + "internalType": "uint64", + "name": "epochDuration", + "type": "uint64" + }, + { + "internalType": "uint128", + "name": "rewardsPerEpoch", + "type": "uint128" + } + ], + "internalType": "struct IGovernance.RewardScheduleEntry", + "name": "", + "type": "tuple" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes", + "name": "set", + "type": "bytes" + } + ], + "name": "setRewardSchedule", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes4", + "name": "interfaceId", + "type": "bytes4" + } + ], + "name": "supportsInterface", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + } +] \ No newline at end of file diff --git a/packages/graph-node/test/subgraph/eden/schema.graphql b/packages/graph-node/test/subgraph/eden/schema.graphql new file mode 100644 index 00000000..27df2a51 --- /dev/null +++ b/packages/graph-node/test/subgraph/eden/schema.graphql @@ -0,0 +1,330 @@ +type Producer @entity { + # Address + id: ID! + + # Currently added (true) or removed (false) + active: Boolean! + + # Address of collector + rewardCollector: Bytes + + # Total rewards, does not include pending rewards + rewards: BigInt! + + # Total number of blocks produced by this producer, not including in the pending epoch + confirmedBlocks: BigInt! + + # Blocks produced in pending epoch + pendingEpochBlocks: BigInt! +} + +type ProducerSet @entity { + # Governance address + id: ID! + + # All registered (active and inactive) producers + producers: [Producer!]! +} + +enum ProducerSetChangeType { + Added + Removed +} + +type ProducerSetChange @entity { + # Transaction + id: ID! + + # Block change occured in (effective next block) + blockNumber: BigInt! + + # Producer address + producer: Bytes! + + # Set change type + changeType: ProducerSetChangeType! +} + +type ProducerRewardCollectorChange @entity { + # Transaction + id: ID! + + # Block change occured in (effective next block) + blockNumber: BigInt! + + # Producer address + producer: Bytes! + + # Address of collector + rewardCollector: Bytes! +} + +type RewardScheduleEntry @entity { + # ID of transaction applying schedule plus index (e.g. 0xfoo+index1) + id: ID! + + # Timestamp of reward start + startTime: BigInt! + + # Duration of epochs + epochDuration: BigInt! + + # Rewards per epoch + rewardsPerEpoch: BigInt! +} + +type RewardSchedule @entity { + # Governance address + id: ID! + + # Current block reward schedule + rewardScheduleEntries: [RewardScheduleEntry!]! + + # Last finished epoch + lastEpoch: Epoch + + # Current pending epoch + pendingEpoch: Epoch + + # Active reward schedule entry + activeRewardScheduleEntry: RewardScheduleEntry +} + +type ProducerEpoch @entity { + # Producer address + epoch, e.g. 0xf00+epochX + id: ID! + + # Producer address + address: Bytes! + + # Epoch + epoch: Epoch! + + # Total cumulative rewards for producer (replicated to merkle tree) + totalRewards: BigInt! + + # Blocks produced by this producer during this epoch + blocksProduced: BigInt! + + # Ratio of blocks produced compared to those by all registered producers [0.0, 1.0] + blocksProducedRatio: BigDecimal! +} + +type Block @entity { + # Block hash + id: ID! + + # If produced by an active producer + fromActiveProducer: Boolean! + + # Block properties + hash: Bytes! + parentHash: Bytes! + unclesHash: Bytes! + author: Bytes! + stateRoot: Bytes! + transactionsRoot: Bytes! + receiptsRoot: Bytes! + number: BigInt! + gasUsed: BigInt! + gasLimit: BigInt! + timestamp: BigInt! + difficulty: BigInt! + totalDifficulty: BigInt! + size: BigInt +} + +type Epoch @entity { + # Governance address + epoch e.g. 0xf00+epochX + id: ID! + + # If epoch has been finished + finalized: Boolean! + + # Epoch number + epochNumber: BigInt! + + # Start block + startBlock: Block + + # End block + endBlock: Block + + # Producer blocks + producerBlocks: BigInt! + + # All blocks + allBlocks: BigInt! + + # Ratio of producer blocks to all blocks [0.0, 1.0] + producerBlocksRatio: BigDecimal! + + # Snapshot of rewards + producerRewards: [ProducerEpoch!]! @derivedFrom(field: "epoch") +} + +type SlotClaim @entity { + # Transaction + id: ID! + + # Slot + slot: Slot! + + # Owner address + owner: Bytes! + + # Winning bid + winningBid: BigInt! + + # Old bid + oldBid: BigInt! + + # Timestamp of when slot ownership started + startTime: BigInt! + + # Timestamp of when slot ownership expires + expirationTime: BigInt! + + # Tax rate per day + taxRatePerDay: BigDecimal! +} + +type Slot @entity { + # Address of network contract + slot index, e.g. "0xF00-0" + id: ID! + + # Owner address + owner: Bytes! + + # Delegate address + delegate: Bytes! + + # Winning bid + winningBid: BigInt! + + # Old bid + oldBid: BigInt! + + # Timestamp of when slot ownership started + startTime: BigInt! + + # Timestamp of when slot ownership expires + expirationTime: BigInt! + + # Tax rate per day + taxRatePerDay: BigDecimal! + + # Slot claims + claims: [SlotClaim]! @derivedFrom(field: "slot") +} + +type Staker @entity { + # Address of staker + id: ID! + + # Amount staked + staked: BigInt! + + # Zero-based (zero being highest) rank of non-zero stakers, or null for a zero stake + rank: BigInt +} + +type Network @entity { + # Address of contract + id: ID! + + slot0: Slot + slot1: Slot + slot2: Slot + + stakers: [Staker!]! + + # Number of non-zero stakers + numStakers: BigInt + + # Total amount staked + totalStaked: BigInt! + + # Percentiles (0-99) of staker amounts + stakedPercentiles: [BigInt!]! +} + +type Distributor @entity { + # Address of distributor contract + id: ID! + + # The current distribution + currentDistribution: Distribution +} + +type Distribution @entity { + # Transaction + id: ID! + + # Distributor + distributor: Distributor! + + # Timestamp distribution was applied + timestamp: BigInt! + + # Distribution number + distributionNumber: BigInt! + + # Root of the merkle tree containing total earned rewards + merkleRoot: Bytes! + + # Metadata URI + metadataURI: String! +} + +type Claim @entity { + # Transaction + id: ID! + + # Timestamp claim was made + timestamp: BigInt! + + # Index in the merkle tree + index: BigInt! + + # Account + account: Account! + + # Total amount earned + totalEarned: BigInt! + + # Claimed amount by this claim + claimed: BigInt! +} + +type Slash @entity { + # Transaction + id: ID! + + # Timestamp slash was made + timestamp: BigInt! + + # Account + account: Account! + + # Slashed amount by this slash + slashed: BigInt! +} + +type Account @entity { + # Account address + id: ID! + + # Total amount claimed + totalClaimed: BigInt! + + # Total amount slashed + totalSlashed: BigInt! + + # All claims + claims: [Claim!]! @derivedFrom(field: "account") + + # All slashes + slashes: [Slash!]! @derivedFrom(field: "account") +} + diff --git a/packages/graph-node/test/subgraph/eden/subgraph.yaml b/packages/graph-node/test/subgraph/eden/subgraph.yaml new file mode 100644 index 00000000..0ba875a8 --- /dev/null +++ b/packages/graph-node/test/subgraph/eden/subgraph.yaml @@ -0,0 +1,100 @@ +specVersion: 0.0.2 +schema: + file: schema.graphql +dataSources: + - kind: ethereum/contract + name: EdenNetworkGovernance + network: mainnet + source: + address: "0x726aDC632871Ff796379da14F9D5aeb199bEd505" + abi: Governance + startBlock: 12948292 + mapping: + kind: ethereum/events + apiVersion: 0.0.4 + language: wasm/assemblyScript + entities: + - Producer + - ProducerSet + - ProducerSetChange + - ProducerRewardCollectorChange + - RewardScheduleEntry + - RewardSchedule + - ProducerEpoch + - Block + - Epoch + abis: + - name: Governance + file: EdenNetworkGovernance/abis/DistributorGovernance.json + eventHandlers: + - event: BlockProducerAdded(indexed address) + handler: blockProducerAdded + - event: BlockProducerRemoved(indexed address) + handler: blockProducerRemoved + - event: BlockProducerRewardCollectorChanged(indexed address,indexed address) + handler: blockProducerRewardCollectorChanged + - event: RewardScheduleChanged() + handler: rewardScheduleChanged + blockHandlers: + - handler: handleBlock + file: EdenNetworkGovernance/EdenNetworkGovernance.wasm + - kind: ethereum/contract + name: EdenNetwork + network: mainnet + source: + address: "0x9E3382cA57F4404AC7Bf435475EAe37e87D1c453" + abi: EdenNetwork + startBlock: 12948381 + mapping: + kind: ethereum/events + apiVersion: 0.0.4 + language: wasm/assemblyScript + entities: + - Slot + - Staker + - Network + - SlotClaim + abis: + - name: EdenNetwork + file: EdenNetwork/abis/EdenNetwork.json + eventHandlers: + - event: SlotClaimed(indexed uint8,indexed address,indexed + address,uint128,uint128,uint16,uint16) + handler: slotClaimed + - event: SlotDelegateUpdated(indexed uint8,indexed address,indexed address,address) + handler: slotDelegateUpdated + - event: Stake(indexed address,uint256) + handler: stake + - event: Unstake(indexed address,uint256) + handler: unstake + file: EdenNetwork/EdenNetwork.wasm + - kind: ethereum/contract + name: EdenNetworkDistribution + network: mainnet + source: + address: "0x2Ae0f92498346B9e011ED15d8C98142DCF62F774" + abi: Distribution + startBlock: 12948356 + mapping: + kind: ethereum/events + apiVersion: 0.0.4 + language: wasm/assemblyScript + entities: + - Distributor + - Distribution + - Claim + - Slash + - Account + abis: + - name: Distribution + file: EdenNetworkDistribution/abis/MerkleDistributor.json + eventHandlers: + - event: Claimed(uint256,uint256,indexed address,uint256) + handler: claimed + - event: Slashed(indexed address,uint256) + handler: slashed + - event: MerkleRootUpdated(bytes32,uint256,string) + handler: merkleRootUpdated + - event: AccountUpdated(indexed address,uint256,uint256) + handler: accountUpdated + file: EdenNetworkDistribution/EdenNetworkDistribution.wasm diff --git a/packages/graph-node/tsconfig.json b/packages/graph-node/tsconfig.json index eb2040e8..e14d16c4 100644 --- a/packages/graph-node/tsconfig.json +++ b/packages/graph-node/tsconfig.json @@ -97,5 +97,5 @@ // "skipDefaultLibCheck": true, /* Skip type checking .d.ts files that are included with TypeScript. */ "skipLibCheck": true /* Skip type checking all .d.ts files. */ }, - "exclude": ["dist"] + "exclude": ["assembly", "dist"] }