Modified beaconchain explorer
đ beacon.gnosischain.com
4096 validators
131,072 mGNO
83% APY
| +| Security Goal Prior to Merge |50K+ validators
1.6M+ mGNO
23% APY
| + +--- + +// File: about/specs/gbc/upgradeability + +# Upgradeability + +One differentiator for the Gnosis Beacon Chain relative to the Ethereum Beacon chain is the ability to upgrade contracts. A proxy pattern allows for this functionality, which can be extremely useful if an update is required (a bug is found, new functionality added etc). + +However, this also introduces issues of administrative responsibility. No one entity should solely control contract updates. + +A multi-sig Gnosis Safe is used to expand admin responsibilities to a larger entity. The controlling assembly is a Governance Board consisting of known and active projects who have contributed to the Gnosis and Ethereum community for some time. + +A proposed upgrade is presented to this board and a minimum of 7 signatures are required to enact any proposal. +c +[Governance Board Members](../../../bridges/management#current-bridge-governors) + +### Contracts managed by the Governance Board + +- Deposit Contract: [0x0B98057eA310F4d31F2a452B414647007d1645d9](https://gnosis.blockscout.com/address/0x0B98057eA310F4d31F2a452B414647007d1645d9/read-contract) + +--- + +// File: about/specs/hard-forks/1604400 + +# #1604400 - 2019-01-11 + +:::caution Archived page +Check the latest hard fork and update your node +::: + +### Info + +* **Network**: xDai (now Gnosis) +* **Date**: 2019-01-11 +* **Block number**: 1604400 + +### Description + +This update introduces Constantinople fork at block `1604400` in `xDai` network. + +### Solution + +1. Update Parity node to `2.2.5-beta` using [the guide](https://www.poa.network/for-validators/hard-forks/parity-upgrade-guide). +2. Update `poa-chain-spec/spec.json` - add Constantinople's [transitions](https://github.com/poanetwork/poa-chain-spec/pull/99/files#diff-42eb5109ad96d4ac46cdcbf18f2938de) to `engine.params` section. See [spec.json update](/concepts/specs/hard-forks/spec.json-update). +3. Organize the HF on block `1604400`. + +### Verify + +```bash +grep -n -A2 1604400 spec.json +``` + +You should see: + +```json +34: "eip145Transition": 1604400, +35: "eip1014Transition": 1604400, +36: "eip1052Transition": 1604400, +37: "eip1283Transition": 1604400, +38- "registrar": "0x1ec97dc137f5168af053c24460a1200502e1a9d2" +39- }, +``` + +--- + +// File: about/specs/hard-forks/16101500 + +# #16101500 - 2021-05-17 + +:::caution Archived page +Check the latest hard fork and update your node +::: + +* **Network**: xDai (now Gnosis) +* **Date**: 2021-05-17 +* **Block number**: `16101500` + +## Client Updates + +### OpenEthereum + +Please update to `v3.2.5` which contains Berlin hard fork transition and the new enodes: [https://github.com/openethereum/openethereum/releases/tag/v3.2.5](https://github.com/openethereum/openethereum/releases/tag/v3.2.5) + +Perform a DB migration if your run OE version < v3.2.0 + +If your node works on an old version of Parity, you need to convert node's DB to the format compatible with OpenEthereum v3.2.x. You can use this tool [https://github.com/openethereum/3.1-db-upgrade-tool](https://github.com/openethereum/3.1-db-upgrade-tool) + +### Nethermind + +Please update to `v1.10.67` which contains Berlin hard fork transition. [More on Nethermind](/node/manual). + +## Description: Berlin HF + +* EIP-2565 (ModExp Gas Cost) Allows RSA signature verification. +* EIP-2929 (Gas cost increases for state access opcodes) Algorithm for calculating gas costs. Costs increase for SLOAD, _CALL, BALANCE, EXT_ and SELFDESTRUCT for the first time. Adds resilience for DoS attacks. +* EIP-2718 (Typed Transaction Envelope) Implements a new transaction type that supports multiple transactions. +* EIP-2930 (Optional access lists) Lst of addresses and storage keys a transaction will access, resulting in easier processing and reduced gas usage. + +--- + +// File: about/specs/hard-forks/19040000 + +# #19040000 - 2021-11-12 + +:::caution Archived page +Check the latest hard fork and update your node +::: + +* **Network**: Gnosis +* **\~Date**: 2021-11-12 +* **Block number**: `19,040,000` + +## Client Updates + +### OpenEthereum + +Please update to `v3.3.0` **RC 15** which contains the London hard fork transition. + +:::info +Most node operators use the --chain=xdai flag when running a node. In this case, you will only need to update the client. If you use a local spec.json file, you will need to [upgrade to this version](https://raw.githubusercontent.com/poanetwork/poa-chain-spec/dai/spec.json) before restarting your node with the updated OE version. +::: + +1. Set docker image in `docker-compose.yml` to + + image: openethereum/openethereum:v3.3.0-rc.15 +2. Restart your node + + `docker-compose down` + + `docker-compose up -d` +3. There may be an additional instruction related to a variable update following the HF. + +### Nethermind + +Upgrade to version [v1.11.7](https://github.com/NethermindEth/nethermind/releases/tag/1.11.7). This is the latest Nethermind release. + +1. Set docker image as image: nethermind/nethermind:latest +2. `docker pull nethermind/nethermind:latest` + + `docker-compose down` + + `docker-compose up -d` + +## Description: London HF + +Applicable updates + +* [EIP-1559](https://eips.ethereum.org/EIPS/eip-1559) â reconfigures fees to include BASEFEE. Block size increase to 34M. [See 1559 on Gnosis for more info](/concepts/specs/hard-forks/eip-1559) +* [EIP-3198](https://eips.ethereum.org/EIPS/eip-3198) â returns the `BASEFEE` from a block +* [EIP-3529](https://eips.ethereum.org/EIPS/eip-3529) - reduces gas refunds for EVM operations +* [EIP-3541](https://eips.ethereum.org/EIPS/eip-3541) - prevents deploying contracts starting with `0xEF` + +--- + +// File: about/specs/hard-forks/21735000 + +# #21735000 - 2022-04-20 + +In response to the community sentiment [overwhelming favoring GIP-31](https://forum.gnosis.io/t/gip-31-should-gnosis-chain-perform-a-hardfork-to-upgrade-the-token-contract-vulnerable-to-the-reentrancy-attack/4134) a hardfork has been proposed for Gnosis. Node operators can now update their OpenEthereum or Nethermind nodes in preparation. + +* **Network**: Gnosis +* **Block number**: `21,735,000` +* **Completed:** 20 April 2022 + +## Client Update Instructions + +:::info +Instructions below are for standard node updates. **For archive nodes running Nethermind**, please see note below. +::: + +### OpenEthereum + +Please update to `v3.3.5` which contains the hard fork transition. + +1. Set docker image in `docker-compose.yml` to + + image: openethereum/openethereum:v3.3.5 +2. Restart your node + + `docker-compose down` + + `docker-compose up -d` + +### Nethermind + +Upgrade to version [v1.12.7](https://github.com/NethermindEth/nethermind/releases/tag/1.12.7). + +1. Set docker image as image: nethermind/nethermind:1.12.7 +2. `docker pull nethermind/nethermind:1.12.7` + + `docker-compose down` + + `docker-compose up -d` + +### Archive nodes running Nethermind + +:::danger +Nethermind v1.12.5`+` turns on memory pruning by default. **You will need to disable pruning** in the config file when running an archive node. + +Set the following variable `NETHERMIND_PRUNINGCONFIG_MODE: "None"` +::: + +## Code Updates: Token Contract Bytecode + +* OpenEthereum: Support new hardfork ([#619](https://github.com/openethereum/openethereum/pull/619), [#633](https://github.com/openethereum/openethereum/pull/633)) +* Nethermind: \[Gnosis/POSDAO] Support new hardfork ([#3889](https://github.com/NethermindEth/nethermind/pull/3889), [#3930](https://github.com/NethermindEth/nethermind/pull/3930)) + +This HF replaces the bytecode in the permitable token contract. Tokens bridged using the previous implementation were susceptible to re-entrancy when combined with protocols that did not guard against these types of attacks. The HF will increase bridged token security for protocols on Gnosis. More information is available in the [Gnosis Forum GIP-31 post](https://forum.gnosis.io/t/gip-31-should-gnosis-chain-perform-a-hardfork-to-upgrade-the-token-contract-vulnerable-to-the-reentrancy-attack/4134). + +**Previous permitable token contract bytecode** + +``` +0x6080604052600436106101b65763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166305d2035b81146101bb57806306fdde03146101e4578063095ea7b31461026e5780630b26cf661461029257806318160ddd146102b557806323b872dd146102dc57806330adf81f14610306578063313ce5671461031b5780633644e51514610346578063395093511461035b5780634000aea01461037f57806340c10f19146103b057806342966c68146103d457806354fd4d50146103ec578063661884631461040157806369ffa08a1461042557806370a082311461044c578063715018a61461046d578063726600ce146104825780637d64bcb4146104a35780637ecebe00146104b8578063859ba28c146104d95780638da5cb5b1461051a5780638fcbaf0c1461054b57806395d89b4114610589578063a457c2d71461059e578063a9059cbb146105c2578063b753a98c146105e6578063bb35783b1461060a578063cd59658314610634578063d73dd62314610649578063dd62ed3e1461066d578063f2d5d56b14610694578063f2fde38b146106b8578063ff9e884d146106d9575b600080fd5b3480156101c757600080fd5b506101d0610700565b604080519115158252519081900360200190f35b3480156101f057600080fd5b506101f9610721565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561023357818101518382015260200161021b565b50505050905090810190601f1680156102605780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561027a57600080fd5b506101d0600160a060020a03600435166024356107af565b34801561029e57600080fd5b506102b3600160a060020a0360043516610803565b005b3480156102c157600080fd5b506102ca61085d565b60408051918252519081900360200190f35b3480156102e857600080fd5b506101d0600160a060020a0360043581169060243516604435610863565b34801561031257600080fd5b506102ca610a32565b34801561032757600080fd5b50610330610a56565b6040805160ff9092168252519081900360200190f35b34801561035257600080fd5b506102ca610a5f565b34801561036757600080fd5b506101d0600160a060020a0360043516602435610a65565b34801561038b57600080fd5b506101d060048035600160a060020a0316906024803591604435918201910135610a78565b3480156103bc57600080fd5b506101d0600160a060020a0360043516602435610b89565b3480156103e057600080fd5b506102b3600435610c94565b3480156103f857600080fd5b506101f9610ca1565b34801561040d57600080fd5b506101d0600160a060020a0360043516602435610cd8565b34801561043157600080fd5b506102b3600160a060020a0360043581169060243516610db5565b34801561045857600080fd5b506102ca600160a060020a0360043516610df1565b34801561047957600080fd5b506102b3610e0c565b34801561048e57600080fd5b506101d0600160a060020a0360043516610e23565b3480156104af57600080fd5b506101d0610e37565b3480156104c457600080fd5b506102ca600160a060020a0360043516610e3e565b3480156104e557600080fd5b506104ee610e50565b6040805167ffffffffffffffff9485168152928416602084015292168183015290519081900360600190f35b34801561052657600080fd5b5061052f610e5b565b60408051600160a060020a039092168252519081900360200190f35b34801561055757600080fd5b506102b3600160a060020a0360043581169060243516604435606435608435151560ff60a4351660c43560e435610e6a565b34801561059557600080fd5b506101f9611171565b3480156105aa57600080fd5b506101d0600160a060020a03600435166024356111cb565b3480156105ce57600080fd5b506101d0600160a060020a03600435166024356111d7565b3480156105f257600080fd5b506102b3600160a060020a0360043516602435611202565b34801561061657600080fd5b506102b3600160a060020a036004358116906024351660443561120d565b34801561064057600080fd5b5061052f61121e565b34801561065557600080fd5b506101d0600160a060020a036004351660243561122d565b34801561067957600080fd5b506102ca600160a060020a03600435811690602435166112b4565b3480156106a057600080fd5b506102b3600160a060020a03600435166024356112df565b3480156106c457600080fd5b506102b3600160a060020a03600435166112ea565b3480156106e557600080fd5b506102ca600160a060020a036004358116906024351661130a565b60065474010000000000000000000000000000000000000000900460ff1681565b6000805460408051602060026001851615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156107a75780601f1061077c576101008083540402835291602001916107a7565b820191906000526020600020905b81548152906001019060200180831161078a57829003601f168201915b505050505081565b336000818152600560209081526040808320600160a060020a03871680855290835281842086905581518681529151939490939092600080516020611a13833981519152928290030190a350600192915050565b600654600160a060020a0316331461081a57600080fd5b61082381611327565b151561082e57600080fd5b6007805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b60045490565b600080600160a060020a038516151561087b57600080fd5b600160a060020a038416151561089057600080fd5b600160a060020a0385166000908152600360205260409020546108b9908463ffffffff61132f16565b600160a060020a0380871660009081526003602052604080822093909355908616815220546108ee908463ffffffff61134116565b600160a060020a0380861660008181526003602090815260409182902094909455805187815290519193928916926000805160206119f383398151915292918290030190a3600160a060020a0385163314610a1c5761094d85336112b4565b905060001981146109b757610968818463ffffffff61132f16565b600160a060020a038616600081815260056020908152604080832033808552908352928190208590558051948552519193600080516020611a13833981519152929081900390910190a3610a1c565b600160a060020a0385166000908152600a602090815260408083203384529091529020541580610a1157506109ea611354565b600160a060020a0386166000908152600a6020908152604080832033845290915290205410155b1515610a1c57600080fd5b610a27858585611358565b506001949350505050565b7fea2aa0a1be11a07ed86d755c93467f4f82362b452371d1ba94d1715123511acb81565b60025460ff1681565b60085481565b6000610a71838361122d565b9392505050565b600084600160a060020a03811615801590610a9c5750600160a060020a0381163014155b1515610aa757600080fd5b610ab186866113ef565b1515610abc57600080fd5b85600160a060020a031633600160a060020a03167fe19260aff97b920c7df27010903aeb9c8d2be5d310a2c67824cf3f15396e4c16878787604051808481526020018060200182810382528484828181526020019250808284376040519201829003965090945050505050a3610b3186611327565b15610b7d57610b7233878787878080601f016020809104026020016040519081016040528093929190818152602001838380828437506113fb945050505050565b1515610b7d57600080fd5b50600195945050505050565b600654600090600160a060020a03163314610ba357600080fd5b60065474010000000000000000000000000000000000000000900460ff1615610bcb57600080fd5b600454610bde908363ffffffff61134116565b600455600160a060020a038316600090815260036020526040902054610c0a908363ffffffff61134116565b600160a060020a038416600081815260036020908152604091829020939093558051858152905191927f0f6798a560793a54c3bcfe86a93cde1e73087d944c0ea20544137d412139688592918290030190a2604080518381529051600160a060020a038516916000916000805160206119f38339815191529181900360200190a350600192915050565b610c9e3382611591565b50565b60408051808201909152600181527f3100000000000000000000000000000000000000000000000000000000000000602082015281565b336000908152600560209081526040808320600160a060020a0386168452909152812054808310610d2c57336000908152600560209081526040808320600160a060020a0388168452909152812055610d61565b610d3c818463ffffffff61132f16565b336000908152600560209081526040808320600160a060020a03891684529091529020555b336000818152600560209081526040808320600160a060020a038916808552908352928190205481519081529051929392600080516020611a13833981519152929181900390910190a35060019392505050565b600654600160a060020a03163314610dcc57600080fd5b80600160a060020a0381161515610de257600080fd5b610dec8383611680565b505050565b600160a060020a031660009081526003602052604090205490565b600654600160a060020a031633146101b657600080fd5b600754600160a060020a0390811691161490565b6000806000fd5b60096020526000908152604090205481565b600260036000909192565b600654600160a060020a031681565b600080600160a060020a038a161515610e8257600080fd5b600160a060020a0389161515610e9757600080fd5b861580610eab575086610ea8611354565b11155b1515610eb657600080fd5b600854604080517fea2aa0a1be11a07ed86d755c93467f4f82362b452371d1ba94d1715123511acb602080830191909152600160a060020a03808f16838501528d166060830152608082018c905260a082018b905289151560c0808401919091528351808403909101815260e090920192839052815191929182918401908083835b60208310610f575780518252601f199092019160209182019101610f38565b51815160209384036101000a6000190180199092169116179052604080519290940182900382207f190100000000000000000000000000000000000000000000000000000000000083830152602283019790975260428083019790975283518083039097018752606290910192839052855192945084935085019190508083835b60208310610ff75780518252601f199092019160209182019101610fd8565b51815160209384036101000a600019018019909216911617905260408051929094018290038220600080845283830180875282905260ff8d1684870152606084018c9052608084018b905294519098506001965060a080840196509194601f19820194509281900390910191865af1158015611077573d6000803e3d6000fd5b50505060206040510351600160a060020a03168a600160a060020a03161415156110a057600080fd5b600160a060020a038a16600090815260096020526040902080546001810190915588146110cc57600080fd5b856110d85760006110dc565b6000195b600160a060020a03808c166000908152600560209081526040808320938e16835292905220819055905085611112576000611114565b865b600160a060020a03808c166000818152600a60209081526040808320948f1680845294825291829020949094558051858152905192939192600080516020611a13833981519152929181900390910190a350505050505050505050565b60018054604080516020600284861615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156107a75780601f1061077c576101008083540402835291602001916107a7565b6000610a718383610cd8565b60006111e383836113ef565b15156111ee57600080fd5b6111f9338484611358565b50600192915050565b610dec338383610863565b611218838383610863565b50505050565b600754600160a060020a031690565b336000908152600560209081526040808320600160a060020a0386168452909152812054611261908363ffffffff61134116565b336000818152600560209081526040808320600160a060020a038916808552908352928190208590558051948552519193600080516020611a13833981519152929081900390910190a350600192915050565b600160a060020a03918216600090815260056020908152604080832093909416825291909152205490565b610dec823383610863565b600654600160a060020a0316331461130157600080fd5b610c9e816116ac565b600a60209081526000928352604080842090915290825290205481565b6000903b1190565b60008282111561133b57fe5b50900390565b8181018281101561134e57fe5b92915050565b4290565b61136182611327565b80156113885750604080516000815260208101909152611386908490849084906113fb565b155b15610dec5761139682610e23565b156113a057600080fd5b60408051600160a060020a0380861682528416602082015280820183905290517f11249f0fc79fc134a15a10d1da8291b79515bf987e036ced05b9ec119614070b9181900360600190a1505050565b6000610a71838361172a565b600083600160a060020a031663a4c0ed367c0100000000000000000000000000000000000000000000000000000000028685856040516024018084600160a060020a0316600160a060020a0316815260200183815260200180602001828103825283818151815260200191508051906020019080838360005b8381101561148c578181015183820152602001611474565b50505050905090810190601f1680156114b95780820380516001836020036101000a031916815260200191505b5060408051601f198184030181529181526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff00000000000000000000000000000000000000000000000000000000909916989098178852518151919790965086955093509150819050838360005b8381101561154757818101518382015260200161152f565b50505050905090810190601f1680156115745780820380516001836020036101000a031916815260200191505b509150506000604051808303816000865af1979650505050505050565b600160a060020a0382166000908152600360205260409020548111156115b657600080fd5b600160a060020a0382166000908152600360205260409020546115df908263ffffffff61132f16565b600160a060020a03831660009081526003602052604090205560045461160b908263ffffffff61132f16565b600455604080518281529051600160a060020a038416917fcc16f5dbb4873280815c1ee09dbd06736cffcc184412cf7a71a0fdb75d397ca5919081900360200190a2604080518281529051600091600160a060020a038516916000805160206119f38339815191529181900360200190a35050565b600160a060020a038216151561169e57611699816117f9565b6116a8565b6116a88282611805565b5050565b600160a060020a03811615156116c157600080fd5b600654604051600160a060020a038084169216907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a36006805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b3360009081526003602052604081205482111561174657600080fd5b600160a060020a038316151561175b57600080fd5b3360009081526003602052604090205461177b908363ffffffff61132f16565b3360009081526003602052604080822092909255600160a060020a038516815220546117ad908363ffffffff61134116565b600160a060020a0384166000818152600360209081526040918290209390935580518581529051919233926000805160206119f38339815191529281900390910190a350600192915050565b30316116a882826118a3565b604080517f70a0823100000000000000000000000000000000000000000000000000000000815230600482015290518391600091600160a060020a038416916370a0823191602480830192602092919082900301818787803b15801561186a57600080fd5b505af115801561187e573d6000803e3d6000fd5b505050506040513d602081101561189457600080fd5b5051905061121884848361190b565b604051600160a060020a0383169082156108fc029083906000818181858888f1935050505015156116a85780826118d86119c2565b600160a060020a039091168152604051908190036020019082f080158015611904573d6000803e3d6000fd5b5050505050565b60408051600160a060020a03841660248201526044808201849052825180830390910181526064909101909152602081810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fa9059cbb000000000000000000000000000000000000000000000000000000001781528251606093600093909290918491828a5af160005193508392508080156101b65750506000835111156119ba578115156119ba57600080fd5b505050505050565b6040516021806119d2833901905600608060405260405160208060218339810160405251600160a060020a038116ff00ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925a165627a7a72305820da715ff88e0288dbae664bb8af2f148726bdc8c499fecf88153280d022031e780029 +``` + +**New permitable token contract bytecode** + +``` +0x6080604052600436106101b35763ffffffff60e060020a60003504166305d2035b81146101b857806306fdde03146101e1578063095ea7b31461026b5780630b26cf661461028f57806318160ddd146102b257806323b872dd146102d957806330adf81f14610303578063313ce567146103185780633644e5151461034357806339509351146103585780634000aea01461037c57806340c10f19146103ad57806342966c68146103d157806354fd4d50146103e957806366188463146103fe57806369ffa08a1461042257806370a0823114610449578063715018a61461046a578063726600ce1461047f5780637d64bcb4146104a05780637ecebe00146104b5578063859ba28c146104d65780638da5cb5b146105175780638fcbaf0c1461054857806395d89b4114610586578063a457c2d71461059b578063a9059cbb146105bf578063b753a98c146105e3578063bb35783b14610607578063c6a1dedf14610631578063cd59658314610646578063d505accf1461065b578063d73dd62314610694578063dd62ed3e146106b8578063f2d5d56b146106df578063f2fde38b14610703578063ff9e884d14610724575b600080fd5b3480156101c457600080fd5b506101cd61074b565b604080519115158252519081900360200190f35b3480156101ed57600080fd5b506101f661076c565b6040805160208082528351818301528351919283929083019185019080838360005b83811015610230578181015183820152602001610218565b50505050905090810190601f16801561025d5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561027757600080fd5b506101cd600160a060020a03600435166024356107fa565b34801561029b57600080fd5b506102b0600160a060020a0360043516610810565b005b3480156102be57600080fd5b506102c761086a565b60408051918252519081900360200190f35b3480156102e557600080fd5b506101cd600160a060020a0360043581169060243516604435610870565b34801561030f57600080fd5b506102c7610a38565b34801561032457600080fd5b5061032d610a5c565b6040805160ff9092168252519081900360200190f35b34801561034f57600080fd5b506102c7610a65565b34801561036457600080fd5b506101cd600160a060020a0360043516602435610a6b565b34801561038857600080fd5b506101cd60048035600160a060020a0316906024803591604435918201910135610aac565b3480156103b957600080fd5b506101cd600160a060020a0360043516602435610bbd565b3480156103dd57600080fd5b506102b0600435610cc8565b3480156103f557600080fd5b506101f6610cd5565b34801561040a57600080fd5b506101cd600160a060020a0360043516602435610d0c565b34801561042e57600080fd5b506102b0600160a060020a0360043581169060243516610de9565b34801561045557600080fd5b506102c7600160a060020a0360043516610e0e565b34801561047657600080fd5b506102b0610e29565b34801561048b57600080fd5b506101cd600160a060020a0360043516610e40565b3480156104ac57600080fd5b506101cd610e54565b3480156104c157600080fd5b506102c7600160a060020a0360043516610e5b565b3480156104e257600080fd5b506104eb610e6d565b6040805167ffffffffffffffff9485168152928416602084015292168183015290519081900360600190f35b34801561052357600080fd5b5061052c610e78565b60408051600160a060020a039092168252519081900360200190f35b34801561055457600080fd5b506102b0600160a060020a0360043581169060243516604435606435608435151560ff60a4351660c43560e435610e87565b34801561059257600080fd5b506101f6610fc5565b3480156105a757600080fd5b506101cd600160a060020a036004351660243561101f565b3480156105cb57600080fd5b506101cd600160a060020a0360043516602435611032565b3480156105ef57600080fd5b506102b0600160a060020a0360043516602435611054565b34801561061357600080fd5b506102b0600160a060020a0360043581169060243516604435611064565b34801561063d57600080fd5b506102c7611075565b34801561065257600080fd5b5061052c611099565b34801561066757600080fd5b506102b0600160a060020a036004358116906024351660443560643560ff6084351660a43560c4356110a8565b3480156106a057600080fd5b506101cd600160a060020a0360043516602435611184565b3480156106c457600080fd5b506102c7600160a060020a036004358116906024351661120b565b3480156106eb57600080fd5b506102b0600160a060020a0360043516602435611236565b34801561070f57600080fd5b506102b0600160a060020a0360043516611241565b34801561073057600080fd5b506102c7600160a060020a0360043581169060243516611261565b60065474010000000000000000000000000000000000000000900460ff1681565b6000805460408051602060026001851615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156107f25780601f106107c7576101008083540402835291602001916107f2565b820191906000526020600020905b8154815290600101906020018083116107d557829003601f168201915b505050505081565b600061080733848461127e565b50600192915050565b600654600160a060020a0316331461082757600080fd5b610830816112c0565b151561083b57600080fd5b6007805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b60045490565b600080600160a060020a038516151561088857600080fd5b600160a060020a038416151561089d57600080fd5b600160a060020a0385166000908152600360205260409020546108c6908463ffffffff6112c816565b600160a060020a0380871660009081526003602052604080822093909355908616815220546108fb908463ffffffff6112da16565b600160a060020a038086166000818152600360209081526040918290209490945580518781529051919392891692600080516020611d7283398151915292918290030190a3600160a060020a0385163314610a225761095a853361120b565b905060001981146109c457610975818463ffffffff6112c816565b600160a060020a038616600081815260056020908152604080832033808552908352928190208590558051948552519193600080516020611d92833981519152929081900390910190a3610a22565b600160a060020a0385166000908152600a602090815260408083203384529091529020541580610a175750600160a060020a0385166000908152600a602090815260408083203384529091529020544211155b1515610a2257600080fd5b610a2d8585856112ed565b506001949350505050565b7f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c981565b60025460ff1681565b60085481565b336000818152600560209081526040808320600160a060020a03871684529091528120549091610807918590610aa7908663ffffffff6112da16565b61127e565b600084600160a060020a03811615801590610ad05750600160a060020a0381163014155b1515610adb57600080fd5b610ae58686611324565b1515610af057600080fd5b85600160a060020a031633600160a060020a03167fe19260aff97b920c7df27010903aeb9c8d2be5d310a2c67824cf3f15396e4c16878787604051808481526020018060200182810382528484828181526020019250808284376040519201829003965090945050505050a3610b65866112c0565b15610bb157610ba633878787878080601f01602080910402602001604051908101604052809392919081815260200183838082843750611330945050505050565b1515610bb157600080fd5b50600195945050505050565b600654600090600160a060020a03163314610bd757600080fd5b60065474010000000000000000000000000000000000000000900460ff1615610bff57600080fd5b600454610c12908363ffffffff6112da16565b600455600160a060020a038316600090815260036020526040902054610c3e908363ffffffff6112da16565b600160a060020a038416600081815260036020908152604091829020939093558051858152905191927f0f6798a560793a54c3bcfe86a93cde1e73087d944c0ea20544137d412139688592918290030190a2604080518381529051600160a060020a03851691600091600080516020611d728339815191529181900360200190a350600192915050565b610cd233826114ad565b50565b60408051808201909152600181527f3100000000000000000000000000000000000000000000000000000000000000602082015281565b336000908152600560209081526040808320600160a060020a0386168452909152812054808310610d6057336000908152600560209081526040808320600160a060020a0388168452909152812055610d95565b610d70818463ffffffff6112c816565b336000908152600560209081526040808320600160a060020a03891684529091529020555b336000818152600560209081526040808320600160a060020a038916808552908352928190205481519081529051929392600080516020611d92833981519152929181900390910190a35060019392505050565b600654600160a060020a03163314610e0057600080fd5b610e0a828261159c565b5050565b600160a060020a031660009081526003602052604090205490565b600654600160a060020a031633146101b357600080fd5b600754600160a060020a0390811691161490565b6000806000fd5b60096020526000908152604090205481565b600260056000909192565b600654600160a060020a031681565b600080861580610e975750864211155b1515610ea257600080fd5b604080517fea2aa0a1be11a07ed86d755c93467f4f82362b452371d1ba94d1715123511acb6020820152600160a060020a03808d16828401528b166060820152608081018a905260a0810189905287151560c0808301919091528251808303909101815260e0909101909152610f17906115da565b9150610f25828686866116e1565b600160a060020a038b8116911614610f3c57600080fd5b600160a060020a038a1660009081526009602052604090208054600181019091558814610f6857600080fd5b85610f74576000610f78565b6000195b905085610f86576000610f88565b865b600160a060020a03808c166000908152600a60209081526040808320938e1683529290522055610fb98a8a836118e3565b50505050505050505050565b60018054604080516020600284861615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156107f25780601f106107c7576101008083540402835291602001916107f2565b600061102b8383610d0c565b9392505050565b600061103e8383611324565b151561104957600080fd5b6108073384846112ed565b61105f338383610870565b505050565b61106f838383610870565b50505050565b7fea2aa0a1be11a07ed86d755c93467f4f82362b452371d1ba94d1715123511acb81565b600754600160a060020a031690565b600080428610156110b857600080fd5b600160a060020a03808a1660008181526009602090815260409182902080546001810190915582517f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c99281019290925281830193909352928b166060840152608083018a905260a0830182905260c08084018a90528151808503909101815260e090930190529250611149906115da565b9050611157818686866116e1565b600160a060020a038a811691161461116e57600080fd5b61117989898961127e565b505050505050505050565b336000908152600560209081526040808320600160a060020a03861684529091528120546111b8908363ffffffff6112da16565b336000818152600560209081526040808320600160a060020a038916808552908352928190208590558051948552519193600080516020611d92833981519152929081900390910190a350600192915050565b600160a060020a03918216600090815260056020908152604080832093909416825291909152205490565b61105f823383610870565b600654600160a060020a0316331461125857600080fd5b610cd281611a3e565b600a60209081526000928352604080842090915290825290205481565b6112898383836118e3565b60001981141561105f57600160a060020a038084166000908152600a60209081526040808320938616835292905290812055505050565b6000903b1190565b6000828211156112d457fe5b50900390565b818101828110156112e757fe5b92915050565b6112f682610e40565b1561105f5760408051600081526020810190915261131990849084908490611330565b151561105f57600080fd5b600061102b8383611abc565b600083600160a060020a031663a4c0ed3660e060020a028685856040516024018084600160a060020a0316600160a060020a0316815260200183815260200180602001828103825283818151815260200191508051906020019080838360005b838110156113a8578181015183820152602001611390565b50505050905090810190601f1680156113d55780820380516001836020036101000a031916815260200191505b5060408051601f198184030181529181526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff00000000000000000000000000000000000000000000000000000000909916989098178852518151919790965086955093509150819050838360005b8381101561146357818101518382015260200161144b565b50505050905090810190601f1680156114905780820380516001836020036101000a031916815260200191505b509150506000604051808303816000865af1979650505050505050565b600160a060020a0382166000908152600360205260409020548111156114d257600080fd5b600160a060020a0382166000908152600360205260409020546114fb908263ffffffff6112c816565b600160a060020a038316600090815260036020526040902055600454611527908263ffffffff6112c816565b600455604080518281529051600160a060020a038416917fcc16f5dbb4873280815c1ee09dbd06736cffcc184412cf7a71a0fdb75d397ca5919081900360200190a2604080518281529051600091600160a060020a03851691600080516020611d728339815191529181900360200190a35050565b80600160a060020a03811615156115b257600080fd5b600160a060020a03831615156115d0576115cb82611b8b565b61105f565b61105f8383611b97565b6000600854826040518082805190602001908083835b6020831061160f5780518252601f1990920191602091820191016115f0565b51815160209384036101000a6000190180199092169116179052604080519290940182900382207f190100000000000000000000000000000000000000000000000000000000000083830152602283019790975260428083019790975283518083039097018752606290910192839052855192945084935085019190508083835b602083106116af5780518252601f199092019160209182019101611690565b5181516020939093036101000a6000190180199091169216919091179052604051920182900390912095945050505050565b6000808460ff16601b14806116f957508460ff16601c145b1515611775576040805160e560020a62461bcd02815260206004820152602260248201527f45434453413a20696e76616c6964207369676e6174757265202776272076616c60448201527f7565000000000000000000000000000000000000000000000000000000000000606482015290519081900360840190fd5b7f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a0831115611813576040805160e560020a62461bcd02815260206004820152602260248201527f45434453413a20696e76616c6964207369676e6174757265202773272076616c60448201527f7565000000000000000000000000000000000000000000000000000000000000606482015290519081900360840190fd5b60408051600080825260208083018085528a905260ff8916838501526060830188905260808301879052925160019360a0808501949193601f19840193928390039091019190865af115801561186d573d6000803e3d6000fd5b5050604051601f190151915050600160a060020a03811615156118da576040805160e560020a62461bcd02815260206004820152601860248201527f45434453413a20696e76616c6964207369676e61747572650000000000000000604482015290519081900360640190fd5b95945050505050565b600160a060020a0383161515611968576040805160e560020a62461bcd028152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460448201527f7265737300000000000000000000000000000000000000000000000000000000606482015290519081900360840190fd5b600160a060020a03821615156119ee576040805160e560020a62461bcd02815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f20616464726560448201527f7373000000000000000000000000000000000000000000000000000000000000606482015290519081900360840190fd5b600160a060020a0380841660008181526005602090815260408083209487168084529482529182902085905581518581529151600080516020611d928339815191529281900390910190a3505050565b600160a060020a0381161515611a5357600080fd5b600654604051600160a060020a038084169216907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a36006805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b33600090815260036020526040812054821115611ad857600080fd5b600160a060020a0383161515611aed57600080fd5b33600090815260036020526040902054611b0d908363ffffffff6112c816565b3360009081526003602052604080822092909255600160a060020a03851681522054611b3f908363ffffffff6112da16565b600160a060020a038416600081815260036020908152604091829020939093558051858152905191923392600080516020611d728339815191529281900390910190a350600192915050565b3031610e0a8282611c44565b604080517f70a0823100000000000000000000000000000000000000000000000000000000815230600482015290518391600091600160a060020a038416916370a0823191602480830192602092919082900301818787803b158015611bfc57600080fd5b505af1158015611c10573d6000803e3d6000fd5b505050506040513d6020811015611c2657600080fd5b5051905061106f600160a060020a038516848363ffffffff611cac16565b604051600160a060020a0383169082156108fc029083906000818181858888f193505050501515610e0a578082611c79611d41565b600160a060020a039091168152604051908190036020019082f080158015611ca5573d6000803e3d6000fd5b5050505050565b82600160a060020a031663a9059cbb83836040518363ffffffff1660e060020a0281526004018083600160a060020a0316600160a060020a0316815260200182815260200192505050600060405180830381600087803b158015611d0f57600080fd5b505af1158015611d23573d6000803e3d6000fd5b505050503d1561105f5760206000803e600051151561105f57600080fd5b604051602180611d51833901905600608060405260405160208060218339810160405251600160a060020a038116ff00ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925a165627a7a72305820b96bb0733a3e45fdddafa592f51114d0cf16cad047ad60b9b91ae91eb772c6940029 +``` + +--- + +// File: about/specs/hard-forks/2508800 + +# #2508800 - 2019-03-06 + +:::caution Archived page +Check the latest hard fork and update your node +::: + +### Info + +* **Network**: xDai (now Gnosis) +* **Date**: 2019-03-06 +* **Block number**: 2508800 + +### Description + +This update disables Constantinople EIP-1283 at block `2508800` in `xDai` network. + +### Solution + +1. Update Parity node to `2.3.2-beta` using [this guide.](https://www.poa.network/for-validators/hard-forks/parity-upgrade-guide) +2. Update `poa-chain-spec/spec.json` - add [eip1283DisableTransition](https://github.com/poanetwork/poa-chain-spec/pull/107/files#diff-42eb5109ad96d4ac46cdcbf18f2938deR38) to `engine.params` section. See [Update spec.json](/concepts/specs/hard-forks/spec.json-update) +3. Organize the HF on block `2508800`. + +### Verify + +```bash +grep -n -A2 2508800 spec.json +``` + +You should see: + +```json +38: "eip1283DisableTransition": 2508800, +39- "registrar": "0x1ec97dc137f5168af053c24460a1200502e1a9d2" +40- }, +``` + +--- + +// File: about/specs/hard-forks/7298030 + +# #7298030 - 2019-12-12 + +:::caution Archived page +Check the latest hard fork and update your node +::: + +* **Network**: xDai (now Gnosis) +* **Date**: 2019-12-12 +* **Block number**: `7298030` + +## Description: Istanbul Upgrade + +* eip1283ReenableTransition +* eip1344Transition +* eip1706Transition +* eip1884Transition +* eip2028Transition + +## Perform Updates + +1. **You must update spec.json and Parity node to version 2.6.5** as the spec format was changed. [Use this guide to upgrade](/concepts/specs/hard-forks/spec.json-update). +2. Organize the HF on block `7298030` + +## Verify + +Once your update is complete, verify the HF block number: + +```bash +grep -n -A2 7298030 spec.json +``` + +You should see: + +```json +39: "eip1283ReenableTransition": 7298030, +40: "eip1344Transition": 7298030, +41: "eip1706Transition": 7298030, +42: "eip1884Transition": 7298030, +43: "eip2028Transition": 7298030, +44- "registrar": "0x1ec97dc137f5168af053c24460a1200502e1a9d2" +45- }, +-- +82: "7298030": { +83- "info": "Istanbul HF", +84- "price": { +-- +104: "7298030": { +105- "info": "Istanbul HF", +106- "price": { +-- +127: "7298030": { +128- "info": "Istanbul HF", +129- "price": { +-- +143: "7298030": { +144- "info": "Istanbul HF", +145- "price": { +``` + +--- + +// File: about/specs/hard-forks/9186425 + +# #9186425 - 2020-04-01 + +:::caution Archived page +Check the latest hard fork and update your node +::: + +* **Network**: xDai (now Gnosis) +* **Date**: 2020-04-01 +* **Block number**: `9186425` + +## Description: POSDAO Activation + +* new ValidatorSet contract +* blockRewardContractTransitions +* randomnessContractAddress +* posdaoTransition +* new Registry contract +* transactionPermissionContract + +## Perform Updates + +1. **You must update spec.json and Parity node to version 2.7.2-posdao-stable**. [Use this guide to upgrade](https://forum.poa.network/t/posdao-activation/3310). +2. Organize the HF on block `9186425` + +## Verify + +Once your update is complete, verify the HF block number: + +```bash +grep -n -A2 9186425 spec.json +``` + +You should see: + +```json +20: "9186425": { +21- "contract": "0xB87BE9f7196F2AE084Ca1DE6af5264292976e013" +22- } +-- +28: "9186425": "0x481c034c6d9441db23Ea48De68BCAe812C5d39bA" +29- }, +30- "randomnessContractAddress": { +-- +31: "9186425": "0x5870b0527DeDB1cFBD9534343Feda1a41Ce47766" +32- }, +33: "posdaoTransition": 9186425 +34- } +35- } +-- +58: "transactionPermissionContractTransition": 9186425 +59- }, +60- "genesis": { +``` + +--- + +// File: about/specs/hard-forks/README + +# Hard Forks + +:::danger +Hard forks are backward-incompatible upgrades used to introduce new functionality or fix security related issues. They are backward-incompatible upgrades, requiring all nodes to upgrade to the latest version to avoid syncing to a pre-fork blockchain. + +Validators will receive instructions to update their nodes in the event of a hard fork. +::: + +Information related to a hard fork will be posted. If any assistance is needed, feel free to reach out or ask questions through [Discord](https://discord.gg/gnosis), the [forum](https://forum.gnosis.io) or other channels. + +--- + +// File: about/specs/hard-forks/dencun + +# What is Dencun hardfork? + +Dencun hardfork activates all EIPs also activated on [Ethereum mainnet](https://eips.ethereum.org/EIPS/eip-7569). +The table below lists differences if any. + +| EIP | Scope | | +| --------------------------------------------------------------------------------------------- | ------ | -------------------------------------------- | +| [EIP-1153](https://eips.ethereum.org/EIPS/eip-1153): Transient storage opcodes | EL | Not modified | +| [EIP-4788](https://eips.ethereum.org/EIPS/eip-4788): Beacon block root in the EVM | CL, EL | Not modified, same addresses as Ethereum | +| [EIP-4844](https://eips.ethereum.org/EIPS/eip-4844): Shard Blob Transactions | CL, EL | Constants maybe modified from Ethereum (\* ) | +| [EIP-5656](https://eips.ethereum.org/EIPS/eip-5656): MCOPY - Memory copying instruction | EL | Not modified | +| [EIP-6780](https://eips.ethereum.org/EIPS/eip-6780): SELFDESTRUCT only in same transaction | EL | Not modified | +| [EIP-7044](https://eips.ethereum.org/EIPS/eip-7044): Perpetually Valid Signed Voluntary Exits | CL | Not modified | +| [EIP-7045](https://eips.ethereum.org/EIPS/eip-7045): Increase max attestation inclusion slot | CL | Not modified | +| [EIP-7514](https://eips.ethereum.org/EIPS/eip-7514): Add Max Epoch Churn Limit | CL | Constants maybe modified from Ethereum (\* ) | +| [EIP-7516](https://eips.ethereum.org/EIPS/eip-7516): BLOBBASEFEE opcode | EL | Not modified | + +\* See [Differences with Ethereum mainnet](#differences-with-ethereum-mainnet) + +Note: The trusted setup required for [deneb's cryptography](https://github.com/ethereum/consensus-specs/blob/dev/specs/deneb/polynomial-commitments.md#trusted-setup) is the same as defined in Ethereum's consensus spec release v1.4.0, which can be found [here](https://github.com/gnosischain/specs/blob/master/consensus/preset/gnosis/trusted_setups/trusted_setup_4096.json). + +## Differences with Ethereum mainnet + +### [EIP-4844](https://eips.ethereum.org/EIPS/eip-4844) + +Gnosis chain has slots significantly faster than Ethereum. Bigger blocks _could_ have a higher cost to the network than Ethereum so we may price blobs differently. Ethereum mainnet has chosen a target of 3 blobs from real live experiments on mainnet with big blocks. Consequently this parameters may not be adequate. + +Gnosis chain has significantly cheaper fees than mainnet, so blob spam is a concern. Ethereum's `MIN_BLOB_GASPRICE` makes blob space free (1e-18 USD / blob) if usage is under the target for a sustained period of time. The same concern applies to Ethereum, but consensus is that choosing a specific value that may apply to only some market conditions and not others. Given that Gnosis native token is a stable coin, this concerns are mitigated. Given usage under target for regular txs and blob data, setting min blob gas price to 1 GWei reduces the cost per byte by a factor of 16. + +| Constant | Value | +| ----------------------------- | ---------- | +| MIN_BLOB_GASPRICE | 1000000000 | +| TARGET_BLOB_GAS_PER_BLOCK | 131072 | +| MAX_BLOB_GAS_PER_BLOCK | 262144 | +| BLOB_GASPRICE_UPDATE_FRACTION | 1112826 | + +### [EIP-7514](https://eips.ethereum.org/EIPS/eip-7514) + +Gnosis chain has both a lower `CHURN_LIMIT_QUOTIENT` and faster epoch times. A `MAX_PER_EPOCH_ACTIVATION_CHURN_LIMIT` value of 2 provides a good trade-off to: + +- Limit max state growth in the next year to 1M validators +- Increase the minimum time for a 2/3 malicious take-over to 150 days at current validator set sizes +- Allow validator set growth to prevent long queues unless there's exceptional demand + +| Constant | Value | +| ------------------------------------ | ----- | +| MAX_PER_EPOCH_ACTIVATION_CHURN_LIMIT | 2 | + +## Upgrade Schedule + +| Network | Timestamp | Date & Time (UTC) | Fork Hash | Beacon Chain Epoch | +| ------- | ---------- | --------------------------------- | --------- | ------------------ | +| Chiado | 1706724940 | Wed Jan 31 2024 18:15:40 GMT+0000 | 0x5fbc16bc | 516608 | +| Mainnet | 1710181820 | Monday March 11 202418:30:20 +UTC | 0x1384dfc1 | 889856 | + +## How to Prepare + +### For Validators + +Update your clients: + + Execution Layer + + - â NethermindEth [v1.25.4+](https://github.com/NethermindEth/nethermind/releases/) + - â ErigonEth [v2.58.0+](https://github.com/ledgerwatch/erigon/releases/) + + Consensus Layer + + - â Lighthouse [v5.0.0+](https://github.com/sigp/lighthouse/releases/) + - â Teku [v24.2.0+](https://github.com/Consensys/teku/releases/) + - â Nimbus [v24.2.1+](https://github.com/status-im/nimbus-eth2/releases/) + - â Lodestar [v1.16.0+](https://github.com/ChainSafe/lodestar/releases/) + +--- + +// File: about/specs/hard-forks/eip-1559 + +# EIP-1559 + +## When EIP-1559 + +:::success EIP-1559 is live on Gnosis. + +* **Network**: Gnosis +* **Date Implemented**: November 12, 2021 +* **Block number**: `19,040,000` +::: + +## What is EIP-1559 + +EIP 1559 introduces a `BASEFEE` for all blockchain transactions. This is a minimum fee charged for each transaction, and it is adjusted depending on network congestion (gas usage per block). When gas usage is high, the fee increases, and when it is low, the fee decreases. + +Once collected, base fees are burned by the protocol rather than paid directly to the miners (or validators in the case of xDai). In addition to the base fee, a `PRIORITYFEE` can be added to a transaction as a tip to incentivize miners (validators) to include it in a block. + +## How 1559 impacts the Gnosis + +When EIP-1559 is implemented, xDai base fees will be burned within the protocol. This will result in a discrepancy between the xDai balance on the network and the DAI balance from Ethereum locked in the xDai bridge. To fix this imbalance, the corresponding amount of DAI on the mainnet will need to be used as well. + +The imbalance has not resulted in large discrepancies, and the DAI balance has not been used as of yet. + +Information on the burn is available here: [https://dune.com/gnosischain_team/EIP-1559-on-xDai](https://dune.com/gnosischain_team/EIP-1559-on-xDai) + +**Block size is also increased to 34M with this upgrade.** + +:::info +For more info about EIP-1559 on Ethereum and how it works, see the list of [EIP-1559 resources](https://hackmd.io/@timbeiko/1559-resources) compiled by Tim Beiko. +::: + +--- + +// File: about/specs/hard-forks/merge + +:::danger +Hard forks are backward-incompatible upgrades used to introduce new functionality or fix security related issues. They are backward-incompatible upgrades, requiring all nodes to upgrade to the latest version to avoid syncing to a pre-fork blockchain. +::: + +- **Network**: Gnosis +- **Beacon block number**: `6,306,357` +- **Completed:** 8 December 2022 +- [Merged successful announcement](/updates/2022/12/10/merge) + +# The Merge + +In early December 2022, Gnosis underwent the Merge. The Gnosis execution layer (formerly xDai) has been merged with the [Gnosis Beacon Chain](../gbc/README.md), in a process similar to the [Ethereum merge](https://ethereum.org/en/upgrades/merge/). + +The Merge represents an important shift for Gnosis, replacing the legacy [Proof-of-Authority consensus](../consensus/aura.md) with the open and unpermissioned [Beacon Chain Consensus](../gbc/README.md). This allows Gnosis to transition to a fully decentralized and permissionless proof-of-stake network. + +The Merge is also another step in Gnosis' journey together with Ethereum. From the early days of xDai at ETHDenver, Gnosis has had a role in Ethereum's journey. With the adoption of Ethereum's consensus mechanism, Gnosis will continue to contribute to Ethereum's growth as an experimental chain, where newcomers, experiments and ideas are welcome. + +## When did the Merge happen? + +:::tip + +The week of 5th Dec 2022 + +::: + +On the 9 Nov 2022 Gnosis Core Devs call, it was agreed to target **the week of 5th Dec 2022** for the Merge. Due to variances in block time, the Merge will likely happen sometime from **5th to 11th Dec 2022.** + +### TTD + +With the 5th Dec 2022 target in mind, the Core Devs have proposed the following TTD value: + +``` +8626000000000000000000058750000000000000000000 +``` + +This number was not chosen randomly: to pay tribute to the Ethereum Merge, Core Devs have proposed to include [Ethereum's TTD](https://notes.ethereum.org/@MarioHavel/merge-ttd), `58750000000000000000000`, in the Gnosis Merge TTD. + +### Bellatrix + +Similar to Ethereum, the Gnosis Beacon Chain have had a [Bellatrix epoch](https://blog.ethereum.org/2022/08/24/mainnet-merge-announcement) that occurred prior to the Merge. + +:::danger + +The Bellatrix upgrade is a hard fork. Nodes that aren't upgraded when the upgrade is released risk syncing to a pre-fork blockchain. + +::: + +## Timeline + +| Date | Event | +| ------------------- | ----------------------------------------------- | +| 15 Nov 2022 (Wed) | Merge Date announced publicly | +| 23 Nov 2022 (Wed) | Release of merge-ready Client Images | +| 23 Nov 2022 (Wed) | Release of revamped Validator Docs | +| 30 Nov 2022 (Wed) | Bellatrix epoch hit for Consensus Layer clients | +| 5-11 Dec 2022 (Mon) | Estimated TTD window for Gnosis Merge | + +## How to Prepare + +### For Validators + +:::caution + +Merge-ready clients releases can be downloaded from the link below. Please check and download the latest version of release for your clients. +Latest announcements will be made in the #validators channel in Gnosis Discord and on Twitter. + +::: + +**EL client** + +| Client | Merge ready release | Status | +| ---------- | ------------------- | ------------------------------------------------------------------ | +| Nethermind | v1.14.6 | â https://github.com/NethermindEth/nethermind/releases/tag/1.14.6 | +| Erigon | TBA | â Coming soon | + +**CL client** + +| Client | Merge ready release | Status | +| ---------- | ------------------- | ---------------------------------------------------------------------- | +| Teku | v22.11.0 | â Available https://github.com/ConsenSys/teku/releases/tag/22.11.0 | +| Lodestar | v1.2.2 | â Available https://github.com/ChainSafe/lodestar/releases/tag/v1.2.2 | +| Lighthouse | v3.3.0 | â Available (https://github.com/sigp/lighthouse/releases/tag/v3.3.0) | +| Nimbus | TBA | â Coming soon | +| Prysm | N/A | â Advised to switch to other clients. | + +**DAppNode Packages** + +| Package | Merge ready release | Status | +| ----------------------------------------- | ------------------- | ---------------------------------------------------------------------------------------------- | +| DAppNodePackage-nethermind-xdai | v1.0.17 | â Available https://github.com/dappnode/DAppNodePackage-nethermind-xdai/releases/tag/v1.0.17 | +| DAppNodePackage-teku-gnosis | v0.1.4 | â Available https://github.com/dappnode/DAppNodePackage-teku-gnosis/releases/tag/v0.1.4 | +| DAppNodePackage-web3signer-gnosis | v0.1.9 | â Available https://github.com/dappnode/DAppNodePackage-web3signer-gnosis/releases/tag/v0.1.9 | +| DAppNodePackage-lighthouse-gnosis | 0.1.4 | â Available https://github.com/dappnode/DAppNodePackage-lighthouse-gnosis/releases/tag/v0.1.4 | +| DAppNodePackage-gnosis-beacon-chain-prysm | đŤ TBA | âł TBA | +| DAppNodePackage-Lodestar-Gnosis | đĄ TBA | âł After Merge | +| DAppNodePackage-nimbus-gnosis | đĄ TBA | âł After Merge | + +### For DApps + +- The Merge deprecated Gnosis' RandomAuRa on-chain randomness, and developers should find alternatives +- Gnosis' Merge will be similar to the Ethereum Merge, and DApps should prepare accordingly for changes to `block.difficulty`, blockhash randomness, and block times and finalization. +- We recommend the Ethereum.org article on [How the Merge affects the Application Layer](https://blog.ethereum.org/2021/11/29/how-the-merge-impacts-app-layer) +- We recommend 0xMacro's post on [What Solidity Devs should know about Ethereum's Merge](https://0xmacro.com/blog/what-solidity-devs-should-know-about-ethereums-merge/) + +--- + +// File: about/specs/hard-forks/pectra + +# Pectra hardfork + +This hard fork activates all EIPs also activated on Ethereum mainnet [hard-fork](https://eips.ethereum.org/EIPS/eip-7600) EIP. + +The table below lists differences if any. +| EIP | Scope | | +| - | - | - | +| [EIP-2537](https://eips.ethereum.org/EIPS/eip-2537): Precompile for BLS12-381 curve operations | EL | Not modified +| [EIP-2935](https://eips.ethereum.org/EIPS/eip-2935): Save historical block hashes in state | EL | Not modified +| [EIP-6110](https://eips.ethereum.org/EIPS/eip-6110): Supply validator deposits on chain | EL | Not modified +| [EIP-7002](https://eips.ethereum.org/EIPS/eip-7002): Execution layer triggerable exits | EL | Not modified, same addresses as Ethereum +| [EIP-7251](https://eips.ethereum.org/EIPS/eip-7251): Increase the MAX_EFFECTIVE_BALANCE | CL | Not modified +| [EIP-7549](https://eips.ethereum.org/EIPS/eip-7549): Move committee index outside Attestation | CL | Not modified +| [EIP-7623](https://eips.ethereum.org/EIPS/eip-7623): Increase calldata cost | EL | Not modified +| [EIP-7685](https://eips.ethereum.org/EIPS/eip-7685): General purpose execution layer requests | Both | Not modified +| [EIP-7691](https://eips.ethereum.org/EIPS/eip-7691): Blob throughput increase | Both | Constants modified +| [EIP-7702](https://eips.ethereum.org/EIPS/eip-7702): Set EOA account code | EL | Not modified +| [EIP-7840](https://eips.ethereum.org/EIPS/eip-7840): Add blob schedule to EL config files | EL | Not modified +| [EIP-4844-pectra](https://eips.ethereum.org/EIPS/eip-4844): Collect Blob Gas Fee | EL | Added + +* See [Differences with Ethereum mainnet](#differences-with-ethereum-mainnet) + + + +## Impact of Pectra hardfork + +- EOAs will have super powers of smart accounts allowing wallets to do batched transactions, sponsored transactions,etc via [EIP 7702](https://eips.ethereum.org/EIPS/eip-7702) + +- Validators will have higher potential of earning rewards through increased maximum stake per validator [ EIP 7251](https://eips.ethereum.org/EIPS/eip-7251) + +- Auto-compounding for large validators, reduced operational costs through optimized signature aggregation (EIP-7549), and a streamlined withdrawal process via the execution layer (EIP-7002). + +- Optimized blob gas pricing via EIP 7691. + +## Pectra Timeline +| Network | Timestamp | Date & Time (UTC) | Fork Hash | Beacon Chain Epoch | +| ------- | ------------ | ----------------------------- | ---------- | ------------------ | +| Chiado | 1741254220 | Mar-06-2025 09:43:40 +UTC | 0x8ba51786 | 948224 | +| Mainnet | 1746021820 | Apr-30-2025 14:03:40 +UTC | 0x2f095d4a | 1337856 | + +-------- + +## How to Prepare for upgrade + +### For Validators + +Update your clients: + + Execution Layer + + - â NethermindEth [v1.31.9](https://github.com/NethermindEth/nethermind/releases/tag/1.31.9) + - â ErigonEth [v3.0.2](https://github.com/erigontech/erigon/releases/tag/v3.0.2) + - â Reth [Link to client](https://github.com/gnosischain/reth_gnosis/pkgs/container/reth_gnosis) + - â Geth [v1.15.10-gc](https://github.com/gnosischain/go-ethereum/releases/tag/v1.15.10-gc) + + Consensus Layer + + - â Lighthouse [v7.0.1](https://github.com/sigp/lighthouse/releases/tag/v7.0.1) + - â Teku [v25.4.1](https://github.com/Consensys/teku/releases/tag/25.4.1) + - â Nimbus [v25.4.1](https://github.com/status-im/nimbus-eth2/releases/tag/v25.4.1) + - â Lodestar [v1.29.0](https://github.com/ChainSafe/lodestar/releases/tag/v1.29.0) + - â Prysm [v6.0.0](https://github.com/OffchainLabs/prysm/releases/tag/v6.0.0) + +--- + +// File: about/specs/hard-forks/shanghai-capella + +# What is Shanghai/Capella hardfork? + +Shanghai/Capella hardfork enables validator withdrawal and several execution layer update on Gnosis Chain. EIPs that are included in this hardfork: EIP-3651, EIP-3855, EIP-3860, EIP-6049. + +Validator withdrawal allows a validator's account balance get withdrawn from Beacon Chain to Execution Layer, in the form of GNO. The GNO will be accrued on validator's withdrawal address on the Execution Layer, which is set using `eth1_withdrawal_address` option during validator key generation. + +Check out [validator withdrawal](/node/management/withdrawals) for more details. + +## Upgrade Schedule + +| Network | Timestamp | Date & Time (UTC) | Fork Hash | Beacon Chain Epoch | +| ------- | ------------ | ----------------------------- | --------- | ------------------ | +| Chiado | 1684934220 | May-24-2023 13:17:00 +UTC | 0xa15a4252 | 244224 | +| Mainnet | 1690889660 | Aug-01-2023 11:34:20 +UTC | 0x2efe91ba | 648704 | + +## How to Prepare + +### For Validators + +1. Check Withdrawal Credentials + + For any type of withdrawals, a validator need to have `0x01` withdrawal credential. Youâre fine if you used `--eth1_withdrawal_address` to create your validator keys. If not, tooling will be made available. + + Refer to [validator withdrawal](/node/management/withdrawals#check-withdrawal-credential) for more details. + +2. Update your clients + + Execution Layer: + + â NethermindEth [v1.19.3](https://github.com/NethermindEth/nethermind/releases/tag/1.19.3) + â ErigonEth [v2.48.0](https://github.com/ledgerwatch/erigon/releases/tag/v2.48.0) + + Consensus Layer: + + â Lighthouse [v4.3.0](https://github.com/sigp/lighthouse/releases/tag/v4.3.0) + â Teku [v23.6.1](https://github.com/Consensys/teku/releases/tag/23.6.1) + â Nimbus v23.6.0 (only with the following Docker image: http://ghcr.io/gnosischain/gnosis-nimbus-eth2:v23.6.0) + â Lodestar [v1.9.1](https://github.com/ChainSafe/lodestar/releases/tag/v1.9.1) + + DAppNode Packages + + â Teku Gnosis v0.1.9 + â Lighthouse Gnosis v0.1.10 + â Lodestar Gnosis v0.1.2 + â Nethermind xDAI v1.0.34 + âď¸ Erigon and Nimbus - Forthcoming + +## How to claim your withdrawal? + +### Partial Withdrawal + +As we have modified some specs regarding the withdrawals to enable withdrawing GNO instead of the native gas token xDai, unlike Ethereum, partial withdrawals currently do not happen automatically. So, for now, you will need to call [`claimWithdrawal`](https://gnosisscan.io/address/0x0b98057ea310f4d31f2a452b414647007d1645d9#writeProxyContract#F3) function on the [contract](https://gnosisscan.io/address/0x0b98057ea310f4d31f2a452b414647007d1645d9#writeProxyContract). However, it is in our plans to automate and subsidize partial withdrawals in the future. + +### Full Withdrawal + +Please check guide on [voluntary exit](/node/management/voluntary-exit). + +--- + +// File: about/specs/hard-forks/spec.json-update + +# Spec.json update + +:::caution Archived page +Check the latest hard fork and update your node +::: + +:::info +This guide assumes that you're running this playbook from the same machine you used to make initial deployment of your node. You should already have `python` and `ansible` installed, and you have the correct ssh keypair to root-access the node. +::: + +1\) If you already have a cloned version of the poa-devops repository ([https://github.com/poanetwork/poa-devops.git](https://github.com/poanetwork/poa-devops.git)), pull the latest changes: + +```bash +cd poa-devops +git pull origin master +``` + +otherwise, clone this repository: + +```bash +git clone https://github.com/poanetwork/poa-devops.git +cd poa-devops +``` + +1\) create `group_vars/all` file: + +```bash +cp group_vars/hf-spec-change.example group_vars/all +``` + +and set the following variables: + +1. `poa_role` - node's role (one of `bootnode`, `validator`, `moc`, `explorer`, `netstat`) +2. `MAIN_REPO_FETCH: "poanetwork"`) +3. `GENESIS_BRANCH: "dai"` ) + +2\) Create/edit `hosts` file: + +```bash +echo "" > hosts +``` + +and put your node's ip address (assuming it's 192.0.2.1) as follows: + +```bash +[hf-spec-change] +192.0.2.1 +``` + +make sure you don't have other tags (`[...]`) in hosts file, **and double check you are using your DAI node's IP address**. + +For those who host multiple nodes: + +* if all your nodes are of the same role (e.g. all bootnodes), you can run this playbook on all of them by listing their ips, e.g. + + ``` + [hf-spec-change] + 192.0.2.1 + 192.0.2.2 + 192.0.2.3 + 192.0.2.4 + ``` + +* if you host nodes of different types you can set `poa_role` individually against the corresponding ip address like so: + + ``` + [hf-spec-change] + 192.0.2.1 poa_role=explorer + 192.0.2.2 + 192.0.2.3 poa_role=moc + 192.0.2.4 + ``` + + on lines where you omitted explicit `poa_role`, the value from `group_vars/all` is used. + +3\) Run the playbook: + +```bash +ansible-playbook -i hosts site.yml +``` + +:::warning +**I**f you get a ssh connection error, try to add `-e 'ansible_ssh_user=ubuntu'` to the command line above, substituting `ubuntu` with correct ssh username, which is usually either `ubuntu` or `root` or `poa` or `centos` depending on your setup +::: + +4\) Verify that your node is active in netstat ([https://dai-netstat.poa.network/](https://dai-netstat.poa.network/)) + +5\) connect to the node + +```bash +ssh root@192.0.2.1 +``` + +switch to the home folder of corresponding role: + +```bash +# substitute validator with your node's role (bootnode, moc, ...) +cd /home/validator +``` + +and check the update time of `spec.json` (should be about the time you started the playbook) + +```bash +ls -lh +# a long list should appear here, look for spec.json in the rightmost column and check the date and time on the same row +``` + +also check that backup was created: + +```bash +ls -lh spec-hfs/ +# look for a file named similar to spec-hf-20180108-174649.json Numbers represent date and time in UTC when the playbook was started +``` + +--- + +// File: about/specs/security-audit + +# Security Audits + +:::info +Most Audits were completed prior to the rebrand from xDai Chain to Gnosis, and will refer to the xDai chain as well as the STAKE token, the previous governance token of the chain (the chain is in the process of transferring to GNO-only security). +::: + +## Stake Beacon Chain by ChainSecurity + +**Completed:** October 1, 2021 + +**Conclusion:** During the assessment one critical issue was found and fixed following the intermediate report. The remaining issues were of low severity and were fixed accordingly. The communication with the team was very responsive. + +**Audit Report**: [https://chainsecurity.com/security-audit/poa-network-stake-beacon-chain-sbc-deposit/](https://chainsecurity.com/security-audit/poa-network-stake-beacon-chain-sbc-deposit/) + +## OmniBridge v6.0 Smart Contracts Audit by ChainSecurity + +**Completed:** September 7, 2021 + +**Conclusion**: The assessment uncovered a number of potential issues which were resolved by the team. Two additional issues were acknowledged and largely mitigated by the team, and the original severities are no longer applicable. These upgrades to the Omnibridge provide additional functionality which will be implemented in the future. + +* **Contracts:** [https://github.com/poanetwork/omnibridge](https://github.com/poanetwork/omnibridge) +* **Audit Report** + +[ChainSecurity_POA_Network_Omnibridge_Version_6_0_audit.pdf](/files/ChainSecurity_POA_Network_Omnibridge_Version_6_0_audit.pdf) + +## POSDAO Audit by ChainSecurity + +**Completed:** June 25, 2021 + +**Conclusion**: The assessment uncovered several issues which were addressed or acknowledged by the team. No "critical" severity security flaws preventing continued usage or launch of contracts in future contexts were found. 0 Critical Issues, 1 High Risk Issue Accepted, 4 Medium Issues Accepted/Acknowledged, 4 Low Risk Issues Accepted/Acknowledged. + +* **Contracts:** [https://github.com/poanetwork/posdao-contracts](https://github.com/poanetwork/posdao-contracts) +* **Audit Report in repo**: [https://github.com/poanetwork/posdao-contracts/blob/master/audit/ChainSecurity/report.pdf](https://github.com/poanetwork/posdao-contracts/blob/master/audit/ChainSecurity/report.pdf) + +:::success more info +[https://chainsecurity.com/security-audit/poa-network-posdao/](https://chainsecurity.com/security-audit/poa-network-posdao/) +::: + +## OmniBridge Audit by ChainSecurity + +**Completed:** April 27, 2021 + +**Conclusion**: 0 Critical or High Risk Issues, 2 Medium Issues Accepted, 3 Low Risk Issues Accepted/Acknowledged + +**Contracts:** [https://github.com/poanetwork/omnibridge](https://github.com/poanetwork/omnibridge)â + +:::success more info +[https://chainsecurity.com/security-audit/poa-network-omnibridge/](https://chainsecurity.com/security-audit/poa-network-omnibridge/) +::: + +## TokenBridge Audit by Quantstamp (covers OmniBridge) + +**Completed:** November 6, 2020 + +**Conclusion**: No high and medium risk issues found, all low risk issues addressed. + +**Contracts:** Revised in version 5.5.0-rc0 to address audit. [https://github.com/poanetwork/tokenbridge-contracts/releases/tag/5.5.0-rc0](https://github.com/poanetwork/tokenbridge-contracts/releases/tag/5.5.0-rc0) + +:::success [Quantstamp Security Audit PDF](https://github.com/poanetwork/tokenbridge/blob/master/audit/quantstamp/POA-Network-TokenBridge-contracts-5.4.1-security-assessment-report.pdf) +::: + +## EasyStaking Audit by Quantstamp + +**Completed:** August 3, 2020 + +**Conclusion:** All high/medium/low risk issues resolved. + +[XDai-Easy-Staking-Final-Report.pdf](/files/XDai-Easy-Staking-Final-Report.pdf) + +## TokenBridge Audit by Quantstamp (covers xDai bridge functionality) + +**Completed:** January 8, 2020 + +**Conclusion**: All high risk issues resolved and low risk issues addressed. [More information available in this post](https://forum.poa.network/t/quantstamp-security-audit-for-tokenbridge-contracts-completed/3233). + +**Contracts:** Revised in version 3.3.0 to address audit. [https://github.com/poanetwork/tokenbridge-contracts/releases/tag/3.3.0](https://github.com/poanetwork/tokenbridge-contracts/releases/tag/3.3.0) + +:::success [Quantstamp TokenBridge Security Audit PDF](https://github.com/poanetwork/tokenbridge/blob/73d500210546e2959536dc569f1aec5752077225/audit/quantstamp/POA-Network-Token-bridge-security-assessment-report.pdf) +::: + +## STAKE Token Distribution by Quantstamp + +#### **STAKE Token Distribution Audit** + +**Completed:** June 24, 2020\ +\ +**Conclusion**: No High or Medium risks, all low and informational risks addressed + +:::success [Quantstamp STAKE Security Audit PDF](https://github.com/xdaichain/stake-token/blob/master/audit/Quantstamp/xDAI%20STAKE%20Token%20Distribution%20-%20Additional%20Report.pdf) +::: + +#### **DPOS Audit** + +In the original audit, the working name for the staking token was DPOS. This changed to STAKE. + +**DPOS Audit Completed:** September 5, 2019\ +\ +**Conclusion**: All risks resolved. \ +\ +**Contracts:** Version 1.0.1 addressed items in audit.\ +[https://github.com/xdaichain/stake-token/releases/tag/v1.0.1](https://github.com/xdaichain/stake-token/releases/tag/v1.0.1) + +:::success [Quantstamp DPOS Security Audit PDF](https://github.com/xdaichain/stake-token/blob/master/audit/Quantstamp/DPOS%20token-Audit%20Final%20Report.pdf) +::: + +#### **STAKE Legal Opinion** + +The token constitutes a VFA in terms of Maltese law. Please contact [team@xdaichain.com ](mailto:team@xdaichain.com)to request access to the document. + +## POSDAO Initial Security Audit by PepperSec + +**Completed**: August 2019 + +**Conclusion**: All issues fixed or addressed. Due to scalability concerns, teams created a new methodology to accumulate and later âpullâ their stakes and rewards instead of the âpushâ strategy as implemented in the audited version of the contracts. + +**Contracts:** Version 0.1.0 addresses issues present in audit. [https://github.com/poanetwork/posdao-contracts/releases/tag/v0.1.0](https://github.com/poanetwork/posdao-contracts/releases/tag/v0.1.0) + +:::success [POSDAO v1 Consensus Contracts audit](https://forum.poa.network/t/security-audits-of-posdao-consensus-contracts/2921) +::: + +--- + +// File: about/tokens/README + +# Tokens + +Gnosis is a stable payments EVM (Ethereum Virtual Machine) blockchain designed for fast and inexpensive transactions. The chain uses a unique dual-token model; [xDai](/about/tokens/xdai/) is a stable token used for transactions, payments, and fees, and Proof of Stake protection will be provided by [GNO](/about/tokens/gno/) with the consensus-layer Gnosis Beacon Chain. + +| | xDai â | GNO 𦸠| +| -- | ------- | ------ | +| **Purpose** | - Stable Payments
+
+
+
+
+
+
+
+ Fast transaction times (5 seconds) & low transaction fees (500 tx for $0.01)
+A stable token for transactions & gas fees
+Smart Contract, DApp & [toolset](/tools) compatibility with other Ethereum-based chains like Ethereum, Ethereum Classic, BSC and others.
+Fully-featured explorers [Gnosisscan](https://gnosisscan.io) and [BlockScout](https://blockscout.com/xdai/mainnet).
+Growing ecosystem designed to support stable person-to-person transactions, micro transactions, conference currencies, community currencies, DeFi, NFTs, DAOs, games and more.
+Wide-ranging [Community Support](/about/communication).
+Modified beaconchain explorer
đ beacon.gnosischain.com
4096 validators
131,072 mGNO
83% APY
| -| Security Goal Prior to Merge |50K+ validators
1.6M+ mGNO
23% APY
| - ---- - -// File: about/specs/gbc/upgradeability - -# Upgradeability - -One differentiator for the Gnosis Beacon Chain relative to the Ethereum Beacon chain is the ability to upgrade contracts. A proxy pattern allows for this functionality, which can be extremely useful if an update is required (a bug is found, new functionality added etc). - -However, this also introduces issues of administrative responsibility. No one entity should solely control contract updates. - -A multi-sig Gnosis Safe is used to expand admin responsibilities to a larger entity. The controlling assembly is a Governance Board consisting of known and active projects who have contributed to the Gnosis and Ethereum community for some time. - -A proposed upgrade is presented to this board and a minimum of 7 signatures are required to enact any proposal. -c -[Governance Board Members](../../../bridges/management#current-bridge-governors) - -### Contracts managed by the Governance Board - -- Deposit Contract: [0x0B98057eA310F4d31F2a452B414647007d1645d9](https://gnosis.blockscout.com/address/0x0B98057eA310F4d31F2a452B414647007d1645d9/read-contract) - ---- - -// File: about/specs/hard-forks/1604400 - -# #1604400 - 2019-01-11 - -:::caution Archived page -Check the latest hard fork and update your node -::: - -### Info - -* **Network**: xDai (now Gnosis) -* **Date**: 2019-01-11 -* **Block number**: 1604400 - -### Description - -This update introduces Constantinople fork at block `1604400` in `xDai` network. - -### Solution - -1. Update Parity node to `2.2.5-beta` using [the guide](https://www.poa.network/for-validators/hard-forks/parity-upgrade-guide). -2. Update `poa-chain-spec/spec.json` - add Constantinople's [transitions](https://github.com/poanetwork/poa-chain-spec/pull/99/files#diff-42eb5109ad96d4ac46cdcbf18f2938de) to `engine.params` section. See [spec.json update](/concepts/specs/hard-forks/spec.json-update). -3. Organize the HF on block `1604400`. - -### Verify - -```bash -grep -n -A2 1604400 spec.json -``` - -You should see: - -```json -34: "eip145Transition": 1604400, -35: "eip1014Transition": 1604400, -36: "eip1052Transition": 1604400, -37: "eip1283Transition": 1604400, -38- "registrar": "0x1ec97dc137f5168af053c24460a1200502e1a9d2" -39- }, -``` - ---- - -// File: about/specs/hard-forks/16101500 - -# #16101500 - 2021-05-17 - -:::caution Archived page -Check the latest hard fork and update your node -::: - -* **Network**: xDai (now Gnosis) -* **Date**: 2021-05-17 -* **Block number**: `16101500` - -## Client Updates - -### OpenEthereum - -Please update to `v3.2.5` which contains Berlin hard fork transition and the new enodes: [https://github.com/openethereum/openethereum/releases/tag/v3.2.5](https://github.com/openethereum/openethereum/releases/tag/v3.2.5) - -Perform a DB migration if your run OE version < v3.2.0 - -If your node works on an old version of Parity, you need to convert node's DB to the format compatible with OpenEthereum v3.2.x. You can use this tool [https://github.com/openethereum/3.1-db-upgrade-tool](https://github.com/openethereum/3.1-db-upgrade-tool) - -### Nethermind - -Please update to `v1.10.67` which contains Berlin hard fork transition. [More on Nethermind](/node/manual). - -## Description: Berlin HF - -* EIP-2565 (ModExp Gas Cost) Allows RSA signature verification. -* EIP-2929 (Gas cost increases for state access opcodes) Algorithm for calculating gas costs. Costs increase for SLOAD, _CALL, BALANCE, EXT_ and SELFDESTRUCT for the first time. Adds resilience for DoS attacks. -* EIP-2718 (Typed Transaction Envelope) Implements a new transaction type that supports multiple transactions. -* EIP-2930 (Optional access lists) Lst of addresses and storage keys a transaction will access, resulting in easier processing and reduced gas usage. - ---- - -// File: about/specs/hard-forks/19040000 - -# #19040000 - 2021-11-12 - -:::caution Archived page -Check the latest hard fork and update your node -::: - -* **Network**: Gnosis -* **\~Date**: 2021-11-12 -* **Block number**: `19,040,000` - -## Client Updates - -### OpenEthereum - -Please update to `v3.3.0` **RC 15** which contains the London hard fork transition. - -:::info -Most node operators use the --chain=xdai flag when running a node. In this case, you will only need to update the client. If you use a local spec.json file, you will need to [upgrade to this version](https://raw.githubusercontent.com/poanetwork/poa-chain-spec/dai/spec.json) before restarting your node with the updated OE version. -::: - -1. Set docker image in `docker-compose.yml` to - - image: openethereum/openethereum:v3.3.0-rc.15 -2. Restart your node - - `docker-compose down` - - `docker-compose up -d` -3. There may be an additional instruction related to a variable update following the HF. - -### Nethermind - -Upgrade to version [v1.11.7](https://github.com/NethermindEth/nethermind/releases/tag/1.11.7). This is the latest Nethermind release. - -1. Set docker image as image: nethermind/nethermind:latest -2. `docker pull nethermind/nethermind:latest` - - `docker-compose down` - - `docker-compose up -d` - -## Description: London HF - -Applicable updates - -* [EIP-1559](https://eips.ethereum.org/EIPS/eip-1559) â reconfigures fees to include BASEFEE. Block size increase to 34M. [See 1559 on Gnosis for more info](/concepts/specs/hard-forks/eip-1559) -* [EIP-3198](https://eips.ethereum.org/EIPS/eip-3198) â returns the `BASEFEE` from a block -* [EIP-3529](https://eips.ethereum.org/EIPS/eip-3529) - reduces gas refunds for EVM operations -* [EIP-3541](https://eips.ethereum.org/EIPS/eip-3541) - prevents deploying contracts starting with `0xEF` - ---- - -// File: about/specs/hard-forks/21735000 - -# #21735000 - 2022-04-20 - -In response to the community sentiment [overwhelming favoring GIP-31](https://forum.gnosis.io/t/gip-31-should-gnosis-chain-perform-a-hardfork-to-upgrade-the-token-contract-vulnerable-to-the-reentrancy-attack/4134) a hardfork has been proposed for Gnosis. Node operators can now update their OpenEthereum or Nethermind nodes in preparation. - -* **Network**: Gnosis -* **Block number**: `21,735,000` -* **Completed:** 20 April 2022 - -## Client Update Instructions - -:::info -Instructions below are for standard node updates. **For archive nodes running Nethermind**, please see note below. -::: - -### OpenEthereum - -Please update to `v3.3.5` which contains the hard fork transition. - -1. Set docker image in `docker-compose.yml` to - - image: openethereum/openethereum:v3.3.5 -2. Restart your node - - `docker-compose down` - - `docker-compose up -d` - -### Nethermind - -Upgrade to version [v1.12.7](https://github.com/NethermindEth/nethermind/releases/tag/1.12.7). - -1. Set docker image as image: nethermind/nethermind:1.12.7 -2. `docker pull nethermind/nethermind:1.12.7` - - `docker-compose down` - - `docker-compose up -d` - -### Archive nodes running Nethermind - -:::danger -Nethermind v1.12.5`+` turns on memory pruning by default. **You will need to disable pruning** in the config file when running an archive node. - -Set the following variable `NETHERMIND_PRUNINGCONFIG_MODE: "None"` -::: - -## Code Updates: Token Contract Bytecode - -* OpenEthereum: Support new hardfork ([#619](https://github.com/openethereum/openethereum/pull/619), [#633](https://github.com/openethereum/openethereum/pull/633)) -* Nethermind: \[Gnosis/POSDAO] Support new hardfork ([#3889](https://github.com/NethermindEth/nethermind/pull/3889), [#3930](https://github.com/NethermindEth/nethermind/pull/3930)) - -This HF replaces the bytecode in the permitable token contract. Tokens bridged using the previous implementation were susceptible to re-entrancy when combined with protocols that did not guard against these types of attacks. The HF will increase bridged token security for protocols on Gnosis. More information is available in the [Gnosis Forum GIP-31 post](https://forum.gnosis.io/t/gip-31-should-gnosis-chain-perform-a-hardfork-to-upgrade-the-token-contract-vulnerable-to-the-reentrancy-attack/4134). - -**Previous permitable token contract bytecode** - -``` -0x6080604052600436106101b65763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166305d2035b81146101bb57806306fdde03146101e4578063095ea7b31461026e5780630b26cf661461029257806318160ddd146102b557806323b872dd146102dc57806330adf81f14610306578063313ce5671461031b5780633644e51514610346578063395093511461035b5780634000aea01461037f57806340c10f19146103b057806342966c68146103d457806354fd4d50146103ec578063661884631461040157806369ffa08a1461042557806370a082311461044c578063715018a61461046d578063726600ce146104825780637d64bcb4146104a35780637ecebe00146104b8578063859ba28c146104d95780638da5cb5b1461051a5780638fcbaf0c1461054b57806395d89b4114610589578063a457c2d71461059e578063a9059cbb146105c2578063b753a98c146105e6578063bb35783b1461060a578063cd59658314610634578063d73dd62314610649578063dd62ed3e1461066d578063f2d5d56b14610694578063f2fde38b146106b8578063ff9e884d146106d9575b600080fd5b3480156101c757600080fd5b506101d0610700565b604080519115158252519081900360200190f35b3480156101f057600080fd5b506101f9610721565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561023357818101518382015260200161021b565b50505050905090810190601f1680156102605780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561027a57600080fd5b506101d0600160a060020a03600435166024356107af565b34801561029e57600080fd5b506102b3600160a060020a0360043516610803565b005b3480156102c157600080fd5b506102ca61085d565b60408051918252519081900360200190f35b3480156102e857600080fd5b506101d0600160a060020a0360043581169060243516604435610863565b34801561031257600080fd5b506102ca610a32565b34801561032757600080fd5b50610330610a56565b6040805160ff9092168252519081900360200190f35b34801561035257600080fd5b506102ca610a5f565b34801561036757600080fd5b506101d0600160a060020a0360043516602435610a65565b34801561038b57600080fd5b506101d060048035600160a060020a0316906024803591604435918201910135610a78565b3480156103bc57600080fd5b506101d0600160a060020a0360043516602435610b89565b3480156103e057600080fd5b506102b3600435610c94565b3480156103f857600080fd5b506101f9610ca1565b34801561040d57600080fd5b506101d0600160a060020a0360043516602435610cd8565b34801561043157600080fd5b506102b3600160a060020a0360043581169060243516610db5565b34801561045857600080fd5b506102ca600160a060020a0360043516610df1565b34801561047957600080fd5b506102b3610e0c565b34801561048e57600080fd5b506101d0600160a060020a0360043516610e23565b3480156104af57600080fd5b506101d0610e37565b3480156104c457600080fd5b506102ca600160a060020a0360043516610e3e565b3480156104e557600080fd5b506104ee610e50565b6040805167ffffffffffffffff9485168152928416602084015292168183015290519081900360600190f35b34801561052657600080fd5b5061052f610e5b565b60408051600160a060020a039092168252519081900360200190f35b34801561055757600080fd5b506102b3600160a060020a0360043581169060243516604435606435608435151560ff60a4351660c43560e435610e6a565b34801561059557600080fd5b506101f9611171565b3480156105aa57600080fd5b506101d0600160a060020a03600435166024356111cb565b3480156105ce57600080fd5b506101d0600160a060020a03600435166024356111d7565b3480156105f257600080fd5b506102b3600160a060020a0360043516602435611202565b34801561061657600080fd5b506102b3600160a060020a036004358116906024351660443561120d565b34801561064057600080fd5b5061052f61121e565b34801561065557600080fd5b506101d0600160a060020a036004351660243561122d565b34801561067957600080fd5b506102ca600160a060020a03600435811690602435166112b4565b3480156106a057600080fd5b506102b3600160a060020a03600435166024356112df565b3480156106c457600080fd5b506102b3600160a060020a03600435166112ea565b3480156106e557600080fd5b506102ca600160a060020a036004358116906024351661130a565b60065474010000000000000000000000000000000000000000900460ff1681565b6000805460408051602060026001851615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156107a75780601f1061077c576101008083540402835291602001916107a7565b820191906000526020600020905b81548152906001019060200180831161078a57829003601f168201915b505050505081565b336000818152600560209081526040808320600160a060020a03871680855290835281842086905581518681529151939490939092600080516020611a13833981519152928290030190a350600192915050565b600654600160a060020a0316331461081a57600080fd5b61082381611327565b151561082e57600080fd5b6007805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b60045490565b600080600160a060020a038516151561087b57600080fd5b600160a060020a038416151561089057600080fd5b600160a060020a0385166000908152600360205260409020546108b9908463ffffffff61132f16565b600160a060020a0380871660009081526003602052604080822093909355908616815220546108ee908463ffffffff61134116565b600160a060020a0380861660008181526003602090815260409182902094909455805187815290519193928916926000805160206119f383398151915292918290030190a3600160a060020a0385163314610a1c5761094d85336112b4565b905060001981146109b757610968818463ffffffff61132f16565b600160a060020a038616600081815260056020908152604080832033808552908352928190208590558051948552519193600080516020611a13833981519152929081900390910190a3610a1c565b600160a060020a0385166000908152600a602090815260408083203384529091529020541580610a1157506109ea611354565b600160a060020a0386166000908152600a6020908152604080832033845290915290205410155b1515610a1c57600080fd5b610a27858585611358565b506001949350505050565b7fea2aa0a1be11a07ed86d755c93467f4f82362b452371d1ba94d1715123511acb81565b60025460ff1681565b60085481565b6000610a71838361122d565b9392505050565b600084600160a060020a03811615801590610a9c5750600160a060020a0381163014155b1515610aa757600080fd5b610ab186866113ef565b1515610abc57600080fd5b85600160a060020a031633600160a060020a03167fe19260aff97b920c7df27010903aeb9c8d2be5d310a2c67824cf3f15396e4c16878787604051808481526020018060200182810382528484828181526020019250808284376040519201829003965090945050505050a3610b3186611327565b15610b7d57610b7233878787878080601f016020809104026020016040519081016040528093929190818152602001838380828437506113fb945050505050565b1515610b7d57600080fd5b50600195945050505050565b600654600090600160a060020a03163314610ba357600080fd5b60065474010000000000000000000000000000000000000000900460ff1615610bcb57600080fd5b600454610bde908363ffffffff61134116565b600455600160a060020a038316600090815260036020526040902054610c0a908363ffffffff61134116565b600160a060020a038416600081815260036020908152604091829020939093558051858152905191927f0f6798a560793a54c3bcfe86a93cde1e73087d944c0ea20544137d412139688592918290030190a2604080518381529051600160a060020a038516916000916000805160206119f38339815191529181900360200190a350600192915050565b610c9e3382611591565b50565b60408051808201909152600181527f3100000000000000000000000000000000000000000000000000000000000000602082015281565b336000908152600560209081526040808320600160a060020a0386168452909152812054808310610d2c57336000908152600560209081526040808320600160a060020a0388168452909152812055610d61565b610d3c818463ffffffff61132f16565b336000908152600560209081526040808320600160a060020a03891684529091529020555b336000818152600560209081526040808320600160a060020a038916808552908352928190205481519081529051929392600080516020611a13833981519152929181900390910190a35060019392505050565b600654600160a060020a03163314610dcc57600080fd5b80600160a060020a0381161515610de257600080fd5b610dec8383611680565b505050565b600160a060020a031660009081526003602052604090205490565b600654600160a060020a031633146101b657600080fd5b600754600160a060020a0390811691161490565b6000806000fd5b60096020526000908152604090205481565b600260036000909192565b600654600160a060020a031681565b600080600160a060020a038a161515610e8257600080fd5b600160a060020a0389161515610e9757600080fd5b861580610eab575086610ea8611354565b11155b1515610eb657600080fd5b600854604080517fea2aa0a1be11a07ed86d755c93467f4f82362b452371d1ba94d1715123511acb602080830191909152600160a060020a03808f16838501528d166060830152608082018c905260a082018b905289151560c0808401919091528351808403909101815260e090920192839052815191929182918401908083835b60208310610f575780518252601f199092019160209182019101610f38565b51815160209384036101000a6000190180199092169116179052604080519290940182900382207f190100000000000000000000000000000000000000000000000000000000000083830152602283019790975260428083019790975283518083039097018752606290910192839052855192945084935085019190508083835b60208310610ff75780518252601f199092019160209182019101610fd8565b51815160209384036101000a600019018019909216911617905260408051929094018290038220600080845283830180875282905260ff8d1684870152606084018c9052608084018b905294519098506001965060a080840196509194601f19820194509281900390910191865af1158015611077573d6000803e3d6000fd5b50505060206040510351600160a060020a03168a600160a060020a03161415156110a057600080fd5b600160a060020a038a16600090815260096020526040902080546001810190915588146110cc57600080fd5b856110d85760006110dc565b6000195b600160a060020a03808c166000908152600560209081526040808320938e16835292905220819055905085611112576000611114565b865b600160a060020a03808c166000818152600a60209081526040808320948f1680845294825291829020949094558051858152905192939192600080516020611a13833981519152929181900390910190a350505050505050505050565b60018054604080516020600284861615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156107a75780601f1061077c576101008083540402835291602001916107a7565b6000610a718383610cd8565b60006111e383836113ef565b15156111ee57600080fd5b6111f9338484611358565b50600192915050565b610dec338383610863565b611218838383610863565b50505050565b600754600160a060020a031690565b336000908152600560209081526040808320600160a060020a0386168452909152812054611261908363ffffffff61134116565b336000818152600560209081526040808320600160a060020a038916808552908352928190208590558051948552519193600080516020611a13833981519152929081900390910190a350600192915050565b600160a060020a03918216600090815260056020908152604080832093909416825291909152205490565b610dec823383610863565b600654600160a060020a0316331461130157600080fd5b610c9e816116ac565b600a60209081526000928352604080842090915290825290205481565b6000903b1190565b60008282111561133b57fe5b50900390565b8181018281101561134e57fe5b92915050565b4290565b61136182611327565b80156113885750604080516000815260208101909152611386908490849084906113fb565b155b15610dec5761139682610e23565b156113a057600080fd5b60408051600160a060020a0380861682528416602082015280820183905290517f11249f0fc79fc134a15a10d1da8291b79515bf987e036ced05b9ec119614070b9181900360600190a1505050565b6000610a71838361172a565b600083600160a060020a031663a4c0ed367c0100000000000000000000000000000000000000000000000000000000028685856040516024018084600160a060020a0316600160a060020a0316815260200183815260200180602001828103825283818151815260200191508051906020019080838360005b8381101561148c578181015183820152602001611474565b50505050905090810190601f1680156114b95780820380516001836020036101000a031916815260200191505b5060408051601f198184030181529181526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff00000000000000000000000000000000000000000000000000000000909916989098178852518151919790965086955093509150819050838360005b8381101561154757818101518382015260200161152f565b50505050905090810190601f1680156115745780820380516001836020036101000a031916815260200191505b509150506000604051808303816000865af1979650505050505050565b600160a060020a0382166000908152600360205260409020548111156115b657600080fd5b600160a060020a0382166000908152600360205260409020546115df908263ffffffff61132f16565b600160a060020a03831660009081526003602052604090205560045461160b908263ffffffff61132f16565b600455604080518281529051600160a060020a038416917fcc16f5dbb4873280815c1ee09dbd06736cffcc184412cf7a71a0fdb75d397ca5919081900360200190a2604080518281529051600091600160a060020a038516916000805160206119f38339815191529181900360200190a35050565b600160a060020a038216151561169e57611699816117f9565b6116a8565b6116a88282611805565b5050565b600160a060020a03811615156116c157600080fd5b600654604051600160a060020a038084169216907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a36006805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b3360009081526003602052604081205482111561174657600080fd5b600160a060020a038316151561175b57600080fd5b3360009081526003602052604090205461177b908363ffffffff61132f16565b3360009081526003602052604080822092909255600160a060020a038516815220546117ad908363ffffffff61134116565b600160a060020a0384166000818152600360209081526040918290209390935580518581529051919233926000805160206119f38339815191529281900390910190a350600192915050565b30316116a882826118a3565b604080517f70a0823100000000000000000000000000000000000000000000000000000000815230600482015290518391600091600160a060020a038416916370a0823191602480830192602092919082900301818787803b15801561186a57600080fd5b505af115801561187e573d6000803e3d6000fd5b505050506040513d602081101561189457600080fd5b5051905061121884848361190b565b604051600160a060020a0383169082156108fc029083906000818181858888f1935050505015156116a85780826118d86119c2565b600160a060020a039091168152604051908190036020019082f080158015611904573d6000803e3d6000fd5b5050505050565b60408051600160a060020a03841660248201526044808201849052825180830390910181526064909101909152602081810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fa9059cbb000000000000000000000000000000000000000000000000000000001781528251606093600093909290918491828a5af160005193508392508080156101b65750506000835111156119ba578115156119ba57600080fd5b505050505050565b6040516021806119d2833901905600608060405260405160208060218339810160405251600160a060020a038116ff00ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925a165627a7a72305820da715ff88e0288dbae664bb8af2f148726bdc8c499fecf88153280d022031e780029 -``` - -**New permitable token contract bytecode** - -``` -0x6080604052600436106101b35763ffffffff60e060020a60003504166305d2035b81146101b857806306fdde03146101e1578063095ea7b31461026b5780630b26cf661461028f57806318160ddd146102b257806323b872dd146102d957806330adf81f14610303578063313ce567146103185780633644e5151461034357806339509351146103585780634000aea01461037c57806340c10f19146103ad57806342966c68146103d157806354fd4d50146103e957806366188463146103fe57806369ffa08a1461042257806370a0823114610449578063715018a61461046a578063726600ce1461047f5780637d64bcb4146104a05780637ecebe00146104b5578063859ba28c146104d65780638da5cb5b146105175780638fcbaf0c1461054857806395d89b4114610586578063a457c2d71461059b578063a9059cbb146105bf578063b753a98c146105e3578063bb35783b14610607578063c6a1dedf14610631578063cd59658314610646578063d505accf1461065b578063d73dd62314610694578063dd62ed3e146106b8578063f2d5d56b146106df578063f2fde38b14610703578063ff9e884d14610724575b600080fd5b3480156101c457600080fd5b506101cd61074b565b604080519115158252519081900360200190f35b3480156101ed57600080fd5b506101f661076c565b6040805160208082528351818301528351919283929083019185019080838360005b83811015610230578181015183820152602001610218565b50505050905090810190601f16801561025d5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561027757600080fd5b506101cd600160a060020a03600435166024356107fa565b34801561029b57600080fd5b506102b0600160a060020a0360043516610810565b005b3480156102be57600080fd5b506102c761086a565b60408051918252519081900360200190f35b3480156102e557600080fd5b506101cd600160a060020a0360043581169060243516604435610870565b34801561030f57600080fd5b506102c7610a38565b34801561032457600080fd5b5061032d610a5c565b6040805160ff9092168252519081900360200190f35b34801561034f57600080fd5b506102c7610a65565b34801561036457600080fd5b506101cd600160a060020a0360043516602435610a6b565b34801561038857600080fd5b506101cd60048035600160a060020a0316906024803591604435918201910135610aac565b3480156103b957600080fd5b506101cd600160a060020a0360043516602435610bbd565b3480156103dd57600080fd5b506102b0600435610cc8565b3480156103f557600080fd5b506101f6610cd5565b34801561040a57600080fd5b506101cd600160a060020a0360043516602435610d0c565b34801561042e57600080fd5b506102b0600160a060020a0360043581169060243516610de9565b34801561045557600080fd5b506102c7600160a060020a0360043516610e0e565b34801561047657600080fd5b506102b0610e29565b34801561048b57600080fd5b506101cd600160a060020a0360043516610e40565b3480156104ac57600080fd5b506101cd610e54565b3480156104c157600080fd5b506102c7600160a060020a0360043516610e5b565b3480156104e257600080fd5b506104eb610e6d565b6040805167ffffffffffffffff9485168152928416602084015292168183015290519081900360600190f35b34801561052357600080fd5b5061052c610e78565b60408051600160a060020a039092168252519081900360200190f35b34801561055457600080fd5b506102b0600160a060020a0360043581169060243516604435606435608435151560ff60a4351660c43560e435610e87565b34801561059257600080fd5b506101f6610fc5565b3480156105a757600080fd5b506101cd600160a060020a036004351660243561101f565b3480156105cb57600080fd5b506101cd600160a060020a0360043516602435611032565b3480156105ef57600080fd5b506102b0600160a060020a0360043516602435611054565b34801561061357600080fd5b506102b0600160a060020a0360043581169060243516604435611064565b34801561063d57600080fd5b506102c7611075565b34801561065257600080fd5b5061052c611099565b34801561066757600080fd5b506102b0600160a060020a036004358116906024351660443560643560ff6084351660a43560c4356110a8565b3480156106a057600080fd5b506101cd600160a060020a0360043516602435611184565b3480156106c457600080fd5b506102c7600160a060020a036004358116906024351661120b565b3480156106eb57600080fd5b506102b0600160a060020a0360043516602435611236565b34801561070f57600080fd5b506102b0600160a060020a0360043516611241565b34801561073057600080fd5b506102c7600160a060020a0360043581169060243516611261565b60065474010000000000000000000000000000000000000000900460ff1681565b6000805460408051602060026001851615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156107f25780601f106107c7576101008083540402835291602001916107f2565b820191906000526020600020905b8154815290600101906020018083116107d557829003601f168201915b505050505081565b600061080733848461127e565b50600192915050565b600654600160a060020a0316331461082757600080fd5b610830816112c0565b151561083b57600080fd5b6007805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b60045490565b600080600160a060020a038516151561088857600080fd5b600160a060020a038416151561089d57600080fd5b600160a060020a0385166000908152600360205260409020546108c6908463ffffffff6112c816565b600160a060020a0380871660009081526003602052604080822093909355908616815220546108fb908463ffffffff6112da16565b600160a060020a038086166000818152600360209081526040918290209490945580518781529051919392891692600080516020611d7283398151915292918290030190a3600160a060020a0385163314610a225761095a853361120b565b905060001981146109c457610975818463ffffffff6112c816565b600160a060020a038616600081815260056020908152604080832033808552908352928190208590558051948552519193600080516020611d92833981519152929081900390910190a3610a22565b600160a060020a0385166000908152600a602090815260408083203384529091529020541580610a175750600160a060020a0385166000908152600a602090815260408083203384529091529020544211155b1515610a2257600080fd5b610a2d8585856112ed565b506001949350505050565b7f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c981565b60025460ff1681565b60085481565b336000818152600560209081526040808320600160a060020a03871684529091528120549091610807918590610aa7908663ffffffff6112da16565b61127e565b600084600160a060020a03811615801590610ad05750600160a060020a0381163014155b1515610adb57600080fd5b610ae58686611324565b1515610af057600080fd5b85600160a060020a031633600160a060020a03167fe19260aff97b920c7df27010903aeb9c8d2be5d310a2c67824cf3f15396e4c16878787604051808481526020018060200182810382528484828181526020019250808284376040519201829003965090945050505050a3610b65866112c0565b15610bb157610ba633878787878080601f01602080910402602001604051908101604052809392919081815260200183838082843750611330945050505050565b1515610bb157600080fd5b50600195945050505050565b600654600090600160a060020a03163314610bd757600080fd5b60065474010000000000000000000000000000000000000000900460ff1615610bff57600080fd5b600454610c12908363ffffffff6112da16565b600455600160a060020a038316600090815260036020526040902054610c3e908363ffffffff6112da16565b600160a060020a038416600081815260036020908152604091829020939093558051858152905191927f0f6798a560793a54c3bcfe86a93cde1e73087d944c0ea20544137d412139688592918290030190a2604080518381529051600160a060020a03851691600091600080516020611d728339815191529181900360200190a350600192915050565b610cd233826114ad565b50565b60408051808201909152600181527f3100000000000000000000000000000000000000000000000000000000000000602082015281565b336000908152600560209081526040808320600160a060020a0386168452909152812054808310610d6057336000908152600560209081526040808320600160a060020a0388168452909152812055610d95565b610d70818463ffffffff6112c816565b336000908152600560209081526040808320600160a060020a03891684529091529020555b336000818152600560209081526040808320600160a060020a038916808552908352928190205481519081529051929392600080516020611d92833981519152929181900390910190a35060019392505050565b600654600160a060020a03163314610e0057600080fd5b610e0a828261159c565b5050565b600160a060020a031660009081526003602052604090205490565b600654600160a060020a031633146101b357600080fd5b600754600160a060020a0390811691161490565b6000806000fd5b60096020526000908152604090205481565b600260056000909192565b600654600160a060020a031681565b600080861580610e975750864211155b1515610ea257600080fd5b604080517fea2aa0a1be11a07ed86d755c93467f4f82362b452371d1ba94d1715123511acb6020820152600160a060020a03808d16828401528b166060820152608081018a905260a0810189905287151560c0808301919091528251808303909101815260e0909101909152610f17906115da565b9150610f25828686866116e1565b600160a060020a038b8116911614610f3c57600080fd5b600160a060020a038a1660009081526009602052604090208054600181019091558814610f6857600080fd5b85610f74576000610f78565b6000195b905085610f86576000610f88565b865b600160a060020a03808c166000908152600a60209081526040808320938e1683529290522055610fb98a8a836118e3565b50505050505050505050565b60018054604080516020600284861615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156107f25780601f106107c7576101008083540402835291602001916107f2565b600061102b8383610d0c565b9392505050565b600061103e8383611324565b151561104957600080fd5b6108073384846112ed565b61105f338383610870565b505050565b61106f838383610870565b50505050565b7fea2aa0a1be11a07ed86d755c93467f4f82362b452371d1ba94d1715123511acb81565b600754600160a060020a031690565b600080428610156110b857600080fd5b600160a060020a03808a1660008181526009602090815260409182902080546001810190915582517f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c99281019290925281830193909352928b166060840152608083018a905260a0830182905260c08084018a90528151808503909101815260e090930190529250611149906115da565b9050611157818686866116e1565b600160a060020a038a811691161461116e57600080fd5b61117989898961127e565b505050505050505050565b336000908152600560209081526040808320600160a060020a03861684529091528120546111b8908363ffffffff6112da16565b336000818152600560209081526040808320600160a060020a038916808552908352928190208590558051948552519193600080516020611d92833981519152929081900390910190a350600192915050565b600160a060020a03918216600090815260056020908152604080832093909416825291909152205490565b61105f823383610870565b600654600160a060020a0316331461125857600080fd5b610cd281611a3e565b600a60209081526000928352604080842090915290825290205481565b6112898383836118e3565b60001981141561105f57600160a060020a038084166000908152600a60209081526040808320938616835292905290812055505050565b6000903b1190565b6000828211156112d457fe5b50900390565b818101828110156112e757fe5b92915050565b6112f682610e40565b1561105f5760408051600081526020810190915261131990849084908490611330565b151561105f57600080fd5b600061102b8383611abc565b600083600160a060020a031663a4c0ed3660e060020a028685856040516024018084600160a060020a0316600160a060020a0316815260200183815260200180602001828103825283818151815260200191508051906020019080838360005b838110156113a8578181015183820152602001611390565b50505050905090810190601f1680156113d55780820380516001836020036101000a031916815260200191505b5060408051601f198184030181529181526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff00000000000000000000000000000000000000000000000000000000909916989098178852518151919790965086955093509150819050838360005b8381101561146357818101518382015260200161144b565b50505050905090810190601f1680156114905780820380516001836020036101000a031916815260200191505b509150506000604051808303816000865af1979650505050505050565b600160a060020a0382166000908152600360205260409020548111156114d257600080fd5b600160a060020a0382166000908152600360205260409020546114fb908263ffffffff6112c816565b600160a060020a038316600090815260036020526040902055600454611527908263ffffffff6112c816565b600455604080518281529051600160a060020a038416917fcc16f5dbb4873280815c1ee09dbd06736cffcc184412cf7a71a0fdb75d397ca5919081900360200190a2604080518281529051600091600160a060020a03851691600080516020611d728339815191529181900360200190a35050565b80600160a060020a03811615156115b257600080fd5b600160a060020a03831615156115d0576115cb82611b8b565b61105f565b61105f8383611b97565b6000600854826040518082805190602001908083835b6020831061160f5780518252601f1990920191602091820191016115f0565b51815160209384036101000a6000190180199092169116179052604080519290940182900382207f190100000000000000000000000000000000000000000000000000000000000083830152602283019790975260428083019790975283518083039097018752606290910192839052855192945084935085019190508083835b602083106116af5780518252601f199092019160209182019101611690565b5181516020939093036101000a6000190180199091169216919091179052604051920182900390912095945050505050565b6000808460ff16601b14806116f957508460ff16601c145b1515611775576040805160e560020a62461bcd02815260206004820152602260248201527f45434453413a20696e76616c6964207369676e6174757265202776272076616c60448201527f7565000000000000000000000000000000000000000000000000000000000000606482015290519081900360840190fd5b7f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a0831115611813576040805160e560020a62461bcd02815260206004820152602260248201527f45434453413a20696e76616c6964207369676e6174757265202773272076616c60448201527f7565000000000000000000000000000000000000000000000000000000000000606482015290519081900360840190fd5b60408051600080825260208083018085528a905260ff8916838501526060830188905260808301879052925160019360a0808501949193601f19840193928390039091019190865af115801561186d573d6000803e3d6000fd5b5050604051601f190151915050600160a060020a03811615156118da576040805160e560020a62461bcd02815260206004820152601860248201527f45434453413a20696e76616c6964207369676e61747572650000000000000000604482015290519081900360640190fd5b95945050505050565b600160a060020a0383161515611968576040805160e560020a62461bcd028152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460448201527f7265737300000000000000000000000000000000000000000000000000000000606482015290519081900360840190fd5b600160a060020a03821615156119ee576040805160e560020a62461bcd02815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f20616464726560448201527f7373000000000000000000000000000000000000000000000000000000000000606482015290519081900360840190fd5b600160a060020a0380841660008181526005602090815260408083209487168084529482529182902085905581518581529151600080516020611d928339815191529281900390910190a3505050565b600160a060020a0381161515611a5357600080fd5b600654604051600160a060020a038084169216907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a36006805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b33600090815260036020526040812054821115611ad857600080fd5b600160a060020a0383161515611aed57600080fd5b33600090815260036020526040902054611b0d908363ffffffff6112c816565b3360009081526003602052604080822092909255600160a060020a03851681522054611b3f908363ffffffff6112da16565b600160a060020a038416600081815260036020908152604091829020939093558051858152905191923392600080516020611d728339815191529281900390910190a350600192915050565b3031610e0a8282611c44565b604080517f70a0823100000000000000000000000000000000000000000000000000000000815230600482015290518391600091600160a060020a038416916370a0823191602480830192602092919082900301818787803b158015611bfc57600080fd5b505af1158015611c10573d6000803e3d6000fd5b505050506040513d6020811015611c2657600080fd5b5051905061106f600160a060020a038516848363ffffffff611cac16565b604051600160a060020a0383169082156108fc029083906000818181858888f193505050501515610e0a578082611c79611d41565b600160a060020a039091168152604051908190036020019082f080158015611ca5573d6000803e3d6000fd5b5050505050565b82600160a060020a031663a9059cbb83836040518363ffffffff1660e060020a0281526004018083600160a060020a0316600160a060020a0316815260200182815260200192505050600060405180830381600087803b158015611d0f57600080fd5b505af1158015611d23573d6000803e3d6000fd5b505050503d1561105f5760206000803e600051151561105f57600080fd5b604051602180611d51833901905600608060405260405160208060218339810160405251600160a060020a038116ff00ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925a165627a7a72305820b96bb0733a3e45fdddafa592f51114d0cf16cad047ad60b9b91ae91eb772c6940029 -``` - ---- - -// File: about/specs/hard-forks/2508800 - -# #2508800 - 2019-03-06 - -:::caution Archived page -Check the latest hard fork and update your node -::: - -### Info - -* **Network**: xDai (now Gnosis) -* **Date**: 2019-03-06 -* **Block number**: 2508800 - -### Description - -This update disables Constantinople EIP-1283 at block `2508800` in `xDai` network. - -### Solution - -1. Update Parity node to `2.3.2-beta` using [this guide.](https://www.poa.network/for-validators/hard-forks/parity-upgrade-guide) -2. Update `poa-chain-spec/spec.json` - add [eip1283DisableTransition](https://github.com/poanetwork/poa-chain-spec/pull/107/files#diff-42eb5109ad96d4ac46cdcbf18f2938deR38) to `engine.params` section. See [Update spec.json](/concepts/specs/hard-forks/spec.json-update) -3. Organize the HF on block `2508800`. - -### Verify - -```bash -grep -n -A2 2508800 spec.json -``` - -You should see: - -```json -38: "eip1283DisableTransition": 2508800, -39- "registrar": "0x1ec97dc137f5168af053c24460a1200502e1a9d2" -40- }, -``` - ---- - -// File: about/specs/hard-forks/7298030 - -# #7298030 - 2019-12-12 - -:::caution Archived page -Check the latest hard fork and update your node -::: - -* **Network**: xDai (now Gnosis) -* **Date**: 2019-12-12 -* **Block number**: `7298030` - -## Description: Istanbul Upgrade - -* eip1283ReenableTransition -* eip1344Transition -* eip1706Transition -* eip1884Transition -* eip2028Transition - -## Perform Updates - -1. **You must update spec.json and Parity node to version 2.6.5** as the spec format was changed. [Use this guide to upgrade](/concepts/specs/hard-forks/spec.json-update). -2. Organize the HF on block `7298030` - -## Verify - -Once your update is complete, verify the HF block number: - -```bash -grep -n -A2 7298030 spec.json -``` - -You should see: - -```json -39: "eip1283ReenableTransition": 7298030, -40: "eip1344Transition": 7298030, -41: "eip1706Transition": 7298030, -42: "eip1884Transition": 7298030, -43: "eip2028Transition": 7298030, -44- "registrar": "0x1ec97dc137f5168af053c24460a1200502e1a9d2" -45- }, --- -82: "7298030": { -83- "info": "Istanbul HF", -84- "price": { --- -104: "7298030": { -105- "info": "Istanbul HF", -106- "price": { --- -127: "7298030": { -128- "info": "Istanbul HF", -129- "price": { --- -143: "7298030": { -144- "info": "Istanbul HF", -145- "price": { -``` - ---- - -// File: about/specs/hard-forks/9186425 - -# #9186425 - 2020-04-01 - -:::caution Archived page -Check the latest hard fork and update your node -::: - -* **Network**: xDai (now Gnosis) -* **Date**: 2020-04-01 -* **Block number**: `9186425` - -## Description: POSDAO Activation - -* new ValidatorSet contract -* blockRewardContractTransitions -* randomnessContractAddress -* posdaoTransition -* new Registry contract -* transactionPermissionContract - -## Perform Updates - -1. **You must update spec.json and Parity node to version 2.7.2-posdao-stable**. [Use this guide to upgrade](https://forum.poa.network/t/posdao-activation/3310). -2. Organize the HF on block `9186425` - -## Verify - -Once your update is complete, verify the HF block number: - -```bash -grep -n -A2 9186425 spec.json -``` - -You should see: - -```json -20: "9186425": { -21- "contract": "0xB87BE9f7196F2AE084Ca1DE6af5264292976e013" -22- } --- -28: "9186425": "0x481c034c6d9441db23Ea48De68BCAe812C5d39bA" -29- }, -30- "randomnessContractAddress": { --- -31: "9186425": "0x5870b0527DeDB1cFBD9534343Feda1a41Ce47766" -32- }, -33: "posdaoTransition": 9186425 -34- } -35- } --- -58: "transactionPermissionContractTransition": 9186425 -59- }, -60- "genesis": { -``` - ---- - -// File: about/specs/hard-forks/README - -# Hard Forks - -:::danger -Hard forks are backward-incompatible upgrades used to introduce new functionality or fix security related issues. They are backward-incompatible upgrades, requiring all nodes to upgrade to the latest version to avoid syncing to a pre-fork blockchain. - -Validators will receive instructions to update their nodes in the event of a hard fork. -::: - -Information related to a hard fork will be posted. If any assistance is needed, feel free to reach out or ask questions through [Discord](https://discord.gg/gnosis), the [forum](https://forum.gnosis.io) or other channels. - ---- - -// File: about/specs/hard-forks/dencun - -# What is Dencun hardfork? - -Dencun hardfork activates all EIPs also activated on [Ethereum mainnet](https://eips.ethereum.org/EIPS/eip-7569). -The table below lists differences if any. - -| EIP | Scope | | -| --------------------------------------------------------------------------------------------- | ------ | -------------------------------------------- | -| [EIP-1153](https://eips.ethereum.org/EIPS/eip-1153): Transient storage opcodes | EL | Not modified | -| [EIP-4788](https://eips.ethereum.org/EIPS/eip-4788): Beacon block root in the EVM | CL, EL | Not modified, same addresses as Ethereum | -| [EIP-4844](https://eips.ethereum.org/EIPS/eip-4844): Shard Blob Transactions | CL, EL | Constants maybe modified from Ethereum (\* ) | -| [EIP-5656](https://eips.ethereum.org/EIPS/eip-5656): MCOPY - Memory copying instruction | EL | Not modified | -| [EIP-6780](https://eips.ethereum.org/EIPS/eip-6780): SELFDESTRUCT only in same transaction | EL | Not modified | -| [EIP-7044](https://eips.ethereum.org/EIPS/eip-7044): Perpetually Valid Signed Voluntary Exits | CL | Not modified | -| [EIP-7045](https://eips.ethereum.org/EIPS/eip-7045): Increase max attestation inclusion slot | CL | Not modified | -| [EIP-7514](https://eips.ethereum.org/EIPS/eip-7514): Add Max Epoch Churn Limit | CL | Constants maybe modified from Ethereum (\* ) | -| [EIP-7516](https://eips.ethereum.org/EIPS/eip-7516): BLOBBASEFEE opcode | EL | Not modified | - -\* See [Differences with Ethereum mainnet](#differences-with-ethereum-mainnet) - -Note: The trusted setup required for [deneb's cryptography](https://github.com/ethereum/consensus-specs/blob/dev/specs/deneb/polynomial-commitments.md#trusted-setup) is the same as defined in Ethereum's consensus spec release v1.4.0, which can be found [here](https://github.com/gnosischain/specs/blob/master/consensus/preset/gnosis/trusted_setups/trusted_setup_4096.json). - -## Differences with Ethereum mainnet - -### [EIP-4844](https://eips.ethereum.org/EIPS/eip-4844) - -Gnosis chain has slots significantly faster than Ethereum. Bigger blocks _could_ have a higher cost to the network than Ethereum so we may price blobs differently. Ethereum mainnet has chosen a target of 3 blobs from real live experiments on mainnet with big blocks. Consequently this parameters may not be adequate. - -Gnosis chain has significantly cheaper fees than mainnet, so blob spam is a concern. Ethereum's `MIN_BLOB_GASPRICE` makes blob space free (1e-18 USD / blob) if usage is under the target for a sustained period of time. The same concern applies to Ethereum, but consensus is that choosing a specific value that may apply to only some market conditions and not others. Given that Gnosis native token is a stable coin, this concerns are mitigated. Given usage under target for regular txs and blob data, setting min blob gas price to 1 GWei reduces the cost per byte by a factor of 16. - -| Constant | Value | -| ----------------------------- | ---------- | -| MIN_BLOB_GASPRICE | 1000000000 | -| TARGET_BLOB_GAS_PER_BLOCK | 131072 | -| MAX_BLOB_GAS_PER_BLOCK | 262144 | -| BLOB_GASPRICE_UPDATE_FRACTION | 1112826 | - -### [EIP-7514](https://eips.ethereum.org/EIPS/eip-7514) - -Gnosis chain has both a lower `CHURN_LIMIT_QUOTIENT` and faster epoch times. A `MAX_PER_EPOCH_ACTIVATION_CHURN_LIMIT` value of 2 provides a good trade-off to: - -- Limit max state growth in the next year to 1M validators -- Increase the minimum time for a 2/3 malicious take-over to 150 days at current validator set sizes -- Allow validator set growth to prevent long queues unless there's exceptional demand - -| Constant | Value | -| ------------------------------------ | ----- | -| MAX_PER_EPOCH_ACTIVATION_CHURN_LIMIT | 2 | - -## Upgrade Schedule - -| Network | Timestamp | Date & Time (UTC) | Fork Hash | Beacon Chain Epoch | -| ------- | ---------- | --------------------------------- | --------- | ------------------ | -| Chiado | 1706724940 | Wed Jan 31 2024 18:15:40 GMT+0000 | 0x5fbc16bc | 516608 | -| Mainnet | 1710181820 | Monday March 11 202418:30:20 +UTC | 0x1384dfc1 | 889856 | - -## How to Prepare - -### For Validators - -Update your clients: - - Execution Layer - - - â NethermindEth [v1.25.4+](https://github.com/NethermindEth/nethermind/releases/) - - â ErigonEth [v2.58.0+](https://github.com/ledgerwatch/erigon/releases/) - - Consensus Layer - - - â Lighthouse [v5.0.0+](https://github.com/sigp/lighthouse/releases/) - - â Teku [v24.2.0+](https://github.com/Consensys/teku/releases/) - - â Nimbus [v24.2.1+](https://github.com/status-im/nimbus-eth2/releases/) - - â Lodestar [v1.16.0+](https://github.com/ChainSafe/lodestar/releases/) - ---- - -// File: about/specs/hard-forks/eip-1559 - -# EIP-1559 - -## When EIP-1559 - -:::success EIP-1559 is live on Gnosis. - -* **Network**: Gnosis -* **Date Implemented**: November 12, 2021 -* **Block number**: `19,040,000` -::: - -## What is EIP-1559 - -EIP 1559 introduces a `BASEFEE` for all blockchain transactions. This is a minimum fee charged for each transaction, and it is adjusted depending on network congestion (gas usage per block). When gas usage is high, the fee increases, and when it is low, the fee decreases. - -Once collected, base fees are burned by the protocol rather than paid directly to the miners (or validators in the case of xDai). In addition to the base fee, a `PRIORITYFEE` can be added to a transaction as a tip to incentivize miners (validators) to include it in a block. - -## How 1559 impacts the Gnosis - -When EIP-1559 is implemented, xDai base fees will be burned within the protocol. This will result in a discrepancy between the xDai balance on the network and the DAI balance from Ethereum locked in the xDai bridge. To fix this imbalance, the corresponding amount of DAI on the mainnet will need to be used as well. - -The imbalance has not resulted in large discrepancies, and the DAI balance has not been used as of yet. - -Information on the burn is available here: [https://dune.com/gnosischain_team/EIP-1559-on-xDai](https://dune.com/gnosischain_team/EIP-1559-on-xDai) - -**Block size is also increased to 34M with this upgrade.** - -:::info -For more info about EIP-1559 on Ethereum and how it works, see the list of [EIP-1559 resources](https://hackmd.io/@timbeiko/1559-resources) compiled by Tim Beiko. -::: - ---- - -// File: about/specs/hard-forks/merge - -:::danger -Hard forks are backward-incompatible upgrades used to introduce new functionality or fix security related issues. They are backward-incompatible upgrades, requiring all nodes to upgrade to the latest version to avoid syncing to a pre-fork blockchain. -::: - -- **Network**: Gnosis -- **Beacon block number**: `6,306,357` -- **Completed:** 8 December 2022 -- [Merged successful announcement](/updates/2022/12/10/merge) - -# The Merge - -In early December 2022, Gnosis underwent the Merge. The Gnosis execution layer (formerly xDai) has been merged with the [Gnosis Beacon Chain](../gbc/README.md), in a process similar to the [Ethereum merge](https://ethereum.org/en/upgrades/merge/). - -The Merge represents an important shift for Gnosis, replacing the legacy [Proof-of-Authority consensus](../consensus/aura.md) with the open and unpermissioned [Beacon Chain Consensus](../gbc/README.md). This allows Gnosis to transition to a fully decentralized and permissionless proof-of-stake network. - -The Merge is also another step in Gnosis' journey together with Ethereum. From the early days of xDai at ETHDenver, Gnosis has had a role in Ethereum's journey. With the adoption of Ethereum's consensus mechanism, Gnosis will continue to contribute to Ethereum's growth as an experimental chain, where newcomers, experiments and ideas are welcome. - -## When did the Merge happen? - -:::tip - -The week of 5th Dec 2022 - -::: - -On the 9 Nov 2022 Gnosis Core Devs call, it was agreed to target **the week of 5th Dec 2022** for the Merge. Due to variances in block time, the Merge will likely happen sometime from **5th to 11th Dec 2022.** - -### TTD - -With the 5th Dec 2022 target in mind, the Core Devs have proposed the following TTD value: - -``` -8626000000000000000000058750000000000000000000 -``` - -This number was not chosen randomly: to pay tribute to the Ethereum Merge, Core Devs have proposed to include [Ethereum's TTD](https://notes.ethereum.org/@MarioHavel/merge-ttd), `58750000000000000000000`, in the Gnosis Merge TTD. - -### Bellatrix - -Similar to Ethereum, the Gnosis Beacon Chain have had a [Bellatrix epoch](https://blog.ethereum.org/2022/08/24/mainnet-merge-announcement) that occurred prior to the Merge. - -:::danger - -The Bellatrix upgrade is a hard fork. Nodes that aren't upgraded when the upgrade is released risk syncing to a pre-fork blockchain. - -::: - -## Timeline - -| Date | Event | -| ------------------- | ----------------------------------------------- | -| 15 Nov 2022 (Wed) | Merge Date announced publicly | -| 23 Nov 2022 (Wed) | Release of merge-ready Client Images | -| 23 Nov 2022 (Wed) | Release of revamped Validator Docs | -| 30 Nov 2022 (Wed) | Bellatrix epoch hit for Consensus Layer clients | -| 5-11 Dec 2022 (Mon) | Estimated TTD window for Gnosis Merge | - -## How to Prepare - -### For Validators - -:::caution - -Merge-ready clients releases can be downloaded from the link below. Please check and download the latest version of release for your clients. -Latest announcements will be made in the #validators channel in Gnosis Discord and on Twitter. - -::: - -**EL client** - -| Client | Merge ready release | Status | -| ---------- | ------------------- | ------------------------------------------------------------------ | -| Nethermind | v1.14.6 | â https://github.com/NethermindEth/nethermind/releases/tag/1.14.6 | -| Erigon | TBA | â Coming soon | - -**CL client** - -| Client | Merge ready release | Status | -| ---------- | ------------------- | ---------------------------------------------------------------------- | -| Teku | v22.11.0 | â Available https://github.com/ConsenSys/teku/releases/tag/22.11.0 | -| Lodestar | v1.2.2 | â Available https://github.com/ChainSafe/lodestar/releases/tag/v1.2.2 | -| Lighthouse | v3.3.0 | â Available (https://github.com/sigp/lighthouse/releases/tag/v3.3.0) | -| Nimbus | TBA | â Coming soon | -| Prysm | N/A | â Advised to switch to other clients. | - -**DAppNode Packages** - -| Package | Merge ready release | Status | -| ----------------------------------------- | ------------------- | ---------------------------------------------------------------------------------------------- | -| DAppNodePackage-nethermind-xdai | v1.0.17 | â Available https://github.com/dappnode/DAppNodePackage-nethermind-xdai/releases/tag/v1.0.17 | -| DAppNodePackage-teku-gnosis | v0.1.4 | â Available https://github.com/dappnode/DAppNodePackage-teku-gnosis/releases/tag/v0.1.4 | -| DAppNodePackage-web3signer-gnosis | v0.1.9 | â Available https://github.com/dappnode/DAppNodePackage-web3signer-gnosis/releases/tag/v0.1.9 | -| DAppNodePackage-lighthouse-gnosis | 0.1.4 | â Available https://github.com/dappnode/DAppNodePackage-lighthouse-gnosis/releases/tag/v0.1.4 | -| DAppNodePackage-gnosis-beacon-chain-prysm | đŤ TBA | âł TBA | -| DAppNodePackage-Lodestar-Gnosis | đĄ TBA | âł After Merge | -| DAppNodePackage-nimbus-gnosis | đĄ TBA | âł After Merge | - -### For DApps - -- The Merge deprecated Gnosis' RandomAuRa on-chain randomness, and developers should find alternatives -- Gnosis' Merge will be similar to the Ethereum Merge, and DApps should prepare accordingly for changes to `block.difficulty`, blockhash randomness, and block times and finalization. -- We recommend the Ethereum.org article on [How the Merge affects the Application Layer](https://blog.ethereum.org/2021/11/29/how-the-merge-impacts-app-layer) -- We recommend 0xMacro's post on [What Solidity Devs should know about Ethereum's Merge](https://0xmacro.com/blog/what-solidity-devs-should-know-about-ethereums-merge/) - ---- - -// File: about/specs/hard-forks/pectra - -# Pectra hardfork - -This hard fork activates all EIPs also activated on Ethereum mainnet [hard-fork](https://eips.ethereum.org/EIPS/eip-7600) EIP. - -The table below lists differences if any. -| EIP | Scope | | -| - | - | - | -| [EIP-2537](https://eips.ethereum.org/EIPS/eip-2537): Precompile for BLS12-381 curve operations | EL | Not modified -| [EIP-2935](https://eips.ethereum.org/EIPS/eip-2935): Save historical block hashes in state | EL | Not modified -| [EIP-6110](https://eips.ethereum.org/EIPS/eip-6110): Supply validator deposits on chain | EL | Not modified -| [EIP-7002](https://eips.ethereum.org/EIPS/eip-7002): Execution layer triggerable exits | EL | Not modified, same addresses as Ethereum -| [EIP-7251](https://eips.ethereum.org/EIPS/eip-7251): Increase the MAX_EFFECTIVE_BALANCE | CL | Not modified -| [EIP-7549](https://eips.ethereum.org/EIPS/eip-7549): Move committee index outside Attestation | CL | Not modified -| [EIP-7623](https://eips.ethereum.org/EIPS/eip-7623): Increase calldata cost | EL | Not modified -| [EIP-7685](https://eips.ethereum.org/EIPS/eip-7685): General purpose execution layer requests | Both | Not modified -| [EIP-7691](https://eips.ethereum.org/EIPS/eip-7691): Blob throughput increase | Both | Constants modified -| [EIP-7702](https://eips.ethereum.org/EIPS/eip-7702): Set EOA account code | EL | Not modified -| [EIP-7840](https://eips.ethereum.org/EIPS/eip-7840): Add blob schedule to EL config files | EL | Not modified -| [EIP-4844-pectra](https://eips.ethereum.org/EIPS/eip-4844): Collect Blob Gas Fee | EL | Added - -* See [Differences with Ethereum mainnet](#differences-with-ethereum-mainnet) - - - -## Impact of Pectra hardfork - -- EOAs will have super powers of smart accounts allowing wallets to do batched transactions, sponsored transactions,etc via [EIP 7702](https://eips.ethereum.org/EIPS/eip-7702) - -- Validators will have higher potential of earning rewards through increased maximum stake per validator [ EIP 7251](https://eips.ethereum.org/EIPS/eip-7251) - -- Auto-compounding for large validators, reduced operational costs through optimized signature aggregation (EIP-7549), and a streamlined withdrawal process via the execution layer (EIP-7002). - -- Optimized blob gas pricing via EIP 7691. - -## Pectra Timeline -| Network | Timestamp | Date & Time (UTC) | Fork Hash | Beacon Chain Epoch | -| ------- | ------------ | ----------------------------- | ---------- | ------------------ | -| Chiado | 1741254220 | Mar-06-2025 09:43:40 +UTC | 0x8ba51786 | 948224 | -| Mainnet | 1746021820 | Apr-30-2025 14:03:40 +UTC | 0x2f095d4a | 1337856 | - --------- - -## How to Prepare for upgrade - -### For Validators - -Update your clients: - - Execution Layer - - - â NethermindEth [v1.31.9](https://github.com/NethermindEth/nethermind/releases/tag/1.31.9) - - â ErigonEth [v3.0.2](https://github.com/erigontech/erigon/releases/tag/v3.0.2) - - â Reth [Link to client](https://github.com/gnosischain/reth_gnosis/pkgs/container/reth_gnosis) - - â Geth [v1.15.10-gc](https://github.com/gnosischain/go-ethereum/releases/tag/v1.15.10-gc) - - Consensus Layer - - - â Lighthouse [v7.0.1](https://github.com/sigp/lighthouse/releases/tag/v7.0.1) - - â Teku [v25.4.1](https://github.com/Consensys/teku/releases/tag/25.4.1) - - â Nimbus [v25.4.1](https://github.com/status-im/nimbus-eth2/releases/tag/v25.4.1) - - â Lodestar [v1.29.0](https://github.com/ChainSafe/lodestar/releases/tag/v1.29.0) - - â Prysm [v6.0.0](https://github.com/OffchainLabs/prysm/releases/tag/v6.0.0) - ---- - -// File: about/specs/hard-forks/shanghai-capella - -# What is Shanghai/Capella hardfork? - -Shanghai/Capella hardfork enables validator withdrawal and several execution layer update on Gnosis Chain. EIPs that are included in this hardfork: EIP-3651, EIP-3855, EIP-3860, EIP-6049. - -Validator withdrawal allows a validator's account balance get withdrawn from Beacon Chain to Execution Layer, in the form of GNO. The GNO will be accrued on validator's withdrawal address on the Execution Layer, which is set using `eth1_withdrawal_address` option during validator key generation. - -Check out [validator withdrawal](/node/management/withdrawals) for more details. - -## Upgrade Schedule - -| Network | Timestamp | Date & Time (UTC) | Fork Hash | Beacon Chain Epoch | -| ------- | ------------ | ----------------------------- | --------- | ------------------ | -| Chiado | 1684934220 | May-24-2023 13:17:00 +UTC | 0xa15a4252 | 244224 | -| Mainnet | 1690889660 | Aug-01-2023 11:34:20 +UTC | 0x2efe91ba | 648704 | - -## How to Prepare - -### For Validators - -1. Check Withdrawal Credentials - - For any type of withdrawals, a validator need to have `0x01` withdrawal credential. Youâre fine if you used `--eth1_withdrawal_address` to create your validator keys. If not, tooling will be made available. - - Refer to [validator withdrawal](/node/management/withdrawals#check-withdrawal-credential) for more details. - -2. Update your clients - - Execution Layer: - - â NethermindEth [v1.19.3](https://github.com/NethermindEth/nethermind/releases/tag/1.19.3) - â ErigonEth [v2.48.0](https://github.com/ledgerwatch/erigon/releases/tag/v2.48.0) - - Consensus Layer: - - â Lighthouse [v4.3.0](https://github.com/sigp/lighthouse/releases/tag/v4.3.0) - â Teku [v23.6.1](https://github.com/Consensys/teku/releases/tag/23.6.1) - â Nimbus v23.6.0 (only with the following Docker image: http://ghcr.io/gnosischain/gnosis-nimbus-eth2:v23.6.0) - â Lodestar [v1.9.1](https://github.com/ChainSafe/lodestar/releases/tag/v1.9.1) - - DAppNode Packages - - â Teku Gnosis v0.1.9 - â Lighthouse Gnosis v0.1.10 - â Lodestar Gnosis v0.1.2 - â Nethermind xDAI v1.0.34 - âď¸ Erigon and Nimbus - Forthcoming - -## How to claim your withdrawal? - -### Partial Withdrawal - -As we have modified some specs regarding the withdrawals to enable withdrawing GNO instead of the native gas token xDai, unlike Ethereum, partial withdrawals currently do not happen automatically. So, for now, you will need to call [`claimWithdrawal`](https://gnosisscan.io/address/0x0b98057ea310f4d31f2a452b414647007d1645d9#writeProxyContract#F3) function on the [contract](https://gnosisscan.io/address/0x0b98057ea310f4d31f2a452b414647007d1645d9#writeProxyContract). However, it is in our plans to automate and subsidize partial withdrawals in the future. - -### Full Withdrawal - -Please check guide on [voluntary exit](/node/management/voluntary-exit). - ---- - -// File: about/specs/hard-forks/spec.json-update - -# Spec.json update - -:::caution Archived page -Check the latest hard fork and update your node -::: - -:::info -This guide assumes that you're running this playbook from the same machine you used to make initial deployment of your node. You should already have `python` and `ansible` installed, and you have the correct ssh keypair to root-access the node. -::: - -1\) If you already have a cloned version of the poa-devops repository ([https://github.com/poanetwork/poa-devops.git](https://github.com/poanetwork/poa-devops.git)), pull the latest changes: - -```bash -cd poa-devops -git pull origin master -``` - -otherwise, clone this repository: - -```bash -git clone https://github.com/poanetwork/poa-devops.git -cd poa-devops -``` - -1\) create `group_vars/all` file: - -```bash -cp group_vars/hf-spec-change.example group_vars/all -``` - -and set the following variables: - -1. `poa_role` - node's role (one of `bootnode`, `validator`, `moc`, `explorer`, `netstat`) -2. `MAIN_REPO_FETCH: "poanetwork"`) -3. `GENESIS_BRANCH: "dai"` ) - -2\) Create/edit `hosts` file: - -```bash -echo "" > hosts -``` - -and put your node's ip address (assuming it's 192.0.2.1) as follows: - -```bash -[hf-spec-change] -192.0.2.1 -``` - -make sure you don't have other tags (`[...]`) in hosts file, **and double check you are using your DAI node's IP address**. - -For those who host multiple nodes: - -* if all your nodes are of the same role (e.g. all bootnodes), you can run this playbook on all of them by listing their ips, e.g. - - ``` - [hf-spec-change] - 192.0.2.1 - 192.0.2.2 - 192.0.2.3 - 192.0.2.4 - ``` - -* if you host nodes of different types you can set `poa_role` individually against the corresponding ip address like so: - - ``` - [hf-spec-change] - 192.0.2.1 poa_role=explorer - 192.0.2.2 - 192.0.2.3 poa_role=moc - 192.0.2.4 - ``` - - on lines where you omitted explicit `poa_role`, the value from `group_vars/all` is used. - -3\) Run the playbook: - -```bash -ansible-playbook -i hosts site.yml -``` - -:::warning -**I**f you get a ssh connection error, try to add `-e 'ansible_ssh_user=ubuntu'` to the command line above, substituting `ubuntu` with correct ssh username, which is usually either `ubuntu` or `root` or `poa` or `centos` depending on your setup -::: - -4\) Verify that your node is active in netstat ([https://dai-netstat.poa.network/](https://dai-netstat.poa.network/)) - -5\) connect to the node - -```bash -ssh root@192.0.2.1 -``` - -switch to the home folder of corresponding role: - -```bash -# substitute validator with your node's role (bootnode, moc, ...) -cd /home/validator -``` - -and check the update time of `spec.json` (should be about the time you started the playbook) - -```bash -ls -lh -# a long list should appear here, look for spec.json in the rightmost column and check the date and time on the same row -``` - -also check that backup was created: - -```bash -ls -lh spec-hfs/ -# look for a file named similar to spec-hf-20180108-174649.json Numbers represent date and time in UTC when the playbook was started -``` - ---- - -// File: about/specs/security-audit - -# Security Audits - -:::info -Most Audits were completed prior to the rebrand from xDai Chain to Gnosis, and will refer to the xDai chain as well as the STAKE token, the previous governance token of the chain (the chain is in the process of transferring to GNO-only security). -::: - -## Stake Beacon Chain by ChainSecurity - -**Completed:** October 1, 2021 - -**Conclusion:** During the assessment one critical issue was found and fixed following the intermediate report. The remaining issues were of low severity and were fixed accordingly. The communication with the team was very responsive. - -**Audit Report**: [https://chainsecurity.com/security-audit/poa-network-stake-beacon-chain-sbc-deposit/](https://chainsecurity.com/security-audit/poa-network-stake-beacon-chain-sbc-deposit/) - -## OmniBridge v6.0 Smart Contracts Audit by ChainSecurity - -**Completed:** September 7, 2021 - -**Conclusion**: The assessment uncovered a number of potential issues which were resolved by the team. Two additional issues were acknowledged and largely mitigated by the team, and the original severities are no longer applicable. These upgrades to the Omnibridge provide additional functionality which will be implemented in the future. - -* **Contracts:** [https://github.com/poanetwork/omnibridge](https://github.com/poanetwork/omnibridge) -* **Audit Report** - -[ChainSecurity_POA_Network_Omnibridge_Version_6_0_audit.pdf](/files/ChainSecurity_POA_Network_Omnibridge_Version_6_0_audit.pdf) - -## POSDAO Audit by ChainSecurity - -**Completed:** June 25, 2021 - -**Conclusion**: The assessment uncovered several issues which were addressed or acknowledged by the team. No "critical" severity security flaws preventing continued usage or launch of contracts in future contexts were found. 0 Critical Issues, 1 High Risk Issue Accepted, 4 Medium Issues Accepted/Acknowledged, 4 Low Risk Issues Accepted/Acknowledged. - -* **Contracts:** [https://github.com/poanetwork/posdao-contracts](https://github.com/poanetwork/posdao-contracts) -* **Audit Report in repo**: [https://github.com/poanetwork/posdao-contracts/blob/master/audit/ChainSecurity/report.pdf](https://github.com/poanetwork/posdao-contracts/blob/master/audit/ChainSecurity/report.pdf) - -:::success more info -[https://chainsecurity.com/security-audit/poa-network-posdao/](https://chainsecurity.com/security-audit/poa-network-posdao/) -::: - -## OmniBridge Audit by ChainSecurity - -**Completed:** April 27, 2021 - -**Conclusion**: 0 Critical or High Risk Issues, 2 Medium Issues Accepted, 3 Low Risk Issues Accepted/Acknowledged - -**Contracts:** [https://github.com/poanetwork/omnibridge](https://github.com/poanetwork/omnibridge)â - -:::success more info -[https://chainsecurity.com/security-audit/poa-network-omnibridge/](https://chainsecurity.com/security-audit/poa-network-omnibridge/) -::: - -## TokenBridge Audit by Quantstamp (covers OmniBridge) - -**Completed:** November 6, 2020 - -**Conclusion**: No high and medium risk issues found, all low risk issues addressed. - -**Contracts:** Revised in version 5.5.0-rc0 to address audit. [https://github.com/poanetwork/tokenbridge-contracts/releases/tag/5.5.0-rc0](https://github.com/poanetwork/tokenbridge-contracts/releases/tag/5.5.0-rc0) - -:::success [Quantstamp Security Audit PDF](https://github.com/poanetwork/tokenbridge/blob/master/audit/quantstamp/POA-Network-TokenBridge-contracts-5.4.1-security-assessment-report.pdf) -::: - -## EasyStaking Audit by Quantstamp - -**Completed:** August 3, 2020 - -**Conclusion:** All high/medium/low risk issues resolved. - -[XDai-Easy-Staking-Final-Report.pdf](/files/XDai-Easy-Staking-Final-Report.pdf) - -## TokenBridge Audit by Quantstamp (covers xDai bridge functionality) - -**Completed:** January 8, 2020 - -**Conclusion**: All high risk issues resolved and low risk issues addressed. [More information available in this post](https://forum.poa.network/t/quantstamp-security-audit-for-tokenbridge-contracts-completed/3233). - -**Contracts:** Revised in version 3.3.0 to address audit. [https://github.com/poanetwork/tokenbridge-contracts/releases/tag/3.3.0](https://github.com/poanetwork/tokenbridge-contracts/releases/tag/3.3.0) - -:::success [Quantstamp TokenBridge Security Audit PDF](https://github.com/poanetwork/tokenbridge/blob/73d500210546e2959536dc569f1aec5752077225/audit/quantstamp/POA-Network-Token-bridge-security-assessment-report.pdf) -::: - -## STAKE Token Distribution by Quantstamp - -#### **STAKE Token Distribution Audit** - -**Completed:** June 24, 2020\ -\ -**Conclusion**: No High or Medium risks, all low and informational risks addressed - -:::success [Quantstamp STAKE Security Audit PDF](https://github.com/xdaichain/stake-token/blob/master/audit/Quantstamp/xDAI%20STAKE%20Token%20Distribution%20-%20Additional%20Report.pdf) -::: - -#### **DPOS Audit** - -In the original audit, the working name for the staking token was DPOS. This changed to STAKE. - -**DPOS Audit Completed:** September 5, 2019\ -\ -**Conclusion**: All risks resolved. \ -\ -**Contracts:** Version 1.0.1 addressed items in audit.\ -[https://github.com/xdaichain/stake-token/releases/tag/v1.0.1](https://github.com/xdaichain/stake-token/releases/tag/v1.0.1) - -:::success [Quantstamp DPOS Security Audit PDF](https://github.com/xdaichain/stake-token/blob/master/audit/Quantstamp/DPOS%20token-Audit%20Final%20Report.pdf) -::: - -#### **STAKE Legal Opinion** - -The token constitutes a VFA in terms of Maltese law. Please contact [team@xdaichain.com ](mailto:team@xdaichain.com)to request access to the document. - -## POSDAO Initial Security Audit by PepperSec - -**Completed**: August 2019 - -**Conclusion**: All issues fixed or addressed. Due to scalability concerns, teams created a new methodology to accumulate and later âpullâ their stakes and rewards instead of the âpushâ strategy as implemented in the audited version of the contracts. - -**Contracts:** Version 0.1.0 addresses issues present in audit. [https://github.com/poanetwork/posdao-contracts/releases/tag/v0.1.0](https://github.com/poanetwork/posdao-contracts/releases/tag/v0.1.0) - -:::success [POSDAO v1 Consensus Contracts audit](https://forum.poa.network/t/security-audits-of-posdao-consensus-contracts/2921) -::: - ---- - -// File: about/tokens/README - -# Tokens - -Gnosis is a stable payments EVM (Ethereum Virtual Machine) blockchain designed for fast and inexpensive transactions. The chain uses a unique dual-token model; [xDai](/about/tokens/xdai/) is a stable token used for transactions, payments, and fees, and Proof of Stake protection will be provided by [GNO](/about/tokens/gno/) with the consensus-layer Gnosis Beacon Chain. - -| | xDai â | GNO 𦸠| -| -- | ------- | ------ | -| **Purpose** | - Stable Payments
-
-
-
-
-
-
-
- Fast transaction times (5 seconds) & low transaction fees (500 tx for $0.01)
-A stable token for transactions & gas fees
-Smart Contract, DApp & [toolset](/tools) compatibility with other Ethereum-based chains like Ethereum, Ethereum Classic, BSC and others.
-Fully-featured explorers [Gnosisscan](https://gnosisscan.io) and [BlockScout](https://blockscout.com/xdai/mainnet).
-Growing ecosystem designed to support stable person-to-person transactions, micro transactions, conference currencies, community currencies, DeFi, NFTs, DAOs, games and more.
-Wide-ranging [Community Support](/about/communication).
-Modified beaconchain explorer
đ beacon.gnosischain.com
4096 validators
131,072 mGNO
83% APY
| -| Security Goal Prior to Merge |50K+ validators
1.6M+ mGNO
23% APY
| - ---- - -// File: about/specs/gbc/upgradeability - -# Upgradeability - -One differentiator for the Gnosis Beacon Chain relative to the Ethereum Beacon chain is the ability to upgrade contracts. A proxy pattern allows for this functionality, which can be extremely useful if an update is required (a bug is found, new functionality added etc). - -However, this also introduces issues of administrative responsibility. No one entity should solely control contract updates. - -A multi-sig Gnosis Safe is used to expand admin responsibilities to a larger entity. The controlling assembly is a Governance Board consisting of known and active projects who have contributed to the Gnosis and Ethereum community for some time. - -A proposed upgrade is presented to this board and a minimum of 7 signatures are required to enact any proposal. -c -[Governance Board Members](../../../bridges/management#current-bridge-governors) - -### Contracts managed by the Governance Board - -- Deposit Contract: [0x0B98057eA310F4d31F2a452B414647007d1645d9](https://gnosis.blockscout.com/address/0x0B98057eA310F4d31F2a452B414647007d1645d9/read-contract) - ---- - -// File: about/specs/hard-forks/1604400 - -# #1604400 - 2019-01-11 - -:::caution Archived page -Check the latest hard fork and update your node -::: - -### Info - -* **Network**: xDai (now Gnosis) -* **Date**: 2019-01-11 -* **Block number**: 1604400 - -### Description - -This update introduces Constantinople fork at block `1604400` in `xDai` network. - -### Solution - -1. Update Parity node to `2.2.5-beta` using [the guide](https://www.poa.network/for-validators/hard-forks/parity-upgrade-guide). -2. Update `poa-chain-spec/spec.json` - add Constantinople's [transitions](https://github.com/poanetwork/poa-chain-spec/pull/99/files#diff-42eb5109ad96d4ac46cdcbf18f2938de) to `engine.params` section. See [spec.json update](/concepts/specs/hard-forks/spec.json-update). -3. Organize the HF on block `1604400`. - -### Verify - -```bash -grep -n -A2 1604400 spec.json -``` - -You should see: - -```json -34: "eip145Transition": 1604400, -35: "eip1014Transition": 1604400, -36: "eip1052Transition": 1604400, -37: "eip1283Transition": 1604400, -38- "registrar": "0x1ec97dc137f5168af053c24460a1200502e1a9d2" -39- }, -``` - ---- - -// File: about/specs/hard-forks/16101500 - -# #16101500 - 2021-05-17 - -:::caution Archived page -Check the latest hard fork and update your node -::: - -* **Network**: xDai (now Gnosis) -* **Date**: 2021-05-17 -* **Block number**: `16101500` - -## Client Updates - -### OpenEthereum - -Please update to `v3.2.5` which contains Berlin hard fork transition and the new enodes: [https://github.com/openethereum/openethereum/releases/tag/v3.2.5](https://github.com/openethereum/openethereum/releases/tag/v3.2.5) - -Perform a DB migration if your run OE version < v3.2.0 - -If your node works on an old version of Parity, you need to convert node's DB to the format compatible with OpenEthereum v3.2.x. You can use this tool [https://github.com/openethereum/3.1-db-upgrade-tool](https://github.com/openethereum/3.1-db-upgrade-tool) - -### Nethermind - -Please update to `v1.10.67` which contains Berlin hard fork transition. [More on Nethermind](/node/manual). - -## Description: Berlin HF - -* EIP-2565 (ModExp Gas Cost) Allows RSA signature verification. -* EIP-2929 (Gas cost increases for state access opcodes) Algorithm for calculating gas costs. Costs increase for SLOAD, _CALL, BALANCE, EXT_ and SELFDESTRUCT for the first time. Adds resilience for DoS attacks. -* EIP-2718 (Typed Transaction Envelope) Implements a new transaction type that supports multiple transactions. -* EIP-2930 (Optional access lists) Lst of addresses and storage keys a transaction will access, resulting in easier processing and reduced gas usage. - ---- - -// File: about/specs/hard-forks/19040000 - -# #19040000 - 2021-11-12 - -:::caution Archived page -Check the latest hard fork and update your node -::: - -* **Network**: Gnosis -* **\~Date**: 2021-11-12 -* **Block number**: `19,040,000` - -## Client Updates - -### OpenEthereum - -Please update to `v3.3.0` **RC 15** which contains the London hard fork transition. - -:::info -Most node operators use the --chain=xdai flag when running a node. In this case, you will only need to update the client. If you use a local spec.json file, you will need to [upgrade to this version](https://raw.githubusercontent.com/poanetwork/poa-chain-spec/dai/spec.json) before restarting your node with the updated OE version. -::: - -1. Set docker image in `docker-compose.yml` to - - image: openethereum/openethereum:v3.3.0-rc.15 -2. Restart your node - - `docker-compose down` - - `docker-compose up -d` -3. There may be an additional instruction related to a variable update following the HF. - -### Nethermind - -Upgrade to version [v1.11.7](https://github.com/NethermindEth/nethermind/releases/tag/1.11.7). This is the latest Nethermind release. - -1. Set docker image as image: nethermind/nethermind:latest -2. `docker pull nethermind/nethermind:latest` - - `docker-compose down` - - `docker-compose up -d` - -## Description: London HF - -Applicable updates - -* [EIP-1559](https://eips.ethereum.org/EIPS/eip-1559) â reconfigures fees to include BASEFEE. Block size increase to 34M. [See 1559 on Gnosis for more info](/concepts/specs/hard-forks/eip-1559) -* [EIP-3198](https://eips.ethereum.org/EIPS/eip-3198) â returns the `BASEFEE` from a block -* [EIP-3529](https://eips.ethereum.org/EIPS/eip-3529) - reduces gas refunds for EVM operations -* [EIP-3541](https://eips.ethereum.org/EIPS/eip-3541) - prevents deploying contracts starting with `0xEF` - ---- - -// File: about/specs/hard-forks/21735000 - -# #21735000 - 2022-04-20 - -In response to the community sentiment [overwhelming favoring GIP-31](https://forum.gnosis.io/t/gip-31-should-gnosis-chain-perform-a-hardfork-to-upgrade-the-token-contract-vulnerable-to-the-reentrancy-attack/4134) a hardfork has been proposed for Gnosis. Node operators can now update their OpenEthereum or Nethermind nodes in preparation. - -* **Network**: Gnosis -* **Block number**: `21,735,000` -* **Completed:** 20 April 2022 - -## Client Update Instructions - -:::info -Instructions below are for standard node updates. **For archive nodes running Nethermind**, please see note below. -::: - -### OpenEthereum - -Please update to `v3.3.5` which contains the hard fork transition. - -1. Set docker image in `docker-compose.yml` to - - image: openethereum/openethereum:v3.3.5 -2. Restart your node - - `docker-compose down` - - `docker-compose up -d` - -### Nethermind - -Upgrade to version [v1.12.7](https://github.com/NethermindEth/nethermind/releases/tag/1.12.7). - -1. Set docker image as image: nethermind/nethermind:1.12.7 -2. `docker pull nethermind/nethermind:1.12.7` - - `docker-compose down` - - `docker-compose up -d` - -### Archive nodes running Nethermind - -:::danger -Nethermind v1.12.5`+` turns on memory pruning by default. **You will need to disable pruning** in the config file when running an archive node. - -Set the following variable `NETHERMIND_PRUNINGCONFIG_MODE: "None"` -::: - -## Code Updates: Token Contract Bytecode - -* OpenEthereum: Support new hardfork ([#619](https://github.com/openethereum/openethereum/pull/619), [#633](https://github.com/openethereum/openethereum/pull/633)) -* Nethermind: \[Gnosis/POSDAO] Support new hardfork ([#3889](https://github.com/NethermindEth/nethermind/pull/3889), [#3930](https://github.com/NethermindEth/nethermind/pull/3930)) - -This HF replaces the bytecode in the permitable token contract. Tokens bridged using the previous implementation were susceptible to re-entrancy when combined with protocols that did not guard against these types of attacks. The HF will increase bridged token security for protocols on Gnosis. More information is available in the [Gnosis Forum GIP-31 post](https://forum.gnosis.io/t/gip-31-should-gnosis-chain-perform-a-hardfork-to-upgrade-the-token-contract-vulnerable-to-the-reentrancy-attack/4134). - -**Previous permitable token contract bytecode** - -``` -0x6080604052600436106101b65763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166305d2035b81146101bb57806306fdde03146101e4578063095ea7b31461026e5780630b26cf661461029257806318160ddd146102b557806323b872dd146102dc57806330adf81f14610306578063313ce5671461031b5780633644e51514610346578063395093511461035b5780634000aea01461037f57806340c10f19146103b057806342966c68146103d457806354fd4d50146103ec578063661884631461040157806369ffa08a1461042557806370a082311461044c578063715018a61461046d578063726600ce146104825780637d64bcb4146104a35780637ecebe00146104b8578063859ba28c146104d95780638da5cb5b1461051a5780638fcbaf0c1461054b57806395d89b4114610589578063a457c2d71461059e578063a9059cbb146105c2578063b753a98c146105e6578063bb35783b1461060a578063cd59658314610634578063d73dd62314610649578063dd62ed3e1461066d578063f2d5d56b14610694578063f2fde38b146106b8578063ff9e884d146106d9575b600080fd5b3480156101c757600080fd5b506101d0610700565b604080519115158252519081900360200190f35b3480156101f057600080fd5b506101f9610721565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561023357818101518382015260200161021b565b50505050905090810190601f1680156102605780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561027a57600080fd5b506101d0600160a060020a03600435166024356107af565b34801561029e57600080fd5b506102b3600160a060020a0360043516610803565b005b3480156102c157600080fd5b506102ca61085d565b60408051918252519081900360200190f35b3480156102e857600080fd5b506101d0600160a060020a0360043581169060243516604435610863565b34801561031257600080fd5b506102ca610a32565b34801561032757600080fd5b50610330610a56565b6040805160ff9092168252519081900360200190f35b34801561035257600080fd5b506102ca610a5f565b34801561036757600080fd5b506101d0600160a060020a0360043516602435610a65565b34801561038b57600080fd5b506101d060048035600160a060020a0316906024803591604435918201910135610a78565b3480156103bc57600080fd5b506101d0600160a060020a0360043516602435610b89565b3480156103e057600080fd5b506102b3600435610c94565b3480156103f857600080fd5b506101f9610ca1565b34801561040d57600080fd5b506101d0600160a060020a0360043516602435610cd8565b34801561043157600080fd5b506102b3600160a060020a0360043581169060243516610db5565b34801561045857600080fd5b506102ca600160a060020a0360043516610df1565b34801561047957600080fd5b506102b3610e0c565b34801561048e57600080fd5b506101d0600160a060020a0360043516610e23565b3480156104af57600080fd5b506101d0610e37565b3480156104c457600080fd5b506102ca600160a060020a0360043516610e3e565b3480156104e557600080fd5b506104ee610e50565b6040805167ffffffffffffffff9485168152928416602084015292168183015290519081900360600190f35b34801561052657600080fd5b5061052f610e5b565b60408051600160a060020a039092168252519081900360200190f35b34801561055757600080fd5b506102b3600160a060020a0360043581169060243516604435606435608435151560ff60a4351660c43560e435610e6a565b34801561059557600080fd5b506101f9611171565b3480156105aa57600080fd5b506101d0600160a060020a03600435166024356111cb565b3480156105ce57600080fd5b506101d0600160a060020a03600435166024356111d7565b3480156105f257600080fd5b506102b3600160a060020a0360043516602435611202565b34801561061657600080fd5b506102b3600160a060020a036004358116906024351660443561120d565b34801561064057600080fd5b5061052f61121e565b34801561065557600080fd5b506101d0600160a060020a036004351660243561122d565b34801561067957600080fd5b506102ca600160a060020a03600435811690602435166112b4565b3480156106a057600080fd5b506102b3600160a060020a03600435166024356112df565b3480156106c457600080fd5b506102b3600160a060020a03600435166112ea565b3480156106e557600080fd5b506102ca600160a060020a036004358116906024351661130a565b60065474010000000000000000000000000000000000000000900460ff1681565b6000805460408051602060026001851615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156107a75780601f1061077c576101008083540402835291602001916107a7565b820191906000526020600020905b81548152906001019060200180831161078a57829003601f168201915b505050505081565b336000818152600560209081526040808320600160a060020a03871680855290835281842086905581518681529151939490939092600080516020611a13833981519152928290030190a350600192915050565b600654600160a060020a0316331461081a57600080fd5b61082381611327565b151561082e57600080fd5b6007805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b60045490565b600080600160a060020a038516151561087b57600080fd5b600160a060020a038416151561089057600080fd5b600160a060020a0385166000908152600360205260409020546108b9908463ffffffff61132f16565b600160a060020a0380871660009081526003602052604080822093909355908616815220546108ee908463ffffffff61134116565b600160a060020a0380861660008181526003602090815260409182902094909455805187815290519193928916926000805160206119f383398151915292918290030190a3600160a060020a0385163314610a1c5761094d85336112b4565b905060001981146109b757610968818463ffffffff61132f16565b600160a060020a038616600081815260056020908152604080832033808552908352928190208590558051948552519193600080516020611a13833981519152929081900390910190a3610a1c565b600160a060020a0385166000908152600a602090815260408083203384529091529020541580610a1157506109ea611354565b600160a060020a0386166000908152600a6020908152604080832033845290915290205410155b1515610a1c57600080fd5b610a27858585611358565b506001949350505050565b7fea2aa0a1be11a07ed86d755c93467f4f82362b452371d1ba94d1715123511acb81565b60025460ff1681565b60085481565b6000610a71838361122d565b9392505050565b600084600160a060020a03811615801590610a9c5750600160a060020a0381163014155b1515610aa757600080fd5b610ab186866113ef565b1515610abc57600080fd5b85600160a060020a031633600160a060020a03167fe19260aff97b920c7df27010903aeb9c8d2be5d310a2c67824cf3f15396e4c16878787604051808481526020018060200182810382528484828181526020019250808284376040519201829003965090945050505050a3610b3186611327565b15610b7d57610b7233878787878080601f016020809104026020016040519081016040528093929190818152602001838380828437506113fb945050505050565b1515610b7d57600080fd5b50600195945050505050565b600654600090600160a060020a03163314610ba357600080fd5b60065474010000000000000000000000000000000000000000900460ff1615610bcb57600080fd5b600454610bde908363ffffffff61134116565b600455600160a060020a038316600090815260036020526040902054610c0a908363ffffffff61134116565b600160a060020a038416600081815260036020908152604091829020939093558051858152905191927f0f6798a560793a54c3bcfe86a93cde1e73087d944c0ea20544137d412139688592918290030190a2604080518381529051600160a060020a038516916000916000805160206119f38339815191529181900360200190a350600192915050565b610c9e3382611591565b50565b60408051808201909152600181527f3100000000000000000000000000000000000000000000000000000000000000602082015281565b336000908152600560209081526040808320600160a060020a0386168452909152812054808310610d2c57336000908152600560209081526040808320600160a060020a0388168452909152812055610d61565b610d3c818463ffffffff61132f16565b336000908152600560209081526040808320600160a060020a03891684529091529020555b336000818152600560209081526040808320600160a060020a038916808552908352928190205481519081529051929392600080516020611a13833981519152929181900390910190a35060019392505050565b600654600160a060020a03163314610dcc57600080fd5b80600160a060020a0381161515610de257600080fd5b610dec8383611680565b505050565b600160a060020a031660009081526003602052604090205490565b600654600160a060020a031633146101b657600080fd5b600754600160a060020a0390811691161490565b6000806000fd5b60096020526000908152604090205481565b600260036000909192565b600654600160a060020a031681565b600080600160a060020a038a161515610e8257600080fd5b600160a060020a0389161515610e9757600080fd5b861580610eab575086610ea8611354565b11155b1515610eb657600080fd5b600854604080517fea2aa0a1be11a07ed86d755c93467f4f82362b452371d1ba94d1715123511acb602080830191909152600160a060020a03808f16838501528d166060830152608082018c905260a082018b905289151560c0808401919091528351808403909101815260e090920192839052815191929182918401908083835b60208310610f575780518252601f199092019160209182019101610f38565b51815160209384036101000a6000190180199092169116179052604080519290940182900382207f190100000000000000000000000000000000000000000000000000000000000083830152602283019790975260428083019790975283518083039097018752606290910192839052855192945084935085019190508083835b60208310610ff75780518252601f199092019160209182019101610fd8565b51815160209384036101000a600019018019909216911617905260408051929094018290038220600080845283830180875282905260ff8d1684870152606084018c9052608084018b905294519098506001965060a080840196509194601f19820194509281900390910191865af1158015611077573d6000803e3d6000fd5b50505060206040510351600160a060020a03168a600160a060020a03161415156110a057600080fd5b600160a060020a038a16600090815260096020526040902080546001810190915588146110cc57600080fd5b856110d85760006110dc565b6000195b600160a060020a03808c166000908152600560209081526040808320938e16835292905220819055905085611112576000611114565b865b600160a060020a03808c166000818152600a60209081526040808320948f1680845294825291829020949094558051858152905192939192600080516020611a13833981519152929181900390910190a350505050505050505050565b60018054604080516020600284861615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156107a75780601f1061077c576101008083540402835291602001916107a7565b6000610a718383610cd8565b60006111e383836113ef565b15156111ee57600080fd5b6111f9338484611358565b50600192915050565b610dec338383610863565b611218838383610863565b50505050565b600754600160a060020a031690565b336000908152600560209081526040808320600160a060020a0386168452909152812054611261908363ffffffff61134116565b336000818152600560209081526040808320600160a060020a038916808552908352928190208590558051948552519193600080516020611a13833981519152929081900390910190a350600192915050565b600160a060020a03918216600090815260056020908152604080832093909416825291909152205490565b610dec823383610863565b600654600160a060020a0316331461130157600080fd5b610c9e816116ac565b600a60209081526000928352604080842090915290825290205481565b6000903b1190565b60008282111561133b57fe5b50900390565b8181018281101561134e57fe5b92915050565b4290565b61136182611327565b80156113885750604080516000815260208101909152611386908490849084906113fb565b155b15610dec5761139682610e23565b156113a057600080fd5b60408051600160a060020a0380861682528416602082015280820183905290517f11249f0fc79fc134a15a10d1da8291b79515bf987e036ced05b9ec119614070b9181900360600190a1505050565b6000610a71838361172a565b600083600160a060020a031663a4c0ed367c0100000000000000000000000000000000000000000000000000000000028685856040516024018084600160a060020a0316600160a060020a0316815260200183815260200180602001828103825283818151815260200191508051906020019080838360005b8381101561148c578181015183820152602001611474565b50505050905090810190601f1680156114b95780820380516001836020036101000a031916815260200191505b5060408051601f198184030181529181526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff00000000000000000000000000000000000000000000000000000000909916989098178852518151919790965086955093509150819050838360005b8381101561154757818101518382015260200161152f565b50505050905090810190601f1680156115745780820380516001836020036101000a031916815260200191505b509150506000604051808303816000865af1979650505050505050565b600160a060020a0382166000908152600360205260409020548111156115b657600080fd5b600160a060020a0382166000908152600360205260409020546115df908263ffffffff61132f16565b600160a060020a03831660009081526003602052604090205560045461160b908263ffffffff61132f16565b600455604080518281529051600160a060020a038416917fcc16f5dbb4873280815c1ee09dbd06736cffcc184412cf7a71a0fdb75d397ca5919081900360200190a2604080518281529051600091600160a060020a038516916000805160206119f38339815191529181900360200190a35050565b600160a060020a038216151561169e57611699816117f9565b6116a8565b6116a88282611805565b5050565b600160a060020a03811615156116c157600080fd5b600654604051600160a060020a038084169216907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a36006805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b3360009081526003602052604081205482111561174657600080fd5b600160a060020a038316151561175b57600080fd5b3360009081526003602052604090205461177b908363ffffffff61132f16565b3360009081526003602052604080822092909255600160a060020a038516815220546117ad908363ffffffff61134116565b600160a060020a0384166000818152600360209081526040918290209390935580518581529051919233926000805160206119f38339815191529281900390910190a350600192915050565b30316116a882826118a3565b604080517f70a0823100000000000000000000000000000000000000000000000000000000815230600482015290518391600091600160a060020a038416916370a0823191602480830192602092919082900301818787803b15801561186a57600080fd5b505af115801561187e573d6000803e3d6000fd5b505050506040513d602081101561189457600080fd5b5051905061121884848361190b565b604051600160a060020a0383169082156108fc029083906000818181858888f1935050505015156116a85780826118d86119c2565b600160a060020a039091168152604051908190036020019082f080158015611904573d6000803e3d6000fd5b5050505050565b60408051600160a060020a03841660248201526044808201849052825180830390910181526064909101909152602081810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fa9059cbb000000000000000000000000000000000000000000000000000000001781528251606093600093909290918491828a5af160005193508392508080156101b65750506000835111156119ba578115156119ba57600080fd5b505050505050565b6040516021806119d2833901905600608060405260405160208060218339810160405251600160a060020a038116ff00ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925a165627a7a72305820da715ff88e0288dbae664bb8af2f148726bdc8c499fecf88153280d022031e780029 -``` - -**New permitable token contract bytecode** - -``` -0x6080604052600436106101b35763ffffffff60e060020a60003504166305d2035b81146101b857806306fdde03146101e1578063095ea7b31461026b5780630b26cf661461028f57806318160ddd146102b257806323b872dd146102d957806330adf81f14610303578063313ce567146103185780633644e5151461034357806339509351146103585780634000aea01461037c57806340c10f19146103ad57806342966c68146103d157806354fd4d50146103e957806366188463146103fe57806369ffa08a1461042257806370a0823114610449578063715018a61461046a578063726600ce1461047f5780637d64bcb4146104a05780637ecebe00146104b5578063859ba28c146104d65780638da5cb5b146105175780638fcbaf0c1461054857806395d89b4114610586578063a457c2d71461059b578063a9059cbb146105bf578063b753a98c146105e3578063bb35783b14610607578063c6a1dedf14610631578063cd59658314610646578063d505accf1461065b578063d73dd62314610694578063dd62ed3e146106b8578063f2d5d56b146106df578063f2fde38b14610703578063ff9e884d14610724575b600080fd5b3480156101c457600080fd5b506101cd61074b565b604080519115158252519081900360200190f35b3480156101ed57600080fd5b506101f661076c565b6040805160208082528351818301528351919283929083019185019080838360005b83811015610230578181015183820152602001610218565b50505050905090810190601f16801561025d5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561027757600080fd5b506101cd600160a060020a03600435166024356107fa565b34801561029b57600080fd5b506102b0600160a060020a0360043516610810565b005b3480156102be57600080fd5b506102c761086a565b60408051918252519081900360200190f35b3480156102e557600080fd5b506101cd600160a060020a0360043581169060243516604435610870565b34801561030f57600080fd5b506102c7610a38565b34801561032457600080fd5b5061032d610a5c565b6040805160ff9092168252519081900360200190f35b34801561034f57600080fd5b506102c7610a65565b34801561036457600080fd5b506101cd600160a060020a0360043516602435610a6b565b34801561038857600080fd5b506101cd60048035600160a060020a0316906024803591604435918201910135610aac565b3480156103b957600080fd5b506101cd600160a060020a0360043516602435610bbd565b3480156103dd57600080fd5b506102b0600435610cc8565b3480156103f557600080fd5b506101f6610cd5565b34801561040a57600080fd5b506101cd600160a060020a0360043516602435610d0c565b34801561042e57600080fd5b506102b0600160a060020a0360043581169060243516610de9565b34801561045557600080fd5b506102c7600160a060020a0360043516610e0e565b34801561047657600080fd5b506102b0610e29565b34801561048b57600080fd5b506101cd600160a060020a0360043516610e40565b3480156104ac57600080fd5b506101cd610e54565b3480156104c157600080fd5b506102c7600160a060020a0360043516610e5b565b3480156104e257600080fd5b506104eb610e6d565b6040805167ffffffffffffffff9485168152928416602084015292168183015290519081900360600190f35b34801561052357600080fd5b5061052c610e78565b60408051600160a060020a039092168252519081900360200190f35b34801561055457600080fd5b506102b0600160a060020a0360043581169060243516604435606435608435151560ff60a4351660c43560e435610e87565b34801561059257600080fd5b506101f6610fc5565b3480156105a757600080fd5b506101cd600160a060020a036004351660243561101f565b3480156105cb57600080fd5b506101cd600160a060020a0360043516602435611032565b3480156105ef57600080fd5b506102b0600160a060020a0360043516602435611054565b34801561061357600080fd5b506102b0600160a060020a0360043581169060243516604435611064565b34801561063d57600080fd5b506102c7611075565b34801561065257600080fd5b5061052c611099565b34801561066757600080fd5b506102b0600160a060020a036004358116906024351660443560643560ff6084351660a43560c4356110a8565b3480156106a057600080fd5b506101cd600160a060020a0360043516602435611184565b3480156106c457600080fd5b506102c7600160a060020a036004358116906024351661120b565b3480156106eb57600080fd5b506102b0600160a060020a0360043516602435611236565b34801561070f57600080fd5b506102b0600160a060020a0360043516611241565b34801561073057600080fd5b506102c7600160a060020a0360043581169060243516611261565b60065474010000000000000000000000000000000000000000900460ff1681565b6000805460408051602060026001851615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156107f25780601f106107c7576101008083540402835291602001916107f2565b820191906000526020600020905b8154815290600101906020018083116107d557829003601f168201915b505050505081565b600061080733848461127e565b50600192915050565b600654600160a060020a0316331461082757600080fd5b610830816112c0565b151561083b57600080fd5b6007805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b60045490565b600080600160a060020a038516151561088857600080fd5b600160a060020a038416151561089d57600080fd5b600160a060020a0385166000908152600360205260409020546108c6908463ffffffff6112c816565b600160a060020a0380871660009081526003602052604080822093909355908616815220546108fb908463ffffffff6112da16565b600160a060020a038086166000818152600360209081526040918290209490945580518781529051919392891692600080516020611d7283398151915292918290030190a3600160a060020a0385163314610a225761095a853361120b565b905060001981146109c457610975818463ffffffff6112c816565b600160a060020a038616600081815260056020908152604080832033808552908352928190208590558051948552519193600080516020611d92833981519152929081900390910190a3610a22565b600160a060020a0385166000908152600a602090815260408083203384529091529020541580610a175750600160a060020a0385166000908152600a602090815260408083203384529091529020544211155b1515610a2257600080fd5b610a2d8585856112ed565b506001949350505050565b7f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c981565b60025460ff1681565b60085481565b336000818152600560209081526040808320600160a060020a03871684529091528120549091610807918590610aa7908663ffffffff6112da16565b61127e565b600084600160a060020a03811615801590610ad05750600160a060020a0381163014155b1515610adb57600080fd5b610ae58686611324565b1515610af057600080fd5b85600160a060020a031633600160a060020a03167fe19260aff97b920c7df27010903aeb9c8d2be5d310a2c67824cf3f15396e4c16878787604051808481526020018060200182810382528484828181526020019250808284376040519201829003965090945050505050a3610b65866112c0565b15610bb157610ba633878787878080601f01602080910402602001604051908101604052809392919081815260200183838082843750611330945050505050565b1515610bb157600080fd5b50600195945050505050565b600654600090600160a060020a03163314610bd757600080fd5b60065474010000000000000000000000000000000000000000900460ff1615610bff57600080fd5b600454610c12908363ffffffff6112da16565b600455600160a060020a038316600090815260036020526040902054610c3e908363ffffffff6112da16565b600160a060020a038416600081815260036020908152604091829020939093558051858152905191927f0f6798a560793a54c3bcfe86a93cde1e73087d944c0ea20544137d412139688592918290030190a2604080518381529051600160a060020a03851691600091600080516020611d728339815191529181900360200190a350600192915050565b610cd233826114ad565b50565b60408051808201909152600181527f3100000000000000000000000000000000000000000000000000000000000000602082015281565b336000908152600560209081526040808320600160a060020a0386168452909152812054808310610d6057336000908152600560209081526040808320600160a060020a0388168452909152812055610d95565b610d70818463ffffffff6112c816565b336000908152600560209081526040808320600160a060020a03891684529091529020555b336000818152600560209081526040808320600160a060020a038916808552908352928190205481519081529051929392600080516020611d92833981519152929181900390910190a35060019392505050565b600654600160a060020a03163314610e0057600080fd5b610e0a828261159c565b5050565b600160a060020a031660009081526003602052604090205490565b600654600160a060020a031633146101b357600080fd5b600754600160a060020a0390811691161490565b6000806000fd5b60096020526000908152604090205481565b600260056000909192565b600654600160a060020a031681565b600080861580610e975750864211155b1515610ea257600080fd5b604080517fea2aa0a1be11a07ed86d755c93467f4f82362b452371d1ba94d1715123511acb6020820152600160a060020a03808d16828401528b166060820152608081018a905260a0810189905287151560c0808301919091528251808303909101815260e0909101909152610f17906115da565b9150610f25828686866116e1565b600160a060020a038b8116911614610f3c57600080fd5b600160a060020a038a1660009081526009602052604090208054600181019091558814610f6857600080fd5b85610f74576000610f78565b6000195b905085610f86576000610f88565b865b600160a060020a03808c166000908152600a60209081526040808320938e1683529290522055610fb98a8a836118e3565b50505050505050505050565b60018054604080516020600284861615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156107f25780601f106107c7576101008083540402835291602001916107f2565b600061102b8383610d0c565b9392505050565b600061103e8383611324565b151561104957600080fd5b6108073384846112ed565b61105f338383610870565b505050565b61106f838383610870565b50505050565b7fea2aa0a1be11a07ed86d755c93467f4f82362b452371d1ba94d1715123511acb81565b600754600160a060020a031690565b600080428610156110b857600080fd5b600160a060020a03808a1660008181526009602090815260409182902080546001810190915582517f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c99281019290925281830193909352928b166060840152608083018a905260a0830182905260c08084018a90528151808503909101815260e090930190529250611149906115da565b9050611157818686866116e1565b600160a060020a038a811691161461116e57600080fd5b61117989898961127e565b505050505050505050565b336000908152600560209081526040808320600160a060020a03861684529091528120546111b8908363ffffffff6112da16565b336000818152600560209081526040808320600160a060020a038916808552908352928190208590558051948552519193600080516020611d92833981519152929081900390910190a350600192915050565b600160a060020a03918216600090815260056020908152604080832093909416825291909152205490565b61105f823383610870565b600654600160a060020a0316331461125857600080fd5b610cd281611a3e565b600a60209081526000928352604080842090915290825290205481565b6112898383836118e3565b60001981141561105f57600160a060020a038084166000908152600a60209081526040808320938616835292905290812055505050565b6000903b1190565b6000828211156112d457fe5b50900390565b818101828110156112e757fe5b92915050565b6112f682610e40565b1561105f5760408051600081526020810190915261131990849084908490611330565b151561105f57600080fd5b600061102b8383611abc565b600083600160a060020a031663a4c0ed3660e060020a028685856040516024018084600160a060020a0316600160a060020a0316815260200183815260200180602001828103825283818151815260200191508051906020019080838360005b838110156113a8578181015183820152602001611390565b50505050905090810190601f1680156113d55780820380516001836020036101000a031916815260200191505b5060408051601f198184030181529181526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff00000000000000000000000000000000000000000000000000000000909916989098178852518151919790965086955093509150819050838360005b8381101561146357818101518382015260200161144b565b50505050905090810190601f1680156114905780820380516001836020036101000a031916815260200191505b509150506000604051808303816000865af1979650505050505050565b600160a060020a0382166000908152600360205260409020548111156114d257600080fd5b600160a060020a0382166000908152600360205260409020546114fb908263ffffffff6112c816565b600160a060020a038316600090815260036020526040902055600454611527908263ffffffff6112c816565b600455604080518281529051600160a060020a038416917fcc16f5dbb4873280815c1ee09dbd06736cffcc184412cf7a71a0fdb75d397ca5919081900360200190a2604080518281529051600091600160a060020a03851691600080516020611d728339815191529181900360200190a35050565b80600160a060020a03811615156115b257600080fd5b600160a060020a03831615156115d0576115cb82611b8b565b61105f565b61105f8383611b97565b6000600854826040518082805190602001908083835b6020831061160f5780518252601f1990920191602091820191016115f0565b51815160209384036101000a6000190180199092169116179052604080519290940182900382207f190100000000000000000000000000000000000000000000000000000000000083830152602283019790975260428083019790975283518083039097018752606290910192839052855192945084935085019190508083835b602083106116af5780518252601f199092019160209182019101611690565b5181516020939093036101000a6000190180199091169216919091179052604051920182900390912095945050505050565b6000808460ff16601b14806116f957508460ff16601c145b1515611775576040805160e560020a62461bcd02815260206004820152602260248201527f45434453413a20696e76616c6964207369676e6174757265202776272076616c60448201527f7565000000000000000000000000000000000000000000000000000000000000606482015290519081900360840190fd5b7f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a0831115611813576040805160e560020a62461bcd02815260206004820152602260248201527f45434453413a20696e76616c6964207369676e6174757265202773272076616c60448201527f7565000000000000000000000000000000000000000000000000000000000000606482015290519081900360840190fd5b60408051600080825260208083018085528a905260ff8916838501526060830188905260808301879052925160019360a0808501949193601f19840193928390039091019190865af115801561186d573d6000803e3d6000fd5b5050604051601f190151915050600160a060020a03811615156118da576040805160e560020a62461bcd02815260206004820152601860248201527f45434453413a20696e76616c6964207369676e61747572650000000000000000604482015290519081900360640190fd5b95945050505050565b600160a060020a0383161515611968576040805160e560020a62461bcd028152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460448201527f7265737300000000000000000000000000000000000000000000000000000000606482015290519081900360840190fd5b600160a060020a03821615156119ee576040805160e560020a62461bcd02815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f20616464726560448201527f7373000000000000000000000000000000000000000000000000000000000000606482015290519081900360840190fd5b600160a060020a0380841660008181526005602090815260408083209487168084529482529182902085905581518581529151600080516020611d928339815191529281900390910190a3505050565b600160a060020a0381161515611a5357600080fd5b600654604051600160a060020a038084169216907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a36006805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b33600090815260036020526040812054821115611ad857600080fd5b600160a060020a0383161515611aed57600080fd5b33600090815260036020526040902054611b0d908363ffffffff6112c816565b3360009081526003602052604080822092909255600160a060020a03851681522054611b3f908363ffffffff6112da16565b600160a060020a038416600081815260036020908152604091829020939093558051858152905191923392600080516020611d728339815191529281900390910190a350600192915050565b3031610e0a8282611c44565b604080517f70a0823100000000000000000000000000000000000000000000000000000000815230600482015290518391600091600160a060020a038416916370a0823191602480830192602092919082900301818787803b158015611bfc57600080fd5b505af1158015611c10573d6000803e3d6000fd5b505050506040513d6020811015611c2657600080fd5b5051905061106f600160a060020a038516848363ffffffff611cac16565b604051600160a060020a0383169082156108fc029083906000818181858888f193505050501515610e0a578082611c79611d41565b600160a060020a039091168152604051908190036020019082f080158015611ca5573d6000803e3d6000fd5b5050505050565b82600160a060020a031663a9059cbb83836040518363ffffffff1660e060020a0281526004018083600160a060020a0316600160a060020a0316815260200182815260200192505050600060405180830381600087803b158015611d0f57600080fd5b505af1158015611d23573d6000803e3d6000fd5b505050503d1561105f5760206000803e600051151561105f57600080fd5b604051602180611d51833901905600608060405260405160208060218339810160405251600160a060020a038116ff00ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925a165627a7a72305820b96bb0733a3e45fdddafa592f51114d0cf16cad047ad60b9b91ae91eb772c6940029 -``` - ---- - -// File: about/specs/hard-forks/2508800 - -# #2508800 - 2019-03-06 - -:::caution Archived page -Check the latest hard fork and update your node -::: - -### Info - -* **Network**: xDai (now Gnosis) -* **Date**: 2019-03-06 -* **Block number**: 2508800 - -### Description - -This update disables Constantinople EIP-1283 at block `2508800` in `xDai` network. - -### Solution - -1. Update Parity node to `2.3.2-beta` using [this guide.](https://www.poa.network/for-validators/hard-forks/parity-upgrade-guide) -2. Update `poa-chain-spec/spec.json` - add [eip1283DisableTransition](https://github.com/poanetwork/poa-chain-spec/pull/107/files#diff-42eb5109ad96d4ac46cdcbf18f2938deR38) to `engine.params` section. See [Update spec.json](/concepts/specs/hard-forks/spec.json-update) -3. Organize the HF on block `2508800`. - -### Verify - -```bash -grep -n -A2 2508800 spec.json -``` - -You should see: - -```json -38: "eip1283DisableTransition": 2508800, -39- "registrar": "0x1ec97dc137f5168af053c24460a1200502e1a9d2" -40- }, -``` - ---- - -// File: about/specs/hard-forks/7298030 - -# #7298030 - 2019-12-12 - -:::caution Archived page -Check the latest hard fork and update your node -::: - -* **Network**: xDai (now Gnosis) -* **Date**: 2019-12-12 -* **Block number**: `7298030` - -## Description: Istanbul Upgrade - -* eip1283ReenableTransition -* eip1344Transition -* eip1706Transition -* eip1884Transition -* eip2028Transition - -## Perform Updates - -1. **You must update spec.json and Parity node to version 2.6.5** as the spec format was changed. [Use this guide to upgrade](/concepts/specs/hard-forks/spec.json-update). -2. Organize the HF on block `7298030` - -## Verify - -Once your update is complete, verify the HF block number: - -```bash -grep -n -A2 7298030 spec.json -``` - -You should see: - -```json -39: "eip1283ReenableTransition": 7298030, -40: "eip1344Transition": 7298030, -41: "eip1706Transition": 7298030, -42: "eip1884Transition": 7298030, -43: "eip2028Transition": 7298030, -44- "registrar": "0x1ec97dc137f5168af053c24460a1200502e1a9d2" -45- }, --- -82: "7298030": { -83- "info": "Istanbul HF", -84- "price": { --- -104: "7298030": { -105- "info": "Istanbul HF", -106- "price": { --- -127: "7298030": { -128- "info": "Istanbul HF", -129- "price": { --- -143: "7298030": { -144- "info": "Istanbul HF", -145- "price": { -``` - ---- - -// File: about/specs/hard-forks/9186425 - -# #9186425 - 2020-04-01 - -:::caution Archived page -Check the latest hard fork and update your node -::: - -* **Network**: xDai (now Gnosis) -* **Date**: 2020-04-01 -* **Block number**: `9186425` - -## Description: POSDAO Activation - -* new ValidatorSet contract -* blockRewardContractTransitions -* randomnessContractAddress -* posdaoTransition -* new Registry contract -* transactionPermissionContract - -## Perform Updates - -1. **You must update spec.json and Parity node to version 2.7.2-posdao-stable**. [Use this guide to upgrade](https://forum.poa.network/t/posdao-activation/3310). -2. Organize the HF on block `9186425` - -## Verify - -Once your update is complete, verify the HF block number: - -```bash -grep -n -A2 9186425 spec.json -``` - -You should see: - -```json -20: "9186425": { -21- "contract": "0xB87BE9f7196F2AE084Ca1DE6af5264292976e013" -22- } --- -28: "9186425": "0x481c034c6d9441db23Ea48De68BCAe812C5d39bA" -29- }, -30- "randomnessContractAddress": { --- -31: "9186425": "0x5870b0527DeDB1cFBD9534343Feda1a41Ce47766" -32- }, -33: "posdaoTransition": 9186425 -34- } -35- } --- -58: "transactionPermissionContractTransition": 9186425 -59- }, -60- "genesis": { -``` - ---- - -// File: about/specs/hard-forks/README - -# Hard Forks - -:::danger -Hard forks are backward-incompatible upgrades used to introduce new functionality or fix security related issues. They are backward-incompatible upgrades, requiring all nodes to upgrade to the latest version to avoid syncing to a pre-fork blockchain. - -Validators will receive instructions to update their nodes in the event of a hard fork. -::: - -Information related to a hard fork will be posted. If any assistance is needed, feel free to reach out or ask questions through [Discord](https://discord.gg/gnosischain), the [forum](https://forum.gnosis.io) or other channels. - ---- - -// File: about/specs/hard-forks/dencun - -# What is Dencun hardfork? - -Dencun hardfork activates all EIPs also activated on [Ethereum mainnet](https://eips.ethereum.org/EIPS/eip-7569). -The table below lists differences if any. - -| EIP | Scope | | -| --------------------------------------------------------------------------------------------- | ------ | -------------------------------------------- | -| [EIP-1153](https://eips.ethereum.org/EIPS/eip-1153): Transient storage opcodes | EL | Not modified | -| [EIP-4788](https://eips.ethereum.org/EIPS/eip-4788): Beacon block root in the EVM | CL, EL | Not modified, same addresses as Ethereum | -| [EIP-4844](https://eips.ethereum.org/EIPS/eip-4844): Shard Blob Transactions | CL, EL | Constants maybe modified from Ethereum (\* ) | -| [EIP-5656](https://eips.ethereum.org/EIPS/eip-5656): MCOPY - Memory copying instruction | EL | Not modified | -| [EIP-6780](https://eips.ethereum.org/EIPS/eip-6780): SELFDESTRUCT only in same transaction | EL | Not modified | -| [EIP-7044](https://eips.ethereum.org/EIPS/eip-7044): Perpetually Valid Signed Voluntary Exits | CL | Not modified | -| [EIP-7045](https://eips.ethereum.org/EIPS/eip-7045): Increase max attestation inclusion slot | CL | Not modified | -| [EIP-7514](https://eips.ethereum.org/EIPS/eip-7514): Add Max Epoch Churn Limit | CL | Constants maybe modified from Ethereum (\* ) | -| [EIP-7516](https://eips.ethereum.org/EIPS/eip-7516): BLOBBASEFEE opcode | EL | Not modified | - -\* See [Differences with Ethereum mainnet](#differences-with-ethereum-mainnet) - -Note: The trusted setup required for [deneb's cryptography](https://github.com/ethereum/consensus-specs/blob/dev/specs/deneb/polynomial-commitments.md#trusted-setup) is the same as defined in Ethereum's consensus spec release v1.4.0, which can be found [here](https://github.com/gnosischain/specs/blob/master/consensus/preset/gnosis/trusted_setups/trusted_setup_4096.json). - -## Differences with Ethereum mainnet - -### [EIP-4844](https://eips.ethereum.org/EIPS/eip-4844) - -Gnosis chain has slots significantly faster than Ethereum. Bigger blocks _could_ have a higher cost to the network than Ethereum so we may price blobs differently. Ethereum mainnet has chosen a target of 3 blobs from real live experiments on mainnet with big blocks. Consequently this parameters may not be adequate. - -Gnosis chain has significantly cheaper fees than mainnet, so blob spam is a concern. Ethereum's `MIN_BLOB_GASPRICE` makes blob space free (1e-18 USD / blob) if usage is under the target for a sustained period of time. The same concern applies to Ethereum, but consensus is that choosing a specific value that may apply to only some market conditions and not others. Given that Gnosis native token is a stable coin, this concerns are mitigated. Given usage under target for regular txs and blob data, setting min blob gas price to 1 GWei reduces the cost per byte by a factor of 16. - -| Constant | Value | -| ----------------------------- | ---------- | -| MIN_BLOB_GASPRICE | 1000000000 | -| TARGET_BLOB_GAS_PER_BLOCK | 131072 | -| MAX_BLOB_GAS_PER_BLOCK | 262144 | -| BLOB_GASPRICE_UPDATE_FRACTION | 1112826 | - -### [EIP-7514](https://eips.ethereum.org/EIPS/eip-7514) - -Gnosis chain has both a lower `CHURN_LIMIT_QUOTIENT` and faster epoch times. A `MAX_PER_EPOCH_ACTIVATION_CHURN_LIMIT` value of 2 provides a good trade-off to: - -- Limit max state growth in the next year to 1M validators -- Increase the minimum time for a 2/3 malicious take-over to 150 days at current validator set sizes -- Allow validator set growth to prevent long queues unless there's exceptional demand - -| Constant | Value | -| ------------------------------------ | ----- | -| MAX_PER_EPOCH_ACTIVATION_CHURN_LIMIT | 2 | - -## Upgrade Schedule - -| Network | Timestamp | Date & Time (UTC) | Fork Hash | Beacon Chain Epoch | -| ------- | ---------- | --------------------------------- | --------- | ------------------ | -| Chiado | 1706724940 | Wed Jan 31 2024 18:15:40 GMT+0000 | 0x5fbc16bc | 516608 | -| Mainnet | 1710181820 | Monday March 11 202418:30:20 +UTC | 0x1384dfc1 | 889856 | - -## How to Prepare - -### For Validators - -Update your clients: - - Execution Layer - - - â NethermindEth [v1.25.4+](https://github.com/NethermindEth/nethermind/releases/) - - â ErigonEth [v2.58.0+](https://github.com/ledgerwatch/erigon/releases/) - - Consensus Layer - - - â Lighthouse [v5.0.0+](https://github.com/sigp/lighthouse/releases/) - - â Teku [v24.2.0+](https://github.com/Consensys/teku/releases/) - - â Nimbus [v24.2.1+](https://github.com/status-im/nimbus-eth2/releases/) - - â Lodestar [v1.16.0+](https://github.com/ChainSafe/lodestar/releases/) - ---- - -// File: about/specs/hard-forks/eip-1559 - -# EIP-1559 - -## When EIP-1559 - -:::success EIP-1559 is live on Gnosis. - -* **Network**: Gnosis -* **Date Implemented**: November 12, 2021 -* **Block number**: `19,040,000` -::: - -## What is EIP-1559 - -EIP 1559 introduces a `BASEFEE` for all blockchain transactions. This is a minimum fee charged for each transaction, and it is adjusted depending on network congestion (gas usage per block). When gas usage is high, the fee increases, and when it is low, the fee decreases. - -Once collected, base fees are burned by the protocol rather than paid directly to the miners (or validators in the case of xDai). In addition to the base fee, a `PRIORITYFEE` can be added to a transaction as a tip to incentivize miners (validators) to include it in a block. - -## How 1559 impacts the Gnosis - -When EIP-1559 is implemented, xDai base fees will be burned within the protocol. This will result in a discrepancy between the xDai balance on the network and the DAI balance from Ethereum locked in the xDai bridge. To fix this imbalance, the corresponding amount of DAI on the mainnet will need to be used as well. - -The imbalance has not resulted in large discrepancies, and the DAI balance has not been used as of yet. - -Information on the burn is available here: [https://dune.com/gnosischain_team/EIP-1559-on-xDai](https://dune.com/gnosischain_team/EIP-1559-on-xDai) - -**Block size is also increased to 34M with this upgrade.** - -:::info -For more info about EIP-1559 on Ethereum and how it works, see the list of [EIP-1559 resources](https://hackmd.io/@timbeiko/1559-resources) compiled by Tim Beiko. -::: - ---- - -// File: about/specs/hard-forks/merge - -:::danger -Hard forks are backward-incompatible upgrades used to introduce new functionality or fix security related issues. They are backward-incompatible upgrades, requiring all nodes to upgrade to the latest version to avoid syncing to a pre-fork blockchain. -::: - -- **Network**: Gnosis -- **Beacon block number**: `6,306,357` -- **Completed:** 8 December 2022 -- [Merged successful announcement](/updates/2022/12/10/merge) - -# The Merge - -In early December 2022, Gnosis underwent the Merge. The Gnosis execution layer (formerly xDai) has been merged with the [Gnosis Beacon Chain](../gbc/README.md), in a process similar to the [Ethereum merge](https://ethereum.org/en/upgrades/merge/). - -The Merge represents an important shift for Gnosis, replacing the legacy [Proof-of-Authority consensus](../consensus/aura.md) with the open and unpermissioned [Beacon Chain Consensus](../gbc/README.md). This allows Gnosis to transition to a fully decentralized and permissionless proof-of-stake network. - -The Merge is also another step in Gnosis' journey together with Ethereum. From the early days of xDai at ETHDenver, Gnosis has had a role in Ethereum's journey. With the adoption of Ethereum's consensus mechanism, Gnosis will continue to contribute to Ethereum's growth as an experimental chain, where newcomers, experiments and ideas are welcome. - -## When did the Merge happen? - -:::tip - -The week of 5th Dec 2022 - -::: - -On the 9 Nov 2022 Gnosis Core Devs call, it was agreed to target **the week of 5th Dec 2022** for the Merge. Due to variances in block time, the Merge will likely happen sometime from **5th to 11th Dec 2022.** - -### TTD - -With the 5th Dec 2022 target in mind, the Core Devs have proposed the following TTD value: - -``` -8626000000000000000000058750000000000000000000 -``` - -This number was not chosen randomly: to pay tribute to the Ethereum Merge, Core Devs have proposed to include [Ethereum's TTD](https://notes.ethereum.org/@MarioHavel/merge-ttd), `58750000000000000000000`, in the Gnosis Merge TTD. - -### Bellatrix - -Similar to Ethereum, the Gnosis Beacon Chain have had a [Bellatrix epoch](https://blog.ethereum.org/2022/08/24/mainnet-merge-announcement) that occurred prior to the Merge. - -:::danger - -The Bellatrix upgrade is a hard fork. Nodes that aren't upgraded when the upgrade is released risk syncing to a pre-fork blockchain. - -::: - -## Timeline - -| Date | Event | -| ------------------- | ----------------------------------------------- | -| 15 Nov 2022 (Wed) | Merge Date announced publicly | -| 23 Nov 2022 (Wed) | Release of merge-ready Client Images | -| 23 Nov 2022 (Wed) | Release of revamped Validator Docs | -| 30 Nov 2022 (Wed) | Bellatrix epoch hit for Consensus Layer clients | -| 5-11 Dec 2022 (Mon) | Estimated TTD window for Gnosis Merge | - -## How to Prepare - -### For Validators - -:::caution - -Merge-ready clients releases can be downloaded from the link below. Please check and download the latest version of release for your clients. -Latest announcements will be made in the #validators channel in Gnosis Discord and on Twitter. - -::: - -**EL client** - -| Client | Merge ready release | Status | -| ---------- | ------------------- | ------------------------------------------------------------------ | -| Nethermind | v1.14.6 | â https://github.com/NethermindEth/nethermind/releases/tag/1.14.6 | -| Erigon | TBA | â Coming soon | - -**CL client** - -| Client | Merge ready release | Status | -| ---------- | ------------------- | ---------------------------------------------------------------------- | -| Teku | v22.11.0 | â Available https://github.com/ConsenSys/teku/releases/tag/22.11.0 | -| Lodestar | v1.2.2 | â Available https://github.com/ChainSafe/lodestar/releases/tag/v1.2.2 | -| Lighthouse | v3.3.0 | â Available (https://github.com/sigp/lighthouse/releases/tag/v3.3.0) | -| Nimbus | TBA | â Coming soon | -| Prysm | N/A | â Advised to switch to other clients. | - -**DAppNode Packages** - -| Package | Merge ready release | Status | -| ----------------------------------------- | ------------------- | ---------------------------------------------------------------------------------------------- | -| DAppNodePackage-nethermind-xdai | v1.0.17 | â Available https://github.com/dappnode/DAppNodePackage-nethermind-xdai/releases/tag/v1.0.17 | -| DAppNodePackage-teku-gnosis | v0.1.4 | â Available https://github.com/dappnode/DAppNodePackage-teku-gnosis/releases/tag/v0.1.4 | -| DAppNodePackage-web3signer-gnosis | v0.1.9 | â Available https://github.com/dappnode/DAppNodePackage-web3signer-gnosis/releases/tag/v0.1.9 | -| DAppNodePackage-lighthouse-gnosis | 0.1.4 | â Available https://github.com/dappnode/DAppNodePackage-lighthouse-gnosis/releases/tag/v0.1.4 | -| DAppNodePackage-gnosis-beacon-chain-prysm | đŤ TBA | âł TBA | -| DAppNodePackage-Lodestar-Gnosis | đĄ TBA | âł After Merge | -| DAppNodePackage-nimbus-gnosis | đĄ TBA | âł After Merge | - -### For DApps - -- The Merge deprecated Gnosis' RandomAuRa on-chain randomness, and developers should find alternatives -- Gnosis' Merge will be similar to the Ethereum Merge, and DApps should prepare accordingly for changes to `block.difficulty`, blockhash randomness, and block times and finalization. -- We recommend the Ethereum.org article on [How the Merge affects the Application Layer](https://blog.ethereum.org/2021/11/29/how-the-merge-impacts-app-layer) -- We recommend 0xMacro's post on [What Solidity Devs should know about Ethereum's Merge](https://0xmacro.com/blog/what-solidity-devs-should-know-about-ethereums-merge/) - ---- - -// File: about/specs/hard-forks/pectra - -# Pectra hardfork - -This hard fork activates all EIPs also activated on Ethereum mainnet [hard-fork](https://eips.ethereum.org/EIPS/eip-7600) EIP. - -The table below lists differences if any. -| EIP | Scope | | -| - | - | - | -| [EIP-2537](https://eips.ethereum.org/EIPS/eip-2537): Precompile for BLS12-381 curve operations | EL | Not modified -| [EIP-2935](https://eips.ethereum.org/EIPS/eip-2935): Save historical block hashes in state | EL | Not modified -| [EIP-6110](https://eips.ethereum.org/EIPS/eip-6110): Supply validator deposits on chain | EL | Not modified -| [EIP-7002](https://eips.ethereum.org/EIPS/eip-7002): Execution layer triggerable exits | EL | Not modified, same addresses as Ethereum -| [EIP-7251](https://eips.ethereum.org/EIPS/eip-7251): Increase the MAX_EFFECTIVE_BALANCE | CL | Not modified -| [EIP-7549](https://eips.ethereum.org/EIPS/eip-7549): Move committee index outside Attestation | CL | Not modified -| [EIP-7623](https://eips.ethereum.org/EIPS/eip-7623): Increase calldata cost | EL | Not modified -| [EIP-7685](https://eips.ethereum.org/EIPS/eip-7685): General purpose execution layer requests | Both | Not modified -| [EIP-7691](https://eips.ethereum.org/EIPS/eip-7691): Blob throughput increase | Both | Constants modified -| [EIP-7702](https://eips.ethereum.org/EIPS/eip-7702): Set EOA account code | EL | Not modified -| [EIP-7840](https://eips.ethereum.org/EIPS/eip-7840): Add blob schedule to EL config files | EL | Not modified -| [EIP-4844-pectra](https://eips.ethereum.org/EIPS/eip-4844): Collect Blob Gas Fee | EL | Added - -* See [Differences with Ethereum mainnet](#differences-with-ethereum-mainnet) - - - -## Impact of Pectra hardfork - -- EOAs will have super powers of smart accounts allowing wallets to do batched transactions, sponsored transactions,etc via [EIP 7702](https://eips.ethereum.org/EIPS/eip-7702) - -- Validators will have higher potential of earning rewards through increased maximum stake per validator [ EIP 7251](https://eips.ethereum.org/EIPS/eip-7251) - -- Auto-compounding for large validators, reduced operational costs through optimized signature aggregation (EIP-7549), and a streamlined withdrawal process via the execution layer (EIP-7002). - -- Optimized blob gas pricing via EIP 7691. - -## Pectra Timeline -| Network | Timestamp | Date & Time (UTC) | Fork Hash | Beacon Chain Epoch | -| ------- | ------------ | ----------------------------- | ---------- | ------------------ | -| Chiado | 1741254220 | Mar-06-2025 09:43:40 +UTC | 0x8ba51786 | 948224 | -| Mainnet | 1746021820 | Apr-30-2025 14:03:40 +UTC | 0x2f095d4a | 1337856 | - --------- - -## How to Prepare for upgrade - -### For Validators - -Update your clients: - - Execution Layer - - - â NethermindEth [v1.31.9](https://github.com/NethermindEth/nethermind/releases/tag/1.31.9) - - â ErigonEth [v3.0.2](https://github.com/erigontech/erigon/releases/tag/v3.0.2) - - â Reth [Link to client](https://github.com/gnosischain/reth_gnosis/pkgs/container/reth_gnosis) - - â Geth [v1.15.10-gc](https://github.com/gnosischain/go-ethereum/releases/tag/v1.15.10-gc) - - Consensus Layer - - - â Lighthouse [v7.0.1](https://github.com/sigp/lighthouse/releases/tag/v7.0.1) - - â Teku [v25.4.1](https://github.com/Consensys/teku/releases/tag/25.4.1) - - â Nimbus [v25.4.1](https://github.com/status-im/nimbus-eth2/releases/tag/v25.4.1) - - â Lodestar [v1.29.0](https://github.com/ChainSafe/lodestar/releases/tag/v1.29.0) - - â Prysm [v6.0.0](https://github.com/OffchainLabs/prysm/releases/tag/v6.0.0) - ---- - -// File: about/specs/hard-forks/shanghai-capella - -# What is Shanghai/Capella hardfork? - -Shanghai/Capella hardfork enables validator withdrawal and several execution layer update on Gnosis Chain. EIPs that are included in this hardfork: EIP-3651, EIP-3855, EIP-3860, EIP-6049. - -Validator withdrawal allows a validator's account balance get withdrawn from Beacon Chain to Execution Layer, in the form of GNO. The GNO will be accrued on validator's withdrawal address on the Execution Layer, which is set using `eth1_withdrawal_address` option during validator key generation. - -Check out [validator withdrawal](/node/management/withdrawals) for more details. - -## Upgrade Schedule - -| Network | Timestamp | Date & Time (UTC) | Fork Hash | Beacon Chain Epoch | -| ------- | ------------ | ----------------------------- | --------- | ------------------ | -| Chiado | 1684934220 | May-24-2023 13:17:00 +UTC | 0xa15a4252 | 244224 | -| Mainnet | 1690889660 | Aug-01-2023 11:34:20 +UTC | 0x2efe91ba | 648704 | - -## How to Prepare - -### For Validators - -1. Check Withdrawal Credentials - - For any type of withdrawals, a validator need to have `0x01` withdrawal credential. Youâre fine if you used `--eth1_withdrawal_address` to create your validator keys. If not, tooling will be made available. - - Refer to [validator withdrawal](/node/management/withdrawals#check-withdrawal-credential) for more details. - -2. Update your clients - - Execution Layer: - - â NethermindEth [v1.19.3](https://github.com/NethermindEth/nethermind/releases/tag/1.19.3) - â ErigonEth [v2.48.0](https://github.com/ledgerwatch/erigon/releases/tag/v2.48.0) - - Consensus Layer: - - â Lighthouse [v4.3.0](https://github.com/sigp/lighthouse/releases/tag/v4.3.0) - â Teku [v23.6.1](https://github.com/Consensys/teku/releases/tag/23.6.1) - â Nimbus v23.6.0 (only with the following Docker image: http://ghcr.io/gnosischain/gnosis-nimbus-eth2:v23.6.0) - â Lodestar [v1.9.1](https://github.com/ChainSafe/lodestar/releases/tag/v1.9.1) - - DAppNode Packages - - â Teku Gnosis v0.1.9 - â Lighthouse Gnosis v0.1.10 - â Lodestar Gnosis v0.1.2 - â Nethermind xDAI v1.0.34 - âď¸ Erigon and Nimbus - Forthcoming - -## How to claim your withdrawal? - -### Partial Withdrawal - -As we have modified some specs regarding the withdrawals to enable withdrawing GNO instead of the native gas token xDai, unlike Ethereum, partial withdrawals currently do not happen automatically. So, for now, you will need to call [`claimWithdrawal`](https://gnosisscan.io/address/0x0b98057ea310f4d31f2a452b414647007d1645d9#writeProxyContract#F3) function on the [contract](https://gnosisscan.io/address/0x0b98057ea310f4d31f2a452b414647007d1645d9#writeProxyContract). However, it is in our plans to automate and subsidize partial withdrawals in the future. - -### Full Withdrawal - -Please check guide on [voluntary exit](/node/management/voluntary-exit). - ---- - -// File: about/specs/hard-forks/spec.json-update - -# Spec.json update - -:::caution Archived page -Check the latest hard fork and update your node -::: - -:::info -This guide assumes that you're running this playbook from the same machine you used to make initial deployment of your node. You should already have `python` and `ansible` installed, and you have the correct ssh keypair to root-access the node. -::: - -1\) If you already have a cloned version of the poa-devops repository ([https://github.com/poanetwork/poa-devops.git](https://github.com/poanetwork/poa-devops.git)), pull the latest changes: - -```bash -cd poa-devops -git pull origin master -``` - -otherwise, clone this repository: - -```bash -git clone https://github.com/poanetwork/poa-devops.git -cd poa-devops -``` - -1\) create `group_vars/all` file: - -```bash -cp group_vars/hf-spec-change.example group_vars/all -``` - -and set the following variables: - -1. `poa_role` - node's role (one of `bootnode`, `validator`, `moc`, `explorer`, `netstat`) -2. `MAIN_REPO_FETCH: "poanetwork"`) -3. `GENESIS_BRANCH: "dai"` ) - -2\) Create/edit `hosts` file: - -```bash -echo "" > hosts -``` - -and put your node's ip address (assuming it's 192.0.2.1) as follows: - -```bash -[hf-spec-change] -192.0.2.1 -``` - -make sure you don't have other tags (`[...]`) in hosts file, **and double check you are using your DAI node's IP address**. - -For those who host multiple nodes: - -* if all your nodes are of the same role (e.g. all bootnodes), you can run this playbook on all of them by listing their ips, e.g. - - ``` - [hf-spec-change] - 192.0.2.1 - 192.0.2.2 - 192.0.2.3 - 192.0.2.4 - ``` - -* if you host nodes of different types you can set `poa_role` individually against the corresponding ip address like so: - - ``` - [hf-spec-change] - 192.0.2.1 poa_role=explorer - 192.0.2.2 - 192.0.2.3 poa_role=moc - 192.0.2.4 - ``` - - on lines where you omitted explicit `poa_role`, the value from `group_vars/all` is used. - -3\) Run the playbook: - -```bash -ansible-playbook -i hosts site.yml -``` - -:::warning -**I**f you get a ssh connection error, try to add `-e 'ansible_ssh_user=ubuntu'` to the command line above, substituting `ubuntu` with correct ssh username, which is usually either `ubuntu` or `root` or `poa` or `centos` depending on your setup -::: - -4\) Verify that your node is active in netstat ([https://dai-netstat.poa.network/](https://dai-netstat.poa.network/)) - -5\) connect to the node - -```bash -ssh root@192.0.2.1 -``` - -switch to the home folder of corresponding role: - -```bash -# substitute validator with your node's role (bootnode, moc, ...) -cd /home/validator -``` - -and check the update time of `spec.json` (should be about the time you started the playbook) - -```bash -ls -lh -# a long list should appear here, look for spec.json in the rightmost column and check the date and time on the same row -``` - -also check that backup was created: - -```bash -ls -lh spec-hfs/ -# look for a file named similar to spec-hf-20180108-174649.json Numbers represent date and time in UTC when the playbook was started -``` - ---- - -// File: about/specs/security-audit - -# Security Audits - -:::info -Most Audits were completed prior to the rebrand from xDai Chain to Gnosis, and will refer to the xDai chain as well as the STAKE token, the previous governance token of the chain (the chain is in the process of transferring to GNO-only security). -::: - -## Stake Beacon Chain by ChainSecurity - -**Completed:** October 1, 2021 - -**Conclusion:** During the assessment one critical issue was found and fixed following the intermediate report. The remaining issues were of low severity and were fixed accordingly. The communication with the team was very responsive. - -**Audit Report**: [https://chainsecurity.com/security-audit/poa-network-stake-beacon-chain-sbc-deposit/](https://chainsecurity.com/security-audit/poa-network-stake-beacon-chain-sbc-deposit/) - -## OmniBridge v6.0 Smart Contracts Audit by ChainSecurity - -**Completed:** September 7, 2021 - -**Conclusion**: The assessment uncovered a number of potential issues which were resolved by the team. Two additional issues were acknowledged and largely mitigated by the team, and the original severities are no longer applicable. These upgrades to the Omnibridge provide additional functionality which will be implemented in the future. - -* **Contracts:** [https://github.com/poanetwork/omnibridge](https://github.com/poanetwork/omnibridge) -* **Audit Report** - -[ChainSecurity_POA_Network_Omnibridge_Version_6_0_audit.pdf](/files/ChainSecurity_POA_Network_Omnibridge_Version_6_0_audit.pdf) - -## POSDAO Audit by ChainSecurity - -**Completed:** June 25, 2021 - -**Conclusion**: The assessment uncovered several issues which were addressed or acknowledged by the team. No "critical" severity security flaws preventing continued usage or launch of contracts in future contexts were found. 0 Critical Issues, 1 High Risk Issue Accepted, 4 Medium Issues Accepted/Acknowledged, 4 Low Risk Issues Accepted/Acknowledged. - -* **Contracts:** [https://github.com/poanetwork/posdao-contracts](https://github.com/poanetwork/posdao-contracts) -* **Audit Report in repo**: [https://github.com/poanetwork/posdao-contracts/blob/master/audit/ChainSecurity/report.pdf](https://github.com/poanetwork/posdao-contracts/blob/master/audit/ChainSecurity/report.pdf) - -:::success more info -[https://chainsecurity.com/security-audit/poa-network-posdao/](https://chainsecurity.com/security-audit/poa-network-posdao/) -::: - -## OmniBridge Audit by ChainSecurity - -**Completed:** April 27, 2021 - -**Conclusion**: 0 Critical or High Risk Issues, 2 Medium Issues Accepted, 3 Low Risk Issues Accepted/Acknowledged - -**Contracts:** [https://github.com/poanetwork/omnibridge](https://github.com/poanetwork/omnibridge)â - -:::success more info -[https://chainsecurity.com/security-audit/poa-network-omnibridge/](https://chainsecurity.com/security-audit/poa-network-omnibridge/) -::: - -## TokenBridge Audit by Quantstamp (covers OmniBridge) - -**Completed:** November 6, 2020 - -**Conclusion**: No high and medium risk issues found, all low risk issues addressed. - -**Contracts:** Revised in version 5.5.0-rc0 to address audit. [https://github.com/poanetwork/tokenbridge-contracts/releases/tag/5.5.0-rc0](https://github.com/poanetwork/tokenbridge-contracts/releases/tag/5.5.0-rc0) - -:::success [Quantstamp Security Audit PDF](https://github.com/poanetwork/tokenbridge/blob/master/audit/quantstamp/POA-Network-TokenBridge-contracts-5.4.1-security-assessment-report.pdf) -::: - -## EasyStaking Audit by Quantstamp - -**Completed:** August 3, 2020 - -**Conclusion:** All high/medium/low risk issues resolved. - -[XDai-Easy-Staking-Final-Report.pdf](/files/XDai-Easy-Staking-Final-Report.pdf) - -## TokenBridge Audit by Quantstamp (covers xDai bridge functionality) - -**Completed:** January 8, 2020 - -**Conclusion**: All high risk issues resolved and low risk issues addressed. [More information available in this post](https://forum.poa.network/t/quantstamp-security-audit-for-tokenbridge-contracts-completed/3233). - -**Contracts:** Revised in version 3.3.0 to address audit. [https://github.com/poanetwork/tokenbridge-contracts/releases/tag/3.3.0](https://github.com/poanetwork/tokenbridge-contracts/releases/tag/3.3.0) - -:::success [Quantstamp TokenBridge Security Audit PDF](https://github.com/poanetwork/tokenbridge/blob/73d500210546e2959536dc569f1aec5752077225/audit/quantstamp/POA-Network-Token-bridge-security-assessment-report.pdf) -::: - -## STAKE Token Distribution by Quantstamp - -#### **STAKE Token Distribution Audit** - -**Completed:** June 24, 2020\ -\ -**Conclusion**: No High or Medium risks, all low and informational risks addressed - -:::success [Quantstamp STAKE Security Audit PDF](https://github.com/xdaichain/stake-token/blob/master/audit/Quantstamp/xDAI%20STAKE%20Token%20Distribution%20-%20Additional%20Report.pdf) -::: - -#### **DPOS Audit** - -In the original audit, the working name for the staking token was DPOS. This changed to STAKE. - -**DPOS Audit Completed:** September 5, 2019\ -\ -**Conclusion**: All risks resolved. \ -\ -**Contracts:** Version 1.0.1 addressed items in audit.\ -[https://github.com/xdaichain/stake-token/releases/tag/v1.0.1](https://github.com/xdaichain/stake-token/releases/tag/v1.0.1) - -:::success [Quantstamp DPOS Security Audit PDF](https://github.com/xdaichain/stake-token/blob/master/audit/Quantstamp/DPOS%20token-Audit%20Final%20Report.pdf) -::: - -#### **STAKE Legal Opinion** - -The token constitutes a VFA in terms of Maltese law. Please contact [team@xdaichain.com ](mailto:team@xdaichain.com)to request access to the document. - -## POSDAO Initial Security Audit by PepperSec - -**Completed**: August 2019 - -**Conclusion**: All issues fixed or addressed. Due to scalability concerns, teams created a new methodology to accumulate and later âpullâ their stakes and rewards instead of the âpushâ strategy as implemented in the audited version of the contracts. - -**Contracts:** Version 0.1.0 addresses issues present in audit. [https://github.com/poanetwork/posdao-contracts/releases/tag/v0.1.0](https://github.com/poanetwork/posdao-contracts/releases/tag/v0.1.0) - -:::success [POSDAO v1 Consensus Contracts audit](https://forum.poa.network/t/security-audits-of-posdao-consensus-contracts/2921) -::: - ---- - -// File: about/tokens/README - -# Tokens - -Gnosis is a stable payments EVM (Ethereum Virtual Machine) blockchain designed for fast and inexpensive transactions. The chain uses a unique dual-token model; [xDai](/about/tokens/xdai/) is a stable token used for transactions, payments, and fees, and Proof of Stake protection will be provided by [GNO](/about/tokens/gno/) with the consensus-layer Gnosis Beacon Chain. - -| | xDai â | GNO 𦸠| -| -- | ------- | ------ | -| **Purpose** | - Stable Payments
-
-
-
-
-
-
-
- Fast transaction times (5 seconds) & low transaction fees (500 tx for $0.01)
-A stable token for transactions & gas fees
-Smart Contract, DApp & [toolset](/tools) compatibility with other Ethereum-based chains like Ethereum, Ethereum Classic, BSC and others.
-Fully-featured explorers [Gnosisscan](https://gnosisscan.io) and [BlockScout](https://blockscout.com/xdai/mainnet).
-Growing ecosystem designed to support stable person-to-person transactions, micro transactions, conference currencies, community currencies, DeFi, NFTs, DAOs, games and more.
-Wide-ranging [Community Support](/about/communication).
-{`docker pull ghcr.io/gnosischain/validator-data-generator:latest`}
- - docker run -it --rm -v /path/to/validator_keys:/app/validator_keys ghcr.io/gnosischain/validator-data-generator:latest new-mnemonic --num_validators=NUM --mnemonic_language=english --chain=gnosis --folder=/app/validator_keys --eth1_withdrawal_address=WITHDRAWAL_ADDRESS --
- Following execution, the path you defined for /path/to/validator_keys will contain the keystores and deposit_data*.json file.
- NUM The number of signing keys (validators) to generate.START_NUM Index for the first validator key. If this is the first time generating keys with this mnemonic, use 0. If keys were previously generated with this mnemonic, use the subsequent index number (e.g., if 4 keys have been generated before (keys #0, #1, #2, #3, then enter 4 here).WITHDRAWAL_ADDRESS Use this parameter to provide a regular Gnosis Chain 0x address for mGNO withdrawal. This parameter can also be omitted to generate withdrawal credentials with the mnemonic-derived withdrawal public key in the EIP-2334 format (ETH2 address format). Withdrawals will not be available until after the Shanghai upgrade./path/to/ should be replaced with a valid and existing path where you want to create the validator_keys folder. Or, to create the validator_keys folder in your current working directory, use $(PWD)/validator_keys:/app/validator_keysChiado testnet does not support public participation yet.
-Step 4 is omitted.
-* disabled options: unsupported clients
-Besu is not yet supported, use Nethermind instead.
-Geth is not yet supported, use Nethermind instead.
-| Node type | -Benefits | -Requirements | -
|---|---|---|
| Execution + beacon | -
-
|
- - Check requirements section. - | -
| Validator | -- Lets you stake GNO, propose + validate blocks, earn staking rewards + transaction fee tips. - | -
-
|
-
jwt.hex filegnosis on the network/chain name.chiado on the network/chain name.
-
-
-
-Account abstraction allows for more flexible and user-friendly account models beyond the traditional externally owned accounts (EOAs). With AA, smart contract wallets can initiate transactions, enabling more complex logic like multi-signature verification, recovery mechanisms, and gas fee payments in tokens. AA revolves around the idea of avoiding the need for change in consensus layer.
-{`Smart Account Address: ${address}`}
- ) -} -``` - -### 5. Sending UserOp sponsored transaction - -```typescript -import { parseAbi } from "viem" -import { useKernelClient, useSendUserOperation } from "@zerodev/waas" - -function App() { - const { address } = useKernelClient() - const { data: userOpHash, write, isPending } = useSendUserOperation({ - paymaster: { - type: "SPONSOR" - } - }) - const tokenAddress = "0x3870419Ba2BBf0127060bCB37f69A1b1C090992B" - const abi = parseAbi(["function mint(address _to, uint256 amount) public"]) - - return ( - /* ...Create & Get Smart Account */ -{`UserOp Hash: ${userOpHash}`}
} -Response Threshold
(Min gas price per block from previous 200 blocks)
{`docker pull ghcr.io/gnosischain/validator-data-generator:latest`}
- - docker run -it --rm -v /path/to/validator_keys:/app/validator_keys ghcr.io/gnosischain/validator-data-generator:latest new-mnemonic --num_validators=NUM --mnemonic_language=english --chain=gnosis --folder=/app/validator_keys --eth1_withdrawal_address=WITHDRAWAL_ADDRESS --
- Following execution, the path you defined for /path/to/validator_keys will contain the keystores and deposit_data*.json file.
- NUM The number of signing keys (validators) to generate.START_NUM Index for the first validator key. If this is the first time generating keys with this mnemonic, use 0. If keys were previously generated with this mnemonic, use the subsequent index number (e.g., if 4 keys have been generated before (keys #0, #1, #2, #3, then enter 4 here).WITHDRAWAL_ADDRESS Use this parameter to provide a regular Gnosis Chain 0x address for mGNO withdrawal. This parameter can also be omitted to generate withdrawal credentials with the mnemonic-derived withdrawal public key in the EIP-2334 format (ETH2 address format). Withdrawals will not be available until after the Shanghai upgrade./path/to/ should be replaced with a valid and existing path where you want to create the validator_keys folder. Or, to create the validator_keys folder in your current working directory, use $(PWD)/validator_keys:/app/validator_keysChiado testnet does not support public participation yet.
-Step 4 is omitted.
-* disabled options: unsupported clients
-Besu is not yet supported, use Nethermind instead.
-Geth is not yet supported, use Nethermind instead.
-| Node type | -Benefits | -Requirements | -
|---|---|---|
| Execution + beacon | -
-
|
- - Check requirements section. - | -
| Validator | -- Lets you stake GNO, propose + validate blocks, earn staking rewards + transaction fee tips. - | -
-
|
-
jwt.hex filegnosis on the network/chain name.chiado on the network/chain name.
-
-
-
-Account abstraction allows for more flexible and user-friendly account models beyond the traditional externally owned accounts (EOAs). With AA, smart contract wallets can initiate transactions, enabling more complex logic like multi-signature verification, recovery mechanisms, and gas fee payments in tokens. AA revolves around the idea of avoiding the need for change in consensus layer.
-{`Smart Account Address: ${address}`}
- ) -} -``` - -### 5. Sending UserOp sponsored transaction - -```typescript -import { parseAbi } from "viem" -import { useKernelClient, useSendUserOperation } from "@zerodev/waas" - -function App() { - const { address } = useKernelClient() - const { data: userOpHash, write, isPending } = useSendUserOperation({ - paymaster: { - type: "SPONSOR" - } - }) - const tokenAddress = "0x3870419Ba2BBf0127060bCB37f69A1b1C090992B" - const abi = parseAbi(["function mint(address _to, uint256 amount) public"]) - - return ( - /* ...Create & Get Smart Account */ -{`UserOp Hash: ${userOpHash}`}
} -Response Threshold
(Min gas price per block from previous 200 blocks)
{`docker pull ghcr.io/gnosischain/validator-data-generator:latest`}
+ + docker run -it --rm -v /path/to/validator_keys:/app/validator_keys ghcr.io/gnosischain/validator-data-generator:latest new-mnemonic --num_validators=NUM --mnemonic_language=english --chain=gnosis --folder=/app/validator_keys --eth1_withdrawal_address=WITHDRAWAL_ADDRESS ++
+ Following execution, the path you defined for /path/to/validator_keys will contain the keystores and deposit_data*.json file.
+ NUM The number of signing keys (validators) to generate.START_NUM Index for the first validator key. If this is the first time generating keys with this mnemonic, use 0. If keys were previously generated with this mnemonic, use the subsequent index number (e.g., if 4 keys have been generated before (keys #0, #1, #2, #3, then enter 4 here).WITHDRAWAL_ADDRESS Use this parameter to provide a regular Gnosis Chain 0x address for mGNO withdrawal. This parameter can also be omitted to generate withdrawal credentials with the mnemonic-derived withdrawal public key in the EIP-2334 format (ETH2 address format). Withdrawals will not be available until after the Shanghai upgrade./path/to/ should be replaced with a valid and existing path where you want to create the validator_keys folder. Or, to create the validator_keys folder in your current working directory, use $(PWD)/validator_keys:/app/validator_keysChiado testnet does not support public participation yet.
+Step 4 is omitted.
+* disabled options: unsupported clients
+Besu is not yet supported, use Nethermind instead.
+Geth is not yet supported, use Nethermind instead.
+| Node type | +Benefits | +Requirements | +
|---|---|---|
| Execution + beacon | +
+
|
+ + Check requirements section. + | +
| Validator | ++ Lets you stake GNO, propose + validate blocks, earn staking rewards + transaction fee tips. + | +
+
|
+
jwt.hex filegnosis on the network/chain name.chiado on the network/chain name.
+
+
+
+Account abstraction allows for more flexible and user-friendly account models beyond the traditional externally owned accounts (EOAs). With AA, smart contract wallets can initiate transactions, enabling more complex logic like multi-signature verification, recovery mechanisms, and gas fee payments in tokens. AA revolves around the idea of avoiding the need for change in consensus layer.
+{`Smart Account Address: ${address}`}
+ ) +} +``` + +### 5. Sending UserOp sponsored transaction + +```typescript +import { parseAbi } from "viem" +import { useKernelClient, useSendUserOperation } from "@zerodev/waas" + +function App() { + const { address } = useKernelClient() + const { data: userOpHash, write, isPending } = useSendUserOperation({ + paymaster: { + type: "SPONSOR" + } + }) + const tokenAddress = "0x3870419Ba2BBf0127060bCB37f69A1b1C090992B" + const abi = parseAbi(["function mint(address _to, uint256 amount) public"]) + + return ( + /* ...Create & Get Smart Account */ +{`UserOp Hash: ${userOpHash}`}
} +Response Threshold
(Min gas price per block from previous 200 blocks)