Skip to content

Commit 0c4a687

Browse files
Toolbox embeds in MDX (#2178)
1 parent cfd53f6 commit 0c4a687

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

44 files changed

+1404
-212
lines changed
+184
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,184 @@
1+
---
2+
title: Toolbox Embeds example
3+
---
4+
import ToolboxMdxWrapper from "../../../toolbox/src/demo/ui/ToolboxMdxWrapper"
5+
6+
7+
## Wallet
8+
### Get P-Chain Address
9+
10+
import GetPChainAddress from "../../../toolbox/src/demo/examples/Wallet/GetPChainAddress.tsx"
11+
12+
<ToolboxMdxWrapper>
13+
<GetPChainAddress />
14+
</ToolboxMdxWrapper>
15+
16+
### Switch Chain
17+
18+
import SwitchChain from "../../../toolbox/src/demo/examples/Wallet/SwitchChain.tsx"
19+
20+
<ToolboxMdxWrapper>
21+
<SwitchChain />
22+
</ToolboxMdxWrapper>
23+
24+
## L1
25+
26+
### Create Subnet
27+
28+
import CreateSubnet from "../../../toolbox/src/demo/examples/L1/CreateSubnet.tsx"
29+
30+
<ToolboxMdxWrapper>
31+
<CreateSubnet />
32+
</ToolboxMdxWrapper>
33+
34+
### Create Chain
35+
36+
import CreateChain from "../../../toolbox/src/demo/examples/L1/CreateChain.tsx"
37+
38+
<ToolboxMdxWrapper>
39+
<CreateChain />
40+
</ToolboxMdxWrapper>
41+
42+
### Convert to L1
43+
44+
import ConvertToL1 from "../../../toolbox/src/demo/examples/L1/ConvertToL1.tsx"
45+
46+
<ToolboxMdxWrapper>
47+
<ConvertToL1 />
48+
</ToolboxMdxWrapper>
49+
50+
### Collect Conversion Signatures
51+
52+
import CollectConversionSignatures from "../../../toolbox/src/demo/examples/L1/CollectConversionSignatures.tsx"
53+
54+
<ToolboxMdxWrapper>
55+
<CollectConversionSignatures />
56+
</ToolboxMdxWrapper>
57+
58+
### Genesis Builder
59+
60+
import GenesisBuilder from "../../../toolbox/src/demo/examples/L1/GenesisBuilder.tsx"
61+
62+
<ToolboxMdxWrapper>
63+
<GenesisBuilder />
64+
</ToolboxMdxWrapper>
65+
66+
## Deploy ValidatorManager
67+
68+
### Validator Messages Library
69+
70+
import DeployValidatorMessages from "../../../toolbox/src/demo/examples/ValidatorManager/DeployValidatorMessages.tsx"
71+
72+
<ToolboxMdxWrapper>
73+
<DeployValidatorMessages />
74+
</ToolboxMdxWrapper>
75+
76+
### Deploy Validator Manager
77+
78+
import DeployValidatorManager from "../../../toolbox/src/demo/examples/ValidatorManager/DeployValidatorManager.tsx"
79+
80+
<ToolboxMdxWrapper>
81+
<DeployValidatorManager />
82+
</ToolboxMdxWrapper>
83+
84+
### Read Contract
85+
86+
import ReadContract from "../../../toolbox/src/demo/examples/ValidatorManager/ReadContract.tsx"
87+
88+
<ToolboxMdxWrapper>
89+
<ReadContract />
90+
</ToolboxMdxWrapper>
91+
92+
### Upgrade Proxy
93+
94+
import UpgradeProxy from "../../../toolbox/src/demo/examples/ValidatorManager/UpgradeProxy.tsx"
95+
96+
<ToolboxMdxWrapper>
97+
<UpgradeProxy />
98+
</ToolboxMdxWrapper>
99+
100+
## Initialize ValidatorManager
101+
102+
### Initialize
103+
104+
import Initialize from "../../../toolbox/src/demo/examples/InitializePoA/Initialize.tsx"
105+
106+
<ToolboxMdxWrapper>
107+
<Initialize />
108+
</ToolboxMdxWrapper>
109+
110+
### Initialize Validator Set
111+
112+
import InitValidatorSet from "../../../toolbox/src/demo/examples/InitializePoA/InitValidatorSet.tsx"
113+
114+
<ToolboxMdxWrapper>
115+
<InitValidatorSet />
116+
</ToolboxMdxWrapper>
117+
118+
## Nodes
119+
120+
### RPC Methods Check
121+
122+
import RPCMethodsCheck from "../../../toolbox/src/demo/examples/Nodes/RPCMethodsCheck.tsx"
123+
124+
<ToolboxMdxWrapper>
125+
<RPCMethodsCheck />
126+
</ToolboxMdxWrapper>
127+
128+
### Avalanchego in Docker
129+
130+
import AvalanchegoDocker from "../../../toolbox/src/demo/examples/Nodes/AvalanchegoDocker.tsx"
131+
132+
<ToolboxMdxWrapper>
133+
<AvalanchegoDocker />
134+
</ToolboxMdxWrapper>
135+
136+
### Performance Monitor
137+
138+
import PerformanceMonitor from "../../../toolbox/src/demo/examples/Nodes/PerformanceMonitor.tsx"
139+
140+
<ToolboxMdxWrapper>
141+
<PerformanceMonitor />
142+
</ToolboxMdxWrapper>
143+
144+
## ICM
145+
146+
### Teleporter Messenger
147+
148+
import TeleporterMessenger from "../../../toolbox/src/demo/examples/ICM/TeleporterMessenger.tsx"
149+
150+
<ToolboxMdxWrapper>
151+
<TeleporterMessenger />
152+
</ToolboxMdxWrapper>
153+
154+
### Teleporter Registry
155+
156+
import TeleporterRegistry from "../../../toolbox/src/demo/examples/ICM/TeleporterRegistry.tsx"
157+
158+
<ToolboxMdxWrapper>
159+
<TeleporterRegistry />
160+
</ToolboxMdxWrapper>
161+
162+
### ICM Relayer
163+
164+
import ICMRelayer from "../../../toolbox/src/demo/examples/ICM/ICMRelayer.tsx"
165+
166+
<ToolboxMdxWrapper>
167+
<ICMRelayer />
168+
</ToolboxMdxWrapper>
169+
170+
### ReceiverOnSubnet
171+
172+
import ReceiverOnSubnet from "../../../toolbox/src/demo/examples/ICM/ReceiverOnSubnet.tsx"
173+
174+
<ToolboxMdxWrapper>
175+
<ReceiverOnSubnet />
176+
</ToolboxMdxWrapper>
177+
178+
### Send ICM Message
179+
180+
import SendICMMessage from "../../../toolbox/src/demo/examples/ICM/SendICMMessage.tsx"
181+
182+
<ToolboxMdxWrapper>
183+
<SendICMMessage />
184+
</ToolboxMdxWrapper>
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
#!/bin/bash
2+
set -exu -o pipefail
3+
4+
SCRIPT_DIR=$(dirname "$0")
5+
# Convert to absolute path
6+
SCRIPT_DIR=$(cd "$SCRIPT_DIR" && pwd)
7+
8+
sudo rm -rf $SCRIPT_DIR/compiled
9+
mkdir -p "$SCRIPT_DIR/compiled"
10+
11+
# Initialize Foundry project and compile contracts
12+
docker run --rm \
13+
--user root \
14+
-v "$SCRIPT_DIR/contracts:/app/contracts" \
15+
-v "$SCRIPT_DIR/compiled:/compiled" \
16+
ghcr.io/foundry-rs/foundry:stable \
17+
"cd /app && forge build && cp /app/out/*.sol/*.json /compiled/"

toolbox/contracts/example-contracts/compiled/ITeleporterMessenger.json

+1
Large diffs are not rendered by default.
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
{"abi":[{"type":"function","name":"receiveTeleporterMessage","inputs":[{"name":"sourceBlockchainID","type":"bytes32","internalType":"bytes32"},{"name":"originSenderAddress","type":"address","internalType":"address"},{"name":"message","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"}],"bytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"methodIdentifiers":{"receiveTeleporterMessage(bytes32,address,bytes)":"c868efaa"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.25+commit.b61c2a91\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"sourceBlockchainID\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"originSenderAddress\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"message\",\"type\":\"bytes\"}],\"name\":\"receiveTeleporterMessage\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"custom:security-contact\":\"https://github.com/ava-labs/icm-contracts/blob/main/SECURITY.md\",\"details\":\"Interface that cross-chain applications must implement to receive messages from Teleporter.\",\"kind\":\"dev\",\"methods\":{\"receiveTeleporterMessage(bytes32,address,bytes)\":{\"details\":\"Called by TeleporterMessenger on the receiving chain.\",\"params\":{\"message\":\"is the TeleporterMessage payload set by the sender.\",\"originSenderAddress\":\"is provided by the TeleporterMessenger contract.\",\"sourceBlockchainID\":\"is provided by the TeleporterMessenger contract.\"}}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/ITeleporterReceiver.sol\":\"ITeleporterReceiver\"},\"evmVersion\":\"cancun\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"contracts/ITeleporterReceiver.sol\":{\"keccak256\":\"0xa5f9d229c4757c345f99f079e745f81e5790cf76a65de070757a5c57daf59631\",\"license\":\"Ecosystem\",\"urls\":[\"bzz-raw://eaaa029a1d39c2bf5dee065f063811f0cf76db4b0f95bd380db10f1b4a02150a\",\"dweb:/ipfs/QmSLDHMdY4xCaDtWGJchuAXuTZRzYdXREihwQmsSZopHez\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.25+commit.b61c2a91"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"bytes32","name":"sourceBlockchainID","type":"bytes32"},{"internalType":"address","name":"originSenderAddress","type":"address"},{"internalType":"bytes","name":"message","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"receiveTeleporterMessage"}],"devdoc":{"kind":"dev","methods":{"receiveTeleporterMessage(bytes32,address,bytes)":{"details":"Called by TeleporterMessenger on the receiving chain.","params":{"message":"is the TeleporterMessage payload set by the sender.","originSenderAddress":"is provided by the TeleporterMessenger contract.","sourceBlockchainID":"is provided by the TeleporterMessenger contract."}}},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":[],"optimizer":{"enabled":false,"runs":200},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"contracts/ITeleporterReceiver.sol":"ITeleporterReceiver"},"evmVersion":"cancun","libraries":{}},"sources":{"contracts/ITeleporterReceiver.sol":{"keccak256":"0xa5f9d229c4757c345f99f079e745f81e5790cf76a65de070757a5c57daf59631","urls":["bzz-raw://eaaa029a1d39c2bf5dee065f063811f0cf76db4b0f95bd380db10f1b4a02150a","dweb:/ipfs/QmSLDHMdY4xCaDtWGJchuAXuTZRzYdXREihwQmsSZopHez"],"license":"Ecosystem"}},"version":1},"id":1}

toolbox/contracts/example-contracts/compiled/ReceiverOnSubnet.json

+1
Large diffs are not rendered by default.

toolbox/contracts/example-contracts/compiled/SenderOnCChain.json

+1
Large diffs are not rendered by default.

0 commit comments

Comments
 (0)