Skip to content

Commit

Permalink
Merge pull request #961 from graphprotocol/mde/sam-contract-deployments
Browse files Browse the repository at this point in the history
chore: SAM deployments
  • Loading branch information
Maikol authored Jun 21, 2024
2 parents bcf6957 + 19faf45 commit 7fe43b8
Show file tree
Hide file tree
Showing 15 changed files with 126 additions and 90 deletions.
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

0 comments on commit 7fe43b8

Please sign in to comment.