From 06eb4549f9a8fe9207c4d26bcb07b43d6882a5c5 Mon Sep 17 00:00:00 2001 From: cam-schultz Date: Thu, 20 Jun 2024 09:32:25 -0500 Subject: [PATCH 1/4] clarify version incompatibility --- README.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index 422996685..a9f9b61aa 100644 --- a/README.md +++ b/README.md @@ -12,7 +12,7 @@ The Teleporter protocol, on the other hand, is implemented at the smart contract To get started with using Teleporter, see [How to Deploy Teleporter Enabled Subnets on a Local Network](https://docs.avax.network/tooling/cli-cross-chain/teleporter-on-local-networks) -- [Deployed Addresses](#deployed-addresses) +- [Deployed Addresses](#deployed-addresses-for-latest-major-version) - [Setup](#setup) - [Initialize the repository](#initialize-the-repository) - [Dependencies](#dependencies) @@ -30,7 +30,7 @@ To get started with using Teleporter, see [How to Deploy Teleporter Enabled Subn - [Docs](#docs) - [Resources](#resources) -## Deployed Addresses +## Deployed Addresses for Latest Major Version | Contract | Address | Chain | | --------------------- | ---------------------------------------------- | ------------------------ | @@ -38,7 +38,7 @@ To get started with using Teleporter, see [How to Deploy Teleporter Enabled Subn | `TeleporterRegistry` | **0x7C43605E14F391720e1b37E49C78C4b03A488d98** | Mainnet C-Chain | | `TeleporterRegistry` | **0xF86Cb19Ad8405AEFa7d09C778215D2Cb6eBfB228** | Fuji C-Chain | -- When deployed using [Nick's method](https://yamenmerhi.medium.com/nicks-method-ethereum-keyless-execution-168a6659479c#), `TeleporterMessenger` will be at the same address on all chains. See [Teleporter Contract Deployment](./utils/contract-deployment/README.md) and [Deploy Teleporter to a Subnet](#deploy-teleporter-to-a-subnet) for more details. +- Using [Nick's method](https://yamenmerhi.medium.com/nicks-method-ethereum-keyless-execution-168a6659479c#), `TeleporterMessenger` deploys at a universal address across all chains, varying with each teleporter major release. **Compatibility exists only between same-version `TeleporterMessenger` instances.** See [Teleporter Contract Deployment](./utils/contract-deployment/README.md) and [Deploy Teleporter to a Subnet](#deploy-teleporter-to-a-subnet) for more details. - `TeleporterRegistry` can be deployed to any address. See [Deploy TeleporterRegistry to a Subnet](#deploy-teleporterregistry-to-a-subnet) for details. The table above enumerates the canonical registry addresses on the Mainnet and Fuji C-Chains. From bda628b107d5b8f1b962190889fa73211880c55e Mon Sep 17 00:00:00 2001 From: cam-schultz Date: Thu, 20 Jun 2024 10:36:34 -0500 Subject: [PATCH 2/4] versioning policy note --- README.md | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index a9f9b61aa..9220396e1 100644 --- a/README.md +++ b/README.md @@ -38,10 +38,14 @@ To get started with using Teleporter, see [How to Deploy Teleporter Enabled Subn | `TeleporterRegistry` | **0x7C43605E14F391720e1b37E49C78C4b03A488d98** | Mainnet C-Chain | | `TeleporterRegistry` | **0xF86Cb19Ad8405AEFa7d09C778215D2Cb6eBfB228** | Fuji C-Chain | -- Using [Nick's method](https://yamenmerhi.medium.com/nicks-method-ethereum-keyless-execution-168a6659479c#), `TeleporterMessenger` deploys at a universal address across all chains, varying with each teleporter major release. **Compatibility exists only between same-version `TeleporterMessenger` instances.** See [Teleporter Contract Deployment](./utils/contract-deployment/README.md) and [Deploy Teleporter to a Subnet](#deploy-teleporter-to-a-subnet) for more details. +- Using [Nick's method](https://yamenmerhi.medium.com/nicks-method-ethereum-keyless-execution-168a6659479c#), `TeleporterMessenger` deploys at a universal address across all chains, varying with each teleporter Major release. **Compatibility exists only between same-version `TeleporterMessenger` instances.** See [Teleporter Contract Deployment](./utils/contract-deployment/README.md) and [Deploy Teleporter to a Subnet](#deploy-teleporter-to-a-subnet) for more details. - `TeleporterRegistry` can be deployed to any address. See [Deploy TeleporterRegistry to a Subnet](#deploy-teleporterregistry-to-a-subnet) for details. The table above enumerates the canonical registry addresses on the Mainnet and Fuji C-Chains. +## A Note on Versioning + +Release versions follow the [semver](https://semver.org/) convention of incompatible Major releases, and backwards-compatible Minor and Patch releases. A new Major version is released whenever the `TeleporterMessenger` bytecode is changed, due to the use of Nick's method to deploy the contract to the same address on all chains (see [Teleporter Contract Deployment](./utils/contract-deployment/README.md) for details). Minor and Patch versions may pertain to contract changes that do not change the `TeleporterMessenger` bytecode, or to changes in the test frameworks. + ## Setup ### Initialize the repository From d284dfa71165845d5f64dde2f0d4fdfa911325a3 Mon Sep 17 00:00:00 2001 From: cam-schultz Date: Thu, 20 Jun 2024 10:39:45 -0500 Subject: [PATCH 3/4] link to new section --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 9220396e1..110a21808 100644 --- a/README.md +++ b/README.md @@ -13,6 +13,7 @@ The Teleporter protocol, on the other hand, is implemented at the smart contract To get started with using Teleporter, see [How to Deploy Teleporter Enabled Subnets on a Local Network](https://docs.avax.network/tooling/cli-cross-chain/teleporter-on-local-networks) - [Deployed Addresses](#deployed-addresses-for-latest-major-version) +- [A Note on Versioning](#a-note-on-versioning) - [Setup](#setup) - [Initialize the repository](#initialize-the-repository) - [Dependencies](#dependencies) From 9b82e284457cf870fdd57333dd66b14f0246a470 Mon Sep 17 00:00:00 2001 From: cam-schultz Date: Mon, 24 Jun 2024 15:56:22 -0500 Subject: [PATCH 4/4] clean up readme --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 110a21808..58b500903 100644 --- a/README.md +++ b/README.md @@ -31,7 +31,7 @@ To get started with using Teleporter, see [How to Deploy Teleporter Enabled Subn - [Docs](#docs) - [Resources](#resources) -## Deployed Addresses for Latest Major Version +## Deployed Addresses | Contract | Address | Chain | | --------------------- | ---------------------------------------------- | ------------------------ | @@ -39,7 +39,7 @@ To get started with using Teleporter, see [How to Deploy Teleporter Enabled Subn | `TeleporterRegistry` | **0x7C43605E14F391720e1b37E49C78C4b03A488d98** | Mainnet C-Chain | | `TeleporterRegistry` | **0xF86Cb19Ad8405AEFa7d09C778215D2Cb6eBfB228** | Fuji C-Chain | -- Using [Nick's method](https://yamenmerhi.medium.com/nicks-method-ethereum-keyless-execution-168a6659479c#), `TeleporterMessenger` deploys at a universal address across all chains, varying with each teleporter Major release. **Compatibility exists only between same-version `TeleporterMessenger` instances.** See [Teleporter Contract Deployment](./utils/contract-deployment/README.md) and [Deploy Teleporter to a Subnet](#deploy-teleporter-to-a-subnet) for more details. +- Using [Nick's method](https://yamenmerhi.medium.com/nicks-method-ethereum-keyless-execution-168a6659479c#), `TeleporterMessenger` deploys at a universal address across all chains, varying with each `teleporter` Major release. **Compatibility exists only between same-version `TeleporterMessenger` instances.** See [Teleporter Contract Deployment](./utils/contract-deployment/README.md) and [Deploy Teleporter to a Subnet](#deploy-teleporter-to-a-subnet) for more details. - `TeleporterRegistry` can be deployed to any address. See [Deploy TeleporterRegistry to a Subnet](#deploy-teleporterregistry-to-a-subnet) for details. The table above enumerates the canonical registry addresses on the Mainnet and Fuji C-Chains.