mirror of
https://github.com/oceanprotocol/ocean-subgraph.git
synced 2024-12-02 05:57:29 +01:00
a10c6244b5
* 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>
64 lines
2.1 KiB
TypeScript
64 lines
2.1 KiB
TypeScript
import { BigInt } from '@graphprotocol/graph-ts'
|
|
import {
|
|
BurnBoost,
|
|
DelegateBoost,
|
|
ExtendBoost,
|
|
TransferBoost
|
|
} from '../@types/veDelegation/veDelegation'
|
|
import { getveDelegation, getveOCEAN } from './utils/veUtils'
|
|
|
|
export function handleDelegation(event: DelegateBoost): void {
|
|
const _delegator = event.params._delegator.toHex()
|
|
const _receiver = event.params._receiver.toHex()
|
|
const _tokenId = event.params._token_id
|
|
const _amount = event.params._amount
|
|
const _cancelTime = event.params._cancel_time
|
|
const _expireTime = event.params._expire_time
|
|
|
|
const veDelegation = getveDelegation(_tokenId.toHex())
|
|
veDelegation.delegator = _delegator
|
|
getveOCEAN(_receiver)
|
|
veDelegation.receiver = _receiver
|
|
veDelegation.tokenId = _tokenId
|
|
veDelegation.amount = _amount
|
|
veDelegation.cancelTime = _cancelTime
|
|
veDelegation.expireTime = _expireTime
|
|
veDelegation.block = event.block.number.toI32()
|
|
veDelegation.save()
|
|
}
|
|
|
|
export function handleExtendBoost(event: ExtendBoost): void {
|
|
const _delegator = event.params._delegator.toHex()
|
|
const _receiver = event.params._receiver.toHex()
|
|
const _tokenId = event.params._token_id
|
|
const _amount = event.params._amount
|
|
const _cancelTime = event.params._cancel_time
|
|
const _expireTime = event.params._expire_time
|
|
|
|
const veDelegation = getveDelegation(_tokenId.toHex())
|
|
veDelegation.delegator = _delegator
|
|
veDelegation.receiver = _receiver
|
|
veDelegation.tokenId = _tokenId
|
|
veDelegation.amount = _amount
|
|
veDelegation.cancelTime = _cancelTime
|
|
veDelegation.expireTime = _expireTime
|
|
veDelegation.save()
|
|
}
|
|
|
|
export function handleTransferBoost(event: TransferBoost): void {
|
|
// TODO not sure if we need this
|
|
// --------------------------------
|
|
// const _from = event.params._from
|
|
// const _to = event.params._to
|
|
// const _tokenId = event.params._token_id
|
|
// const _amount = event.params._amount
|
|
// const _expireTime = event.params._expire_time
|
|
}
|
|
export function handleBurnBoost(event: BurnBoost): void {
|
|
const _tokenId = event.params._token_id
|
|
|
|
// delete
|
|
const veDelegation = getveDelegation(_tokenId.toHex())
|
|
veDelegation.amount = BigInt.zero()
|
|
}
|