Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

chore: SAM deployments #961

Merged
merged 9 commits into from
Jun 21, 2024
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
38 changes: 19 additions & 19 deletions packages/contracts/addresses-staging.json
Original file line number Diff line number Diff line change
Expand Up @@ -203,6 +203,25 @@
"runtimeCodeHash": "0xd853da2001c213dd00d674114c254f18a7b5a36aabc5452fb492b9b4faf2faa9",
"txHash": "0xf868871475dc711c5c03818b16a922f740bc2fc314d24586df2255161a907422"
}
},
"SubgraphAvailabilityManager": {
"address": "0xF00AA63f1a8eE67BAD135759eC7a6542b1d56a8f",
"constructorArgs": [
"0x72ee30d43Fb5A90B3FE983156C5d2fBE6F6d07B3",
"0x00b9d319E3D09E83c62f453B44354049Dd93a345",
"3",
"300",
[
"0xb4d396a40BB976118Bb2c9DB9C5539e65c7Fe64A",
"0x633259dB4A33DB664d4C3Fa57BEc45E5030131E2",
"0x9FC436A69E290227b99A9CE0468a1b9D73068E80",
"0xC9b90ab0B9cA63fDBfB46f66BE813ea94561614d",
"0xf3B8F917EcFA569089CF6A0988F9a9F5155cEF83"
]
],
"creationCodeHash": "0xc34842fa42ee2f21e3a435b52fa69a122a5de795448faa890fbc63d4838f45da",
"runtimeCodeHash": "0xe6c0ccd0b0514dd55e58806b1c84f09805dd6202985722579c11d7e252df6b8d",
"txHash": "0x5c1dd91c76e547fe31a5df822353b50e93eb795b915aac0ea8f8364229e9c29c"
}
},
"11155111": {
Expand Down Expand Up @@ -424,25 +443,6 @@
"runtimeCodeHash": "0x3cb8a7336234c7826c8f5a437ad2c6615c2e4b4201096a49cb6876264ac47182",
"txHash": "0xf0765b7fe12702a7de3644bb1bcd6549bce1b8b738f2136e94bf39d10521b3e3"
}
},
"SubgraphAvailabilityManager": {
"address": "0x8fa39178Bdf76aca23635FF343BeeED7aA1D45ec",
"constructorArgs": [
"0x559081D91F5Ff43dfE51A07C216F8E6893805B35",
"0x9a86322dEa5136C74ee6d1b06F4Ab9A6bB2724E0",
"5",
"300",
[
"0x840daec5dF962D49cf2EFd789c4E40A7b7e0117D",
"0x840daec5dF962D49cf2EFd789c4E40A7b7e0117D",
"0x840daec5dF962D49cf2EFd789c4E40A7b7e0117D",
"0x840daec5dF962D49cf2EFd789c4E40A7b7e0117D",
"0x840daec5dF962D49cf2EFd789c4E40A7b7e0117D"
]
],
"creationCodeHash": "0x70ff001c11d5120782503f0d129f388d8800571f7e9dfbc81bbff048e3a58444",
"runtimeCodeHash": "0x237aca4c61c6d9b391322c0b24e2d26d9d540787507c6d30c474c86866b15dea",
"txHash": "0xf68af53d379c9ffbfa4794d5226fcd92e95bbce7017f5eefaacd147d0f5f40bc"
}
}
}
38 changes: 38 additions & 0 deletions packages/contracts/addresses.json
Original file line number Diff line number Diff line change
Expand Up @@ -790,6 +790,25 @@
"creationCodeHash": "0xbfc20ab9b880712ab90b5dec9d2a14c724b0bf7c20f02ede8ea76610bd41b6ef",
"runtimeCodeHash": "0xd7fdd744c7a88993435a2978876b1e4341c5e0fb4d611011bb56e8738ab2485d",
"txHash": "0xcc449d1ca1007fba76b25e987ea0d39164acf4027c10c40bd669ede1c65dc569"
},
"SubgraphAvailabilityManager": {
"address": "0x1cB555359319A94280aCf85372Ac2323AaE2f5fd",
"constructorArgs": [
"0x8C6de8F8D562f3382417340A6994601eE08D3809",
"0x971B9d3d0Ae3ECa029CAB5eA1fB0F72c85e6a525",
"3",
"300",
[
"0xdcAA0a094F2Eb7cF7f73248EE64217D59B7B938d",
"0xBD9dc46cb1dd9F31dCbF0617c2Dd5f77A21dB8e8",
"0x16eAd4088d4308a7A4E0F7a1455ed56CDf1AC8AA",
"0x61923453906Eadc15fc1F610B8D1b67bc27658c2",
"0x10eb33C5E2fb6c7a37B110Cc4930d03A9e4C4D09"
]
],
"creationCodeHash": "0xc34842fa42ee2f21e3a435b52fa69a122a5de795448faa890fbc63d4838f45da",
"runtimeCodeHash": "0x52fcfd39c6ab3cf5ed4a736bc38eb1153d73c8cf1ca9e23370badc7843467ab4",
"txHash": "0x2eb44036d157e39c56377403029aebde4961028b404fc8c3f4cadc0f299d06dd"
}
},
"421613": {
Expand Down Expand Up @@ -1221,6 +1240,25 @@
"creationCodeHash": "0x20cd202f7991716a84c097da5fbd365fd27f7f35f241f82c529ad7aba18b814b",
"runtimeCodeHash": "0x5f396ffd54b6cd6b3faded0f366c5d7e148cc54743926061be2dfd12a75391de",
"txHash": "0x2cefbc169b8ae51c263d0298956d86a397b05f11f076b71c918551f63fe33784"
},
"SubgraphAvailabilityManager": {
"address": "0x71D9aE967d1f31fbbD1817150902de78f8f2f73E",
"constructorArgs": [
"0x72ee30d43Fb5A90B3FE983156C5d2fBE6F6d07B3",
"0x1F49caE7669086c8ba53CC35d1E9f80176d67E79",
"3",
"300",
[
"0x5e4e823Ed094c035133eEC5Ec0d08ae1Af04e9Fa",
"0x5aeE4c46cF9260E85E630ca7d9D757D5D5DbaFD6",
"0x7369Cf2a917296c36f506144f3dE552403d1e1f1",
"0x1e1f84c07e0471fc979f6f08228b0bd34cda9e54",
"0x711aEA1f358DFAf74D34B4B525F9190e631F406C"
]
],
"creationCodeHash": "0xc34842fa42ee2f21e3a435b52fa69a122a5de795448faa890fbc63d4838f45da",
"runtimeCodeHash": "0x3907d0fe5a1fa28fee51100e57a3b193dfcee6720163067011e787262b1749bb",
"txHash": "0xb00751b4dc1c0603fe1b8b9ae9de8840ad1c29b42489c5bb267d80b10ae44ef0"
}
},
"11155111": {
Expand Down
16 changes: 9 additions & 7 deletions packages/contracts/config/graph.arbitrum-hardhat.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,12 @@ general:
arbitrator: &arbitrator "0xFFcf8FDEE72ac11b5c542428B35EEF5769C409f0" # Arbitration Council
governor: &governor "0x22d491Bde2303f2f43325b2108D26f1eAbA1e32b" # Graph Council
authority: &authority "0xE11BA2b4D45Eaed5996Cd0823791E0C93114882d" # Authority that signs payment vouchers
availabilityOracle: &availabilityOracle "0xd03ea8624C8C5987235048901fB614fDcA89b117" # Subgraph Availability Oracle
availabilityOracles: &availabilityOracles # Subgraph Availability Oracles
- "0xd03ea8624C8C5987235048901fB614fDcA89b117"
- "0xd03ea8624C8C5987235048901fB614fDcA89b117"
- "0xd03ea8624C8C5987235048901fB614fDcA89b117"
- "0xd03ea8624C8C5987235048901fB614fDcA89b117"
- "0xd03ea8624C8C5987235048901fB614fDcA89b117"
pauseGuardian: &pauseGuardian "0x95cED938F7991cd0dFcb48F0a06a40FA1aF46EBC" # Protocol pause guardian
allocationExchangeOwner: &allocationExchangeOwner "0x3E5e9111Ae8eB78Fe1CC3bb8915d5D461F3Ef9A9" # Allocation Exchange owner

Expand Down Expand Up @@ -131,7 +136,7 @@ contracts:
- fn: "setIssuancePerBlock"
issuancePerBlock: "114155251141552511415" # per block increase of total supply, blocks in a year = 365*60*60*24/12
- fn: "setSubgraphAvailabilityOracle"
subgraphAvailabilityOracle: *availabilityOracle
subgraphAvailabilityOracle: "${{SubgraphAvailabilityManager.address}}"
- fn: "syncAllContracts"
AllocationExchange:
init:
Expand All @@ -151,11 +156,8 @@ contracts:
pauseGuardian: *pauseGuardian
SubgraphAvailabilityManager:
init:
governor: "${{Env.deployer}}"
governor: *governor
rewardsManager: "${{RewardsManager.address}}"
executionThreshold: 5
voteTimeLimit: 300
oracles: [*availabilityOracle, *availabilityOracle, *availabilityOracle, *availabilityOracle, *availabilityOracle]
calls:
- fn: "transferOwnership"
owner: *governor
oracles: *availabilityOracles
16 changes: 9 additions & 7 deletions packages/contracts/config/graph.arbitrum-localhost.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,12 @@ general:
arbitrator: &arbitrator "0x4237154FE0510FdE3575656B60c68a01B9dCDdF8" # Arbitration Council
governor: &governor "0x1257227a2ECA34834940110f7B5e341A5143A2c4" # Graph Council
authority: &authority "0x12B8D08b116E1E3cc29eE9Cf42bB0AA8129C3215" # Authority that signs payment vouchers
availabilityOracle: &availabilityOracle "0x7694a48065f063a767a962610C6717c59F36b445" # Subgraph Availability Oracle
availabilityOracles: &availabilityOracles # Subgraph Availability Oracles
- "0x7694a48065f063a767a962610C6717c59F36b445"
- "0x7694a48065f063a767a962610C6717c59F36b445"
- "0x7694a48065f063a767a962610C6717c59F36b445"
- "0x7694a48065f063a767a962610C6717c59F36b445"
- "0x7694a48065f063a767a962610C6717c59F36b445"
pauseGuardian: &pauseGuardian "0x601060e0DC5349AA55EC73df5A58cB0FC1cD2e3C" # Protocol pause guardian
allocationExchangeOwner: &allocationExchangeOwner "0xbD38F7b67a591A5cc7D642e1026E5095B819d952" # Allocation Exchange owner

Expand Down Expand Up @@ -132,7 +137,7 @@ contracts:
- fn: "setIssuancePerBlock"
issuancePerBlock: "6036500000000000000" # per block increase of total supply, blocks in a year = 365*60*60*24/12
- fn: "setSubgraphAvailabilityOracle"
subgraphAvailabilityOracle: *availabilityOracle
subgraphAvailabilityOracle: "${{SubgraphAvailabilityManager.address}}"
- fn: "syncAllContracts"
AllocationExchange:
init:
Expand All @@ -152,11 +157,8 @@ contracts:
pauseGuardian: *pauseGuardian
SubgraphAvailabilityManager:
init:
governor: "${{Env.deployer}}"
governor: *governor
rewardsManager: "${{RewardsManager.address}}"
executionThreshold: 5
voteTimeLimit: 300
oracles: [*availabilityOracle, *availabilityOracle, *availabilityOracle, *availabilityOracle, *availabilityOracle]
calls:
- fn: "transferOwnership"
owner: *governor
oracles: *availabilityOracles
16 changes: 14 additions & 2 deletions packages/contracts/config/graph.arbitrum-sepolia.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,12 @@ general:
arbitrator: &arbitrator "0x1726A5d52e279d02ff4732eCeB2D67BFE5Add328" # EOA (TODO: update to a multisig)
governor: &governor "0x72ee30d43Fb5A90B3FE983156C5d2fBE6F6d07B3" # EOA (TODO: update to a multisig)
authority: &authority "0x49D4CFC037430cA9355B422bAeA7E9391e1d3215" # Authority that signs payment vouchers
availabilityOracle: &availabilityOracle "0x5e4e823Ed094c035133eEC5Ec0d08ae1Af04e9Fa" # Subgraph Availability Oracle
availabilityOracles: &availabilityOracles # Array of Subgraph Availability Oracles
- "0x5e4e823Ed094c035133eEC5Ec0d08ae1Af04e9Fa"
- "0x5aeE4c46cF9260E85E630ca7d9D757D5D5DbaFD6"
- "0x7369Cf2a917296c36f506144f3dE552403d1e1f1"
- "0x1e1f84c07e0471fc979f6f08228b0bd34cda9e54"
- "0x711aEA1f358DFAf74D34B4B525F9190e631F406C"
pauseGuardian: &pauseGuardian "0xa0444508232dA3FA6C2f96a5f105f3f0cc0d20D7" # Protocol pause guardian
allocationExchangeOwner: &allocationExchangeOwner "0x72ee30d43Fb5A90B3FE983156C5d2fBE6F6d07B3" # Allocation Exchange owner

Expand Down Expand Up @@ -131,7 +136,7 @@ contracts:
- fn: "setIssuancePerBlock"
issuancePerBlock: "6036500000000000000" # per block increase of total supply, blocks in a year = 365*60*60*24/12
- fn: "setSubgraphAvailabilityOracle"
subgraphAvailabilityOracle: *availabilityOracle
subgraphAvailabilityOracle: "${{SubgraphAvailabilityManager.address}}"
- fn: "syncAllContracts"
AllocationExchange:
init:
Expand All @@ -149,3 +154,10 @@ contracts:
- fn: "syncAllContracts"
- fn: "setPauseGuardian"
pauseGuardian: *pauseGuardian
SubgraphAvailabilityManager:
init:
governor: *governor
rewardsManager: "${{RewardsManager.address}}"
executionThreshold: 5
voteTimeLimit: 300
oracles: *availabilityOracles
10 changes: 0 additions & 10 deletions packages/contracts/config/graph.hardhat.yml
Original file line number Diff line number Diff line change
Expand Up @@ -158,13 +158,3 @@ contracts:
controller: "${{Controller.address}}"
calls:
- fn: "syncAllContracts"
SubgraphAvailabilityManager:
init:
governor: "${{Env.deployer}}"
rewardsManager: "${{RewardsManager.address}}"
executionThreshold: 5
voteTimeLimit: 300
oracles: [*availabilityOracle, *availabilityOracle, *availabilityOracle, *availabilityOracle, *availabilityOracle]
calls:
- fn: "transferOwnership"
owner: *governor
10 changes: 0 additions & 10 deletions packages/contracts/config/graph.localhost.yml
Original file line number Diff line number Diff line change
Expand Up @@ -159,13 +159,3 @@ contracts:
controller: "${{Controller.address}}"
calls:
- fn: "syncAllContracts"
SubgraphAvailabilityManager:
init:
governor: "${{Env.deployer}}"
rewardsManager: "${{RewardsManager.address}}"
executionThreshold: 5
voteTimeLimit: 300
oracles: [*availabilityOracle, *availabilityOracle, *availabilityOracle, *availabilityOracle, *availabilityOracle]
calls:
- fn: "transferOwnership"
owner: *governor
10 changes: 0 additions & 10 deletions packages/contracts/config/graph.sepolia.yml
Original file line number Diff line number Diff line change
Expand Up @@ -159,13 +159,3 @@ contracts:
controller: "${{Controller.address}}"
calls:
- fn: "syncAllContracts"
SubgraphAvailabilityManager:
init:
governor: "${{Env.deployer}}"
rewardsManager: "${{RewardsManager.address}}"
executionThreshold: 5
voteTimeLimit: 300
oracles: [*availabilityOracle, *availabilityOracle, *availabilityOracle, *availabilityOracle, *availabilityOracle]
calls:
- fn: "transferOwnership"
owner: *governor
Original file line number Diff line number Diff line change
@@ -1,17 +1,26 @@
import { expect } from 'chai'
import hre from 'hardhat'
import { isGraphL2ChainId } from '@graphprotocol/sdk'
import { NamedAccounts } from '@graphprotocol/sdk/gre'

describe('[L1] RewardsManager configuration', () => {
const graph = hre.graph()
const { RewardsManager } = graph.contracts

before(function () {
let namedAccounts: NamedAccounts

before(async function () {
if (isGraphL2ChainId(graph.chainId)) this.skip()
namedAccounts = await graph.getNamedAccounts()
})

it('issuancePerBlock should match "issuancePerBlock" in the config file', async function () {
const value = await RewardsManager.issuancePerBlock()
expect(value).eq('114693500000000000000') // hardcoded as it's set with a function call rather than init parameter
})

it('should allow subgraph availability oracle to deny rewards', async function () {
const availabilityOracle = await RewardsManager.subgraphAvailabilityOracle()
expect(availabilityOracle).eq(namedAccounts.availabilityOracle.address)
})
})
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ import hre from 'hardhat'

describe('[L2] RewardsManager configuration', () => {
const graph = hre.graph()
const { RewardsManager } = graph.contracts
const { RewardsManager, SubgraphAvailabilityManager } = graph.contracts

before(function () {
if (isGraphL1ChainId(graph.chainId)) this.skip()
Expand All @@ -14,4 +14,9 @@ describe('[L2] RewardsManager configuration', () => {
const value = await RewardsManager.issuancePerBlock()
expect(value).eq('6036500000000000000') // hardcoded as it's set with a function call rather than init parameter
})

it('should allow subgraph availability manager to deny rewards', async function () {
const availabilityOracle = await RewardsManager.subgraphAvailabilityOracle()
expect(availabilityOracle).eq(SubgraphAvailabilityManager.address)
})
})
Original file line number Diff line number Diff line change
@@ -1,26 +1,13 @@
import { expect } from 'chai'
import hre from 'hardhat'
import { NamedAccounts } from '@graphprotocol/sdk/gre'

describe('RewardsManager configuration', () => {
const {
getNamedAccounts,
contracts: { RewardsManager, Controller },
} = hre.graph()

let namedAccounts: NamedAccounts

before(async () => {
namedAccounts = await getNamedAccounts()
})

it('should be controlled by Controller', async function () {
const controller = await RewardsManager.controller()
expect(controller).eq(Controller.address)
})

it('should allow subgraph availability oracle to deny rewards', async function () {
const availabilityOracle = await RewardsManager.subgraphAvailabilityOracle()
expect(availabilityOracle).eq(namedAccounts.availabilityOracle.address)
})
})
Original file line number Diff line number Diff line change
Expand Up @@ -6,8 +6,8 @@ import { ethers } from 'hardhat'

import type { SignerWithAddress } from '@nomiclabs/hardhat-ethers/signers'

import { SubgraphAvailabilityManager } from '../../build/types/SubgraphAvailabilityManager'
import { IRewardsManager } from '../../build/types/IRewardsManager'
import { SubgraphAvailabilityManager } from '../../../build/types/SubgraphAvailabilityManager'
import { IRewardsManager } from '../../../build/types/IRewardsManager'

import { NetworkFixture } from '../lib/fixtures'

Expand Down Expand Up @@ -64,7 +64,6 @@ describe('SubgraphAvailabilityManager', () => {
fixture = new NetworkFixture(graph.provider)
contracts = await fixture.load(governor)
rewardsManager = contracts.RewardsManager as IRewardsManager
console.log('Llega hasta aca?')
const deployResult = await deploy(DeployType.Deploy, governor, {
name: 'SubgraphAvailabilityManager',
args: [governor.address, rewardsManager.address, executionThreshold, voteTimeLimit, oracles],
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,6 @@ export const GraphNetworkSharedContractNameList = [
'RewardsManager',
'DisputeManager',
'AllocationExchange',
'SubgraphAvailabilityManager',
] as const
export const GraphNetworkOptionalContractNameList = [
'IENS',
Expand All @@ -35,6 +34,7 @@ export const GraphNetworkL2ContractNameList = [
'L2GNS',
'L2Staking',
'L2GraphTokenGateway',
'SubgraphAvailabilityManager',
] as const

export const GraphNetworkContractNameList = [
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -41,6 +41,7 @@ import type {
L2GNS,
L2Curation,
StakingExtension,
SubgraphAvailabilityManager,
} from '@graphprotocol/contracts'
import { ContractList } from '../../../lib/types/contract'
import { loadArtifact } from '../../../lib/deploy/artifacts'
Expand All @@ -63,6 +64,7 @@ export interface GraphNetworkContracts extends ContractList<GraphNetworkContract
GraphCurationToken: GraphCurationToken
StakingExtension: StakingExtension
IENS?: IENS
SubgraphAvailabilityManager: SubgraphAvailabilityManager

// Only L1
L1GraphToken?: GraphToken
Expand Down
Loading