Skip to content

Commit 8093f74

Browse files
author
Zoran Cvetkov
committed
test: check grafting from pre 0.0.6 to 0.0.6 and later
1 parent 7478019 commit 8093f74

File tree

14 files changed

+334
-18
lines changed

14 files changed

+334
-18
lines changed

tests/docker-compose.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ services:
2323
image: ghcr.io/foundry-rs/foundry:stable
2424
ports:
2525
- '3021:8545'
26-
command: "'anvil --host 0.0.0.0 --gas-limit 100000000000 --base-fee 1 --block-time 5 --mnemonic \"test test test test test test test test test test test junk\"'"
26+
command: "'anvil --host 0.0.0.0 --gas-limit 100000000000 --base-fee 1 --block-time 5 --timestamp 1743944919 --mnemonic \"test test test test test test test test test test test junk\"'"
2727

2828
# graph-node ports:
2929
# json-rpc: 8020
Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
[
2+
{
3+
"inputs": [],
4+
"stateMutability": "nonpayable",
5+
"type": "constructor"
6+
},
7+
{
8+
"anonymous": false,
9+
"inputs": [
10+
{
11+
"indexed": false,
12+
"internalType": "uint16",
13+
"name": "x",
14+
"type": "uint16"
15+
}
16+
],
17+
"name": "Trigger",
18+
"type": "event"
19+
},
20+
{
21+
"inputs": [
22+
{
23+
"internalType": "uint16",
24+
"name": "x",
25+
"type": "uint16"
26+
}
27+
],
28+
"name": "emitTrigger",
29+
"outputs": [],
30+
"stateMutability": "nonpayable",
31+
"type": "function"
32+
}
33+
]
Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
{
2+
"name": "grafted-subgraph",
3+
"version": "0.1.0",
4+
"scripts": {
5+
"build-contracts": "../../common/build-contracts.sh",
6+
"codegen": "graph codegen --skip-migrations",
7+
"test": "yarn build-contracts && truffle test --compile-none --network test",
8+
"create:test": "graph create test/grafted-subgraph --node $GRAPH_NODE_ADMIN_URI",
9+
"deploy:test": "graph deploy test/grafted-subgraph --version-label v0.0.1 --ipfs $IPFS_URI --node $GRAPH_NODE_ADMIN_URI"
10+
},
11+
"devDependencies": {
12+
"@graphprotocol/graph-cli": "0.69.0",
13+
"@graphprotocol/graph-ts": "0.34.0",
14+
"solc": "^0.8.2"
15+
},
16+
"dependencies": {
17+
"@truffle/contract": "^4.3",
18+
"@truffle/hdwallet-provider": "^1.2",
19+
"apollo-fetch": "^0.7.0",
20+
"babel-polyfill": "^6.26.0",
21+
"babel-register": "^6.26.0",
22+
"gluegun": "^4.6.1",
23+
"truffle": "^5.2"
24+
}
25+
}
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
type GraftedData @entity(immutable: true) {
2+
id: ID!
3+
data: String!
4+
blockNumber: BigInt!
5+
}
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
import { ethereum } from '@graphprotocol/graph-ts'
2+
import { GraftedData } from '../generated/schema'
3+
4+
export function handleBlock(block: ethereum.Block): void {
5+
let entity = new GraftedData(block.number.toString())
6+
entity.data = 'from grafted'
7+
entity.blockNumber = block.number
8+
entity.save()
9+
}
Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
specVersion: 0.0.5
2+
description: Grafted Subgraph
3+
repository: https://github.com/graphprotocol/graph-node
4+
schema:
5+
file: ./schema.graphql
6+
dataSources:
7+
- kind: ethereum/contract
8+
name: SimpleContract
9+
network: test
10+
source:
11+
address: "0x5FbDB2315678afecb367f032d93F642f64180aa3"
12+
abi: SimpleContract
13+
startBlock: 0
14+
mapping:
15+
kind: ethereum/events
16+
apiVersion: 0.0.6
17+
language: wasm/assemblyscript
18+
entities:
19+
- GraftedData
20+
abis:
21+
- name: SimpleContract
22+
file: ./abis/Contract.abi
23+
blockHandlers:
24+
- handler: handleBlock
25+
file: ./src/mapping.ts
Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
[
2+
{
3+
"inputs": [],
4+
"stateMutability": "nonpayable",
5+
"type": "constructor"
6+
},
7+
{
8+
"anonymous": false,
9+
"inputs": [
10+
{
11+
"indexed": false,
12+
"internalType": "uint16",
13+
"name": "x",
14+
"type": "uint16"
15+
}
16+
],
17+
"name": "Trigger",
18+
"type": "event"
19+
},
20+
{
21+
"inputs": [
22+
{
23+
"internalType": "uint16",
24+
"name": "x",
25+
"type": "uint16"
26+
}
27+
],
28+
"name": "emitTrigger",
29+
"outputs": [],
30+
"stateMutability": "nonpayable",
31+
"type": "function"
32+
}
33+
]
Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
{
2+
"name": "grafting-subgraph",
3+
"version": "0.1.0",
4+
"scripts": {
5+
"build-contracts": "../../common/build-contracts.sh",
6+
"codegen": "graph codegen --skip-migrations",
7+
"test": "yarn build-contracts && truffle test --compile-none --network test",
8+
"create:test": "graph create test/grafting-subgraph --node $GRAPH_NODE_ADMIN_URI",
9+
"deploy:test": "graph deploy test/grafting-subgraph --version-label v0.0.1 --ipfs $IPFS_URI --node $GRAPH_NODE_ADMIN_URI"
10+
},
11+
"devDependencies": {
12+
"@graphprotocol/graph-cli": "0.69.0",
13+
"@graphprotocol/graph-ts": "0.34.0",
14+
"solc": "^0.8.2"
15+
},
16+
"dependencies": {
17+
"@truffle/contract": "^4.3",
18+
"@truffle/hdwallet-provider": "^1.2",
19+
"apollo-fetch": "^0.7.0",
20+
"babel-polyfill": "^6.26.0",
21+
"babel-register": "^6.26.0",
22+
"gluegun": "^4.6.1",
23+
"truffle": "^5.2"
24+
}
25+
}
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
type GraftingData @entity(immutable: true) {
2+
id: ID!
3+
data: String!
4+
blockNumber: BigInt!
5+
}
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
import { ethereum } from '@graphprotocol/graph-ts'
2+
import { GraftingData } from '../generated/schema'
3+
4+
export function handleBlock(block: ethereum.Block): void {
5+
let entity = new GraftingData(block.number.toString())
6+
entity.data = 'to grafting'
7+
entity.blockNumber = block.number
8+
entity.save()
9+
}

0 commit comments

Comments
 (0)