Skip to content

Ilariae/clean ntt #466

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 6 commits into
base: main
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from 3 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
@@ -1,7 +1,3 @@
Before proceeding, make sure you have the NTT CLI installed and a project initialized.

Follow these steps (or see the [Get Started guide](/docs/products/native-token-transfers/get-started/#install-ntt-cli){target=\_blank}):

1. Install the NTT CLI:

```bash
Expand Down
110 changes: 64 additions & 46 deletions llms-files/llms-ntt.txt
Original file line number Diff line number Diff line change
Expand Up @@ -705,6 +705,56 @@ categories: NTT, Transfer

This guide walks you through deploying NTT on EVM chains, including setting up dependencies, configuring token compatibility, and using the NTT CLI to deploy in hub-and-spoke or burn-and-mint mode.

## Prerequisites

Before you begin, ensure you have the following:

- You've completed the [Get Started with NTT](/docs/products/native-token-transfers/get-started/){target=\_blank} guide
- You have an existing ERC-20 token deployed to the EVM chains you plan to use

!!! note "Don't have a token yet?"

Before proceeding, make sure you have the NTT CLI installed and a project initialized.
Follow the below steps or see the [Get Started guide](/docs/products/native-token-transfers/get-started/#install-ntt-cli){target=\_blank}:

???- interface "Install the NTT CLI and Scaffold a New Project"

1. Install the NTT CLI:

```bash
curl -fsSL https://raw.githubusercontent.com/wormhole-foundation/native-token-transfers/main/cli/install.sh | bash
```

Verify installation:

```bash
ntt --version
```

2. Initialize a new NTT project:

```bash
ntt new my-ntt-project
cd my-ntt-project
```

3. Create the deployment config**:

=== "Mainnet"

```bash
ntt init Mainnet
```

=== "Testnet"

```bash
ntt init Testnet
```

This generates a `deployment.json` file where your deployment settings will be stored.


## Deploy Your Token and Ensure Compatibility

If you still need to do so, deploy the token contract to the destination or spoke chains.
Expand Down Expand Up @@ -795,56 +845,28 @@ This table compares the configuration parameters available when deploying the NT

## Deploy NTT

Before deploying NTT contracts on EVM chains, you need to scaffold a project and initialize your deployment configuration.

???- interface "Install the NTT CLI and Scaffold a New Project"

Before proceeding, make sure you have the NTT CLI installed and a project initialized.
Once you have the NTT CLI installed and a project initialized, proceed with adding your EVM chains and deploying contracts.

Follow these steps (or see the [Get Started guide](/docs/products/native-token-transfers/get-started/#install-ntt-cli){target=\_blank}):
Ensure your wallet is set up using Foundry's encrypted keystore.

1. Install the NTT CLI:
!!! info "Use Foundry's Encrypted Keystore"

```bash
curl -fsSL https://raw.githubusercontent.com/wormhole-foundation/native-token-transfers/main/cli/install.sh | bash
```

Verify installation:

```bash
ntt --version
```

2. Initialize a new NTT project:

```bash
ntt new my-ntt-project
cd my-ntt-project
```

3. Create the deployment config**:

=== "Mainnet"
Instead of setting your private key as a raw environment variable, use Foundry's keystore:

1. Generate a new encrypted key:
```bash
ntt init Mainnet
cast wallet new
```

=== "Testnet"

2. Or import an existing private key:
```bash
ntt init Testnet
cast wallet import
```

This generates a `deployment.json` file where your deployment settings will be stored.

Once you've completed those steps, return here to proceed with adding your EVM chains and deploying contracts.

Ensure you have set up your environment correctly:

```bash
export ETH_PRIVATE_KEY=INSERT_PRIVATE_KEY
```
3. You’ll be prompted to set a password. Use this keystore file when interacting with contracts:
```bash
cast send --keystore /path/to/keystore.json --password <(echo "YOUR_PASSWORD") ...
```

Add each chain you'll be deploying to. The following example demonstrates configuring NTT in burn-and-mint mode on Ethereum Sepolia and Arbitrum Sepolia:

Expand Down Expand Up @@ -906,7 +928,7 @@ The final step in the deployment process is to set the NTT Manager as a minter o

- If you followed the [`INttToken`](https://github.com/wormhole-foundation/native-token-transfers/blob/main/evm/src/interfaces/INttToken.sol){target=\_blank} interface, you can execute the `setMinter(address newMinter)` function
```json
cast send $TOKEN_ADDRESS "setMinter(address)" $NTT_MANAGER_ADDRESS --private-key $ETH_PRIVATE_KEY --rpc-url $YOUR_RPC_URL
cast send $TOKEN_ADDRESS "setMinter(address)" $NTT_MANAGER_ADDRESS --keystore /path/to/keystore.json --password <(echo "YOUR_PASSWORD") --rpc-url $YOUR_RPC_URL
```

- If you have a custom process to manage token minters, you should now follow that process to add the corresponding NTT Manager as a minter
Expand Down Expand Up @@ -1037,11 +1059,7 @@ The [NTT CLI](/docs/products/native-token-transfers/reference/cli-commands/){tar

???- interface "Install the NTT CLI and Scaffold a New Project"

Before proceeding, make sure you have the NTT CLI installed and a project initialized.

Follow these steps (or see the [Get Started guide](/docs/products/native-token-transfers/get-started/#install-ntt-cli){target=\_blank}):

1. Install the NTT CLI:
1. Install the NTT CLI:

```bash
curl -fsSL https://raw.githubusercontent.com/wormhole-foundation/native-token-transfers/main/cli/install.sh | bash
Expand Down
110 changes: 64 additions & 46 deletions llms-files/llms-transfer.txt
Original file line number Diff line number Diff line change
Expand Up @@ -5398,6 +5398,56 @@ categories: NTT, Transfer

This guide walks you through deploying NTT on EVM chains, including setting up dependencies, configuring token compatibility, and using the NTT CLI to deploy in hub-and-spoke or burn-and-mint mode.

## Prerequisites

Before you begin, ensure you have the following:

- You've completed the [Get Started with NTT](/docs/products/native-token-transfers/get-started/){target=\_blank} guide
- You have an existing ERC-20 token deployed to the EVM chains you plan to use

!!! note "Don't have a token yet?"

Before proceeding, make sure you have the NTT CLI installed and a project initialized.
Follow the below steps or see the [Get Started guide](/docs/products/native-token-transfers/get-started/#install-ntt-cli){target=\_blank}:

???- interface "Install the NTT CLI and Scaffold a New Project"

1. Install the NTT CLI:

```bash
curl -fsSL https://raw.githubusercontent.com/wormhole-foundation/native-token-transfers/main/cli/install.sh | bash
```

Verify installation:

```bash
ntt --version
```

2. Initialize a new NTT project:

```bash
ntt new my-ntt-project
cd my-ntt-project
```

3. Create the deployment config**:

=== "Mainnet"

```bash
ntt init Mainnet
```

=== "Testnet"

```bash
ntt init Testnet
```

This generates a `deployment.json` file where your deployment settings will be stored.


## Deploy Your Token and Ensure Compatibility

If you still need to do so, deploy the token contract to the destination or spoke chains.
Expand Down Expand Up @@ -5488,56 +5538,28 @@ This table compares the configuration parameters available when deploying the NT

## Deploy NTT

Before deploying NTT contracts on EVM chains, you need to scaffold a project and initialize your deployment configuration.

???- interface "Install the NTT CLI and Scaffold a New Project"

Before proceeding, make sure you have the NTT CLI installed and a project initialized.
Once you have the NTT CLI installed and a project initialized, proceed with adding your EVM chains and deploying contracts.

Follow these steps (or see the [Get Started guide](/docs/products/native-token-transfers/get-started/#install-ntt-cli){target=\_blank}):
Ensure your wallet is set up using Foundry's encrypted keystore.

1. Install the NTT CLI:
!!! info "Use Foundry's Encrypted Keystore"

```bash
curl -fsSL https://raw.githubusercontent.com/wormhole-foundation/native-token-transfers/main/cli/install.sh | bash
```

Verify installation:

```bash
ntt --version
```

2. Initialize a new NTT project:

```bash
ntt new my-ntt-project
cd my-ntt-project
```

3. Create the deployment config**:

=== "Mainnet"
Instead of setting your private key as a raw environment variable, use Foundry's keystore:

1. Generate a new encrypted key:
```bash
ntt init Mainnet
cast wallet new
```

=== "Testnet"

2. Or import an existing private key:
```bash
ntt init Testnet
cast wallet import
```

This generates a `deployment.json` file where your deployment settings will be stored.

Once you've completed those steps, return here to proceed with adding your EVM chains and deploying contracts.

Ensure you have set up your environment correctly:

```bash
export ETH_PRIVATE_KEY=INSERT_PRIVATE_KEY
```
3. You’ll be prompted to set a password. Use this keystore file when interacting with contracts:
```bash
cast send --keystore /path/to/keystore.json --password <(echo "YOUR_PASSWORD") ...
```

Add each chain you'll be deploying to. The following example demonstrates configuring NTT in burn-and-mint mode on Ethereum Sepolia and Arbitrum Sepolia:

Expand Down Expand Up @@ -5599,7 +5621,7 @@ The final step in the deployment process is to set the NTT Manager as a minter o

- If you followed the [`INttToken`](https://github.com/wormhole-foundation/native-token-transfers/blob/main/evm/src/interfaces/INttToken.sol){target=\_blank} interface, you can execute the `setMinter(address newMinter)` function
```json
cast send $TOKEN_ADDRESS "setMinter(address)" $NTT_MANAGER_ADDRESS --private-key $ETH_PRIVATE_KEY --rpc-url $YOUR_RPC_URL
cast send $TOKEN_ADDRESS "setMinter(address)" $NTT_MANAGER_ADDRESS --keystore /path/to/keystore.json --password <(echo "YOUR_PASSWORD") --rpc-url $YOUR_RPC_URL
```

- If you have a custom process to manage token minters, you should now follow that process to add the corresponding NTT Manager as a minter
Expand Down Expand Up @@ -5730,11 +5752,7 @@ The [NTT CLI](/docs/products/native-token-transfers/reference/cli-commands/){tar

???- interface "Install the NTT CLI and Scaffold a New Project"

Before proceeding, make sure you have the NTT CLI installed and a project initialized.

Follow these steps (or see the [Get Started guide](/docs/products/native-token-transfers/get-started/#install-ntt-cli){target=\_blank}):

1. Install the NTT CLI:
1. Install the NTT CLI:

```bash
curl -fsSL https://raw.githubusercontent.com/wormhole-foundation/native-token-transfers/main/cli/install.sh | bash
Expand Down
Loading