File tree Expand file tree Collapse file tree 6 files changed +119
-0
lines changed
integration-tests/load-save Expand file tree Collapse file tree 6 files changed +119
-0
lines changed Original file line number Diff line number Diff line change 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+ ]
Original file line number Diff line number Diff line change 1+ {
2+ "name": "load-save",
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/load-save --node $GRAPH_NODE_ADMIN_URI",
9+ "deploy:test": "graph deploy test/load-save --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+ }
Original file line number Diff line number Diff line change 1+ type LSData @entity {
2+ id: ID!
3+ data: String!
4+ blockNumber: BigInt!
5+ }
Original file line number Diff line number Diff line change 1+ import { BigInt, ethereum } from '@graphprotocol/graph-ts'
2+ import { LSData } from '../generated/schema'
3+
4+ export function handleBlock(block: ethereum.Block): void {
5+ let diff = 1
6+ let entity = new LSData(block.number.toString())
7+ entity.data = 'original entity'
8+ entity.blockNumber = block.number
9+ entity.save()
10+ let block_number = block.number
11+ if (block_number.gt(BigInt.fromI32(diff))) {
12+ let bn = block_number.minus(BigInt.fromI32(diff)).toString()
13+ let entity2 = LSData.load(bn)!
14+ entity2.data = 'modified entity'
15+ entity2.save()
16+ }
17+ }
Original file line number Diff line number Diff line change 1+ specVersion: 1.2.0
2+ description: Source Subgraph A
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+ - LSData
20+ abis:
21+ - name: SimpleContract
22+ file: ./abis/Contract.abi
23+ blockHandlers:
24+ - handler: handleBlock
25+ file: ./src/mapping.ts
Original file line number Diff line number Diff line change @@ -603,6 +603,19 @@ async fn subgraph_data_sources(ctx: TestContext) -> anyhow::Result<()> {
603603 Ok(())
604604}
605605
606+ async fn load_save(ctx: TestContext) -> anyhow::Result<()> {
607+ let subgraph = ctx.subgraph;
608+ assert!(subgraph.healthy);
609+
610+ let _contract = ctx
611+ .contracts
612+ .iter()
613+ .find(|x| x.name == "SimpleContract")
614+ .unwrap();
615+
616+ Ok(())
617+ }
618+
606619async fn test_topic_filters(ctx: TestContext) -> anyhow::Result<()> {
607620 let subgraph = ctx.subgraph;
608621 assert!(subgraph.healthy);
@@ -980,6 +993,7 @@ async fn integration_tests() -> anyhow::Result<()> {
980993 TestCase::new("block-handlers", test_block_handlers),
981994 TestCase::new("timestamp", test_timestamp),
982995 TestCase::new("ethereum-api-tests", test_eth_api),
996+ TestCase::new("load-save", load_save),
983997 TestCase::new("topic-filter", test_topic_filters),
984998 TestCase::new_with_source_subgraph(
985999 "subgraph-data-sources",
You can’t perform that action at this time.
0 commit comments