ocean-subgraph/src/mappings/veAllocate.ts

36 lines
1.0 KiB
TypeScript
Raw Normal View History

Implementing first pass of veAllocate schema, handlers, and test cove… (#490) * Implementing first pass of veAllocate schema, handlers, and test coverage. * Fixed compiling issues, wrote compiling & testing outline inside of veAllocate.test. More to come. * Created documentation. Moving tests away from subgraph and into df-py. * Expanding documentation to be thorough and cover more of the work involved. * use barge artifacts * use proper contracts in ci * use barge artifacts folder * fix replace * use npm contracts dep * use latest contracts for barge * fix some lint * Fix linter errors * Update schema * Finished basic integration of setAllocation event and verified queries/schema is working as intended. * Fixing amount getter. * Fixed remaining implementation, verified SimpleSubgraph.test is working, and fixed lint errors. * Fixing import. * Use .zero() * Improve readability * Add allocated to schema * Update abi * Update event handlers in the template * Update veREADME * Remove `AllocationRemoved` handler * Hooking data for tx, firstContact, lastUpdate, block * Update event abi * Add chainId and nftAddress to schema * Update `handleAllocationSet` * Update abi * Update readme * Set initial values * Fix math * Missing event param * set initial value of `lastContact` * veOcean template * VeOcean entity * Handler functions - wip * rename file * Delegation schema * veDelegate mapping file * Rename * Update template * Update schema * Update replaces * Add handler for delegation * Update schema * getveDelegation * Update naming * Add deposit entity * Update template * Make delegation an array * Add `handleDelegation` * Add `handleDeposit` for veOCEAN * Add `getveOCEAN` util function * Add `getDeposit` util function * Add `handleBurnBoost` * Add `handleExtendBoost` * Add `handleTransferBoost` * Set default veOCEAN * Remove unused import * Rename Deposit to VeDeposit * Include block number * Remove `allocatedTotal` * Updating schema and fixing errors due to naming changes. Let's keep the user current allocation, maybe we need to create a feature to more easily let them know whether they are fully allocated, or not.. * bump contracts to v1.1.1 * bump contracts * bump to contracts 1.1.2 * fix script for networks without ve * add veAllocation.sol's AllocationSetMultiple * copy artfacts from barge for npm quickstart:barge * fix using barge artifacts * temp debug * use barge artifacts * use contracts 1.1.3 * use same approach for 'development' * bump ocean-contracts Co-authored-by: alexcos20 <alex.coseru@gmail.com> Co-authored-by: mihaisc <mihai@oceanprotocol.com> Co-authored-by: trizin <25263018+trizin@users.noreply.github.com>
2022-09-05 14:07:31 +02:00
import {
AllocationSet,
AllocationSetMultiple
} from '../@types/veAllocate/veAllocate'
import { handleOneAllocation } from './utils/veUtils'
export function handleAllocationSet(event: AllocationSet): void {
// get allocation entities
const eventSender = event.params.sender.toHexString()
const nftAddress = event.params.nft.toHexString()
const chainId = event.params.chainId
const allocationAmount = event.params.amount.toBigDecimal()
handleOneAllocation(eventSender, nftAddress, chainId, allocationAmount, event)
}
export function handleAllocationSetMultiple(
event: AllocationSetMultiple
): void {
// loop
for (let i = 0; i < event.params.nft.length; i++) {
const eventSender = event.params.sender.toHexString()
const nftAddress = event.params.nft[i].toHexString()
const chainId = event.params.chainId[i]
const allocationAmount = event.params.amount[i].toBigDecimal()
handleOneAllocation(
eventSender,
nftAddress,
chainId,
allocationAmount,
event
)
}
}