ocean-subgraph/src/mappings/utils/tokenUtils.ts

25 lines
748 B
TypeScript
Raw Normal View History

import { Address, log } from '@graphprotocol/graph-ts'
2021-11-10 13:47:44 +01:00
import { Token } from '../../@types/schema'
import { ERC20 } from '../../@types/templates/ERC20Template/ERC20'
export function createToken(address: string): Token {
log.debug('started creating token with address: {}', [address])
2021-11-10 13:47:44 +01:00
const token = new Token(address)
const contract = ERC20.bind(Address.fromString(address))
token.name = contract.name()
token.symbol = contract.symbol()
token.address = address
token.isDatatoken = false
token.decimals = contract.decimals()
token.save()
return token
}
export function getToken(address: string): Token {
let newToken = Token.load(address)
if (newToken === null) {
newToken = createToken(address)
}
return newToken
}