Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
19 changes: 19 additions & 0 deletions abis/BondingManager.json
Original file line number Diff line number Diff line change
Expand Up @@ -820,6 +820,25 @@
"name": "Reward",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "address",
"name": "transcoder",
"type": "address"
},
{
"indexed": true,
"internalType": "address",
"name": "rewardCaller",
"type": "address"
}
],
"name": "RewardCallerSet",
"type": "event"
},
{
"anonymous": false,
"inputs": [
Expand Down
2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@livepeer/subgraph",
"version": "1.3.3",
"version": "1.4.0",
"license": "MIT",
"scripts": {
"prepare": "yarn prepare:arbitrum-one && yarn codegen && yarn codegen:typechain",
Expand Down
20 changes: 20 additions & 0 deletions schema.graphql
Original file line number Diff line number Diff line change
Expand Up @@ -106,6 +106,8 @@ type Transcoder @entity {
delegator: Delegator
"Service URI endpoint that can be used to send off-chain requests"
serviceURI: String
"Address delegated to call reward on the transcoder's behalf - null if unset"
rewardCaller: String
"Days which the transcoder earned fees"
transcoderDays: [TranscoderDay!]!
}
Expand Down Expand Up @@ -586,6 +588,24 @@ type RewardEvent implements Event @entity {
delegate: Transcoder!
}

"""
RewardCallerSetEvent entities are created for every emitted RewardCallerSet event.
"""
type RewardCallerSetEvent implements Event @entity {
"Ethereum transaction hash + event log index"
id: ID!
"Reference to the transaction the event was included in"
transaction: Transaction!
"Timestamp of the transaction the event was included in"
timestamp: Int!
"Reference to the round the event occured in"
Comment thread
rickstaa marked this conversation as resolved.
round: Round!
"Reference to the transcoder that set the reward caller"
delegate: Transcoder!
"Address authorized to call reward - the zero address when unset"
rewardCaller: String!
}

"""
TranscoderActivatedEvent entities are created for every emitted TranscoderActivated event.
"""
Expand Down
30 changes: 30 additions & 0 deletions src/mappings/bondingManager.ts
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,7 @@ import {
ParameterUpdate,
Rebond,
Reward,
RewardCallerSet,
TranscoderActivated,
TranscoderDeactivated,
TranscoderSlashed,
Expand All @@ -37,6 +38,7 @@ import {
EarningsClaimedEvent,
ParameterUpdateEvent,
RebondEvent,
RewardCallerSetEvent,
RewardEvent,
TranscoderActivatedEvent,
TranscoderDeactivatedEvent,
Expand Down Expand Up @@ -574,6 +576,34 @@ export function transcoderUpdate(event: TranscoderUpdate): void {
transcoderUpdateEvent.save();
}

export function rewardCallerSet(event: RewardCallerSet): void {
let round = createOrLoadRound(getBlockNum());
let transcoder = createOrLoadTranscoder(
event.params.transcoder.toHex(),
event.block.timestamp.toI32()
);

// The zero address unsets the reward caller
if (event.params.rewardCaller.toHex() == EMPTY_ADDRESS.toHex()) {
transcoder.rewardCaller = null;
} else {
transcoder.rewardCaller = event.params.rewardCaller.toHex();
}
transcoder.save();

createOrLoadTransactionFromEvent(event);

let rewardCallerSetEvent = new RewardCallerSetEvent(
makeEventId(event.transaction.hash, event.logIndex)
);
rewardCallerSetEvent.transaction = event.transaction.hash.toHex();
rewardCallerSetEvent.timestamp = event.block.timestamp.toI32();
rewardCallerSetEvent.round = round.id;
rewardCallerSetEvent.delegate = event.params.transcoder.toHex();
rewardCallerSetEvent.rewardCaller = event.params.rewardCaller.toHex();
rewardCallerSetEvent.save();
}

export function transcoderActivated(event: TranscoderActivated): void {
let round = createOrLoadRound(getBlockNum());
let transcoder = createOrLoadTranscoder(
Expand Down
3 changes: 3 additions & 0 deletions subgraph.template.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,7 @@ dataSources:
- Pool
- Protocol
- RebondEvent
- RewardCallerSetEvent
- RewardEvent
- Transaction
- Transcoder
Expand Down Expand Up @@ -61,6 +62,8 @@ dataSources:
handler: withdrawStake
- event: Reward(indexed address,uint256)
handler: reward
- event: RewardCallerSet(indexed address,indexed address)
handler: rewardCallerSet
- event: WithdrawFees(indexed address,address,uint256)
handler: withdrawFees
- event: ParameterUpdate(string)
Expand Down