diff --git a/packages/optimistic-oracle-v2/schema.graphql b/packages/optimistic-oracle-v2/schema.graphql index 832db18..32a2e95 100644 --- a/packages/optimistic-oracle-v2/schema.graphql +++ b/packages/optimistic-oracle-v2/schema.graphql @@ -79,4 +79,6 @@ type OptimisticPriceRequest @entity { bond: BigInt eventBased: Boolean + + lastUpdated: BigInt } diff --git a/packages/optimistic-oracle-v2/src/mappings/optimisticOracleV2.ts b/packages/optimistic-oracle-v2/src/mappings/optimisticOracleV2.ts index 26452bf..6995ba6 100644 --- a/packages/optimistic-oracle-v2/src/mappings/optimisticOracleV2.ts +++ b/packages/optimistic-oracle-v2/src/mappings/optimisticOracleV2.ts @@ -76,6 +76,7 @@ export function handleOptimisticRequestPrice(event: RequestPrice): void { request.requestBlockNumber = event.block.number; request.requestLogIndex = event.logIndex; request.requestHash = event.transaction.hash; + request.lastUpdated = event.block.timestamp; request.state = getState( event.address, @@ -139,6 +140,7 @@ export function handleOptimisticProposePrice(event: ProposePrice): void { request.proposalBlockNumber = event.block.number; request.proposalLogIndex = event.logIndex; request.proposalHash = event.transaction.hash; + request.lastUpdated = event.block.timestamp; request.state = getState( event.address, @@ -184,6 +186,7 @@ export function handleOptimisticDisputePrice(event: DisputePrice): void { request.disputeBlockNumber = event.block.number; request.disputeLogIndex = event.logIndex; request.disputeHash = event.transaction.hash; + request.lastUpdated = event.block.timestamp; request.state = getState( event.address, @@ -237,6 +240,7 @@ export function handleOptimisticSettle(event: Settle): void { request.settlementBlockNumber = event.block.number; request.settlementLogIndex = event.logIndex; request.settlementHash = event.transaction.hash; + request.lastUpdated = event.block.timestamp; request.state = getState( event.address, @@ -265,6 +269,7 @@ export function handleSetCustomLiveness(call: SetCustomLivenessCall): void { let request = getOrCreateOptimisticPriceRequest(requestId); request.customLiveness = call.inputs.customLiveness; + request.lastUpdated = call.block.timestamp; request.save(); } @@ -285,6 +290,7 @@ export function handleSetBond(call: SetBondCall): void { let request = getOrCreateOptimisticPriceRequest(requestId); request.bond = call.inputs.bond; + request.lastUpdated = call.block.timestamp; request.save(); } @@ -304,6 +310,7 @@ export function handleSetEventBased(call: SetEventBasedCall): void { let request = getOrCreateOptimisticPriceRequest(requestId); request.eventBased = true; + request.lastUpdated = call.block.timestamp; request.save(); } diff --git a/packages/optimistic-oracle-v2/src/utils/helpers/optimisticOracle.ts b/packages/optimistic-oracle-v2/src/utils/helpers/optimisticOracle.ts index f4f9058..142d625 100644 --- a/packages/optimistic-oracle-v2/src/utils/helpers/optimisticOracle.ts +++ b/packages/optimistic-oracle-v2/src/utils/helpers/optimisticOracle.ts @@ -17,6 +17,7 @@ export function getOrCreateOptimisticPriceRequest( request.currency = Bytes.fromI32(0); request.reward = BIGINT_ZERO; request.finalFee = BIGINT_ZERO; + request.lastUpdated = BIGINT_ZERO; } return request as OptimisticPriceRequest; diff --git a/packages/optimistic-oracle-v3/schema.graphql b/packages/optimistic-oracle-v3/schema.graphql index 6385225..7414e52 100644 --- a/packages/optimistic-oracle-v3/schema.graphql +++ b/packages/optimistic-oracle-v3/schema.graphql @@ -55,4 +55,6 @@ type Assertion @entity { settlementHash: Bytes settlementLogIndex: BigInt + + lastUpdated: BigInt } diff --git a/packages/optimistic-oracle-v3/src/mappings/optimisticOracleV3.ts b/packages/optimistic-oracle-v3/src/mappings/optimisticOracleV3.ts index 49ec8cb..89ad8c5 100644 --- a/packages/optimistic-oracle-v3/src/mappings/optimisticOracleV3.ts +++ b/packages/optimistic-oracle-v3/src/mappings/optimisticOracleV3.ts @@ -48,6 +48,7 @@ export function handleAssertionMade(event: AssertionMade): void { assertion.assertionBlockNumber = event.block.number; assertion.assertionHash = event.transaction.hash; assertion.assertionLogIndex = event.logIndex; + assertion.lastUpdated = event.block.timestamp; assertion.save(); } @@ -73,6 +74,7 @@ export function handleAssertionDisputed(event: AssertionDisputed): void { assertion.disputeBlockNumber = event.block.number; assertion.disputeLogIndex = event.logIndex; assertion.disputeHash = event.transaction.hash; + assertion.lastUpdated = event.block.timestamp; assertion.save(); } @@ -104,6 +106,7 @@ export function handleAssertionSettled(event: AssertionSettled): void { assertion.settlementBlockNumber = event.block.number; assertion.settlementLogIndex = event.logIndex; assertion.settlementHash = event.transaction.hash; + assertion.lastUpdated = event.block.timestamp; assertion.save(); } diff --git a/packages/optimistic-oracle/schema.graphql b/packages/optimistic-oracle/schema.graphql index bde86b8..5b9ff4c 100644 --- a/packages/optimistic-oracle/schema.graphql +++ b/packages/optimistic-oracle/schema.graphql @@ -73,4 +73,6 @@ type OptimisticPriceRequest @entity { settlementHash: Bytes settlementLogIndex: BigInt + + lastUpdated: BigInt } diff --git a/packages/optimistic-oracle/src/mappings/optimisticOracle.ts b/packages/optimistic-oracle/src/mappings/optimisticOracle.ts index 04d9b9e..b026106 100644 --- a/packages/optimistic-oracle/src/mappings/optimisticOracle.ts +++ b/packages/optimistic-oracle/src/mappings/optimisticOracle.ts @@ -74,6 +74,7 @@ export function handleOptimisticRequestPrice(event: RequestPrice): void { request.requestBlockNumber = event.block.number; request.requestLogIndex = event.logIndex; request.requestHash = event.transaction.hash; + request.lastUpdated = event.block.timestamp; request.state = getState( event.address, @@ -134,6 +135,7 @@ export function handleOptimisticProposePrice(event: ProposePrice): void { request.proposalBlockNumber = event.block.number; request.proposalLogIndex = event.logIndex; request.proposalHash = event.transaction.hash; + request.lastUpdated = event.block.timestamp; request.state = getState( event.address, @@ -179,6 +181,7 @@ export function handleOptimisticDisputePrice(event: DisputePrice): void { request.disputeBlockNumber = event.block.number; request.disputeLogIndex = event.logIndex; request.disputeHash = event.transaction.hash; + request.lastUpdated = event.block.timestamp; request.state = getState( event.address, @@ -232,6 +235,7 @@ export function handleOptimisticSettle(event: Settle): void { request.settlementBlockNumber = event.block.number; request.settlementLogIndex = event.logIndex; request.settlementHash = event.transaction.hash; + request.lastUpdated = event.block.timestamp; request.state = getState( event.address, @@ -260,6 +264,7 @@ export function handleSetBond(call: SetBondCall): void { let request = getOrCreateOptimisticPriceRequest(requestId); request.finalFee = call.outputs.totalBond; + request.lastUpdated = call.block.timestamp; request.save(); } diff --git a/packages/skinny-optimistic-oracle/schema.graphql b/packages/skinny-optimistic-oracle/schema.graphql index cead771..e68e226 100644 --- a/packages/skinny-optimistic-oracle/schema.graphql +++ b/packages/skinny-optimistic-oracle/schema.graphql @@ -77,4 +77,6 @@ type OptimisticPriceRequest @entity { customLiveness: BigInt bond: BigInt + + lastUpdated: BigInt } diff --git a/packages/skinny-optimistic-oracle/src/mappings/skinnyOptimisticOracle.ts b/packages/skinny-optimistic-oracle/src/mappings/skinnyOptimisticOracle.ts index 7951769..ef873ee 100644 --- a/packages/skinny-optimistic-oracle/src/mappings/skinnyOptimisticOracle.ts +++ b/packages/skinny-optimistic-oracle/src/mappings/skinnyOptimisticOracle.ts @@ -85,6 +85,7 @@ export function handleOptimisticRequestPrice(event: RequestPrice): void { request.requestHash = event.transaction.hash; request.bond = event.params.request.bond; request.customLiveness = event.params.request.customLiveness; + request.lastUpdated = event.block.timestamp; request.state = getState( event.address, @@ -129,6 +130,7 @@ export function handleOptimisticProposePrice(event: ProposePrice): void { request.proposalBlockNumber = event.block.number; request.proposalLogIndex = event.logIndex; request.proposalHash = event.transaction.hash; + request.lastUpdated = event.block.timestamp; request.state = getState( event.address, @@ -171,6 +173,7 @@ export function handleOptimisticDisputePrice(event: DisputePrice): void { request.disputeBlockNumber = event.block.number; request.disputeLogIndex = event.logIndex; request.disputeHash = event.transaction.hash; + request.lastUpdated = event.block.timestamp; request.state = getState( event.address, @@ -222,6 +225,7 @@ export function handleOptimisticSettle(event: Settle): void { request.settlementBlockNumber = event.block.number; request.settlementLogIndex = event.logIndex; request.settlementHash = event.transaction.hash; + request.lastUpdated = event.block.timestamp; request.state = getState( event.address,