add reuse order (#444)

* add reuse order

* fix lint

* add yaml to gitignore

* delete yaml
pull/446/head
mihaisc 6 months ago committed by GitHub
parent ebecf1f423
commit 90f7e6482f
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
  1. 3
      .gitignore
  2. 1
      package-lock.json
  3. 10
      schema.graphql
  4. 25
      src/mappings/erc20Templates.ts
  5. 2
      subgraph.template.yaml
  6. 265
      subgraph.yaml

3
.gitignore vendored

@ -67,4 +67,5 @@ typings/
.next
# auto generated barge yaml
subgraph.barge.yaml
subgraph.barge.yaml
subgraph.yaml

1
package-lock.json generated

@ -5,7 +5,6 @@
"requires": true,
"packages": {
"": {
"name": "ocean-subgraph",
"version": "1.2.0",
"license": "Apache-2.0",
"dependencies": {

@ -242,6 +242,14 @@ type PoolTransaction @entity {
datatokenValue: BigDecimal
}
type OrderReuse @entity {
id: ID!
order: Order!
caller: String!
createdTimestamp: BigInt!
tx: String!
block: BigInt!
}
type Order @entity {
"transaction hash - token address - from address"
id: ID!
@ -262,6 +270,8 @@ type Order @entity {
consumerMarketToken: Token #
consumerMarketAmmount: BigDecimal #call contract to get fee amount
reuses: [OrderReuse!] @derivedFrom(field: "order")
createdTimestamp: Int!
tx: String!
block: Int!

@ -1,4 +1,4 @@
import { Order, Nft } from '../@types/schema'
import { Order, Nft, OrderReuse } from '../@types/schema'
import { BigInt } from '@graphprotocol/graph-ts'
import {
NewPaymentCollector,
@ -9,7 +9,8 @@ import {
AddedPaymentManager,
RemovedMinter,
RemovedPaymentManager,
CleanedPermissions
CleanedPermissions,
OrderReused
} from '../@types/templates/ERC20Template/ERC20Template'
import { integer } from './utils/constants'
@ -85,6 +86,26 @@ export function handleOrderStarted(event: OrderStarted): void {
}
}
export function handlerOrderReused(event: OrderReused): void {
const orderId = getOrderId(
event.params.orderTxId.toHexString(),
event.address.toHex(),
event.params.caller.toHex()
)
const order = Order.load(orderId)
if (!order) return
const reuseOrder = new OrderReuse(event.transaction.hash.toHex())
reuseOrder.order = orderId
reuseOrder.caller = event.params.caller.toHexString()
reuseOrder.createdTimestamp = event.params.timestamp
reuseOrder.tx = event.transaction.hash.toHex()
reuseOrder.block = event.params.number
reuseOrder.save()
}
export function handlePublishMarketFee(event: PublishMarketFee): void {}
export function handlePublishMarketFeeChanged(
event: PublishMarketFeeChanged

@ -95,6 +95,8 @@ templates:
eventHandlers:
- event: OrderStarted(indexed address,address,uint256,uint256,uint256,indexed address,uint256)
handler: handleOrderStarted
- event: OrderReused(bytes32,address,uint256,uint256)
handler: handlerOrderReused
- event: NewPaymentCollector(indexed address,indexed address,uint256,uint256)
handler: handleNewPaymentCollector
- event: PublishMarketFee(indexed address,indexed address,uint256)

@ -1,265 +0,0 @@
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: development
source:
address: '0x2f7a30F120f0B7799C8900144eC6d8E4fBbc90ec'
abi: ERC721Factory
startBlock: 1119
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(address,indexed address,string,indexed address,string,string,bool,indexed address)
handler: handleNftCreated
- event: TokenCreated(indexed address,indexed address,string,string,uint256,address)
handler: handleNewToken
- kind: ethereum/contract
name: FactoryRouter
network: development
source:
address: '0x375B009326A0938B8c325Bc2d402a16fe0fBB402'
abi: FactoryRouter
startBlock: 1119
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: development
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: development
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,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: development
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: development
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: development
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…
Cancel
Save