Skip to content
Merged
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
2 changes: 1 addition & 1 deletion .github/workflows/butterflynet.yml
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@ jobs:
env:
# To minimize compile times: https://nnethercote.github.io/perf-book/build-configuration.html#minimizing-compile-times
RUSTFLAGS: "-C linker=clang -C link-arg=-fuse-ld=lld"
run: mise run install --slim
run: mise run install --slim quick
- name: Run butterflynet checks
run: ./scripts/tests/butterflynet_check.sh
timeout-minutes: ${{ fromJSON(env.SCRIPT_TIMEOUT_MINUTES) }}
3 changes: 1 addition & 2 deletions build/bootstrap/butterflynet
Original file line number Diff line number Diff line change
@@ -1,2 +1 @@
/dns4/bootstrap-0.butterfly.fildev.network/tcp/1347/p2p/12D3KooWKxHctsqQ41MZ64GYqz5r4DUF3Hkj9SMVEcHXdRqvWCAx
/dns4/bootstrap-1.butterfly.fildev.network/tcp/1347/p2p/12D3KooWN69aMyMuf9VrsRir5gd3xkT5q5p9NGYLFSXBTn1xkVSN
/dnsaddr/bootstrap.butterfly.fildev.network
220 changes: 18 additions & 202 deletions build/manifest.json
Original file line number Diff line number Diff line change
Expand Up @@ -1246,253 +1246,69 @@
"network": {
"type": "butterflynet"
},
"version": "v15.0.0-rc1",
"bundle_cid": "bafy2bzacearjal5rsmzloz3ny7aoju2rgw66wgxdrydgg27thcsazbmf5qihq",
"manifest": {
"actors": [
[
"system",
1,
"bafk2bzacebf6qpnaem4d3kku74hyizal7rfqmxvngvnerq3gxmyqvnib4ho22"
],
[
"init",
2,
"bafk2bzacedtpna72vpmt6yyqx5lxersccnmv2aq2odfp2f5v7o2cvl6zxgrtg"
],
[
"cron",
3,
"bafk2bzacediarrpbvwmkch4axjzxlu7lvpjmee5og7q2dxfqu4kkir2p2qusy"
],
[
"account",
4,
"bafk2bzaceapjxl4kobnxn267u42nh2feouubkxcm62vzrk2nrfkqmtz6rgfw4"
],
[
"storagepower",
5,
"bafk2bzacebdwg62s5fwmctrtsoz77qx3qk3hj5eu45aiamryphhcak65od4xe"
],
[
"storageminer",
6,
"bafk2bzaceb2jyz6tx5gdmu66smksb544wrhqwgub45tq3qltc3wiv64zsbqoa"
],
[
"storagemarket",
7,
"bafk2bzacecbx6yzird3wp3lkyroqizp3g5lsysh5qijstfwe4sjngbpo3lx3q"
],
[
"paymentchannel",
8,
"bafk2bzaceatyws2kngfwau6o7c74cl2ogcdm4aopdaozu7r76ymtvrhuk3a4k"
],
[
"multisig",
9,
"bafk2bzacebz3uwa4g5tyg5zb6nad24gnqwlplrlvakdwlytznqfqrnulpg7gm"
],
[
"reward",
10,
"bafk2bzacecxt3jqyiyrqhbdr4eavgkmoijkoundxap7rdbw3g6j62t2hak23u"
],
[
"verifiedregistry",
11,
"bafk2bzacebxppwtgpstn55klmiux64pwekibcapv6v26nbfrrateth5zzsdic"
],
[
"datacap",
12,
"bafk2bzaceb4lpszr3axumf6f5ane5tlyj76zimptvt3lx7zpu5lx57zmua4dw"
],
[
"placeholder",
13,
"bafk2bzacedfvut2myeleyq67fljcrw4kkmn5pb5dpyozovj7jpoez5irnc3ro"
],
[
"evm",
14,
"bafk2bzacedj7idaxudsiwwvmgluhzvzzvcr7u2r2cfymagjq7amegxfs3oyim"
],
[
"eam",
15,
"bafk2bzaceaxjorcph7nmcgfgyv225s5y44xpswtp4b5744dm7kfxiztgf4ti4"
],
[
"ethaccount",
16,
"bafk2bzacebz3y3vjqrfk2x2koj733cblhyjqajldc7dfiu7jud6g64b4bzqqc"
]
],
"actor_list_cid": "bafy2bzaceck4a2qhrgpqtba5kpe4nhv4kcp5whuvltv67453delevwxid5eiu"
}
},
{
"network": {
"type": "butterflynet"
},
"version": "v16.0.1",
"bundle_cid": "bafy2bzaceda5lc7qrwp2hdm6s6erppwuydsfqrhbgld7juixalk342inqimbo",
"manifest": {
"actors": [
[
"system",
1,
"bafk2bzacebxmdwaw5rm2apbfqgl2yt25n4abpxhwoy3xou6j6z7aiozsvm722"
],
[
"init",
2,
"bafk2bzaced6lrgkw4dnxyc72beeyct4tgjup6syt7j2llvlwtkqi3eb5ncyzu"
],
[
"cron",
3,
"bafk2bzaceckhx3amza3xyxvw4x7xg7w7itsokvweiylys2mlcvvvi64uhyfhi"
],
[
"account",
4,
"bafk2bzacea4fxakv3zww2jb7aaa4v6w7usbcxho7kpc6xpho66ltny72vnzki"
],
[
"storagepower",
5,
"bafk2bzacecoi2bu2iipdnkx3pvjbe4d5pbmtcef4lxsdbv7hchgnbbvb6sy6k"
],
[
"storageminer",
6,
"bafk2bzacebtzpyy56k4ehwgxbil5ryegys4qgbw6dnsnk3y7qf5y7le2hedoe"
],
[
"storagemarket",
7,
"bafk2bzacebrch7gi6wmzgipnx4jiwgpq2ogul6fkgfkqefoujwxsfp7i3wsic"
],
[
"paymentchannel",
8,
"bafk2bzaceakx75ascqt3cpgcgjjjo3lzj6etlit7rvy5r2rnpg35pn5lxdkho"
],
[
"multisig",
9,
"bafk2bzacebwgwsjsglawtmvmb4fmvagmyjfjvky2mkipk3ysqt2cylrut4pna"
],
[
"reward",
10,
"bafk2bzaceagyezzhrgwp55i6zpj3qkyprebhdmszn725kdl73z6awpse2ek4m"
],
[
"verifiedregistry",
11,
"bafk2bzaceahaut5mk7ndk3yi3uvsalpqpv7h7cdjl7vhkyxmkcypvq6ynn2mk"
],
[
"datacap",
12,
"bafk2bzacecx6cqocsn6e3ouq4tgumrlbazrnydp7bo2rxrtfgbd7soerqplxs"
],
[
"placeholder",
13,
"bafk2bzacedfvut2myeleyq67fljcrw4kkmn5pb5dpyozovj7jpoez5irnc3ro"
],
[
"evm",
14,
"bafk2bzaced2i4ez5megwfrlxxv7akcf27hu2fezj3ipiy66skvagvzc5jtxlo"
],
[
"eam",
15,
"bafk2bzaced54tzjl37qsxbb2cml6l2hlupaplzdrdamq7kxihcikbd4goezg4"
],
[
"ethaccount",
16,
"bafk2bzacedtz6bt2fex7xdm2tmov5kwexoayesguhx5i3ohjyw23sbbwrbokg"
]
],
"actor_list_cid": "bafy2bzacedai5hnued57xpz434xl6afmlycejoj7ac7c36u3tcegp6buc6nj6"
}
},
{
"network": {
"type": "butterflynet"
},
"version": "v17.0.0",
"bundle_cid": "bafy2bzacedzjwguwuihh4tptzfkkwaj3naamrnklbaixn2wfzqh67twwp56pi",
"version": "v18.0.0-rc1",
"bundle_cid": "bafy2bzacec3ikcjko4zok3qoe7nxnqilx2mj65tp25kkkbf7bwkejflfrdpwo",
"manifest": {
"actors": [
[
"system",
1,
"bafk2bzacebiwv5xckqaesetmfyvvptoscnzy3mh3vdbwvmhz5mf5cn3idi3wc"
"bafk2bzacea66s5cn4oyxmejwjoccs63zlabqkzkdffeevfds7bkaxno5gsmra"
],
[
"init",
2,
"bafk2bzacebd5bwoxsktpxvmlbi4kzwkiqtte7axyxt2kew4fgrglyvy7sodrc"
"bafk2bzacedabofdxxiien5hbyfkye7vjk3nj2jut25a6ci3dkgw75fiokooh6"
],
[
"cron",
3,
"bafk2bzacea4mconfwssrytrhiwngqhraay3hn2f2mmnzs3f6x7t6st6jjskg4"
"bafk2bzaceate4yymxapf3blbcvqufp4pwe3hrflf25xvzsbgxb74xasw4poxs"
],
[
"account",
4,
"bafk2bzacecsyxlh7dvr5zkwnrqm72mgwnserkt7moaut737tig3pbkgtnw62o"
"bafk2bzacedyssi2sxrsemgbqkets5zljhinr4n74hkegcmmmaeelmg6yjk7tg"
],
[
"storagepower",
5,
"bafk2bzacebye45hai3qedkqyr4r26ywupslx6hu5a2q6ewdg2tlxbf5fzes5y"
"bafk2bzaced5hxvjvdwprscvbmrgfv6ynuzp3dlcgoaqw5bwy55u4t3kkm4sq2"
],
[
"storageminer",
6,
"bafk2bzacech2msfuf6mnbde5r5mrggftzsyg4k7g7cegltqooyuo4pp7kusp4"
"bafk2bzacedck7to4lqrdaiaca7abanb5ya5rlmgyof52pusss46n2xjjrp5t2"
],
[
"storagemarket",
7,
"bafk2bzaceblxfbbumzr2f5ehirtx2rgvgawebdxwra3okfpradd5os2kye5su"
"bafk2bzacebdm75sdm44sg76c46dk25567kdbcsgaf37s6xjsqbvjqbp6wv6ga"
],
[
"paymentchannel",
8,
"bafk2bzacedrrz47xktsdmpysm42rptqzdt7lqtbsbvtatac2axead4bmlncvk"
"bafk2bzaced34rbwfwydxhp7cc2urtn5osz7x5cpklqwj5qbin2mrnw4a55w2e"
],
[
"multisig",
9,
"bafk2bzacea6lwslarfsjcwptiaca42cyccrehbowgstwkgnxh77qp5zda5jza"
"bafk2bzacecg6i7epskoa372veotujg2cnxth4dufhcbeyxbmg6tbohbd473mq"
],
[
"reward",
10,
"bafk2bzacearim4ftupnzlfz7h6feozr3yymtyacs4ahdwfjqjceilhdhzr2bm"
"bafk2bzacecc3lpet56znl6n5ffhy72fd6xm5gok5ojibfjj3ma5lnbsxal7oq"
],
[
"verifiedregistry",
11,
"bafk2bzacechruhdcrrx2ixvfu6daewg2s2iq2rrowv54fah53qjarmco7c3xa"
"bafk2bzacec2lcoui6qza5y7ufbr67zkdn6wg3awxzvywjgrocam35mgggzxgw"
],
[
"datacap",
12,
"bafk2bzaceccqejcvj6ip5xpcqr3fosc5sgue4ro6gi63j55itd2hczzawotxg"
"bafk2bzaceb7vxzbmybd3o3xvsyd22nfp4ym6siau5r6xaao3l73c4plksfgsw"
],
[
"placeholder",
Expand All @@ -1502,20 +1318,20 @@
[
"evm",
14,
"bafk2bzacedpxvlqericktqetgjkgsjsfaijwcbdcxqn2nmenxnlfrxirwgd7y"
"bafk2bzacedmvztlcgisrsjyt7bjzmxna5cnnnywib3zat66j2ui2u5edsgrb4"
],
[
"eam",
15,
"bafk2bzaceabxund5zkqtgdwzjkcqnl25mjuzr3icodj7kgsvpt6oakcscb264"
"bafk2bzaceajqrtd5hm4x2ojsphhqpdx2pegtzx2xy6hoymzm6dbtbkaqovcsc"
],
[
"ethaccount",
16,
"bafk2bzacebmtjmyzm6f6w33vmoq6iwrffqh6jgtgexj4mpm74j6dqvwnq3576"
"bafk2bzacebirdvqpv55vs7zyvnaebxbhguwvt7apjeelavxhjd65qljh3tyn2"
]
],
"actor_list_cid": "bafy2bzaceaijhx4azr3htpg4dlx67ryv7j24mxrwwqhovj4psr2djvpiyiktq"
"actor_list_cid": "bafy2bzaceb2nnaeyepfylvs733l3x3jat5mxzni3x43siiqzu22faluvsddem"
}
},
{
Expand Down
4 changes: 1 addition & 3 deletions src/networks/actors_bundle.rs
Original file line number Diff line number Diff line change
Expand Up @@ -85,9 +85,7 @@ pub static ACTOR_BUNDLES: LazyLock<Box<[ActorBundleInfo]>> = LazyLock::new(|| {
"bafy2bzacebc7zpsrihpyd2jdcvmegbbk6yhzkifre3hxtoul5wdxxklbwitry" @ "v16.0.0-rc3" for "calibrationnet",
"bafy2bzacecqtwq6hjhj2zy5gwjp76a4tpcg2lt7dps5ycenvynk2ijqqyo65e" @ "v16.0.1" for "calibrationnet",
"bafy2bzacecn64rlb52rjsvgopnidz6w42z3zobmjxqek5s4xqjh3ly47rcurg" @ "v17.0.0" for "calibrationnet",
"bafy2bzacearjal5rsmzloz3ny7aoju2rgw66wgxdrydgg27thcsazbmf5qihq" @ "v15.0.0-rc1" for "butterflynet",
"bafy2bzaceda5lc7qrwp2hdm6s6erppwuydsfqrhbgld7juixalk342inqimbo" @ "v16.0.1" for "butterflynet",
"bafy2bzacedzjwguwuihh4tptzfkkwaj3naamrnklbaixn2wfzqh67twwp56pi" @ "v17.0.0" for "butterflynet",
"bafy2bzacec3ikcjko4zok3qoe7nxnqilx2mj65tp25kkkbf7bwkejflfrdpwo" @ "v18.0.0-rc1" for "butterflynet",
"bafy2bzacedozk3jh2j4nobqotkbofodq4chbrabioxbfrygpldgoxs3zwgggk" @ "v9.0.3" for "devnet",
"bafy2bzacebzz376j5kizfck56366kdz5aut6ktqrvqbi3efa2d4l2o2m653ts" @ "v10.0.0" for "devnet",
"bafy2bzaceay35go4xbjb45km6o46e5bib3bi46panhovcbedrynzwmm3drr4i" @ "v11.0.0" for "devnet",
Expand Down
20 changes: 10 additions & 10 deletions src/networks/butterflynet/mod.rs
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ use super::{
/// Well-known network names.
pub const NETWORK_COMMON_NAME: &str = "butterflynet";

pub const GENESIS_NETWORK_VERSION: NetworkVersion = NetworkVersion::V24;
pub const GENESIS_NETWORK_VERSION: NetworkVersion = NetworkVersion::V27;

/// Fetches the genesis CAR from the local database or downloads it if it does not exist.
/// The result bytes may be compressed.
Expand All @@ -43,20 +43,20 @@ pub async fn fetch_genesis<DB: SettingsStore>(db: &DB) -> anyhow::Result<Vec<u8>

/// Genesis CID
pub static GENESIS_CID: LazyLock<Cid> = LazyLock::new(|| {
Cid::from_str("bafy2bzacedmrdladdvj6ghy2ty4gqgu35vcta3brag3h7qo63sgybg4iwu6ou").unwrap()
Cid::from_str("bafy2bzaceakkgnqbuam2qoyds57f4h6ennt3o5or5ek3i3a4qpetirt7et5jw").unwrap()
});

/// Compressed genesis file. It is compressed with zstd and cuts the download size by 80% (from 10 MB to 2 MB).
static GENESIS_URL: LazyLock<Url> = LazyLock::new(|| {
"https://forest-snapshots.fra1.cdn.digitaloceanspaces.com/genesis/butterflynet-bafy2bzacedmrdladdvj6ghy2ty4gqgu35vcta3brag3h7qo63sgybg4iwu6ou.car.zst"
"https://forest-snapshots.fra1.cdn.digitaloceanspaces.com/genesis/butterflynet-bafy2bzaceakkgnqbuam2qoyds57f4h6ennt3o5or5ek3i3a4qpetirt7et5jw.car.zst"
.parse()
.expect("hard-coded URL must parse")
});

/// Alternative URL for the genesis file. This is hosted on the `lotus` repository.
/// `<https://github.com/filecoin-project/lotus/commit/c6068b60c526d44270bfc5d612045f0b27322dfb>`
/// `<https://github.com/filecoin-project/lotus/commit/76d4ca672262105bf406ef2f0b54ed69ea39636f>`
static GENESIS_URL_ALT: LazyLock<Url> = LazyLock::new(|| {
"https://github.com/filecoin-project/lotus/raw/8d769c51dcaa165d90c3a0b2d36b93c644db8a13/build/genesis/butterflynet.car.zst".parse().expect("hard-coded URL must parse")
"https://github.com/filecoin-project/lotus/raw/76d4ca672262105bf406ef2f0b54ed69ea39636f/build/genesis/butterflynet.car.zst".parse().expect("hard-coded URL must parse")
});

pub(crate) const MINIMUM_CONSENSUS_POWER: i64 = 2 << 30;
Expand Down Expand Up @@ -102,11 +102,11 @@ pub static HEIGHT_INFOS: LazyLock<HashMap<Height, HeightInfo>> = LazyLock::new(|
make_height!(Dragon, -25),
make_height!(Phoenix, i64::MIN),
make_height!(Waffle, -26),
make_height!(TukTuk, -27, get_bundle_cid("v15.0.0-rc1")),
make_height!(Teep, 50, get_bundle_cid("v16.0.1")),
make_height!(Tock, 100),
make_height!(GoldenWeek, 200, get_bundle_cid("v17.0.0")),
make_height!(FireHorse, i64::MAX),
make_height!(TukTuk, -27),
make_height!(Teep, -28),
make_height!(Tock, -29),
make_height!(GoldenWeek, -30),
make_height!(FireHorse, 960, get_bundle_cid("v18.0.0-rc1")),
])
});

Expand Down
5 changes: 1 addition & 4 deletions src/state_migration/mod.rs
Original file line number Diff line number Diff line change
Expand Up @@ -69,10 +69,7 @@ where
]
}
NetworkChain::Butterflynet => {
vec![
(Height::Teep, nv25::run_migration::<DB>),
(Height::GoldenWeek, nv27::run_migration::<DB>),
]
vec![(Height::FireHorse, nv28::run_migration::<DB>)]
}
NetworkChain::Devnet(_) => {
vec![
Expand Down
2 changes: 1 addition & 1 deletion tests/cmd_state_migration_tests.rs
Original file line number Diff line number Diff line change
Expand Up @@ -32,5 +32,5 @@ fn state_migration_generate_actors_metadata() {
// - the bundle list was updated and the manifest was not (this is ok, just update the manifest),
// - the manifest generation is non-deterministic (this is bad),
// - an existing bundle was updated under the same tag (this is bad, it should be immutable).
assert_eq!(json, manifest);
assert_eq!(json.trim(), manifest.trim());
}
Loading