Skip to content

Commit c2d7cc5

Browse files
committed
feat: add 1/4 and 2/4 of checkpoint question sets
1 parent 310cdae commit c2d7cc5

File tree

11 files changed

+174
-12
lines changed

11 files changed

+174
-12
lines changed

src/pages/lessons/projects/6.mdx

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -307,11 +307,11 @@ rm test/*
307307
buttonText="Checkpoint Questions"
308308
title="Foundations of our contract with Foundry"
309309
>
310-
{/* <Question question="lesson-6/2-foundry/Q1" />
310+
<Question question="lesson-6/2-foundry/Q1" />
311311
<Question question="lesson-6/2-foundry/Q2" />
312312
<Question question="lesson-6/2-foundry/Q3" />
313313
<Question question="lesson-6/2-foundry/Q4" />
314-
<Question question="lesson-6/2-foundry/Q5" /> */}
314+
<Question question="lesson-6/2-foundry/Q5" />
315315
</SideDrawer>
316316

317317

@@ -455,11 +455,11 @@ We have now created doors to our house, but we haven't put locks in them!
455455
buttonText="Checkpoint Questions"
456456
title="Laying out the basics of the contract"
457457
>
458-
{/* <Question question="lesson-6/3-create-contract/Q1" />
458+
<Question question="lesson-6/3-create-contract/Q1" />
459459
<Question question="lesson-6/3-create-contract/Q2" />
460460
<Question question="lesson-6/3-create-contract/Q3" />
461461
<Question question="lesson-6/3-create-contract/Q4" />
462-
<Question question="lesson-6/3-create-contract/Q5" /> */}
462+
<Question question="lesson-6/3-create-contract/Q5" />
463463
</SideDrawer>
464464

465465

@@ -621,16 +621,16 @@ to ask our community for help by explaining your error, the console output and
621621
your configuration (OS, version, Foundry and Solidity version, etc.)
622622

623623

624-
<SideDrawer
624+
{/* <SideDrawer
625625
buttonText="Checkpoint Questions"
626626
title="Defining permissions for use of our contract"
627627
>
628-
{/* <Question question="lesson-6/4-define-roles/Q1" />
628+
<Question question="lesson-6/4-define-roles/Q1" />
629629
<Question question="lesson-6/4-define-roles/Q2" />
630630
<Question question="lesson-6/4-define-roles/Q3" />
631631
<Question question="lesson-6/4-define-roles/Q4" />
632-
<Question question="lesson-6/4-define-roles/Q5" /> */}
633-
</SideDrawer>
632+
<Question question="lesson-6/4-define-roles/Q5" />
633+
</SideDrawer> */}
634634

635635
### Register your house in the Real Estate Register
636636

@@ -802,16 +802,16 @@ the tool tells us the address of the deployed contract:
802802
`0xec870005029ED5595F146f6AAAe699b442065b72`.
803803

804804

805-
<SideDrawer
805+
{/* <SideDrawer
806806
buttonText="Checkpoint Questions"
807807
title="Deploying with Foundry"
808808
>
809-
{/* <Question question="lesson-6/5-deployment/Q1" />
809+
<Question question="lesson-6/5-deployment/Q1" />
810810
<Question question="lesson-6/5-deployment/Q2" />
811811
<Question question="lesson-6/5-deployment/Q3" />
812812
<Question question="lesson-6/5-deployment/Q4" />
813-
<Question question="lesson-6/5-deployment/Q5" /> */}
814-
</SideDrawer>
813+
<Question question="lesson-6/5-deployment/Q5" />
814+
</SideDrawer> */}
815815

816816
## Querying the Block Explorer
817817

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
{
2+
"question": "Which method is used to retrieve the name of an ERC-20 token?",
3+
"options": [
4+
{
5+
"answer": "`getTokenType()`"
6+
},
7+
{
8+
"answer": "`tokenName()`"
9+
},
10+
{
11+
"answer": "`nameOfToken()`"
12+
},
13+
{
14+
"answer": "`name()`",
15+
"correct": true
16+
}
17+
]
18+
}
Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
{
2+
"question": "What does the `forgeup` tool install on our system?",
3+
"options": [
4+
{
5+
"answer": "An Ethereum client for Foundry"
6+
},
7+
{
8+
"answer": "The sword of Solidity"
9+
},
10+
{
11+
"answer": "Windows sub-system for Linux"
12+
},
13+
{
14+
"answer": "Foundry toolkit",
15+
"correct": true
16+
}
17+
]
18+
}
Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
{
2+
"question": "What is the `lib` folder for in our Foundry project?",
3+
"options": [
4+
{
5+
"answer": "Storing project scripts that we’ll run later"
6+
},
7+
{
8+
"answer": "Creating a portal to the Coding Realm"
9+
},
10+
{
11+
"answer": "Managing project dependencies using Git Submodules",
12+
"correct": true
13+
},
14+
{
15+
"answer": "Writing tests for our smart contract"
16+
}
17+
]
18+
}
Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
{
2+
"question": "How can you create a project named `my_token` using Foundry?",
3+
"options": [
4+
{
5+
"answer": "`foundry create my_token`"
6+
},
7+
{
8+
"answer": "`forge init my_token`",
9+
"correct": true
10+
},
11+
{
12+
"answer": "Write `my_token` in Solidity runes"
13+
},
14+
{
15+
"answer": "`forge create my_token`"
16+
}
17+
]
18+
}
Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
{
2+
"question": "Why is the OpenZeppelin library installed as a dependency in the tutorial project?",
3+
"options": [
4+
{
5+
"answer": "Foundry requires it for contract deployment"
6+
},
7+
{
8+
"answer": "To increase project file size"
9+
},
10+
{
11+
"answer": "To use OpenZeppelin's ERC-20 implementation",
12+
"correct": true
13+
}
14+
]
15+
}
Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
{
2+
"question": "Why is it necessary to provide the token's name and symbol in the constructor of an ERC-20 contract?",
3+
"options": [
4+
{
5+
"answer": "To personalize the token with emojis"
6+
},
7+
{
8+
"answer": "To prevent the contract from deploying successfully"
9+
},
10+
{
11+
"answer": "To fulfill the ERC-20 standard and avoid errors",
12+
"correct": true
13+
}
14+
]
15+
}
Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
{
2+
"question": "It is mandatory to allocate an initial amount of tokens on deployment in the constructor.",
3+
"options": [
4+
{
5+
"answer": "True"
6+
},
7+
{
8+
"answer": "False",
9+
"correct": true
10+
}
11+
]
12+
}
Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
{
2+
"question": "When implementing a `burn()` function in our ERC-20 contract, why is `msg.sender` used as the address?",
3+
"options": [
4+
{
5+
"answer": "To determine the recipient of burned tokens"
6+
},
7+
{
8+
"answer": "To restrict burning to the contract deployer only"
9+
},
10+
{
11+
"answer": "To allow any address to burn tokens"
12+
},
13+
{
14+
"answer": "To identify the sender of the burn transaction",
15+
"correct": true
16+
}
17+
]
18+
}
Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
{
2+
"question": "Which ‘visibility’ are we defining our `mint()` and `burn()` functions with? ",
3+
"options": [
4+
{
5+
"answer": "`private`"
6+
},
7+
{
8+
"answer": "`internal`"
9+
},
10+
{
11+
"answer": "`public`",
12+
"correct": true
13+
}
14+
]
15+
}

0 commit comments

Comments
 (0)