type TokenContract @entity {
	id: ID!
	address: Bytes!
	totalSupply: BigInt!
	owner: Bytes!
	tokenHolders: [String!]!
}

type TokenHolder @entity {
	id: ID!
	contract: Bytes!
	address: Bytes!
	balance: BigInt!
}

type Allowance @entity {
	id: ID!
	token: Bytes!
	owner: Bytes!
	spender: Bytes!
	amount: BigInt!
}

type TokenTransfer @entity {
	id: ID!
	txHash: Bytes!
	contract: Bytes!
	from: Bytes!
	to: Bytes!
	value: BigInt!
}

type TokenApproval @entity {
	id: ID!
	txHash: Bytes!
	contract: Bytes!
	owner: Bytes!
	spender: Bytes!
	value: BigInt!
}
