UNPKG

@graphprotocol/graph-cli

Version:

CLI for building for and deploying to The Graph

40 lines (39 loc) 1.38 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.mapping = exports.source = void 0; const gluegun_1 = require("gluegun"); const schema_1 = require("../../../scaffold/schema"); const abi_1 = __importDefault(require("../abi")); const source = ({ contract, contractName, startBlock, }) => startBlock ? ` address: '${contract}' abi: ${contractName} startBlock: ${startBlock}` : ` address: '${contract}' abi: ${contractName}`; exports.source = source; const mapping = ({ abi, contractName }) => ` kind: ethereum/events apiVersion: 0.0.7 language: wasm/assemblyscript entities: ${(0, schema_1.abiEvents)(abi) .map(event => `- ${event.get('collision') ? `${contractName}${event.get('_alias')}` : event.get('_alias')}`) .join('\n ')} abis: - name: ${contractName} file: ./abis/${contractName}.json eventHandlers: ${(0, schema_1.abiEvents)(abi) .map(event => ` - event: ${abi_1.default.eventSignature(event)} handler: handle${event.get('_alias')}`) .join('')} file: ./src/${gluegun_1.strings.kebabCase(contractName)}.ts`; exports.mapping = mapping;