diff --git a/src/components/interchain-token-intro.astro b/src/components/interchain-token-intro.astro new file mode 100644 index 000000000..0a9137b52 --- /dev/null +++ b/src/components/interchain-token-intro.astro @@ -0,0 +1,171 @@ +--- +import Section from "../layouts/Section.astro"; +import { Callout } from "./callout"; + +const title = "Interchain Tokens and the Interchain Token Service"; + +const cards = [ + { + title: "Create a new Interchain Token", + description: + "Register and create new Interchain Token(s) using the Interchain Token Portal, or create custom Interchain Tokens.", + url: "/dev/send-tokens/interchain-tokens/quick-start/no-code/", + }, + { + title: "Programmatically create a new Interchain Token", + description: "Create new Interchain Tokens using code.", + url: "/dev/send-tokens/interchain-tokens/quick-start/programmatic/", + }, + { + title: "Make an existing ERC-20 token an Interchain Token", + description: + "Upgrade existing tokens to canonical tokens, or link tokens deployed on multiple chains into Interchain Tokens.", + url: "/dev/send-tokens/interchain-tokens/quick-start/programmatic/#integrate-an-existing-custom-token-with-its", + }, + { + title: "Check out the Interchain Portal", + description: + "Create your own Interchain Token with one click on the Interchain Portal.", + url: "http://interchain.axelar.dev/", + }, +]; +--- + + + + The Token Whitelisting for Squid Router form is now live! Download + the axelar-configs repo, install dependencies, and `npm run wizard` on the command line to + access the interactive form through the wizard. + + +

{title}

+ + Web3 has gone cross-chain, with assets bridging between blockchains and + developers deploying applications on multiple chains. However, connecting tokens + that are deployed on multiple chains has always been a cumbersome process. + +
+
+ + Interchain Tokens go beyond legacy bridges. The Interchain Token Service (ITS) allows ERC-20 tokens to be available on multiple blockchains. It preserves native + token qualities while allowing you to easily manage token features and token supply. + Interchain Tokens run on open-source code via smart contracts on a public blockchain + secured by a dynamic validator set. With ITS, you can have multiple blockchains + with canonical versions of your token that all share a single EVM address. + +
+
+ + You can either create new Interchain Tokens from scratch or update tokens that + already exist on a supported blockchain. + + + +

Key ITS Contract addresses

+ Interchain Token Service: 0xB5FB4BE02232B1bBA4dC8f81dc24C26980dE9e3C +
+ Interchain Token Factory: 0x83a93500d23Fbc3e82B410aD07A6a9F7A0670D66 + + + + + +
+ { + cards.map((card) => ( + +
+ {card.title} +
+
{card.description}
+ + Get Started{" "} + + + + +
+ )) + } +
+

ITS Overview

+

The main functionalities of ITS can be broken down in the diagrams below. These are the ability to connect tokens across multiple blockchains and transfer connected tokens between multiple blockchains. Note: ITS is designed to be a flexible permisionless process, meaning that the way tokens are connected between the chains can vary for different usecases (see token managers for more info).

+

Deploy Interchain Token

+

ITS allows you to deploy Interchain Tokens. An Interchain Token is an ERC20 that is connected to ITS upon deployment. It comes built in with the interchainTransfer() function, which allows users to bridge their token between any blockchain which it is deployed to. To deploy this token you can go through the Interchain Token Factory contract. When you trigger the registerCanonicalInterchainToken() function that will trigger the flow of registering your custom token with a Lock/Unlock token manager type to your token's home chain. Now that you have registered your token on the home chain you can call the deployRemoteCanonicalInterchainToken(). This will deploy an Interchain Token on a different blockchain that will be connected to your canonical token on the home chain you registered when you called the previous function. Note: This is just one of many different flows you can choose to follow when interacting with ITS.

+ This diagram is interactive click on the function names! + + Your browser does not support SVG + +

Interchain Transfer

+

Once your token is connected to ITS you can call the interchaintTransfer() function to send a cross chain transaction for your token. If your token inherits the Interchain Token Standard then you will have this function built into the token. The interchainTransfer() will trigger a flow that will interact with ITS to either lock or burn your token on the source chain (depending on the Token Manager type) and then mint your token on the destination chain.

+ This diagram is interactive click on the function names! + + Your browser does not support SVG + + + **NOTE:** The security of your token is limited to the security of the chains + it integrates with. Since blockchains can have different security practices, + we recommend doing due diligence on all chains your token will be deployed to. + + + diff --git a/src/content/docs/dev/send-tokens/interchain-tokens/intro.mdx b/src/content/docs/dev/send-tokens/interchain-tokens/intro.mdx new file mode 100644 index 000000000..05f4cbe06 --- /dev/null +++ b/src/content/docs/dev/send-tokens/interchain-tokens/intro.mdx @@ -0,0 +1,5 @@ + +import InterchainTokenIntro from "../../../../../components/interchain-token-intro.astro"; + + + \ No newline at end of file diff --git a/src/content/docs/resources/mainnet/upgrades/v1.0.mdx b/src/content/docs/resources/mainnet/upgrades/v1.mdx similarity index 100% rename from src/content/docs/resources/mainnet/upgrades/v1.0.mdx rename to src/content/docs/resources/mainnet/upgrades/v1.mdx diff --git a/src/content/docs/resources/testnet/upgrades/v1.0.mdx b/src/content/docs/resources/testnet/upgrades/v1.mdx similarity index 100% rename from src/content/docs/resources/testnet/upgrades/v1.0.mdx rename to src/content/docs/resources/testnet/upgrades/v1.mdx diff --git a/src/layouts/navigation.ts b/src/layouts/navigation.ts index 3865cc057..c6d0e78f0 100644 --- a/src/layouts/navigation.ts +++ b/src/layouts/navigation.ts @@ -567,7 +567,7 @@ export const getNavigation = (section) => { children: [ { title: "v1.0", - href: "/resources/mainnet/upgrades/v10/", + href: "/resources/mainnet/upgrades/v1/", }, { title: "v0.35", @@ -632,7 +632,7 @@ export const getNavigation = (section) => { children: [ { title: "v1.0", - href: "/resources/testnet/upgrades/v10/", + href: "/resources/testnet/upgrades/v1/", }, { title: "v0.35", diff --git a/src/content/docs/reducers/chain-id.js b/src/pages/reducers/chain-id.js similarity index 100% rename from src/content/docs/reducers/chain-id.js rename to src/pages/reducers/chain-id.js diff --git a/src/content/docs/reducers/environment.js b/src/pages/reducers/environment.js similarity index 100% rename from src/content/docs/reducers/environment.js rename to src/pages/reducers/environment.js diff --git a/src/content/docs/reducers/index.js b/src/pages/reducers/index.js similarity index 100% rename from src/content/docs/reducers/index.js rename to src/pages/reducers/index.js diff --git a/src/content/docs/reducers/spending-time.js b/src/pages/reducers/spending-time.js similarity index 100% rename from src/content/docs/reducers/spending-time.js rename to src/pages/reducers/spending-time.js diff --git a/src/content/docs/reducers/types.js b/src/pages/reducers/types.js similarity index 100% rename from src/content/docs/reducers/types.js rename to src/pages/reducers/types.js