mirror of
https://github.com/oceanprotocol/ocean-subgraph.git
synced 2024-12-02 05:57:29 +01:00
Fix poolSnapshot and fixed rate balance (#357)
* fix * fix lint * fix import
This commit is contained in:
parent
5918c8b035
commit
48ba47be52
1
package-lock.json
generated
1
package-lock.json
generated
@ -5,7 +5,6 @@
|
||||
"requires": true,
|
||||
"packages": {
|
||||
"": {
|
||||
"name": "ocean-subgraph",
|
||||
"version": "1.2.0",
|
||||
"license": "Apache-2.0",
|
||||
"dependencies": {
|
||||
|
@ -1,4 +1,3 @@
|
||||
import { log } from '@graphprotocol/graph-ts'
|
||||
import { NFTCreated, TokenCreated } from '../@types/ERC721Factory/ERC721Factory'
|
||||
import { decimal } from './utils/constants'
|
||||
import { weiToDecimal } from './utils/generic'
|
||||
@ -8,7 +7,6 @@ import { getToken, getNftToken } from './utils/tokenUtils'
|
||||
import { addDatatoken } from './utils/globalUtils'
|
||||
|
||||
export function handleNftCreated(event: NFTCreated): void {
|
||||
log.warning('nft handleNftCreated {}', [event.params.tokenURI.toString()])
|
||||
// const nft = new Nft(event.params.newTokenAddress.toHexString())
|
||||
const nft = getNftToken(event.params.newTokenAddress)
|
||||
const user = getUser(event.params.admin.toHexString())
|
||||
|
@ -7,7 +7,8 @@ import {
|
||||
ExchangeMintStateChanged,
|
||||
ExchangeRateChanged,
|
||||
Swapped,
|
||||
PublishMarketFeeChanged
|
||||
PublishMarketFeeChanged,
|
||||
TokenCollected
|
||||
} from '../@types/templates/FixedRateExchange/FixedRateExchange'
|
||||
import {
|
||||
FixedRateExchange,
|
||||
@ -218,3 +219,21 @@ export function handlePublishMarketFeeChanged(
|
||||
fixedRateExchange.save()
|
||||
}
|
||||
}
|
||||
|
||||
export function handleTokenCollected(event: TokenCollected): void {
|
||||
const fixedRateId = getFixedRateGraphID(
|
||||
event.params.exchangeId.toHexString(),
|
||||
event.address
|
||||
)
|
||||
const fixedRateExchange = getFixedRateExchange(fixedRateId)
|
||||
|
||||
if (event.params.token.toHexString() == fixedRateExchange.baseToken) {
|
||||
const baseToken = getToken(event.params.token, false)
|
||||
fixedRateExchange.baseTokenBalance =
|
||||
fixedRateExchange.baseTokenBalance.minus(
|
||||
weiToDecimal(event.params.amount.toBigDecimal(), baseToken.decimals)
|
||||
)
|
||||
|
||||
fixedRateExchange.save()
|
||||
}
|
||||
}
|
||||
|
@ -36,7 +36,7 @@ export function handleJoin(event: LOG_JOIN): void {
|
||||
pool.joinCount = pool.joinCount.plus(integer.ONE)
|
||||
|
||||
// get token, update pool transaction, poolSnapshot
|
||||
const poolSnapshot = getPoolSnapshot(pool.id, event.block.timestamp.toI32())
|
||||
|
||||
const token = getToken(event.params.tokenIn, false)
|
||||
const ammount = weiToDecimal(
|
||||
event.params.tokenAmountIn.toBigDecimal(),
|
||||
@ -45,24 +45,36 @@ export function handleJoin(event: LOG_JOIN): void {
|
||||
if (token.isDatatoken) {
|
||||
poolTx.datatoken = token.id
|
||||
poolTx.datatokenValue = ammount
|
||||
if (pool.isFinalized) {
|
||||
const poolSnapshot = getPoolSnapshot(
|
||||
pool.id,
|
||||
event.block.timestamp.toI32()
|
||||
)
|
||||
poolSnapshot.datatokenLiquidity =
|
||||
poolSnapshot.datatokenLiquidity.plus(ammount)
|
||||
|
||||
poolSnapshot.datatokenLiquidity =
|
||||
poolSnapshot.datatokenLiquidity.plus(ammount)
|
||||
poolSnapshot.save()
|
||||
}
|
||||
|
||||
pool.datatokenLiquidity = pool.datatokenLiquidity.plus(ammount)
|
||||
} else {
|
||||
poolTx.baseToken = token.id
|
||||
poolTx.baseTokenValue = ammount
|
||||
|
||||
poolSnapshot.baseTokenLiquidity =
|
||||
poolSnapshot.baseTokenLiquidity.plus(ammount)
|
||||
|
||||
if (pool.isFinalized) {
|
||||
const poolSnapshot = getPoolSnapshot(
|
||||
pool.id,
|
||||
event.block.timestamp.toI32()
|
||||
)
|
||||
poolSnapshot.baseTokenLiquidity =
|
||||
poolSnapshot.baseTokenLiquidity.plus(ammount)
|
||||
poolSnapshot.save()
|
||||
}
|
||||
pool.baseTokenLiquidity = pool.baseTokenLiquidity.plus(ammount)
|
||||
|
||||
addLiquidity(token.id, ammount)
|
||||
}
|
||||
|
||||
poolSnapshot.save()
|
||||
poolTx.save()
|
||||
pool.save()
|
||||
}
|
||||
@ -225,15 +237,19 @@ export function handleSetup(event: LOG_SETUP): void {
|
||||
poolTx.type = PoolTransactionType.SETUP
|
||||
poolTx.baseToken = token.id
|
||||
poolTx.datatoken = datatoken.id
|
||||
pool.save()
|
||||
poolTx.save()
|
||||
|
||||
const poolSnapshot = getPoolSnapshot(pool.id, event.block.timestamp.toI32())
|
||||
poolSnapshot.spotPrice = spotPrice
|
||||
poolSnapshot.baseTokenLiquidity = pool.baseTokenLiquidity
|
||||
poolSnapshot.datatokenLiquidity = pool.datatokenLiquidity
|
||||
poolSnapshot.totalShares = pool.totalShares
|
||||
|
||||
poolTx.save()
|
||||
poolSnapshot.save()
|
||||
const globalStats = getGlobalStats()
|
||||
globalStats.poolCount = globalStats.poolCount + 1
|
||||
globalStats.save()
|
||||
pool.save()
|
||||
datatoken.save()
|
||||
}
|
||||
|
||||
@ -243,10 +259,6 @@ export function handlerBptTransfer(event: Transfer): void {
|
||||
const poolAddress = event.address.toHex()
|
||||
const caller = getUser(event.transaction.from.toHex())
|
||||
const poolTx = getPoolTransaction(event, caller.id, PoolTransactionType.SWAP)
|
||||
const poolSnapshot = getPoolSnapshot(
|
||||
poolAddress,
|
||||
event.block.timestamp.toI32()
|
||||
)
|
||||
|
||||
// btoken has 18 decimals
|
||||
const ammount = weiToDecimal(event.params.amt.toBigDecimal(), 18)
|
||||
@ -261,7 +273,15 @@ export function handlerBptTransfer(event: Transfer): void {
|
||||
pool.totalShares = pool.totalShares.plus(ammount)
|
||||
|
||||
// check tx?
|
||||
poolSnapshot.totalShares = pool.totalShares
|
||||
if (pool.isFinalized) {
|
||||
const poolSnapshot = getPoolSnapshot(
|
||||
poolAddress,
|
||||
event.block.timestamp.toI32()
|
||||
)
|
||||
poolSnapshot.totalShares = pool.totalShares
|
||||
poolSnapshot.save()
|
||||
}
|
||||
|
||||
pool.save()
|
||||
} else {
|
||||
if (poolAddress != fromAddress) {
|
||||
@ -275,7 +295,14 @@ export function handlerBptTransfer(event: Transfer): void {
|
||||
// remove
|
||||
const pool = getPool(poolAddress)
|
||||
pool.totalShares = pool.totalShares.minus(ammount)
|
||||
poolSnapshot.totalShares = pool.totalShares
|
||||
if (pool.isFinalized) {
|
||||
const poolSnapshot = getPoolSnapshot(
|
||||
poolAddress,
|
||||
event.block.timestamp.toI32()
|
||||
)
|
||||
poolSnapshot.totalShares = pool.totalShares
|
||||
poolSnapshot.save()
|
||||
}
|
||||
pool.save()
|
||||
} else {
|
||||
if (poolAddress != toAddress) {
|
||||
@ -286,7 +313,6 @@ export function handlerBptTransfer(event: Transfer): void {
|
||||
}
|
||||
|
||||
poolTx.save()
|
||||
poolSnapshot.save()
|
||||
}
|
||||
|
||||
export function handlePublishMarketFeeChanged(
|
||||
|
@ -99,7 +99,6 @@ export function createPoolSnapshot(
|
||||
const snapshotId = getPoolSnapshotId(poolAddress, timestamp)
|
||||
|
||||
const pool = getPool(poolAddress)
|
||||
|
||||
const snapshot = new PoolSnapshot(snapshotId)
|
||||
|
||||
snapshot.pool = poolAddress
|
||||
|
@ -28,7 +28,7 @@ dataSources:
|
||||
handler: handleNftCreated
|
||||
- event: TokenCreated(indexed address,indexed address,string,string,uint256,address)
|
||||
handler: handleNewToken
|
||||
|
||||
|
||||
- kind: ethereum/contract
|
||||
name: FactoryRouter
|
||||
network: __NETWORK__
|
||||
@ -71,7 +71,6 @@ dataSources:
|
||||
handler: handleDispenserContractRemoved
|
||||
|
||||
templates:
|
||||
|
||||
- name: ERC20Template
|
||||
kind: ethereum/contract
|
||||
network: __NETWORK__
|
||||
@ -262,7 +261,9 @@ templates:
|
||||
handler: handleSwap
|
||||
- event: PublishMarketFeeChanged(indexed bytes32,address,address,uint256)
|
||||
handler: handlePublishMarketFeeChanged
|
||||
|
||||
- event: TokenCollected(indexed bytes32,indexed address,indexed address,uint256)
|
||||
handler: handleTokenCollected
|
||||
|
||||
- name: SSContract
|
||||
kind: ethereum/contract
|
||||
network: __NETWORK__
|
||||
@ -277,9 +278,9 @@ templates:
|
||||
- SSContract
|
||||
abis:
|
||||
- name: SSContract
|
||||
file: ./node_modules/@oceanprotocol/contracts/artifacts/contracts/pools/ssContracts/SideStaking.sol/SideStaking.json
|
||||
file: ./node_modules/@oceanprotocol/contracts/artifacts/contracts/pools/ssContracts/SideStaking.sol/SideStaking.json
|
||||
eventHandlers:
|
||||
- event: VestingCreated(indexed address,indexed address,uint256,uint256)
|
||||
handler: handleVestingCreated
|
||||
- event: Vesting(indexed address,indexed address,indexed address,uint256)
|
||||
handler: handleVesting
|
||||
handler: handleVesting
|
||||
|
266
subgraph.yaml
Normal file
266
subgraph.yaml
Normal file
@ -0,0 +1,266 @@
|
||||
specVersion: 0.0.3
|
||||
description: Ocean provides data sharing through IDOs
|
||||
repository: https://github.com/oceanprotocol/ocean-subgraph
|
||||
schema:
|
||||
file: ./schema.graphql
|
||||
dataSources:
|
||||
- kind: ethereum/contract
|
||||
name: ERC721Factory
|
||||
network: rinkeby
|
||||
source:
|
||||
address: '0x1b1FE18bE79249AE8A30b3cEef03d70ca299a75b'
|
||||
abi: ERC721Factory
|
||||
startBlock: 10182337
|
||||
mapping:
|
||||
kind: ethereum/events
|
||||
apiVersion: 0.0.6
|
||||
language: wasm/assemblyscript
|
||||
file: ./src/mappings/erc721Factory.ts
|
||||
entities:
|
||||
- ERC721Factory
|
||||
abis:
|
||||
- name: ERC721Factory
|
||||
file: ./node_modules/@oceanprotocol/contracts/artifacts/contracts/ERC721Factory.sol/ERC721Factory.json
|
||||
- name: ERC20
|
||||
file: ./abis/ERC20.json
|
||||
eventHandlers:
|
||||
- event: NFTCreated(indexed address,indexed address,string,address,string,string)
|
||||
handler: handleNftCreated
|
||||
- event: TokenCreated(indexed address,indexed address,string,string,uint256,address)
|
||||
handler: handleNewToken
|
||||
|
||||
- kind: ethereum/contract
|
||||
name: FactoryRouter
|
||||
network: rinkeby
|
||||
source:
|
||||
address: '0x6CE85a8B9dF0aEbd6deE3593d4E9cde7398ff842'
|
||||
abi: FactoryRouter
|
||||
startBlock: 10182337
|
||||
mapping:
|
||||
kind: ethereum/events
|
||||
apiVersion: 0.0.6
|
||||
language: wasm/assemblyscript
|
||||
file: ./src/mappings/factoryRouter.ts
|
||||
entities:
|
||||
- FactoryRouter
|
||||
abis:
|
||||
- name: FactoryRouter
|
||||
file: ./node_modules/@oceanprotocol/contracts/artifacts/contracts/pools/FactoryRouter.sol/FactoryRouter.json
|
||||
- name: ERC20
|
||||
file: ./abis/ERC20.json
|
||||
eventHandlers:
|
||||
- event: NewPool(indexed address,bool)
|
||||
handler: handleNewPool
|
||||
- event: TokenAdded(indexed address,indexed address)
|
||||
handler: handleTokenAdded
|
||||
- event: TokenRemoved(indexed address,indexed address)
|
||||
handler: handleTokenRemoved
|
||||
- event: OPCFeeChanged(indexed address,uint256,uint256,uint256,uint256)
|
||||
handler: handleOPCFeeChanged
|
||||
- event: SSContractAdded(indexed address,indexed address)
|
||||
handler: handleSSContractAdded
|
||||
- event: SSContractRemoved(indexed address,indexed address)
|
||||
handler: handleSSContractRemoved
|
||||
- event: FixedRateContractAdded(indexed address,indexed address)
|
||||
handler: handleFixedRateContractAdded
|
||||
- event: FixedRateContractRemoved(indexed address,indexed address)
|
||||
handler: handleFixedRateContractRemoved
|
||||
- event: DispenserContractAdded(indexed address,indexed address)
|
||||
handler: handleDispenserContractAdded
|
||||
- event: DispenserContractRemoved(indexed address,indexed address)
|
||||
handler: handleDispenserContractRemoved
|
||||
|
||||
templates:
|
||||
|
||||
- name: ERC20Template
|
||||
kind: ethereum/contract
|
||||
network: rinkeby
|
||||
source:
|
||||
abi: ERC20Template
|
||||
mapping:
|
||||
kind: ethereum/events
|
||||
apiVersion: 0.0.6
|
||||
language: wasm/assemblyscript
|
||||
file: ./src/mappings/erc20Templates.ts
|
||||
entities:
|
||||
- ERC20Template
|
||||
abis:
|
||||
- name: ERC20Template
|
||||
file: ./node_modules/@oceanprotocol/contracts/artifacts/contracts/templates/ERC20Template.sol/ERC20Template.json
|
||||
- name: ERC20TemplateEnterprise
|
||||
file: ./node_modules/@oceanprotocol/contracts/artifacts/contracts/templates/ERC20TemplateEnterprise.sol/ERC20TemplateEnterprise.json
|
||||
- name: ERC20
|
||||
file: ./abis/ERC20.json
|
||||
- name: ERC20Roles
|
||||
file: ./node_modules/@oceanprotocol/contracts/artifacts/contracts/utils/ERC20Roles.sol/ERC20Roles.json
|
||||
eventHandlers:
|
||||
- event: OrderStarted(indexed address,address,uint256,uint256,uint256,indexed address,uint256)
|
||||
handler: handleOrderStarted
|
||||
- event: NewPaymentCollector(indexed address,indexed address,uint256,uint256)
|
||||
handler: handleNewPaymentCollector
|
||||
- event: PublishMarketFee(indexed address,indexed address,uint256)
|
||||
handler: handlePublishMarketFee
|
||||
- event: PublishMarketFeeChanged(address,address,address,uint256)
|
||||
handler: handlePublishMarketFeeChanged
|
||||
- event: AddedMinter(indexed address,indexed address,uint256,uint256)
|
||||
handler: handleAddedMinter
|
||||
- event: AddedPaymentManager(indexed address,indexed address,uint256,uint256)
|
||||
handler: handleAddedPaymentManager
|
||||
- event: RemovedMinter(indexed address,indexed address,uint256,uint256)
|
||||
handler: handleRemovedMinter
|
||||
- event: RemovedPaymentManager(indexed address,indexed address,uint256,uint256)
|
||||
handler: handleRemovedPaymentManager
|
||||
- event: CleanedPermissions(indexed address,uint256,uint256)
|
||||
handler: handleCleanedPermissions
|
||||
|
||||
- name: BPool
|
||||
kind: ethereum/contract
|
||||
network: rinkeby
|
||||
source:
|
||||
abi: BPool
|
||||
mapping:
|
||||
kind: ethereum/events
|
||||
apiVersion: 0.0.6
|
||||
language: wasm/assemblyscript
|
||||
file: ./src/mappings/pool.ts
|
||||
entities:
|
||||
- BPool
|
||||
abis:
|
||||
- name: BPool
|
||||
file: ./node_modules/@oceanprotocol/contracts/artifacts/contracts/pools/balancer/BPool.sol/BPool.json
|
||||
- name: BToken
|
||||
file: ./node_modules/@oceanprotocol/contracts/artifacts/contracts/pools/balancer/BToken.sol/BToken.json
|
||||
- name: BMath
|
||||
file: ./node_modules/@oceanprotocol/contracts/artifacts/contracts/pools/balancer/BMath.sol/BMath.json
|
||||
- name: ERC20
|
||||
file: ./abis/ERC20.json
|
||||
eventHandlers:
|
||||
- event: LOG_SWAP(indexed address,indexed address,indexed address,uint256,uint256,uint256)
|
||||
handler: handleSwap
|
||||
- event: LOG_JOIN(indexed address,indexed address,uint256,uint256)
|
||||
handler: handleJoin
|
||||
- event: LOG_EXIT(indexed address,indexed address,uint256,uint256)
|
||||
handler: handleExit
|
||||
- event: LOG_SETUP(indexed address,indexed address,uint256,uint256,indexed address,uint256,uint256)
|
||||
handler: handleSetup
|
||||
- event: Transfer(indexed address,indexed address,uint256)
|
||||
handler: handlerBptTransfer
|
||||
- event: PublishMarketFeeChanged(address,address,uint256)
|
||||
handler: handlePublishMarketFeeChanged
|
||||
- event: SwapFeeChanged(address,uint256)
|
||||
handler: handleSwapFeeChanged
|
||||
|
||||
- name: ERC721Template
|
||||
kind: ethereum/contract
|
||||
network: rinkeby
|
||||
source:
|
||||
abi: ERC721Template
|
||||
mapping:
|
||||
kind: ethereum/events
|
||||
apiVersion: 0.0.6
|
||||
language: wasm/assemblyscript
|
||||
file: ./src/mappings/nftUpdate.ts
|
||||
entities:
|
||||
- ERC721Template
|
||||
abis:
|
||||
- name: ERC721Template
|
||||
file: ./node_modules/@oceanprotocol/contracts/artifacts/contracts/templates/ERC721Template.sol/ERC721Template.json
|
||||
- name: ERC721RolesAddress
|
||||
file: ./node_modules/@oceanprotocol/contracts/artifacts/contracts/utils/ERC721RolesAddress.sol/ERC721RolesAddress.json
|
||||
- name: ERC20
|
||||
file: ./abis/ERC20.json
|
||||
eventHandlers:
|
||||
- event: MetadataCreated(indexed address,uint8,string,bytes,bytes,bytes32,uint256,uint256)
|
||||
handler: handleMetadataCreated
|
||||
- event: MetadataUpdated(indexed address,uint8,string,bytes,bytes,bytes32,uint256,uint256)
|
||||
handler: handleMetadataUpdated
|
||||
- event: MetadataState(indexed address,uint8,uint256,uint256)
|
||||
handler: handleMetadataState
|
||||
- event: TokenURIUpdate(indexed address,string,uint256,uint256,uint256)
|
||||
handler: handleTokenUriUpdate
|
||||
- event: AddedManager(indexed address,indexed address,uint256,uint256)
|
||||
handler: handleAddedManager
|
||||
- event: AddedTo725StoreList(indexed address,indexed address,uint256,uint256)
|
||||
handler: handleAddedTo725StoreList
|
||||
- event: AddedToCreateERC20List(indexed address,indexed address,uint256,uint256)
|
||||
handler: handleAddedToCreateERC20List
|
||||
- event: AddedToMetadataList(indexed address,indexed address,uint256,uint256)
|
||||
handler: handleAddedToMetadataList
|
||||
- event: RemovedFrom725StoreList(indexed address,indexed address,uint256,uint256)
|
||||
handler: handleRemovedFrom725StoreList
|
||||
- event: RemovedFromCreateERC20List(indexed address,indexed address,uint256,uint256)
|
||||
handler: handleRemovedFromCreateERC20List
|
||||
- event: RemovedFromMetadataList(indexed address,indexed address,uint256,uint256)
|
||||
handler: handleRemovedFromMetadataList
|
||||
- event: RemovedManager(indexed address,indexed address,uint256,uint256)
|
||||
handler: handleRemovedManager
|
||||
- event: CleanedPermissions(indexed address,uint256,uint256)
|
||||
handler: handleCleanedPermissions
|
||||
|
||||
- name: Dispenser
|
||||
kind: ethereum/contract
|
||||
network: rinkeby
|
||||
source:
|
||||
abi: Dispenser
|
||||
mapping:
|
||||
kind: ethereum/events
|
||||
apiVersion: 0.0.6
|
||||
language: wasm/assemblyscript
|
||||
file: ./src/mappings/dispenser.ts
|
||||
entities:
|
||||
- Dispenser
|
||||
abis:
|
||||
- name: Dispenser
|
||||
file: ./node_modules/@oceanprotocol/contracts/artifacts/contracts/pools/dispenser/Dispenser.sol/Dispenser.json
|
||||
- name: ERC20
|
||||
file: ./abis/ERC20.json
|
||||
eventHandlers:
|
||||
- event: DispenserCreated(indexed address,indexed address,uint256,uint256,address)
|
||||
handler: handleNewDispenser
|
||||
- event: DispenserActivated(indexed address)
|
||||
handler: handleActivate
|
||||
- event: DispenserDeactivated(indexed address)
|
||||
handler: handleDeactivate
|
||||
- event: DispenserAllowedSwapperChanged(indexed address,indexed address)
|
||||
handler: handleAllowedSwapperChanged
|
||||
- event: TokensDispensed(indexed address,indexed address,uint256)
|
||||
handler: handleTokensDispensed
|
||||
- event: OwnerWithdrawed(indexed address,indexed address,uint256)
|
||||
handler: handleOwnerWinthdraw
|
||||
|
||||
- name: FixedRateExchange
|
||||
kind: ethereum/contract
|
||||
network: rinkeby
|
||||
source:
|
||||
abi: FixedRateExchange
|
||||
mapping:
|
||||
kind: ethereum/events
|
||||
apiVersion: 0.0.6
|
||||
language: wasm/assemblyscript
|
||||
file: ./src/mappings/fixedRateExchange.ts
|
||||
entities:
|
||||
- FixedRateExchange
|
||||
abis:
|
||||
- name: FixedRateExchange
|
||||
file: ./node_modules/@oceanprotocol/contracts/artifacts/contracts/pools/fixedRate/FixedRateExchange.sol/FixedRateExchange.json
|
||||
- name: ERC20
|
||||
file: ./abis/ERC20.json
|
||||
eventHandlers:
|
||||
- event: ExchangeCreated(indexed bytes32,indexed address,indexed address,address,uint256)
|
||||
handler: handleExchangeCreated
|
||||
- event: ExchangeRateChanged(indexed bytes32,indexed address,uint256)
|
||||
handler: handleRateChange
|
||||
- event: ExchangeMintStateChanged(indexed bytes32,indexed address,bool)
|
||||
handler: handleMintStateChanged
|
||||
- event: ExchangeActivated(indexed bytes32,indexed address)
|
||||
handler: handleActivated
|
||||
- event: ExchangeDeactivated(indexed bytes32,indexed address)
|
||||
handler: handleDeactivated
|
||||
- event: ExchangeAllowedSwapperChanged(indexed bytes32,indexed address)
|
||||
handler: handleAllowedSwapperChanged
|
||||
- event: Swapped(indexed bytes32,indexed address,uint256,uint256,address,uint256,uint256,uint256)
|
||||
handler: handleSwap
|
||||
- event: PublishMarketFeeChanged(indexed bytes32,address,address,uint256)
|
||||
handler: handlePublishMarketFeeChanged
|
||||
- event: TokenCollected(indexed bytes32,indexed address,indexed address,uint256)
|
||||
handler: handleTokenCollected
|
Loading…
Reference in New Issue
Block a user