From cae31ca988754aa24c5ca7d42cf28d914e89707a Mon Sep 17 00:00:00 2001 From: Lucas Tortora Date: Sun, 17 Nov 2024 14:59:23 -0300 Subject: [PATCH] test(devx): Removed CTF challenges till we can deploy them on testnet --- docs/content/developer/developer.mdx | 4 -- .../getting-started/getting-started.mdx | 1 - .../developer/iota-move-ctf/challenge_1.mdx | 41 ------------ .../developer/iota-move-ctf/challenge_2.mdx | 46 ------------- .../developer/iota-move-ctf/challenge_3.mdx | 48 -------------- .../developer/iota-move-ctf/challenge_4.mdx | 49 -------------- .../developer/iota-move-ctf/challenge_5.mdx | 39 ----------- .../developer/iota-move-ctf/challenge_6.mdx | 47 -------------- .../developer/iota-move-ctf/challenge_7.mdx | 38 ----------- .../developer/iota-move-ctf/challenge_8.mdx | 56 ---------------- .../developer/iota-move-ctf/introduction.mdx | 65 ------------------- docs/content/sidebars/developer.js | 18 ----- 12 files changed, 452 deletions(-) delete mode 100644 docs/content/developer/iota-move-ctf/challenge_1.mdx delete mode 100644 docs/content/developer/iota-move-ctf/challenge_2.mdx delete mode 100644 docs/content/developer/iota-move-ctf/challenge_3.mdx delete mode 100644 docs/content/developer/iota-move-ctf/challenge_4.mdx delete mode 100644 docs/content/developer/iota-move-ctf/challenge_5.mdx delete mode 100644 docs/content/developer/iota-move-ctf/challenge_6.mdx delete mode 100644 docs/content/developer/iota-move-ctf/challenge_7.mdx delete mode 100644 docs/content/developer/iota-move-ctf/challenge_8.mdx delete mode 100644 docs/content/developer/iota-move-ctf/introduction.mdx diff --git a/docs/content/developer/developer.mdx b/docs/content/developer/developer.mdx index 9fe0a348d29..849f0635b2c 100644 --- a/docs/content/developer/developer.mdx +++ b/docs/content/developer/developer.mdx @@ -40,10 +40,6 @@ The Cryptography section demonstrates how to secure your smart contracts with cr Go to [Cryptography](cryptography.mdx). -## Capture the Flag - -Get aquainted with IOTA by solving challenges of increasing complexity in the [Capture the Flag section](iota-move-ctf/introduction.mdx). - ## Advanced Topics The Advanced Topics section includes guides for advanced solutions (like asset tokenization). These topics assume you are familiar with Move and the IOTA blockchain. diff --git a/docs/content/developer/getting-started/getting-started.mdx b/docs/content/developer/getting-started/getting-started.mdx index 76a0fa944ef..98bbd76a79f 100644 --- a/docs/content/developer/getting-started/getting-started.mdx +++ b/docs/content/developer/getting-started/getting-started.mdx @@ -33,6 +33,5 @@ If you are already familiar with the basics, you can try the following sections: Move's [Object Model](../iota-101/objects/object-model.mdx). - [From Solidity/EVM to Move](../evm-to-move/evm-to-move.mdx): If you're an experienced Solidity developer, check out the key differences between developing on Move. -- Learn Move with the [IOTA Capture the Flag](../iota-move-ctf/introduction.mdx) challenges. - [Cryptography](../cryptography.mdx): Leverage multiple cryptographic algorithms to create secure and flexible smart contracts applications. \ No newline at end of file diff --git a/docs/content/developer/iota-move-ctf/challenge_1.mdx b/docs/content/developer/iota-move-ctf/challenge_1.mdx deleted file mode 100644 index a8493b5bc13..00000000000 --- a/docs/content/developer/iota-move-ctf/challenge_1.mdx +++ /dev/null @@ -1,41 +0,0 @@ - -import ChallengeVerifier from '@site/src/components/CTF/ctf-verifier'; - - - - -# Challenge 1: Checkin - -In this first challenge, your task is to interact with a basic Move contract. The contract defines a `Flag` object, which you need to retrieve by calling a specific function. - -The contract mints a new flag and transfers it to your account. Your goal is to [call the function](../getting-started/publish.mdx#accessing-your-package), capture the flag, and then submit the object ID to verify your success. - -This challenge is designed to be an easy introduction, guiding you through the process of interacting with the blockchain, calling functions, and understanding the basics of flag capture. - - -## Deployed Contract Address: -``` -Package: 0xce9b1471301ffaf1453297cca008a68ce851b6a9ba9ab241c357c346177903f3 -``` - -## Contracts -### `checkin.move` -```move file=/docs/examples/move/ctf/challenge_1/sources/checkin.move -``` - - -## Related Articles - -In this challenge, you must use the IOTA CLI to interact with the blockchain. This set of articles will help you set up your environment and call a deployed contract: - -- [Installing IOTA CLI](../getting-started/install-iota.mdx) -- [Connecting an IOTA Network](../getting-started/connect.mdx) -- [Get IOTA coins](../getting-started/get-coins.mdx) -- [Accessing Your Package](../getting-started/publish.mdx#accessing-your-package) - - -Good luck in capturing your first flag! - - - - \ No newline at end of file diff --git a/docs/content/developer/iota-move-ctf/challenge_2.mdx b/docs/content/developer/iota-move-ctf/challenge_2.mdx deleted file mode 100644 index 1c06d6d564b..00000000000 --- a/docs/content/developer/iota-move-ctf/challenge_2.mdx +++ /dev/null @@ -1,46 +0,0 @@ - -import ChallengeVerifier from '@site/src/components/CTF/ctf-verifier'; - - - - -# Challenge 2: Lucky Number - -In this challenge you are supposed to get the flag Event by passing in the right parameters to the `get_flag` function in the `luckynumber` module. If you do this correctly you should get a Flag event in return. - - - -## Deployed Contract Addresses: -``` -Package: 0xb13a3cd66c6aa2ccff512fee9d950176acf0835fbf2091fa32e789d44baabe01 -Counter: 0x88c94654907f9daabbc25e9724997bd71a16e13f55cc4580f5e7c207e3ff28f2 -``` - -## Contracts -### `luckynumber.move` -```move file=/docs/examples/move/ctf/challenge_2/sources/luckynumber.move -``` - -### `counter.move` -```move file=/docs/examples/move/ctf/challenge_2/sources/counter.move -``` - - -## Related Articles -In this stage of the CTF, you should be familiar with how to use the CLI to call a Move function and pass in the right parameters, as well as a general understanding of the Object Model: - -- [IOTA CLI reference](../../references/cli/) -- [Object Model](../iota-101/objects/object-model.mdx) - - - -:::tip -You should check how to use the CLI to call a function in a module and pass in the right parameters. `iota client call --help` might help. -::: - - -Good luck in capturing your second flag! - - - - \ No newline at end of file diff --git a/docs/content/developer/iota-move-ctf/challenge_3.mdx b/docs/content/developer/iota-move-ctf/challenge_3.mdx deleted file mode 100644 index 3186d0c6319..00000000000 --- a/docs/content/developer/iota-move-ctf/challenge_3.mdx +++ /dev/null @@ -1,48 +0,0 @@ - -import ChallengeVerifier from '@site/src/components/CTF/ctf-verifier'; - - - - -# Challenge 3: MintCoin Mechanics - -In this challenge, you'll dive into the mechanics of "MintCoin," a [coin](../standards/coin.mdx) that allows anyone to mint new tokens using a "Proof of Move" process. However, minting alone will not be enough to get the flag—you'll need to go a step further. - -Your goal is to understand how the system works and figure out the extra steps needed to successfully retrieve the flag. - - -## Deployed Contract Addresses: -``` -CoinMetadata<0xf84628ac335e59ce6e305835cc09c0b9983d7b1695ab28e96cf875b49923e4ed::mintcoin::MINTCOIN>: 0x1bd5dfa2e5f1d3a3825403d92b8199ce3f69a5e70a785f28d698715b54d78321 -Counter: 0xe7877309899ef0618ea0e269327f79e3bdf38ff2860fd01f5d278b46ea8cd630 -TreasuryCap<0xf84628ac335e59ce6e305835cc09c0b9983d7b1695ab28e96cf875b49923e4ed::mintcoin::MINTCOIN>: 0xf3cb314954f0823961fdfe93ba9403314b4c53bb654f73ba37fe3c8400831e23 -Package: 0xf84628ac335e59ce6e305835cc09c0b9983d7b1695ab28e96cf875b49923e4ed -``` - -## Contracts - -#### `mint.move` -```move file=/docs/examples/move/ctf/challenge_3/sources/mint.move -``` - -#### `counter.move` -```move file=/docs/examples/move/ctf/challenge_3/sources/counter.move -``` - - -## Related Articles -This challenge's main contract is written using the Coin Standard. Having been familiar with the [Object Model](../iota-101/objects/object-model.mdx) from the last challenge, you should now be able to understand the Coin Standard and how it works. - -- [Coin Standard](../standards/coin.mdx) - - - -:::tip -Your starting point should be the function `get_flag` in the `mint` module to understand the steps required to capture the flag. To successfully complete the challenge, make sure to follow the contract's logic and requirements. -::: - -Good luck in capturing your third flag! - - - - \ No newline at end of file diff --git a/docs/content/developer/iota-move-ctf/challenge_4.mdx b/docs/content/developer/iota-move-ctf/challenge_4.mdx deleted file mode 100644 index 20a4656ed6a..00000000000 --- a/docs/content/developer/iota-move-ctf/challenge_4.mdx +++ /dev/null @@ -1,49 +0,0 @@ - -import ChallengeVerifier from '@site/src/components/CTF/ctf-verifier'; - - - - -# Challenge 4: Airdrop - -Your mission is to participate in the "Horse Token" airdrop and capture the elusive flag. You'll need to mint some Horse Tokens and claim your share through the airdrop mechanism. But simply collecting tokens won’t be enough—securing the flag requires a bit more effort. - -Use your command line expertise to interact with the system, track your progress, and perform key actions efficiently. Pay close attention to the airdrop logic, as understanding how the token distribution works will be crucial to successfully capturing the flag. - -## Deployed Contract Addresses: -``` -CoinMetadata<0x913ddcf84345bc087530e0b5d8b183780ecf902ea6cfa64b62d3f8a349ebafd9::airdrop::AIRDROP>: 0x163ef67f9631eea22ef33e58aab3e0d5c243184335e943047c28cb0a30985cf0 -Vault: 0x4ae07fd00773080f9af2e43c2464667536d661ba0001a670e3971efbb01446e2 -Package: 0x913ddcf84345bc087530e0b5d8b183780ecf902ea6cfa64b62d3f8a349ebafd9 -TreasuryCap<0x913ddcf84345bc087530e0b5d8b183780ecf902ea6cfa64b62d3f8a349ebafd9::airdrop::AIRDROP>: 0xa9b65a0be78472f053298980a4fae935d12571731bfd7be3b9d41183a7f100ff -Counter: 0xc96bfaf42e3b8b1f2e5dbf469dc5f7846c911dbbb76966475cfd06cf3893b080 -``` - -## Contracts - -### `airdrop.move` -```move file=/docs/examples/move/ctf/challenge_4/sources/airdrop.move -``` - -### `counter.move` -```move file=/docs/examples/move/ctf/challenge_4/sources/counter.move -``` - -## Related Articles -Challenges 1-3 have introduced you to the basics of interacting with Move contracts, the Object Model, and the Coin Standard. In this challenge, you'll need to apply your knowledge to a more complex scenario involving an airdrop mechanism. -This challnege can be solved with IOTA PTBs, which will also help you in further challenges. - -- [Coin Standard](../standards/coin.mdx) -- [Object Model](../iota-101/objects/object-model.mdx) -- [Programmable Transaction Blocks](../iota-101/transactions/ptb/programmable-transaction-blocks-overview.mdx) - - - -Good luck in capturing your fourth flag! - - -:::tip -Under `Deployed Contract Addresses`, you can find the addresses of the package as well as the `Vault`. Carefully check what the constraints are for the `get_flag` function to work, as it has some assertions that need to be met. -::: - - \ No newline at end of file diff --git a/docs/content/developer/iota-move-ctf/challenge_5.mdx b/docs/content/developer/iota-move-ctf/challenge_5.mdx deleted file mode 100644 index c8ba92196c2..00000000000 --- a/docs/content/developer/iota-move-ctf/challenge_5.mdx +++ /dev/null @@ -1,39 +0,0 @@ - -import ChallengeVerifier from '@site/src/components/CTF/ctf-verifier'; - - - - -# Challenge 5: Perfect Pizza - -When in Italy, pizza is a way of life. Crafted from simple ingredients with an artful touch, only the perfect combination will gain the approval of the pizzaiolo (master pizza maker). Choose your ingredients wisely—anything less than perfection and your creation won’t pass the test. - -In this challenge, you'll need to carefully assemble your pizza using the correct ingredients. The pizzaiolo will judge your creation, and only a perfect pizza will earn you the flag. Attention to detail is key—get it right, or it's back to the kitchen! - -## Deployed Contract Address: -``` -Package: 0x84c3037c252e1b9142087a19c2bd776ee86316775484eb78e9f97618d877a577 -``` - -## Contracts - -### `pizza.move` -```move file=/docs/examples/move/ctf/challenge_5/sources/pizza.move -``` - -:::tip -The pizzaiolo uses [bcs::to_bytes](../../references/framework/iota-framework/bcs.mdx#function-to_bytes) to make sure the ingredients are in order. Make sure you understand how to use this function to pass the test. -::: - - -## Related Articles -Now that your are familiar with the basics of Move, this challenge will introduce a function from the iota-framework which you should be familiar with. -After taking a look at the challenge's usage of [bcs::to_bytes](../../references/framework/iota-framework/bcs.mdx#function-to_bytes), we recommend you to take a look at the IOTA Framework documentation to understand how to use it in further challenges. - -- [IOTA Framework](../../references/framework/iota-framework/) - - -Good luck in capturing your fifth flag! - - - \ No newline at end of file diff --git a/docs/content/developer/iota-move-ctf/challenge_6.mdx b/docs/content/developer/iota-move-ctf/challenge_6.mdx deleted file mode 100644 index 05587dd8ca2..00000000000 --- a/docs/content/developer/iota-move-ctf/challenge_6.mdx +++ /dev/null @@ -1,47 +0,0 @@ - -import ChallengeVerifier from '@site/src/components/CTF/ctf-verifier'; - - - - -# Challenge 6: Go Recycle! - -The City of Venice is tired of all the trash ending up in the canals, especially pizza boxes still filled with a certain type of pizza which are just dumped everywhere are ruining the experience. They decided to start a recycling program rewarding people who do their part with a Venetian Flag; Go grab one! - -For this challenge you might want to investigate the [Transfer to object](../iota-101/objects/transfers/transfer-to-object.mdx) functionality; Pizzaboxes from previous challenges can not be used in this one. - -## Deployed Contract Addresses: -``` -PizzaBoxRecycler: 0x16ddd3ae8cc4fe71f1acdc52838412a645eac93f1176450d05a77642f1816f34 -Package: 0xcbe251b41a23a3952e64036f01367df82f1ccf3498cb139ff3ef44712441abc9 -``` - -## Contracts - -### recycle.move -```move file=/docs/examples/move/ctf/challenge_6/sources/recycle.move -``` - -### pizza.move -```move file=/docs/examples/move/ctf/challenge_6/sources/pizza.move -``` - - -## Related Articles - -The previous challenges covered the basics of the Object Model and how to interact with the blockchain. This challenge's main theme is object transfers, which will be crucial to capturing the flag. -We recommend you to check the following articles: - -- [Object Transfers](../iota-101/objects/transfers/) -- [Transfer to object](../iota-101/objects/transfers/transfer-to-object.mdx) -- [Custom Transfer Rules](../iota-101/objects/transfers/custom-rules.mdx) - - - -Good luck in capturing your sixth flag! - -:::tip -Make sure you recycle enough pizza boxes! -::: - - \ No newline at end of file diff --git a/docs/content/developer/iota-move-ctf/challenge_7.mdx b/docs/content/developer/iota-move-ctf/challenge_7.mdx deleted file mode 100644 index 586a34c327f..00000000000 --- a/docs/content/developer/iota-move-ctf/challenge_7.mdx +++ /dev/null @@ -1,38 +0,0 @@ - -import ChallengeVerifier from '@site/src/components/CTF/ctf-verifier'; - - - - -# Challenge 7: PTBs - -In response to the recent pizza challenge, the city of Venice has implemented a smart contract to efficiently manage ingredients and prevent hoarding. Participants are invited to utilize these perishable ingredients, which must be used immediately to create dough. - -Your objective is to gather the necessary ingredients—flour, water, yeast, and salt—and craft the dough required to capture the flag. This challenge can be solved using the Move CLI and the [`iota client ptb` command.](../../references/cli/ptb.mdx) - -## Deployed Contract Addresses: -``` -Package: 0x202d65a2b1d2de4ba90e9eeb51ef4e16fafdaaa5c8b1dc3cbd8a935e5eb4d25c -``` - -## Contracts - -### `ptb.move` -```move file=/docs/examples/move/ctf/challenge_7/sources/ptb.move -``` - - -## Related Articles - -This challenge will introduce you to the PTB standard and how to use the Move CLI to interact with it. You should be familiar with the PTB standard and how to use the Move CLI to call the `ptb` function. - -- [PTB Standard](../iota-101/transactions/ptb/programmable-transaction-blocks-overview.mdx) -- [IOTA CLI reference](../../references/cli/ptb.mdx) - - - -Good luck in capturing your seventh flag! - - - - \ No newline at end of file diff --git a/docs/content/developer/iota-move-ctf/challenge_8.mdx b/docs/content/developer/iota-move-ctf/challenge_8.mdx deleted file mode 100644 index 86e3ddfded1..00000000000 --- a/docs/content/developer/iota-move-ctf/challenge_8.mdx +++ /dev/null @@ -1,56 +0,0 @@ - -import ChallengeVerifier from '@site/src/components/CTF/ctf-verifier'; - - - - -# Challenge 8: Flash! - -In this challenge, you will explore a decentralized exchange (DEX) with a critical flaw you can exploit to capture the flag. This exchange operates with two tokens—CTFA and CTFB—and features a vault that allows users to take flash loans. Your objective is to manipulate the token balances effectively to obtain the flag by using the vulnerabilities in the DEX's flash loan mechanism. -To solve this challenge, you will have to have a deep understanding of [programmable transaction blocks (PTBs)](../iota-101/transactions/ptb/programmable-transaction-blocks-overview.mdx) and how to build them using the [TS SDK](../iota-101/transactions/ptb/building-programmable-transaction-blocks-ts-sdk.mdx) or the [CLI](../../references/cli/ptb.mdx). - -## Deployed Contract Addresses: -``` -MintA<0x828a5da05496e86075fab366b2b66ec3ba0a3bfbed68ce56140d589d94da9b33::ctfa::CTFA>: 0x66e8dd865238a68f50db8be7177ee662b754133f409c35c36975f9d6e6f7f6e4 -MintB<0x828a5da05496e86075fab366b2b66ec3ba0a3bfbed68ce56140d589d94da9b33::ctfb::CTFB>: 0x7c4f0f9d2e62bb0c440e5d281fbac69997dc14e1586cfedcea49f547a54eca1b -Package: 0x828a5da05496e86075fab366b2b66ec3ba0a3bfbed68ce56140d589d94da9b33 -CoinMetadata<0x828a5da05496e86075fab366b2b66ec3ba0a3bfbed68ce56140d589d94da9b33::ctfa::CTFA>: 0x8f9c961398fcbfff8b9b1f14e1d6731bcfa2480f7c4f26fbb76496498bcc684e -CoinMetadata<0x828a5da05496e86075fab366b2b66ec3ba0a3bfbed68ce56140d589d94da9b33::ctfb::CTFB>: 0xca909dd26da43ac1d0992ebe796e0714d9382e0e4ec35640a1ac9845b3bb087d -``` - -## Contracts - -### `firstcoin.move` -```move file=/docs/examples/move/ctf/challenge_8/sources/firstcoin.move -``` - -### `secondcoin.move` -```move file=/docs/examples/move/ctf/challenge_8/sources/secondcoin.move -``` - -### `vault.move` -```move file=/docs/examples/move/ctf/challenge_8/sources/vault.move -``` - -Good luck in capturing your eighth flag! - - -## Related Articles -This challenge will test your understanding of the Object Model, the Coin Standard, and PTBs. You will need to use your knowledge of these concepts to exploit the DEX's flash loan mechanism and capture the flag. - -- [Coin Standard](../standards/coin.mdx) -- [Object Model](../iota-101/objects/object-model.mdx) -- [Programmable Transaction Blocks](../iota-101/transactions/ptb/programmable-transaction-blocks-overview.mdx) -- [IOTA CLI reference](../../references/cli/ptb.mdx) -- [IOTA TS SDK reference](../iota-101/transactions/ptb/building-programmable-transaction-blocks-ts-sdk.mdx) - - - -:::tip -The DEX programmer pulled an all-nighter before writing the flash loan mechanism, making a critical mistake. -::: - - - - - \ No newline at end of file diff --git a/docs/content/developer/iota-move-ctf/introduction.mdx b/docs/content/developer/iota-move-ctf/introduction.mdx deleted file mode 100644 index 1b33e9f4639..00000000000 --- a/docs/content/developer/iota-move-ctf/introduction.mdx +++ /dev/null @@ -1,65 +0,0 @@ -# Move on IOTA Capture The Flag (CTF) - -The **Move on IOTA Capture The Flag (CTF)** is a unique learning experience designed to help developers master the Move programming language by solving a series of challenges. These challenges simulate real-world scenarios that require participants to find and exploit vulnerabilities, optimize contract logic, and interact with IOTA’s Testnet. Whether you're new to Move or experienced with smart contract development, this CTF is an excellent way to sharpen your skills. - -This CTF features **eight challenges**, each built on Move, a language optimized for safety and scalability in decentralized applications. Throughout the event, participants are encouraged to explore Move’s features, including its resource-based design and transaction scripting model, in a competitive environment. However, bear in mind that the provided demonstration contracts may intentionally include distractions, poor design, and obscure naming conventions to increase difficulty. - -## What to Expect - -- **Varied Difficulty:** The challenges are structured progressively. The lower-numbered challenges are easier, while the difficulty increases as you proceed. -- **No Contract Modification:** Participants are prohibited from modifying the provided contracts; the goal is to interact with them via Move scripts, client libraries, or command-line tools. -- **Explore Move in Depth:** As you tackle these challenges, you'll get hands-on experience with Move’s key features, such as resource management, transaction scripts, and smart contract modules. Each challenge is designed to push you to think critically and apply Move concepts effectively. - - -## Capturing Flags - -Upon successfully completing a challenge, you will receive a "flag," which is a Move object generated as proof of completion. To validate your progress, there will be a submission window where you can enter the ID of the flag object. The system will verify whether the submitted flag is correct or not. Only valid flags will be counted toward your overall score in the CTF. - -## Setup - -The CTF contract are already deployed on the IOTA Testnet. To get started, you need to install the IOTA CLI tool and connect to the Testnet. If you haven't done so already, follow these steps: - -1. [Install the IOTA CLI Tool](../getting-started/install-iota.mdx) -2. [Connect to an IOTA Network](../getting-started/connect.mdx) -3. [Create and Address](../getting-started/get-address.mdx) -4. [Fund Your Address](../getting-started/get-coins.mdx) -5. Get the flags! - - - -## Challenge Addresses - -| Challenge | Entity | Address | -|-------------|------------------------------------------------------------------|----------------------------------------------------------------| -| challenge_1 | Package | `0xce9b1471301ffaf1453297cca008a68ce851b6a9ba9ab241c357c346177903f3` | -| challenge_2 | Counter | `0x88c94654907f9daabbc25e9724997bd71a16e13f55cc4580f5e7c207e3ff28f2` | -| | Package | `0xb13a3cd66c6aa2ccff512fee9d950176acf0835fbf2091fa32e789d44baabe01` | -| challenge_3 | `CoinMetadata<0xf84628ac335e59ce6e305835cc09c0b9983d7b1695ab28e96cf875b49923e4ed::mintcoin::MINTCOIN>` | `0x1bd5dfa2e5f1d3a3825403d92b8199ce3f69a5e70a785f28d698715b54d78321` | -| | Counter | `0xe7877309899ef0618ea0e269327f79e3bdf38ff2860fd01f5d278b46ea8cd630` | -| | `TreasuryCap<0xf84628ac335e59ce6e305835cc09c0b9983d7b1695ab28e96cf875b49923e4ed::mintcoin::MINTCOIN>` | `0xf3cb314954f0823961fdfe93ba9403314b4c53bb654f73ba37fe3c8400831e23` | -| | Package | `0xf84628ac335e59ce6e305835cc09c0b9983d7b1695ab28e96cf875b49923e4ed` | -| challenge_4 | `CoinMetadata<0x913ddcf84345bc087530e0b5d8b183780ecf902ea6cfa64b62d3f8a349ebafd9::airdrop::AIRDROP>` | `0x163ef67f9631eea22ef33e58aab3e0d5c243184335e943047c28cb0a30985cf0` | -| | Vault | `0x4ae07fd00773080f9af2e43c2464667536d661ba0001a670e3971efbb01446e2` | -| | Package | `0x913ddcf84345bc087530e0b5d8b183780ecf902ea6cfa64b62d3f8a349ebafd9` | -| | `TreasuryCap<0x913ddcf84345bc087530e0b5d8b183780ecf902ea6cfa64b62d3f8a349ebafd9::airdrop::AIRDROP>` | `0xa9b65a0be78472f053298980a4fae935d12571731bfd7be3b9d41183a7f100ff` | -| | Counter | `0xc96bfaf42e3b8b1f2e5dbf469dc5f7846c911dbbb76966475cfd06cf3893b080` | -| challenge_5 | Package | `0x84c3037c252e1b9142087a19c2bd776ee86316775484eb78e9f97618d877a577` | -| challenge_6 | PizzaBoxRecycler | `0x16ddd3ae8cc4fe71f1acdc52838412a645eac93f1176450d05a77642f1816f34` | -| | Package | `0xcbe251b41a23a3952e64036f01367df82f1ccf3498cb139ff3ef44712441abc9` | -| challenge_7 | Package | `0x202d65a2b1d2de4ba90e9eeb51ef4e16fafdaaa5c8b1dc3cbd8a935e5eb4d25c` | -| challenge_8 | `MintA<0x828a5da05496e86075fab366b2b66ec3ba0a3bfbed68ce56140d589d94da9b33::ctfa::CTFA>` | `0x66e8dd865238a68f50db8be7177ee662b754133f409c35c36975f9d6e6f7f6e4` | -| | `MintB<0x828a5da05496e86075fab366b2b66ec3ba0a3bfbed68ce56140d589d94da9b33::ctfb::CTFB>` | `0x7c4f0f9d2e62bb0c440e5d281fbac69997dc14e1586cfedcea49f547a54eca1b` | -| | Package | `0x828a5da05496e86075fab366b2b66ec3ba0a3bfbed68ce56140d589d94da9b33` | -| | `CoinMetadata<0x828a5da05496e86075fab366b2b66ec3ba0a3bfbed68ce56140d589d94da9b33::ctfa::CTFA>` | `0x8f9c961398fcbfff8b9b1f14e1d6731bcfa2480f7c4f26fbb76496498bcc684e` | -| | `CoinMetadata<0x828a5da05496e86075fab366b2b66ec3ba0a3bfbed68ce56140d589d94da9b33::ctfb::CTFB>` | `0xca909dd26da43ac1d0992ebe796e0714d9382e0e4ec35640a1ac9845b3bb087d` | - -``` --------------------------------------------------------------------------------- -Package ID for Verifier: 0xdf6b7e52065dc5d4ae29fe212763226ba4e12eae81944d2ae6cf507296a767b1 -CTFCap Object ID: 0xc9ee0b68715c3eb8130e25c2bddd67552e5787cc4271f2a75955aab4b0927b99 -Shared Challenges Object ID: 0x44cabb21a9f66f8ce02c3c4881595bf439c2740c41341c7d257ee41e6238a4a0 --------------------------------------------------------------------------------- -``` - - - diff --git a/docs/content/sidebars/developer.js b/docs/content/sidebars/developer.js index 476f9e4e2e3..f508a1fd808 100644 --- a/docs/content/sidebars/developer.js +++ b/docs/content/sidebars/developer.js @@ -288,24 +288,6 @@ const developer = [ 'developer/standards/wallet-standard', ], }, - { - type: 'category', - label: 'Capture The Flag', - link: { - type: 'doc', - id: 'developer/iota-move-ctf/introduction', - }, - items: [ - 'developer/iota-move-ctf/challenge_1', - 'developer/iota-move-ctf/challenge_2', - 'developer/iota-move-ctf/challenge_3', - 'developer/iota-move-ctf/challenge_4', - 'developer/iota-move-ctf/challenge_5', - 'developer/iota-move-ctf/challenge_6', - 'developer/iota-move-ctf/challenge_7', - 'developer/iota-move-ctf/challenge_8', - ], - }, { type: 'category', label: 'From Solidity/EVM to Move',