mirror of
https://github.com/cerc-io/watcher-ts
synced 2025-07-28 19:12:06 +00:00
Refactor mock server.
This commit is contained in:
parent
c84b481385
commit
11fbe0534d
@ -4,7 +4,7 @@
|
||||
"description": "ERC20 Watcher",
|
||||
"private": true,
|
||||
"scripts": {
|
||||
"server": "nodemon src/server.ts",
|
||||
"server": "MOCK=1 nodemon src/server.ts",
|
||||
"test": "echo \"Error: no test specified\" && exit 1"
|
||||
},
|
||||
"repository": {
|
||||
|
@ -1,52 +1,11 @@
|
||||
import 'lodash';
|
||||
import 'graphql-import-node';
|
||||
import { makeExecutableSchema } from '@graphql-tools/schema';
|
||||
import BigInt from 'apollo-type-bigint';
|
||||
|
||||
import * as typeDefs from './erc20.graphql';
|
||||
import { blocks } from './mock-data';
|
||||
import mockResolvers from './mock/resolvers';
|
||||
|
||||
const resolvers = {
|
||||
BigInt: new BigInt('bigInt'),
|
||||
|
||||
TokenEvent: {
|
||||
__resolveType: (obj) => {
|
||||
if (obj.owner) {
|
||||
return 'ApprovalEvent';
|
||||
}
|
||||
|
||||
return 'TransferEvent';
|
||||
}
|
||||
},
|
||||
|
||||
Query: {
|
||||
|
||||
balanceOf: (_, { blockHash, token, owner }) => {
|
||||
console.log('balanceOf', blockHash, token, owner);
|
||||
|
||||
return {
|
||||
value: blocks[blockHash][token].balanceOf[owner],
|
||||
proof: { data: '' }
|
||||
}
|
||||
},
|
||||
|
||||
allowance: (_, { blockHash, token, owner, spender }) => {
|
||||
console.log('allowance', blockHash, token, owner, spender);
|
||||
|
||||
return {
|
||||
value: blocks[blockHash][token].allowance[owner][spender],
|
||||
proof: { data: '' }
|
||||
}
|
||||
},
|
||||
|
||||
events: (_, { blockHash, token, name }) => {
|
||||
console.log('events', blockHash, token, name);
|
||||
return blocks[blockHash][token].events
|
||||
.filter(e => !name || name === e.name)
|
||||
.map(e => ({ 'event': e }));
|
||||
}
|
||||
}
|
||||
};
|
||||
// TODO: Create resolvers backed by erc20 watcher.
|
||||
const resolvers = process.env.MOCK ? mockResolvers : {};
|
||||
|
||||
export const schema = makeExecutableSchema({
|
||||
typeDefs,
|
||||
|
47
packages/server/src/mock/resolvers.ts
Normal file
47
packages/server/src/mock/resolvers.ts
Normal file
@ -0,0 +1,47 @@
|
||||
import BigInt from 'apollo-type-bigint';
|
||||
|
||||
import { blocks } from './data';
|
||||
|
||||
const resolvers = {
|
||||
BigInt: new BigInt('bigInt'),
|
||||
|
||||
TokenEvent: {
|
||||
__resolveType: (obj) => {
|
||||
if (obj.owner) {
|
||||
return 'ApprovalEvent';
|
||||
}
|
||||
|
||||
return 'TransferEvent';
|
||||
}
|
||||
},
|
||||
|
||||
Query: {
|
||||
|
||||
balanceOf: (_, { blockHash, token, owner }) => {
|
||||
console.log('balanceOf', blockHash, token, owner);
|
||||
|
||||
return {
|
||||
value: blocks[blockHash][token].balanceOf[owner],
|
||||
proof: { data: '' }
|
||||
}
|
||||
},
|
||||
|
||||
allowance: (_, { blockHash, token, owner, spender }) => {
|
||||
console.log('allowance', blockHash, token, owner, spender);
|
||||
|
||||
return {
|
||||
value: blocks[blockHash][token].allowance[owner][spender],
|
||||
proof: { data: '' }
|
||||
}
|
||||
},
|
||||
|
||||
events: (_, { blockHash, token, name }) => {
|
||||
console.log('events', blockHash, token, name);
|
||||
return blocks[blockHash][token].events
|
||||
.filter(e => !name || name === e.name)
|
||||
.map(e => ({ 'event': e }));
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
export default resolvers;
|
Loading…
Reference in New Issue
Block a user