diff --git a/components/DeveloperSurveyCallout/DeveloperSurveyCallout.tsx b/components/DeveloperSurveyCallout/DeveloperSurveyCallout.tsx
new file mode 100644
index 00000000..5a31cdfb
--- /dev/null
+++ b/components/DeveloperSurveyCallout/DeveloperSurveyCallout.tsx
@@ -0,0 +1,25 @@
+import { Callout } from 'nextra-theme-docs';
+
+function DeveloperSurveyCallout() {
+ return (
+
+
+
+ Help Us Improve!
+
+
+ We're conducting a short survey (less than 5 minutes) to gather your feedback and improve your development experience on Sei.{' '}
+
+ Take the Survey Now
+
+
+
+
+ );
+}
+
+export default DeveloperSurveyCallout;
diff --git a/components/DeveloperSurveyCallout/index.ts b/components/DeveloperSurveyCallout/index.ts
new file mode 100644
index 00000000..104e2469
--- /dev/null
+++ b/components/DeveloperSurveyCallout/index.ts
@@ -0,0 +1 @@
+export { default as DeveloperSurveyCallout } from './DeveloperSurveyCallout';
diff --git a/components/HelpCallout/HelpCallout.tsx b/components/HelpCallout/HelpCallout.tsx
deleted file mode 100644
index b9f1b2d0..00000000
--- a/components/HelpCallout/HelpCallout.tsx
+++ /dev/null
@@ -1,25 +0,0 @@
-import { Callout } from "nextra-theme-docs";
-
-function HelpCallout() {
- return (
-
-
-
- If you encounter a bug while using the devnet, please submit it via
- the form{" "}
-
- here
-
- .
-
-
-
- );
-}
-
-export default HelpCallout;
diff --git a/components/HelpCallout/index.ts b/components/HelpCallout/index.ts
deleted file mode 100644
index 473a4f29..00000000
--- a/components/HelpCallout/index.ts
+++ /dev/null
@@ -1 +0,0 @@
-export { default as HelpCallout } from "./HelpCallout";
diff --git a/components/index.ts b/components/index.ts
index f0afef02..674df11d 100644
--- a/components/index.ts
+++ b/components/index.ts
@@ -1,15 +1,15 @@
-export * from "./AppCard";
+export * from './AppCard';
export * from './APIEndpoint';
export * from './APIEndpointRoute';
export * from './APIModule';
export * from './APIModulePaths';
+export * from './DeveloperSurveyCallout';
export * from './EcosystemApps';
export * from './EcosystemCard';
export * from './EvmWalletConnect';
-export * from './HelpCallout';
export * from './BrandKitGallery';
export * from './ImageWithCaption';
export * from './Logo';
export * from './Nfts';
export * from './VersionFetcher';
-export * from "./EcosystemMap";
+export * from './EcosystemMap';
diff --git a/pages/dev-advanced-concepts/_meta.json b/pages/dev-advanced-concepts/_meta.json
index 3300673e..8ba6b5f8 100644
--- a/pages/dev-advanced-concepts/_meta.json
+++ b/pages/dev-advanced-concepts/_meta.json
@@ -7,6 +7,5 @@
"hd-path-coin-types": "HD Path & Coin Types",
"proposals": "Proposals",
"ibc-relayer": "IBC Relayer",
- "evm-rpc-endpoints": "EVM RPC Endpoints",
"differences-with-ethereum": "Differences from Ethereum"
}
diff --git a/pages/dev-advanced-concepts/account-structure.mdx b/pages/dev-advanced-concepts/account-structure.mdx
index f94f39ab..e09d4ef7 100644
--- a/pages/dev-advanced-concepts/account-structure.mdx
+++ b/pages/dev-advanced-concepts/account-structure.mdx
@@ -10,7 +10,7 @@ Both EVM derived (0x) and Sei bech32 derived addresses on Sei are derived from t
**Manual Association**:
-- If the chain does not yet have the public key, users can manually associate their accounts using the `sei_associate` function. This is a gasless function that requires at least 1 wei in their account to execute. More details can be found in the [EVM RPC Endpoints documentation](./evm-rpc-endpoints).
+- If the chain does not yet have the public key, users can manually associate their accounts using the `sei_associate` function. This is a gasless function that requires at least 1 wei in their account to execute. More details can be found in the [EVM RPC Endpoints documentation](../endpoints/evm.mdx#sei_associate).
### Key Points
diff --git a/pages/dev-intro.mdx b/pages/dev-intro.mdx
index 0d637999..79fbfa29 100644
--- a/pages/dev-intro.mdx
+++ b/pages/dev-intro.mdx
@@ -1,8 +1,11 @@
+import { DeveloperSurveyCallout } from '../components';
+
+
+
# Developers Introduction
Sei is a high-performance, low-fee, delegated proof-of-stake blockchain designed for developers. It supports optimistic parallel execution of both EVM and CosmWasm, opening up entirely new design possibilities. With unique optimizations like twin turbo consensus and SeiDB, Sei ensures consistent 400ms block times and a transaction throughput thatโs orders of magnitude higher than Ethereum. This means faster, more cost-effective operations. Plus, Seiโs seamless interoperability between EVM and CosmWasm VM's gives EVM developers native access to the entire Cosmos ecosystem, including IBC tokens, multi-sig accounts, fee grants, and more.
-
## Features
- **Parallel Execution**: The ability to process multiple transactions and smart contracts concurrently, significantly boosting performance for both the EVM and CosmWasm VM's.
@@ -15,6 +18,7 @@ Sei is a high-performance, low-fee, delegated proof-of-stake blockchain designed
Sei provides two main ways to enable interoperability between the EVM and CosmWasm. Pointer contracts and precompile contracts form the foundation for this interoperability.
### Pointer Contracts
+
Pointer contracts allow EVM contracts to interact with CosmWasm contracts and vice versa. Pointer contracts can be deployed on both the EVM and CosmWasm sides, acting as proxies that relay messages between the two VMs. Sei supports full interoperability of Sei native and CosmWasm tokens with the EVM and EVM RPC via pointer contacts, enabling EVM dApps access to many new tokens including:
- **Fungible**: ERC20 to CW20 tokens
@@ -31,6 +35,3 @@ Pointer contracts allow EVM contracts to interact with CosmWasm contracts and vi
- **Staking**: For delegating and managing delegations for both validators and delegators.
- **Governance**: For stakers and validators to participate in [governance](/general-governance) processes.
- **And More**
-
-
-
diff --git a/pages/dev-tutorials/nft-contract-tutorial.mdx b/pages/dev-tutorials/nft-contract-tutorial.mdx
index fcd8a2e3..05502244 100644
--- a/pages/dev-tutorials/nft-contract-tutorial.mdx
+++ b/pages/dev-tutorials/nft-contract-tutorial.mdx
@@ -1,5 +1,5 @@
-import { Callout, Tabs } from "nextra/components";
-import { HelpCallout, Nfts } from "../../components";
+import { Callout, Tabs } from 'nextra/components';
+import { Nfts } from '../../components';
# NFT Contract Tutorial
@@ -24,10 +24,7 @@ Before we start, ensure you have:
- A basic understanding of Solidity and smart contract development.
- A wallet with SEI tokens on devnet
-
- You can obtain devnet tokens from one of the faucets listed
- [here](../dev-ecosystem-providers/faucets).
-
+You can obtain devnet tokens from one of the faucets listed [here](../dev-ecosystem-providers/faucets).
## Setting Up Your Project
@@ -129,10 +126,7 @@ forge remappings > remappings.txt
- `--private-key`: flag to specify the private key of the account that will deploy the contract.
The private key of your account on the Sei devnet is used in this case.
-
- Make sure to have SEI in your account to cover the gas fees for contract
- deployment.
-
+Make sure to have SEI in your account to cover the gas fees for contract deployment.
## Interacting With Your NFT
@@ -163,10 +157,7 @@ seid tx evm register-cw-pointer ERC721 $ERC721_TOKEN_ADDRESS --from $ACCOUNT --c
Executing this command creates an CW721 NFT contract and outputs the contract address. This NFT contract is linked to the ERC721 NFT contract, meaning any activities involving CW721 NFTs will also reflect on the state of the ERC721 NFTs and vice versa.
-
- Learn more about EVM interoperability and pointer contracts
- [here](../dev-advanced-concepts/interoperability/introduction.mdx).
-
+Learn more about EVM interoperability and pointer contracts [here](../dev-advanced-concepts/interoperability/introduction.mdx).
@@ -183,10 +174,7 @@ Before starting, ensure you have:
- **Understanding of CosmWasm**: Familiarize yourself with CosmWasm smart contracts. Start with the [CosmWasm Book](https://book.cosmwasm.com/).
- **Docker**: Required for using the CosmWasm Rust Optimizer tool. Install from [Docker's official website](https://docs.docker.com/engine/install/).
-
- You can obtain devnet tokens from one of the faucets listed
- [here](../dev-ecosystem-providers/faucets).
-
+You can obtain devnet tokens from one of the faucets listed [here](../dev-ecosystem-providers/faucets).
## Setting Up Your Environment
@@ -225,11 +213,9 @@ cargo wasm
This compiles a Wasm binary for uploading to Sei.
-
- Note: The generated Wasm file will be located in the root directory of the
- `cw-nfts` repository, not in the `cw721-base` subdirectory. Make sure to
- navigate to the root directory to see your compiled `.wasm` file in
- `target/wasm32-unknown-unknown/`.
+
+ Note: The generated Wasm file will be located in the root directory of the `cw-nfts` repository, not in the `cw721-base` subdirectory. Make sure to navigate to
+ the root directory to see your compiled `.wasm` file in `target/wasm32-unknown-unknown/`.
Before we can upload the contract to the chain, we have to use the [CosmWasm Rust Optimizer](https://github.com/CosmWasm/rust-optimizer) to reduce the contract size. While not required, this is highly recommended for live contracts.
@@ -243,13 +229,10 @@ docker run --rm -v "$(pwd)":/code \
This will generate an optimized Wasm contract in `/artifacts`.
-
- If you're using a Mac M1 machine, you might need to use the Arm 64-bit
- optimizer. However, it's important to note that the native Arm version
- generates wasm artifacts that differ from those produced by the Intel version.
- For production environments, we strongly recommend building contracts with the
- Intel optimizers to ensure reliability. Learn more
- [here](https://github.com/CosmWasm/rust-optimizer).
+
+ If you're using a Mac M1 machine, you might need to use the Arm 64-bit optimizer. However, it's important to note that the native Arm version generates wasm
+ artifacts that differ from those produced by the Intel version. For production environments, we strongly recommend building contracts with the Intel optimizers to
+ ensure reliability. Learn more [here](https://github.com/CosmWasm/rust-optimizer).
## Deploy the Contract
@@ -262,9 +245,7 @@ seid tx wasm store artifacts/cw721_base.wasm --from=$ACCOUNT --chain-id=arctic-1
Replace `$ACCOUNT` with your account name or address. This command stores the contract on the chain and outputs a code ID.
-
- For detailed descriptions of these arguments, use `seid help` in the CLI.
-
+For detailed descriptions of these arguments, use `seid help` in the CLI.
Instantiate your contract using the code ID:
@@ -302,10 +283,7 @@ seid tx evm deploy-erccw721 $CW721_TOKEN_ADDRESS $NAME $SYMBOL --from=$SENDER --
Executing this command creates an ERC721 NFT contract and outputs the contract address. This NFT contract is linked to the CW721 NFT contract, meaning any activities involving CW721 NFTs will also reflect on the state of the ERC721 NFTs and vice versa.
-
- Learn more about EVM interoperability and pointer contracts
- [here](./pointer-contracts.mdx).
-
+Learn more about EVM interoperability and pointer contracts [here](./pointer-contracts.mdx).
@@ -313,5 +291,3 @@ Executing this command creates an ERC721 NFT contract and outputs the contract a
## Conclusion
๐ Congratulations! You've successfully created and deployed an NFT contract on Sei.
-
-
diff --git a/pages/dev-tutorials/tokenfactory-tutorial.mdx b/pages/dev-tutorials/tokenfactory-tutorial.mdx
index 409b4b38..bf3c1c16 100644
--- a/pages/dev-tutorials/tokenfactory-tutorial.mdx
+++ b/pages/dev-tutorials/tokenfactory-tutorial.mdx
@@ -1,5 +1,4 @@
-import { Callout } from "nextra/components";
-import { HelpCallout } from "../../components";
+import { Callout } from 'nextra/components';
# Token Factory Tutorial
@@ -14,10 +13,7 @@ To create a token on the devnet, ensure you have the following setup:
- The `seid` CLI
- A wallet with SEI tokens on devnet
-
- You can obtain devnet tokens from one of the faucets listed
- [here](../dev-ecosystem-providers/faucets).
-
+You can obtain devnet tokens from one of the faucets listed [here](../dev-ecosystem-providers/faucets).
## Creating a Denom
@@ -52,43 +48,39 @@ When executing commands in this tutorial, you'll encounter several arguments. He
Understanding these arguments will help you execute the commands more confidently and customize them as needed for different scenarios.
-
- For detailed descriptions of these arguments, use `seid help` in the CLI.
-
+For detailed descriptions of these arguments, use `seid help` in the CLI.
## Updating Token Metadata
When creating a token, it is important to specify details regarding the denom amounts and aliases so your token can be correctly parsed on wallets and explorers.
### 1. Create Token Metadata file
+
Create a token metadata `json` file. The file below is an example metadata file for the Sei token.
+
```json
{
- "name": "sei",
- "description": "The native token of Sei.",
- "symbol": "SEI",
- "denom_units": [
- {
- "denom": "usei",
- "exponent": 0,
- "aliases": [
- "microsei"
- ],
- },
- {
- "denom": "msei",
- "exponent": 3,
- "aliases": [
- "millisei"
- ]
- },
- {
- "denom": "sei",
- "exponent": 6,
- }
- ],
- "base": "usei",
- "display": "sei",
+ "name": "sei",
+ "description": "The native token of Sei.",
+ "symbol": "SEI",
+ "denom_units": [
+ {
+ "denom": "usei",
+ "exponent": 0,
+ "aliases": ["microsei"]
+ },
+ {
+ "denom": "msei",
+ "exponent": 3,
+ "aliases": ["millisei"]
+ },
+ {
+ "denom": "sei",
+ "exponent": 6
+ }
+ ],
+ "base": "usei",
+ "display": "sei"
}
```
@@ -96,6 +88,7 @@ The `base` field denotes the smallest denom that this token can be represented i
Note that if you intend to create a [pointer contract](#create-pointer-contract), the `denom_units` with the largest exponent will be used as the display denom. (`sei` in this case).
### 2. Set token metadata using seid
+
```sh
seid tx tokenfactory set-denom-metadata $METADATA_FILE --fees 20000usei -b block -y --from $ADDR
```
@@ -165,20 +158,12 @@ Executing this command creates an ERC20 token and outputs the contract address.
Note that if you wish to specify denoms on your ERC20 tokens, you will need to [set the token metadata](#updating-token-metadata) for the base tokenfactory token. The denom with the largest exponent will be used.
-
- Learn more about EVM interoperability and pointer contracts
- [here](../interoperability/overview.mdx).
-
+Learn more about EVM interoperability and pointer contracts [here](../interoperability/overview.mdx).
## Next Steps
๐ Congrats on completing the Token Factory tutorial! You've learned how to create, mint, and burn tokens on Sei using the `tokenfactory` module.
-
- Smart contracts can also create TokenFactory denoms and act as token admins,
- allowing for more complex and automated token management strategies.
-
+Smart contracts can also create TokenFactory denoms and act as token admins, allowing for more complex and automated token management strategies.
For more advanced features and detailed insights, please refer to the [Token Factory module documentation](https://github.com/sei-protocol/sei-chain/tree/main/x/tokenfactory).
-
-
diff --git a/pages/general-submit-feedback.mdx b/pages/general-submit-feedback.mdx
index f406908f..6ad324d5 100644
--- a/pages/general-submit-feedback.mdx
+++ b/pages/general-submit-feedback.mdx
@@ -2,7 +2,7 @@
We welcome and encourage the community to provide feedback to help improve the chain. If you encounter a bug or have any feedback, please use the following forms:
+- For general feedback, please submit it [here](https://forms.gle/fQVdSChdVkEKfDN87).
- For bug reports, submit via the form [here](https://forms.gle/Jn2uMNeM7zEnxAL46).
-- For general feedback, please submit it [here](https://sei-forms.typeform.com/to/sprtIu4T).
Your feedback is invaluable in helping us improve the ecosystem. Thank you for your contributions!
diff --git a/pages/index.mdx b/pages/index.mdx
index abd2559b..43c251cb 100644
--- a/pages/index.mdx
+++ b/pages/index.mdx
@@ -1,16 +1,15 @@
-import { Cards, Card } from "nextra/components";
-import { GanttChartSquare, Wallet, Wrench } from "lucide-react";
+import { Cards, Card } from 'nextra/components';
+import { GanttChartSquare, Wallet, Wrench } from 'lucide-react';
+import { DeveloperSurveyCallout } from '../components';
+
+
# Introducing Sei
Sei is the first parallelized EVM. This allows Sei to get the best of Solana and Ethereum - a hyper optimized execution layer that benefits from the tooling and mindshare around the EVM.
- } />
- } />
- }
- />
+ } />
+ } />
+ } />
diff --git a/yarn.lock b/yarn.lock
index 841ec4e3..31b0e85e 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -1003,7 +1003,7 @@
dependencies:
regenerator-runtime "^0.14.0"
-"@babel/runtime@^7.12.5", "@babel/runtime@^7.17.2", "@babel/runtime@^7.23.4", "@babel/runtime@^7.23.8", "@babel/runtime@^7.24.1":
+"@babel/runtime@^7.12.5", "@babel/runtime@^7.17.2", "@babel/runtime@^7.23.4", "@babel/runtime@^7.23.8":
version "7.24.5"
resolved "https://registry.npmjs.org/@babel/runtime/-/runtime-7.24.5.tgz"
integrity sha512-Nms86NXrsaeU9vbBJKni6gXiEXZ4CVpYVzEjDH9Sb8vmZ3UljyA1GSOJl/6LGPO8EHLuSF9H+IxNXHPX8QHJ4g==
@@ -9531,12 +9531,10 @@ tabbable@^6.0.0:
resolved "https://registry.yarnpkg.com/tabbable/-/tabbable-6.2.0.tgz#732fb62bc0175cfcec257330be187dcfba1f3b97"
integrity sha512-Cat63mxsVJlzYvN51JmVXIgNoUokrIaT2zLclCXjRd8boZ0004U4KCs/sToJ75C6sdlByWxpYnb5Boif1VSFew==
-tailwind-merge@^2.3.0:
- version "2.3.0"
- resolved "https://registry.npmjs.org/tailwind-merge/-/tailwind-merge-2.3.0.tgz#27d2134fd00a1f77eca22bcaafdd67055917d286"
- integrity sha512-vkYrLpIP+lgR0tQCG6AP7zZXCTLc1Lnv/CCRT3BqJ9CZ3ui2++GPaGb1x/ILsINIMSYqqvrpqjUFsMNLlW99EA==
- dependencies:
- "@babel/runtime" "^7.24.1"
+tailwind-merge@^2.2.1:
+ version "2.4.0"
+ resolved "https://registry.yarnpkg.com/tailwind-merge/-/tailwind-merge-2.4.0.tgz#1345209dc1f484f15159c9180610130587703042"
+ integrity sha512-49AwoOQNKdqKPd9CViyH5wJoSKsCDjUlzL8DxuGp3P1FsGY36NJDAa18jLZcaHAUUuTj+JB8IAo8zWgBNvBF7A==
tailwindcss@^3.4.1:
version "3.4.3"