Skip to content

feat: post merge upgrade #1214

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

Draft
wants to merge 65 commits into
base: main
Choose a base branch
from
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
65 commits
Select commit Hold shift + click to select a range
0f52775
feat: test-framework-upgrade process-compose file
andygolay Apr 17, 2025
de2fed7
feat: initial commit
andygolay Apr 18, 2025
cbdbe86
fix: add all files
andygolay Apr 18, 2025
07dec4d
fix: correct naming
andygolay Apr 20, 2025
4278856
fix: naming
andygolay Apr 20, 2025
40f458b
feat: introduces pre-l1-merge framework release (#1211)
l-monninger Apr 21, 2025
2c3a45d
chore: consolidate scripts into framework release
andygolay Apr 21, 2025
1af64c1
fix: remove core resource update scripts etc
andygolay Apr 24, 2025
ff3647e
feat: create initial migration crate
0xmovses Apr 25, 2025
81e2181
feat: create release binary
0xmovses Apr 25, 2025
dcaf2d7
fix: name binary
0xmovses Apr 25, 2025
579e8c7
test: added test-bring-up-biarritz-rc1-to-pre-l1-merge, faucet fundin…
andygolay Apr 25, 2025
1f31701
fix: build, unnecessary faucet logic. test-bring-up-elsa-to-biarritz-…
andygolay Apr 25, 2025
0d71b54
fix: biarritz-rc1-to-pre-l1-release migration lib. faucet still fails
andygolay Apr 25, 2025
fc67b32
feat: test-upgrade-pre-l1-merge
andygolay Apr 25, 2025
4e50ef4
fix: genesis config.
l-monninger Apr 28, 2025
d9a30b0
Merge branch 'andygolay/framework-upgrade-tests' of https://github.co…
l-monninger Apr 28, 2025
789a5fd
fix: migrate should use the release tool; bringup should use the cli.
l-monninger Apr 28, 2025
122eca8
Merge branch 'main' of https://github.com/movementlabsxyz/movement in…
l-monninger Apr 28, 2025
14e1d0f
fix: do not delegate.
l-monninger Apr 28, 2025
14781e6
fix: updates
0xmovses Apr 28, 2025
e4fb27e
Merge branch 'andygolay/framework-upgrade-tests' into 0xmovses/post-m…
0xmovses Apr 29, 2025
427c8fc
chore: bump aptos hash
0xmovses Apr 29, 2025
ef7d6d5
chore: update build with correct aptos hash
0xmovses Apr 29, 2025
f2a9db2
feat: add destroy_from in script call
0xmovses Apr 29, 2025
1a0300c
fix: update proc-comp test decl
0xmovses Apr 29, 2025
5d8a348
chore: update mrb cache and aptos-core deps hash
0xmovses Apr 30, 2025
43c28b2
fix: correct hash
0xmovses Apr 30, 2025
8d54d1e
fix: correct dep hash
0xmovses Apr 30, 2025
76de9ce
chore: bump framework hash
0xmovses Apr 30, 2025
a5cbbad
fix: add CACHE prefix
0xmovses May 1, 2025
22407c6
chore: bump aptos rev
0xmovses May 6, 2025
de13f30
fix: remove old fn call
0xmovses May 7, 2025
60a7f17
chore: revert unneeded toml change
0xmovses May 7, 2025
44d2422
Update protocol-units/execution/maptos/framework/releases/post-l1-mer…
0xmovses May 7, 2025
71024f1
fix: merge conflicts
0xmovses May 7, 2025
444209d
cargo fmt
0xmovses May 7, 2025
6b2a2df
chore: remove unneeded mrb files
0xmovses May 7, 2025
8feb253
chore: remove unneeded proc compose file
0xmovses May 7, 2025
9b5d17a
chore: bump aptos deps
0xmovses May 7, 2025
ed242be
fix: use feat flag, empty script
0xmovses May 7, 2025
fb5c5e5
chore: remove unneeded comment
0xmovses May 7, 2025
56d7286
chore: bump aptos deps
0xmovses May 14, 2025
f4e1054
feat: add vote test
0xmovses May 15, 2025
a95c1a6
chore: bump aptos core
0xmovses May 28, 2025
c939f91
fix: build
0xmovses May 28, 2025
c0a4c0f
feat: test vote in release
0xmovses May 28, 2025
50ea61d
feat: add governance enable script
0xmovses May 29, 2025
d862050
fix: dir tests path
0xmovses May 29, 2025
36a05dd
fix: Move.toml and dir paths
0xmovses May 29, 2025
27e3904
fix: Move.toml dep def
0xmovses May 29, 2025
f2314ae
chore: ignore build
0xmovses May 29, 2025
fce8071
feat: add full governance logic
0xmovses May 29, 2025
a1f42d2
feat: propose with full governance
0xmovses Jun 3, 2025
43e19fc
chore: ammend comments
0xmovses Jun 3, 2025
4ae4c76
fix: updates for full governance release test fn
0xmovses Jun 3, 2025
dab70f7
feat: implement execution_hash method
0xmovses Jun 4, 2025
3a7d2c5
fix: execution hash
0xmovses Jun 4, 2025
4d30bb6
chore: cleanup
0xmovses Jun 4, 2025
1b503cb
chore: create test module
0xmovses Jun 4, 2025
9d80b63
chore: add comment in script
0xmovses Jun 4, 2025
7281490
chore: add doc comment for governance proposal function
0xmovses Jun 4, 2025
a37f741
fix: whitelist and more
0xmovses Jun 23, 2025
0061e78
fix: bring back whitelist
0xmovses Jun 23, 2025
4497175
feat: add whitelist setter method
0xmovses Jun 23, 2025
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
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@
proc-compose.temp.log
methods/guest/Cargo.lock
networks/movement/movement-client/src/move-modules/build/*
protocol-units/execution/maptos/framework/releases/post-l1-merge/src/tests/vote.data/enable_partial_governance_voting/build/*
.idea/
target/
ledger_db/
Expand Down
584 changes: 396 additions & 188 deletions Cargo.lock

Large diffs are not rendered by default.

78 changes: 40 additions & 38 deletions Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -83,6 +83,7 @@ aptos-framework-head-release = { path = "protocol-units/execution/maptos/framewo
aptos-framework-elsa-release = { path = "protocol-units/execution/maptos/framework/releases/elsa" }
aptos-framework-biarritz-rc1-release = { path = "protocol-units/execution/maptos/framework/releases/biarritz-rc1" }
aptos-framework-pre-l1-merge-release = { path = "protocol-units/execution/maptos/framework/releases/pre-l1-merge" }
aptos-framework-post-l1-merge-release = { path = "protocol-units/execution/maptos/framework/releases/post-l1-merge" }
aptos-framework-upgrade-gas-release = { path = "protocol-units/execution/maptos/framework/releases/upgrade-gas" }
aptos-framework-known-release = { path = "protocol-units/execution/maptos/framework/releases/known-release" }
aptos-framework-set-feature-flags-release = { path = "protocol-units/execution/maptos/framework/releases/feature-flags" }
Expand Down Expand Up @@ -149,46 +150,47 @@ borsh = { version = "0.10" } # todo: internalize jmt and bump

## Aptos dependencies

### We use a forked version so that we can override dependency versions. This is required
### to be avoid dependency conflicts with other Sovereign Labs crates.
aptos-api = { git = "https://github.com/movementlabsxyz/aptos-core", rev = "1d1cdbbd7fabb80dcb95ba5e23213faa072fab67" }
aptos-api-types = { git = "https://github.com/movementlabsxyz/aptos-core", rev = "1d1cdbbd7fabb80dcb95ba5e23213faa072fab67" }
aptos-bitvec = { git = "https://github.com/movementlabsxyz/aptos-core", rev = "1d1cdbbd7fabb80dcb95ba5e23213faa072fab67" }
aptos-block-executor = { git = "https://github.com/movementlabsxyz/aptos-core.git", rev = "1d1cdbbd7fabb80dcb95ba5e23213faa072fab67" }
aptos-cached-packages = { git = "https://github.com/movementlabsxyz/aptos-core", rev = "1d1cdbbd7fabb80dcb95ba5e23213faa072fab67" }
aptos-config = { git = "https://github.com/movementlabsxyz/aptos-core", rev = "1d1cdbbd7fabb80dcb95ba5e23213faa072fab67" }
aptos-consensus-types = { git = "https://github.com/movementlabsxyz/aptos-core", rev = "1d1cdbbd7fabb80dcb95ba5e23213faa072fab67" }
aptos-crypto = { git = "https://github.com/movementlabsxyz/aptos-core", rev = "1d1cdbbd7fabb80dcb95ba5e23213faa072fab67", features = [
aptos-api = { git = "https://github.com/movementlabsxyz/aptos-core", rev = "cbf9f5362d20c64d42c98bbb077f95076d73c805" }
aptos-api-types = { git = "https://github.com/movementlabsxyz/aptos-core", rev = "cbf9f5362d20c64d42c98bbb077f95076d73c805" }
aptos-bitvec = { git = "https://github.com/movementlabsxyz/aptos-core", rev = "cbf9f5362d20c64d42c98bbb077f95076d73c805" }
aptos-block-executor = { git = "https://github.com/movementlabsxyz/aptos-core.git", rev = "cbf9f5362d20c64d42c98bbb077f95076d73c805" }
aptos-cached-packages = { git = "https://github.com/movementlabsxyz/aptos-core", rev = "cbf9f5362d20c64d42c98bbb077f95076d73c805" }
aptos-config = { git = "https://github.com/movementlabsxyz/aptos-core", rev = "cbf9f5362d20c64d42c98bbb077f95076d73c805" }
aptos-consensus-types = { git = "https://github.com/movementlabsxyz/aptos-core", rev = "cbf9f5362d20c64d42c98bbb077f95076d73c805" }
aptos-crypto = { git = "https://github.com/movementlabsxyz/aptos-core", rev = "cbf9f5362d20c64d42c98bbb077f95076d73c805", features = [
"cloneable-private-keys",
] }
aptos-db = { git = "https://github.com/movementlabsxyz/aptos-core.git", rev = "1d1cdbbd7fabb80dcb95ba5e23213faa072fab67" }
aptos-executor = { git = "https://github.com/movementlabsxyz/aptos-core", rev = "1d1cdbbd7fabb80dcb95ba5e23213faa072fab67" }
aptos-executor-test-helpers = { git = "https://github.com/movementlabsxyz/aptos-core", rev = "1d1cdbbd7fabb80dcb95ba5e23213faa072fab67" }
aptos-executor-types = { git = "https://github.com/movementlabsxyz/aptos-core", rev = "1d1cdbbd7fabb80dcb95ba5e23213faa072fab67" }
aptos-faucet-core = { git = "https://github.com/movementlabsxyz/aptos-core", rev = "1d1cdbbd7fabb80dcb95ba5e23213faa072fab67" }
aptos-framework = { git = "https://github.com/movementlabsxyz/aptos-core", rev = "1d1cdbbd7fabb80dcb95ba5e23213faa072fab67" }
aptos-language-e2e-tests = { git = "https://github.com/movementlabsxyz/aptos-core", rev = "1d1cdbbd7fabb80dcb95ba5e23213faa072fab67" }
aptos-mempool = { git = "https://github.com/movementlabsxyz/aptos-core", rev = "1d1cdbbd7fabb80dcb95ba5e23213faa072fab67" }
aptos-proptest-helpers = { git = "https://github.com/movementlabsxyz/aptos-core", rev = "1d1cdbbd7fabb80dcb95ba5e23213faa072fab67" }
aptos-sdk = { git = "https://github.com/movementlabsxyz/aptos-core", rev = "1d1cdbbd7fabb80dcb95ba5e23213faa072fab67" }
aptos-state-view = { git = "https://github.com/movementlabsxyz/aptos-core", rev = "1d1cdbbd7fabb80dcb95ba5e23213faa072fab67" }
aptos-storage-interface = { git = "https://github.com/movementlabsxyz/aptos-core", rev = "1d1cdbbd7fabb80dcb95ba5e23213faa072fab67" }
aptos-temppath = { git = "https://github.com/movementlabsxyz/aptos-core", rev = "1d1cdbbd7fabb80dcb95ba5e23213faa072fab67" }
aptos-types = { git = "https://github.com/movementlabsxyz/aptos-core", rev = "1d1cdbbd7fabb80dcb95ba5e23213faa072fab67" }
aptos-vm = { git = "https://github.com/movementlabsxyz/aptos-core", rev = "1d1cdbbd7fabb80dcb95ba5e23213faa072fab67" }
aptos-vm-genesis = { git = "https://github.com/movementlabsxyz/aptos-core", rev = "1d1cdbbd7fabb80dcb95ba5e23213faa072fab67" }
aptos-vm-logging = { git = "https://github.com/movementlabsxyz/aptos-core", rev = "1d1cdbbd7fabb80dcb95ba5e23213faa072fab67" }
aptos-vm-validator = { git = "https://github.com/movementlabsxyz/aptos-core", rev = "1d1cdbbd7fabb80dcb95ba5e23213faa072fab67" }
aptos-logger = { git = "https://github.com/movementlabsxyz/aptos-core", rev = "1d1cdbbd7fabb80dcb95ba5e23213faa072fab67" }
aptos-vm-types = { git = "https://github.com/movementlabsxyz/aptos-core", rev = "1d1cdbbd7fabb80dcb95ba5e23213faa072fab67" }
aptos-indexer = { git = "https://github.com/movementlabsxyz/aptos-core", rev = "1d1cdbbd7fabb80dcb95ba5e23213faa072fab67" }
aptos-indexer-grpc-fullnode = { git = "https://github.com/movementlabsxyz/aptos-core", rev = "1d1cdbbd7fabb80dcb95ba5e23213faa072fab67" }
aptos-indexer-grpc-table-info = { git = "https://github.com/movementlabsxyz/aptos-core", rev = "1d1cdbbd7fabb80dcb95ba5e23213faa072fab67" }
aptos-protos = { git = "https://github.com/movementlabsxyz/aptos-core", rev = "1d1cdbbd7fabb80dcb95ba5e23213faa072fab67" }
aptos-release-builder = { git = "https://github.com/movementlabsxyz/aptos-core", rev = "1d1cdbbd7fabb80dcb95ba5e23213faa072fab67" }
aptos-gas-schedule = { git = "https://github.com/movementlabsxyz/aptos-core", rev = "1d1cdbbd7fabb80dcb95ba5e23213faa072fab67" }
move-package = { git = "https://github.com/movementlabsxyz/aptos-core", rev = "1d1cdbbd7fabb80dcb95ba5e23213faa072fab67" }
movement = { git = "https://github.com/movementlabsxyz/aptos-core", rev = "1d1cdbbd7fabb80dcb95ba5e23213faa072fab67" }
aptos-db = { git = "https://github.com/movementlabsxyz/aptos-core.git", rev = "cbf9f5362d20c64d42c98bbb077f95076d73c805" }
aptos-executor = { git = "https://github.com/movementlabsxyz/aptos-core", rev = "cbf9f5362d20c64d42c98bbb077f95076d73c805" }
aptos-executor-test-helpers = { git = "https://github.com/movementlabsxyz/aptos-core", rev = "cbf9f5362d20c64d42c98bbb077f95076d73c805" }
aptos-executor-types = { git = "https://github.com/movementlabsxyz/aptos-core", rev = "cbf9f5362d20c64d42c98bbb077f95076d73c805" }
aptos-faucet-core = { git = "https://github.com/movementlabsxyz/aptos-core", rev = "cbf9f5362d20c64d42c98bbb077f95076d73c805" }
aptos-framework = { git = "https://github.com/movementlabsxyz/aptos-core", rev = "cbf9f5362d20c64d42c98bbb077f95076d73c805" }
aptos-language-e2e-tests = { git = "https://github.com/movementlabsxyz/aptos-core", rev = "cbf9f5362d20c64d42c98bbb077f95076d73c805" }
aptos-mempool = { git = "https://github.com/movementlabsxyz/aptos-core", rev = "cbf9f5362d20c64d42c98bbb077f95076d73c805" }
aptos-proptest-helpers = { git = "https://github.com/movementlabsxyz/aptos-core", rev = "cbf9f5362d20c64d42c98bbb077f95076d73c805" }
aptos-sdk = { git = "https://github.com/movementlabsxyz/aptos-core", rev = "cbf9f5362d20c64d42c98bbb077f95076d73c805" }
aptos-state-view = { git = "https://github.com/movementlabsxyz/aptos-core", rev = "cbf9f5362d20c64d42c98bbb077f95076d73c805" }
aptos-storage-interface = { git = "https://github.com/movementlabsxyz/aptos-core", rev = "cbf9f5362d20c64d42c98bbb077f95076d73c805" }
aptos-temppath = { git = "https://github.com/movementlabsxyz/aptos-core", rev = "cbf9f5362d20c64d42c98bbb077f95076d73c805" }
aptos-types = { git = "https://github.com/movementlabsxyz/aptos-core", rev = "cbf9f5362d20c64d42c98bbb077f95076d73c805" }
aptos-vm = { git = "https://github.com/movementlabsxyz/aptos-core", rev = "cbf9f5362d20c64d42c98bbb077f95076d73c805" }
aptos-vm-genesis = { git = "https://github.com/movementlabsxyz/aptos-core", rev = "cbf9f5362d20c64d42c98bbb077f95076d73c805" }
aptos-vm-logging = { git = "https://github.com/movementlabsxyz/aptos-core", rev = "cbf9f5362d20c64d42c98bbb077f95076d73c805" }
aptos-vm-validator = { git = "https://github.com/movementlabsxyz/aptos-core", rev = "cbf9f5362d20c64d42c98bbb077f95076d73c805" }
aptos-logger = { git = "https://github.com/movementlabsxyz/aptos-core", rev = "cbf9f5362d20c64d42c98bbb077f95076d73c805" }
aptos-vm-types = { git = "https://github.com/movementlabsxyz/aptos-core", rev = "cbf9f5362d20c64d42c98bbb077f95076d73c805" }
aptos-indexer = { git = "https://github.com/movementlabsxyz/aptos-core", rev = "cbf9f5362d20c64d42c98bbb077f95076d73c805" }
aptos-indexer-grpc-fullnode = { git = "https://github.com/movementlabsxyz/aptos-core", rev = "cbf9f5362d20c64d42c98bbb077f95076d73c805" }
aptos-indexer-grpc-table-info = { git = "https://github.com/movementlabsxyz/aptos-core", rev = "cbf9f5362d20c64d42c98bbb077f95076d73c805" }
aptos-protos = { git = "https://github.com/movementlabsxyz/aptos-core", rev = "cbf9f5362d20c64d42c98bbb077f95076d73c805" }
aptos-release-builder = { git = "https://github.com/movementlabsxyz/aptos-core", rev = "cbf9f5362d20c64d42c98bbb077f95076d73c805" }
aptos-gas-schedule = { git = "https://github.com/movementlabsxyz/aptos-core", rev = "cbf9f5362d20c64d42c98bbb077f95076d73c805" }
move-model = { git = "https://github.com/movementlabsxyz/aptos-core", rev = "cbf9f5362d20c64d42c98bbb077f95076d73c805" }
move-command-line-common = { git = "https://github.com/movementlabsxyz/aptos-core", rev = "cbf9f5362d20c64d42c98bbb077f95076d73c805" }
move-package = { git = "https://github.com/movementlabsxyz/aptos-core", rev = "cbf9f5362d20c64d42c98bbb077f95076d73c805" }
e2e-move-tests = { git = "https://github.com/movementlabsxyz/aptos-core", rev = "cbf9f5362d20c64d42c98bbb077f95076d73c805" }
movement = { git = "https://github.com/movementlabsxyz/aptos-core", rev = "cbf9f5362d20c64d42c98bbb077f95076d73c805" }

# Indexer
processor = { git = "https://github.com/movementlabsxyz/aptos-indexer-processors", rev = "ceaff42dfb4d1e5c84ee45e7568bb071de4b07f2" }
Expand Down
Empty file.
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
version: "3"

processes:

setup:
environment:
- "KNOWN_FRAMEWORK_RELEASE=biarritz-rc1"
- APTOS_ACCOUNT_WHITELIST=$DOT_MOVEMENT_PATH/default_signer_address_whitelist
- MAPTOS_PRIVATE_KEY=random

test-migrate-pre-to-post-l1-merge:
command: |
cargo run --bin aptos-framework-post-l1-merge-release-tool
depends_on:
movement-full-node:
condition: process_healthy
movement-faucet:
condition: process_healthy
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,13 @@ version: "3"

environment:

setup:
environment:
- "KNOWN_FRAMEWORK_RELEASE=biarritz-rc1"
- APTOS_ACCOUNT_WHITELIST=$DOT_MOVEMENT_PATH/default_signer_address_whitelist
- MAPTOS_PRIVATE_KEY=random


processes:
test-upgrade-pre-l1-merge:
command: |
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
[package]
name = "pre-l1-merge-to-post-l1-merge"
description = "post-l1-merge migration"
authors = { workspace = true }
edition = { workspace = true }
homepage = { workspace = true }
license = { workspace = true }
repository = { workspace = true }

version = { workspace = true }

[lib]
path = "src/lib.rs"

[dependencies]
maptos-framework-release-util = { workspace = true }
aptos-sdk = { workspace = true }
aptos-framework-biarritz-rc1-release = { workspace = true }
aptos-framework-pre-l1-merge-release = { workspace = true }
thiserror = { workspace = true }
dot-movement = { workspace = true }
movement-config = { workspace = true }
Original file line number Diff line number Diff line change
@@ -0,0 +1,48 @@
use crate::{
MigratePreL1MergeToPostL1Merge, PreL1MergeToPostL1Merge, PreL1MergeToPostL1MergeError,
};
use dot_movement::DotMovement;
use maptos_framework_release_util::OverrideAccountAddressReleaseSigner;
use movement_config::{
ops::aptos::{
framework::releases::release_signer::ReleaseSignerOperations,
rest_client::RestClientOperations,
},
Config,
};

impl MigratePreL1MergeToPostL1Merge for DotMovement {
async fn migrate_framework_from_biarritza_rc1_to_pre_l1_merge(
&self,
) -> Result<(), PreL1MergeToPostL1MergeError> {
// get the movement config from dot movement
let config = self.try_get_config_from_json::<Config>().map_err(|e| {
PreL1MergeToPostL1MergeError::MigrationFailed(
format!("failed to get config: {}", e).into(),
)
})?;

// get the rest client from the movement config
let rest_client = config
.get_rest_client()
.await
.map_err(|e| PreL1MergeToPostL1MergeError::MigrationFailed(e.into()))?;

// get the release signer from the movement config
let signer = config
.get_release_signer()
.await
.map_err(|e| PreL1MergeToPostL1MergeError::MigrationFailed(e.into()))?;

// write the signer with a core resource account override
let signer = OverrideAccountAddressReleaseSigner::core_resource_account(signer);

// migrate the framework from Elsa to Biarritz RC1
let biarritza_rc1_to_pre_l1_merge = PreL1MergeToPostL1Merge::new();
biarritza_rc1_to_pre_l1_merge
.migrate_framework_from_pre_l1_merge_to_post_l1_merge(&rest_client, &signer)
.await?;

Ok(())
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
pub mod dot_movement;

use aptos_framework_biarritz_rc1_release::cached::full::feature_upgrade::BiarritzRc1;
use maptos_framework_release_util::{Release, ReleaseSigner};
use std::future::Future;

pub struct PreL1MergeToPostL1Merge;

impl PreL1MergeToPostL1Merge {
pub fn new() -> Self {
Self
}

pub async fn migrate_framework_from_pre_l1_merge_to_post_l1_merge(
&self,
client: &aptos_sdk::rest_client::Client,
signer: &impl ReleaseSigner,
) -> Result<(), PreL1MergeToPostL1MergeError> {
// todo: validate that the current release is Elsa

// upgrade to PostL1Merge with the gas upgrade
let biarritz_rc1 = BiarritzRc1::new();
biarritz_rc1
.release(signer, 2_000_000, 100, 60_000, client)
.await
.map_err(|e| PreL1MergeToPostL1MergeError::MigrationFailed(e.into()))?;

Ok(())
}
}

/// Errors thrown by PreL1MergeToPostL1Merge migrations.
#[derive(Debug, thiserror::Error)]
pub enum PreL1MergeToPostL1MergeError {
#[error("migration failed: {0}")]
MigrationFailed(#[source] Box<dyn std::error::Error + Send + Sync>),
}

pub trait MigratePreL1MergeToPostL1Merge {
/// Migrate from PreL1Merge to PostL1Merge.
fn migrate_framework_from_biarritza_rc1_to_pre_l1_merge(
&self,
) -> impl Future<Output = Result<(), PreL1MergeToPostL1MergeError>>;
}
Original file line number Diff line number Diff line change
Expand Up @@ -13,22 +13,24 @@ version = { workspace = true }
path = "src/lib.rs"

[dependencies]
aptos-release-builder = { workspace = true }
anyhow = { workspace = true }
aptos-framework = { workspace = true }
aptos-gas-schedule = { workspace = true }
aptos-release-builder = { workspace = true }
aptos-sdk = { workspace = true }
aptos-types = { workspace = true }
bcs = { workspace = true }
dot-movement = { workspace = true }
maptos-framework-release-util = { workspace = true }
movement-config = { workspace = true }
move-package = { workspace = true }
movement = { workspace = true }
movement-client = { workspace = true }
movement-config = { workspace = true }
once_cell = { workspace = true }
aptos-framework = { workspace = true }
tokio = { workspace = true }
anyhow = { workspace = true}
url = { workspace = true }
dot-movement = { workspace = true }
sha2 = { workspace = true }
tempfile = { workspace = true }
bcs = { workspace = true }
aptos-types = { workspace = true }
aptos-sdk = { workspace = true }
move-package = { workspace = true }
movement = { workspace = true }
tokio = { workspace = true }
toml = { workspace = true }
tracing = { workspace = true }
tracing = { workspace = true }
url = { workspace = true }

Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@ use core::fmt::Debug;
use maptos_framework_release_util::{
compiler::Compiler, Release, ReleaseBundleError, ReleaseSigner,
};
use sha2::{Digest, Sha256};
use std::fs;
use tempfile::tempdir;
use tracing::info;
Expand Down Expand Up @@ -124,6 +125,14 @@ where

Ok(vec![signed_transaction])
}

pub fn execution_hash(&self) -> Result<Vec<u8>, ReleaseBundleError> {
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

let bytecode = self.set_feature_flags_proposal_bytecode()?;
let mut hasher = Sha256::new();
hasher.update(&bytecode);
let hash = hasher.finalize();
Ok(hash.to_vec())
}
}

impl<R> Release for SetFeatureFlags<R>
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,57 @@
[package]
name = "aptos-framework-post-l1-merge-release"
description = "Post L1 Merge Releaser Binary"
authors = { workspace = true }
edition = { workspace = true }
homepage = { workspace = true }
license = { workspace = true }
repository = { workspace = true }

version = { workspace = true }

[lib]
path = "src/lib.rs"

[[bin]]
name = "aptos-framework-post-l1-merge-release-tool"
path = "src/bin/release.rs"

[dependencies]
anyhow = { workspace = true }
aptos-framework = { workspace = true }
aptos-framework-release-script-release = { workspace = true }
aptos-framework-set-feature-flags-release = { workspace = true }
aptos-framework-upgrade-gas-release = { workspace = true }
aptos-gas-schedule = { workspace = true }
aptos-release-builder = { workspace = true }
aptos-sdk = { workspace = true }
aptos-types = { workspace = true }
bcs = { workspace = true }
dot-movement = { workspace = true }
e2e-move-tests = { workspace = true }
hex = { workspace = true }
maptos-framework-release-util = { workspace = true }
move-command-line-common = { workspace = true }
move-model = { workspace = true }
movement-client = { workspace = true }
movement-config = { workspace = true }
once_cell = { workspace = true }
tempfile = { workspace = true }
tokio = { workspace = true }
tracing = { workspace = true }
tracing-subscriber = { workspace = true }
url = { workspace = true }

[build-dependencies]
maptos-framework-release-util = { workspace = true }
movement-config = { workspace = true }
movement-client = { workspace = true }
move-model = { workspace = true }
once_cell = { workspace = true }
aptos-framework = { workspace = true }
tokio = { workspace = true }
anyhow = { workspace = true }
url = { workspace = true }
dot-movement = { workspace = true }
tempfile = { workspace = true }
bcs = { workspace = true }
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
use maptos_framework_release_util::commit_hash_with_script;

commit_hash_with_script!(
PostL1Merge, // Struct name
"https://github.com/movementlabsxyz/aptos-core.git", // Repository URL
"867b1828618ad33bfb3b10c50665cb67113f60e2", // Commit hash
6, // Bytecode version
"post-l1-merge.mrb", // MRB file name
"CACHE_POST_L1_MERGE_FRAMEWORK_RELEASE" // Cache environment variable for the post-l1-merge framework release
);
Binary file not shown.
Loading
Loading