diff --git a/.github/workflows/dev_deploy.yml b/.github/workflows/dev_deploy.yml index b7a23270..5e6d8ec6 100644 --- a/.github/workflows/dev_deploy.yml +++ b/.github/workflows/dev_deploy.yml @@ -17,17 +17,16 @@ on: branches: - 'dev' +concurrency: + group: ${{ github.workflow }}-${{ github.ref }} + cancel-in-progress: true + jobs: deploy: name: Deployment runs-on: ubuntu-latest steps: - - name: Cancel Previous Runs - uses: styfle/cancel-workflow-action@0.8.0 - with: - access_token: ${{ github.token }} - - name: Remove broken apt repos [Ubuntu] if: ${{ matrix.os }} == 'ubuntu-latest' run: | diff --git a/.github/workflows/prod_deploy.yml b/.github/workflows/prod_deploy.yml index 572fb3fa..03716061 100644 --- a/.github/workflows/prod_deploy.yml +++ b/.github/workflows/prod_deploy.yml @@ -8,17 +8,16 @@ on: required: true type: string +concurrency: + group: ${{ github.workflow }}-${{ github.ref }} + cancel-in-progress: true + jobs: deploy: name: Deployment runs-on: ubuntu-latest steps: - - name: Cancel Previous Runs - uses: styfle/cancel-workflow-action@0.8.0 - with: - access_token: ${{ github.token }} - - name: Remove broken apt repos [Ubuntu] if: ${{ matrix.os }} == 'ubuntu-latest' run: | diff --git a/.github/workflows/tag_release.yml b/.github/workflows/tag_release.yml index 9982864d..1dd035fc 100644 --- a/.github/workflows/tag_release.yml +++ b/.github/workflows/tag_release.yml @@ -9,17 +9,16 @@ on: permissions: contents: write # This is required for actions/checkout and create release +concurrency: + group: ${{ github.workflow }}-${{ github.ref }} + cancel-in-progress: true + jobs: release: name: Github Release runs-on: ubuntu-latest steps: - - name: Cancel Previous Runs - uses: styfle/cancel-workflow-action@0.8.0 - with: - access_token: ${{ github.token }} - - name: Create Github Release uses: actions/github-script@v6 with: diff --git a/docs/shutterized-gc/DeployedContracts.md b/docs/shutterized-gc/DeployedContracts.md new file mode 100644 index 00000000..f5f148d5 --- /dev/null +++ b/docs/shutterized-gc/DeployedContracts.md @@ -0,0 +1,22 @@ +--- +sidebar_position: 3 +title : Deployed Contracts +--- + +### Deployed Contract for Shutterized Gnosis Chain Mainnet([Github](https://github.com/shutter-network/shutter-keyper-deployment/tree/gnosis/main?tab=readme-ov-file#contract-deployments)) + +| Contract Name | Gnosis Chain Mainnet | +| ------------ | ------------------------------------ | +| Sequencer | https://gnosis.blockscout.com/address/0xc5C4b277277A1A8401E0F039dfC49151bA64DC2E | +| ValidatorRegistry | https://gnosis.blockscout.com/address/0xefCC23E71f6bA9B22C4D28F7588141d44496A6D6 | +| keyperSetManager | https://gnosis.blockscout.com/address/0x7C2337f9bFce19d8970661DA50dE8DD7d3D34abb | +| keyBroadcastContract | https://gnosis.blockscout.com/address/0x626dB87f9a9aC47070016A50e802dd5974341301 | + + +### Deployed Contract for Shutterized Chiado Testnet + + +| Contract Name | Chiado Test | +| ------------ | ------------------------------------ | +| Relayer | https://gnosis-chiado.blockscout.com/address/0xfA606b7eE5Cb3Bb4580FBAa304fE245F91799418 | +| Sequencer Contract (Encrypted Mempool) | https://gnosis-chiado.blockscout.com/address/0xd073BD5A717Dce1832890f2Fdd9F4fBC4555e41A \ No newline at end of file diff --git a/docs/shutterized-gc/README.md b/docs/shutterized-gc/README.md new file mode 100644 index 00000000..a7f11ffa --- /dev/null +++ b/docs/shutterized-gc/README.md @@ -0,0 +1,47 @@ +--- +sidebar_position: 1 +title: Shutterized Gnosis Chain +description: The Shutterized Gnosis Chain tackles significant issues, focusing on base-layer neutrality, countering the risk of malicious Maximal Extractable Value (MEV), and maintaining censorship resistance. + +keywords: [shutter network shutterized gnosis chain MEV attacks frontrunning] +--- + +import React from 'react'; +import Button from '@site/src/components/Button'; +import { changeOrAddNetwork } from '@site/src/utils/changeNetwork'; + +### Protecting Against MEV Attacks: Shutterized Gnosis Chain + +Maximal Extractable Value (MEV) refers to the maximum value that can be extracted from block production in blockchain protocols, particularly in Ethereum. It represents the profits that can be made by miners or validators by reordering, including, or censoring transactions within a block. +To combat this, the Shutterized Gnosis Chain introduces a mechanism for submitting transactions that resist censorship and front-running attacks by allowing users to encrypt their transactions. + +Transactions on the Shutterized Gnosis Chain are only decrypted and executed after their inclusion in the blockchain is confirmed and the order of preceding transactions is finalized. Consequently, any third-party attempting to censor or front-run the transaction will be unable to do so without knowledge of its content, thereby nullifying their efforts. This ensures that transactions are protected from MEV attacks, safeguarding users from financial exploitation and maintaining the integrity of the decentralized system. + +### Add the RPC endpoint to your wallet: Take the first step towards secure and private trades on the Gnosis Chain. + + + ); +}; + +export default Button; diff --git a/src/theme/MDXComponents.js b/src/theme/MDXComponents.js index 3e09aab6..e527305e 100644 --- a/src/theme/MDXComponents.js +++ b/src/theme/MDXComponents.js @@ -6,6 +6,7 @@ import tabItem from '@theme/TabItem'; import Card from '@site/src/components/Card/Card'; import FeatureCard from '@site/src/components/Card/FeatureCard'; import CardContainer from '@site/src/components/Card/CardContainer'; +import Button from '@site/src/components/Button'; // import outlineCard from '@site/src/components/Card/outlineCard'; @@ -18,5 +19,5 @@ export default { Card, CardContainer, FeatureCard, - + Button, }; \ No newline at end of file diff --git a/src/utils/changeNetwork.js b/src/utils/changeNetwork.js new file mode 100644 index 00000000..b603ae45 --- /dev/null +++ b/src/utils/changeNetwork.js @@ -0,0 +1,45 @@ +import React from 'react'; +import Button from '@site/src/components/Button'; + +// JavaScript function for changing or adding the network +export async function changeOrAddNetwork() { + const chainId = '0x64'; + if (window.ethereum) { + try { + // Try to switch to the network + await window.ethereum.request({ + method: 'wallet_switchEthereumChain', + params: [{ chainId: chainId }], + }); + console.log('Switched to the network with chainId:', chainId); + } catch (switchError) { + if (switchError.code === 4902) { + try { + const chainParams = { + chainId: chainId, + rpcUrls: ["https://erpc.gnosis.shutter.network"], + chainName: "Shutterized Gnosis Chain", + nativeCurrency: { + name: "xDai", + symbol: "xDAI", + decimals: 18 + }, + blockExplorerUrls: ["https://www.gnosisscan.com"] + }; + + await window.ethereum.request({ + method: 'wallet_addEthereumChain', + params: [chainParams], + }); + console.log('Network added and switched to:', chainParams.chainName); + } catch (addError) { + console.error('Failed to add the network:', addError); + } + } else { + console.error('Failed to switch the network:', switchError); + } + } + } else { + console.error('MetaMask is not installed!'); + } +} \ No newline at end of file