|
| 1 | +general: |
| 2 | + arbitrator: &arbitrator "0xd6ff9e98F0Fd99ccB658832F586e23F4D8Cb8Bad" # Arbitration Council |
| 3 | + governor: &governor "0x4EBf30832eC2db76aE228D5d239083B59f530d1f" # Graph Council |
| 4 | + authority: &authority "0x840daec5dF962D49cf2EFd789c4E40A7b7e0117D" # Authority that signs payment vouchers |
| 5 | + availabilityOracle: &availabilityOracle "0x840daec5dF962D49cf2EFd789c4E40A7b7e0117D" # Subgraph Availability Oracle |
| 6 | + pauseGuardian: &pauseGuardian "0x382688E15Cc894D04cf3313b26a4F2c93C8fDe06" # Protocol pause guardian |
| 7 | + allocationExchangeOwner: &allocationExchangeOwner "0x4EBf30832eC2db76aE228D5d239083B59f530d1f" # Allocation Exchange owner |
| 8 | + |
| 9 | +contracts: |
| 10 | + Controller: |
| 11 | + calls: |
| 12 | + - fn: "setContractProxy" |
| 13 | + id: "0xe6876326c1291dfcbbd3864a6816d698cd591defc7aa2153d7f9c4c04016c89f" # keccak256('Curation') |
| 14 | + contractAddress: "${{Curation.address}}" |
| 15 | + - fn: "setContractProxy" |
| 16 | + id: "0x39605a6c26a173774ca666c67ef70cf491880e5d3d6d0ca66ec0a31034f15ea3" # keccak256('GNS') |
| 17 | + contractAddress: "${{L1GNS.address}}" |
| 18 | + - fn: "setContractProxy" |
| 19 | + id: "0xf942813d07d17b56de9a9afc8de0ced6e8c053bbfdcc87b7badea4ddcf27c307" # keccak256('DisputeManager') |
| 20 | + contractAddress: "${{DisputeManager.address}}" |
| 21 | + - fn: "setContractProxy" |
| 22 | + id: "0xc713c3df6d14cdf946460395d09af88993ee2b948b1a808161494e32c5f67063" # keccak256('EpochManager') |
| 23 | + contractAddress: "${{EpochManager.address}}" |
| 24 | + - fn: "setContractProxy" |
| 25 | + id: "0x966f1e8d8d8014e05f6ec4a57138da9be1f7c5a7f802928a18072f7c53180761" # keccak256('RewardsManager') |
| 26 | + contractAddress: "${{RewardsManager.address}}" |
| 27 | + - fn: "setContractProxy" |
| 28 | + id: "0x1df41cd916959d1163dc8f0671a666ea8a3e434c13e40faef527133b5d167034" # keccak256('Staking') |
| 29 | + contractAddress: "${{L1Staking.address}}" |
| 30 | + - fn: "setContractProxy" |
| 31 | + id: "0x45fc200c7e4544e457d3c5709bfe0d520442c30bbcbdaede89e8d4a4bbc19247" # keccak256('GraphToken') |
| 32 | + contractAddress: "${{GraphToken.address}}" |
| 33 | + - fn: "setContractProxy" |
| 34 | + id: "0xd362cac9cb75c10d67bcc0b7eeb0b1ef48bb5420b556c092d4fd7f758816fcf0" # keccak256('GraphTokenGateway') |
| 35 | + contractAddress: "${{L1GraphTokenGateway.address}}" |
| 36 | + - fn: "setPauseGuardian" |
| 37 | + pauseGuardian: *pauseGuardian |
| 38 | + - fn: "transferOwnership" |
| 39 | + owner: *governor |
| 40 | + GraphProxyAdmin: |
| 41 | + calls: |
| 42 | + - fn: "transferOwnership" |
| 43 | + owner: *governor |
| 44 | + ServiceRegistry: |
| 45 | + proxy: true |
| 46 | + init: |
| 47 | + controller: "${{Controller.address}}" |
| 48 | + calls: |
| 49 | + - fn: "syncAllContracts" |
| 50 | + EpochManager: |
| 51 | + proxy: true |
| 52 | + init: |
| 53 | + controller: "${{Controller.address}}" |
| 54 | + lengthInBlocks: 554 # length in hours = lengthInBlocks*13/60/60 (~13 second blocks) |
| 55 | + GraphToken: |
| 56 | + init: |
| 57 | + initialSupply: "10000000000000000000000000000" # in wei |
| 58 | + calls: |
| 59 | + - fn: "addMinter" |
| 60 | + minter: "${{RewardsManager.address}}" |
| 61 | + - fn: "addMinter" |
| 62 | + minter: "${{L1GraphTokenGateway.address}}" |
| 63 | + - fn: "renounceMinter" |
| 64 | + - fn: "transferOwnership" |
| 65 | + owner: *governor |
| 66 | + Curation: |
| 67 | + proxy: true |
| 68 | + init: |
| 69 | + controller: "${{Controller.address}}" |
| 70 | + bondingCurve: "${{BancorFormula.address}}" |
| 71 | + curationTokenMaster: "${{GraphCurationToken.address}}" |
| 72 | + reserveRatio: 500000 # in parts per million |
| 73 | + curationTaxPercentage: 10000 # in parts per million |
| 74 | + minimumCurationDeposit: "1000000000000000000" # in wei |
| 75 | + calls: |
| 76 | + - fn: "syncAllContracts" |
| 77 | + DisputeManager: |
| 78 | + proxy: true |
| 79 | + init: |
| 80 | + controller: "${{Controller.address}}" |
| 81 | + arbitrator: *arbitrator |
| 82 | + minimumDeposit: "10000000000000000000000" # in wei |
| 83 | + fishermanRewardPercentage: 500000 # in parts per million |
| 84 | + idxSlashingPercentage: 25000 # in parts per million |
| 85 | + qrySlashingPercentage: 25000 # in parts per million |
| 86 | + calls: |
| 87 | + - fn: "syncAllContracts" |
| 88 | + L1GNS: |
| 89 | + proxy: true |
| 90 | + init: |
| 91 | + controller: "${{Controller.address}}" |
| 92 | + subgraphNFT: "${{SubgraphNFT.address}}" |
| 93 | + calls: |
| 94 | + - fn: "approveAll" |
| 95 | + - fn: "syncAllContracts" |
| 96 | + SubgraphNFT: |
| 97 | + init: |
| 98 | + governor: "${{Env.deployer}}" |
| 99 | + calls: |
| 100 | + - fn: "setTokenDescriptor" |
| 101 | + tokenDescriptor: "${{SubgraphNFTDescriptor.address}}" |
| 102 | + - fn: "setMinter" |
| 103 | + minter: "${{L1GNS.address}}" |
| 104 | + - fn: "transferOwnership" |
| 105 | + owner: *governor |
| 106 | + L1Staking: |
| 107 | + proxy: true |
| 108 | + init: |
| 109 | + controller: "${{Controller.address}}" |
| 110 | + minimumIndexerStake: "100000000000000000000000" # in wei |
| 111 | + thawingPeriod: 6646 # in blocks |
| 112 | + protocolPercentage: 10000 # in parts per million |
| 113 | + curationPercentage: 100000 # in parts per million |
| 114 | + maxAllocationEpochs: 4 # in epochs |
| 115 | + delegationUnbondingPeriod: 12 # in epochs |
| 116 | + delegationRatio: 16 # delegated stake to indexer stake multiplier |
| 117 | + rebateParameters: |
| 118 | + alphaNumerator: 100 # alphaNumerator / alphaDenominator |
| 119 | + alphaDenominator: 100 # alphaNumerator / alphaDenominator |
| 120 | + lambdaNumerator: 60 # lambdaNumerator / lambdaDenominator |
| 121 | + lambdaDenominator: 100 # lambdaNumerator / lambdaDenominator |
| 122 | + extensionImpl: "${{StakingExtension.address}}" |
| 123 | + calls: |
| 124 | + - fn: "setDelegationTaxPercentage" |
| 125 | + delegationTaxPercentage: 5000 # parts per million |
| 126 | + - fn: "setSlasher" |
| 127 | + slasher: "${{DisputeManager.address}}" |
| 128 | + allowed: true |
| 129 | + - fn: "setAssetHolder" |
| 130 | + assetHolder: "${{AllocationExchange.address}}" |
| 131 | + allowed: true |
| 132 | + - fn: "syncAllContracts" |
| 133 | + RewardsManager: |
| 134 | + proxy: true |
| 135 | + init: |
| 136 | + controller: "${{Controller.address}}" |
| 137 | + calls: |
| 138 | + - fn: "setIssuancePerBlock" |
| 139 | + issuancePerBlock: "114693500000000000000" # per block increase of total supply, blocks in a year = 365*60*60*24/12 |
| 140 | + - fn: "setSubgraphAvailabilityOracle" |
| 141 | + subgraphAvailabilityOracle: *availabilityOracle |
| 142 | + - fn: "syncAllContracts" |
| 143 | + AllocationExchange: |
| 144 | + init: |
| 145 | + graphToken: "${{GraphToken.address}}" |
| 146 | + staking: "${{L1Staking.address}}" |
| 147 | + governor: *allocationExchangeOwner |
| 148 | + authority: *authority |
| 149 | + calls: |
| 150 | + - fn: "approveAll" |
| 151 | + L1GraphTokenGateway: |
| 152 | + proxy: true |
| 153 | + init: |
| 154 | + controller: "${{Controller.address}}" |
| 155 | + calls: |
| 156 | + - fn: "syncAllContracts" |
| 157 | + - fn: "setPauseGuardian" |
| 158 | + pauseGuardian: *pauseGuardian |
| 159 | + BridgeEscrow: |
| 160 | + proxy: true |
| 161 | + init: |
| 162 | + controller: "${{Controller.address}}" |
| 163 | + calls: |
| 164 | + - fn: "syncAllContracts" |
0 commit comments