From 35d523221e06bdbbee2bb38de11a6937ec41e1f3 Mon Sep 17 00:00:00 2001 From: Nadim Kobeissi Date: Wed, 6 Dec 2023 10:48:30 +0100 Subject: [PATCH 1/6] Remove and --- docs/cdk/get-started/deploy-validium.md | 4 ++-- docs/pos/architecture/bor/snapshots.md | 2 +- docs/pos/concepts/tokens/matic.md | 10 +++++----- docs/pos/concepts/tokens/pol.md | 6 +++--- docs/pos/how-to/operating/archive-node.md | 2 +- docs/pos/how-to/smart-contracts/chainstack.md | 6 +++--- docs/pos/how-to/smart-contracts/quicknode.md | 2 +- docs/tools/data/covalent.md | 6 +++--- docs/tools/data/flair.md | 2 +- docs/tools/data/parsiq.md | 8 ++++---- docs/tools/data/the-graph/data.md | 2 +- docs/tools/data/the-graph/entities.md | 2 +- docs/tools/data/the-graph/overview.md | 2 +- docs/tools/data/the-graph/queries.md | 2 +- docs/tools/gas/matic-faucet.md | 4 ++-- docs/tools/oracles/api3.md | 2 +- docs/tools/oracles/bandchain.md | 2 +- docs/tools/oracles/bandstandarddataset.md | 2 +- docs/tools/oracles/chainlink.md | 2 +- docs/tools/oracles/diadataoracles.md | 2 +- docs/tools/oracles/optimisticoracle.md | 2 +- docs/tools/oracles/razor.md | 2 +- docs/tools/oracles/tellor.md | 2 +- docs/tools/oracles/umbrella.md | 8 ++++---- docs/tools/smart-contracts/hardhat.md | 4 ++-- docs/tools/smart-contracts/replit.md | 4 ++-- docs/tools/smart-contracts/truffle.md | 2 +- docs/tools/storage/crusthelpers.md | 2 +- docs/tools/storage/filecoinhelpers.md | 2 +- docs/tools/storage/ipfs.md | 2 +- docs/tools/storage/nftstorage.md | 2 +- docs/tools/wallets/fortmatic.md | 2 +- docs/tools/wallets/getting-started.md | 6 +++--- docs/tools/wallets/metamask/add-polygon-network.md | 4 ++-- docs/tools/wallets/metamask/create-metamask-wallet.md | 2 +- docs/tools/wallets/metamask/custom-tokens.md | 4 ++-- docs/tools/wallets/metamask/index.md | 4 ++-- docs/tools/wallets/metamask/multiple-accounts.md | 4 ++-- docs/tools/wallets/particle-network.md | 2 +- docs/tools/wallets/plaid-wallet-onboard.md | 2 +- docs/tools/wallets/portis.md | 2 +- docs/tools/wallets/slashauth.md | 2 +- docs/tools/wallets/torus.md | 2 +- docs/tools/wallets/using-web3modal.md | 10 +++++----- docs/tools/wallets/venly/add-network.md | 4 ++-- docs/tools/wallets/venly/create-wallet.md | 2 +- docs/tools/wallets/venly/custom-tokens.md | 2 +- docs/tools/wallets/venly/index.md | 6 +++--- docs/tools/wallets/wallet-link.md | 2 +- docs/tools/wallets/walletconnect.md | 2 +- docs/zkEVM/architecture/index.md | 4 ++-- docs/zkEVM/architecture/protocol/index.md | 2 +- .../transaction-life-cycle/batch-aggregation.md | 2 +- .../transaction-life-cycle/batch-sequencing.md | 2 +- .../protocol/zkevm-bridge/smart-contracts.md | 2 +- .../zkprover/stark-recursion/proving-tools.md | 2 +- docs/zkEVM/get-started/deploy-zkevm/index.md | 2 +- docs/zkEVM/get-started/index.md | 2 +- docs/zkEVM/get-started/quick-start/bridge-to-zkevm.md | 2 +- docs/zkEVM/get-started/quick-start/connect-wallet.md | 2 +- docs/zkEVM/get-started/quick-start/zkevm-faucet.md | 2 +- docs/zkEVM/get-started/setup-nodes/local-node.md | 2 +- docs/zkEVM/get-started/setup-nodes/production-node.md | 2 +- docs/zkEVM/spec/pil/connection-arguments.md | 2 +- docs/zkEVM/troubleshooting/risk-disclosures.md | 6 +++--- 65 files changed, 101 insertions(+), 101 deletions(-) diff --git a/docs/cdk/get-started/deploy-validium.md b/docs/cdk/get-started/deploy-validium.md index 8d9264df1..af01d298b 100644 --- a/docs/cdk/get-started/deploy-validium.md +++ b/docs/cdk/get-started/deploy-validium.md @@ -7,7 +7,7 @@ Follow the steps below to deploy a CDK validium instance. First, deploy the relevant contracts. -Follow the steps in the [CDK validium contracts repository's README](https://github.com/0xPolygon/cdk-validium-contracts). +Follow the steps in the [CDK validium contracts repository's README](https://github.com/0xPolygon/cdk-validium-contracts). ## 2. Run the CDK validium node @@ -20,4 +20,4 @@ Follow the instructions in the [CDK validium node repository's README](https://g Finally, once the CDK validium node is operational, set up and run the data availability node. -Check for instructions here: [CDK DA Node GitHub running instructions](https://github.com/0xPolygon/cdk-data-availability/blob/main/docs/running.md). \ No newline at end of file +Check for instructions here: [CDK DA Node GitHub running instructions](https://github.com/0xPolygon/cdk-data-availability/blob/main/docs/running.md). \ No newline at end of file diff --git a/docs/pos/architecture/bor/snapshots.md b/docs/pos/architecture/bor/snapshots.md index ba5b5604a..fb63192e6 100644 --- a/docs/pos/architecture/bor/snapshots.md +++ b/docs/pos/architecture/bor/snapshots.md @@ -2,7 +2,7 @@ When setting up a new sentry, validator, or full node server, it is recommended !!! tip - For the latest snapshot, please visit [Polygon Chains Snapshots](https://snapshot.polygon.technology/). + For the latest snapshot, please visit [Polygon Chains Snapshots](https://snapshot.polygon.technology/). ## Client Snapshots diff --git a/docs/pos/concepts/tokens/matic.md b/docs/pos/concepts/tokens/matic.md index 14f092f0d..9d83fcded 100644 --- a/docs/pos/concepts/tokens/matic.md +++ b/docs/pos/concepts/tokens/matic.md @@ -1,19 +1,19 @@ !!! danger "Important update" - There is a proposal to transition the native token of the Polygon PoS network from MATIC to POL. Please find more information [here](https://polygon.technology/blog/polygon-2-0-implementation-officially-begins-the-first-set-of-pips-polygon-improvement-proposals-released). + There is a proposal to transition the native token of the Polygon PoS network from MATIC to POL. Please find more information [here](https://polygon.technology/blog/polygon-2-0-implementation-officially-begins-the-first-set-of-pips-polygon-improvement-proposals-released). -[MATIC](https://etherscan.io/token/0x7D1AfA7B718fb893dB30A3aBc0Cfc608AaCfeBB0) serves as the native cryptocurrency for the Polygon network, analogous to how Ether functions within the Ethereum ecosystem. +[MATIC](https://etherscan.io/token/0x7D1AfA7B718fb893dB30A3aBc0Cfc608AaCfeBB0) serves as the native cryptocurrency for the Polygon network, analogous to how Ether functions within the Ethereum ecosystem. To engage with the Polygon network, users must use MATIC tokens, which are necessary to cover gas fees for transactions, smart contract interactions, and part of the network's security model via staking. -This is an [example script](https://gist.github.com/rahuldamodar94/ea3bc4c551e6fc2d318767dcd7e5bffe) to send MATIC tokens from one account to another on the Polygon chain. +This is an [example script](https://gist.github.com/rahuldamodar94/ea3bc4c551e6fc2d318767dcd7e5bffe) to send MATIC tokens from one account to another on the Polygon chain. **Acquiring MATIC tokens can be achieved through methods such as validator rewards, staking, or on the open market.** For testing purposes on the Mumbai Testnet, test MATIC can be obtained, which does not hold any real-world value. This can be done via the Polygon faucet in the following way: -1. Visit the [Polygon Faucet](https://faucet.polygon.technology/) +1. Visit the [Polygon Faucet](https://faucet.polygon.technology/) 2. Select MATIC Token 3. Choose the Mumbai network 4. Enter your account address and confirm -For interactions between Goerli and Mumbai, consider using tools like [Matic.js](https://maticnetwork.github.io/matic.js/) or the [Polygon Web Wallet](https://wallet-dev.polygon.technology/). +For interactions between Goerli and Mumbai, consider using tools like [Matic.js](https://maticnetwork.github.io/matic.js/) or the [Polygon Web Wallet](https://wallet-dev.polygon.technology/). diff --git a/docs/pos/concepts/tokens/pol.md b/docs/pos/concepts/tokens/pol.md index 8add6d91f..8bb0863c9 100644 --- a/docs/pos/concepts/tokens/pol.md +++ b/docs/pos/concepts/tokens/pol.md @@ -1,8 +1,8 @@ !!! danger "Important update" - There is a proposal to transition the native token of the Polygon PoS network from MATIC to POL. This document will provide details on what this means for users of MATIC, the Polygon ecosystem, and the planned changes. Please read carefully and find more information [here](https://polygon.technology/blog/polygon-2-0-implementation-officially-begins-the-first-set-of-pips-polygon-improvement-proposals-released). + There is a proposal to transition the native token of the Polygon PoS network from MATIC to POL. This document will provide details on what this means for users of MATIC, the Polygon ecosystem, and the planned changes. Please read carefully and find more information [here](https://polygon.technology/blog/polygon-2-0-implementation-officially-begins-the-first-set-of-pips-polygon-improvement-proposals-released). -POL is the native token upgrade for the Polygon ecosystem, designed for use in a wide range of activities and purposes, including as a tool for network participation and security. By staking POL, participants can actively contribute to the ecosystem as validators. Importantly, POL has many of the same features as MATIC, is built on OpenZeppelin's ERC20 implementations, and supports [EIP-2612](https://eips.ethereum.org/EIPS/eip-2612) for signature-based permit approvals. +POL is the native token upgrade for the Polygon ecosystem, designed for use in a wide range of activities and purposes, including as a tool for network participation and security. By staking POL, participants can actively contribute to the ecosystem as validators. Importantly, POL has many of the same features as MATIC, is built on OpenZeppelin's ERC20 implementations, and supports [EIP-2612](https://eips.ethereum.org/EIPS/eip-2612) for signature-based permit approvals. If the POL proposal is supported by the community, the POL upgrade is estimated to take place in Q4 2023. The systems utilizing MATIC will not begin the transition until Q1 2024, allowing time for a smooth migration/upgrade and stakeholder preparation. The initial amount of POL refers to the total number of POL when the upgrade occurs. In the case of POL, the initial amount is 10 billion tokens — 1:1 with MATIC since this is an upgrade. @@ -23,7 +23,7 @@ No. You can provide feedback on the proposed changes in the PIPs and monitor Gi ### ...as an application or tooling developer? -No. You can review the [PIPs](https://forum.polygon.technology/t/pip-17-polygon-ecosystem-token-pol/12912) and provide feedback on the proposed changes and analyze if any changes break your smart contracts. Developers for applications on the Polygon PoS should not see any breaking changes. +No. You can review the [PIPs](https://forum.polygon.technology/t/pip-17-polygon-ecosystem-token-pol/12912) and provide feedback on the proposed changes and analyze if any changes break your smart contracts. Developers for applications on the Polygon PoS should not see any breaking changes. ## POL technical information diff --git a/docs/pos/how-to/operating/archive-node.md b/docs/pos/how-to/operating/archive-node.md index 64e703eff..2890e6f8d 100644 --- a/docs/pos/how-to/operating/archive-node.md +++ b/docs/pos/how-to/operating/archive-node.md @@ -48,7 +48,7 @@ After you find the API Key, you can now start to send RPC requests on MegaNode. !!! info "Any concern about your Privacy?" - Check out NodeReal [Privacy Policy](https://nodereal.io/privacy-policy). + Check out NodeReal [Privacy Policy](https://nodereal.io/privacy-policy). We’ll be using [Web3.js](https://web3js.readthedocs.io/en/v1.8.2/) libraries to make our first RPC request. diff --git a/docs/pos/how-to/smart-contracts/chainstack.md b/docs/pos/how-to/smart-contracts/chainstack.md index ac537fd36..604a6dea1 100644 --- a/docs/pos/how-to/smart-contracts/chainstack.md +++ b/docs/pos/how-to/smart-contracts/chainstack.md @@ -14,7 +14,7 @@ Foundry is a fast toolkit for Ethereum application development written in Rust. !!! tip - If you have any questions, reach out in the [Chainstack Discord](https://discord.com/invite/Cymtg2f7pX) server. + If you have any questions, reach out in the [Chainstack Discord](https://discord.com/invite/Cymtg2f7pX) server. ## What you will learn @@ -129,7 +129,7 @@ forge create HelloWorld --constructor-args "Hello" --contracts /root/foundry/src !!! tip - You can always check the contract's deployment on [Mumbai Polygonscan](https://mumbai.polygonscan.com/) using the newly-generated hash from the last step. + You can always check the contract's deployment on [Mumbai Polygonscan](https://mumbai.polygonscan.com/) using the newly-generated hash from the last step. ## Test the Contract @@ -137,4 +137,4 @@ There is a `forge test` command in case you need to check whether the contract i **Congratulations! You have deployed your Hello World smart contract on Polygon.** -See also Chainstack docs for more Polygon-related [tutorials](https://docs.chainstack.com/tutorials/polygon/) and [tools](https://docs.chainstack.com/operations/polygon/tools). +See also Chainstack docs for more Polygon-related [tutorials](https://docs.chainstack.com/tutorials/polygon/) and [tools](https://docs.chainstack.com/operations/polygon/tools). diff --git a/docs/pos/how-to/smart-contracts/quicknode.md b/docs/pos/how-to/smart-contracts/quicknode.md index e572204fc..d224704db 100644 --- a/docs/pos/how-to/smart-contracts/quicknode.md +++ b/docs/pos/how-to/smart-contracts/quicknode.md @@ -121,7 +121,7 @@ You will be asked to set up a password for your account! After completing the st !!! note - Mnemonic phrases can be used to recover an account or import the account to other [non-custodial wallets](https://www.quicknode.com/guides/web3-sdks/how-to-do-a-non-custodial-transaction-with-quicknode). The account you see in the image above was just created for this guide. + Mnemonic phrases can be used to recover an account or import the account to other [non-custodial wallets](https://www.quicknode.com/guides/web3-sdks/how-to-do-a-non-custodial-transaction-with-quicknode). The account you see in the image above was just created for this guide. Copy the account address so that we can get some test MATIC, which will be required to deploy our contract. diff --git a/docs/tools/data/covalent.md b/docs/tools/data/covalent.md index 3da08bed5..e5f83bf53 100644 --- a/docs/tools/data/covalent.md +++ b/docs/tools/data/covalent.md @@ -1,10 +1,10 @@ !!! note "Content disclaimer" - Please view the third-party content disclaimer [here](https://github.com/0xPolygon/wiki/blob/master/CONTENT_DISCLAIMER.md). + Please view the third-party content disclaimer [here](https://github.com/0xPolygon/wiki/blob/master/CONTENT_DISCLAIMER.md). !!! tip "Quickstart" - Check out **[this introductory video](https://www.youtube.com/watch?v=qhibXxKANWE)** + Check out **[this introductory video](https://www.youtube.com/watch?v=qhibXxKANWE)** to get started. ## Supported endpoints @@ -13,7 +13,7 @@ All [__Class A__](https://www.covalenthq.com/docs/api/#tag--Class-A) endpoints a !!! info "Endpoints" - A full list of all the requests you are able to do on the Polygon network using Covalent are available on the [Covalent API documentation](https://www.covalenthq.com/docs/api/). + A full list of all the requests you are able to do on the Polygon network using Covalent are available on the [Covalent API documentation](https://www.covalenthq.com/docs/api/). ## Appendix diff --git a/docs/tools/data/flair.md b/docs/tools/data/flair.md index 62f123b23..381839afc 100644 --- a/docs/tools/data/flair.md +++ b/docs/tools/data/flair.md @@ -1,7 +1,7 @@ !!! note "Content disclaimer" - Please view the third-party content disclaimer [here](https://github.com/0xPolygon/wiki/blob/master/CONTENT_DISCLAIMER.md). + Please view the third-party content disclaimer [here](https://github.com/0xPolygon/wiki/blob/master/CONTENT_DISCLAIMER.md). Real-time and historical custom data indexing for any evm chain. diff --git a/docs/tools/data/parsiq.md b/docs/tools/data/parsiq.md index edf2e1a5b..4493138f5 100644 --- a/docs/tools/data/parsiq.md +++ b/docs/tools/data/parsiq.md @@ -1,7 +1,7 @@ !!! note "Content disclaimer" - Please view the third-party content disclaimer [here](https://github.com/0xPolygon/wiki/blob/master/CONTENT_DISCLAIMER.md). + Please view the third-party content disclaimer [here](https://github.com/0xPolygon/wiki/blob/master/CONTENT_DISCLAIMER.md). ## About PARSIQ @@ -9,7 +9,7 @@ PARSIQ is a reliable, fully customizable blockchain data indexer, helping develo !!! tip "Quickstart" - Check out **[this introduction video](https://www.youtube.com/watch?v=kQJYJGt62hc)** + Check out **[this introduction video](https://www.youtube.com/watch?v=kQJYJGt62hc)** to get started. ### PARSIQ Tsunami API @@ -21,7 +21,7 @@ PARSIQ Tsunami API is a highly efficient API to fetch raw Web3 data: !!! info "Endpoints" - Please check out our [PARSIQ API Reference](https://docs.parsiq.net/reference/introduction) to see all the available endpoints. + Please check out our [PARSIQ API Reference](https://docs.parsiq.net/reference/introduction) to see all the available endpoints. ### PARSIQ SDK @@ -29,4 +29,4 @@ Some more complicated cases where custom data needs to be stored, accumulated, a !!! info "SDK Documentation" - Please see [PARSIQ SDK documentation](https://medium.com/parsiq/introducing-parsiq-sdk-675431864633) for more details. + Please see [PARSIQ SDK documentation](https://medium.com/parsiq/introducing-parsiq-sdk-675431864633) for more details. diff --git a/docs/tools/data/the-graph/data.md b/docs/tools/data/the-graph/data.md index 29a3ed1f4..e474fc143 100644 --- a/docs/tools/data/the-graph/data.md +++ b/docs/tools/data/the-graph/data.md @@ -1,6 +1,6 @@ !!! info "Content disclaimer" - Please view the third-party content disclaimer [here](https://github.com/0xPolygon/wiki/blob/master/CONTENT_DISCLAIMER.md). + Please view the third-party content disclaimer [here](https://github.com/0xPolygon/wiki/blob/master/CONTENT_DISCLAIMER.md). # Polygon root subgraph introduction diff --git a/docs/tools/data/the-graph/entities.md b/docs/tools/data/the-graph/entities.md index 842eabb8e..4447417fe 100644 --- a/docs/tools/data/the-graph/entities.md +++ b/docs/tools/data/the-graph/entities.md @@ -1,6 +1,6 @@ !!! note "Content disclaimer" - Please view the third-party content disclaimer [here](https://github.com/0xPolygon/wiki/blob/master/CONTENT_DISCLAIMER.md). + Please view the third-party content disclaimer [here](https://github.com/0xPolygon/wiki/blob/master/CONTENT_DISCLAIMER.md). ## Checkpoint diff --git a/docs/tools/data/the-graph/overview.md b/docs/tools/data/the-graph/overview.md index 3355e701d..4d3c0e534 100644 --- a/docs/tools/data/the-graph/overview.md +++ b/docs/tools/data/the-graph/overview.md @@ -1,6 +1,6 @@ !!! info "Content disclaimer" - Please view the third-party content disclaimer [here](https://github.com/0xPolygon/wiki/blob/master/CONTENT_DISCLAIMER.md). + Please view the third-party content disclaimer [here](https://github.com/0xPolygon/wiki/blob/master/CONTENT_DISCLAIMER.md). The Graph, a decentralized protocol for indexing and querying chain data, supports the Matic chain. Data defined through subgraphs is easy to query and explore. Subgraphs can be created locally, or use a free hosted explorer for indexing and data display. diff --git a/docs/tools/data/the-graph/queries.md b/docs/tools/data/the-graph/queries.md index 4a9f88e25..d00735ba9 100644 --- a/docs/tools/data/the-graph/queries.md +++ b/docs/tools/data/the-graph/queries.md @@ -1,6 +1,6 @@ !!! note "Content disclaimer" - Please view the third-party content disclaimer [here](https://github.com/0xPolygon/wiki/blob/master/CONTENT_DISCLAIMER.md). + Please view the third-party content disclaimer [here](https://github.com/0xPolygon/wiki/blob/master/CONTENT_DISCLAIMER.md). ## Sample queries diff --git a/docs/tools/gas/matic-faucet.md b/docs/tools/gas/matic-faucet.md index 71b511155..a463e8f2d 100644 --- a/docs/tools/gas/matic-faucet.md +++ b/docs/tools/gas/matic-faucet.md @@ -42,7 +42,7 @@ In addition, Polygon faucet also provides **Polygon zkEVM Testnet ETH tokens**. !!! danger - If you don't have enough MATIC Testnet tokens in your account to pay for the gas fees, the transaction may fail. If you require testnet tokens in bulk, please fill **[this form](https://docs.google.com/forms/d/e/1FAIpQLSe4npoGldJknEs9EBtPaV3AS-0HTso2IuMWDCiMmLEMCx8euQ/viewform)**. + If you don't have enough MATIC Testnet tokens in your account to pay for the gas fees, the transaction may fail. If you require testnet tokens in bulk, please fill **[this form](https://docs.google.com/forms/d/e/1FAIpQLSe4npoGldJknEs9EBtPaV3AS-0HTso2IuMWDCiMmLEMCx8euQ/viewform)**. - After confirmation, you will receive the requested Testnet tokens within 1 to 2 minutes. @@ -70,7 +70,7 @@ In order to receive MATIC Mumbai tokens using QuickNode Fauct, !!! tip "Get 1 MATIC" - If you **tweet** the [drip faucet URL](https://faucet.quicknode.com/drip) along with your wallet address and submit the tweet URL, you get 10X more MATIC Testnet tokens (i.e. 1 MATIC). + If you **tweet** the [drip faucet URL](https://faucet.quicknode.com/drip) along with your wallet address and submit the tweet URL, you get 10X more MATIC Testnet tokens (i.e. 1 MATIC). - To receive 0.1 Testnet MATIC, click on **No thanks, just send me 0.1 MATIC**. diff --git a/docs/tools/oracles/api3.md b/docs/tools/oracles/api3.md index 2573e2937..690bd1dcc 100644 --- a/docs/tools/oracles/api3.md +++ b/docs/tools/oracles/api3.md @@ -1,6 +1,6 @@ !!! info "Content disclaimer" - Please view the third-party content disclaimer [here](https://github.com/0xPolygon/wiki/blob/master/CONTENT_DISCLAIMER.md). + Please view the third-party content disclaimer [here](https://github.com/0xPolygon/wiki/blob/master/CONTENT_DISCLAIMER.md). ## Overview diff --git a/docs/tools/oracles/bandchain.md b/docs/tools/oracles/bandchain.md index 5e57e77ba..baca68678 100644 --- a/docs/tools/oracles/bandchain.md +++ b/docs/tools/oracles/bandchain.md @@ -1,6 +1,6 @@ !!! info "Content disclaimer" - Please view the third-party content disclaimer [here](https://github.com/0xPolygon/wiki/blob/master/CONTENT_DISCLAIMER.md). + Please view the third-party content disclaimer [here](https://github.com/0xPolygon/wiki/blob/master/CONTENT_DISCLAIMER.md). Band Protocol allows you to query data from traditional web APIs and use it in the blockchain. Developers can make queries through **BandChain, a cosmos-based blockchain** for facilitating oracle requests and payment, and then use the data on the dApp through inter-chain communication. Integrating oracle data can be done in 3 simple steps: diff --git a/docs/tools/oracles/bandstandarddataset.md b/docs/tools/oracles/bandstandarddataset.md index 076f8354e..677d71d04 100644 --- a/docs/tools/oracles/bandstandarddataset.md +++ b/docs/tools/oracles/bandstandarddataset.md @@ -1,6 +1,6 @@ !!! info "Content disclaimer" - Please view the third-party content disclaimer [here](https://github.com/0xPolygon/wiki/blob/master/CONTENT_DISCLAIMER.md). + Please view the third-party content disclaimer [here](https://github.com/0xPolygon/wiki/blob/master/CONTENT_DISCLAIMER.md). Developers building on Polygon can now leverage Band Protocol's decentralized oracle infrastructure. With Band Protocol's oracle, they now have access to various cryptocurrency price data to integrate into their applications. diff --git a/docs/tools/oracles/chainlink.md b/docs/tools/oracles/chainlink.md index 1484fef4b..7cc12a5b2 100644 --- a/docs/tools/oracles/chainlink.md +++ b/docs/tools/oracles/chainlink.md @@ -1,6 +1,6 @@ !!! info "Content disclaimer" - Please view the third-party content disclaimer [here](https://github.com/0xPolygon/wiki/blob/master/CONTENT_DISCLAIMER.md). + Please view the third-party content disclaimer [here](https://github.com/0xPolygon/wiki/blob/master/CONTENT_DISCLAIMER.md). **Chainlink** enables your contracts to **access any external data source**, through a decentralized oracle network. Whether your contract requires sports results, the latest weather, or any other publicly available data, Chainlink provides the tools required for your contract to consume it. diff --git a/docs/tools/oracles/diadataoracles.md b/docs/tools/oracles/diadataoracles.md index fe09dab1f..92b4fe2a0 100644 --- a/docs/tools/oracles/diadataoracles.md +++ b/docs/tools/oracles/diadataoracles.md @@ -1,5 +1,5 @@ !!! info "Content disclaimer" - Please view the third-party content disclaimer [here](https://github.com/0xPolygon/wiki/blob/master/CONTENT_DISCLAIMER.md). + Please view the third-party content disclaimer [here](https://github.com/0xPolygon/wiki/blob/master/CONTENT_DISCLAIMER.md). dApp developers who want to leverage DIA oracles can access the published data on Polygon. DIA offers cryptocurrency and data about traditional financial assets. For more details click [here](https://github.com/diadata-org/diadata/blob/master/documentation/oracle-documentation/matic.md). \ No newline at end of file diff --git a/docs/tools/oracles/optimisticoracle.md b/docs/tools/oracles/optimisticoracle.md index 9ce97f18f..c34f6b9bf 100644 --- a/docs/tools/oracles/optimisticoracle.md +++ b/docs/tools/oracles/optimisticoracle.md @@ -1,6 +1,6 @@ !!! info "Content disclaimer" - Please view the third-party content disclaimer [here](https://github.com/0xPolygon/wiki/blob/master/CONTENT_DISCLAIMER.md). + Please view the third-party content disclaimer [here](https://github.com/0xPolygon/wiki/blob/master/CONTENT_DISCLAIMER.md). UMA's Optimistic Oracle allows contracts to quickly request and receive any kind of data. UMA's oracle system is comprised of two core components: diff --git a/docs/tools/oracles/razor.md b/docs/tools/oracles/razor.md index 496a392e9..ae2d03fc8 100755 --- a/docs/tools/oracles/razor.md +++ b/docs/tools/oracles/razor.md @@ -1,6 +1,6 @@ !!! info "Content disclaimer" - Please view the third-party content disclaimer [here](https://github.com/0xPolygon/wiki/blob/master/CONTENT_DISCLAIMER.md). + Please view the third-party content disclaimer [here](https://github.com/0xPolygon/wiki/blob/master/CONTENT_DISCLAIMER.md). **Razor network** is a decentralized oracle providing data to the smart contracts using a network of stakers. The network consists of validators who lock in their tokens as a **stake** and provide data to the network. The honest validators are rewarded and those who report incoherently are penalized. diff --git a/docs/tools/oracles/tellor.md b/docs/tools/oracles/tellor.md index aa3cc8120..92215f89c 100644 --- a/docs/tools/oracles/tellor.md +++ b/docs/tools/oracles/tellor.md @@ -1,6 +1,6 @@ !!! info "Content disclaimer" - Please view the third-party content disclaimer [here](https://github.com/0xPolygon/wiki/blob/master/CONTENT_DISCLAIMER.md). + Please view the third-party content disclaimer [here](https://github.com/0xPolygon/wiki/blob/master/CONTENT_DISCLAIMER.md). Tellor is an oracle that provides censorship resistant data that is secured by simple crypto-economic incentives. Data can be provided by anyone and checked by everyone. Tellor’s flexible structure can provide any data at any time interval to allow for easy experimentation/innovation. diff --git a/docs/tools/oracles/umbrella.md b/docs/tools/oracles/umbrella.md index d4f5b7838..26c862aee 100644 --- a/docs/tools/oracles/umbrella.md +++ b/docs/tools/oracles/umbrella.md @@ -1,8 +1,8 @@ !!! info "Content disclaimer" - Please view the third-party content disclaimer [here](https://github.com/0xPolygon/wiki/blob/master/CONTENT_DISCLAIMER.md). + Please view the third-party content disclaimer [here](https://github.com/0xPolygon/wiki/blob/master/CONTENT_DISCLAIMER.md). -[Umbrella Network](https://umb.network/) is a decentralized oracle service that provides blockchain projects with secure, scalable, and customizable data solutions. +[Umbrella Network](https://umb.network/) is a decentralized oracle service that provides blockchain projects with secure, scalable, and customizable data solutions. The service leverages a network of decentralized community validators to ensure the reliability of the oracle data. @@ -26,8 +26,8 @@ On-demand data fetching planned for Q3 2023. ### Technical documentation -The official technical documentation can be found [here](https://umbrella-network.readme.io/docs). +The official technical documentation can be found [here](https://umbrella-network.readme.io/docs). ### Custom feeds -In case your project requires a custom feed, please contact the Umbrella team [here](https://www.umb.network/contact#form). +In case your project requires a custom feed, please contact the Umbrella team [here](https://www.umb.network/contact#form). diff --git a/docs/tools/smart-contracts/hardhat.md b/docs/tools/smart-contracts/hardhat.md index 370654778..28250e160 100644 --- a/docs/tools/smart-contracts/hardhat.md +++ b/docs/tools/smart-contracts/hardhat.md @@ -29,7 +29,7 @@ To create your Hardhat project, run `npx hardhat` in your project folder. Let’s create the sample project and go through these steps to try out a sample task and compile, test and deploy the sample contract. !!! note - The sample project used here comes from the [Hardhat Quickstart guide](https://hardhat.org/getting-started/#quick-start), as well as its instructions. + The sample project used here comes from the [Hardhat Quickstart guide](https://hardhat.org/getting-started/#quick-start), as well as its instructions. ## Creating a project @@ -120,7 +120,7 @@ module.exports = { !!! note Note that the file above requires DOTENV, for managing environment variables and also ethers and etherscan. Make sure to install all those packages. - Find more instructions on how to use DOTENV on [this page](https://www.npmjs.com/package/dotenv). + Find more instructions on how to use DOTENV on [this page](https://www.npmjs.com/package/dotenv). You can deploy on MATIC(Polygon mainnet) if you change polygon_mumbai by MATIC. diff --git a/docs/tools/smart-contracts/replit.md b/docs/tools/smart-contracts/replit.md index 5dbff794a..f481b9563 100644 --- a/docs/tools/smart-contracts/replit.md +++ b/docs/tools/smart-contracts/replit.md @@ -14,7 +14,7 @@ This article guides you to build and deploy a solidity smart contract on Polygon !!! tip - For additional examples about Solidity with Replit, you can read the article **[Get started with Replit](https://blog.replit.com/solidity)** or check **[Replit Solidity documentation and Escrow contract tutorial](https://docs.replit.com/tutorials/33-escrow-contract-with-solidity)**. + For additional examples about Solidity with Replit, you can read the article **[Get started with Replit](https://blog.replit.com/solidity)** or check **[Replit Solidity documentation and Escrow contract tutorial](https://docs.replit.com/tutorials/33-escrow-contract-with-solidity)**. ## Prerequisites @@ -47,7 +47,7 @@ Every Repl that you create is a fully functional development and production envi !!! note - The Solidity starter repl comes with a browser-friendly interface, built using the **[Web3 Ethereum JavaScript API](https://web3js.readthedocs.io/en/v1.5.2/)**, which you can use to deploy and interact with our contracts. We will deploy to Replit’s testnet, a custom version of the Ethereum blockchain managed by Replit and optimised for testing. + The Solidity starter repl comes with a browser-friendly interface, built using the **[Web3 Ethereum JavaScript API](https://web3js.readthedocs.io/en/v1.5.2/)**, which you can use to deploy and interact with our contracts. We will deploy to Replit’s testnet, a custom version of the Ethereum blockchain managed by Replit and optimised for testing. ## Deploy on Polygon diff --git a/docs/tools/smart-contracts/truffle.md b/docs/tools/smart-contracts/truffle.md index 9520fe47a..2b9ebaef0 100644 --- a/docs/tools/smart-contracts/truffle.md +++ b/docs/tools/smart-contracts/truffle.md @@ -4,7 +4,7 @@ !!! note - This tutorial is an adapted version of the [Truffle quickstart guide](https://www.trufflesuite.com/docs/truffle/quickstart) article. + This tutorial is an adapted version of the [Truffle quickstart guide](https://www.trufflesuite.com/docs/truffle/quickstart) article. ## What you will do diff --git a/docs/tools/storage/crusthelpers.md b/docs/tools/storage/crusthelpers.md index 88aaf63dc..48d15b655 100644 --- a/docs/tools/storage/crusthelpers.md +++ b/docs/tools/storage/crusthelpers.md @@ -1,5 +1,5 @@ !!! caution "Content disclaimer" - Please view the third-party content disclaimer [here](https://github.com/0xPolygon/wiki/blob/master/CONTENT_DISCLAIMER.md). + Please view the third-party content disclaimer [here](https://github.com/0xPolygon/wiki/blob/master/CONTENT_DISCLAIMER.md). [Crust Network](https://crust.network) provides a decentralized storage network for Web3. It is designed to realize the core values of decentralization, privacy and assurance. Crust supports multiple storage-layer protocols such as IPFS, and exposes instantly accessible on-chain storage functions to users. diff --git a/docs/tools/storage/filecoinhelpers.md b/docs/tools/storage/filecoinhelpers.md index 95f99a5fe..1414c5809 100644 --- a/docs/tools/storage/filecoinhelpers.md +++ b/docs/tools/storage/filecoinhelpers.md @@ -1,5 +1,5 @@ !!! caution "Content disclaimer" - Please view the third-party content disclaimer [here](https://github.com/0xPolygon/wiki/blob/master/CONTENT_DISCLAIMER.md). + Please view the third-party content disclaimer [here](https://github.com/0xPolygon/wiki/blob/master/CONTENT_DISCLAIMER.md). Filecoin is built on top of IPFS and supports storing data long-term via on-chain deals. Together, they help us break free from centralized services while conveniently allowing us to enjoy the same luxuries of speed and guaranteed storage that centralized services would bring. diff --git a/docs/tools/storage/ipfs.md b/docs/tools/storage/ipfs.md index 2e738301b..01f15e973 100644 --- a/docs/tools/storage/ipfs.md +++ b/docs/tools/storage/ipfs.md @@ -1,5 +1,5 @@ !!! caution "Content disclaimer" - Please view the third-party content disclaimer [here](https://github.com/0xPolygon/wiki/blob/master/CONTENT_DISCLAIMER.md). + Please view the third-party content disclaimer [here](https://github.com/0xPolygon/wiki/blob/master/CONTENT_DISCLAIMER.md). ### Context diff --git a/docs/tools/storage/nftstorage.md b/docs/tools/storage/nftstorage.md index 2dc687e19..462897a27 100644 --- a/docs/tools/storage/nftstorage.md +++ b/docs/tools/storage/nftstorage.md @@ -1,5 +1,5 @@ !!! caution "Content disclaimer" - Please view the third-party content disclaimer [here](https://github.com/0xPolygon/wiki/blob/master/CONTENT_DISCLAIMER.md). + Please view the third-party content disclaimer [here](https://github.com/0xPolygon/wiki/blob/master/CONTENT_DISCLAIMER.md). This tutorial will teach you to mint an NFT using the Polygon blockchain and IPFS/Filecoin storage via NFT.Storage. Polygon, a Layer 2 scaling solution for Ethereum, is often chosen by developers for its speed and lower transaction costs while maintaining full compatibility with Ethereum's EVM. The tutorial will walk you through the creation and deployment of a standardized smart contract, storing metadata and assets on IPFS and Filecoin via the NFT.Storage API and minting the NFT to your own wallet on Polygon. diff --git a/docs/tools/wallets/fortmatic.md b/docs/tools/wallets/fortmatic.md index a586a6b9f..e0461a891 100644 --- a/docs/tools/wallets/fortmatic.md +++ b/docs/tools/wallets/fortmatic.md @@ -1,5 +1,5 @@ !!! caution "Content disclaimer" - Please view the third-party content disclaimer [here](https://github.com/0xPolygon/wiki/blob/master/CONTENT_DISCLAIMER.md). + Please view the third-party content disclaimer [here](https://github.com/0xPolygon/wiki/blob/master/CONTENT_DISCLAIMER.md). Fortmatic SDK allows you to easily integrate your dApp with the Ethereum blockchain, whether you already have a dApp integrated with Web3 or are starting from scratch. Fortmatic provides a smooth and delightful experience for both you and your decentralized application users. diff --git a/docs/tools/wallets/getting-started.md b/docs/tools/wallets/getting-started.md index 58dc568e8..d327f61ee 100644 --- a/docs/tools/wallets/getting-started.md +++ b/docs/tools/wallets/getting-started.md @@ -6,7 +6,7 @@ private keys, and interfaces that allow users to perform chain actions and sign !!! info "Centralized Exchanges (CEXs)" - For a list of CEXs that support Polygon, visit a third-party tracking website such as [**CoinMarketCap**](https://coinmarketcap.com/currencies/polygon/markets). + For a list of CEXs that support Polygon, visit a third-party tracking website such as [**CoinMarketCap**](https://coinmarketcap.com/currencies/polygon/markets). ## Native wallets @@ -36,7 +36,7 @@ It includes: !!! tip - Keep up with the latest Wallet Suite updates from the Polygon team and community by subscribing to our [notifications](https://polygon.technology/notifications/). + Keep up with the latest Wallet Suite updates from the Polygon team and community by subscribing to our [notifications](https://polygon.technology/notifications/). ## Partner wallets @@ -48,7 +48,7 @@ It includes: !!! caution "Content disclaimer" - Please view the third-party content disclaimer [here](https://github.com/0xPolygon/wiki/blob/master/CONTENT_DISCLAIMER.md). + Please view the third-party content disclaimer [here](https://github.com/0xPolygon/wiki/blob/master/CONTENT_DISCLAIMER.md). The following wallets are solutions that Polygon Technology has partnered with: diff --git a/docs/tools/wallets/metamask/add-polygon-network.md b/docs/tools/wallets/metamask/add-polygon-network.md index b16e3ec6a..a032f02c4 100644 --- a/docs/tools/wallets/metamask/add-polygon-network.md +++ b/docs/tools/wallets/metamask/add-polygon-network.md @@ -1,5 +1,5 @@ !!! caution "Content disclaimer" - Please view the third-party content disclaimer [here](https://github.com/0xPolygon/wiki/blob/master/CONTENT_DISCLAIMER.md). + Please view the third-party content disclaimer [here](https://github.com/0xPolygon/wiki/blob/master/CONTENT_DISCLAIMER.md). In order to view the flow of funds in your accounts, on the Polygon Network, you will need to configure Polygon testnet and mainnet URLs on Metamask. @@ -14,7 +14,7 @@ There are two ways to do it: ## Using Polygonscan !!! note - Please make sure you have already installed **[Metamask](https://metamask.io/)**! + Please make sure you have already installed **[Metamask](https://metamask.io/)**! ### Mumbai diff --git a/docs/tools/wallets/metamask/create-metamask-wallet.md b/docs/tools/wallets/metamask/create-metamask-wallet.md index fda155e45..d5f2fb1f4 100644 --- a/docs/tools/wallets/metamask/create-metamask-wallet.md +++ b/docs/tools/wallets/metamask/create-metamask-wallet.md @@ -1,5 +1,5 @@ !!! caution "Content disclaimer" - Please view the third-party content disclaimer [here](https://github.com/0xPolygon/wiki/blob/master/CONTENT_DISCLAIMER.md). + Please view the third-party content disclaimer [here](https://github.com/0xPolygon/wiki/blob/master/CONTENT_DISCLAIMER.md). If you are wondering how to create a new cryptocurrency wallet, consider creating one by installing the MetaMask extension. diff --git a/docs/tools/wallets/metamask/custom-tokens.md b/docs/tools/wallets/metamask/custom-tokens.md index 7d662113d..8c0700b3b 100644 --- a/docs/tools/wallets/metamask/custom-tokens.md +++ b/docs/tools/wallets/metamask/custom-tokens.md @@ -1,5 +1,5 @@ !!! caution "Content disclaimer" - Please view the third-party content disclaimer [here](https://github.com/0xPolygon/wiki/blob/master/CONTENT_DISCLAIMER.md). + Please view the third-party content disclaimer [here](https://github.com/0xPolygon/wiki/blob/master/CONTENT_DISCLAIMER.md). This page demonstrates the process of configuring/adding custom tokens to Metamask. @@ -16,7 +16,7 @@ First, choose the appropriate network for the new token on your Metamask's home It will then navigate you to a new screen. On the Import Tokens screen, copy-paste an address in the Token Address field. !!! info - To illustrate this process, we are using an **ERC20-TESTV4** token on the **Goerli network**. Find other test tokens from other networks [here](#tokens-and-contract-adresses). + To illustrate this process, we are using an **ERC20-TESTV4** token on the **Goerli network**. Find other test tokens from other networks [here](#tokens-and-contract-adresses).
![img](../../../img/tools/wallet/metamask/develop/token-contract-address.png){ width="50%" } diff --git a/docs/tools/wallets/metamask/index.md b/docs/tools/wallets/metamask/index.md index 470f24902..053734bf3 100644 --- a/docs/tools/wallets/metamask/index.md +++ b/docs/tools/wallets/metamask/index.md @@ -1,5 +1,5 @@ !!! caution "Content disclaimer" - Please view the third-party content disclaimer [here](https://github.com/0xPolygon/wiki/blob/master/CONTENT_DISCLAIMER.md). + Please view the third-party content disclaimer [here](https://github.com/0xPolygon/wiki/blob/master/CONTENT_DISCLAIMER.md). [MetaMask](https://metamask.io/) is a crypto wallet that can be used in a web browser and on mobile devices to interact with the Ethereum blockchain. It allows you to run Ethereum Dapps (Decentralized Apps) right in your browser without running a full Ethereum node. @@ -9,7 +9,7 @@ **Private key encoding**: Mnemonic
!!! warning - Please Backup your **Secret Recovery Phrase**. If your device breaks, is lost, stolen, or has data corruption, there is no other way to recover it. The Secret Recovery Phrase is the only way to recover your MetaMask accounts. Check more **[Basic Safety and Security Tips for MetaMask](https://metamask.zendesk.com/hc/en-us/articles/360015489591-Basic-Safety-and-Security-Tips-for-MetaMask)**. + Please Backup your **Secret Recovery Phrase**. If your device breaks, is lost, stolen, or has data corruption, there is no other way to recover it. The Secret Recovery Phrase is the only way to recover your MetaMask accounts. Check more **[Basic Safety and Security Tips for MetaMask](https://metamask.zendesk.com/hc/en-us/articles/360015489591-Basic-Safety-and-Security-Tips-for-MetaMask)**. ## Guide to set up MetaMask for Polygon diff --git a/docs/tools/wallets/metamask/multiple-accounts.md b/docs/tools/wallets/metamask/multiple-accounts.md index d082079d8..4a28d41a5 100644 --- a/docs/tools/wallets/metamask/multiple-accounts.md +++ b/docs/tools/wallets/metamask/multiple-accounts.md @@ -1,5 +1,5 @@ !!! caution "Content disclaimer" - Please view the third-party content disclaimer [here](https://github.com/0xPolygon/wiki/blob/master/CONTENT_DISCLAIMER.md). + Please view the third-party content disclaimer [here](https://github.com/0xPolygon/wiki/blob/master/CONTENT_DISCLAIMER.md). In case you are new to Ethereum and Metamask, here is a guide on how to create multiple accounts and import them: @@ -16,7 +16,7 @@ You can then add an account name and click on Create. You can create more accounts this way. When you create multiple accounts, your addresses will be different at your end. !!! tip "Import account" - The importing process on MetaMask is similar to creating a new account. You just have to copy-paste the **Private key** (more information [here](https://metamask.zendesk.com/hc/en-us/articles/360015289632-How-to-export-an-account-s-private-key#:~:text=On%20the%20account%20page%2C%20click,click%20%E2%80%9CConfirm%E2%80%9D%20to%20proceed.)), from your local account. Then paste it into the window provided, and select Import. + The importing process on MetaMask is similar to creating a new account. You just have to copy-paste the **Private key** (more information [here](https://metamask.zendesk.com/hc/en-us/articles/360015289632-How-to-export-an-account-s-private-key#:~:text=On%20the%20account%20page%2C%20click,click%20%E2%80%9CConfirm%E2%80%9D%20to%20proceed.)), from your local account. Then paste it into the window provided, and select Import.
![img](../../../img/tools/wallet/metamask/develop/import-account.png){ width="50%" }
\ No newline at end of file diff --git a/docs/tools/wallets/particle-network.md b/docs/tools/wallets/particle-network.md index 949dea02a..2f1eae273 100644 --- a/docs/tools/wallets/particle-network.md +++ b/docs/tools/wallets/particle-network.md @@ -1,5 +1,5 @@ !!! caution "Content disclaimer" - Please view the third-party content disclaimer [here](https://github.com/0xPolygon/wiki/blob/master/CONTENT_DISCLAIMER.md). + Please view the third-party content disclaimer [here](https://github.com/0xPolygon/wiki/blob/master/CONTENT_DISCLAIMER.md). **Particle Network** is the Intent-Centric, Modular Access Layer of Web3. With Particle's Wallet-as-a-Service, developers can curate unparalleled user experience through modular and customizable EOA/AA embedded wallet components. By utilizing MPC-TSS for key management, Particle can streamline onboarding via familiar Web2 accounts—such as Google accounts, email addresses, and phone numbers. diff --git a/docs/tools/wallets/plaid-wallet-onboard.md b/docs/tools/wallets/plaid-wallet-onboard.md index 05c37a61a..6159b2a99 100644 --- a/docs/tools/wallets/plaid-wallet-onboard.md +++ b/docs/tools/wallets/plaid-wallet-onboard.md @@ -1,5 +1,5 @@ !!! caution "Content disclaimer" - Please view the third-party content disclaimer [here](https://github.com/0xPolygon/wiki/blob/master/CONTENT_DISCLAIMER.md). + Please view the third-party content disclaimer [here](https://github.com/0xPolygon/wiki/blob/master/CONTENT_DISCLAIMER.md). **Plaid Wallet Onboard** allows your dApp to connect to hundreds of self-custody wallets, including browser plugin wallets, WalletConnect-compatible mobile wallets, and custom protocols or UX required by hybrid and hardware wallets. It's easier than ever to integrate Metamask, Coinbase Wallet, Rainbow, and more into your dApp. diff --git a/docs/tools/wallets/portis.md b/docs/tools/wallets/portis.md index 8d8b468c0..5fc982514 100644 --- a/docs/tools/wallets/portis.md +++ b/docs/tools/wallets/portis.md @@ -1,5 +1,5 @@ !!! caution "Content disclaimer" - Please view the third-party content disclaimer [here](https://github.com/0xPolygon/wiki/blob/master/CONTENT_DISCLAIMER.md). + Please view the third-party content disclaimer [here](https://github.com/0xPolygon/wiki/blob/master/CONTENT_DISCLAIMER.md). Portis is a web-based wallet built keeping easy user-onboarding in mind. It comes with a JavaScript SDK that integrates into the dApp and creates a local wallet-less experience for the user. Further, it handles setting up the wallet, transactions, and gas fees. diff --git a/docs/tools/wallets/slashauth.md b/docs/tools/wallets/slashauth.md index fb68fa4be..0100929db 100644 --- a/docs/tools/wallets/slashauth.md +++ b/docs/tools/wallets/slashauth.md @@ -1,5 +1,5 @@ !!! caution "Content disclaimer" - Please view the third-party content disclaimer [here](https://github.com/0xPolygon/wiki/blob/master/CONTENT_DISCLAIMER.md). + Please view the third-party content disclaimer [here](https://github.com/0xPolygon/wiki/blob/master/CONTENT_DISCLAIMER.md). **SlashAuth** allows developers to quickly authenticate users with their wallets and create **role-based access control based on the on-chain data**. A developer can use SlashAuth to securely log a user in and verify that they have the necessary tokens (ERC20, ERC721, ERC1155) to gain access to the website. diff --git a/docs/tools/wallets/torus.md b/docs/tools/wallets/torus.md index 911dbd8ae..983e79fe3 100644 --- a/docs/tools/wallets/torus.md +++ b/docs/tools/wallets/torus.md @@ -1,5 +1,5 @@ !!! caution "Content disclaimer" - Please view the third-party content disclaimer [here](https://github.com/0xPolygon/wiki/blob/master/CONTENT_DISCLAIMER.md). + Please view the third-party content disclaimer [here](https://github.com/0xPolygon/wiki/blob/master/CONTENT_DISCLAIMER.md). Torus is a user-friendly, secure, and non-custodial key management system for decentralized apps. We're focused on providing mainstream users a gateway to the decentralized ecosystem. diff --git a/docs/tools/wallets/using-web3modal.md b/docs/tools/wallets/using-web3modal.md index 40266c8d2..078455cbe 100644 --- a/docs/tools/wallets/using-web3modal.md +++ b/docs/tools/wallets/using-web3modal.md @@ -1,20 +1,20 @@ !!!caution Content disclaimer - Please view the third-party content disclaimer [here](https://github.com/0xPolygon/wiki/blob/master/CONTENT_DISCLAIMER.md). + Please view the third-party content disclaimer [here](https://github.com/0xPolygon/wiki/blob/master/CONTENT_DISCLAIMER.md). ## Overview -[Web3Modal](https://web3modal.com/) is a simple and intuitive SDK that provides a drop-in UI to enable users of any wallet to seamlessly log in to applications, offering a unified and smooth experience. It features a streamlined wallet selection interface with automatic detection of various wallet types, including mobile, extension, desktop, and web app wallets. +[Web3Modal](https://web3modal.com/) is a simple and intuitive SDK that provides a drop-in UI to enable users of any wallet to seamlessly log in to applications, offering a unified and smooth experience. It features a streamlined wallet selection interface with automatic detection of various wallet types, including mobile, extension, desktop, and web app wallets. ## Code sandbox for Polygon -The Web3Modal team has prepared a [Polygon Code Sandbox](https://codesandbox.io/p/sandbox/web3modal-v3-polygon-7264l5?file=/src/main.tsx:9,19-9,50). It’s a straightforward way for developers to integrate and get hands-on experience with Polygon. +The Web3Modal team has prepared a [Polygon Code Sandbox](https://codesandbox.io/p/sandbox/web3modal-v3-polygon-7264l5?file=/src/main.tsx:9,19-9,50). It’s a straightforward way for developers to integrate and get hands-on experience with Polygon. ## How to integrate -1. **Visit Web3Modal:** Go to [Web3Modal's official website](https://web3modal.com/) to explore its features and capabilities. -2. **Explore the Code Sandbox:** Utilize the [Polygon Code Sandbox](https://codesandbox.io/p/sandbox/web3modal-v3-polygon-7264l5?file=/src/main.tsx:9,19-9,50) to demo and understand the integration process. +1. **Visit Web3Modal:** Go to [Web3Modal's official website](https://web3modal.com/) to explore its features and capabilities. +2. **Explore the Code Sandbox:** Utilize the [Polygon Code Sandbox](https://codesandbox.io/p/sandbox/web3modal-v3-polygon-7264l5?file=/src/main.tsx:9,19-9,50) to demo and understand the integration process. 3. **Follow the Documentation:** Refer to the provided documentation and instructions to integrate Web3Modal into your projects and leverage its features effectively. ## zkEVM support diff --git a/docs/tools/wallets/venly/add-network.md b/docs/tools/wallets/venly/add-network.md index 6fc664b28..255a69cd2 100644 --- a/docs/tools/wallets/venly/add-network.md +++ b/docs/tools/wallets/venly/add-network.md @@ -1,12 +1,12 @@ !!! caution "Content disclaimer" - Please view the third-party content disclaimer [here](https://github.com/0xPolygon/wiki/blob/master/CONTENT_DISCLAIMER.md). + Please view the third-party content disclaimer [here](https://github.com/0xPolygon/wiki/blob/master/CONTENT_DISCLAIMER.md). Depending on which Arkane environment your application connect, your transactions will be directed to a specific blockchain network. Connect to the Venly (prev. Arkane) production environment and you will be contacting the Polygon Mainnet, whereas connecting to the Venly staging environment will connect you to the Polygon Mumbai testnet. Below you will find an overview of the public Venly environments and networks to which they connect. !!! note - If you are a developer, it is possible to use different networks or even your own infrastructure. For more information, refer to [the Venly documentation](https://docs.venly.io/widget/). + If you are a developer, it is possible to use different networks or even your own infrastructure. For more information, refer to [the Venly documentation](https://docs.venly.io/widget/). Environment | Polygon Network | Venly Service Link --- | --- |--- diff --git a/docs/tools/wallets/venly/create-wallet.md b/docs/tools/wallets/venly/create-wallet.md index 4238b2872..90d746d6e 100644 --- a/docs/tools/wallets/venly/create-wallet.md +++ b/docs/tools/wallets/venly/create-wallet.md @@ -1,5 +1,5 @@ !!! caution "Content disclaimer" - Please view the third-party content disclaimer [here](https://github.com/0xPolygon/wiki/blob/master/CONTENT_DISCLAIMER.md). + Please view the third-party content disclaimer [here](https://github.com/0xPolygon/wiki/blob/master/CONTENT_DISCLAIMER.md). If you are looking for a user-friendly wallet on Polygon network, consider creating a [Venly (prev. Arkane Network)](https://www.venly.io/) wallet. It allows you to enable a recovery mechanism and comes with end-user support via their in-app chat. diff --git a/docs/tools/wallets/venly/custom-tokens.md b/docs/tools/wallets/venly/custom-tokens.md index d37c32275..50d543891 100644 --- a/docs/tools/wallets/venly/custom-tokens.md +++ b/docs/tools/wallets/venly/custom-tokens.md @@ -1,5 +1,5 @@ !!! caution "Content disclaimer" - Please view the third-party content disclaimer [here](https://github.com/0xPolygon/wiki/blob/master/CONTENT_DISCLAIMER.md). + Please view the third-party content disclaimer [here](https://github.com/0xPolygon/wiki/blob/master/CONTENT_DISCLAIMER.md). ## Fungible tokens diff --git a/docs/tools/wallets/venly/index.md b/docs/tools/wallets/venly/index.md index d4793b36e..94bde9afd 100644 --- a/docs/tools/wallets/venly/index.md +++ b/docs/tools/wallets/venly/index.md @@ -1,5 +1,5 @@ !!! caution "Content disclaimer" - Please view the third-party content disclaimer [here](https://github.com/0xPolygon/wiki/blob/master/CONTENT_DISCLAIMER.md). + Please view the third-party content disclaimer [here](https://github.com/0xPolygon/wiki/blob/master/CONTENT_DISCLAIMER.md). **Venly (prev. Arkane Network)** allows you to easily integrate your app to the Polygon blockchain, whether you already have an app integrated with Web3 or are building a new app from scratch. Venly provides a smooth and delightful experience for you and your users on both web & mobile. @@ -26,7 +26,7 @@ If you already support Web3 technology, you can improve the UX within your appli By making use of our Web3 provider you are able to leverage the full potential of Venly with minimal effort and you will be able to onboard users that are less tech savvy without making them leave your application or download third party plugins. Integrating just takes 2 steps and ~5 minutes. !!! tip - Venly provides a [Venly Widget](https://docs.venly.io/widget/) to help developers generate Web 3 support to their applications. + Venly provides a [Venly Widget](https://docs.venly.io/widget/) to help developers generate Web 3 support to their applications. ### Add the library to your project @@ -59,7 +59,7 @@ The web3 instance now works as if it was injected by Parity or Metamask. You can **Congratulations! Your dApp now supports Venly.** !!! info - To connect with a personalised [Client ID](https://docs.venly.io/widget/deep-dive/authentication#client-id), and access our production environment, please request access one using this [form](https://forms.venly.io/clientID). + To connect with a personalised [Client ID](https://docs.venly.io/widget/deep-dive/authentication#client-id), and access our production environment, please request access one using this [form](https://forms.venly.io/clientID). ## More about Venly diff --git a/docs/tools/wallets/wallet-link.md b/docs/tools/wallets/wallet-link.md index 7519bd5e3..4b262407e 100644 --- a/docs/tools/wallets/wallet-link.md +++ b/docs/tools/wallets/wallet-link.md @@ -1,5 +1,5 @@ !!! caution "Content disclaimer" - Please view the third-party content disclaimer [here](https://github.com/0xPolygon/wiki/blob/master/CONTENT_DISCLAIMER.md). + Please view the third-party content disclaimer [here](https://github.com/0xPolygon/wiki/blob/master/CONTENT_DISCLAIMER.md). ## Configure Polygon on Walletlink diff --git a/docs/tools/wallets/walletconnect.md b/docs/tools/wallets/walletconnect.md index c81a7bf4a..40244dd68 100644 --- a/docs/tools/wallets/walletconnect.md +++ b/docs/tools/wallets/walletconnect.md @@ -1,5 +1,5 @@ !!! caution "Content disclaimer" - Please view the third-party content disclaimer [here](https://github.com/0xPolygon/wiki/blob/master/CONTENT_DISCLAIMER.md). + Please view the third-party content disclaimer [here](https://github.com/0xPolygon/wiki/blob/master/CONTENT_DISCLAIMER.md). **WalletConnect** is an open protocol - not a wallet - built to create a communication link between dApps and wallets. A wallet and an application supporting this protocol will enable a secure link through a shared key between any two peers. A connection is initiated by the dApp displaying a QR code with a standard WalletConnect URI and the connection is established when the wallet application approves the connection request. Further requests regarding funds transfer are confirmed on the wallet application itself. diff --git a/docs/zkEVM/architecture/index.md b/docs/zkEVM/architecture/index.md index d36d9361d..8c881403a 100644 --- a/docs/zkEVM/architecture/index.md +++ b/docs/zkEVM/architecture/index.md @@ -42,7 +42,7 @@ The strategic implementation of the contract-based consensus promises to ensure !!!tip Good to Know - Possibilities of coupling the Consensus Contract (previously called Proof of Efficiency or PoE) with a PoS (Proof of Stake) are currently being explored. A detailed description is published on the [Ethereum Research](https://ethresear.ch/t/proof-of-efficiency-a-new-consensus-mechanism-for-zk-rollups/11988) website. + Possibilities of coupling the Consensus Contract (previously called Proof of Efficiency or PoE) with a PoS (Proof of Stake) are currently being explored. A detailed description is published on the [Ethereum Research](https://ethresear.ch/t/proof-of-efficiency-a-new-consensus-mechanism-for-zk-rollups/11988) website. ### On-chain data availability @@ -64,7 +64,7 @@ Unless, among other things, the proving module can be highly accelerated to miti The underlying protocol in zkEVM ensures that the state transitions are correct by employing a validity proof. To ensure that a set of pre-determined rules have been followed for allowing state transitions, the **Consensus Contract** (`PolygonZkEVM.sol`, deployed on L1) is utilized. ​ !!!info - The **Consensus Contract** is currently deployed on both [Ethereum Mainnet](https://etherscan.io/address/0x5132A183E9F3CB7C848b0AAC5Ae0c4f0491B7aB2) and [Goerli Testnet](https://goerli.etherscan.io/address/0xa997cfD539E703921fD1e3Cf25b4c241a27a4c7A). + The **Consensus Contract** is currently deployed on both [Ethereum Mainnet](https://etherscan.io/address/0x5132A183E9F3CB7C848b0AAC5Ae0c4f0491B7aB2) and [Goerli Testnet](https://goerli.etherscan.io/address/0xa997cfD539E703921fD1e3Cf25b4c241a27a4c7A). ​ ​ A smart contract verifies the validity proofs to ensure that each transition is completed correctly. This is accomplished by employing zk-SNARK circuits. A system of this type requires two processes: **transaction batching** and **transaction validation**. diff --git a/docs/zkEVM/architecture/protocol/index.md b/docs/zkEVM/architecture/protocol/index.md index f21dd6a97..600461403 100644 --- a/docs/zkEVM/architecture/protocol/index.md +++ b/docs/zkEVM/architecture/protocol/index.md @@ -33,7 +33,7 @@ The Consensus Contract's logic validates the Zero-Knowledge proofs, resulting in !!!info L2 State Root - An L2 State root is a concise cryptographic digest of the L2 State. In case you want to read more about State roots, please check out [this article](https://ethereum.org/en/developers/docs/scaling/zk-rollups/#state-commitments). + An L2 State root is a concise cryptographic digest of the L2 State. In case you want to read more about State roots, please check out [this article](https://ethereum.org/en/developers/docs/scaling/zk-rollups/#state-commitments). The Trusted aggregator should run a zkEVM node in aggregator mode and must control a specific Ethereum account enforced in a Consensus Contract. diff --git a/docs/zkEVM/architecture/protocol/transaction-life-cycle/batch-aggregation.md b/docs/zkEVM/architecture/protocol/transaction-life-cycle/batch-aggregation.md index 206deff8a..7c0273b4a 100644 --- a/docs/zkEVM/architecture/protocol/transaction-life-cycle/batch-aggregation.md +++ b/docs/zkEVM/architecture/protocol/transaction-life-cycle/batch-aggregation.md @@ -1,6 +1,6 @@ !!!info - This document is a continuation in the series of articles explaining the [Transaction Life Cycle](submit-transaction.md) inside Polygon zkEVM. + This document is a continuation in the series of articles explaining the [Transaction Life Cycle](submit-transaction.md) inside Polygon zkEVM. The Trusted Aggregator should aggregate the sequences of batches previously committed by the Trusted Sequencer in order to achieve the L2 State final stage, which is the Consolidated State. diff --git a/docs/zkEVM/architecture/protocol/transaction-life-cycle/batch-sequencing.md b/docs/zkEVM/architecture/protocol/transaction-life-cycle/batch-sequencing.md index 6e1a879a8..ef4c2219d 100644 --- a/docs/zkEVM/architecture/protocol/transaction-life-cycle/batch-sequencing.md +++ b/docs/zkEVM/architecture/protocol/transaction-life-cycle/batch-sequencing.md @@ -1,6 +1,6 @@ !!!info - This document is a continuation in the series of articles explaining the [Transaction Life Cycle](transaction-execution.md) inside Polygon zkEVM. + This document is a continuation in the series of articles explaining the [Transaction Life Cycle](transaction-execution.md) inside Polygon zkEVM. **Batches need to be sequenced and validated** before they can become a part of the L2 Virtual State. diff --git a/docs/zkEVM/architecture/protocol/zkevm-bridge/smart-contracts.md b/docs/zkEVM/architecture/protocol/zkevm-bridge/smart-contracts.md index 6b4567e0d..59e36b7ec 100644 --- a/docs/zkEVM/architecture/protocol/zkevm-bridge/smart-contracts.md +++ b/docs/zkEVM/architecture/protocol/zkevm-bridge/smart-contracts.md @@ -17,7 +17,7 @@ This means that the zkEVM Bridge SC, in conjunction with the Global Exit Root Ma !!!info There are two Global Exit Root manager SCs: one deployed in L1, while the other is deployed in L2. - Their Solidity code files are; [PolygonZkEVMGlobalExitRoot.sol](https://github.com/0xPolygonHermez/zkevm-contracts/blob/main/contracts/PolygonZkEVMGlobalExitRoot.sol), and [PolygonZkEVMGlobalExitRootL2.sol](https://github.com/0xPolygonHermez/zkevm-contracts/blob/main/contracts/PolygonZkEVMGlobalExitRootL2.sol), respectively. + Their Solidity code files are; [PolygonZkEVMGlobalExitRoot.sol](https://github.com/0xPolygonHermez/zkevm-contracts/blob/main/contracts/PolygonZkEVMGlobalExitRoot.sol), and [PolygonZkEVMGlobalExitRootL2.sol](https://github.com/0xPolygonHermez/zkevm-contracts/blob/main/contracts/PolygonZkEVMGlobalExitRootL2.sol), respectively. ## Consensus contract diff --git a/docs/zkEVM/architecture/zkprover/stark-recursion/proving-tools.md b/docs/zkEVM/architecture/zkprover/stark-recursion/proving-tools.md index 9b5a0581f..72f8ab099 100644 --- a/docs/zkEVM/architecture/zkprover/stark-recursion/proving-tools.md +++ b/docs/zkEVM/architecture/zkprover/stark-recursion/proving-tools.md @@ -23,7 +23,7 @@ The e**STARK** protocol is composed of two main phases; the **low-degree reducti !!!info What is FRI - [**FRI**](https://drops.dagstuhl.de/opus/volltexte/2018/9018/pdf/LIPIcs-ICALP-2018-14.pdf) refers to **Fast Reed-Solomon Interactive Oracle Proof of Proximity**. The FRI protocol consists of two phases: a **commit phase** and **query phase**. You can read more about the protocol in [this document](https://eprint.iacr.org/2021/582.pdf) by **StarkWare Team**. + [**FRI**](https://drops.dagstuhl.de/opus/volltexte/2018/9018/pdf/LIPIcs-ICALP-2018-14.pdf) refers to **Fast Reed-Solomon Interactive Oracle Proof of Proximity**. The FRI protocol consists of two phases: a **commit phase** and **query phase**. You can read more about the protocol in [this document](https://eprint.iacr.org/2021/582.pdf) by **StarkWare Team**. 1. **Low-degree reduction phase** diff --git a/docs/zkEVM/get-started/deploy-zkevm/index.md b/docs/zkEVM/get-started/deploy-zkevm/index.md index cee23687a..62e45587e 100644 --- a/docs/zkEVM/get-started/deploy-zkevm/index.md +++ b/docs/zkEVM/get-started/deploy-zkevm/index.md @@ -19,7 +19,7 @@ However, in order to allow for in-between breaks, the process is aesthetically s !!!caution Instructions in this document are subject to frequent updates as the zkEVM software is still in early development stages. - Please report [here](https://support.polygon.technology/support/tickets/new) or reach out to our [support team on Discord](https://discord.com/invite/0xPolygon) if you encounter any issues. + Please report [here](https://support.polygon.technology/support/tickets/new) or reach out to our [support team on Discord](https://discord.com/invite/0xPolygon) if you encounter any issues. ## Overview and setting up diff --git a/docs/zkEVM/get-started/index.md b/docs/zkEVM/get-started/index.md index 2fe20f0c4..e24ce0d88 100644 --- a/docs/zkEVM/get-started/index.md +++ b/docs/zkEVM/get-started/index.md @@ -9,4 +9,4 @@ Users do not need any special toolings or wallets in order to build or interact Simply switch to the zkEVM RPC and start building on a network with a higher throughput and lower fees. !!!caution - Check the list of potential risks associated with the use of Polygon zkEVM in the [Disclosures]() section. + Check the list of potential risks associated with the use of Polygon zkEVM in the [Disclosures]() section. diff --git a/docs/zkEVM/get-started/quick-start/bridge-to-zkevm.md b/docs/zkEVM/get-started/quick-start/bridge-to-zkevm.md index ab81eaba4..55adf6434 100644 --- a/docs/zkEVM/get-started/quick-start/bridge-to-zkevm.md +++ b/docs/zkEVM/get-started/quick-start/bridge-to-zkevm.md @@ -1,6 +1,6 @@ !!!caution - Check the list of potential risks associated with the use of Polygon zkEVM in the [Disclosures]() section. + Check the list of potential risks associated with the use of Polygon zkEVM in the [Disclosures]() section. Users can deposit assets from Ethereum and transact off-chain on Polygon zkEVM. For moving assets across chains (L1 ↔ zkEVM), you will need to use the zkEVM Bridge. The bridge interface is available for both Mainnet Beta and Testnet in the [Polygon Wallet Suite](https://wallet.polygon.technology/zkEVM/bridge). diff --git a/docs/zkEVM/get-started/quick-start/connect-wallet.md b/docs/zkEVM/get-started/quick-start/connect-wallet.md index a06e87437..848a5729c 100644 --- a/docs/zkEVM/get-started/quick-start/connect-wallet.md +++ b/docs/zkEVM/get-started/quick-start/connect-wallet.md @@ -1,6 +1,6 @@ !!!caution - Check the list of potential risks associated with the use of Polygon zkEVM in the [Disclosures]() section. + Check the list of potential risks associated with the use of Polygon zkEVM in the [Disclosures]() section. Add the **Polygon zkEVM** network to your wallet in order to interact with either the mainnet or the testnet. diff --git a/docs/zkEVM/get-started/quick-start/zkevm-faucet.md b/docs/zkEVM/get-started/quick-start/zkevm-faucet.md index 8fccdd826..585f167e5 100644 --- a/docs/zkEVM/get-started/quick-start/zkevm-faucet.md +++ b/docs/zkEVM/get-started/quick-start/zkevm-faucet.md @@ -1,6 +1,6 @@ !!!caution - Check the list of potential risks associated with the use of Polygon zkEVM in the [Disclosures]() section. + Check the list of potential risks associated with the use of Polygon zkEVM in the [Disclosures]() section. Polygon faucet is the official tool provided by Polygon Labs to obtain Testnet tokens. It is a faucet that is similar to what ecosystem partners like Alchemy provide. diff --git a/docs/zkEVM/get-started/setup-nodes/local-node.md b/docs/zkEVM/get-started/setup-nodes/local-node.md index bca0b18a4..deb59f53f 100644 --- a/docs/zkEVM/get-started/setup-nodes/local-node.md +++ b/docs/zkEVM/get-started/setup-nodes/local-node.md @@ -50,7 +50,7 @@ The image is built only once and whenever the code has changed. !!!caution Building Docker Image Every testnet version needs to use configuration files from the correct and corresponding tag. For instance: Make sure to use configuration files from RC9 tag in order to build an RC9 image. - All tags can be found here: **https://github.com/0xPolygonHermez/zkevm-node/tags** + All tags can be found here: **https://github.com/0xPolygonHermez/zkevm-node/tags** Certain commands on the `zkevm-node` can interact with smart contracts, run specific components, create encryption files, and print debug information. diff --git a/docs/zkEVM/get-started/setup-nodes/production-node.md b/docs/zkEVM/get-started/setup-nodes/production-node.md index 64c398028..4ed056ea3 100644 --- a/docs/zkEVM/get-started/setup-nodes/production-node.md +++ b/docs/zkEVM/get-started/setup-nodes/production-node.md @@ -14,7 +14,7 @@ This tutorial requires `docker-compose` to have been installed. Please check the [official docker-compose installation guide](https://docs.docker.com/compose/install/) for this purpose. -It is highly recommended that you create a separate folder for installing and working around the zkNode. We won't be cloning any repository (unlike [local zkNode setup](local-node.md)) so it's better to create a folder before starting the zkNode setup: ```mkdir -p /$HOME/zkevm-node```. +It is highly recommended that you create a separate folder for installing and working around the zkNode. We won't be cloning any repository (unlike [local zkNode setup](local-node.md)) so it's better to create a folder before starting the zkNode setup: ```mkdir -p /$HOME/zkevm-node```. ### Minimum System Requirements diff --git a/docs/zkEVM/spec/pil/connection-arguments.md b/docs/zkEVM/spec/pil/connection-arguments.md index 4fa2c42f3..eb4f0e469 100644 --- a/docs/zkEVM/spec/pil/connection-arguments.md +++ b/docs/zkEVM/spec/pil/connection-arguments.md @@ -8,7 +8,7 @@ Moreover, we say that a protocol $(\mathcal{P}, \mathcal{V})$ is a **connection !!! info - We use the term “connection” instead of “copy-satisfaction” because the argument is used in PIL in a more general sense than in the original definition given in [GWC19](https://eprint.iacr.org/2019/953). + We use the term “connection” instead of “copy-satisfaction” because the argument is used in PIL in a more general sense than in the original definition given in [GWC19](https://eprint.iacr.org/2019/953). ### Example diff --git a/docs/zkEVM/troubleshooting/risk-disclosures.md b/docs/zkEVM/troubleshooting/risk-disclosures.md index bd01df36c..c80c2bde2 100644 --- a/docs/zkEVM/troubleshooting/risk-disclosures.md +++ b/docs/zkEVM/troubleshooting/risk-disclosures.md @@ -2,7 +2,7 @@ Polygon zkEVM Mainnet Beta is provided on an **AS-IS** and **AS-AVAILABLE** basi ## Attack vectors/security -- This is a **Mainnet Beta** and **not a Mainnet release of Polygon zkEVM**, [security audits](https://polygon.technology/blog/polygon-zkevm-results-of-hexens-security-audit) and assessments are ongoing. Your data and crypto-assets may be at risk as a result of bugs or otherwise. +- This is a **Mainnet Beta** and **not a Mainnet release of Polygon zkEVM**, [security audits](https://polygon.technology/blog/polygon-zkevm-results-of-hexens-security-audit) and assessments are ongoing. Your data and crypto-assets may be at risk as a result of bugs or otherwise. - **Polygon zkEVM technology is novel**. As such, there may be unanticipated issues and risks associated with your use of the technology. For example, there may be errors that result in losing data or crypto-assets. @@ -30,9 +30,9 @@ If the gas fees associated with a proposed transaction are too low, it is possib ## Security audits -- Polygon Labs’ implementation of Polygon zkEVM has been carefully constructed, was audited by several internal and external parties, and is continuously being reviewed and tested against engineering best practices. It is, however, unlikely that all potential bugs or vulnerabilities were identified through these audits and thus there may be undiscovered vulnerabilities that may put user funds at risk. Users should consider this risk when deciding how much value to place onto the Polygon zkEVM Mainnet Beta. To see the audit reports, see [here](https://github.com/0xPolygonHermez/zkevm-rom/blob/main/audits/Hexens_Polygon_zkEVM_PUBLIC_27.02.23.pdf). +- Polygon Labs’ implementation of Polygon zkEVM has been carefully constructed, was audited by several internal and external parties, and is continuously being reviewed and tested against engineering best practices. It is, however, unlikely that all potential bugs or vulnerabilities were identified through these audits and thus there may be undiscovered vulnerabilities that may put user funds at risk. Users should consider this risk when deciding how much value to place onto the Polygon zkEVM Mainnet Beta. To see the audit reports, see [here](https://github.com/0xPolygonHermez/zkevm-rom/blob/main/audits/Hexens_Polygon_zkEVM_PUBLIC_27.02.23.pdf). -- There is a robust bug bounty program for Polygon zkEVM to help encourage the community to find critical bugs in the codebase. Head over to the [Polygon zkEVM Bug Bounty page on Immunefi](https://immunefi.com/bounty/polygonzkevm/). +- There is a robust bug bounty program for Polygon zkEVM to help encourage the community to find critical bugs in the codebase. Head over to the [Polygon zkEVM Bug Bounty page on Immunefi](https://immunefi.com/bounty/polygonzkevm/). ## Prover infrastructure From 9cb0eb81e0b46b267605f5f6f76c739a400e054f Mon Sep 17 00:00:00 2001 From: Nadim Kobeissi Date: Wed, 6 Dec 2023 10:49:07 +0100 Subject: [PATCH 2/6] markdownlint --- docs/cdk/concepts/dac.md | 8 +- docs/cdk/concepts/rollup.md | 4 +- docs/cdk/concepts/validium.md | 4 +- docs/cdk/get-started/deploy-rollup.md | 1 - docs/cdk/get-started/deploy-validium.md | 7 +- docs/cdk/get-started/quickstart-validium.md | 16 ++-- docs/cdk/how-to/manage-allowlists.md | 7 +- docs/cdk/index.md | 2 +- docs/cdk/specification/validium-vs-rollup.md | 4 +- docs/cdk/welcome.md | 2 +- docs/index.md | 55 ++++++------ docs/learn/index.md | 2 +- docs/miden/index.md | 2 +- docs/pos/api/index.md | 2 +- docs/pos/architecture/bor/index.md | 2 +- docs/pos/concepts/index.md | 2 +- docs/pos/concepts/tokens/index.md | 2 +- docs/pos/concepts/tokens/pol.md | 2 +- docs/pos/concepts/transactions/index.md | 2 +- docs/pos/get-started/building-on-polygon.md | 2 - docs/pos/how-to/index.md | 2 +- docs/pos/how-to/operating/index.md | 2 +- docs/pos/how-to/smart-contracts/index.md | 2 +- docs/pos/spec/index.md | 2 +- docs/tools/data/covalent.md | 2 +- docs/tools/data/flair.md | 7 +- docs/tools/data/parsiq.md | 5 +- docs/tools/data/the-graph/data.md | 4 +- docs/tools/data/the-graph/entities.md | 1 + docs/tools/data/the-graph/overview.md | 15 ++-- docs/tools/gas/matic-faucet.md | 18 ++-- docs/tools/gas/polygon-gas-station.md | 2 +- docs/tools/index.md | 2 +- docs/tools/matic-js/advanced/abi-manager.md | 4 - docs/tools/matic-js/get-started.md | 5 +- docs/tools/matic-js/installation.md | 1 - .../matic-js/pos/erc1155/deposit-many.md | 4 +- docs/tools/matic-js/pos/erc1155/deposit.md | 2 +- .../pos/erc1155/withdraw-exit-faster-many.md | 1 - docs/tools/matic-js/pos/erc20/approve.md | 2 +- .../tools/matic-js/pos/erc20/get-allowance.md | 2 +- .../tools/matic-js/pos/erc20/withdraw-exit.md | 1 - .../matic-js/pos/erc20/withdraw-start.md | 1 - .../pos/erc721/withdraw-exit-faster-many.md | 1 - .../pos/erc721/withdraw-exit-faster.md | 1 - .../matic-js/pos/erc721/withdraw-exit.md | 2 +- docs/tools/matic-js/zkevm/common-methods.md | 2 +- docs/tools/oracles/api3.md | 12 ++- docs/tools/oracles/bandstandarddataset.md | 1 - docs/tools/oracles/chainlink.md | 10 +-- docs/tools/oracles/diadataoracles.md | 2 +- docs/tools/oracles/optimisticoracle.md | 43 +++++---- docs/tools/oracles/razor.md | 1 - docs/tools/oracles/umbrella.md | 2 +- docs/tools/smart-contracts/hardhat.md | 4 +- docs/tools/smart-contracts/remix.md | 13 ++- docs/tools/smart-contracts/truffle.md | 36 ++++---- docs/tools/storage/crusthelpers.md | 1 - docs/tools/storage/filecoinhelpers.md | 2 - docs/tools/storage/ipfs.md | 1 - docs/tools/storage/nftstorage.md | 2 +- docs/tools/wallets/fortmatic.md | 7 +- docs/tools/wallets/getting-started.md | 87 +++++++++---------- .../wallets/metamask/add-polygon-network.md | 2 +- .../metamask/create-metamask-wallet.md | 2 +- docs/tools/wallets/metamask/index.md | 1 - .../wallets/metamask/multiple-accounts.md | 2 +- docs/tools/wallets/particle-network.md | 6 +- docs/tools/wallets/portis.md | 3 +- docs/tools/wallets/slashauth.md | 2 +- docs/tools/wallets/using-web3modal.md | 2 +- docs/tools/wallets/venly/add-network.md | 6 +- docs/tools/wallets/venly/create-wallet.md | 2 - docs/tools/wallets/venly/index.md | 3 +- docs/tools/wallets/walletconnect.md | 4 +- .../protocol/zkevm-bridge/exit-tree.md | 2 +- .../hashing-state-machines/paddingkk-sm.md | 16 ++-- docs/zkEVM/architecture/zkprover/index.md | 1 - .../generic-state-machine/ending-program.md | 12 ++- .../generic-state-machine/program-counter.md | 9 +- .../get-started/deploy-zkevm/deploy-zknode.md | 1 + 81 files changed, 254 insertions(+), 267 deletions(-) diff --git a/docs/cdk/concepts/dac.md b/docs/cdk/concepts/dac.md index b70d6e3ec..0211baf9f 100644 --- a/docs/cdk/concepts/dac.md +++ b/docs/cdk/concepts/dac.md @@ -1,4 +1,4 @@ -Data availability in blockchain technology refers to whether or not transaction data is available on-chain or off-chain. +Data availability in blockchain technology refers to whether or not transaction data is available on-chain or off-chain. If data is available on-chain, then each node has to store every piece of data related to every transaction. This can be costly for node operators as hardware and storage requirements are high. Moving data off-chain streamlines node architecture and operations. @@ -14,13 +14,13 @@ A DAC is an off-chain network of nodes that implements a data storage layer in a - **Lower transaction fees**: Reduced computational requirements lead to lower fees and faster finality on the main network. - **Privacy and security**: The DAC stores secure and private transaction data. - **Trustless**: Data owners do not have to trust the blockchain operator. -- **Scalable**: Decoupling data storage from the main chain supports more scalable networks. +- **Scalable**: Decoupling data storage from the main chain supports more scalable networks. DACs store the data required to reconstruct the state of the blockchain and make that data accessible so that, if the main blockchain network goes down, users can still access their assets and data. Setting up a DAC can be costly and therefore DACs mostly support Enterprise use cases which require cheap and fast transactions with a private and secure data layer. -The CDK validium DAC is a secure consortium of nodes that ensures off-chain data access. +The CDK validium DAC is a secure consortium of nodes that ensures off-chain data access. ## DAC data flow @@ -40,4 +40,4 @@ The DAC works together with the sequencer to control the flow of data. The proce 6. **Verification on Ethereum**: A designated smart contract on Ethereum verifies the submitted signatures against a list of valid DAC members and confirms that sufficient approval has been provided for the batch hash. -7. **Final settlement with zero-knowledge proof**: The aggregator prepares a proof for the batch via the prover and submits it to Ethereum. This proof confirms the validity of the batch's transactions without revealing their details. The chain state updates on Ethereum. \ No newline at end of file +7. **Final settlement with zero-knowledge proof**: The aggregator prepares a proof for the batch via the prover and submits it to Ethereum. This proof confirms the validity of the batch's transactions without revealing their details. The chain state updates on Ethereum. diff --git a/docs/cdk/concepts/rollup.md b/docs/cdk/concepts/rollup.md index cacc8cf09..b4f794699 100644 --- a/docs/cdk/concepts/rollup.md +++ b/docs/cdk/concepts/rollup.md @@ -1,6 +1,6 @@ -Rollups are blockchain layer 2 scaling solutions that speed up the network by *rolling up* multiple transactions into batches which are eventually committed to the layer 1. +Rollups are blockchain layer 2 scaling solutions that speed up the network by *rolling up* multiple transactions into batches which are eventually committed to the layer 1. CDK provides zkEVM rollup solutions. !!! info "Recommended resource" - See Ethereum.org's detailed [description of zero-knowledge rollups](https://ethereum.org/en/developers/docs/scaling/zk-rollups/). \ No newline at end of file + See Ethereum.org's detailed [description of zero-knowledge rollups](https://ethereum.org/en/developers/docs/scaling/zk-rollups/). diff --git a/docs/cdk/concepts/validium.md b/docs/cdk/concepts/validium.md index 59b62765c..0bfe49be1 100644 --- a/docs/cdk/concepts/validium.md +++ b/docs/cdk/concepts/validium.md @@ -1,4 +1,4 @@ -Validiums are blockchain scaling solutions that do not store transaction data. +Validiums are blockchain scaling solutions that do not store transaction data. !!! info "Recommended resource" - See Ethereum.org's detailed [description of validiums](https://ethereum.org/en/developers/docs/scaling/validium/). \ No newline at end of file + See Ethereum.org's detailed [description of validiums](https://ethereum.org/en/developers/docs/scaling/validium/). diff --git a/docs/cdk/get-started/deploy-rollup.md b/docs/cdk/get-started/deploy-rollup.md index c22f56289..1e788b42c 100644 --- a/docs/cdk/get-started/deploy-rollup.md +++ b/docs/cdk/get-started/deploy-rollup.md @@ -4,4 +4,3 @@ ## Deploy a CDK rollup locally The [zkEVM deployment quickstart documentation](../../zkEVM/get-started/deploy-zkevm/index.md) shows you how to deploy a zkEVM rollup on your local machine. - diff --git a/docs/cdk/get-started/deploy-validium.md b/docs/cdk/get-started/deploy-validium.md index af01d298b..28a53dc6e 100644 --- a/docs/cdk/get-started/deploy-validium.md +++ b/docs/cdk/get-started/deploy-validium.md @@ -11,13 +11,12 @@ Follow the steps in the [CDK validium contracts repository's README](https://git ## 2. Run the CDK validium node -Next, set up and run the CDK validium node. +Next, set up and run the CDK validium node. Follow the instructions in the [CDK validium node repository's README](https://github.com/0xPolygon/cdk-validium-node). - ## 3. Run the data availability (DA) node (optional step) -Finally, once the CDK validium node is operational, set up and run the data availability node. +Finally, once the CDK validium node is operational, set up and run the data availability node. -Check for instructions here: [CDK DA Node GitHub running instructions](https://github.com/0xPolygon/cdk-data-availability/blob/main/docs/running.md). \ No newline at end of file +Check for instructions here: [CDK DA Node GitHub running instructions](https://github.com/0xPolygon/cdk-data-availability/blob/main/docs/running.md). diff --git a/docs/cdk/get-started/quickstart-validium.md b/docs/cdk/get-started/quickstart-validium.md index b1312be16..a3debe90c 100644 --- a/docs/cdk/get-started/quickstart-validium.md +++ b/docs/cdk/get-started/quickstart-validium.md @@ -26,6 +26,7 @@ cd zkValidium-quickstart ``` Create the `.env` file by copying the example: + ```bash cp .env.example .env ``` @@ -93,6 +94,7 @@ zkevm-bridge-service /bin/sh -c /app/zkevm-brid ... Up 0.0.0.0:9090->9090/tcp,:::9090->9090/tcp zkevm-bridge-ui /bin/sh /app/scripts/deploy.sh Up 0.0.0.0:8088->80/tcp,:::8088->80/tcp ``` + 2.3.1 If a service isn't running (i.e. it is in `Exit 1` state), investigate further using the logs: @@ -123,7 +125,7 @@ sudo make restart ## 3. Test validium -3.1 Verify the block explorer is running by navigating to [localhost:4001](http://localhost:4001/). +3.1 Verify the block explorer is running by navigating to [localhost:4001](http://localhost:4001/). You should see a page similar to this: @@ -135,8 +137,8 @@ You should see a page similar to this: 4.1 Follow MetaMask's instructions on [how to set up a network manually](https://support.metamask.io/hc/en-us/articles/360043227612-How-to-add-a-custom-network-RPC). -- Set the chain ID to **1001**. -- The currency symbol can be anything but we will use **POL** by default. +- Set the chain ID to **1001**. +- The currency symbol can be anything but we will use **POL** by default. - The RPC node and block explorer containers can be found at ports **8123** and **4001**, respectively.
@@ -191,7 +193,7 @@ CDK has a native bridge with UI that allows you to transfer funds between the L1 5.1.2 Switch to the L1 network and you will see the previously imported account with ~999 POL on the L1 chain. -5.1.3 Verify the bridge UI by navigating to [localhost:8088](http://localhost:8088/). +5.1.3 Verify the bridge UI by navigating to [localhost:8088](http://localhost:8088/). 5.1.4 Click on **Connect a wallet > MetaMask**. @@ -205,7 +207,7 @@ CDK has a native bridge with UI that allows you to transfer funds between the L1 bridge
-5.1.6 Enter the amount (e.g. 5) to bridge and click **Continue**, you will see the **Confirm Bridge** page. +5.1.6 Enter the amount (e.g. 5) to bridge and click **Continue**, you will see the **Confirm Bridge** page. 5.1.7 Click **Bridge** and approve the transaction on the MetaMask pop-up: @@ -221,7 +223,7 @@ CDK has a native bridge with UI that allows you to transfer funds between the L1 ### 5.2 L2 to L1 -5.2.1 Switch network on MetaMask to your validium chain and navigate back to [localhost:8088](http://localhost:8088/). +5.2.1 Switch network on MetaMask to your validium chain and navigate back to [localhost:8088](http://localhost:8088/). 5.2.2 You should see both the updated L1 and L2 balances: @@ -244,4 +246,4 @@ The L2->L1 bridging is slightly different than L1->L2 and you will see the **Act
bridge -
\ No newline at end of file + diff --git a/docs/cdk/how-to/manage-allowlists.md b/docs/cdk/how-to/manage-allowlists.md index fbc81ab86..a200fd108 100644 --- a/docs/cdk/how-to/manage-allowlists.md +++ b/docs/cdk/how-to/manage-allowlists.md @@ -5,7 +5,7 @@ Managing allowlists, denylists, and ACLs is done with policies. ## Policy overview -A **policy** is a set of rules that govern what actions are allowed or denied in the transaction pool. +A **policy** is a set of rules that govern what actions are allowed or denied in the transaction pool. - **Fine-grained control**: Developers can specify policies at a granular level, allowing or denying specific actions for specific addresses. - **Dynamic updates**: Policies and ACLs can be updated on-the-fly without requiring a node restart. @@ -21,7 +21,7 @@ Currently, there are two defined policies: - **SendTx**: governs whether an address may send transactions to the pool. - **Deploy**: governs whether an address may deploy a contract. -The CDK validium node offers policy management features that include allowlisting[^1], denylisting[^2], and access control lists (ACLs)[^3]. These features are beneficial for validium-based app-chains that require fine-grained control over transaction pools. +The CDK validium node offers policy management features that include allowlisting[^1], denylisting[^2], and access control lists (ACLs)[^3]. These features are beneficial for validium-based app-chains that require fine-grained control over transaction pools. ### Code definitions @@ -83,7 +83,6 @@ docker exec -it cdk-validium-aggregator /app/cdk-validium-node policy describe - docker exec -it cdk-validium-aggregator /app/cdk-validium-node policy describe ``` - [^1]: **Allowlisting**: The process of explicitly allowing addresses to perform certain actions. [^2]: **Denylisting**: The process of explicitly denying addresses from performing certain actions. -[^3]: **ACL (access control list)**: A list of addresses that are exceptions to a given policy. \ No newline at end of file +[^3]: **ACL (access control list)**: A list of addresses that are exceptions to a given policy. diff --git a/docs/cdk/index.md b/docs/cdk/index.md index 860397ff6..267f72496 100644 --- a/docs/cdk/index.md +++ b/docs/cdk/index.md @@ -1 +1 @@ -TODO: marketing copy and frontend design \ No newline at end of file +TODO: marketing copy and frontend design diff --git a/docs/cdk/specification/validium-vs-rollup.md b/docs/cdk/specification/validium-vs-rollup.md index 810eb374a..d5e15137d 100644 --- a/docs/cdk/specification/validium-vs-rollup.md +++ b/docs/cdk/specification/validium-vs-rollup.md @@ -11,10 +11,10 @@ Polygon CDK running in validium mode inherits the core functionalities of a zkEV | **Components** | zkEVM components\* | zkEVM components\* + PostgreSQL database + on-chain committees | | **Contracts** | [zkEVM smart contracts](https://github.com/0xPolygonHermez/zkevm-contracts)
  • `PolygonZkEVM` (main rollup contract)
  • `PolygonZkEVMBridge`
  • `PolygonZkEVMGlobalExitRoot`
| [Validium-specific DAC contract](https://github.com/0xPolygon/cdk-validium-contracts)
  • `CDKDataCommittee.sol`
  • `CDKValidium.sol`
| | **Infrastructure** | Standard infrastructure | Dedicated infrastructure for data availability layer and DACs | -| **Tx flow** | All transaction data is published on L1 | Validium only publishes the hash of the transaction data to L1. The sequencer sends both the hash and the transaction data to the DAC for verification. Once approved, the hash+signatures are sent to the Consensus L1 contract of the validium protocol. +| **Tx flow** | All transaction data is published on L1 | Validium only publishes the hash of the transaction data to L1. The sequencer sends both the hash and the transaction data to the DAC for verification. Once approved, the hash+signatures are sent to the Consensus L1 contract of the validium protocol. | **Security** | High security due to on-chain data availability and zero-knowledge proofs. |Off-chain data availability can affect security if the sequencer goes offline or if DAC members collude to withhold state data. | | **Gas fees** | High, because all transaction data is stored on Ethereum. | Low, because only the hash of the transaction data is stored on Ethereum. | | **Proof generation** | Uses Prover to generate proofs of batched transactions for validation. | Uses Prover to generate proofs of batched transactions for validation. | | **Final settlement** | Transaction batches and their corresponding proofs are added to the Ethereum state. | The hash of transaction data and its proof are added to the Ethereum state, referred to as the consolidated state. | -*JSON RPC, Pool DB, Sequencer, Etherman, Synchronizer, State DB, Aggregator, Prover \ No newline at end of file +*JSON RPC, Pool DB, Sequencer, Etherman, Synchronizer, State DB, Aggregator, Prover diff --git a/docs/cdk/welcome.md b/docs/cdk/welcome.md index 24ac62c8e..0e2c2a06c 100644 --- a/docs/cdk/welcome.md +++ b/docs/cdk/welcome.md @@ -5,7 +5,7 @@ This section documents the two most popular deployments currently supported by C - Validium - Rollup -Users select a chain architecture specific to their needs from a set of supported, open source options. Alternatively, users can select custom components for specific requirements. +Users select a chain architecture specific to their needs from a set of supported, open source options. Alternatively, users can select custom components for specific requirements. !!! important "Why are there zkEVM docs in the CDK section?" Several of the docs point to zkEVM specific deployment documentation because the rollup flavor of CDK uses zkEVM deployment defaults. diff --git a/docs/index.md b/docs/index.md index 4373c1f8a..c9021ddd5 100644 --- a/docs/index.md +++ b/docs/index.md @@ -6,48 +6,47 @@ hide: The Polygon Wiki is the source of truth for Polygon, providing comprehensive documentation, community resources, and guides for enthusiasts and developers interested in learning about or building on Polygon. -## Place Holder +## Place Holder Content will follow here
-
-

zkEVM

-

Learn about the technology behind the project.

-
+
+

zkEVM

+

Learn about the technology behind the project.

+
-
-

Miden

-

Learn about the technology behind the project.

-
+
+

Miden

+

Learn about the technology behind the project.

+
-
-

PoS

-

Learn about the technology behind the project.

-
+
+

PoS

+

Learn about the technology behind the project.

+
-
-

CDK

-

Learn about the technology behind the project.

-
+
+

CDK

+

Learn about the technology behind the project.

+
-## Place holder +## Place holder -Other tyoe of content will go here. +Other tyoe of content will go here.
-
-

Tools

-

Learn about the technology behind the project.

-
+
+

Tools

+

Learn about the technology behind the project.

+
-
-

Tutorials

-

Learn about the technology behind the project.

-
+
+

Tutorials

+

Learn about the technology behind the project.

+
- diff --git a/docs/learn/index.md b/docs/learn/index.md index 7062e7557..2d50c2fcb 100644 --- a/docs/learn/index.md +++ b/docs/learn/index.md @@ -4,4 +4,4 @@ hide: - toc --- -TODO: learn section \ No newline at end of file +TODO: learn section diff --git a/docs/miden/index.md b/docs/miden/index.md index d5605b836..fc4c1ec20 100644 --- a/docs/miden/index.md +++ b/docs/miden/index.md @@ -1 +1 @@ -# Marketing html page \ No newline at end of file +# Marketing html page diff --git a/docs/pos/api/index.md b/docs/pos/api/index.md index 4c6e329c1..3583187c3 100644 --- a/docs/pos/api/index.md +++ b/docs/pos/api/index.md @@ -1 +1 @@ -This section is meant to be auto-generated soon. \ No newline at end of file +This section is meant to be auto-generated soon. diff --git a/docs/pos/architecture/bor/index.md b/docs/pos/architecture/bor/index.md index 6804aff3e..8eaf754f1 100644 --- a/docs/pos/architecture/bor/index.md +++ b/docs/pos/architecture/bor/index.md @@ -57,4 +57,4 @@ Bor features a mechanism to relay specific events from the Ethereum chain to Bor 2. Heimdall monitoring these events and proposing state changes through `StateReceiver.sol`. 3. Bor committing these state changes at the start of every sprint, ensuring synchronization with the Ethereum chain's state. -This state sync process is a crucial aspect of maintaining consistency between the Ethereum and Bor chains, ensuring that relevant state changes on Ethereum are reflected in Bor's state. \ No newline at end of file +This state sync process is a crucial aspect of maintaining consistency between the Ethereum and Bor chains, ensuring that relevant state changes on Ethereum are reflected in Bor's state. diff --git a/docs/pos/concepts/index.md b/docs/pos/concepts/index.md index 66cfe7651..7b0f62031 100644 --- a/docs/pos/concepts/index.md +++ b/docs/pos/concepts/index.md @@ -1 +1 @@ -This introductory page is currently being written. In the meantime, please review documentation existing under this section, which, in all likelihood, is also in a relatively early editorial state. \ No newline at end of file +This introductory page is currently being written. In the meantime, please review documentation existing under this section, which, in all likelihood, is also in a relatively early editorial state. diff --git a/docs/pos/concepts/tokens/index.md b/docs/pos/concepts/tokens/index.md index 66cfe7651..7b0f62031 100644 --- a/docs/pos/concepts/tokens/index.md +++ b/docs/pos/concepts/tokens/index.md @@ -1 +1 @@ -This introductory page is currently being written. In the meantime, please review documentation existing under this section, which, in all likelihood, is also in a relatively early editorial state. \ No newline at end of file +This introductory page is currently being written. In the meantime, please review documentation existing under this section, which, in all likelihood, is also in a relatively early editorial state. diff --git a/docs/pos/concepts/tokens/pol.md b/docs/pos/concepts/tokens/pol.md index 8bb0863c9..159c44a19 100644 --- a/docs/pos/concepts/tokens/pol.md +++ b/docs/pos/concepts/tokens/pol.md @@ -6,7 +6,7 @@ POL is the native token upgrade for the Polygon ecosystem, designed for use in a If the POL proposal is supported by the community, the POL upgrade is estimated to take place in Q4 2023. The systems utilizing MATIC will not begin the transition until Q1 2024, allowing time for a smooth migration/upgrade and stakeholder preparation. The initial amount of POL refers to the total number of POL when the upgrade occurs. In the case of POL, the initial amount is 10 billion tokens — 1:1 with MATIC since this is an upgrade. -## Do I need to do anything today... +## Do I need to do anything today ### ...as an active participant? diff --git a/docs/pos/concepts/transactions/index.md b/docs/pos/concepts/transactions/index.md index 66cfe7651..7b0f62031 100644 --- a/docs/pos/concepts/transactions/index.md +++ b/docs/pos/concepts/transactions/index.md @@ -1 +1 @@ -This introductory page is currently being written. In the meantime, please review documentation existing under this section, which, in all likelihood, is also in a relatively early editorial state. \ No newline at end of file +This introductory page is currently being written. In the meantime, please review documentation existing under this section, which, in all likelihood, is also in a relatively early editorial state. diff --git a/docs/pos/get-started/building-on-polygon.md b/docs/pos/get-started/building-on-polygon.md index 058c76c68..dd24147fa 100644 --- a/docs/pos/get-started/building-on-polygon.md +++ b/docs/pos/get-started/building-on-polygon.md @@ -16,7 +16,6 @@ To be a validator on the Polygon Network, you must run: - Validator node — a separate machine running a Heimdall node and a Bor node. A validator node is only open to its sentry node and closed to the rest of the network. - Stake the MATIC tokens in the staking contracts deployed on the Ethereum mainnet. - ## Wallets To interact with the Polygon Network, you need to have an Ethereum-based wallet because Polygon runs on Ethereum Virtual Machine (EVM). You can choose to set up a [Metamask](https://github.com/0xPolygon/wiki/blob/master/docs/tools/wallets/metamask/overview.md) or [Arkane](https://github.com/0xPolygon/wiki/blob/master/docs/develop/wallets/arkane/intro_arkane.md) Wallet. More on wallet-related information and why you need one can be found in our [wallet documentation](https://docs.polygon.technology/docs/develop/wallets/getting-started). @@ -80,4 +79,3 @@ If you already have a decentralized application (dApp) and are looking for a pla 1. **Easily migrate from Ethereum Virtual Machine (EVM) based chain**: Polygon prides itself in being the ultimate Layer-2 scaling solution for Ethereum. You don't have to worry about the underlying architecture while moving or deploying your dApps to the Polygon Network as long as it is EVM-compatible. 2. **Use Polygon as a faster transaction layer**: Deploying your dApp to the Polygon Mainnet allows you to leverage Polygon as a faster transaction layer for your dApp. Additionally, you can get your tokens mapped by us. You can join our [technical discussions group](http://bit.ly/matic-technical-group) on Telegram to learn more. - diff --git a/docs/pos/how-to/index.md b/docs/pos/how-to/index.md index afcfd0145..fa06b318d 100644 --- a/docs/pos/how-to/index.md +++ b/docs/pos/how-to/index.md @@ -1 +1 @@ -Welcome to the Polygon PoS how-to section! There's a bunch of how-tos here to help you get started with common technical tasks. We hope you find them useful. \ No newline at end of file +Welcome to the Polygon PoS how-to section! There's a bunch of how-tos here to help you get started with common technical tasks. We hope you find them useful. diff --git a/docs/pos/how-to/operating/index.md b/docs/pos/how-to/operating/index.md index 66cfe7651..7b0f62031 100644 --- a/docs/pos/how-to/operating/index.md +++ b/docs/pos/how-to/operating/index.md @@ -1 +1 @@ -This introductory page is currently being written. In the meantime, please review documentation existing under this section, which, in all likelihood, is also in a relatively early editorial state. \ No newline at end of file +This introductory page is currently being written. In the meantime, please review documentation existing under this section, which, in all likelihood, is also in a relatively early editorial state. diff --git a/docs/pos/how-to/smart-contracts/index.md b/docs/pos/how-to/smart-contracts/index.md index afcfd0145..fa06b318d 100644 --- a/docs/pos/how-to/smart-contracts/index.md +++ b/docs/pos/how-to/smart-contracts/index.md @@ -1 +1 @@ -Welcome to the Polygon PoS how-to section! There's a bunch of how-tos here to help you get started with common technical tasks. We hope you find them useful. \ No newline at end of file +Welcome to the Polygon PoS how-to section! There's a bunch of how-tos here to help you get started with common technical tasks. We hope you find them useful. diff --git a/docs/pos/spec/index.md b/docs/pos/spec/index.md index 2b184b9e6..47708bdb7 100644 --- a/docs/pos/spec/index.md +++ b/docs/pos/spec/index.md @@ -1 +1 @@ -This introductory page is currently being written. \ No newline at end of file +This introductory page is currently being written. diff --git a/docs/tools/data/covalent.md b/docs/tools/data/covalent.md index e5f83bf53..56286ca80 100644 --- a/docs/tools/data/covalent.md +++ b/docs/tools/data/covalent.md @@ -1,4 +1,4 @@ -!!! note "Content disclaimer" +!!! note "Content disclaimer" Please view the third-party content disclaimer [here](https://github.com/0xPolygon/wiki/blob/master/CONTENT_DISCLAIMER.md). diff --git a/docs/tools/data/flair.md b/docs/tools/data/flair.md index 381839afc..8e2d5711b 100644 --- a/docs/tools/data/flair.md +++ b/docs/tools/data/flair.md @@ -1,5 +1,5 @@ -!!! note "Content disclaimer" +!!! note "Content disclaimer" Please view the third-party content disclaimer [here](https://github.com/0xPolygon/wiki/blob/master/CONTENT_DISCLAIMER.md). @@ -18,6 +18,7 @@ Compared to other alternatives the main reasons are: * 🚄 Native **real-time stream processing** for certain data workload (such as aggregations, rollups) for things like total volume per pool, or total portfolio per user wallet. * ☁️ **Managed** cloud services avoid DevOps and irrelevant engineering costs for dApp developers. * 🧑‍💻 Avoid decentralization **overhead** (consensus, network hops, etc) since we believe to enable best UX for dApps reading data must be as close to the developers as possible. + ### Features * ✅ Listen to **any EVM chain** with just an RPC URL. @@ -39,6 +40,7 @@ Compared to other alternatives the main reasons are: git clone https://github.com/flair-sdk/starter-boilerplate.git # ... follow instructions in README.md ``` + !!! info Boilerplate instructions will create a **new cluster**, generate **an API Key**, and set up a manifest.yml to index your **first contract** with **sample custom processor** scripts. @@ -84,7 +86,6 @@ pnpm flair backfill --chain 137 -b 47807770 pnpm flair backfill --chain 137 --min-timestamp="30 mins ago" -d backward ``` - 4️⃣ [Query](https://docs.flair.dev/#getting-started) your custom indexed data. 5️⃣ Stream the data to your [own database](https://docs.flair.dev/reference/database#your-own-database). @@ -105,4 +106,4 @@ Explore real-world usage of Flair indexing primitives for various use-cases. ## Need help? -[Our engineers](https://docs.flair.dev/talk-to-an-engineer) are available to help you at any stage. \ No newline at end of file +[Our engineers](https://docs.flair.dev/talk-to-an-engineer) are available to help you at any stage. diff --git a/docs/tools/data/parsiq.md b/docs/tools/data/parsiq.md index 4493138f5..37c6725ec 100644 --- a/docs/tools/data/parsiq.md +++ b/docs/tools/data/parsiq.md @@ -1,5 +1,5 @@ -!!! note "Content disclaimer" +!!! note "Content disclaimer" Please view the third-party content disclaimer [here](https://github.com/0xPolygon/wiki/blob/master/CONTENT_DISCLAIMER.md). @@ -15,6 +15,7 @@ PARSIQ is a reliable, fully customizable blockchain data indexer, helping develo ### PARSIQ Tsunami API PARSIQ Tsunami API is a highly efficient API to fetch raw Web3 data: + - Events, calls, transactions (internal included), transfers, contracts, blocks - you name it. Possibility to use unlimited blockrange makes Tsunami a hard-to-beat solution for realiably getting large amounts of data from the blockchain. CSV Export is available. - Get decoded, human readable data right out of the box. - Need an up to date feeds of data streamed to you in real time? Give our low latency Real Time Streaming service a try. @@ -25,7 +26,7 @@ PARSIQ Tsunami API is a highly efficient API to fetch raw Web3 data: ### PARSIQ SDK -Some more complicated cases where custom data needs to be stored, accumulated, and calculated, cannot be covered by an API. In that cases, use PARSIQ SDK or go for a Custom Data Lake. They allow you to set up data bases and data processing logic to solve your specific use case. +Some more complicated cases where custom data needs to be stored, accumulated, and calculated, cannot be covered by an API. In that cases, use PARSIQ SDK or go for a Custom Data Lake. They allow you to set up data bases and data processing logic to solve your specific use case. !!! info "SDK Documentation" diff --git a/docs/tools/data/the-graph/data.md b/docs/tools/data/the-graph/data.md index e474fc143..97fbd66c1 100644 --- a/docs/tools/data/the-graph/data.md +++ b/docs/tools/data/the-graph/data.md @@ -2,7 +2,6 @@ Please view the third-party content disclaimer [here](https://github.com/0xPolygon/wiki/blob/master/CONTENT_DISCLAIMER.md). - # Polygon root subgraph introduction Polygon has a GraphQL API Endpoint hosted by [The Graph](https://thegraph.com/docs/about/introduction#what-the-graph-is) called a subgraph for indexing and organizing data from the Polygon smart contracts. @@ -11,7 +10,6 @@ This subgraph can be used to query on-chain Polygon data. The subgraph data is s The PolygonRoot subgraph works by listening for events emitted by one or more data sources (Smart Contracts) on the various chains. It handles the indexing and caching of data which can later be queried using the GraphQL API Endpoint, providing an excellent developer experience. - ## Helpful resources - [Video tutorial on creating an API Key](https://www.youtube.com/watch?v=UrfIpm-Vlgs). @@ -19,5 +17,5 @@ The PolygonRoot subgraph works by listening for events emitted by one or more da - [Querying from an application](https://thegraph.com/docs/en/developer/querying-from-your-app/). - [How to use the explorer and playground to query on-chain data](https://medium.com/@chidubem_/how-to-query-on-chain-data-with-the-graph-f8507488215). - [Explorer page](https://thegraph.com/explorer/subgraph?id=FDrqtqbp8LhG1hSnwtWB2hE6C97FWA54irrozjb2TtMH&view=Overview). -- GraphQL Endpoint: https://gateway.thegraph.com/api/[api-key]/subgraphs/id/FDrqtqbp8LhG1hSnwtWB2hE6C97FWA54irrozjb2TtMH. +- GraphQL Endpoint: . - [Code repo](https://github.com/maticnetwork/subgraphs). diff --git a/docs/tools/data/the-graph/entities.md b/docs/tools/data/the-graph/entities.md index 4447417fe..c74aa4ee5 100644 --- a/docs/tools/data/the-graph/entities.md +++ b/docs/tools/data/the-graph/entities.md @@ -44,6 +44,7 @@ | receiver | Bytes! | Receiver address | | sender | Bytes! | Sender address | | + ## PredicateRegistration | Field | Type | Description | diff --git a/docs/tools/data/the-graph/overview.md b/docs/tools/data/the-graph/overview.md index 4d3c0e534..2901e3a85 100644 --- a/docs/tools/data/the-graph/overview.md +++ b/docs/tools/data/the-graph/overview.md @@ -4,11 +4,11 @@ The Graph, a decentralized protocol for indexing and querying chain data, supports the Matic chain. Data defined through subgraphs is easy to query and explore. Subgraphs can be created locally, or use a free hosted explorer for indexing and data display. -> Note: See https://thegraph.com/docs/quick-start for more details, local installation and more. The docs include an example for learning how subgraphs work and this video provides a good introduction. +> Note: See for more details, local installation and more. The docs include an example for learning how subgraphs work and this video provides a good introduction. ## Steps -1. Go to Graph Explorer (https://thegraph.com/explorer/) and setup an account. You will need a GitHub account for authentication. +1. Go to Graph Explorer () and setup an account. You will need a GitHub account for authentication. 1. Go to your dashboard and click Add Subgraph. Define the subgraph Name, Account, and Subtitle and update the image and other info (you can update later) if desired. @@ -17,8 +17,8 @@ The Graph, a decentralized protocol for indexing and querying chain data, suppor 1. Install Graph CLI on your machine (using either npm or yarn). ```bash - $ npm install -g @graphprotocol/graph-cli - $ yarn global add @graphprotocol/graph-cli + npm install -g @graphprotocol/graph-cli + yarn global add @graphprotocol/graph-cli ``` 1. The following command creates a subgraph that indexes all events of an existing contract. It attempts to fetch the contract ABI from BlockScout and falls back to requesting a local file path. If any of the optional arguments are missing, it takes you through an interactive form. @@ -36,16 +36,17 @@ The Graph, a decentralized protocol for indexing and querying chain data, suppor The is your github user or organization name, is the name for your subgraph, and is the optional name of the directory where graph init will put the example subgraph manifest. ``` - >Note: More details are here: https://thegraph.com/docs/define-a-subgraph#create-a-subgraph-project + >Note: More details are here: 1. Authenticate with the hosted service. ```bash graph auth https://api.thegraph.com/deploy/ ``` + You can find the access token by going to your dashboard on the graph website. -1. `cd` to the directory you created and start defining the subgraph. Information on creating a subgraph is available in the Graph Docs here: https://thegraph.com/docs/define-a-subgraph. +1. `cd` to the directory you created and start defining the subgraph. Information on creating a subgraph is available in the Graph Docs here: . 1. When you are ready, deploy your subgraph. You can always test and redeploy as needed. @@ -57,6 +58,6 @@ The Graph, a decentralized protocol for indexing and querying chain data, suppor Your subgraph will be deployed and can be accessed from your dashboard. -You can learn about querying the subgraph here: https://thegraph.com/docs/query-the-graph#using-the-graph-explorer. +You can learn about querying the subgraph here: . If you want to make your subgraph public, you can do so by accessing your subgraph from your dashboard and then click on edit button. You will see the slider at the bottom of edit page. diff --git a/docs/tools/gas/matic-faucet.md b/docs/tools/gas/matic-faucet.md index a463e8f2d..fe3e48834 100644 --- a/docs/tools/gas/matic-faucet.md +++ b/docs/tools/gas/matic-faucet.md @@ -20,16 +20,16 @@ In addition, Polygon faucet also provides **Polygon zkEVM Testnet ETH tokens**. ![img](../../img/tools/gas/faucet.png) - Select one of the blockchain testnet networks, where: - - **Mumbai** - Polygon Testnet - - **Goerli** - Ethereum Testnet - - **Polygon zkEVM** - Polygon zkEVM Testnet + - **Mumbai** - Polygon Testnet + - **Goerli** - Ethereum Testnet + - **Polygon zkEVM** - Polygon zkEVM Testnet - Select the type of Testnet token that you want to receive, where: - - **MATIC Token** - Testnet token of Polygon network - - **Test ERC20** - Standard testnet token on the Ethereum network - - **Test ERC1155** - Standard testnet token used for NFTs - - **LINK** - ERC677 testnet token that inherits functionality from the ERC20 - - **zkEVM ETH** - Testnet ETH on the Polygon zkEVM testnet network + - **MATIC Token** - Testnet token of Polygon network + - **Test ERC20** - Standard testnet token on the Ethereum network + - **Test ERC1155** - Standard testnet token used for NFTs + - **LINK** - ERC677 testnet token that inherits functionality from the ERC20 + - **zkEVM ETH** - Testnet ETH on the Polygon zkEVM testnet network - Enter your wallet address (you can copy it from your MetaMask or Polygon wallet) @@ -38,7 +38,6 @@ In addition, Polygon faucet also provides **Polygon zkEVM Testnet ETH tokens**. - Click **Confirm** to finalize the transaction ![img](../../img/tools/gas/confirm-transaction.png) - !!! danger @@ -77,4 +76,3 @@ In order to receive MATIC Mumbai tokens using QuickNode Fauct, ![img](../../img/tools/gas/quicknode-faucet3.png) - You can also view your transaction details on [Polygonscan](https://mumbai.polygonscan.com/) by clicking on the **TxHash**. - diff --git a/docs/tools/gas/polygon-gas-station.md b/docs/tools/gas/polygon-gas-station.md index dcc4530ba..bb14915b5 100644 --- a/docs/tools/gas/polygon-gas-station.md +++ b/docs/tools/gas/polygon-gas-station.md @@ -89,4 +89,4 @@ An example JSON response will look like this: - `safelow`, `standard`, `fast`, `estimatedBaseFee` are gas prices in GWei. You can use these prices before sending transaction off to Polygon, depending upon your needs. - `blockNumber` tells what was latest block mined when recommendation was made. - `blockTime`, in second, gives average block time of the network. -- On Polygon PoS mainnet, it is mandatory to pass a **minimum priority fees of 30 gwei**. +- On Polygon PoS mainnet, it is mandatory to pass a **minimum priority fees of 30 gwei**. diff --git a/docs/tools/index.md b/docs/tools/index.md index 9ccd531b8..a1824b039 100644 --- a/docs/tools/index.md +++ b/docs/tools/index.md @@ -1 +1 @@ -In progress. \ No newline at end of file +In progress. diff --git a/docs/tools/matic-js/advanced/abi-manager.md b/docs/tools/matic-js/advanced/abi-manager.md index 203aa5549..30ba95f8d 100644 --- a/docs/tools/matic-js/advanced/abi-manager.md +++ b/docs/tools/matic-js/advanced/abi-manager.md @@ -41,7 +41,3 @@ manager.setABI('ERC20PredicateProxy','pos', 'abi value'); manager.getABI('ERC20PredicateProxy','pos'); ``` - - - - diff --git a/docs/tools/matic-js/get-started.md b/docs/tools/matic-js/get-started.md index 528e2bfe6..1aa1aab12 100644 --- a/docs/tools/matic-js/get-started.md +++ b/docs/tools/matic-js/get-started.md @@ -2,7 +2,7 @@ Matic.js is a javascript library which helps in interacting with the various com In this get started document we will learn about how we can setup and interact with the POS bridge. -In case you face any issues or have any queries, feel free to raise a [ticket](https://support.polygon.technology/support/tickets/new) to our Support Team or reach out to us on [Discord](https://discord.gg/32j4qNDn). +In case you face any issues or have any queries, feel free to raise a [ticket](https://support.polygon.technology/support/tickets/new) to our Support Team or reach out to us on [Discord](https://discord.gg/32j4qNDn). ## Installation @@ -100,7 +100,8 @@ const txHash = await approveResult.getTransactionHash(); // get transaction receipt const txReceipt = await approveResult.getReceipt(); ``` -As you can see, with its simple APIs maticjs makes it very easy to interact with maticjs bridge. + +As you can see, with its simple APIs maticjs makes it very easy to interact with maticjs bridge. ## Useful links diff --git a/docs/tools/matic-js/installation.md b/docs/tools/matic-js/installation.md index 43e0ac1b3..d8864589d 100644 --- a/docs/tools/matic-js/installation.md +++ b/docs/tools/matic-js/installation.md @@ -1,6 +1,5 @@ Matic.js is made up of two parts: - ## 1. Main library The Main library has the core logic and provides different APIs. The user interacts mostly with this library. diff --git a/docs/tools/matic-js/pos/erc1155/deposit-many.md b/docs/tools/matic-js/pos/erc1155/deposit-many.md index 19b25bfee..110e2b041 100644 --- a/docs/tools/matic-js/pos/erc1155/deposit-many.md +++ b/docs/tools/matic-js/pos/erc1155/deposit-many.md @@ -1,4 +1,4 @@ -The `depositMany` method can be used to deposit required amounts of multiple token from ethereum to polygon chain. +The `depositMany` method can be used to deposit required amounts of multiple token from ethereum to polygon chain. ```js const erc1155RootToken = posClient.erc1155(, true); @@ -16,4 +16,4 @@ const txReceipt = await result.getReceipt(); ``` -Supplying **data** is optional. \ No newline at end of file +Supplying **data** is optional. diff --git a/docs/tools/matic-js/pos/erc1155/deposit.md b/docs/tools/matic-js/pos/erc1155/deposit.md index 28b540378..46403a581 100644 --- a/docs/tools/matic-js/pos/erc1155/deposit.md +++ b/docs/tools/matic-js/pos/erc1155/deposit.md @@ -16,4 +16,4 @@ const txReceipt = await result.getReceipt(); ``` -Supplying **data** is optional. \ No newline at end of file +Supplying **data** is optional. diff --git a/docs/tools/matic-js/pos/erc1155/withdraw-exit-faster-many.md b/docs/tools/matic-js/pos/erc1155/withdraw-exit-faster-many.md index bc79a85b3..0ea8dc24a 100644 --- a/docs/tools/matic-js/pos/erc1155/withdraw-exit-faster-many.md +++ b/docs/tools/matic-js/pos/erc1155/withdraw-exit-faster-many.md @@ -2,7 +2,6 @@ The `withdrawExitFasterMany` method can be used to exit the withdraw process by It is fast because it generates proof in backend. You need to configure [setProofAPI](../../set-proof-api.md). - **Note**- withdrawStart transaction must be checkpointed in order to exit the withdraw. ```js diff --git a/docs/tools/matic-js/pos/erc20/approve.md b/docs/tools/matic-js/pos/erc20/approve.md index 598d7bd95..866a3c0e1 100644 --- a/docs/tools/matic-js/pos/erc20/approve.md +++ b/docs/tools/matic-js/pos/erc20/approve.md @@ -34,4 +34,4 @@ const txHash = await approveResult.getTransactionHash(); const txReceipt = await approveResult.getReceipt(); -``` \ No newline at end of file +``` diff --git a/docs/tools/matic-js/pos/erc20/get-allowance.md b/docs/tools/matic-js/pos/erc20/get-allowance.md index c0b9eeec6..dea54ebc2 100644 --- a/docs/tools/matic-js/pos/erc20/get-allowance.md +++ b/docs/tools/matic-js/pos/erc20/get-allowance.md @@ -20,4 +20,4 @@ const erc20Token = posClient.erc20(, true); const balance = await erc20Token.getAllowance(, { spenderAddress: }); -``` \ No newline at end of file +``` diff --git a/docs/tools/matic-js/pos/erc20/withdraw-exit.md b/docs/tools/matic-js/pos/erc20/withdraw-exit.md index 1c34e0d26..04796b339 100644 --- a/docs/tools/matic-js/pos/erc20/withdraw-exit.md +++ b/docs/tools/matic-js/pos/erc20/withdraw-exit.md @@ -13,4 +13,3 @@ const txReceipt = await result.getReceipt(); ``` This method does multiple RPC calls to generate the proof and process exit. So it is recommended to use withdrawExitFaster method. - diff --git a/docs/tools/matic-js/pos/erc20/withdraw-start.md b/docs/tools/matic-js/pos/erc20/withdraw-start.md index 299ec7956..52feefe15 100644 --- a/docs/tools/matic-js/pos/erc20/withdraw-start.md +++ b/docs/tools/matic-js/pos/erc20/withdraw-start.md @@ -13,4 +13,3 @@ const txReceipt = await result.getReceipt(); ``` The received transaction hash will be used to exit the withdraw process. So we recommend to store it. - diff --git a/docs/tools/matic-js/pos/erc721/withdraw-exit-faster-many.md b/docs/tools/matic-js/pos/erc721/withdraw-exit-faster-many.md index 462adc658..1f5196aa4 100644 --- a/docs/tools/matic-js/pos/erc721/withdraw-exit-faster-many.md +++ b/docs/tools/matic-js/pos/erc721/withdraw-exit-faster-many.md @@ -1,6 +1,5 @@ The `withdrawExitFasterMany` method can be used to exit the withdraw process by using the `txHash` from `withdrawStartMany` method. - It is fast because it generates proof in the back-end. You need to configure [setProofAPI](../../set-proof-api.md). **Note**- withdrawStart transaction must be checkpointed in order to exit the withdraw. diff --git a/docs/tools/matic-js/pos/erc721/withdraw-exit-faster.md b/docs/tools/matic-js/pos/erc721/withdraw-exit-faster.md index 4fe2eb84e..be1ad751a 100644 --- a/docs/tools/matic-js/pos/erc721/withdraw-exit-faster.md +++ b/docs/tools/matic-js/pos/erc721/withdraw-exit-faster.md @@ -1,6 +1,5 @@ The `withdrawExitFaster` method can be used to exit the withdraw process by using the txHash from `withdrawStart` method. - It is fast because it generates proof in the back-end. You need to configure [setProofAPI](../../set-proof-api.md). **Note**- withdrawStart transaction must be checkpointed in order to exit the withdraw. diff --git a/docs/tools/matic-js/pos/erc721/withdraw-exit.md b/docs/tools/matic-js/pos/erc721/withdraw-exit.md index df8f165ea..335579e30 100644 --- a/docs/tools/matic-js/pos/erc721/withdraw-exit.md +++ b/docs/tools/matic-js/pos/erc721/withdraw-exit.md @@ -11,4 +11,4 @@ const txReceipt = await result.getReceipt(); ``` -This method does multiple RPC calls to generate the proof and process exit. So it is recommended to use withdrawExitFaster method. \ No newline at end of file +This method does multiple RPC calls to generate the proof and process exit. So it is recommended to use withdrawExitFaster method. diff --git a/docs/tools/matic-js/zkevm/common-methods.md b/docs/tools/matic-js/zkevm/common-methods.md index 5f7c72d71..97e292fa3 100644 --- a/docs/tools/matic-js/zkevm/common-methods.md +++ b/docs/tools/matic-js/zkevm/common-methods.md @@ -28,4 +28,4 @@ isExited method checks if a withdrawal has been exited. It returns a boolean val ```js const isExited = await zkEvmClient.isExited(tx_hash); -``` \ No newline at end of file +``` diff --git a/docs/tools/oracles/api3.md b/docs/tools/oracles/api3.md index 690bd1dcc..24f70cb20 100644 --- a/docs/tools/oracles/api3.md +++ b/docs/tools/oracles/api3.md @@ -12,7 +12,6 @@ An [Airnode](https://docs.api3.org/explore/airnode/what-is-airnode.html) is a ** An on-chain smart contract makes a request in the [**RRP protocol contract (AirnodeRrpV0.sol)**](https://docs.api3.org/reference/airnode/latest/concepts/) that adds the request to the event logs. The Airnode then accesses the event logs, fetches the API data and performs a callback to the requester with the requested data. - ![img](../../img/tools/oracles/api3/airnode1.png) ## Requesting off-chain data by calling an Airnode @@ -92,7 +91,6 @@ The `_rrpAddress` is the main `airnodeRrpAddress`. The RRP Contracts have alread |:------------------------:|:------------------------------------------------:| | AirnodeRrpV0 | `0xa0AD79D995DdeeB18a14eAef56A549A04e3Aa1Bd` | - ### Request parameters The `makeRequest()` function expects the following parameters to make a valid request. @@ -110,13 +108,12 @@ The callback to the **Requester** contains two parameters: - `data`: In case of a successful response, this is the requested data which has been encoded and contains a timestamp in addition to other response data. Decode it using the `decode()` function from the `abi` object. :::note -Sponsors should not fund a `sponsorWallet` with more then they can trust the Airnode with, as the Airnode controls the private key to the `sponsorWallet`. The deployer of such Airnode +Sponsors should not fund a `sponsorWallet` with more then they can trust the Airnode with, as the Airnode controls the private key to the `sponsorWallet`. The deployer of such Airnode undertakes no custody obligations, and the risk of loss or misuse of any excess funds sent to the `sponsorWallet` remains with the sponsor ::: ### [Try deploying it on Remix!](https://remix.ethereum.org/#url=https://github.com/api3-ecosystem/remix-contracts/blob/master/contracts/Requester.sol&optimize=false&runs=200&evmVersion=null&version=soljson-v0.8.9+commit.e5eed63a.js) - ## Using dAPIs - API3 datafeeds [dAPIs](https://docs.api3.org/explore/dapis/what-are-dapis.html) are continuously updated streams of off-chain data, such as the latest cryptocurrency, stock and commodity prices. They can power various decentralized applications such as DeFi lending, synthetic assets, stablecoins, derivatives, NFTs and more. @@ -127,7 +124,6 @@ Due to being composed of first-party data feeds, dAPIs offer security, transpare The [API3 Market](https://market.api3.org/dapis) enables users to connect to a dAPI and access the associated data feed services. - ![img](../../img/tools/oracles/api3/SS4.png) [*To know more about how dAPIs work, click here*](https://docs.api3.org/explore/dapis/what-are-dapis.html) @@ -135,6 +131,7 @@ The [API3 Market](https://market.api3.org/dapis) enables users to connect to a d ### Types of dAPIs #### Self-funded dAPIs + [Self-funded dAPIs](https://docs.api3.org/reference/dapis/understand/self-funded.html) are single-source data feeds that can be funded by the users with their own funds. The amount of gas supplied determines how long the dAPI will be available to use. If it runs out of gas, the dAPI will no longer be updated @@ -143,6 +140,7 @@ unless it is funded again. [Click here to read more about Self-funded dAPIs](https://docs.api3.org/guides/dapis/subscribing-self-funded-dapis/). #### Managed dAPIs + [Managed dAPIs](https://docs.api3.org/reference/dapis/understand/managed.html) are sourced directly from multiple [first-party](https://docs.api3.org/explore/airnode/why-first-party-oracles.html) data providers running an Airnode and aggregated using Airnode's signed data using a median function. The gas costs @@ -206,7 +204,7 @@ Once the transaction is broadcasted and confirmed on the blockchain, the proxy c ### Subscribing to managed dAPIs -If you are trying to access Managed dAPIs, +If you are trying to access Managed dAPIs, once you have selected your dAPI, you will then be presented with an option to choose from either **Managed** or **Self-funded**. Select Managed dAPIs. @@ -274,7 +272,7 @@ contract DataFeedReaderExample is Ownable { - `readDataFeed()` is a view function that returns the latest price of the set dAPI. -You can read more about dAPIs [here](https://docs.api3.org/guides/dapis/subscribing-managed-dapis/). +You can read more about dAPIs [here](https://docs.api3.org/guides/dapis/subscribing-managed-dapis/). ### [Try deploying it on Remix!](https://remix.ethereum.org/#url=https://github.com/api3-ecosystem/remix-contracts/blob/master/contracts/DataFeedReader.sol&lang=en&optimize=false&runs=200&evmVersion=null&version=soljson-v0.8.18+commit.87f61d96.js) diff --git a/docs/tools/oracles/bandstandarddataset.md b/docs/tools/oracles/bandstandarddataset.md index 677d71d04..b2e69cf2e 100644 --- a/docs/tools/oracles/bandstandarddataset.md +++ b/docs/tools/oracles/bandstandarddataset.md @@ -48,7 +48,6 @@ For example, if we call `getReferenceDataBulk` with `['BTC','BTC','ETH']` and `[ Band's node helper library [`bandchain.js`](https://www.npmjs.com/package/@bandprotocol/bandchain.js) also supports a similar `getReferenceData` function. This function takes one argument, a list of token pairs to query the result. It then returns a list of corresponding rate values. - ### Example usage The code below shows an example usage of the function: diff --git a/docs/tools/oracles/chainlink.md b/docs/tools/oracles/chainlink.md index 7cc12a5b2..4c6b2355c 100644 --- a/docs/tools/oracles/chainlink.md +++ b/docs/tools/oracles/chainlink.md @@ -215,10 +215,10 @@ Here is the list of jobs that the Polygon oracle is configured to run. | Name | Return Type | ID | Adapters | |-----|--------|------|-------| | HTTP GET | `uint256` | `da20aae0e4c843f6949e5cb3f7cfe8c4` | `httpget`
`jsonparse`
`multiply`
`ethuint256`
`ethtx` | -| HTTP GET | `int256` | `e0c76e45462f4e429ba32c114bfbf5ac ` | `httpget`
`jsonparse`
`multiply`
`ethint256`
`ethtx` | -| HTTP GET | `bool` | `999539ec63414233bdc989d8a8ff10aa ` | `httpget`
`jsonparse`
`ethbool`
`ethtx` | -| HTTP GET | `bytes32` | `a82495a8fd5b4cb492b17dc0cc31a4fe ` | `httpget`
`jsonparse`
`ethbytes32`
`ethtx` | -| HTTP GET | `string` | `7d80a6386ef543a3abb52817f6707e3b ` | `httpget`
`jsonparse`
`ethstring`
`ethtx` | -| HTTP POST | `bytes32` | `a82495a8fd5b4cb492b17dc0cc31a4fe ` | `httppost`
`jsonparse`
`ethbytes32`
`ethtx` | +| HTTP GET | `int256` | `e0c76e45462f4e429ba32c114bfbf5ac` | `httpget`
`jsonparse`
`multiply`
`ethint256`
`ethtx` | +| HTTP GET | `bool` | `999539ec63414233bdc989d8a8ff10aa` | `httpget`
`jsonparse`
`ethbool`
`ethtx` | +| HTTP GET | `bytes32` | `a82495a8fd5b4cb492b17dc0cc31a4fe` | `httpget`
`jsonparse`
`ethbytes32`
`ethtx` | +| HTTP GET | `string` | `7d80a6386ef543a3abb52817f6707e3b` | `httpget`
`jsonparse`
`ethstring`
`ethtx` | +| HTTP POST | `bytes32` | `a82495a8fd5b4cb492b17dc0cc31a4fe` | `httppost`
`jsonparse`
`ethbytes32`
`ethtx` | The complete Chainlink API reference can be found [here](https://docs.chain.link/any-api/api-reference). diff --git a/docs/tools/oracles/diadataoracles.md b/docs/tools/oracles/diadataoracles.md index 92b4fe2a0..8d60f893c 100644 --- a/docs/tools/oracles/diadataoracles.md +++ b/docs/tools/oracles/diadataoracles.md @@ -2,4 +2,4 @@ Please view the third-party content disclaimer [here](https://github.com/0xPolygon/wiki/blob/master/CONTENT_DISCLAIMER.md). -dApp developers who want to leverage DIA oracles can access the published data on Polygon. DIA offers cryptocurrency and data about traditional financial assets. For more details click [here](https://github.com/diadata-org/diadata/blob/master/documentation/oracle-documentation/matic.md). \ No newline at end of file +dApp developers who want to leverage DIA oracles can access the published data on Polygon. DIA offers cryptocurrency and data about traditional financial assets. For more details click [here](https://github.com/diadata-org/diadata/blob/master/documentation/oracle-documentation/matic.md). diff --git a/docs/tools/oracles/optimisticoracle.md b/docs/tools/oracles/optimisticoracle.md index c34f6b9bf..5a0f64ebe 100644 --- a/docs/tools/oracles/optimisticoracle.md +++ b/docs/tools/oracles/optimisticoracle.md @@ -28,24 +28,26 @@ The Optimistic Oracle is used by financial contracts or any third party to retri This section explains how different participants can interact with the Optimistic Oracle. To view the most updated mainnet, kovan or L2 deployments of the Optimistic Oracle contracts, refer to the [production addresses](https://docs.umaproject.org/dev-ref/addresses). There are twelve methods that make up the Optimistic Oracle interface. -- `requestPrice` -- `proposePrice` -- `disputePrice` -- `settle` -- `hasPrice` -- `getRequest` -- `settleAndGetPrice` -- `setBond` -- `setCustomLiveness` -- `setRefundOnDispute` -- `proposePriceFor` -- `disputePriceFor` + +- `requestPrice` +- `proposePrice` +- `disputePrice` +- `settle` +- `hasPrice` +- `getRequest` +- `settleAndGetPrice` +- `setBond` +- `setCustomLiveness` +- `setRefundOnDispute` +- `proposePriceFor` +- `disputePriceFor` ### requestPrice Requests a new price. This must be for a registered price identifier. Note that this is called automatically by most financial contracts that are registered in the UMA system, but can be called by anyone for any registered price identifier. For example, the Expiring Multiparty (EMP) contract calls this method when its `expire` method is called. Parameters: + - `identifier`: price identifier being requested. - `timestamp`: timestamp of the price being requested. - `ancillaryData`: ancillary data representing additional args being passed with the price request. @@ -57,6 +59,7 @@ Parameters: Proposes a price value for an existing price request. Parameters: + - `requester`: sender of the initial price request. - `identifier`: price identifier to identify the existing request. - `timestamp`: timestamp to identify the existing request. @@ -68,6 +71,7 @@ Parameters: Disputes a price value for an existing price request with an active proposal. Parameters: + - `requester`: sender of the initial price request. - `identifier`: price identifier to identify the existing request. - `timestamp`: timestamp to identify the existing request. @@ -78,6 +82,7 @@ Parameters: Attempts to settle an outstanding price request. Will revert if it can’t be settled. Parameters: + - `requester`: sender of the initial price request. - `identifier`: price identifier to identify the existing request. - `timestamp`: timestamp to identify the existing request. @@ -88,6 +93,7 @@ Parameters: Checks if a given request has resolved or been settled (i.e the optimistic oracle has a price). Parameters: + - `requester`: sender of the initial price request. - `identifier`: price identifier to identify the existing request. - `timestamp`: timestamp to identify the existing request. @@ -98,6 +104,7 @@ Parameters: Gets the current data structure containing all information about a price request. Parameters: + - `requester`: sender of the initial price request. - `identifier`: price identifier to identify the existing request. - `timestamp`: timestamp to identify the existing request. @@ -108,6 +115,7 @@ Parameters: Retrieves a price that was previously requested by a caller. Reverts if the request is not settled or settleable. Note: this method is not view so that this call may actually settle the price request if it hasn’t been settled. Parameters: + - `identifier`: price identifier to identify the existing request. - `timestamp`: timestamp to identify the existing request. - `ancillaryData`: ancillary data of the price being requested. @@ -117,6 +125,7 @@ Parameters: Set the proposal bond associated with a price request. Parameters: + - `identifier`: price identifier to identify the existing request. - `timestamp`: timestamp to identify the existing request. - `ancillaryData`: ancillary data of the price being requested. @@ -127,6 +136,7 @@ Parameters: Sets a custom liveness value for the request. Liveness is the amount of time a proposal must wait before being auto-resolved. Parameters: + - `identifier`: price identifier to identify the existing request. - `timestamp`: timestamp to identify the existing request. - `ancillaryData`: ancillary data of the price being requested. @@ -137,6 +147,7 @@ Parameters: Sets the request to refund the reward if the proposal is disputed. This can help to "hedge" the caller in the event of a dispute-caused delay. Note: in the event of a dispute, the winner still receives the other’s bond, so there is still profit to be made even if the reward is refunded. Parameters: + - `identifier`: price identifier to identify the existing request. - `timestamp`: timestamp to identify the existing request. - `ancillaryData`: ancillary data of the price being requested. @@ -146,6 +157,7 @@ Parameters: Disputes a price request with an active proposal on another address' behalf. Note: this address will receive any rewards that come from this dispute. However, any bonds are pulled from the caller. Parameters: + - `disputer`: address to set as the disputer. - `requester`: sender of the initial price request. - `identifier`: price identifier to identify the existing request. @@ -157,6 +169,7 @@ Parameters: Proposes a price value on another address' behalf. Note: this address will receive any rewards that come from this proposal. However, any bonds are pulled from the caller. Parameters: + - `proposer`: address to set as the proposer. - `requester`: sender of the initial price request. - `identifier`: price identifier to identify the existing request. @@ -170,11 +183,11 @@ This demo will set up an `OptimisticDepositBox` contract which custodies a user On a local testnet blockchain, the user will deposit wETH (Wrapped Ether) into the contract and withdraw wETH denominated in USD. For example, if the user wants to withdraw $10,000 USD of wETH, and the ETH/USD exchange rate is $2,000, they would withdraw 5 wETH. -* The user links the `OptimisticDepositBox` with one of the price identifiers enabled on the DVM. +- The user links the `OptimisticDepositBox` with one of the price identifiers enabled on the DVM. -* The user deposits wETH into the `OptimisticDepositBox` and register it with the `ETH/USD` price identifier. +- The user deposits wETH into the `OptimisticDepositBox` and register it with the `ETH/USD` price identifier. -* The user can now withdraw a USD-denominated amount of wETH from their `DepositBox` via smart contract calls, with the Optimistic Oracle enabling optimistic on-chain pricing. +- The user can now withdraw a USD-denominated amount of wETH from their `DepositBox` via smart contract calls, with the Optimistic Oracle enabling optimistic on-chain pricing. In this example, the user would not have been able to transfer USD-denominated amounts of wETH without referencing an off-chain `ETH/USD` price feed. The Optimistic Oracle therefore enables the user to "pull" a reference price. diff --git a/docs/tools/oracles/razor.md b/docs/tools/oracles/razor.md index ae2d03fc8..fa4e2875a 100755 --- a/docs/tools/oracles/razor.md +++ b/docs/tools/oracles/razor.md @@ -11,4 +11,3 @@ The core of Razor Network is a set of smart contracts that can run on any Ethere This oracle network is currently running on the Polygon Mumbai testnet. To get started with connecting to the data feed, check out this **[tutorial](https://docs.razor.network/)**. The Razor Network can be explored using [Razorscan](https://razorscan.io/). - diff --git a/docs/tools/oracles/umbrella.md b/docs/tools/oracles/umbrella.md index 26c862aee..8ae1a3fb7 100644 --- a/docs/tools/oracles/umbrella.md +++ b/docs/tools/oracles/umbrella.md @@ -6,7 +6,7 @@ The service leverages a network of decentralized community validators to ensure the reliability of the oracle data. -## Solutions +## Solutions Umbrella Network provides three data consumption options: on-chain data, layer 2 data, and on-demand data. diff --git a/docs/tools/smart-contracts/hardhat.md b/docs/tools/smart-contracts/hardhat.md index 28250e160..850248035 100644 --- a/docs/tools/smart-contracts/hardhat.md +++ b/docs/tools/smart-contracts/hardhat.md @@ -158,7 +158,7 @@ Run this command in root of the project directory: npx hardhat run scripts/deploy.js --network polygon_mumbai ``` -The contract will be deployed on Matic's Mumbai Testnet, and you can check the deployment status here: https://mumbai.polygonscan.com/ +The contract will be deployed on Matic's Mumbai Testnet, and you can check the deployment status here: **Congratulations! You have successfully deployed Greeter Smart Contract. Now you can interact with the Smart Contract.** @@ -169,4 +169,4 @@ The contract will be deployed on Matic's Mumbai Testnet, and you can check the d ```bash npm install --save-dev @nomiclabs/hardhat-etherscan npx hardhat verify --network polygon_mumbai 0x4b75233D4FacbAa94264930aC26f9983e50C11AF - ``` \ No newline at end of file + ``` diff --git a/docs/tools/smart-contracts/remix.md b/docs/tools/smart-contracts/remix.md index d0e959e8c..4a199c674 100644 --- a/docs/tools/smart-contracts/remix.md +++ b/docs/tools/smart-contracts/remix.md @@ -80,11 +80,11 @@ To deploy to the Mumbai testnet, we have to connect to the Web3 world which can - Open Metamask. Click on the network dropdown menu (set to **Ethereum Mainnet** by default) and click on the **Add Network** button. MaticVigil provides a public endpoint and is rate-limited. Therefore, most developers use a free blockchain provider like [Alchemy](https://docs.alchemy.com/docs/how-to-add-polygon-to-metamask) or [Quicknode](https://www.quicknode.com/guides/smart-contract-development/how-to-deploy-a-smart-contract-on-maticpolygon#setting-up-metamask-with-polygon-node) to have a dedicated RPC endpoint with faster throughput AKA **computing units per second (CUPs)**. You need to create a free account to get your private API key from one of these providers to put into the dedicated RPC endpoint URL below. - **Network:** Polygon Mumbai Testnet - - **RPC URL (public endpoint):** https://rpc-mumbai.maticvigil.com. - - **RPC URL (dedicated endpoint):** https://polygon-mumbai.g.alchemy.com/v2/your-api-key. You'll need a [free API key](https://docs.alchemy.com) + - **RPC URL (public endpoint):** . + - **RPC URL (dedicated endpoint):** . You'll need a [free API key](https://docs.alchemy.com) - **Chain ID:** 80001 - **Currency Symbol:** MATIC - - **Block Explorer URL:** https://mumbai.polygonscan.com/ + - **Block Explorer URL:** - Go ahead and click **Save** @@ -103,10 +103,10 @@ Similar to the steps above when you deployed to Mumbai, you open your MetaMask w - Open Metamask - **Network Name**: Polygon Mainnet - - **New RPC URL**: https://polygon-mainnet.g.alchemy.com/v2/your-api-key + - **New RPC URL**: - **Chain ID**: 137 - **Currency Symbol**: MATIC - - **Block Explorer URL**: https://polygonscan.com/ + - **Block Explorer URL**: - Go ahead and click **Save** @@ -131,7 +131,7 @@ In both Testnet and Mainnet, you do the below to deploy your smart contract usin ![RemixIDE_Step1](../../img/tools/remix/confirm_tx.png)
-**Congratulations! You have successfully deployed the **HelloWorld** Smart Contract to the **Polygon Mumbai Testnet** You can start interacting with your Smart Contract. Check the deployment status at https://mumbai.polygonscan.com/. +**Congratulations! You have successfully deployed the **HelloWorld** Smart Contract to the **Polygon Mumbai Testnet** You can start interacting with your Smart Contract. Check the deployment status at . ## Verifying your contract @@ -160,4 +160,3 @@ sol-merger \"./contracts/*.sol\" ./build In the next section, paste your flattened samrt contract here. If you had enabled optimization, then adjust the `optimization` section accordingly. Constructor arguments should have been filled in automatically. If not, they can be retrieved from the trailing bytes of the deployment transaction (example: `000000000000000000000000a6fa4fb5f76172d178d61b04b0ecd319c5d1c0aa`). - diff --git a/docs/tools/smart-contracts/truffle.md b/docs/tools/smart-contracts/truffle.md index 2b9ebaef0..24efed770 100644 --- a/docs/tools/smart-contracts/truffle.md +++ b/docs/tools/smart-contracts/truffle.md @@ -62,29 +62,29 @@ import "./ConvertLib.sol"; // coin/token contracts. contract MetaCoin { - mapping (address => uint) balances; + mapping (address => uint) balances; - event Transfer(address indexed _from, address indexed _to, uint256 _value); + event Transfer(address indexed _from, address indexed _to, uint256 _value); - constructor() { - balances[tx.origin] = 10000; - } + constructor() { + balances[tx.origin] = 10000; + } - function sendCoin(address receiver, uint amount) public returns(bool sufficient) { - if (balances[msg.sender] < amount) return false; - balances[msg.sender] -= amount; - balances[receiver] += amount; - emit Transfer(msg.sender, receiver, amount); - return true; - } + function sendCoin(address receiver, uint amount) public returns(bool sufficient) { + if (balances[msg.sender] < amount) return false; + balances[msg.sender] -= amount; + balances[receiver] += amount; + emit Transfer(msg.sender, receiver, amount); + return true; + } - function getBalanceInEth(address addr) public view returns(uint){ - return ConvertLib.convert(getBalance(addr),2); - } + function getBalanceInEth(address addr) public view returns(uint){ + return ConvertLib.convert(getBalance(addr),2); + } - function getBalance(address addr) public view returns(uint) { - return balances[addr]; - } + function getBalance(address addr) public view returns(uint) { + return balances[addr]; + } } ``` diff --git a/docs/tools/storage/crusthelpers.md b/docs/tools/storage/crusthelpers.md index 48d15b655..339572056 100644 --- a/docs/tools/storage/crusthelpers.md +++ b/docs/tools/storage/crusthelpers.md @@ -17,4 +17,3 @@ Check out the **[Decentralized Storage Market](https://wiki.crust.network/docs/e - [IPFS W3Auth Gateway](https://docs.ipfs.tech/concepts/ipfs-gateway/#authenticated-gateways): A Web3 authenticated IPFS gateway that supports all the IPFS *WRITE* functions and helps users upload files or host content after passing the W3Auth verification. - [IPFS W3Auth Pinning Service](https://wiki.crust.network/docs/en/buildIPFSW3AuthPin): A standard IPFS pinning service with Web3 authentication that allows users to access Crust storage resources without needing to interact with the Crust blockchain. - [Crust Github Action](https://github.com/marketplace/actions/crust-ipfs-pin): A standard Github action which can include fully decentralized CI/CD hosting with Crust. - diff --git a/docs/tools/storage/filecoinhelpers.md b/docs/tools/storage/filecoinhelpers.md index 1414c5809..a66de6a5e 100644 --- a/docs/tools/storage/filecoinhelpers.md +++ b/docs/tools/storage/filecoinhelpers.md @@ -12,5 +12,3 @@ Filecoin is built on top of IPFS and supports storing data long-term via on-chai - [NFT.storage](https://nft.storage): NFT storage service that stores and retrieves data relating to NFTs on IPFS and Filecoin ([video](https://youtu.be/Ckb4RRJo-W0)). - [Web3.storage](https://web3.storage): Data storage service that stores and retrieves data on IPFS and Filecoin ([video](https://youtu.be/lPEqg6oL3Nk)). - - diff --git a/docs/tools/storage/ipfs.md b/docs/tools/storage/ipfs.md index 01f15e973..d42ce43fd 100644 --- a/docs/tools/storage/ipfs.md +++ b/docs/tools/storage/ipfs.md @@ -15,7 +15,6 @@ Content addressing uses cryptography to create a uniquely verifable hash based u Finally, an ever growing active community of users makes this peer-to-peer sharing of content possible. Developers upload and pin content to IPFS while Filecoin or Crust storage providers help to ensure persistent storage of that content. - IPFS based storage allows you to simply store the CID for your content rather than loading entire files to Polygon blockchain; allowing for decreased costs, larger file sizes, and provably persistent storage. For more details refer [IPFS Docs](https://docs.ipfs.io/). ### Example projects diff --git a/docs/tools/storage/nftstorage.md b/docs/tools/storage/nftstorage.md index 462897a27..08a7905d1 100644 --- a/docs/tools/storage/nftstorage.md +++ b/docs/tools/storage/nftstorage.md @@ -1,6 +1,6 @@ !!! caution "Content disclaimer" Please view the third-party content disclaimer [here](https://github.com/0xPolygon/wiki/blob/master/CONTENT_DISCLAIMER.md). - + This tutorial will teach you to mint an NFT using the Polygon blockchain and IPFS/Filecoin storage via NFT.Storage. Polygon, a Layer 2 scaling solution for Ethereum, is often chosen by developers for its speed and lower transaction costs while maintaining full compatibility with Ethereum's EVM. The tutorial will walk you through the creation and deployment of a standardized smart contract, storing metadata and assets on IPFS and Filecoin via the NFT.Storage API and minting the NFT to your own wallet on Polygon. ## Introduction diff --git a/docs/tools/wallets/fortmatic.md b/docs/tools/wallets/fortmatic.md index e0461a891..a090ed19c 100644 --- a/docs/tools/wallets/fortmatic.md +++ b/docs/tools/wallets/fortmatic.md @@ -1,6 +1,6 @@ !!! caution "Content disclaimer" Please view the third-party content disclaimer [here](https://github.com/0xPolygon/wiki/blob/master/CONTENT_DISCLAIMER.md). - + Fortmatic SDK allows you to easily integrate your dApp with the Ethereum blockchain, whether you already have a dApp integrated with Web3 or are starting from scratch. Fortmatic provides a smooth and delightful experience for both you and your decentralized application users. ## Installation @@ -8,10 +8,11 @@ Fortmatic SDK allows you to easily integrate your dApp with the Ethereum blockch Use the following command to install Fortmatic's wallet latest version: ```bash -$ npm i --save fortmatic@latest +npm i --save fortmatic@latest ``` ## Example + Here is an example of application using Fortmatic: ```js title="example.js" @@ -26,4 +27,4 @@ const customNodeOptions = { // Setting network to localhost blockchain const fm = new Fortmatic('YOUR_TEST_API_KEY', customNodeOptions); window.web3 = new Web3(fm.getProvider()); -``` \ No newline at end of file +``` diff --git a/docs/tools/wallets/getting-started.md b/docs/tools/wallets/getting-started.md index d327f61ee..7a508b3e8 100644 --- a/docs/tools/wallets/getting-started.md +++ b/docs/tools/wallets/getting-started.md @@ -8,7 +8,6 @@ private keys, and interfaces that allow users to perform chain actions and sign For a list of CEXs that support Polygon, visit a third-party tracking website such as [**CoinMarketCap**](https://coinmarketcap.com/currencies/polygon/markets). - ## Native wallets The [Polygon Wallet Suite](https://wallet.polygon.technology) is a comprehensive solution for account management on Polygon. @@ -34,7 +33,7 @@ It includes: | [Polygon Wallet Suite](https://wallet.polygon.technology/login/) | non-custodial | EOA | yes (Safe Bridge) | yes | browser | | [Hermez Wallet](https://wallet.hermez.io/login) | non-custodial | EOA | no | no | browser | -!!! tip +!!! tip Keep up with the latest Wallet Suite updates from the Polygon team and community by subscribing to our [notifications](https://polygon.technology/notifications/). @@ -52,48 +51,48 @@ It includes: The following wallets are solutions that Polygon Technology has partnered with: -| Wallet | Custody | Account Type | Multi-Sig | NFT | dApp Browser | Bridge Support | Fiat On-Ramp | Platforms | -|--- |--- |--- |--- |--- |--- |--- |--- |--- | -| [1inch](https://1inch.io/wallet/) | non-custodial | EOA | no | interface | yes | yes | yes | mobile | -| [Alpha Wallet](https://alphawallet.com/) | non-custodial | EOA | no | interface | yes | yes | yes | mobile, api/sdk | -| [Atomic Wallet](https://atomicwallet.io/)* | non-custodial | EOA | no | no | no | no | yes | mobile, desktop, api/sdk | -| [Ambire](https://www.ambire.com/) | non-custodial | smart contract | no | interface | no | yes | yes | browser | -| [BitKeep](https://bitkeep.com/) | non-custodial | EOA | no | interface | yes | yes | yes | mobile, browser extension | -| [Bitski](https://www.bitski.com/) | custodial | EOA | no | interface | no | yes | no | browser, api/sdk | -| [Coin Wallet](https://coin.space/) | non-custodial | EOA | no | no | no | no | yes | mobile, browser, desktop | -| [Coin98](https://coin98.com/wallet) | non-custodial | EOA | no | interface | yes | yes | yes | mobile, browser, api/sdk | -| [Coinbase](https://www.coinbase.com/wallet) | hybrid | EOA | no | interface | yes | yes | yes | mobile, browser, api/sdk | -| [CypherD](https://cypherd.io/) | non-custodial | EOA | no | yes | yes | yes | yes | mobile | -| [D'Cent](https://dcentwallet.com/) | hybrid | EOA | no | interface | yes | yes | no | mobile | -| [Exodus](https://www.exodus.com/) | non-custodial | EOA | no | yes | no | no | yes | mobile, desktop | -| [Gnosis Safe](https://gnosis-safe.io/) | non-custodial | smart contract | yes | interface | no | no | no | mobile, browser, desktop, api/sdk | -| [Guarda](https://guarda.com/) | non-custodial | EOA | no | no | no | yes | yes | mobile, browser, desktop | -| [Huobi](https://www.itoken.com/en) | non-custodial | EOA | no | yes | yes | yes | no | mobile | -| [Ledger](https://www.ledger.com/) | non-custodial | EOA | no | interface | no | no | yes | hardware, mobile, desktop | -| [Loopring](https://loopring.io/#/) | non-custodial | smart contract | no | no | no | no | no | mobile, api/sdk | -| [Magic](https://fortmatic.com/)* | custodial | EOA | no | no | no | | | mobile, browser, api/sdk | -| [MathWallet](https://mathwallet.org/en-us/) | custodial | EOA | no | no | no | yes | yes | mobile, browser, api/sdk | -| [MetaMask](https://metamask.io/)* | non-custodial | EOA | no | interface | yes | no | no | mobile, browser, api/sdk | -| [Multis](https://multis.co/)* | non-custodial | EOA | no | no | no | | yes | mobile, desktop | -| [MyEtherWallet](https://www.myetherwallet.com/)* | non-custodial | EOA | no | interface | no | | yes | mobile | -| [Omni](https://omni.app/) | non-custodial | EOA | no | interface | no | yes| | mobile, api/sdk | -| [Opera Crypto Browser](https://www.opera.com/crypto/next)* | non-custodial | EOA | no | support | yes | | | mobile, browser | -| [Paraswap Multichain Wallet](https://apps.apple.com/dz/app/paraswap-multichain-wallet/id1584610690)* | non-custodial | EOA | no | support | yes | | | Apple iOS | -| [Pillar](https://www.pillar.fi/) | non-custodial | EOA | no | interface | no | | yes | mobile | -| [Rainbow](https://rainbow.me/) | non-custodial | EOA | no | interface | yes | | no | mobile, api/sdk | -| [SafePal](https://safepal.io/) | non-custodial | EOA | no | no | yes | yes | | hardware, mobile, api/sdk | -| [Sequence](https://sequence.app/auth) | non-custodial | smart contract | no | interface | no | | | browser, api/sdk | -| [SimpleHold](https://simplehold.io/) | non-custodial | EOA | yes | no | no | | yes | mobile, api/sdk | -| [TokenPocket](https://www.tokenpocket.pro/en) | non-custodial | EOA | no | support | yes | yes | yes | mobile, browser, api/sdk | -| [Torus](https://toruswallet.io/) | non-custodial | EOA | yes | support | no | no | no | browser, api/sdk | -| Trezor| non-custodial | EOA | no | support | no | | | hardware, mobile | -| [Trust Wallet](https://trustwallet.com/) | non-custodial | EOA | no | support | yes | |yes| mobile | -| [Unstoppable](https://unstoppable.money/) | non-custodial | EOA | no | yes | yes | |no| mobile, api/sdk | -| [Venly](https://www.venly.io/) | hybrid | smart contract | no | interface | no | | | browser, api/sdk | -| [Wirex](https://wirexapp.com/en/wirex-wallet)* | non-custodial | EOA | yes | no | no | | | mobile | -| [XDeFi](https://www.xdefi.io/) | non-custodial | EOA | no | interface | no | no | no | browser | -| [Zerion](https://zerion.io/) | non-custodial | EOA | no | yes | yes |yes| | mobile, browser | -| [Particle Network](https://particle.network) | non-custodial | hybrid | no | yes | yes | yes | yes | mobile, browser, api/sdk | +| Wallet | Custody | Account Type | Multi-Sig | NFT | dApp Browser | Bridge Support | Fiat On-Ramp | Platforms | +|--- |--- |--- |--- |--- |--- |--- |--- |--- | +| [1inch](https://1inch.io/wallet/) | non-custodial | EOA | no | interface | yes | yes | yes | mobile | +| [Alpha Wallet](https://alphawallet.com/) | non-custodial | EOA | no | interface | yes | yes | yes | mobile, api/sdk | +| [Atomic Wallet](https://atomicwallet.io/)* | non-custodial | EOA | no | no | no | no | yes | mobile, desktop, api/sdk | +| [Ambire](https://www.ambire.com/) | non-custodial | smart contract | no | interface | no | yes | yes | browser | +| [BitKeep](https://bitkeep.com/) | non-custodial | EOA | no | interface | yes | yes | yes | mobile, browser extension | +| [Bitski](https://www.bitski.com/) | custodial | EOA | no | interface | no | yes | no | browser, api/sdk | +| [Coin Wallet](https://coin.space/) | non-custodial | EOA | no | no | no | no | yes | mobile, browser, desktop | +| [Coin98](https://coin98.com/wallet) | non-custodial | EOA | no | interface | yes | yes | yes | mobile, browser, api/sdk | +| [Coinbase](https://www.coinbase.com/wallet) | hybrid | EOA | no | interface | yes | yes | yes | mobile, browser, api/sdk | +| [CypherD](https://cypherd.io/) | non-custodial | EOA | no | yes | yes | yes | yes | mobile | +| [D'Cent](https://dcentwallet.com/) | hybrid | EOA | no | interface | yes | yes | no | mobile | +| [Exodus](https://www.exodus.com/) | non-custodial | EOA | no | yes | no | no | yes | mobile, desktop | +| [Gnosis Safe](https://gnosis-safe.io/) | non-custodial | smart contract | yes | interface | no | no | no | mobile, browser, desktop, api/sdk | +| [Guarda](https://guarda.com/) | non-custodial | EOA | no | no | no | yes | yes | mobile, browser, desktop | +| [Huobi](https://www.itoken.com/en) | non-custodial | EOA | no | yes | yes | yes | no | mobile | +| [Ledger](https://www.ledger.com/) | non-custodial | EOA | no | interface | no | no | yes | hardware, mobile, desktop | +| [Loopring](https://loopring.io/#/) | non-custodial | smart contract | no | no | no | no | no | mobile, api/sdk | +| [Magic](https://fortmatic.com/)* | custodial | EOA | no | no | no | | | mobile, browser, api/sdk | +| [MathWallet](https://mathwallet.org/en-us/) | custodial | EOA | no | no | no | yes | yes | mobile, browser, api/sdk | +| [MetaMask](https://metamask.io/)* | non-custodial | EOA | no | interface | yes | no | no | mobile, browser, api/sdk | +| [Multis](https://multis.co/)* | non-custodial | EOA | no | no | no | | yes | mobile, desktop | +| [MyEtherWallet](https://www.myetherwallet.com/)* | non-custodial | EOA | no | interface | no | | yes | mobile | +| [Omni](https://omni.app/) | non-custodial | EOA | no | interface | no | yes| | mobile, api/sdk | +| [Opera Crypto Browser](https://www.opera.com/crypto/next)* | non-custodial | EOA | no | support | yes | | | mobile, browser | +| [Paraswap Multichain Wallet](https://apps.apple.com/dz/app/paraswap-multichain-wallet/id1584610690)* | non-custodial | EOA | no | support | yes | | | Apple iOS | +| [Pillar](https://www.pillar.fi/) | non-custodial | EOA | no | interface | no | | yes | mobile | +| [Rainbow](https://rainbow.me/) | non-custodial | EOA | no | interface | yes | | no | mobile, api/sdk | +| [SafePal](https://safepal.io/) | non-custodial | EOA | no | no | yes | yes | | hardware, mobile, api/sdk | +| [Sequence](https://sequence.app/auth) | non-custodial | smart contract | no | interface | no | | | browser, api/sdk | +| [SimpleHold](https://simplehold.io/) | non-custodial | EOA | yes | no | no | | yes | mobile, api/sdk | +| [TokenPocket](https://www.tokenpocket.pro/en) | non-custodial | EOA | no | support | yes | yes | yes | mobile, browser, api/sdk | +| [Torus](https://toruswallet.io/) | non-custodial | EOA | yes | support | no | no | no | browser, api/sdk | +| Trezor| non-custodial | EOA | no | support | no | | | hardware, mobile | +| [Trust Wallet](https://trustwallet.com/) | non-custodial | EOA | no | support | yes | |yes| mobile | +| [Unstoppable](https://unstoppable.money/) | non-custodial | EOA | no | yes | yes | |no| mobile, api/sdk | +| [Venly](https://www.venly.io/) | hybrid | smart contract | no | interface | no | | | browser, api/sdk | +| [Wirex](https://wirexapp.com/en/wirex-wallet)* | non-custodial | EOA | yes | no | no | | | mobile | +| [XDeFi](https://www.xdefi.io/) | non-custodial | EOA | no | interface | no | no | no | browser | +| [Zerion](https://zerion.io/) | non-custodial | EOA | no | yes | yes |yes| | mobile, browser | +| [Particle Network](https://particle.network) | non-custodial | hybrid | no | yes | yes | yes | yes | mobile, browser, api/sdk | !!! info "Non-native wallet support" diff --git a/docs/tools/wallets/metamask/add-polygon-network.md b/docs/tools/wallets/metamask/add-polygon-network.md index a032f02c4..10124eced 100644 --- a/docs/tools/wallets/metamask/add-polygon-network.md +++ b/docs/tools/wallets/metamask/add-polygon-network.md @@ -104,4 +104,4 @@ Once you’ve added the information click on Save. You will be directly switched Now you may see the Polygon Mainnet on the Networks tab:
![img](../../../img/tools/wallet/metamask/add-polygon-mainnet-5.png){ width="50%" } -
\ No newline at end of file +
diff --git a/docs/tools/wallets/metamask/create-metamask-wallet.md b/docs/tools/wallets/metamask/create-metamask-wallet.md index d5f2fb1f4..febc5b975 100644 --- a/docs/tools/wallets/metamask/create-metamask-wallet.md +++ b/docs/tools/wallets/metamask/create-metamask-wallet.md @@ -57,4 +57,4 @@ The next step is to create an account. By “solving this puzzle” you are confirming that you know your secret phrase. -**Congratulations!** You have successfully created your MetaMask account. A new Ethereum wallet address was automatically generated for you! \ No newline at end of file +**Congratulations!** You have successfully created your MetaMask account. A new Ethereum wallet address was automatically generated for you! diff --git a/docs/tools/wallets/metamask/index.md b/docs/tools/wallets/metamask/index.md index 053734bf3..5c85f03e3 100644 --- a/docs/tools/wallets/metamask/index.md +++ b/docs/tools/wallets/metamask/index.md @@ -115,7 +115,6 @@ Now for any function you’d want to call from your contract, we directly intera - Functions that alter the state of the contract are called `send()` functions. - Functions that do not alter the state of the contract are called `call()` functions. - #### Calling `call()` Functions ```js diff --git a/docs/tools/wallets/metamask/multiple-accounts.md b/docs/tools/wallets/metamask/multiple-accounts.md index 4a28d41a5..4837c0ffb 100644 --- a/docs/tools/wallets/metamask/multiple-accounts.md +++ b/docs/tools/wallets/metamask/multiple-accounts.md @@ -19,4 +19,4 @@ You can create more accounts this way. When you create multiple accounts, your a The importing process on MetaMask is similar to creating a new account. You just have to copy-paste the **Private key** (more information [here](https://metamask.zendesk.com/hc/en-us/articles/360015289632-How-to-export-an-account-s-private-key#:~:text=On%20the%20account%20page%2C%20click,click%20%E2%80%9CConfirm%E2%80%9D%20to%20proceed.)), from your local account. Then paste it into the window provided, and select Import.
![img](../../../img/tools/wallet/metamask/develop/import-account.png){ width="50%" } -
\ No newline at end of file + diff --git a/docs/tools/wallets/particle-network.md b/docs/tools/wallets/particle-network.md index 2f1eae273..2dc081f9a 100644 --- a/docs/tools/wallets/particle-network.md +++ b/docs/tools/wallets/particle-network.md @@ -15,6 +15,7 @@ Particle Wallet itself is available either in an application-embedded format, de - **Key management mechanism**: MPC-TSS. ## Integrating Particle Auth + The [Particle Auth](https://docs.particle.network/developers/auth-service/sdks/web) SDK represents the primary method of facilitating connection (wallet generation or login) and interaction with Particle. #### Install dependencies @@ -22,7 +23,9 @@ The [Particle Auth](https://docs.particle.network/developers/auth-service/sdks/w ```js yarn add @particle-network/auth @particle-network/provider ``` + OR + ```js npm install --save @particle-network/auth @particle-network/provider ``` @@ -61,6 +64,7 @@ window.web3 = new Web3(particleProvider); ```` #### Facilitating login/connection + ````js if (!particle.auth.isLogin()) { // Request user login if needed, returns current user info @@ -70,4 +74,4 @@ if (!particle.auth.isLogin()) { From this point, you can utilize `web3.js` as usual via `window.web3`. Signatures, confirmations, and other interactions will be routed to the embedded Particle interface, provided that a user is connected. -The functionality of this SDK, alongside the various other SDKs & APIs that Particle offers, extends far. You can learn more about integrating and interacting with Particle [here](https://docs.particle.network/getting-started/get-started). \ No newline at end of file +The functionality of this SDK, alongside the various other SDKs & APIs that Particle offers, extends far. You can learn more about integrating and interacting with Particle [here](https://docs.particle.network/getting-started/get-started). diff --git a/docs/tools/wallets/portis.md b/docs/tools/wallets/portis.md index 5fc982514..c46394a4f 100644 --- a/docs/tools/wallets/portis.md +++ b/docs/tools/wallets/portis.md @@ -66,6 +66,7 @@ this.myContractInstance.methods.myMethod(myParams) ``` ### Calling `send()` function + ```js this.myContractInstance.methods.myMethod(myParams) .send({ @@ -74,4 +75,4 @@ this.myContractInstance.methods.myMethod(myParams) .then ((receipt) => { // returns a transaction receipt }) -``` \ No newline at end of file +``` diff --git a/docs/tools/wallets/slashauth.md b/docs/tools/wallets/slashauth.md index 0100929db..3e4fe778e 100644 --- a/docs/tools/wallets/slashauth.md +++ b/docs/tools/wallets/slashauth.md @@ -146,4 +146,4 @@ function App() { export default App; ``` -You can find the full example of this code in our [GitHub repo](https://github.com/slashauth/slashauth-react-quickstart-example). \ No newline at end of file +You can find the full example of this code in our [GitHub repo](https://github.com/slashauth/slashauth-react-quickstart-example). diff --git a/docs/tools/wallets/using-web3modal.md b/docs/tools/wallets/using-web3modal.md index 078455cbe..36d42af09 100644 --- a/docs/tools/wallets/using-web3modal.md +++ b/docs/tools/wallets/using-web3modal.md @@ -26,4 +26,4 @@ If you need help with anything related to the Polygon zkEVM, you can raise a tic 3. Take the **Member** role under **#roles**. 4. Navigate to the **#zkevm-support** channel. -You can now contact the zkEVM support staff with your questions and concerns. We will actively monitor for issues and work to resolve them as soon as possible. \ No newline at end of file +You can now contact the zkEVM support staff with your questions and concerns. We will actively monitor for issues and work to resolve them as soon as possible. diff --git a/docs/tools/wallets/venly/add-network.md b/docs/tools/wallets/venly/add-network.md index 255a69cd2..0c46627e5 100644 --- a/docs/tools/wallets/venly/add-network.md +++ b/docs/tools/wallets/venly/add-network.md @@ -10,7 +10,5 @@ Below you will find an overview of the public Venly environments and networks to Environment | Polygon Network | Venly Service Link --- | --- |--- -Production | Polygon Mainnet | https://app.arkane.network -Staging | Mumbai Testnet | https://staging.arkane.network/ - - +Production | Polygon Mainnet | +Staging | Mumbai Testnet | diff --git a/docs/tools/wallets/venly/create-wallet.md b/docs/tools/wallets/venly/create-wallet.md index 90d746d6e..05593e9ff 100644 --- a/docs/tools/wallets/venly/create-wallet.md +++ b/docs/tools/wallets/venly/create-wallet.md @@ -32,5 +32,3 @@ Once you've pressed the button, Venly will ask you to confirm the new wallet cre ![Wallet Dashboard](../../../img/tools/wallet/venly/05.png) **Congratulations!** You have now created your Polygon wallet using Venly to manage your digital assets on the Polygon network. - - diff --git a/docs/tools/wallets/venly/index.md b/docs/tools/wallets/venly/index.md index 94bde9afd..a849d56b4 100644 --- a/docs/tools/wallets/venly/index.md +++ b/docs/tools/wallets/venly/index.md @@ -7,7 +7,6 @@ Venly will help you in interacting with the Polygon network, create blockchain w Each application is unique and has different needs, therefore they provide different ways of interacting with Venly. Applications that have support for Web3 are recommendated to integrate the [Venly Web3 provider](https://docs.venly.io/widget/web3-provider/getting-started), others are suggested to use the [Venly Widget](https://docs.venly.io/widget/widget/introduction). - ## Key Features - Support web and mobile. @@ -65,4 +64,4 @@ The web3 instance now works as if it was injected by Parity or Metamask. You can What makes Venly (prev. Arkane) stand out is their commitment to supporting the ecosystem. Not only their wallet users, by explaining what gas is, or by helping them import an Ethereum wallet into Polygon, but also the developers that are using Venly to build new upcoming products. -Even in their test environments, they add an in-app chat so that developers can directly communicate with the team behind the Venly platform. In case you want to learn more, check out their [detailed product documentation](https://docs.venly.io/widget/). \ No newline at end of file +Even in their test environments, they add an in-app chat so that developers can directly communicate with the team behind the Venly platform. In case you want to learn more, check out their [detailed product documentation](https://docs.venly.io/widget/). diff --git a/docs/tools/wallets/walletconnect.md b/docs/tools/wallets/walletconnect.md index 40244dd68..67b6c0479 100644 --- a/docs/tools/wallets/walletconnect.md +++ b/docs/tools/wallets/walletconnect.md @@ -14,7 +14,7 @@ npm install --save @maticnetwork/walletconnect-provider Install `matic.js` for Polygon integration: ```bash -$ npm install @maticnetwork/maticjs +npm install @maticnetwork/maticjs ``` And add the following code in your dApp; @@ -88,6 +88,7 @@ this.myContractInstance.methods Since writing to the blockchain requires a signature, we prompt the user on their wallet (that supports WalletConnect) to sign the transaction. This involves three steps: + 1. Constructing a transaction 2. Getting a signature on the transaction 3. Sending signed transaction @@ -103,7 +104,6 @@ const tx = { The above code creates a transaction object which is then sent to user’s wallet for signature: - ```js maticWeb3.eth.signTransaction(tx) .then((result) =>{ diff --git a/docs/zkEVM/architecture/protocol/zkevm-bridge/exit-tree.md b/docs/zkEVM/architecture/protocol/zkevm-bridge/exit-tree.md index 4067580f0..27135ae1b 100644 --- a/docs/zkEVM/architecture/protocol/zkevm-bridge/exit-tree.md +++ b/docs/zkEVM/architecture/protocol/zkevm-bridge/exit-tree.md @@ -65,7 +65,7 @@ In order to claim the bridged assets on the destination L2 network, the Global E It is possible for the transfer to go from an L2 Rollup to the Mainnet L1. In this case the same procedure as in the above example is followed, except in the reverse direction. -That is, once a user commits to a transfer, an exit leaf is added to the L2 Exit Tree with corresponding transfer information. The transfer data in this case looks as follows: +That is, once a user commits to a transfer, an exit leaf is added to the L2 Exit Tree with corresponding transfer information. The transfer data in this case looks as follows: ``` Origin network: 3 (L2) diff --git a/docs/zkEVM/architecture/zkprover/hashing-state-machines/paddingkk-sm.md b/docs/zkEVM/architecture/zkprover/hashing-state-machines/paddingkk-sm.md index 1f08b91b1..66a1a43b2 100644 --- a/docs/zkEVM/architecture/zkprover/hashing-state-machines/paddingkk-sm.md +++ b/docs/zkEVM/architecture/zkprover/hashing-state-machines/paddingkk-sm.md @@ -150,13 +150,13 @@ By capturing the relationships between and among the columns (registers defined $$ \mathtt{connected' \cdot lastBlock = ( 1 - lastHash) \cdot lastBlock} \tag{Eqn.5} $$ - + 4. The $\mathtt{len}$ register is constant within each string. It must therefore satisfy this relationship, $$ \mathtt{ len'\cdot firstHash = len\cdot (1 - lastHash)} \tag{Eqn.6} $$ - + 5. Checking that $\mathtt{len}$ and $\mathtt{rem}$ coincide at the first state of each string, use the constraint, $$ @@ -181,7 +181,7 @@ By capturing the relationships between and among the columns (registers defined \text{ }\text{ }\text{ }\text{ }\text{ }\text{} \cdots & \cdots\\ \hline \end{array} $$ - + 6. Let us now specify the relations that satisfy the $\mathtt{addr}$ register. As commented on before, $\mathtt{addr}$ is constant within each string. Hence, $\mathtt{(addr' - addr) = 0}$ if and only if $\mathtt{1 - lastHash \not= 0}$. The constraint for the $\mathtt{addr}$ register is therefore, @@ -220,26 +220,26 @@ By capturing the relationships between and among the columns (registers defined \text{ }\text{ }\text{ }\text{ }\text{ }\text{ }\text{ } 1 & 0 & 1 & 0 \\\hline \end{array} $$ - + 7. In order to grapple with the increasing but cyclic sequence of $\mathtt{addr}$, the following constraint is used, $$ \mathtt{ ( addr' - 1 - addr)\cdot lastHashLatch = 0} \tag{Eqn.10} $$ - + 8. Now, checking whether $\mathtt{remIsZero}$ is 1 if and only if $\mathtt{rem}$ is 0, is done reversely by first committing the column $\mathtt{remInv}$, the inverse of $\mathtt{rem}$, and computing $\mathtt{remIsZero}$ as: $$ \mathtt{remIsZero = 1 − rem · remInv} \tag{Eqn.11} $$ And then, as usual, check the relation, $\mathtt{remIsZero \cdot rem = 0}$. - + 9. Next is the $\mathtt{aFreeIn}$ register which stores the input byte if and only if the current row does not corresponding to the padding. $\mathtt{aFreeIn}$ is computed from the $\mathtt{remIsZero}$, $\mathtt{spare}$ and $\mathtt{lastHash}$ registers. This ensures loading the padding bytes at their correct positions. - + In fact, this register will be used in the Plookup of the next state machine. Observe that $\mathtt{aFreeIn}$ can be computed as - + $$ \mathtt{aFreeIn = (1 − (remIsZero + spare)) \cdot freeIn + remIsZero + lastHash \cdot 0x80} \tag{Eqn.12} $$ diff --git a/docs/zkEVM/architecture/zkprover/index.md b/docs/zkEVM/architecture/zkprover/index.md index 185a7d918..e4c597ae8 100644 --- a/docs/zkEVM/architecture/zkprover/index.md +++ b/docs/zkEVM/architecture/zkprover/index.md @@ -6,7 +6,6 @@ The zkProver performs complex mathematical computations in the form of polynomia !!!info zkProver is a component of the Polygon zkEVM which is solely responsible for Proving. - ## Interaction with node and database diff --git a/docs/zkEVM/concepts/generic-state-machine/ending-program.md b/docs/zkEVM/concepts/generic-state-machine/ending-program.md index 258dcb508..3932d9a02 100644 --- a/docs/zkEVM/concepts/generic-state-machine/ending-program.md +++ b/docs/zkEVM/concepts/generic-state-machine/ending-program.md @@ -40,7 +40,6 @@ $$ \end{aligned} $$ - The question is: How (or when) to end the program when the trace has size $\mathtt{5}$ and the polynomials have are of degree $\mathtt{2^3 = 8}$? ## Naïve way to end a program @@ -144,30 +143,29 @@ The dynamism brought about by the inclusion of jumps in our zkASM programs means Since the instructions require the executor to perform varied operations, and due to the presence of jumps, these operations are not sequentially executed, we then need to do a few more checks; 1. **Check program operations** - + Every operation being executed needs to be checked if it is the correct one. That is, if the instruction is an $\texttt{ADD}$, then we must check that indeed an $\texttt{ADD}$ was performed and not a different operation. 2. **Check instructions’ sequence** - + The sequence in which the operations are executed must tally with the instructions in the zkASM program, and not necessarily their usual chronological sequence of the lines of code. e.g., The lines of instructions executed in Example B above, are lines $\texttt{0, 1, 2, 3, 5}$ , where $\texttt{line}$ $\texttt{4}$ was skipped. Note that more complicated programs can be built where, for instance, the SM execution jumps to a previous line of code, and thus repeating execution of some instructions. 3. **Check correct program ending** - + How the program ends also needs to be managed. Due to the presence of jumps, the length of the execution trace is no longer constant for the same program if the free inputs are varied. 4. **Check positioning of Publics** - + We must ensure that all $\texttt{publics}$ (the inputs and the outputs) are in the expected positions. So, $\texttt{publics}$ should be placed at known steps. This ensures that the SM's PIL does not have to change with every execution. For this reason, $\texttt{publics}$ are going to be placed in either the first positions of the polynomial or the last positions of the polynomial (these are specified positions in the arrays representing the columns of the trace). 5. **Check correct Program (ROM) Execution** - + Although the polynomial identities are there to monitor correct state transitions (checking that each instruction does what it is supposed to do), and also that the correct sequence of instructions is followed, one still needs to make sure the instruction being executed belongs to the program in the first place. So, if for instance, the third instruction is being executed, is it really the third instruction of the right program or not. One of the implications of a dynamic execution trace, due to the inclusion of jumps, is that some of the previously *constant* (or preprocessed) polynomials must now be *committed* polynomials. - If we are going to allow polynomials (i.e., columns in the execution trace) corresponding to the instructions to be committed, we need to be cautious that only instructions belonging to the right program are being executed. For this purpose, we use a tool called [Plookup](https://eprint.iacr.org/2020/315.pdf). diff --git a/docs/zkEVM/concepts/generic-state-machine/program-counter.md b/docs/zkEVM/concepts/generic-state-machine/program-counter.md index 9dd801985..57b6bf6a5 100644 --- a/docs/zkEVM/concepts/generic-state-machine/program-counter.md +++ b/docs/zkEVM/concepts/generic-state-machine/program-counter.md @@ -29,8 +29,8 @@ Note that execution continues with the next chronological line of instruction $\ The $\texttt{JMPZ(addr)}$ similarly needs a selector to be added as an extra column to the execution trace, call it $\texttt{JMPZ}$. -Since the $\texttt{JMPZ(addr)}$ instruction is executed only on condition that $\texttt{op}$ is zero, we introduce a flag called $\mathtt{isZero}$, such that; -$\mathtt{isZero = 1}$ if $\texttt{op = 0}$, and $\mathtt{isZero = 0}$ if $\mathtt{op \not= 0}$. +Since the $\texttt{JMPZ(addr)}$ instruction is executed only on condition that $\texttt{op}$ is zero, we introduce a flag called $\mathtt{isZero}$, such that; +$\mathtt{isZero = 1}$ if $\texttt{op = 0}$, and $\mathtt{isZero = 0}$ if $\mathtt{op \not= 0}$. This means $\texttt{op}$ and $\mathtt{isZero}$ satisfy the following constraint, $$ @@ -206,7 +206,6 @@ $$ \end{aligned} $$ - ### Step 2: ": ADD" Here the sum of the registry values $\mathtt{A = 3}$ and $\mathtt{B = -3}$ is computed, and the result is moved into the registry $\mathtt{A}$. That is, $\mathtt{A' = 3 + (-3) = 0}$ and $\mathtt{setA = 1}$. Also, $\mathtt{inA = 1}$ , $\mathtt{inB = 1}$ and $\mathtt{inFREE = 0}$. @@ -265,7 +264,7 @@ The $\texttt{beforeLast()}$ function, which keeps track of the number of steps b $$ \mathtt{op\ =\ inA \cdot A\ +\ inB \cdot B\ +\ inFREE \cdot FREE\ +\ CONST\ =\ 0 \cdot A\ +\ 0 \cdot B\ +\ 1 \cdot 0\ +\ 0\ =\ 0}. $$ -Therefore $\mathtt{isZero \ := (1 − op \cdot invOp)\ = (1 − 0 \cdot \alpha) = 1}$. +Therefore $\mathtt{isZero \ := (1 − op \cdot invOp)\ = (1 − 0 \cdot \alpha) = 1}$. Hence according to $\texttt{JMPZ(finalWait)}$, a jump is executed. This means the executor must jump to the $\mathtt{offset = 5}$ address, as computed by the Assembly compiler. It follows that $\mathtt{zkPC′}$ must be $\mathtt{5}$. @@ -359,7 +358,7 @@ $$ The aim with this instruction is to complete the execution trace such that it is of the correct size (which is $\mathtt{8}$ in this example). -It ends the execution by setting $\texttt{A}$ and $\texttt{B}$ to zero, and jumps to $\mathtt{start}$, which is line $\mathtt{0}$. And thus, $\mathtt{zkPC'}$ must be $\mathtt{0}$. +It ends the execution by setting $\texttt{A}$ and $\texttt{B}$ to zero, and jumps to $\mathtt{start}$, which is line $\mathtt{0}$. And thus, $\mathtt{zkPC'}$ must be $\mathtt{0}$. Hence, $\mathtt{setA = 1}$, $\mathtt{setB = 1}$ and $\mathtt{JMP = 1}$ but $\mathtt{inFREE = 0}$, $\mathtt{inA =0}$, $\mathtt{inB =0}$ and $\mathtt{CONST = 0}$. Consequently, diff --git a/docs/zkEVM/get-started/deploy-zkevm/deploy-zknode.md b/docs/zkEVM/get-started/deploy-zkevm/deploy-zknode.md index 73940f298..4d5926a2c 100644 --- a/docs/zkEVM/get-started/deploy-zkevm/deploy-zknode.md +++ b/docs/zkEVM/get-started/deploy-zkevm/deploy-zknode.md @@ -87,6 +87,7 @@ Edit `~/zkevm/mainnet/config/environments/testnet/public.node.config.toml` with ??? "Click to expand the node.config.toml file" ```bash vim ~/zkevm/mainnet/config/environments/testnet/public.node.config.toml + ``` ```bash From 731400bb85d6394034193837d8ba86f81f5ea98e Mon Sep 17 00:00:00 2001 From: Nadim Kobeissi Date: Wed, 6 Dec 2023 11:00:16 +0100 Subject: [PATCH 3/6] Do reorg requested by Gradce --- docs/cdk/{welcome.md => get-started/index.md} | 4 ++-- .../validium-vs-rollup.md | 0 .../{component-repos.md => index.md} | 0 mkdocs.yml | 24 ++++++++++++------- 4 files changed, 17 insertions(+), 11 deletions(-) rename docs/cdk/{welcome.md => get-started/index.md} (91%) rename docs/cdk/{specification => spec}/validium-vs-rollup.md (100%) rename docs/cdk/troubleshooting/{component-repos.md => index.md} (100%) diff --git a/docs/cdk/welcome.md b/docs/cdk/get-started/index.md similarity index 91% rename from docs/cdk/welcome.md rename to docs/cdk/get-started/index.md index 0e2c2a06c..7fd835af6 100644 --- a/docs/cdk/welcome.md +++ b/docs/cdk/get-started/index.md @@ -12,9 +12,9 @@ Users select a chain architecture specific to their needs from a set of supporte The diagram below shows the two supported configuration options for data availability (DA), rollup or validium. Rollups post transaction data from the CDK directly onto Ethereum whereas validiums only post the transaction hash. -![CDK architecture choices](../img/cdk/cdk-architecture.png) +![CDK architecture choices](../../img/cdk/cdk-architecture.png) -Check out the [data availability docs](concepts/dac.md) for more information. +Check out the [data availability docs](../concepts/dac.md) for more information. !!! important The documentation describes standard deployments. You can edit the configuration files to implement your own custom set ups. diff --git a/docs/cdk/specification/validium-vs-rollup.md b/docs/cdk/spec/validium-vs-rollup.md similarity index 100% rename from docs/cdk/specification/validium-vs-rollup.md rename to docs/cdk/spec/validium-vs-rollup.md diff --git a/docs/cdk/troubleshooting/component-repos.md b/docs/cdk/troubleshooting/index.md similarity index 100% rename from docs/cdk/troubleshooting/component-repos.md rename to docs/cdk/troubleshooting/index.md diff --git a/mkdocs.yml b/mkdocs.yml index accb3c793..eb495a9aa 100644 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -51,29 +51,31 @@ theme: nav: - Home: index.md - CDK: - - cdk/index.md # marketing landing page - - Welcome: cdk/welcome.md + - Welcome: cdk/index.md # marketing landing page - Get started: + - Get started: cdk/get-started/index.md - Quickstart: - Validium: cdk/get-started/quickstart-validium.md - Rollup: cdk/get-started/quickstart-rollup.md - Deploy: - Validium: cdk/get-started/deploy-validium.md - Rollup: cdk/get-started/deploy-rollup.md - - How to: + - How to: + - How to: cdk/how-to/index.md - Manage policies - allowlists, denylists: cdk/how-to/manage-allowlists.md #- Architecture: - Specification: - - Validium vs rollup: cdk/specification/validium-vs-rollup.md + - Specification: cdk/spec/index.md + - Validium vs rollup: cdk/spec/validium-vs-rollup.md - Concepts: - Rollup: cdk/concepts/rollup.md - Validium: cdk/concepts/validium.md - Data availability: cdk/concepts/dac.md # - API: - Additional resources: - - CDK component repos: cdk/troubleshooting/component-repos.md + - Additional resources: cdk/troubleshooting/index.md - zkEVM: - - zkEVM/index.md # marketing landing page + - Welcome: zkEVM/index.md # marketing landing page - Get started: - Get started: zkEVM/get-started/index.md - Quick start: @@ -92,6 +94,7 @@ nav: - Activate forced transactions: zkEVM/get-started/deploy-zkevm/activate-forced-transactions.md - Setup a Goërli node: zkEVM/get-started/deploy-zkevm/setup-goerli-node.md - How to: + - How to: zkEVM/how-to/index.md - Write a contract: zkEVM/how-to/write-contract.md - Deploy a contract with Foundry: zkEVM/how-to/using-foundry.md - Deploy a contract with Hardhat: zkEVM/how-to/using-hardhat.md @@ -157,6 +160,7 @@ nav: - Keccak-f state machine: zkEVM/architecture/zkprover/hashing-state-machines/keccakf-sm.md - Poseidon state machine: zkEVM/architecture/zkprover/hashing-state-machines/poseidon-sm.md - Specification: + - Specification: zkEVM/spec/index.md - Polynomial Identity Language: - Polynomial Identity Language: zkEVM/spec/pil/index.md - Simple example: zkEVM/spec/pil/simple-example.md @@ -177,6 +181,7 @@ nav: - Examples: zkEVM/spec/zkasm/examples.md - EVM vs. zkEVM: zkEVM/spec/evm-differences.md - Concepts: + - Concepts: zkEVM/concepts/index.md - EVM basics: zkEVM/concepts/evm-basics.md - CIRCOM: zkEVM/concepts/circom-intro-brief.md - Sparse merkle trees: @@ -200,7 +205,7 @@ nav: - Troubleshooting: - Disclosures: zkEVM/troubleshooting/risk-disclosures.md - PoS: - - pos/index.md # marketing landing page + - Welcome: pos/index.md # marketing landing page - Get started: - Get started: pos/get-started/index.md - Building on Polygon: pos/get-started/building-on-polygon.md @@ -244,7 +249,7 @@ nav: - ThirdWeb: pos/how-to/smart-contracts/thirdweb.md - Polygon DID: pos/how-to/polygon-did.md - Architecture: - - pos/architecture/index.md + - Architecture: pos/architecture/index.md - Bor: - Bor: pos/architecture/bor/index.md - State sync: pos/architecture/bor/state-sync.md @@ -279,7 +284,8 @@ nav: - API: - pos/api/index.md - Miden: - - Overview: miden/index.md + - Welcome: miden/index.md # marketing landing page + - Get started: miden/get-started/index.md - Miden playground: https://0xpolygonmiden.github.io/examples/ - Miden zkRollup docs: https://0xpolygonmiden.github.io/miden-base/introduction.html - Miden VM docs: https://0xpolygonmiden.github.io/miden-vm/ From 87c44a591ed398c22fa6bff9b72d530be8d91b9a Mon Sep 17 00:00:00 2001 From: Nadim Kobeissi Date: Wed, 6 Dec 2023 11:07:13 +0100 Subject: [PATCH 4/6] Do reorg requested by Gradce --- .../{manage-allowlists.md => manage-policies.md} | 0 mkdocs.yml | 11 ++++++----- 2 files changed, 6 insertions(+), 5 deletions(-) rename docs/cdk/how-to/{manage-allowlists.md => manage-policies.md} (100%) diff --git a/docs/cdk/how-to/manage-allowlists.md b/docs/cdk/how-to/manage-policies.md similarity index 100% rename from docs/cdk/how-to/manage-allowlists.md rename to docs/cdk/how-to/manage-policies.md diff --git a/mkdocs.yml b/mkdocs.yml index eb495a9aa..1868d213e 100644 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -51,7 +51,7 @@ theme: nav: - Home: index.md - CDK: - - Welcome: cdk/index.md # marketing landing page + - cdk/index.md - Get started: - Get started: cdk/get-started/index.md - Quickstart: @@ -62,12 +62,13 @@ nav: - Rollup: cdk/get-started/deploy-rollup.md - How to: - How to: cdk/how-to/index.md - - Manage policies - allowlists, denylists: cdk/how-to/manage-allowlists.md + - Manage policies: cdk/how-to/manage-policies.md #- Architecture: - Specification: - Specification: cdk/spec/index.md - Validium vs rollup: cdk/spec/validium-vs-rollup.md - Concepts: + - Concepts: cdk/concepts/index.md - Rollup: cdk/concepts/rollup.md - Validium: cdk/concepts/validium.md - Data availability: cdk/concepts/dac.md @@ -75,7 +76,7 @@ nav: - Additional resources: - Additional resources: cdk/troubleshooting/index.md - zkEVM: - - Welcome: zkEVM/index.md # marketing landing page + - zkEVM/index.md # marketing landing page - Get started: - Get started: zkEVM/get-started/index.md - Quick start: @@ -205,7 +206,7 @@ nav: - Troubleshooting: - Disclosures: zkEVM/troubleshooting/risk-disclosures.md - PoS: - - Welcome: pos/index.md # marketing landing page + - pos/index.md # marketing landing page - Get started: - Get started: pos/get-started/index.md - Building on Polygon: pos/get-started/building-on-polygon.md @@ -284,7 +285,7 @@ nav: - API: - pos/api/index.md - Miden: - - Welcome: miden/index.md # marketing landing page + - miden/index.md # marketing landing page - Get started: miden/get-started/index.md - Miden playground: https://0xpolygonmiden.github.io/examples/ - Miden zkRollup docs: https://0xpolygonmiden.github.io/miden-base/introduction.html From f7bce4274a8f069481c0e00278d7b1f994da86cf Mon Sep 17 00:00:00 2001 From: Nadim Kobeissi Date: Wed, 6 Dec 2023 11:07:57 +0100 Subject: [PATCH 5/6] Do reorg requested by Gradce --- docs/cdk/concepts/index.md | 1 + docs/cdk/how-to/index.md | 1 + docs/cdk/spec/index.md | 1 + docs/miden/get-started/index.md | 1 + docs/pos/get-started/index.md | 34 +-------------------------------- docs/pos/index.md | 34 ++++++++++++++++++++++++++++++++- docs/zkEVM/concepts/index.md | 1 + docs/zkEVM/how-to/index.md | 1 + docs/zkEVM/spec/index.md | 1 + 9 files changed, 41 insertions(+), 34 deletions(-) create mode 100644 docs/cdk/concepts/index.md create mode 100644 docs/cdk/how-to/index.md create mode 100644 docs/cdk/spec/index.md create mode 100644 docs/miden/get-started/index.md create mode 100644 docs/zkEVM/concepts/index.md create mode 100644 docs/zkEVM/how-to/index.md create mode 100644 docs/zkEVM/spec/index.md diff --git a/docs/cdk/concepts/index.md b/docs/cdk/concepts/index.md new file mode 100644 index 000000000..7a5d911be --- /dev/null +++ b/docs/cdk/concepts/index.md @@ -0,0 +1 @@ +Welcome to Concepts diff --git a/docs/cdk/how-to/index.md b/docs/cdk/how-to/index.md new file mode 100644 index 000000000..1189c5bc4 --- /dev/null +++ b/docs/cdk/how-to/index.md @@ -0,0 +1 @@ +This introduction to the how to section is being written. diff --git a/docs/cdk/spec/index.md b/docs/cdk/spec/index.md new file mode 100644 index 000000000..118f5d78b --- /dev/null +++ b/docs/cdk/spec/index.md @@ -0,0 +1 @@ +This introduction to the specification section is being written. diff --git a/docs/miden/get-started/index.md b/docs/miden/get-started/index.md new file mode 100644 index 000000000..119cac6aa --- /dev/null +++ b/docs/miden/get-started/index.md @@ -0,0 +1 @@ +This documentation section is under development. diff --git a/docs/pos/get-started/index.md b/docs/pos/get-started/index.md index 37f447425..317179a01 100644 --- a/docs/pos/get-started/index.md +++ b/docs/pos/get-started/index.md @@ -1,33 +1 @@ -Polygon PoS, originally launched as Matic Network, has undergone significant transformations to address the evolving needs of blockchain scalability and security. Initially designed to scale Ethereum through a hybrid Plasma sidechain, the network is currently in the process of transitioning into a ZK-based validium solution on Ethereum. This evolution aims to offer enhanced scalability and robust security features. - -In this transformation, Polygon PoS incorporates the execution environment of Polygon zkEVM along with a dedicated data availability layer. The architecture is inherently modular and composable, enabling it to seamlessly integrate into a broader fleet of layer-two scaling solutions. Despite its place in this diverse ecosystem, Polygon PoS will retain its role as a crucial "mainnet," serving as the foundational infrastructure for a wide array of decentralized applications and services. - -## How PoS Works Today - -### Transaction Lifecycle - -The following cyclical workflow outlines the operational mechanics of today's Polygon PoS architecture: - -1. **User Initiates Transaction**: On the Polygon PoS chain, typically via a smart contract function call. -2. **Validation by Public Plasma Checkpoint Nodes**: These nodes validate the transaction against the Polygon chain's current state. -3. **Checkpoint Creation and Submission**: A checkpoint of the validated transactions is created and submitted to the core contracts on the Ethereum mainnet. -4. **Verification by Core Contracts**: Utilizing Fraud Proofs, the core contracts verify the checkpoint's validity. -5. **Transaction Execution**: Upon successful verification, the transaction is executed and state changes are committed to the Matic Sidechain. -6. **Asset Transfer (Optional)**: If needed, assets can be transferred back to the Ethereum mainnet via the Plasma Exit Queue in the core contracts. -7. **Cycle Reiteration**: The process can be initiated again by the user, returning to step 1. - -### Core Contracts on Ethereum Mainnet - -Ethereum mainnet serves as the foundational layer upon which Polygon's PoS architecture is built. Within the Ethereum ecosystem, a set of core contracts play a pivotal role in connecting the Polygon PoS chain to Ethereum. These core contracts are responsible for a range of functionalities, from anchoring the Polygon chain to handling asset transfers. - -The core contracts on the Ethereum mainnet incorporate two key features for security and functionality: Fraud Proofs and the Plasma Exit Queue. Fraud Proofs act as a security layer, enabling the validation of transactions and state changes to ensure transparency and security across operations. On the other hand, the Plasma Exit Queue manages the safe and efficient transfer of assets back to the Ethereum mainnet, allowing users to seamlessly move assets between the Polygon PoS chain and Ethereum without compromising data integrity or security. - -### Public Plasma Checkpoint Nodes - -Public Plasma Checkpoint Nodes serve as the validators in the Polygon PoS architecture. They perform two primary functions: transaction validation and checkpoint submission. When a transaction is initiated on the Polygon PoS chain, these nodes validate the transaction against the current state of the Polygon chain. After validating a set number of transactions, these nodes create a Merkle root of the transaction hashes, known as a "checkpoint," and submit it to the core contracts on the Ethereum mainnet. - -The role of these nodes is crucial as they act as a bridge between the Ethereum mainnet and the Polygon PoS chain. They ensure data integrity and security by submitting cryptographic proofs to the core contracts on Ethereum. - -### Polygon Sidechain - -The Polygon Sidechain is where the actual transaction processing takes place. Unlike the Ethereum mainnet, which can get congested and has higher transaction costs, the Sidechain offers a more scalable and cost-effective solution. The blocks in the Sidechain are validated by the Public Plasma Checkpoint Nodes and are organized in a manner that allows for high throughput and low latency. +To be written. \ No newline at end of file diff --git a/docs/pos/index.md b/docs/pos/index.md index dd9d4c6d0..37f447425 100644 --- a/docs/pos/index.md +++ b/docs/pos/index.md @@ -1 +1,33 @@ -Reserved for marketing. +Polygon PoS, originally launched as Matic Network, has undergone significant transformations to address the evolving needs of blockchain scalability and security. Initially designed to scale Ethereum through a hybrid Plasma sidechain, the network is currently in the process of transitioning into a ZK-based validium solution on Ethereum. This evolution aims to offer enhanced scalability and robust security features. + +In this transformation, Polygon PoS incorporates the execution environment of Polygon zkEVM along with a dedicated data availability layer. The architecture is inherently modular and composable, enabling it to seamlessly integrate into a broader fleet of layer-two scaling solutions. Despite its place in this diverse ecosystem, Polygon PoS will retain its role as a crucial "mainnet," serving as the foundational infrastructure for a wide array of decentralized applications and services. + +## How PoS Works Today + +### Transaction Lifecycle + +The following cyclical workflow outlines the operational mechanics of today's Polygon PoS architecture: + +1. **User Initiates Transaction**: On the Polygon PoS chain, typically via a smart contract function call. +2. **Validation by Public Plasma Checkpoint Nodes**: These nodes validate the transaction against the Polygon chain's current state. +3. **Checkpoint Creation and Submission**: A checkpoint of the validated transactions is created and submitted to the core contracts on the Ethereum mainnet. +4. **Verification by Core Contracts**: Utilizing Fraud Proofs, the core contracts verify the checkpoint's validity. +5. **Transaction Execution**: Upon successful verification, the transaction is executed and state changes are committed to the Matic Sidechain. +6. **Asset Transfer (Optional)**: If needed, assets can be transferred back to the Ethereum mainnet via the Plasma Exit Queue in the core contracts. +7. **Cycle Reiteration**: The process can be initiated again by the user, returning to step 1. + +### Core Contracts on Ethereum Mainnet + +Ethereum mainnet serves as the foundational layer upon which Polygon's PoS architecture is built. Within the Ethereum ecosystem, a set of core contracts play a pivotal role in connecting the Polygon PoS chain to Ethereum. These core contracts are responsible for a range of functionalities, from anchoring the Polygon chain to handling asset transfers. + +The core contracts on the Ethereum mainnet incorporate two key features for security and functionality: Fraud Proofs and the Plasma Exit Queue. Fraud Proofs act as a security layer, enabling the validation of transactions and state changes to ensure transparency and security across operations. On the other hand, the Plasma Exit Queue manages the safe and efficient transfer of assets back to the Ethereum mainnet, allowing users to seamlessly move assets between the Polygon PoS chain and Ethereum without compromising data integrity or security. + +### Public Plasma Checkpoint Nodes + +Public Plasma Checkpoint Nodes serve as the validators in the Polygon PoS architecture. They perform two primary functions: transaction validation and checkpoint submission. When a transaction is initiated on the Polygon PoS chain, these nodes validate the transaction against the current state of the Polygon chain. After validating a set number of transactions, these nodes create a Merkle root of the transaction hashes, known as a "checkpoint," and submit it to the core contracts on the Ethereum mainnet. + +The role of these nodes is crucial as they act as a bridge between the Ethereum mainnet and the Polygon PoS chain. They ensure data integrity and security by submitting cryptographic proofs to the core contracts on Ethereum. + +### Polygon Sidechain + +The Polygon Sidechain is where the actual transaction processing takes place. Unlike the Ethereum mainnet, which can get congested and has higher transaction costs, the Sidechain offers a more scalable and cost-effective solution. The blocks in the Sidechain are validated by the Public Plasma Checkpoint Nodes and are organized in a manner that allows for high throughput and low latency. diff --git a/docs/zkEVM/concepts/index.md b/docs/zkEVM/concepts/index.md new file mode 100644 index 000000000..06d1effdf --- /dev/null +++ b/docs/zkEVM/concepts/index.md @@ -0,0 +1 @@ +Welcome to the Concepts section. diff --git a/docs/zkEVM/how-to/index.md b/docs/zkEVM/how-to/index.md new file mode 100644 index 000000000..1189c5bc4 --- /dev/null +++ b/docs/zkEVM/how-to/index.md @@ -0,0 +1 @@ +This introduction to the how to section is being written. diff --git a/docs/zkEVM/spec/index.md b/docs/zkEVM/spec/index.md new file mode 100644 index 000000000..0eb6a3476 --- /dev/null +++ b/docs/zkEVM/spec/index.md @@ -0,0 +1 @@ +Welcome to the specifications section. From 6c62095d61804b434151bfd5c2b0c8682b1b8e48 Mon Sep 17 00:00:00 2001 From: Nadim Kobeissi Date: Wed, 6 Dec 2023 11:10:01 +0100 Subject: [PATCH 6/6] Do reorg requested by Gradce --- docs/miden/index.md | 2 +- mkdocs.yml | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/docs/miden/index.md b/docs/miden/index.md index fc4c1ec20..c3fcd6c39 100644 --- a/docs/miden/index.md +++ b/docs/miden/index.md @@ -1 +1 @@ -# Marketing html page +Marketing html page diff --git a/mkdocs.yml b/mkdocs.yml index 1868d213e..879ee02dc 100644 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -51,7 +51,7 @@ theme: nav: - Home: index.md - CDK: - - cdk/index.md + - CDK: cdk/index.md - Get started: - Get started: cdk/get-started/index.md - Quickstart: @@ -76,7 +76,7 @@ nav: - Additional resources: - Additional resources: cdk/troubleshooting/index.md - zkEVM: - - zkEVM/index.md # marketing landing page + - zkEVM: zkEVM/index.md # marketing landing page - Get started: - Get started: zkEVM/get-started/index.md - Quick start: @@ -206,7 +206,7 @@ nav: - Troubleshooting: - Disclosures: zkEVM/troubleshooting/risk-disclosures.md - PoS: - - pos/index.md # marketing landing page + - PoS: pos/index.md # marketing landing page - Get started: - Get started: pos/get-started/index.md - Building on Polygon: pos/get-started/building-on-polygon.md @@ -285,7 +285,7 @@ nav: - API: - pos/api/index.md - Miden: - - miden/index.md # marketing landing page + - Miden: miden/index.md # marketing landing page - Get started: miden/get-started/index.md - Miden playground: https://0xpolygonmiden.github.io/examples/ - Miden zkRollup docs: https://0xpolygonmiden.github.io/miden-base/introduction.html