diff --git a/.circleci/config.yml b/.circleci/config.yml index 960e47e33..89a3f6f56 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -912,6 +912,8 @@ workflows: - build suite: itest-sector_pledge target: "./itests/sector_pledge_test.go" + get-params: true + - test: name: test-itest-sector_terminate requires: diff --git a/.circleci/template.yml b/.circleci/template.yml index 33f62ee3a..3e321e87e 100644 --- a/.circleci/template.yml +++ b/.circleci/template.yml @@ -545,7 +545,7 @@ workflows: [[- if or (eq $name "worker") (eq $name "deals_concurrent") (eq $name "wdpost_worker_config")]] executor: golang-2xl [[- end]] - [[- if (eq $name "wdpost")]] + [[- if or (eq $name "wdpost") (eq $name "sector_pledge")]] get-params: true [[end]] [[- end ]][[- end]] diff --git a/build/actors/v12.tar.zst b/build/actors/v12.tar.zst index def521bd7..0c48ea426 100644 Binary files a/build/actors/v12.tar.zst and b/build/actors/v12.tar.zst differ diff --git a/build/bootstrap/butterflynet.pi b/build/bootstrap/butterflynet.pi index c7e9b2e92..b2d99fe78 100644 --- a/build/bootstrap/butterflynet.pi +++ b/build/bootstrap/butterflynet.pi @@ -1,2 +1,2 @@ -/dns4/bootstrap-0.butterfly.fildev.network/tcp/1347/p2p/12D3KooWD5mtdmjHQ1Puj9Md7SEfoa7kWMpwqUhAKsyYsBP56LQC -/dns4/bootstrap-1.butterfly.fildev.network/tcp/1347/p2p/12D3KooWEoYPkm6o87ES6AppFY7d7WHJUQg7XVPRAyQZjEU31efQ +/dns4/bootstrap-0.butterfly.fildev.network/tcp/1347/p2p/12D3KooWMH8fFcfL6K7dwRo2wqa4UjdM5pxg9DAnoWPrVRx4Dioj +/dns4/bootstrap-1.butterfly.fildev.network/tcp/1347/p2p/12D3KooWArCrw1TLyJ5r37pYvHgv9kkXNC8tu2t1Sx7hyoCHpRje diff --git a/build/builtin_actors_gen.go b/build/builtin_actors_gen.go index 3eed5bcf7..fdc1650a1 100644 --- a/build/builtin_actors_gen.go +++ b/build/builtin_actors_gen.go @@ -95,27 +95,27 @@ var EmbeddedBuiltinActorsMetadata []*BuiltinActorsMetadata = []*BuiltinActorsMet "verifiedregistry": MustParseCid("bafk2bzaceb37hxeuoo5rgf6ansrdl2ykm5v5zp6kireubn4orcopr67jbxv6k"), }, }, { - Network: "butterflynet", - Version: 12, - BundleGitTag: "v11.0.0", - ManifestCid: MustParseCid("bafy2bzaceaiy4dsxxus5xp5n5i4tjzkb7sc54mjz7qnk2efhgmsrobjesxnza"), + Network: "butterflynet", + Version: 12, + + ManifestCid: MustParseCid("bafy2bzacebwfbz63adpfgjtub2tg7yrosmxtyc4cmi55lvrv6rqnurzviuzlg"), Actors: map[string]cid.Cid{ - "account": MustParseCid("bafk2bzacecfdqb7p3jakhaa3cqnzpt7hxmhghrbxvafsylqno3febx55fnidw"), - "cron": MustParseCid("bafk2bzaceavmqu2qihgbe3xdaotgypuzvdpiifnm7ll6rolks2u4lac6voosk"), - "datacap": MustParseCid("bafk2bzacealtvh65rzb34fmyzw4m2np2htnio4w3pn4alzqovwxkdbf23dvpo"), - "eam": MustParseCid("bafk2bzacedko6hcjmwpuwgma5pb4gr2wgyvregk3nqqjxit7dv4es6vh5cjoc"), - "ethaccount": MustParseCid("bafk2bzacedhcei2xnr34poxr4xziypm2obqlibke4cs2cjfnr3sz6nf6h7fyy"), - "evm": MustParseCid("bafk2bzacebn5lwxboiikhz67ajwa34v2lc4qevnhpwdnipbmrnutkvrrqkb46"), - "init": MustParseCid("bafk2bzacea6vw4esh5tg7mprv5jkbx5xcyilcy4vvf64lss32mjyuvv2mh5ng"), - "multisig": MustParseCid("bafk2bzacedq2afnwcfipay5twv5mgzjoio5bbjvyo4yqchdwqcr7wrareyx54"), - "paymentchannel": MustParseCid("bafk2bzacebbsvr7i7mqmaadyjibe5wxnv7bwvvec2wlgknuwda6ep45amnd5w"), + "account": MustParseCid("bafk2bzacea55xtffuyilgsriwilzkezlddbjb5yqsoy7ejjx5lhuvwniev2zs"), + "cron": MustParseCid("bafk2bzacebp4sc3finb4tz7imuw7qkk7gvyaprs5rohpuomu3f4x4sub7zy4e"), + "datacap": MustParseCid("bafk2bzacea5occ7omwxfrqohsage677sift7vn5ogcyxn3g7e6rmz3wcnfbj4"), + "eam": MustParseCid("bafk2bzacebogeqkimibpwigydinqrn4j7vd23pscs4de5yfrpf2ltppcqrtec"), + "ethaccount": MustParseCid("bafk2bzacecs3afxqq4fzrvycqvpgdqcvqbojoa3nihokqox4f6dv6jmz23dpg"), + "evm": MustParseCid("bafk2bzacebbsfhhwiv6n4k5buz2xdu3yff4qs43hxlibb335jmdx5xc44wv6g"), + "init": MustParseCid("bafk2bzacecuog2pnpc6r55suclspolpnrrnxykcgc33lhlz7n3fgjy22vn7de"), + "multisig": MustParseCid("bafk2bzaceczgigux7xwsfpg2e5zyjpvpay32hn47gpn7l4jhbofii7rqgxteg"), + "paymentchannel": MustParseCid("bafk2bzacect2psbtgvrvasxef46lvk7kitpdcbfkg5u3nac72pobqcmfilhh4"), "placeholder": MustParseCid("bafk2bzacedfvut2myeleyq67fljcrw4kkmn5pb5dpyozovj7jpoez5irnc3ro"), - "reward": MustParseCid("bafk2bzaceafuh6idvaqqkj353vs4qdl42tcmvnymewu5zf4rq2nruxdyunses"), - "storagemarket": MustParseCid("bafk2bzaceb7bx4honi3byjllpdk6fea32dpu3vqvil3okodybdk5m3erlnwjw"), - "storageminer": MustParseCid("bafk2bzacebxjhofdr3sb2uhy2ky2vcijh4nhmwkh5xijtbgk6dzkknji2kn7a"), - "storagepower": MustParseCid("bafk2bzaceabskmmkas6njbowols7t4ib3bipa5abpomk3jtgfwojtzd7mjzfm"), - "system": MustParseCid("bafk2bzacedtuh7cht3fud7fb4avl4g2zbz57lc4ohiaufpaex6dkmdokn5rgo"), - "verifiedregistry": MustParseCid("bafk2bzaceb37hxeuoo5rgf6ansrdl2ykm5v5zp6kireubn4orcopr67jbxv6k"), + "reward": MustParseCid("bafk2bzacecwudnigxo45gd6khqqeowquzlguj4fkkstccnmnziovutav4fey6"), + "storagemarket": MustParseCid("bafk2bzacecfmp3jh6i3csrtyr2zyzhzpkmgelyykznin6lmyagicwf7gjpk5y"), + "storageminer": MustParseCid("bafk2bzacea7esq47iaiu6ecukvmtlgmv7oforo4f456p2gerumapbykh4cjf4"), + "storagepower": MustParseCid("bafk2bzacec6eyeyvmh5hnb6aqhmpns3ry4isxxmtqfcdlfhgatbandlfh3tzu"), + "system": MustParseCid("bafk2bzacecs7cbnk4rd2qke4jrag5evyq4a4qlp4h5mbycgoiunqrgtnz7bnk"), + "verifiedregistry": MustParseCid("bafk2bzacebwqzbqvaxyr4wlrwj7l4zg7ymu6pcqaoltnodmgjgynuizc56y4m"), }, }, { Network: "calibrationnet", @@ -201,27 +201,27 @@ var EmbeddedBuiltinActorsMetadata []*BuiltinActorsMetadata = []*BuiltinActorsMet "verifiedregistry": MustParseCid("bafk2bzaceceoo5jlom2zweh7kpye2vkj33wgqnkjshlsw2neemqkfg5g2rmvg"), }, }, { - Network: "calibrationnet", - Version: 12, - BundleGitTag: "v11.0.0", - ManifestCid: MustParseCid("bafy2bzacec5fl7crmxyw234qsmijvffhssgqwuphyaejulbryhel2pxxrxgey"), + Network: "calibrationnet", + Version: 12, + + ManifestCid: MustParseCid("bafy2bzaceaipkdiplb5geo2plfrpaxisen46lqbzn4lt7ffmsdwdps4zb6424"), Actors: map[string]cid.Cid{ - "account": MustParseCid("bafk2bzacecrjovyiuh4jryepy4pxddzqjyrg2hfinxzbv37bpzlci54r5mkr6"), - "cron": MustParseCid("bafk2bzacedy76woxmtalmsuaji4kog6wmq4h2kcgcyv5wpxbdz7f2ls2tjjmw"), - "datacap": MustParseCid("bafk2bzacec2inqddxpfm3rufwqr752d2ok3ve4cxfhmloyosy6rj2krtkpwus"), - "eam": MustParseCid("bafk2bzacea6sxno66egkqz5rqjq4e22obkeblxl7e3funjifljuinmrc2ztzg"), - "ethaccount": MustParseCid("bafk2bzacecdsvs7xm3ncm66lsjqh65uzhr3rmu3dlux7qzdgpg737r4kslhxm"), - "evm": MustParseCid("bafk2bzaceaz3b66m2znt27clmbp2zi5jsobw6g2x6fiezynyijgtkehgqhq3a"), - "init": MustParseCid("bafk2bzacecdrw7uedx456hnowtyyhm63mkekdlkh3vmlhvqlya6pn6pokiq5y"), - "multisig": MustParseCid("bafk2bzaceaxyxvmng5cel5huzy5nezscm34s7wuzn2fhndexurs3xjtp7xg5i"), - "paymentchannel": MustParseCid("bafk2bzacedrmyc4c6u6ipdo7hwaagx3urr47r4pw6lwv257wqbj6roumwfvky"), + "account": MustParseCid("bafk2bzacedgtgdr2oj2jwdp6kapxvqvuec5s5awvbcjre3npygezasdl5yb52"), + "cron": MustParseCid("bafk2bzacea4k2cgqv2aefs2rz3xd2ky25wlqoo6r3fdytlmhsf4emzqpvid2s"), + "datacap": MustParseCid("bafk2bzaceab4367hss5dd4a2q5oodmtpml5nnrnybtmf52wgxfb4cw7voxu62"), + "eam": MustParseCid("bafk2bzaceac3qbafk2ucohhurwqmoolanf33tiwtyicukiecboj3zshbd7ao2"), + "ethaccount": MustParseCid("bafk2bzacedy2lbg6qrr5z3vzyuz3qeaids7t4pvdu7ohk34e7a56xtijmhj4u"), + "evm": MustParseCid("bafk2bzacebqx3jxucwtjo5j7b5mupuybrzamq2gzd5t6lohwxzga7vuc6zhag"), + "init": MustParseCid("bafk2bzacebvqeg7ka4ogomupjnikaziqf37huz4jgvoctqwiobffdad3e2d3y"), + "multisig": MustParseCid("bafk2bzacechwpp2kvsjvrj4ry5ploj2ejkfo2zvzq4umxy7tberjaregp6kdo"), + "paymentchannel": MustParseCid("bafk2bzacedfhhvzjzhrpokf2jt7es4jq25ryagzf4qy3txyffvje23vih75i4"), "placeholder": MustParseCid("bafk2bzacedfvut2myeleyq67fljcrw4kkmn5pb5dpyozovj7jpoez5irnc3ro"), - "reward": MustParseCid("bafk2bzacecq3bhrkatwash5zhy2275ksaj3criqb6rox5e3hsyvz7mrl2jh3o"), - "storagemarket": MustParseCid("bafk2bzacedswrpkbh7jmttskllbblym7oj2ynxp7bxtj2fpbxsx55mraog6sc"), - "storageminer": MustParseCid("bafk2bzacecki6ckm7gf4uje3fxvw6x5f77ukaqctvcsfha6oaecvl67veh3sg"), - "storagepower": MustParseCid("bafk2bzacecjcvxwibkgpufeah33gfd2jzlqjx5rn2pguvvch2squon23u6kne"), - "system": MustParseCid("bafk2bzaceavvlgqbcwhy3c24aa24z23wcbzggmb66gj7x5if7o3fbvddaocc4"), - "verifiedregistry": MustParseCid("bafk2bzacedmxdtnpy2mc63b6bi2h4vp4dfc6hxjckqnwaxyijgkpmangygcmk"), + "reward": MustParseCid("bafk2bzaceby3y6qhaunjqmwrvegqh7ouj4ua7advg6eyzxcj43spaypeomjgg"), + "storagemarket": MustParseCid("bafk2bzacedgdck3s5asnn5di5ijg22gpqnxj7bynekbycvydwqgemqwzzmere"), + "storageminer": MustParseCid("bafk2bzacebwecbrksabe5w25iop6ysgwk57etueo67vnwsyny3nkzbnk6xshq"), + "storagepower": MustParseCid("bafk2bzacedam2fr6yyo5qhief6mxkxz7b53xgflntwgch6ujbc3wp35h4g4sa"), + "system": MustParseCid("bafk2bzacecfs5d6ktybdq6jeqiomte6tewufptk72qc6gstn6hb3gzkyedn3a"), + "verifiedregistry": MustParseCid("bafk2bzaceamkpusx5yglkb5oghqeihugs6zyouzxz6jjmk5s4qs4bovnpldgg"), }, }, { Network: "caterpillarnet", @@ -316,27 +316,27 @@ var EmbeddedBuiltinActorsMetadata []*BuiltinActorsMetadata = []*BuiltinActorsMet "verifiedregistry": MustParseCid("bafk2bzacedaws3or3twy45ltcxucgvqijsje4x675ph6vup2w35smlfneamno"), }, }, { - Network: "caterpillarnet", - Version: 12, - BundleGitTag: "v11.0.0", - ManifestCid: MustParseCid("bafy2bzacebexc2jgzwr5ngn6jdnkwdqwwmcapajuypdgvopoe6bnvp4yxm4o2"), + Network: "caterpillarnet", + Version: 12, + + ManifestCid: MustParseCid("bafy2bzaceaq2fun5mrdea6zrpbctybhbmjnhfwb42xryabxchdyjewdlembu4"), Actors: map[string]cid.Cid{ - "account": MustParseCid("bafk2bzaceanjiq5m3feytue5m7hhxfkob2ofg2greoct5tr77reuhrjglo66g"), - "cron": MustParseCid("bafk2bzaceavgd5qj6n744tukhdrvxejygzs3jnlizmcvjsdnxkgiimrd5jrys"), - "datacap": MustParseCid("bafk2bzacedmdywxwrzop2gmf4ys5stydlmvbe35j3nyr2efmf273briksuvse"), - "eam": MustParseCid("bafk2bzacec7qo7s72li7tqysllstlrxxm2dhfqv2w32pytel2e775cki4ozqm"), - "ethaccount": MustParseCid("bafk2bzaceaygtkliu26ubb7ivljrvaeesp5sbjlis5okzl35ishxioa2tlx4w"), - "evm": MustParseCid("bafk2bzacebo7iqzy2ophz4f3civzwlltec7q5fut7kmtfckr6vy33r6ic5eqe"), - "init": MustParseCid("bafk2bzaceb7uzzlsquqwrqhb2vpbvk3jgr4wp5i3smu2splnag2v5sppdehns"), - "multisig": MustParseCid("bafk2bzacebwibfqrytobl4pjtny244zkmfoomazbap3r5gddjryckx5js4csi"), - "paymentchannel": MustParseCid("bafk2bzacecuaa5esuxpouigxoamyl5gire2qqqhvyhewsig2x2j73f6ksh7go"), + "account": MustParseCid("bafk2bzacecvsfyecyerrkhb4wtdahiwltc47abn2an5bxktkef2wxzevuh2vg"), + "cron": MustParseCid("bafk2bzacedgofnfgnlrcsihb2dvjacekhlz6k4txc4wof3wm2n3yj2wv2exii"), + "datacap": MustParseCid("bafk2bzacedd7j6fmon4k4pepohsm5nsvdr52xagbkbroeouid2fkgkpwug32e"), + "eam": MustParseCid("bafk2bzacecbita45luvxs7v4lmwqj3pv2z5qbjeugt7vl6ct46kvd3zl53fzo"), + "ethaccount": MustParseCid("bafk2bzaceaz7esfh3itqdxiraogqtair3jlxevb2quuxfhgm3bxyers5s2mgw"), + "evm": MustParseCid("bafk2bzaceacl3yet4pmuyzzfu6bnqtcslqjbinpjlhgwltu6iklqqmytkxjro"), + "init": MustParseCid("bafk2bzaceb2iuaasrij2232x4a35glhisddmmlykqwao723urapgacqyrcixk"), + "multisig": MustParseCid("bafk2bzacedqjjgilxkqjupkwppmolav5757ngdv4vdg4hitth4kamsv272m6k"), + "paymentchannel": MustParseCid("bafk2bzaced67dmxjymwype5ugx3i2kdugh56eyew6s3rgn5uc7fhjr5tq4dwg"), "placeholder": MustParseCid("bafk2bzacedfvut2myeleyq67fljcrw4kkmn5pb5dpyozovj7jpoez5irnc3ro"), - "reward": MustParseCid("bafk2bzaced4xxqhv63njf2ibvsqshlwikafctxev7aho5lgsfxyt2javjwvtw"), - "storagemarket": MustParseCid("bafk2bzacedwtx3xokqmbgkgkoqkdt6lam4ymdjb3eznlbtec5wcrtx74l2bpc"), - "storageminer": MustParseCid("bafk2bzacebbbe4sdo3xxkez7x7lkl6j46w34vx7eg7xswmdzhp7moa44p3wjg"), - "storagepower": MustParseCid("bafk2bzacedfgz6n24tjsor4pcayomim2f5f3a3fgyatmjgwxxeejna7okndda"), - "system": MustParseCid("bafk2bzacebxfzeom3d7ahcz2n2nlwp7ncv767bdbbrisugks4l6v7lcu2tmyg"), - "verifiedregistry": MustParseCid("bafk2bzacedaws3or3twy45ltcxucgvqijsje4x675ph6vup2w35smlfneamno"), + "reward": MustParseCid("bafk2bzacedqwx7ntb2lz4l6oorvlv732oxt6ots7wfzkjeyn6wmfmasr3opvu"), + "storagemarket": MustParseCid("bafk2bzacecprrqtbvrxrbviv4x5iu7xcbf4vm3jkftsauh7dfx5lab3z4z4es"), + "storageminer": MustParseCid("bafk2bzacecesuudr3q3do4semhdtrj3j4tjaxheqz3hrqtkja42ceszxzubwe"), + "storagepower": MustParseCid("bafk2bzacednsnvf6hrjoagqnvdoa74hu7m4fbrvezqhfsq6r7n3vmv5kjoc5a"), + "system": MustParseCid("bafk2bzaceczxdboh4nwcou4lkfnxzaixqhhlpq2ypyql73p55l2qlkeeuliei"), + "verifiedregistry": MustParseCid("bafk2bzacebr3pjfzmpkauu3qs2c2ow53frjux564zjawb5tclacll23omulzk"), }, }, { Network: "devnet", @@ -422,27 +422,27 @@ var EmbeddedBuiltinActorsMetadata []*BuiltinActorsMetadata = []*BuiltinActorsMet "verifiedregistry": MustParseCid("bafk2bzacebdqi5tr5pjnem5nylg2zbqcugvi7oxi35bhnrfudx4y4ufhlit2k"), }, }, { - Network: "devnet", - Version: 12, - BundleGitTag: "v11.0.0", - ManifestCid: MustParseCid("bafy2bzaceay35go4xbjb45km6o46e5bib3bi46panhovcbedrynzwmm3drr4i"), + Network: "devnet", + Version: 12, + + ManifestCid: MustParseCid("bafy2bzaceagonf7bxmnyf7hdkw6hktywrc4qachnpocas2mhayuyucdpsi6de"), Actors: map[string]cid.Cid{ - "account": MustParseCid("bafk2bzacecf2pprkbdlpm4e2xz3ufunxtgrgyh2ie3stuqiyhibsvdze7kvri"), - "cron": MustParseCid("bafk2bzaceasr5d2skowvzv5mzsyak6waqrgc46ewj6rzbapkfi5woom6n6bwa"), - "datacap": MustParseCid("bafk2bzaceaqd77gptubupda7rp7daxkxbkzwc253dxhiyoezxvj2tljmkgpny"), - "eam": MustParseCid("bafk2bzacedve6p4ye6zxydjbfs4ode5r2equ7rqzpyltujsq2lu6wyxnijfx4"), - "ethaccount": MustParseCid("bafk2bzacea25xfsxwew3h2crer6jlb4c5vwu2gtch2jh73ocuxjhupenyrugy"), - "evm": MustParseCid("bafk2bzacece5hivtkmi757lyfahgti7xuqgofodb2u65pxgf6oizfwiiwlcsi"), - "init": MustParseCid("bafk2bzacecxnr5y7qifzdqqiwfbjxv2yr7lbkcyu3e2mf5zjdncteupxdlquu"), - "multisig": MustParseCid("bafk2bzaceayap4k4u3lbysaeeixct5fvhmafy3fa5eagvdpk3i4a7ubfdpobe"), - "paymentchannel": MustParseCid("bafk2bzaceafgrz5wepbein35gie7rnsu7zttxvgllgdneuefmmy4j5izydtza"), + "account": MustParseCid("bafk2bzacebzxft7ljumqlwrj6kbwaiblwftfigvde6zpk2jlfy6kfab3eivvw"), + "cron": MustParseCid("bafk2bzacedzx7dxt2vj27gc7rzi73qshakdjd4r4h7rjlft573kql6uuuoxze"), + "datacap": MustParseCid("bafk2bzacecut7lxz2bbfq5r2izmhbnbebdivwkfr45lfy262oiaqietmxow54"), + "eam": MustParseCid("bafk2bzaceadhudlti25kcsiuxvpjtipjh6p7wr66m76q25lcha56vxhe7iio6"), + "ethaccount": MustParseCid("bafk2bzacec2a4fcnhgvnei2eeafevcanbtmzxndprejlgigesmoyyq3vxjrta"), + "evm": MustParseCid("bafk2bzaceaikthq6wlk47covv55ddwjupvomcj6nmj6gfdpqemri2ymimtgeq"), + "init": MustParseCid("bafk2bzaceaka7tbqwgi3ogp2kcu5r7meo4l7zflycyezlck7lv5yp32ttxqyo"), + "multisig": MustParseCid("bafk2bzacebrhrgjid4mi2ch6fm7aqgwlqqt22vk54dv3o4a3iqg6scp2a6irs"), + "paymentchannel": MustParseCid("bafk2bzacecpiztcznkmreklw4kmfcydiwbnmb3pkptrr47dy6vwa6awecodzq"), "placeholder": MustParseCid("bafk2bzacedfvut2myeleyq67fljcrw4kkmn5pb5dpyozovj7jpoez5irnc3ro"), - "reward": MustParseCid("bafk2bzacedwbtfqlx47fdkxjrb5mwiatheci44x3zkpx33smybc2cme23ymuo"), - "storagemarket": MustParseCid("bafk2bzaceaj74fmooaf3gj3ebwon64ky7hhdh7kytdr3agclqfrqzmpzykh7g"), - "storageminer": MustParseCid("bafk2bzacedb7bokkzzs7hnbhivp74pgcpermuy7j6b3ncodylksukkxtnn7ze"), - "storagepower": MustParseCid("bafk2bzacedilnkegizkxz3nuutib4d4wwlk4bkla22loepia2h53yf4hysmq6"), - "system": MustParseCid("bafk2bzacedpyoncjbl4oxkjm5e77ngvpy2xfajjc4myfsv2vltvzxioattlu2"), - "verifiedregistry": MustParseCid("bafk2bzacebdqi5tr5pjnem5nylg2zbqcugvi7oxi35bhnrfudx4y4ufhlit2k"), + "reward": MustParseCid("bafk2bzaceag34lek46iifugz7bqx5pjoszasp2ldkqnbfesvpwczhlnl2giiu"), + "storagemarket": MustParseCid("bafk2bzacea7574mwdfgpsgucvgmpg6upblalqh4dgk6lurzxugj7vrygmbiga"), + "storageminer": MustParseCid("bafk2bzaceclulipufdxs46niodn7peetgd7uhrxenw7sjiilsutquj5ac3rjs"), + "storagepower": MustParseCid("bafk2bzacednqafym2q3o3t63dirrrlurtiyau5vxlup7anc4k7nxkyxdayegm"), + "system": MustParseCid("bafk2bzacea4bi63eonaqh3ol2dx5neiw245gh3h4bc5nyourvsqfwo32go3bc"), + "verifiedregistry": MustParseCid("bafk2bzacebxo7xv4gruof2p36pvdt4nqlrjypewemz35m5rvkta2unfjkhfgg"), }, }, { Network: "hyperspace", @@ -551,27 +551,27 @@ var EmbeddedBuiltinActorsMetadata []*BuiltinActorsMetadata = []*BuiltinActorsMet "verifiedregistry": MustParseCid("bafk2bzacedej3dnr62g2je2abmyjg3xqv4otvh6e26du5fcrhvw7zgcaaez3a"), }, }, { - Network: "mainnet", - Version: 12, - BundleGitTag: "v11.0.0", - ManifestCid: MustParseCid("bafy2bzacecnhaiwcrpyjvzl4uv4q3jzoif26okl3m66q3cijp3dfwlcxwztwo"), + Network: "mainnet", + Version: 12, + + ManifestCid: MustParseCid("bafy2bzacedowjygm2fy5yryyyjcww6znqngoz4rildgouuj6uk35z7a2u5gmc"), Actors: map[string]cid.Cid{ - "account": MustParseCid("bafk2bzacealnlr7st6lkwoh6wxpf2hnrlex5sknaopgmkr2tuhg7vmbfy45so"), - "cron": MustParseCid("bafk2bzacebpewdvvgt6tk2o2u4rcovdgym67tadiis5usemlbejg7k3kt567o"), - "datacap": MustParseCid("bafk2bzacebslykoyrb2hm7aacjngqgd5n2wmeii2goadrs5zaya3pvdf6pdnq"), - "eam": MustParseCid("bafk2bzaceaelwt4yfsfvsu3pa3miwalsvy3cfkcjvmt4sqoeopsppnrmj2mf2"), - "ethaccount": MustParseCid("bafk2bzaceclkmc4yidxc6lgcjpfypbde2eddnevcveo4j5kmh4ek6inqysz2k"), - "evm": MustParseCid("bafk2bzacediwh6etwzwmb5pivtclpdplewdjzphouwqpppce6opisjv2fjqfe"), - "init": MustParseCid("bafk2bzaceckwf3w6n2nw6eh77ktmsxqgsvshonvgnyk5q5syyngtetxvasfxg"), - "multisig": MustParseCid("bafk2bzaceafajceqwg5ybiz7xw6rxammuirkgtuv625gzaehsqfprm4bazjmk"), - "paymentchannel": MustParseCid("bafk2bzaceb4e6cnsnviegmqvsmoxzncruvhra54piq7bwiqfqevle6oob2gvo"), + "account": MustParseCid("bafk2bzacedzaf3mtu57zkzg64druer5yyckyjxcqzp6j7d5aub3bhtukocges"), + "cron": MustParseCid("bafk2bzaceadfvanqrxocz4meefl45p7gwf37oboufk3ek54qdpnlz3vkpecw2"), + "datacap": MustParseCid("bafk2bzacecvy53fceivrvl3zks37y5nx5a6u24h72toebefrnwcl4nxkla6j2"), + "eam": MustParseCid("bafk2bzacedpxcqfmommw6yvqmdqryb2lloyou72ga6b3daph56gntgbrachdg"), + "ethaccount": MustParseCid("bafk2bzaceaqqvv22w5664fbktnzo2pqlli3mwr6sqsm6bn2tmcrecyudclz66"), + "evm": MustParseCid("bafk2bzaceb3aktnl7hgsr7nr2murlyqzecmxcs5t3wiatdsxfgmctxh44uzcg"), + "init": MustParseCid("bafk2bzaceb4dichby4a2dilbzspkxpklbittslnnuhfe32ouotcydbaxjkyoc"), + "multisig": MustParseCid("bafk2bzaced2dvtci3pemxonxkfnyeew2fxsmzqcaun2kqkcf7eyot7k6k23zq"), + "paymentchannel": MustParseCid("bafk2bzacec64pr3ekvcokfx4z6nyl7ge4gk6ddlnv6vcpfnw3llsfxlukqbbi"), "placeholder": MustParseCid("bafk2bzacedfvut2myeleyq67fljcrw4kkmn5pb5dpyozovj7jpoez5irnc3ro"), - "reward": MustParseCid("bafk2bzacebwjw2vxkobs7r2kwjdqqb42h2kucyuk6flbnyzw4odg5s4mogamo"), - "storagemarket": MustParseCid("bafk2bzaceazu2j2zu4p24tr22btnqzkhzjvyjltlvsagaj6w3syevikeb5d7m"), - "storageminer": MustParseCid("bafk2bzacec24okjqrp7c7rj3hbrs5ez5apvwah2ruka6haesgfngf37mhk6us"), - "storagepower": MustParseCid("bafk2bzaceaxgloxuzg35vu7l7tohdgaq2frsfp4ejmuo7tkoxjp5zqrze6sf4"), - "system": MustParseCid("bafk2bzaced7npe5mt5nh72jxr2igi2sofoa7gedt4w6kueeke7i3xxugqpjfm"), - "verifiedregistry": MustParseCid("bafk2bzacedej3dnr62g2je2abmyjg3xqv4otvh6e26du5fcrhvw7zgcaaez3a"), + "reward": MustParseCid("bafk2bzacedwhowydy4bzqvixahs3dfofzuxgdmgtmbbsymgn7ml5vcx4noyb6"), + "storagemarket": MustParseCid("bafk2bzaceczbmzpnucj4jtk3i5pcygf4cnl3sd4yfpvlpwed2vte25q7crevw"), + "storageminer": MustParseCid("bafk2bzaceddf5eoidcxj3ujktarujfgvujy2ry2uhr56ah4cl5ppyonx4mib6"), + "storagepower": MustParseCid("bafk2bzacebm7akrycbzyzlkophliwlemt72qhald2f67yfzzmcjzrz4vyanpa"), + "system": MustParseCid("bafk2bzacedksemrry4htnpmlx2wxp7e6qm733zqkfxiqpm4g34g7cqkqm55tg"), + "verifiedregistry": MustParseCid("bafk2bzacea4rrffnjxdqtdluf2jgawvcksx7yhilru4bzsbdxafyxuxpbtous"), }, }, { Network: "testing", @@ -657,27 +657,27 @@ var EmbeddedBuiltinActorsMetadata []*BuiltinActorsMetadata = []*BuiltinActorsMet "verifiedregistry": MustParseCid("bafk2bzacebp2r56wxadvfzpfbmqwfi3dlnwpmoc5u4tau2hfftbkuafkhye64"), }, }, { - Network: "testing", - Version: 12, - BundleGitTag: "v11.0.0", - ManifestCid: MustParseCid("bafy2bzacea2vxre32tg3xhpejrktiuzx4d3pcoe7yyazgscfibmegmchr6n42"), + Network: "testing", + Version: 12, + + ManifestCid: MustParseCid("bafy2bzacea2qiia5hnmpryp4oxeijq4rxex2wbutksvlnfqqic3ioeh3hk4wk"), Actors: map[string]cid.Cid{ - "account": MustParseCid("bafk2bzaceccerssb3tgel6ukdghlwvs7dxsolj4fpkgn7dh7owzwapqb6ejpw"), - "cron": MustParseCid("bafk2bzacebtfl6fczxnitrqqjhyefskf3asyn3gzuvqcddieoqfsaddk5fd4q"), - "datacap": MustParseCid("bafk2bzacediikc55y6uzmnhucf4mik6rqpjulwvgp5gdibogxjhgbvusmzff2"), - "eam": MustParseCid("bafk2bzaceazqi5ezossp6kvqogaaba6hxlfarqgniktmb7iy5qonha3eflz6m"), - "ethaccount": MustParseCid("bafk2bzaceb77ospgfqqmf67v23wkyeg7lr2mu53ybaacu3bslx7s7nhttdueo"), - "evm": MustParseCid("bafk2bzacedvgt7mv22hux4vrnklylq7qmw43kfrqwam6wdsfzkdnaewr33qbu"), - "init": MustParseCid("bafk2bzacealzb3nk2oypway5ubz3hs5py5ok5tuw545454vg4d3mwbslef4js"), - "multisig": MustParseCid("bafk2bzacec45ppn4hrwizmopp2v2atkxw35tb6yem6uqhqilrv7aiaknnnxmu"), - "paymentchannel": MustParseCid("bafk2bzaceajbr3t6cngzh3katqteflbcrtwtdgbthnlfemon5tg6rytf2uonw"), + "account": MustParseCid("bafk2bzaceb432jqlwz2tfafqbmyrowojd6lhevcyg6i2gkot2a4742n4vld3c"), + "cron": MustParseCid("bafk2bzacedl5w6nowgjzrul5mllwtfhoxqr7mmovu74egitkx5v5gqunmeyrk"), + "datacap": MustParseCid("bafk2bzaceb3763jtueduhikfakm5uu7lglom5yd3kyqtjxdrgmbtmjdk3utyy"), + "eam": MustParseCid("bafk2bzaceb3fijyw3y7jcqojsos4nmhj2n5kg7jpmyh74pqic7vowvyevyrfe"), + "ethaccount": MustParseCid("bafk2bzaceb6je4q53fuvnsbubr2ozpow6jphugjfafcrdtrycpoe3742erldq"), + "evm": MustParseCid("bafk2bzaceawy7ntpzraa7zpb3jn3ins5v7z2a2bafdg6hfijme3pzeibmqudo"), + "init": MustParseCid("bafk2bzacecjnj4dupkeg6vfa4d5abhwzlgti5lxj62d76ebxuwi72qfswzsxe"), + "multisig": MustParseCid("bafk2bzacebrasao55cae4t6ss7lkmybglsbc5ep23k2xemyw4tmkklf47xah4"), + "paymentchannel": MustParseCid("bafk2bzacebfse3hrno6joffqhr7m3lqqxkbcm4h35b53zxfa7u7vuuq7avhde"), "placeholder": MustParseCid("bafk2bzacedfvut2myeleyq67fljcrw4kkmn5pb5dpyozovj7jpoez5irnc3ro"), - "reward": MustParseCid("bafk2bzacea7ycf53kbq4robcuh3ziy7qwwhaqamc5krn3lugypgpxhlewdaiq"), - "storagemarket": MustParseCid("bafk2bzacedskmbcpaeb6bezs32szh52jrukvihobluadauayroo5gzrt32tkm"), - "storageminer": MustParseCid("bafk2bzaced3yg5lctmswnbkxyd6cleg3llyux7fu2vbddyd2ho36fpym423mq"), - "storagepower": MustParseCid("bafk2bzacebvpdf372fzxgixztbz2r7ayxyvx7jmdxwlfuqt2cq7tnqgie3klw"), - "system": MustParseCid("bafk2bzaceaatvscbnkv36ixhtt2zel4er5oskxevgumh5gegqkv7uzah36f24"), - "verifiedregistry": MustParseCid("bafk2bzacebp2r56wxadvfzpfbmqwfi3dlnwpmoc5u4tau2hfftbkuafkhye64"), + "reward": MustParseCid("bafk2bzacedbx7lduyouqad2r32kugdfvornk25zvwhgua5u3b3qr44mcafxgm"), + "storagemarket": MustParseCid("bafk2bzacebvnjqvwqbvdrv47ti4fqjada4qynnph7i3dcg7pwcq44kksxiqr4"), + "storageminer": MustParseCid("bafk2bzacednlenhzjjxgue7z2vsjbnwt2pplyvh3t3ok2a6vimjdqiq4hnnkc"), + "storagepower": MustParseCid("bafk2bzacedizg46rjo3os6mopuvnyftlecfixsf5eijz2u4os3zzsepoqhrqw"), + "system": MustParseCid("bafk2bzacedvnvuuxvaednmoqtm7vo2rzdwjkwmn46oheck5xqy7i2txrwsjci"), + "verifiedregistry": MustParseCid("bafk2bzacedisnzlqdxpuopf22ya77n54jto6vi3lf7fxfcdqnchmhemlychca"), }, }, { Network: "testing-fake-proofs", @@ -763,26 +763,26 @@ var EmbeddedBuiltinActorsMetadata []*BuiltinActorsMetadata = []*BuiltinActorsMet "verifiedregistry": MustParseCid("bafk2bzacebp2r56wxadvfzpfbmqwfi3dlnwpmoc5u4tau2hfftbkuafkhye64"), }, }, { - Network: "testing-fake-proofs", - Version: 12, - BundleGitTag: "v11.0.0", - ManifestCid: MustParseCid("bafy2bzacecojemqglhzzhjnhgtrcbsgkyv67ziytvtbhwlr4ym4oxqofv7zui"), + Network: "testing-fake-proofs", + Version: 12, + + ManifestCid: MustParseCid("bafy2bzacebejjwowoaa3kkss27eksvehslp7khhrtl33dr6fz2v3tznkne25c"), Actors: map[string]cid.Cid{ - "account": MustParseCid("bafk2bzaceccerssb3tgel6ukdghlwvs7dxsolj4fpkgn7dh7owzwapqb6ejpw"), - "cron": MustParseCid("bafk2bzacebtfl6fczxnitrqqjhyefskf3asyn3gzuvqcddieoqfsaddk5fd4q"), - "datacap": MustParseCid("bafk2bzacediikc55y6uzmnhucf4mik6rqpjulwvgp5gdibogxjhgbvusmzff2"), - "eam": MustParseCid("bafk2bzaceazqi5ezossp6kvqogaaba6hxlfarqgniktmb7iy5qonha3eflz6m"), - "ethaccount": MustParseCid("bafk2bzaceb77ospgfqqmf67v23wkyeg7lr2mu53ybaacu3bslx7s7nhttdueo"), - "evm": MustParseCid("bafk2bzacedvgt7mv22hux4vrnklylq7qmw43kfrqwam6wdsfzkdnaewr33qbu"), - "init": MustParseCid("bafk2bzacealzb3nk2oypway5ubz3hs5py5ok5tuw545454vg4d3mwbslef4js"), - "multisig": MustParseCid("bafk2bzacec45ppn4hrwizmopp2v2atkxw35tb6yem6uqhqilrv7aiaknnnxmu"), - "paymentchannel": MustParseCid("bafk2bzaceajbr3t6cngzh3katqteflbcrtwtdgbthnlfemon5tg6rytf2uonw"), + "account": MustParseCid("bafk2bzaceb432jqlwz2tfafqbmyrowojd6lhevcyg6i2gkot2a4742n4vld3c"), + "cron": MustParseCid("bafk2bzacedl5w6nowgjzrul5mllwtfhoxqr7mmovu74egitkx5v5gqunmeyrk"), + "datacap": MustParseCid("bafk2bzaceb3763jtueduhikfakm5uu7lglom5yd3kyqtjxdrgmbtmjdk3utyy"), + "eam": MustParseCid("bafk2bzaceb3fijyw3y7jcqojsos4nmhj2n5kg7jpmyh74pqic7vowvyevyrfe"), + "ethaccount": MustParseCid("bafk2bzaceb6je4q53fuvnsbubr2ozpow6jphugjfafcrdtrycpoe3742erldq"), + "evm": MustParseCid("bafk2bzaceawy7ntpzraa7zpb3jn3ins5v7z2a2bafdg6hfijme3pzeibmqudo"), + "init": MustParseCid("bafk2bzacecjnj4dupkeg6vfa4d5abhwzlgti5lxj62d76ebxuwi72qfswzsxe"), + "multisig": MustParseCid("bafk2bzacebrasao55cae4t6ss7lkmybglsbc5ep23k2xemyw4tmkklf47xah4"), + "paymentchannel": MustParseCid("bafk2bzacebfse3hrno6joffqhr7m3lqqxkbcm4h35b53zxfa7u7vuuq7avhde"), "placeholder": MustParseCid("bafk2bzacedfvut2myeleyq67fljcrw4kkmn5pb5dpyozovj7jpoez5irnc3ro"), - "reward": MustParseCid("bafk2bzacea7ycf53kbq4robcuh3ziy7qwwhaqamc5krn3lugypgpxhlewdaiq"), - "storagemarket": MustParseCid("bafk2bzacedskmbcpaeb6bezs32szh52jrukvihobluadauayroo5gzrt32tkm"), - "storageminer": MustParseCid("bafk2bzacebqeztpa5exztccqjwqhan5droiy7ga6zekm6f2gzxoe655vneczm"), - "storagepower": MustParseCid("bafk2bzaceb2tlyuwxncdxsh3hc4fwcjnpxaijkiv54ustwdjbrqabxdsc27km"), - "system": MustParseCid("bafk2bzaceaatvscbnkv36ixhtt2zel4er5oskxevgumh5gegqkv7uzah36f24"), - "verifiedregistry": MustParseCid("bafk2bzacebp2r56wxadvfzpfbmqwfi3dlnwpmoc5u4tau2hfftbkuafkhye64"), + "reward": MustParseCid("bafk2bzacedbx7lduyouqad2r32kugdfvornk25zvwhgua5u3b3qr44mcafxgm"), + "storagemarket": MustParseCid("bafk2bzacebvnjqvwqbvdrv47ti4fqjada4qynnph7i3dcg7pwcq44kksxiqr4"), + "storageminer": MustParseCid("bafk2bzacebhb4prwkgqzcdvq3vziuk4n4t74fnedgpok44cakkzc47a774oou"), + "storagepower": MustParseCid("bafk2bzacebzijogcuowc7bgwb76vqhq5hkpczianyeg6bqspd4isajn66w6mu"), + "system": MustParseCid("bafk2bzacedvnvuuxvaednmoqtm7vo2rzdwjkwmn46oheck5xqy7i2txrwsjci"), + "verifiedregistry": MustParseCid("bafk2bzacedisnzlqdxpuopf22ya77n54jto6vi3lf7fxfcdqnchmhemlychca"), }, }} diff --git a/build/genesis/butterflynet.car b/build/genesis/butterflynet.car index 30ec609ec..fa9fb77b8 100644 Binary files a/build/genesis/butterflynet.car and b/build/genesis/butterflynet.car differ diff --git a/build/openrpc/full.json.gz b/build/openrpc/full.json.gz index 6bfa1da3a..377eb5d34 100644 Binary files a/build/openrpc/full.json.gz and b/build/openrpc/full.json.gz differ diff --git a/build/openrpc/gateway.json.gz b/build/openrpc/gateway.json.gz index c278e3442..a024f62ae 100644 Binary files a/build/openrpc/gateway.json.gz and b/build/openrpc/gateway.json.gz differ diff --git a/build/openrpc/miner.json.gz b/build/openrpc/miner.json.gz index 516f7e607..09d7274d5 100644 Binary files a/build/openrpc/miner.json.gz and b/build/openrpc/miner.json.gz differ diff --git a/build/openrpc/worker.json.gz b/build/openrpc/worker.json.gz index 33d55e513..a013a2395 100644 Binary files a/build/openrpc/worker.json.gz and b/build/openrpc/worker.json.gz differ diff --git a/build/params_butterfly.go b/build/params_butterfly.go index 3cdb3914f..8875482ff 100644 --- a/build/params_butterfly.go +++ b/build/params_butterfly.go @@ -19,7 +19,7 @@ var DrandSchedule = map[abi.ChainEpoch]DrandEnum{ 0: DrandMainnet, } -const GenesisNetworkVersion = network.Version18 +const GenesisNetworkVersion = network.Version20 var NetworkBundle = "butterflynet" var BundleOverrides map[actorstypes.Version]string @@ -52,10 +52,11 @@ const UpgradeOhSnapHeight = -18 const UpgradeSkyrHeight = -19 const UpgradeSharkHeight = -20 const UpgradeHyggeHeight = -21 +const UpgradeLightningHeight = -22 +const UpgradeThunderHeight = -23 -const UpgradeLightningHeight = 50 - -const UpgradeThunderHeight = UpgradeLightningHeight + 360 +// 2023-08-07 +const UpgradeWatermelonHeight = 900 // ?????????? const UpgradeWatermelonHeight = 999999999999999 diff --git a/chain/actors/builtin/miner/actor.go.template b/chain/actors/builtin/miner/actor.go.template index 78d0765c3..b4ad3a4b5 100644 --- a/chain/actors/builtin/miner/actor.go.template +++ b/chain/actors/builtin/miner/actor.go.template @@ -154,7 +154,7 @@ type Partition interface { type SectorOnChainInfo = minertypes.SectorOnChainInfo -func PreferredSealProofTypeFromWindowPoStType(nver network.Version, proof abi.RegisteredPoStProof) (abi.RegisteredSealProof, error) { +func PreferredSealProofTypeFromWindowPoStType(nver network.Version, proof abi.RegisteredPoStProof, configWantSynthetic bool) (abi.RegisteredSealProof, error) { // We added support for the new proofs in network version 7, and removed support for the old // ones in network version 8. if nver < network.Version7 { @@ -174,17 +174,34 @@ func PreferredSealProofTypeFromWindowPoStType(nver network.Version, proof abi.Re } } + if nver < MinSyntheticPoRepVersion || !configWantSynthetic { + switch proof { + case abi.RegisteredPoStProof_StackedDrgWindow2KiBV1, abi.RegisteredPoStProof_StackedDrgWindow2KiBV1_1: + return abi.RegisteredSealProof_StackedDrg2KiBV1_1, nil + case abi.RegisteredPoStProof_StackedDrgWindow8MiBV1, abi.RegisteredPoStProof_StackedDrgWindow8MiBV1_1: + return abi.RegisteredSealProof_StackedDrg8MiBV1_1, nil + case abi.RegisteredPoStProof_StackedDrgWindow512MiBV1, abi.RegisteredPoStProof_StackedDrgWindow512MiBV1_1: + return abi.RegisteredSealProof_StackedDrg512MiBV1_1, nil + case abi.RegisteredPoStProof_StackedDrgWindow32GiBV1, abi.RegisteredPoStProof_StackedDrgWindow32GiBV1_1: + return abi.RegisteredSealProof_StackedDrg32GiBV1_1, nil + case abi.RegisteredPoStProof_StackedDrgWindow64GiBV1, abi.RegisteredPoStProof_StackedDrgWindow64GiBV1_1: + return abi.RegisteredSealProof_StackedDrg64GiBV1_1, nil + default: + return -1, xerrors.Errorf("unrecognized window post type: %d", proof) + } + } + switch proof { case abi.RegisteredPoStProof_StackedDrgWindow2KiBV1, abi.RegisteredPoStProof_StackedDrgWindow2KiBV1_1: - return abi.RegisteredSealProof_StackedDrg2KiBV1_1, nil + return abi.RegisteredSealProof_StackedDrg2KiBV1_1_Feat_SyntheticPoRep, nil case abi.RegisteredPoStProof_StackedDrgWindow8MiBV1, abi.RegisteredPoStProof_StackedDrgWindow8MiBV1_1: - return abi.RegisteredSealProof_StackedDrg8MiBV1_1, nil + return abi.RegisteredSealProof_StackedDrg8MiBV1_1_Feat_SyntheticPoRep, nil case abi.RegisteredPoStProof_StackedDrgWindow512MiBV1, abi.RegisteredPoStProof_StackedDrgWindow512MiBV1_1: - return abi.RegisteredSealProof_StackedDrg512MiBV1_1, nil + return abi.RegisteredSealProof_StackedDrg512MiBV1_1_Feat_SyntheticPoRep, nil case abi.RegisteredPoStProof_StackedDrgWindow32GiBV1, abi.RegisteredPoStProof_StackedDrgWindow32GiBV1_1: - return abi.RegisteredSealProof_StackedDrg32GiBV1_1, nil + return abi.RegisteredSealProof_StackedDrg32GiBV1_1_Feat_SyntheticPoRep, nil case abi.RegisteredPoStProof_StackedDrgWindow64GiBV1, abi.RegisteredPoStProof_StackedDrgWindow64GiBV1_1: - return abi.RegisteredSealProof_StackedDrg64GiBV1_1, nil + return abi.RegisteredSealProof_StackedDrg64GiBV1_1_Feat_SyntheticPoRep, nil default: return -1, xerrors.Errorf("unrecognized window post type: %d", proof) } diff --git a/chain/actors/builtin/miner/miner.go b/chain/actors/builtin/miner/miner.go index f957877ba..1637cdade 100644 --- a/chain/actors/builtin/miner/miner.go +++ b/chain/actors/builtin/miner/miner.go @@ -214,7 +214,7 @@ type Partition interface { type SectorOnChainInfo = minertypes.SectorOnChainInfo -func PreferredSealProofTypeFromWindowPoStType(nver network.Version, proof abi.RegisteredPoStProof) (abi.RegisteredSealProof, error) { +func PreferredSealProofTypeFromWindowPoStType(nver network.Version, proof abi.RegisteredPoStProof, configWantSynthetic bool) (abi.RegisteredSealProof, error) { // We added support for the new proofs in network version 7, and removed support for the old // ones in network version 8. if nver < network.Version7 { @@ -234,17 +234,34 @@ func PreferredSealProofTypeFromWindowPoStType(nver network.Version, proof abi.Re } } + if nver < MinSyntheticPoRepVersion || !configWantSynthetic { + switch proof { + case abi.RegisteredPoStProof_StackedDrgWindow2KiBV1, abi.RegisteredPoStProof_StackedDrgWindow2KiBV1_1: + return abi.RegisteredSealProof_StackedDrg2KiBV1_1, nil + case abi.RegisteredPoStProof_StackedDrgWindow8MiBV1, abi.RegisteredPoStProof_StackedDrgWindow8MiBV1_1: + return abi.RegisteredSealProof_StackedDrg8MiBV1_1, nil + case abi.RegisteredPoStProof_StackedDrgWindow512MiBV1, abi.RegisteredPoStProof_StackedDrgWindow512MiBV1_1: + return abi.RegisteredSealProof_StackedDrg512MiBV1_1, nil + case abi.RegisteredPoStProof_StackedDrgWindow32GiBV1, abi.RegisteredPoStProof_StackedDrgWindow32GiBV1_1: + return abi.RegisteredSealProof_StackedDrg32GiBV1_1, nil + case abi.RegisteredPoStProof_StackedDrgWindow64GiBV1, abi.RegisteredPoStProof_StackedDrgWindow64GiBV1_1: + return abi.RegisteredSealProof_StackedDrg64GiBV1_1, nil + default: + return -1, xerrors.Errorf("unrecognized window post type: %d", proof) + } + } + switch proof { case abi.RegisteredPoStProof_StackedDrgWindow2KiBV1, abi.RegisteredPoStProof_StackedDrgWindow2KiBV1_1: - return abi.RegisteredSealProof_StackedDrg2KiBV1_1, nil + return abi.RegisteredSealProof_StackedDrg2KiBV1_1_Feat_SyntheticPoRep, nil case abi.RegisteredPoStProof_StackedDrgWindow8MiBV1, abi.RegisteredPoStProof_StackedDrgWindow8MiBV1_1: - return abi.RegisteredSealProof_StackedDrg8MiBV1_1, nil + return abi.RegisteredSealProof_StackedDrg8MiBV1_1_Feat_SyntheticPoRep, nil case abi.RegisteredPoStProof_StackedDrgWindow512MiBV1, abi.RegisteredPoStProof_StackedDrgWindow512MiBV1_1: - return abi.RegisteredSealProof_StackedDrg512MiBV1_1, nil + return abi.RegisteredSealProof_StackedDrg512MiBV1_1_Feat_SyntheticPoRep, nil case abi.RegisteredPoStProof_StackedDrgWindow32GiBV1, abi.RegisteredPoStProof_StackedDrgWindow32GiBV1_1: - return abi.RegisteredSealProof_StackedDrg32GiBV1_1, nil + return abi.RegisteredSealProof_StackedDrg32GiBV1_1_Feat_SyntheticPoRep, nil case abi.RegisteredPoStProof_StackedDrgWindow64GiBV1, abi.RegisteredPoStProof_StackedDrgWindow64GiBV1_1: - return abi.RegisteredSealProof_StackedDrg64GiBV1_1, nil + return abi.RegisteredSealProof_StackedDrg64GiBV1_1_Feat_SyntheticPoRep, nil default: return -1, xerrors.Errorf("unrecognized window post type: %d", proof) } diff --git a/chain/actors/builtin/miner/utils.go b/chain/actors/builtin/miner/utils.go index dae3d3bc2..072eab986 100644 --- a/chain/actors/builtin/miner/utils.go +++ b/chain/actors/builtin/miner/utils.go @@ -8,6 +8,8 @@ import ( "github.com/filecoin-project/go-state-types/network" ) +var MinSyntheticPoRepVersion = network.Version21 + func AllPartSectors(mas State, sget func(Partition) (bitfield.BitField, error)) (bitfield.BitField, error) { var parts []bitfield.BitField @@ -31,7 +33,7 @@ func AllPartSectors(mas State, sget func(Partition) (bitfield.BitField, error)) // SealProofTypeFromSectorSize returns preferred seal proof type for creating // new miner actors and new sectors -func SealProofTypeFromSectorSize(ssize abi.SectorSize, nv network.Version) (abi.RegisteredSealProof, error) { +func SealProofTypeFromSectorSize(ssize abi.SectorSize, nv network.Version, synthetic bool) (abi.RegisteredSealProof, error) { switch { case nv < network.Version7: switch ssize { @@ -49,25 +51,49 @@ func SealProofTypeFromSectorSize(ssize abi.SectorSize, nv network.Version) (abi. return 0, xerrors.Errorf("unsupported sector size for miner: %v", ssize) } case nv >= network.Version7: + var v abi.RegisteredSealProof switch ssize { case 2 << 10: - return abi.RegisteredSealProof_StackedDrg2KiBV1_1, nil + v = abi.RegisteredSealProof_StackedDrg2KiBV1_1 case 8 << 20: - return abi.RegisteredSealProof_StackedDrg8MiBV1_1, nil + v = abi.RegisteredSealProof_StackedDrg8MiBV1_1 case 512 << 20: - return abi.RegisteredSealProof_StackedDrg512MiBV1_1, nil + v = abi.RegisteredSealProof_StackedDrg512MiBV1_1 case 32 << 30: - return abi.RegisteredSealProof_StackedDrg32GiBV1_1, nil + v = abi.RegisteredSealProof_StackedDrg32GiBV1_1 case 64 << 30: - return abi.RegisteredSealProof_StackedDrg64GiBV1_1, nil + v = abi.RegisteredSealProof_StackedDrg64GiBV1_1 default: return 0, xerrors.Errorf("unsupported sector size for miner: %v", ssize) } + + if nv >= MinSyntheticPoRepVersion && synthetic { + return toSynthetic(v) + } else { + return v, nil + } } return 0, xerrors.Errorf("unsupported network version") } +func toSynthetic(in abi.RegisteredSealProof) (abi.RegisteredSealProof, error) { + switch in { + case abi.RegisteredSealProof_StackedDrg2KiBV1_1: + return abi.RegisteredSealProof_StackedDrg2KiBV1_1_Feat_SyntheticPoRep, nil + case abi.RegisteredSealProof_StackedDrg8MiBV1_1: + return abi.RegisteredSealProof_StackedDrg8MiBV1_1_Feat_SyntheticPoRep, nil + case abi.RegisteredSealProof_StackedDrg512MiBV1_1: + return abi.RegisteredSealProof_StackedDrg512MiBV1_1_Feat_SyntheticPoRep, nil + case abi.RegisteredSealProof_StackedDrg32GiBV1_1: + return abi.RegisteredSealProof_StackedDrg32GiBV1_1_Feat_SyntheticPoRep, nil + case abi.RegisteredSealProof_StackedDrg64GiBV1_1: + return abi.RegisteredSealProof_StackedDrg64GiBV1_1_Feat_SyntheticPoRep, nil + default: + return 0, xerrors.Errorf("unsupported conversion to synthetic: %v", in) + } +} + // WindowPoStProofTypeFromSectorSize returns preferred post proof type for creating // new miner actors and new sectors func WindowPoStProofTypeFromSectorSize(ssize abi.SectorSize, nv network.Version) (abi.RegisteredPoStProof, error) { diff --git a/chain/gen/genesis/genesis.go b/chain/gen/genesis/genesis.go index 3e8848021..8ec657479 100644 --- a/chain/gen/genesis/genesis.go +++ b/chain/gen/genesis/genesis.go @@ -578,7 +578,7 @@ func MakeGenesisBlock(ctx context.Context, j journal.Journal, bs bstore.Blocksto } // setup Storage Miners - stateroot, err = SetupStorageMiners(ctx, cs, sys, stateroot, template.Miners, template.NetworkVersion) + stateroot, err = SetupStorageMiners(ctx, cs, sys, stateroot, template.Miners, template.NetworkVersion, false) if err != nil { return nil, xerrors.Errorf("setup miners failed: %w", err) } diff --git a/chain/gen/genesis/miners.go b/chain/gen/genesis/miners.go index 2d9942464..7905fd253 100644 --- a/chain/gen/genesis/miners.go +++ b/chain/gen/genesis/miners.go @@ -79,7 +79,7 @@ func mkFakedSigSyscalls(base vm.SyscallBuilder) vm.SyscallBuilder { } // Note: Much of this is brittle, if the methodNum / param / return changes, it will break things -func SetupStorageMiners(ctx context.Context, cs *store.ChainStore, sys vm.SyscallBuilder, sroot cid.Cid, miners []genesis.Miner, nv network.Version) (cid.Cid, error) { +func SetupStorageMiners(ctx context.Context, cs *store.ChainStore, sys vm.SyscallBuilder, sroot cid.Cid, miners []genesis.Miner, nv network.Version, synthetic bool) (cid.Cid, error) { cst := cbor.NewCborStore(cs.StateBlockstore()) av, err := actorstypes.VersionForNetwork(nv) @@ -132,7 +132,7 @@ func SetupStorageMiners(ctx context.Context, cs *store.ChainStore, sys vm.Syscal i := i m := m - spt, err := miner.SealProofTypeFromSectorSize(m.SectorSize, nv) + spt, err := miner.SealProofTypeFromSectorSize(m.SectorSize, nv, synthetic) if err != nil { return cid.Undef, err } diff --git a/chain/types/cbor_gen.go b/chain/types/cbor_gen.go index 90d1a14c5..a9040613f 100644 --- a/chain/types/cbor_gen.go +++ b/chain/types/cbor_gen.go @@ -2289,7 +2289,7 @@ func (t *GasTrace) UnmarshalCBOR(r io.Reader) (err error) { return nil } -var lengthBufMessageTrace = []byte{134} +var lengthBufMessageTrace = []byte{137} func (t *MessageTrace) MarshalCBOR(w io.Writer) error { if t == nil { @@ -2343,6 +2343,23 @@ func (t *MessageTrace) MarshalCBOR(w io.Writer) error { return err } + // t.GasLimit (uint64) (uint64) + + if err := cw.WriteMajorTypeHeader(cbg.MajUnsignedInt, uint64(t.GasLimit)); err != nil { + return err + } + + // t.ReadOnly (bool) (bool) + if err := cbg.WriteBool(w, t.ReadOnly); err != nil { + return err + } + + // t.CodeCid (cid.Cid) (struct) + + if err := cbg.WriteCid(cw, t.CodeCid); err != nil { + return xerrors.Errorf("failed to write cid field t.CodeCid: %w", err) + } + return nil } @@ -2365,7 +2382,7 @@ func (t *MessageTrace) UnmarshalCBOR(r io.Reader) (err error) { return fmt.Errorf("cbor input should be of type array") } - if extra != 6 { + if extra != 9 { return fmt.Errorf("cbor input had wrong number of fields") } @@ -2444,6 +2461,49 @@ func (t *MessageTrace) UnmarshalCBOR(r io.Reader) (err error) { } t.ParamsCodec = uint64(extra) + } + // t.GasLimit (uint64) (uint64) + + { + + maj, extra, err = cr.ReadHeader() + if err != nil { + return err + } + if maj != cbg.MajUnsignedInt { + return fmt.Errorf("wrong type for uint64 field") + } + t.GasLimit = uint64(extra) + + } + // t.ReadOnly (bool) (bool) + + maj, extra, err = cr.ReadHeader() + if err != nil { + return err + } + if maj != cbg.MajOther { + return fmt.Errorf("booleans must be major type 7") + } + switch extra { + case 20: + t.ReadOnly = false + case 21: + t.ReadOnly = true + default: + return fmt.Errorf("booleans are either major type 7, value 20 or 21 (got %d)", extra) + } + // t.CodeCid (cid.Cid) (struct) + + { + + c, err := cbg.ReadCid(cr) + if err != nil { + return xerrors.Errorf("failed to read cid field t.CodeCid: %w", err) + } + + t.CodeCid = c + } return nil } diff --git a/chain/types/execresult.go b/chain/types/execresult.go index 2a25d22e2..4556f7b88 100644 --- a/chain/types/execresult.go +++ b/chain/types/execresult.go @@ -4,6 +4,8 @@ import ( "encoding/json" "time" + "github.com/ipfs/go-cid" + "github.com/filecoin-project/go-address" "github.com/filecoin-project/go-state-types/abi" "github.com/filecoin-project/go-state-types/exitcode" @@ -24,6 +26,9 @@ type MessageTrace struct { Method abi.MethodNum Params []byte ParamsCodec uint64 + GasLimit uint64 + ReadOnly bool + CodeCid cid.Cid } type ReturnTrace struct { diff --git a/cmd/lotus-bench/main.go b/cmd/lotus-bench/main.go index 6e7e274f2..303dd52c9 100644 --- a/cmd/lotus-bench/main.go +++ b/cmd/lotus-bench/main.go @@ -334,7 +334,7 @@ var sealBenchCmd = &cli.Command{ if !skipc2 { log.Info("generating winning post candidates") - wipt, err := spt(sectorSize).RegisteredWinningPoStProof() + wipt, err := spt(sectorSize, false).RegisteredWinningPoStProof() if err != nil { return err } @@ -552,7 +552,7 @@ func runSeals(sb *ffiwrapper.Sealer, sbfs *basicfs.Provider, numSectors int, par Miner: mid, Number: i, }, - ProofType: spt(sectorSize), + ProofType: spt(sectorSize, false), } start := time.Now() @@ -584,7 +584,7 @@ func runSeals(sb *ffiwrapper.Sealer, sbfs *basicfs.Provider, numSectors int, par Miner: mid, Number: i, }, - ProofType: spt(sectorSize), + ProofType: spt(sectorSize, false), } start := time.Now() @@ -795,7 +795,7 @@ var proveCmd = &cli.Command{ Miner: abi.ActorID(mid), Number: abi.SectorNumber(c2in.SectorNum), }, - ProofType: spt(abi.SectorSize(c2in.SectorSize)), + ProofType: spt(abi.SectorSize(c2in.SectorSize), false), } fmt.Printf("----\nstart proof computation\n") @@ -826,8 +826,8 @@ func bps(sectorSize abi.SectorSize, sectorNum int, d time.Duration) string { return types.SizeStr(types.BigInt{Int: bps}) + "/s" } -func spt(ssize abi.SectorSize) abi.RegisteredSealProof { - spt, err := miner.SealProofTypeFromSectorSize(ssize, build.TestNetworkVersion) +func spt(ssize abi.SectorSize, synth bool) abi.RegisteredSealProof { + spt, err := miner.SealProofTypeFromSectorSize(ssize, build.TestNetworkVersion, synth) if err != nil { panic(err) } diff --git a/cmd/lotus-bench/simple.go b/cmd/lotus-bench/simple.go index a742b0fb3..d19c37bc9 100644 --- a/cmd/lotus-bench/simple.go +++ b/cmd/lotus-bench/simple.go @@ -181,7 +181,7 @@ var simpleAddPiece = &cli.Command{ Miner: mid, Number: 1, }, - ProofType: spt(sectorSize), + ProofType: spt(sectorSize, false), } data, err := os.Open(cctx.Args().First()) @@ -218,6 +218,10 @@ var simplePreCommit1 = &cli.Command{ Usage: "pass miner address (only necessary if using existing sectorbuilder)", Value: "t01000", }, + &cli.BoolFlag{ + Name: "synthetic", + Usage: "generate synthetic PoRep proofs", + }, }, ArgsUsage: "[unsealed] [sealed] [cache] [[piece cid] [piece size]]...", Action: func(cctx *cli.Context) error { @@ -254,7 +258,7 @@ var simplePreCommit1 = &cli.Command{ Miner: mid, Number: 1, }, - ProofType: spt(sectorSize), + ProofType: spt(sectorSize, cctx.Bool("synthetic")), } var ticket [32]byte // all zero @@ -292,6 +296,10 @@ var simplePreCommit2 = &cli.Command{ Usage: "pass miner address (only necessary if using existing sectorbuilder)", Value: "t01000", }, + &cli.BoolFlag{ + Name: "synthetic", + Usage: "generate synthetic PoRep proofs", + }, }, ArgsUsage: "[sealed] [cache] [pc1 out]", Action: func(cctx *cli.Context) error { @@ -332,7 +340,7 @@ var simplePreCommit2 = &cli.Command{ Miner: mid, Number: 1, }, - ProofType: spt(sectorSize), + ProofType: spt(sectorSize, cctx.Bool("synthetic")), } start := time.Now() @@ -363,6 +371,10 @@ var simpleCommit1 = &cli.Command{ Usage: "pass miner address (only necessary if using existing sectorbuilder)", Value: "t01000", }, + &cli.BoolFlag{ + Name: "synthetic", + Usage: "generate synthetic PoRep proofs", + }, }, ArgsUsage: "[sealed] [cache] [comm D] [comm R] [c1out.json]", Action: func(cctx *cli.Context) error { @@ -398,7 +410,7 @@ var simpleCommit1 = &cli.Command{ Miner: mid, Number: 1, }, - ProofType: spt(sectorSize), + ProofType: spt(sectorSize, cctx.Bool("synthetic")), } start := time.Now() @@ -464,6 +476,10 @@ var simpleCommit2 = &cli.Command{ Usage: "pass miner address (only necessary if using existing sectorbuilder)", Value: "t01000", }, + &cli.BoolFlag{ + Name: "synthetic", + Usage: "generate synthetic PoRep proofs", + }, }, Action: func(c *cli.Context) error { if c.Bool("no-gpu") { @@ -510,7 +526,7 @@ var simpleCommit2 = &cli.Command{ Miner: abi.ActorID(mid), Number: abi.SectorNumber(c2in.SectorNum), }, - ProofType: spt(abi.SectorSize(c2in.SectorSize)), + ProofType: spt(abi.SectorSize(c2in.SectorSize), c.Bool("synthetic")), } start := time.Now() @@ -568,7 +584,7 @@ var simpleWindowPost = &cli.Command{ return xerrors.Errorf("parse commr: %w", err) } - wpt, err := spt(sectorSize).RegisteredWindowPoStProof() + wpt, err := spt(sectorSize, false).RegisteredWindowPoStProof() if err != nil { return err } @@ -588,7 +604,7 @@ var simpleWindowPost = &cli.Command{ vp, err := ffi.GenerateSingleVanillaProof(ffi.PrivateSectorInfo{ SectorInfo: prf.SectorInfo{ - SealProof: spt(sectorSize), + SealProof: spt(sectorSize, false), SectorNumber: sn, SealedCID: commr, }, @@ -655,7 +671,7 @@ var simpleWinningPost = &cli.Command{ return xerrors.Errorf("parse commr: %w", err) } - wpt, err := spt(sectorSize).RegisteredWinningPoStProof() + wpt, err := spt(sectorSize, false).RegisteredWinningPoStProof() if err != nil { return err } @@ -675,7 +691,7 @@ var simpleWinningPost = &cli.Command{ vp, err := ffi.GenerateSingleVanillaProof(ffi.PrivateSectorInfo{ SectorInfo: prf.SectorInfo{ - SealProof: spt(sectorSize), + SealProof: spt(sectorSize, false), SectorNumber: sn, SealedCID: commr, }, @@ -758,7 +774,7 @@ var simpleReplicaUpdate = &cli.Command{ Miner: mid, Number: 1, }, - ProofType: spt(sectorSize), + ProofType: spt(sectorSize, false), } start := time.Now() @@ -826,7 +842,7 @@ var simpleProveReplicaUpdate1 = &cli.Command{ Miner: mid, Number: 1, }, - ProofType: spt(sectorSize), + ProofType: spt(sectorSize, false), } start := time.Now() @@ -913,7 +929,7 @@ var simpleProveReplicaUpdate2 = &cli.Command{ Miner: mid, Number: 1, }, - ProofType: spt(sectorSize), + ProofType: spt(sectorSize, false), } start := time.Now() diff --git a/cmd/lotus-miner/sectors.go b/cmd/lotus-miner/sectors.go index f7bec3ccb..5c8cf6b87 100644 --- a/cmd/lotus-miner/sectors.go +++ b/cmd/lotus-miner/sectors.go @@ -1740,7 +1740,7 @@ var sectorsCapacityCollateralCmd = &cli.Command{ return err } - spt, err := miner.PreferredSealProofTypeFromWindowPoStType(nv, mi.WindowPoStProofType) + spt, err := miner.PreferredSealProofTypeFromWindowPoStType(nv, mi.WindowPoStProofType, false) if err != nil { return err } diff --git a/cmd/lotus-seed/main.go b/cmd/lotus-seed/main.go index 863a508f2..d362804c9 100644 --- a/cmd/lotus-seed/main.go +++ b/cmd/lotus-seed/main.go @@ -137,7 +137,9 @@ var preSealCmd = &cli.Command{ nv = network.Version(c.Uint64("network-version")) } - spt, err := miner.SealProofTypeFromSectorSize(sectorSize, nv) + var synthetic = false // there's little reason to have this for a seed. + + spt, err := miner.SealProofTypeFromSectorSize(sectorSize, nv, synthetic) if err != nil { return err } diff --git a/cmd/lotus-shed/main.go b/cmd/lotus-shed/main.go index 13ab6af0d..12f52c68f 100644 --- a/cmd/lotus-shed/main.go +++ b/cmd/lotus-shed/main.go @@ -5,6 +5,7 @@ import ( "fmt" "os" "os/signal" + "runtime/pprof" logging "github.com/ipfs/go-log/v2" "github.com/urfave/cli/v2" @@ -114,10 +115,31 @@ func main() { Name: "log-level", Value: "info", }, + &cli.StringFlag{ + Name: "pprof", + Usage: "specify name of file for writing cpu profile to", + }, }, Before: func(cctx *cli.Context) error { + if prof := cctx.String("pprof"); prof != "" { + profile, err := os.Create(prof) + if err != nil { + return err + } + + if err := pprof.StartCPUProfile(profile); err != nil { + return err + } + } + return logging.SetLogLevel("lotus-shed", cctx.String("log-level")) }, + After: func(cctx *cli.Context) error { + if prof := cctx.String("pprof"); prof != "" { + pprof.StopCPUProfile() + } + return nil + }, } // terminate early on ctrl+c diff --git a/cmd/lotus-shed/migrations.go b/cmd/lotus-shed/migrations.go index 82a1afddf..96e4747b7 100644 --- a/cmd/lotus-shed/migrations.go +++ b/cmd/lotus-shed/migrations.go @@ -21,6 +21,7 @@ import ( "github.com/filecoin-project/go-state-types/builtin" v10 "github.com/filecoin-project/go-state-types/builtin/v10" v11 "github.com/filecoin-project/go-state-types/builtin/v11" + v12 "github.com/filecoin-project/go-state-types/builtin/v12" market8 "github.com/filecoin-project/go-state-types/builtin/v8/market" adt8 "github.com/filecoin-project/go-state-types/builtin/v8/util/adt" v9 "github.com/filecoin-project/go-state-types/builtin/v9" @@ -243,6 +244,8 @@ func getMigrationFuncsForNetwork(nv network.Version) (UpgradeActorsFunc, PreUpgr return filcns.UpgradeActorsV10, filcns.PreUpgradeActorsV10, checkNv18Invariants, nil case network.Version19: return filcns.UpgradeActorsV11, filcns.PreUpgradeActorsV11, checkNv19Invariants, nil + case network.Version21: + return filcns.UpgradeActorsV12, filcns.PreUpgradeActorsV12, checkNv21Invariants, nil default: return nil, nil, nil, xerrors.Errorf("migration not implemented for nv%d", nv) } @@ -252,6 +255,38 @@ type UpgradeActorsFunc = func(context.Context, *stmgr.StateManager, stmgr.Migrat type PreUpgradeActorsFunc = func(context.Context, *stmgr.StateManager, stmgr.MigrationCache, cid.Cid, abi.ChainEpoch, *types.TipSet) error type CheckInvariantsFunc = func(context.Context, cid.Cid, cid.Cid, blockstore.Blockstore, abi.ChainEpoch) error +func checkNv21Invariants(ctx context.Context, oldStateRootCid cid.Cid, newStateRootCid cid.Cid, bs blockstore.Blockstore, epoch abi.ChainEpoch) error { + + actorStore := store.ActorStore(ctx, bs) + startTime := time.Now() + + // Load the new state root. + var newStateRoot types.StateRoot + if err := actorStore.Get(ctx, newStateRootCid, &newStateRoot); err != nil { + return xerrors.Errorf("failed to decode state root: %w", err) + } + + actorCodeCids, err := actors.GetActorCodeIDs(actorstypes.Version12) + if err != nil { + return err + } + newActorTree, err := builtin.LoadTree(actorStore, newStateRoot.Actors) + if err != nil { + return err + } + messages, err := v12.CheckStateInvariants(newActorTree, epoch, actorCodeCids) + if err != nil { + return xerrors.Errorf("checking state invariants: %w", err) + } + + for _, message := range messages.Messages() { + fmt.Println("got the following error: ", message) + } + + fmt.Println("completed invariant checks, took ", time.Since(startTime)) + + return nil +} func checkNv19Invariants(ctx context.Context, oldStateRootCid cid.Cid, newStateRootCid cid.Cid, bs blockstore.Blockstore, epoch abi.ChainEpoch) error { actorStore := store.ActorStore(ctx, bs) diff --git a/cmd/lotus-sim/simulation/stages/precommit_stage.go b/cmd/lotus-sim/simulation/stages/precommit_stage.go index 8f82d8988..5373ebe54 100644 --- a/cmd/lotus-sim/simulation/stages/precommit_stage.go +++ b/cmd/lotus-sim/simulation/stages/precommit_stage.go @@ -165,7 +165,7 @@ func (stage *PreCommitStage) packMiner( // Generate pre-commits. sealType, err := miner.PreferredSealProofTypeFromWindowPoStType( - nv, minerInfo.WindowPoStProofType, + nv, minerInfo.WindowPoStProofType, false, ) if err != nil { return 0, false, err diff --git a/documentation/en/api-v0-methods-miner.md b/documentation/en/api-v0-methods-miner.md index 04c037bc5..57070caed 100644 --- a/documentation/en/api-v0-methods-miner.md +++ b/documentation/en/api-v0-methods-miner.md @@ -4213,6 +4213,51 @@ Response: "BaseMinMemory": 8388608, "MaxConcurrent": 0 }, + "10": { + "MinMemory": 2048, + "MaxMemory": 2048, + "GPUUtilization": 1, + "MaxParallelism": 1, + "MaxParallelismGPU": 0, + "BaseMinMemory": 2048, + "MaxConcurrent": 0 + }, + "11": { + "MinMemory": 8388608, + "MaxMemory": 8388608, + "GPUUtilization": 1, + "MaxParallelism": 1, + "MaxParallelismGPU": 0, + "BaseMinMemory": 8388608, + "MaxConcurrent": 0 + }, + "12": { + "MinMemory": 1073741824, + "MaxMemory": 1610612736, + "GPUUtilization": 1, + "MaxParallelism": 1, + "MaxParallelismGPU": 0, + "BaseMinMemory": 10737418240, + "MaxConcurrent": 0 + }, + "13": { + "MinMemory": 32212254720, + "MaxMemory": 103079215104, + "GPUUtilization": 1, + "MaxParallelism": -1, + "MaxParallelismGPU": 6, + "BaseMinMemory": 34359738368, + "MaxConcurrent": 0 + }, + "14": { + "MinMemory": 64424509440, + "MaxMemory": 128849018880, + "GPUUtilization": 1, + "MaxParallelism": -1, + "MaxParallelismGPU": 6, + "BaseMinMemory": 68719476736, + "MaxConcurrent": 0 + }, "2": { "MinMemory": 1073741824, "MaxMemory": 1610612736, @@ -4305,6 +4350,51 @@ Response: "BaseMinMemory": 8388608, "MaxConcurrent": 0 }, + "10": { + "MinMemory": 2048, + "MaxMemory": 2048, + "GPUUtilization": 1, + "MaxParallelism": 1, + "MaxParallelismGPU": 0, + "BaseMinMemory": 2048, + "MaxConcurrent": 0 + }, + "11": { + "MinMemory": 8388608, + "MaxMemory": 8388608, + "GPUUtilization": 1, + "MaxParallelism": 1, + "MaxParallelismGPU": 0, + "BaseMinMemory": 8388608, + "MaxConcurrent": 0 + }, + "12": { + "MinMemory": 2048, + "MaxMemory": 2048, + "GPUUtilization": 1, + "MaxParallelism": 1, + "MaxParallelismGPU": 0, + "BaseMinMemory": 10737418240, + "MaxConcurrent": 0 + }, + "13": { + "MinMemory": 1073741824, + "MaxMemory": 1073741824, + "GPUUtilization": 1, + "MaxParallelism": -1, + "MaxParallelismGPU": 6, + "BaseMinMemory": 34359738368, + "MaxConcurrent": 0 + }, + "14": { + "MinMemory": 1073741824, + "MaxMemory": 1073741824, + "GPUUtilization": 1, + "MaxParallelism": -1, + "MaxParallelismGPU": 6, + "BaseMinMemory": 68719476736, + "MaxConcurrent": 0 + }, "2": { "MinMemory": 2048, "MaxMemory": 2048, @@ -4397,6 +4487,51 @@ Response: "BaseMinMemory": 8388608, "MaxConcurrent": 0 }, + "10": { + "MinMemory": 2048, + "MaxMemory": 2048, + "GPUUtilization": 0, + "MaxParallelism": 1, + "MaxParallelismGPU": 0, + "BaseMinMemory": 2048, + "MaxConcurrent": 0 + }, + "11": { + "MinMemory": 8388608, + "MaxMemory": 8388608, + "GPUUtilization": 0, + "MaxParallelism": 1, + "MaxParallelismGPU": 0, + "BaseMinMemory": 8388608, + "MaxConcurrent": 0 + }, + "12": { + "MinMemory": 1073741824, + "MaxMemory": 1073741824, + "GPUUtilization": 0, + "MaxParallelism": 1, + "MaxParallelismGPU": 0, + "BaseMinMemory": 1073741824, + "MaxConcurrent": 0 + }, + "13": { + "MinMemory": 4294967296, + "MaxMemory": 4294967296, + "GPUUtilization": 0, + "MaxParallelism": 1, + "MaxParallelismGPU": 0, + "BaseMinMemory": 1073741824, + "MaxConcurrent": 0 + }, + "14": { + "MinMemory": 8589934592, + "MaxMemory": 8589934592, + "GPUUtilization": 0, + "MaxParallelism": 1, + "MaxParallelismGPU": 0, + "BaseMinMemory": 1073741824, + "MaxConcurrent": 0 + }, "2": { "MinMemory": 1073741824, "MaxMemory": 1073741824, @@ -4489,6 +4624,51 @@ Response: "BaseMinMemory": 8388608, "MaxConcurrent": 0 }, + "10": { + "MinMemory": 2048, + "MaxMemory": 2048, + "GPUUtilization": 0, + "MaxParallelism": 0, + "MaxParallelismGPU": 0, + "BaseMinMemory": 2048, + "MaxConcurrent": 0 + }, + "11": { + "MinMemory": 8388608, + "MaxMemory": 8388608, + "GPUUtilization": 0, + "MaxParallelism": 0, + "MaxParallelismGPU": 0, + "BaseMinMemory": 8388608, + "MaxConcurrent": 0 + }, + "12": { + "MinMemory": 1073741824, + "MaxMemory": 1073741824, + "GPUUtilization": 0, + "MaxParallelism": 0, + "MaxParallelismGPU": 0, + "BaseMinMemory": 1073741824, + "MaxConcurrent": 0 + }, + "13": { + "MinMemory": 1073741824, + "MaxMemory": 1073741824, + "GPUUtilization": 0, + "MaxParallelism": 0, + "MaxParallelismGPU": 0, + "BaseMinMemory": 1073741824, + "MaxConcurrent": 0 + }, + "14": { + "MinMemory": 1073741824, + "MaxMemory": 1073741824, + "GPUUtilization": 0, + "MaxParallelism": 0, + "MaxParallelismGPU": 0, + "BaseMinMemory": 1073741824, + "MaxConcurrent": 0 + }, "2": { "MinMemory": 1073741824, "MaxMemory": 1073741824, @@ -4581,6 +4761,51 @@ Response: "BaseMinMemory": 8388608, "MaxConcurrent": 0 }, + "10": { + "MinMemory": 2048, + "MaxMemory": 2048, + "GPUUtilization": 1, + "MaxParallelism": 1, + "MaxParallelismGPU": 0, + "BaseMinMemory": 2048, + "MaxConcurrent": 0 + }, + "11": { + "MinMemory": 8388608, + "MaxMemory": 8388608, + "GPUUtilization": 1, + "MaxParallelism": 1, + "MaxParallelismGPU": 0, + "BaseMinMemory": 8388608, + "MaxConcurrent": 0 + }, + "12": { + "MinMemory": 1073741824, + "MaxMemory": 1610612736, + "GPUUtilization": 1, + "MaxParallelism": 1, + "MaxParallelismGPU": 0, + "BaseMinMemory": 10737418240, + "MaxConcurrent": 0 + }, + "13": { + "MinMemory": 32212254720, + "MaxMemory": 161061273600, + "GPUUtilization": 1, + "MaxParallelism": -1, + "MaxParallelismGPU": 6, + "BaseMinMemory": 34359738368, + "MaxConcurrent": 0 + }, + "14": { + "MinMemory": 64424509440, + "MaxMemory": 204010946560, + "GPUUtilization": 1, + "MaxParallelism": -1, + "MaxParallelismGPU": 6, + "BaseMinMemory": 68719476736, + "MaxConcurrent": 0 + }, "2": { "MinMemory": 1073741824, "MaxMemory": 1610612736, @@ -4673,6 +4898,51 @@ Response: "BaseMinMemory": 1073741824, "MaxConcurrent": 0 }, + "10": { + "MinMemory": 4294967296, + "MaxMemory": 4294967296, + "GPUUtilization": 0, + "MaxParallelism": 1, + "MaxParallelismGPU": 0, + "BaseMinMemory": 1073741824, + "MaxConcurrent": 0 + }, + "11": { + "MinMemory": 4294967296, + "MaxMemory": 4294967296, + "GPUUtilization": 0, + "MaxParallelism": 1, + "MaxParallelismGPU": 0, + "BaseMinMemory": 1073741824, + "MaxConcurrent": 0 + }, + "12": { + "MinMemory": 4294967296, + "MaxMemory": 4294967296, + "GPUUtilization": 0, + "MaxParallelism": 1, + "MaxParallelismGPU": 0, + "BaseMinMemory": 1073741824, + "MaxConcurrent": 0 + }, + "13": { + "MinMemory": 4294967296, + "MaxMemory": 4294967296, + "GPUUtilization": 0, + "MaxParallelism": 1, + "MaxParallelismGPU": 0, + "BaseMinMemory": 1073741824, + "MaxConcurrent": 0 + }, + "14": { + "MinMemory": 4294967296, + "MaxMemory": 4294967296, + "GPUUtilization": 0, + "MaxParallelism": 1, + "MaxParallelismGPU": 0, + "BaseMinMemory": 1073741824, + "MaxConcurrent": 0 + }, "2": { "MinMemory": 4294967296, "MaxMemory": 4294967296, @@ -4765,6 +5035,51 @@ Response: "BaseMinMemory": 0, "MaxConcurrent": 0 }, + "10": { + "MinMemory": 1048576, + "MaxMemory": 1048576, + "GPUUtilization": 0, + "MaxParallelism": 0, + "MaxParallelismGPU": 0, + "BaseMinMemory": 0, + "MaxConcurrent": 0 + }, + "11": { + "MinMemory": 1048576, + "MaxMemory": 1048576, + "GPUUtilization": 0, + "MaxParallelism": 0, + "MaxParallelismGPU": 0, + "BaseMinMemory": 0, + "MaxConcurrent": 0 + }, + "12": { + "MinMemory": 1048576, + "MaxMemory": 1048576, + "GPUUtilization": 0, + "MaxParallelism": 0, + "MaxParallelismGPU": 0, + "BaseMinMemory": 0, + "MaxConcurrent": 0 + }, + "13": { + "MinMemory": 1048576, + "MaxMemory": 1048576, + "GPUUtilization": 0, + "MaxParallelism": 0, + "MaxParallelismGPU": 0, + "BaseMinMemory": 0, + "MaxConcurrent": 0 + }, + "14": { + "MinMemory": 1048576, + "MaxMemory": 1048576, + "GPUUtilization": 0, + "MaxParallelism": 0, + "MaxParallelismGPU": 0, + "BaseMinMemory": 0, + "MaxConcurrent": 0 + }, "2": { "MinMemory": 1048576, "MaxMemory": 1048576, @@ -4857,6 +5172,51 @@ Response: "BaseMinMemory": 8388608, "MaxConcurrent": 0 }, + "10": { + "MinMemory": 2048, + "MaxMemory": 2048, + "GPUUtilization": 0, + "MaxParallelism": 1, + "MaxParallelismGPU": 0, + "BaseMinMemory": 2048, + "MaxConcurrent": 0 + }, + "11": { + "MinMemory": 8388608, + "MaxMemory": 8388608, + "GPUUtilization": 0, + "MaxParallelism": 1, + "MaxParallelismGPU": 0, + "BaseMinMemory": 8388608, + "MaxConcurrent": 0 + }, + "12": { + "MinMemory": 805306368, + "MaxMemory": 1073741824, + "GPUUtilization": 0, + "MaxParallelism": 1, + "MaxParallelismGPU": 0, + "BaseMinMemory": 1048576, + "MaxConcurrent": 0 + }, + "13": { + "MinMemory": 60129542144, + "MaxMemory": 68719476736, + "GPUUtilization": 0, + "MaxParallelism": 1, + "MaxParallelismGPU": 0, + "BaseMinMemory": 10485760, + "MaxConcurrent": 0 + }, + "14": { + "MinMemory": 120259084288, + "MaxMemory": 137438953472, + "GPUUtilization": 0, + "MaxParallelism": 1, + "MaxParallelismGPU": 0, + "BaseMinMemory": 10485760, + "MaxConcurrent": 0 + }, "2": { "MinMemory": 805306368, "MaxMemory": 1073741824, @@ -4949,6 +5309,51 @@ Response: "BaseMinMemory": 8388608, "MaxConcurrent": 0 }, + "10": { + "MinMemory": 2048, + "MaxMemory": 2048, + "GPUUtilization": 0, + "MaxParallelism": -1, + "MaxParallelismGPU": 0, + "BaseMinMemory": 2048, + "MaxConcurrent": 0 + }, + "11": { + "MinMemory": 8388608, + "MaxMemory": 8388608, + "GPUUtilization": 0, + "MaxParallelism": -1, + "MaxParallelismGPU": 0, + "BaseMinMemory": 8388608, + "MaxConcurrent": 0 + }, + "12": { + "MinMemory": 1073741824, + "MaxMemory": 1610612736, + "GPUUtilization": 0, + "MaxParallelism": -1, + "MaxParallelismGPU": 0, + "BaseMinMemory": 1073741824, + "MaxConcurrent": 0 + }, + "13": { + "MinMemory": 16106127360, + "MaxMemory": 16106127360, + "GPUUtilization": 1, + "MaxParallelism": -1, + "MaxParallelismGPU": 6, + "BaseMinMemory": 1073741824, + "MaxConcurrent": 0 + }, + "14": { + "MinMemory": 32212254720, + "MaxMemory": 32212254720, + "GPUUtilization": 1, + "MaxParallelism": -1, + "MaxParallelismGPU": 6, + "BaseMinMemory": 1073741824, + "MaxConcurrent": 0 + }, "2": { "MinMemory": 1073741824, "MaxMemory": 1610612736, @@ -5041,6 +5446,51 @@ Response: "BaseMinMemory": 8388608, "MaxConcurrent": 0 }, + "10": { + "MinMemory": 2048, + "MaxMemory": 2048, + "GPUUtilization": 0, + "MaxParallelism": 0, + "MaxParallelismGPU": 0, + "BaseMinMemory": 2048, + "MaxConcurrent": 0 + }, + "11": { + "MinMemory": 8388608, + "MaxMemory": 8388608, + "GPUUtilization": 0, + "MaxParallelism": 0, + "MaxParallelismGPU": 0, + "BaseMinMemory": 8388608, + "MaxConcurrent": 0 + }, + "12": { + "MinMemory": 1073741824, + "MaxMemory": 1073741824, + "GPUUtilization": 0, + "MaxParallelism": 0, + "MaxParallelismGPU": 0, + "BaseMinMemory": 1073741824, + "MaxConcurrent": 0 + }, + "13": { + "MinMemory": 1073741824, + "MaxMemory": 1073741824, + "GPUUtilization": 0, + "MaxParallelism": 0, + "MaxParallelismGPU": 0, + "BaseMinMemory": 1073741824, + "MaxConcurrent": 0 + }, + "14": { + "MinMemory": 1073741824, + "MaxMemory": 1073741824, + "GPUUtilization": 0, + "MaxParallelism": 0, + "MaxParallelismGPU": 0, + "BaseMinMemory": 1073741824, + "MaxConcurrent": 0 + }, "2": { "MinMemory": 1073741824, "MaxMemory": 1073741824, @@ -5133,6 +5583,51 @@ Response: "BaseMinMemory": 8388608, "MaxConcurrent": 0 }, + "10": { + "MinMemory": 2048, + "MaxMemory": 2048, + "GPUUtilization": 1, + "MaxParallelism": 1, + "MaxParallelismGPU": 0, + "BaseMinMemory": 2048, + "MaxConcurrent": 0 + }, + "11": { + "MinMemory": 8388608, + "MaxMemory": 8388608, + "GPUUtilization": 1, + "MaxParallelism": 1, + "MaxParallelismGPU": 0, + "BaseMinMemory": 8388608, + "MaxConcurrent": 0 + }, + "12": { + "MinMemory": 1073741824, + "MaxMemory": 1610612736, + "GPUUtilization": 1, + "MaxParallelism": 1, + "MaxParallelismGPU": 0, + "BaseMinMemory": 10737418240, + "MaxConcurrent": 0 + }, + "13": { + "MinMemory": 32212254720, + "MaxMemory": 161061273600, + "GPUUtilization": 1, + "MaxParallelism": -1, + "MaxParallelismGPU": 6, + "BaseMinMemory": 34359738368, + "MaxConcurrent": 0 + }, + "14": { + "MinMemory": 64424509440, + "MaxMemory": 204010946560, + "GPUUtilization": 1, + "MaxParallelism": -1, + "MaxParallelismGPU": 6, + "BaseMinMemory": 68719476736, + "MaxConcurrent": 0 + }, "2": { "MinMemory": 1073741824, "MaxMemory": 1610612736, @@ -5225,6 +5720,51 @@ Response: "BaseMinMemory": 8388608, "MaxConcurrent": 0 }, + "10": { + "MinMemory": 2048, + "MaxMemory": 2048, + "GPUUtilization": 1, + "MaxParallelism": 1, + "MaxParallelismGPU": 0, + "BaseMinMemory": 2048, + "MaxConcurrent": 0 + }, + "11": { + "MinMemory": 8388608, + "MaxMemory": 8388608, + "GPUUtilization": 1, + "MaxParallelism": 1, + "MaxParallelismGPU": 0, + "BaseMinMemory": 8388608, + "MaxConcurrent": 0 + }, + "12": { + "MinMemory": 1073741824, + "MaxMemory": 1073741824, + "GPUUtilization": 1, + "MaxParallelism": 1, + "MaxParallelismGPU": 0, + "BaseMinMemory": 1073741824, + "MaxConcurrent": 0 + }, + "13": { + "MinMemory": 4294967296, + "MaxMemory": 4294967296, + "GPUUtilization": 1, + "MaxParallelism": 1, + "MaxParallelismGPU": 6, + "BaseMinMemory": 1073741824, + "MaxConcurrent": 0 + }, + "14": { + "MinMemory": 8589934592, + "MaxMemory": 8589934592, + "GPUUtilization": 1, + "MaxParallelism": 1, + "MaxParallelismGPU": 6, + "BaseMinMemory": 1073741824, + "MaxConcurrent": 0 + }, "2": { "MinMemory": 1073741824, "MaxMemory": 1073741824, @@ -5317,6 +5857,51 @@ Response: "BaseMinMemory": 8388608, "MaxConcurrent": 0 }, + "10": { + "MinMemory": 2048, + "MaxMemory": 2048, + "GPUUtilization": 1, + "MaxParallelism": 1, + "MaxParallelismGPU": 0, + "BaseMinMemory": 2048, + "MaxConcurrent": 0 + }, + "11": { + "MinMemory": 8388608, + "MaxMemory": 8388608, + "GPUUtilization": 1, + "MaxParallelism": 1, + "MaxParallelismGPU": 0, + "BaseMinMemory": 8388608, + "MaxConcurrent": 0 + }, + "12": { + "MinMemory": 1073741824, + "MaxMemory": 1073741824, + "GPUUtilization": 1, + "MaxParallelism": 1, + "MaxParallelismGPU": 0, + "BaseMinMemory": 1073741824, + "MaxConcurrent": 0 + }, + "13": { + "MinMemory": 4294967296, + "MaxMemory": 4294967296, + "GPUUtilization": 1, + "MaxParallelism": 1, + "MaxParallelismGPU": 6, + "BaseMinMemory": 1073741824, + "MaxConcurrent": 0 + }, + "14": { + "MinMemory": 8589934592, + "MaxMemory": 8589934592, + "GPUUtilization": 1, + "MaxParallelism": 1, + "MaxParallelismGPU": 6, + "BaseMinMemory": 1073741824, + "MaxConcurrent": 0 + }, "2": { "MinMemory": 1073741824, "MaxMemory": 1073741824, @@ -5409,6 +5994,51 @@ Response: "BaseMinMemory": 8388608, "MaxConcurrent": 0 }, + "10": { + "MinMemory": 2048, + "MaxMemory": 2048, + "GPUUtilization": 0, + "MaxParallelism": 1, + "MaxParallelismGPU": 0, + "BaseMinMemory": 2048, + "MaxConcurrent": 0 + }, + "11": { + "MinMemory": 8388608, + "MaxMemory": 8388608, + "GPUUtilization": 0, + "MaxParallelism": 1, + "MaxParallelismGPU": 0, + "BaseMinMemory": 8388608, + "MaxConcurrent": 0 + }, + "12": { + "MinMemory": 805306368, + "MaxMemory": 1073741824, + "GPUUtilization": 0, + "MaxParallelism": 1, + "MaxParallelismGPU": 0, + "BaseMinMemory": 1048576, + "MaxConcurrent": 0 + }, + "13": { + "MinMemory": 60129542144, + "MaxMemory": 68719476736, + "GPUUtilization": 0, + "MaxParallelism": 1, + "MaxParallelismGPU": 0, + "BaseMinMemory": 10485760, + "MaxConcurrent": 0 + }, + "14": { + "MinMemory": 120259084288, + "MaxMemory": 137438953472, + "GPUUtilization": 0, + "MaxParallelism": 1, + "MaxParallelismGPU": 0, + "BaseMinMemory": 10485760, + "MaxConcurrent": 0 + }, "2": { "MinMemory": 805306368, "MaxMemory": 1073741824, diff --git a/documentation/en/api-v0-methods-worker.md b/documentation/en/api-v0-methods-worker.md index d7d0f092e..1c2100c9c 100644 --- a/documentation/en/api-v0-methods-worker.md +++ b/documentation/en/api-v0-methods-worker.md @@ -138,6 +138,51 @@ Response: "BaseMinMemory": 8388608, "MaxConcurrent": 0 }, + "10": { + "MinMemory": 2048, + "MaxMemory": 2048, + "GPUUtilization": 1, + "MaxParallelism": 1, + "MaxParallelismGPU": 0, + "BaseMinMemory": 2048, + "MaxConcurrent": 0 + }, + "11": { + "MinMemory": 8388608, + "MaxMemory": 8388608, + "GPUUtilization": 1, + "MaxParallelism": 1, + "MaxParallelismGPU": 0, + "BaseMinMemory": 8388608, + "MaxConcurrent": 0 + }, + "12": { + "MinMemory": 1073741824, + "MaxMemory": 1610612736, + "GPUUtilization": 1, + "MaxParallelism": 1, + "MaxParallelismGPU": 0, + "BaseMinMemory": 10737418240, + "MaxConcurrent": 0 + }, + "13": { + "MinMemory": 32212254720, + "MaxMemory": 103079215104, + "GPUUtilization": 1, + "MaxParallelism": -1, + "MaxParallelismGPU": 6, + "BaseMinMemory": 34359738368, + "MaxConcurrent": 0 + }, + "14": { + "MinMemory": 64424509440, + "MaxMemory": 128849018880, + "GPUUtilization": 1, + "MaxParallelism": -1, + "MaxParallelismGPU": 6, + "BaseMinMemory": 68719476736, + "MaxConcurrent": 0 + }, "2": { "MinMemory": 1073741824, "MaxMemory": 1610612736, @@ -230,6 +275,51 @@ Response: "BaseMinMemory": 8388608, "MaxConcurrent": 0 }, + "10": { + "MinMemory": 2048, + "MaxMemory": 2048, + "GPUUtilization": 1, + "MaxParallelism": 1, + "MaxParallelismGPU": 0, + "BaseMinMemory": 2048, + "MaxConcurrent": 0 + }, + "11": { + "MinMemory": 8388608, + "MaxMemory": 8388608, + "GPUUtilization": 1, + "MaxParallelism": 1, + "MaxParallelismGPU": 0, + "BaseMinMemory": 8388608, + "MaxConcurrent": 0 + }, + "12": { + "MinMemory": 2048, + "MaxMemory": 2048, + "GPUUtilization": 1, + "MaxParallelism": 1, + "MaxParallelismGPU": 0, + "BaseMinMemory": 10737418240, + "MaxConcurrent": 0 + }, + "13": { + "MinMemory": 1073741824, + "MaxMemory": 1073741824, + "GPUUtilization": 1, + "MaxParallelism": -1, + "MaxParallelismGPU": 6, + "BaseMinMemory": 34359738368, + "MaxConcurrent": 0 + }, + "14": { + "MinMemory": 1073741824, + "MaxMemory": 1073741824, + "GPUUtilization": 1, + "MaxParallelism": -1, + "MaxParallelismGPU": 6, + "BaseMinMemory": 68719476736, + "MaxConcurrent": 0 + }, "2": { "MinMemory": 2048, "MaxMemory": 2048, @@ -322,6 +412,51 @@ Response: "BaseMinMemory": 8388608, "MaxConcurrent": 0 }, + "10": { + "MinMemory": 2048, + "MaxMemory": 2048, + "GPUUtilization": 0, + "MaxParallelism": 1, + "MaxParallelismGPU": 0, + "BaseMinMemory": 2048, + "MaxConcurrent": 0 + }, + "11": { + "MinMemory": 8388608, + "MaxMemory": 8388608, + "GPUUtilization": 0, + "MaxParallelism": 1, + "MaxParallelismGPU": 0, + "BaseMinMemory": 8388608, + "MaxConcurrent": 0 + }, + "12": { + "MinMemory": 1073741824, + "MaxMemory": 1073741824, + "GPUUtilization": 0, + "MaxParallelism": 1, + "MaxParallelismGPU": 0, + "BaseMinMemory": 1073741824, + "MaxConcurrent": 0 + }, + "13": { + "MinMemory": 4294967296, + "MaxMemory": 4294967296, + "GPUUtilization": 0, + "MaxParallelism": 1, + "MaxParallelismGPU": 0, + "BaseMinMemory": 1073741824, + "MaxConcurrent": 0 + }, + "14": { + "MinMemory": 8589934592, + "MaxMemory": 8589934592, + "GPUUtilization": 0, + "MaxParallelism": 1, + "MaxParallelismGPU": 0, + "BaseMinMemory": 1073741824, + "MaxConcurrent": 0 + }, "2": { "MinMemory": 1073741824, "MaxMemory": 1073741824, @@ -414,6 +549,51 @@ Response: "BaseMinMemory": 8388608, "MaxConcurrent": 0 }, + "10": { + "MinMemory": 2048, + "MaxMemory": 2048, + "GPUUtilization": 0, + "MaxParallelism": 0, + "MaxParallelismGPU": 0, + "BaseMinMemory": 2048, + "MaxConcurrent": 0 + }, + "11": { + "MinMemory": 8388608, + "MaxMemory": 8388608, + "GPUUtilization": 0, + "MaxParallelism": 0, + "MaxParallelismGPU": 0, + "BaseMinMemory": 8388608, + "MaxConcurrent": 0 + }, + "12": { + "MinMemory": 1073741824, + "MaxMemory": 1073741824, + "GPUUtilization": 0, + "MaxParallelism": 0, + "MaxParallelismGPU": 0, + "BaseMinMemory": 1073741824, + "MaxConcurrent": 0 + }, + "13": { + "MinMemory": 1073741824, + "MaxMemory": 1073741824, + "GPUUtilization": 0, + "MaxParallelism": 0, + "MaxParallelismGPU": 0, + "BaseMinMemory": 1073741824, + "MaxConcurrent": 0 + }, + "14": { + "MinMemory": 1073741824, + "MaxMemory": 1073741824, + "GPUUtilization": 0, + "MaxParallelism": 0, + "MaxParallelismGPU": 0, + "BaseMinMemory": 1073741824, + "MaxConcurrent": 0 + }, "2": { "MinMemory": 1073741824, "MaxMemory": 1073741824, @@ -506,6 +686,51 @@ Response: "BaseMinMemory": 8388608, "MaxConcurrent": 0 }, + "10": { + "MinMemory": 2048, + "MaxMemory": 2048, + "GPUUtilization": 1, + "MaxParallelism": 1, + "MaxParallelismGPU": 0, + "BaseMinMemory": 2048, + "MaxConcurrent": 0 + }, + "11": { + "MinMemory": 8388608, + "MaxMemory": 8388608, + "GPUUtilization": 1, + "MaxParallelism": 1, + "MaxParallelismGPU": 0, + "BaseMinMemory": 8388608, + "MaxConcurrent": 0 + }, + "12": { + "MinMemory": 1073741824, + "MaxMemory": 1610612736, + "GPUUtilization": 1, + "MaxParallelism": 1, + "MaxParallelismGPU": 0, + "BaseMinMemory": 10737418240, + "MaxConcurrent": 0 + }, + "13": { + "MinMemory": 32212254720, + "MaxMemory": 161061273600, + "GPUUtilization": 1, + "MaxParallelism": -1, + "MaxParallelismGPU": 6, + "BaseMinMemory": 34359738368, + "MaxConcurrent": 0 + }, + "14": { + "MinMemory": 64424509440, + "MaxMemory": 204010946560, + "GPUUtilization": 1, + "MaxParallelism": -1, + "MaxParallelismGPU": 6, + "BaseMinMemory": 68719476736, + "MaxConcurrent": 0 + }, "2": { "MinMemory": 1073741824, "MaxMemory": 1610612736, @@ -598,6 +823,51 @@ Response: "BaseMinMemory": 1073741824, "MaxConcurrent": 0 }, + "10": { + "MinMemory": 4294967296, + "MaxMemory": 4294967296, + "GPUUtilization": 0, + "MaxParallelism": 1, + "MaxParallelismGPU": 0, + "BaseMinMemory": 1073741824, + "MaxConcurrent": 0 + }, + "11": { + "MinMemory": 4294967296, + "MaxMemory": 4294967296, + "GPUUtilization": 0, + "MaxParallelism": 1, + "MaxParallelismGPU": 0, + "BaseMinMemory": 1073741824, + "MaxConcurrent": 0 + }, + "12": { + "MinMemory": 4294967296, + "MaxMemory": 4294967296, + "GPUUtilization": 0, + "MaxParallelism": 1, + "MaxParallelismGPU": 0, + "BaseMinMemory": 1073741824, + "MaxConcurrent": 0 + }, + "13": { + "MinMemory": 4294967296, + "MaxMemory": 4294967296, + "GPUUtilization": 0, + "MaxParallelism": 1, + "MaxParallelismGPU": 0, + "BaseMinMemory": 1073741824, + "MaxConcurrent": 0 + }, + "14": { + "MinMemory": 4294967296, + "MaxMemory": 4294967296, + "GPUUtilization": 0, + "MaxParallelism": 1, + "MaxParallelismGPU": 0, + "BaseMinMemory": 1073741824, + "MaxConcurrent": 0 + }, "2": { "MinMemory": 4294967296, "MaxMemory": 4294967296, @@ -690,6 +960,51 @@ Response: "BaseMinMemory": 0, "MaxConcurrent": 0 }, + "10": { + "MinMemory": 1048576, + "MaxMemory": 1048576, + "GPUUtilization": 0, + "MaxParallelism": 0, + "MaxParallelismGPU": 0, + "BaseMinMemory": 0, + "MaxConcurrent": 0 + }, + "11": { + "MinMemory": 1048576, + "MaxMemory": 1048576, + "GPUUtilization": 0, + "MaxParallelism": 0, + "MaxParallelismGPU": 0, + "BaseMinMemory": 0, + "MaxConcurrent": 0 + }, + "12": { + "MinMemory": 1048576, + "MaxMemory": 1048576, + "GPUUtilization": 0, + "MaxParallelism": 0, + "MaxParallelismGPU": 0, + "BaseMinMemory": 0, + "MaxConcurrent": 0 + }, + "13": { + "MinMemory": 1048576, + "MaxMemory": 1048576, + "GPUUtilization": 0, + "MaxParallelism": 0, + "MaxParallelismGPU": 0, + "BaseMinMemory": 0, + "MaxConcurrent": 0 + }, + "14": { + "MinMemory": 1048576, + "MaxMemory": 1048576, + "GPUUtilization": 0, + "MaxParallelism": 0, + "MaxParallelismGPU": 0, + "BaseMinMemory": 0, + "MaxConcurrent": 0 + }, "2": { "MinMemory": 1048576, "MaxMemory": 1048576, @@ -782,6 +1097,51 @@ Response: "BaseMinMemory": 8388608, "MaxConcurrent": 0 }, + "10": { + "MinMemory": 2048, + "MaxMemory": 2048, + "GPUUtilization": 0, + "MaxParallelism": 1, + "MaxParallelismGPU": 0, + "BaseMinMemory": 2048, + "MaxConcurrent": 0 + }, + "11": { + "MinMemory": 8388608, + "MaxMemory": 8388608, + "GPUUtilization": 0, + "MaxParallelism": 1, + "MaxParallelismGPU": 0, + "BaseMinMemory": 8388608, + "MaxConcurrent": 0 + }, + "12": { + "MinMemory": 805306368, + "MaxMemory": 1073741824, + "GPUUtilization": 0, + "MaxParallelism": 1, + "MaxParallelismGPU": 0, + "BaseMinMemory": 1048576, + "MaxConcurrent": 0 + }, + "13": { + "MinMemory": 60129542144, + "MaxMemory": 68719476736, + "GPUUtilization": 0, + "MaxParallelism": 1, + "MaxParallelismGPU": 0, + "BaseMinMemory": 10485760, + "MaxConcurrent": 0 + }, + "14": { + "MinMemory": 120259084288, + "MaxMemory": 137438953472, + "GPUUtilization": 0, + "MaxParallelism": 1, + "MaxParallelismGPU": 0, + "BaseMinMemory": 10485760, + "MaxConcurrent": 0 + }, "2": { "MinMemory": 805306368, "MaxMemory": 1073741824, @@ -874,6 +1234,51 @@ Response: "BaseMinMemory": 8388608, "MaxConcurrent": 0 }, + "10": { + "MinMemory": 2048, + "MaxMemory": 2048, + "GPUUtilization": 0, + "MaxParallelism": -1, + "MaxParallelismGPU": 0, + "BaseMinMemory": 2048, + "MaxConcurrent": 0 + }, + "11": { + "MinMemory": 8388608, + "MaxMemory": 8388608, + "GPUUtilization": 0, + "MaxParallelism": -1, + "MaxParallelismGPU": 0, + "BaseMinMemory": 8388608, + "MaxConcurrent": 0 + }, + "12": { + "MinMemory": 1073741824, + "MaxMemory": 1610612736, + "GPUUtilization": 0, + "MaxParallelism": -1, + "MaxParallelismGPU": 0, + "BaseMinMemory": 1073741824, + "MaxConcurrent": 0 + }, + "13": { + "MinMemory": 16106127360, + "MaxMemory": 16106127360, + "GPUUtilization": 1, + "MaxParallelism": -1, + "MaxParallelismGPU": 6, + "BaseMinMemory": 1073741824, + "MaxConcurrent": 0 + }, + "14": { + "MinMemory": 32212254720, + "MaxMemory": 32212254720, + "GPUUtilization": 1, + "MaxParallelism": -1, + "MaxParallelismGPU": 6, + "BaseMinMemory": 1073741824, + "MaxConcurrent": 0 + }, "2": { "MinMemory": 1073741824, "MaxMemory": 1610612736, @@ -966,6 +1371,51 @@ Response: "BaseMinMemory": 8388608, "MaxConcurrent": 0 }, + "10": { + "MinMemory": 2048, + "MaxMemory": 2048, + "GPUUtilization": 0, + "MaxParallelism": 0, + "MaxParallelismGPU": 0, + "BaseMinMemory": 2048, + "MaxConcurrent": 0 + }, + "11": { + "MinMemory": 8388608, + "MaxMemory": 8388608, + "GPUUtilization": 0, + "MaxParallelism": 0, + "MaxParallelismGPU": 0, + "BaseMinMemory": 8388608, + "MaxConcurrent": 0 + }, + "12": { + "MinMemory": 1073741824, + "MaxMemory": 1073741824, + "GPUUtilization": 0, + "MaxParallelism": 0, + "MaxParallelismGPU": 0, + "BaseMinMemory": 1073741824, + "MaxConcurrent": 0 + }, + "13": { + "MinMemory": 1073741824, + "MaxMemory": 1073741824, + "GPUUtilization": 0, + "MaxParallelism": 0, + "MaxParallelismGPU": 0, + "BaseMinMemory": 1073741824, + "MaxConcurrent": 0 + }, + "14": { + "MinMemory": 1073741824, + "MaxMemory": 1073741824, + "GPUUtilization": 0, + "MaxParallelism": 0, + "MaxParallelismGPU": 0, + "BaseMinMemory": 1073741824, + "MaxConcurrent": 0 + }, "2": { "MinMemory": 1073741824, "MaxMemory": 1073741824, @@ -1058,6 +1508,51 @@ Response: "BaseMinMemory": 8388608, "MaxConcurrent": 0 }, + "10": { + "MinMemory": 2048, + "MaxMemory": 2048, + "GPUUtilization": 1, + "MaxParallelism": 1, + "MaxParallelismGPU": 0, + "BaseMinMemory": 2048, + "MaxConcurrent": 0 + }, + "11": { + "MinMemory": 8388608, + "MaxMemory": 8388608, + "GPUUtilization": 1, + "MaxParallelism": 1, + "MaxParallelismGPU": 0, + "BaseMinMemory": 8388608, + "MaxConcurrent": 0 + }, + "12": { + "MinMemory": 1073741824, + "MaxMemory": 1610612736, + "GPUUtilization": 1, + "MaxParallelism": 1, + "MaxParallelismGPU": 0, + "BaseMinMemory": 10737418240, + "MaxConcurrent": 0 + }, + "13": { + "MinMemory": 32212254720, + "MaxMemory": 161061273600, + "GPUUtilization": 1, + "MaxParallelism": -1, + "MaxParallelismGPU": 6, + "BaseMinMemory": 34359738368, + "MaxConcurrent": 0 + }, + "14": { + "MinMemory": 64424509440, + "MaxMemory": 204010946560, + "GPUUtilization": 1, + "MaxParallelism": -1, + "MaxParallelismGPU": 6, + "BaseMinMemory": 68719476736, + "MaxConcurrent": 0 + }, "2": { "MinMemory": 1073741824, "MaxMemory": 1610612736, @@ -1150,6 +1645,51 @@ Response: "BaseMinMemory": 8388608, "MaxConcurrent": 0 }, + "10": { + "MinMemory": 2048, + "MaxMemory": 2048, + "GPUUtilization": 1, + "MaxParallelism": 1, + "MaxParallelismGPU": 0, + "BaseMinMemory": 2048, + "MaxConcurrent": 0 + }, + "11": { + "MinMemory": 8388608, + "MaxMemory": 8388608, + "GPUUtilization": 1, + "MaxParallelism": 1, + "MaxParallelismGPU": 0, + "BaseMinMemory": 8388608, + "MaxConcurrent": 0 + }, + "12": { + "MinMemory": 1073741824, + "MaxMemory": 1073741824, + "GPUUtilization": 1, + "MaxParallelism": 1, + "MaxParallelismGPU": 0, + "BaseMinMemory": 1073741824, + "MaxConcurrent": 0 + }, + "13": { + "MinMemory": 4294967296, + "MaxMemory": 4294967296, + "GPUUtilization": 1, + "MaxParallelism": 1, + "MaxParallelismGPU": 6, + "BaseMinMemory": 1073741824, + "MaxConcurrent": 0 + }, + "14": { + "MinMemory": 8589934592, + "MaxMemory": 8589934592, + "GPUUtilization": 1, + "MaxParallelism": 1, + "MaxParallelismGPU": 6, + "BaseMinMemory": 1073741824, + "MaxConcurrent": 0 + }, "2": { "MinMemory": 1073741824, "MaxMemory": 1073741824, @@ -1242,6 +1782,51 @@ Response: "BaseMinMemory": 8388608, "MaxConcurrent": 0 }, + "10": { + "MinMemory": 2048, + "MaxMemory": 2048, + "GPUUtilization": 1, + "MaxParallelism": 1, + "MaxParallelismGPU": 0, + "BaseMinMemory": 2048, + "MaxConcurrent": 0 + }, + "11": { + "MinMemory": 8388608, + "MaxMemory": 8388608, + "GPUUtilization": 1, + "MaxParallelism": 1, + "MaxParallelismGPU": 0, + "BaseMinMemory": 8388608, + "MaxConcurrent": 0 + }, + "12": { + "MinMemory": 1073741824, + "MaxMemory": 1073741824, + "GPUUtilization": 1, + "MaxParallelism": 1, + "MaxParallelismGPU": 0, + "BaseMinMemory": 1073741824, + "MaxConcurrent": 0 + }, + "13": { + "MinMemory": 4294967296, + "MaxMemory": 4294967296, + "GPUUtilization": 1, + "MaxParallelism": 1, + "MaxParallelismGPU": 6, + "BaseMinMemory": 1073741824, + "MaxConcurrent": 0 + }, + "14": { + "MinMemory": 8589934592, + "MaxMemory": 8589934592, + "GPUUtilization": 1, + "MaxParallelism": 1, + "MaxParallelismGPU": 6, + "BaseMinMemory": 1073741824, + "MaxConcurrent": 0 + }, "2": { "MinMemory": 1073741824, "MaxMemory": 1073741824, @@ -1334,6 +1919,51 @@ Response: "BaseMinMemory": 8388608, "MaxConcurrent": 0 }, + "10": { + "MinMemory": 2048, + "MaxMemory": 2048, + "GPUUtilization": 0, + "MaxParallelism": 1, + "MaxParallelismGPU": 0, + "BaseMinMemory": 2048, + "MaxConcurrent": 0 + }, + "11": { + "MinMemory": 8388608, + "MaxMemory": 8388608, + "GPUUtilization": 0, + "MaxParallelism": 1, + "MaxParallelismGPU": 0, + "BaseMinMemory": 8388608, + "MaxConcurrent": 0 + }, + "12": { + "MinMemory": 805306368, + "MaxMemory": 1073741824, + "GPUUtilization": 0, + "MaxParallelism": 1, + "MaxParallelismGPU": 0, + "BaseMinMemory": 1048576, + "MaxConcurrent": 0 + }, + "13": { + "MinMemory": 60129542144, + "MaxMemory": 68719476736, + "GPUUtilization": 0, + "MaxParallelism": 1, + "MaxParallelismGPU": 0, + "BaseMinMemory": 10485760, + "MaxConcurrent": 0 + }, + "14": { + "MinMemory": 120259084288, + "MaxMemory": 137438953472, + "GPUUtilization": 0, + "MaxParallelism": 1, + "MaxParallelismGPU": 0, + "BaseMinMemory": 10485760, + "MaxConcurrent": 0 + }, "2": { "MinMemory": 805306368, "MaxMemory": 1073741824, diff --git a/documentation/en/api-v0-methods.md b/documentation/en/api-v0-methods.md index cafb09167..f6e460a54 100644 --- a/documentation/en/api-v0-methods.md +++ b/documentation/en/api-v0-methods.md @@ -4873,7 +4873,12 @@ Response: "Value": "0", "Method": 1, "Params": "Ynl0ZSBhcnJheQ==", - "ParamsCodec": 42 + "ParamsCodec": 42, + "GasLimit": 42, + "ReadOnly": true, + "CodeCid": { + "/": "bafy2bzacea3wsdh6y3a36tb3skempjoxqpuyompjbmfeyf34fi3uy6uue42v4" + } }, "MsgRct": { "ExitCode": 0, @@ -4897,7 +4902,12 @@ Response: "Value": "0", "Method": 1, "Params": "Ynl0ZSBhcnJheQ==", - "ParamsCodec": 42 + "ParamsCodec": 42, + "GasLimit": 42, + "ReadOnly": true, + "CodeCid": { + "/": "bafy2bzacea3wsdh6y3a36tb3skempjoxqpuyompjbmfeyf34fi3uy6uue42v4" + } }, "MsgRct": { "ExitCode": 0, @@ -5103,7 +5113,12 @@ Response: "Value": "0", "Method": 1, "Params": "Ynl0ZSBhcnJheQ==", - "ParamsCodec": 42 + "ParamsCodec": 42, + "GasLimit": 42, + "ReadOnly": true, + "CodeCid": { + "/": "bafy2bzacea3wsdh6y3a36tb3skempjoxqpuyompjbmfeyf34fi3uy6uue42v4" + } }, "MsgRct": { "ExitCode": 0, @@ -5127,7 +5142,12 @@ Response: "Value": "0", "Method": 1, "Params": "Ynl0ZSBhcnJheQ==", - "ParamsCodec": 42 + "ParamsCodec": 42, + "GasLimit": 42, + "ReadOnly": true, + "CodeCid": { + "/": "bafy2bzacea3wsdh6y3a36tb3skempjoxqpuyompjbmfeyf34fi3uy6uue42v4" + } }, "MsgRct": { "ExitCode": 0, @@ -6492,7 +6512,12 @@ Response: "Value": "0", "Method": 1, "Params": "Ynl0ZSBhcnJheQ==", - "ParamsCodec": 42 + "ParamsCodec": 42, + "GasLimit": 42, + "ReadOnly": true, + "CodeCid": { + "/": "bafy2bzacea3wsdh6y3a36tb3skempjoxqpuyompjbmfeyf34fi3uy6uue42v4" + } }, "MsgRct": { "ExitCode": 0, @@ -6516,7 +6541,12 @@ Response: "Value": "0", "Method": 1, "Params": "Ynl0ZSBhcnJheQ==", - "ParamsCodec": 42 + "ParamsCodec": 42, + "GasLimit": 42, + "ReadOnly": true, + "CodeCid": { + "/": "bafy2bzacea3wsdh6y3a36tb3skempjoxqpuyompjbmfeyf34fi3uy6uue42v4" + } }, "MsgRct": { "ExitCode": 0, diff --git a/documentation/en/api-v1-unstable-methods.md b/documentation/en/api-v1-unstable-methods.md index 5ebfacddd..31e4075b6 100644 --- a/documentation/en/api-v1-unstable-methods.md +++ b/documentation/en/api-v1-unstable-methods.md @@ -6312,7 +6312,12 @@ Response: "Value": "0", "Method": 1, "Params": "Ynl0ZSBhcnJheQ==", - "ParamsCodec": 42 + "ParamsCodec": 42, + "GasLimit": 42, + "ReadOnly": true, + "CodeCid": { + "/": "bafy2bzacea3wsdh6y3a36tb3skempjoxqpuyompjbmfeyf34fi3uy6uue42v4" + } }, "MsgRct": { "ExitCode": 0, @@ -6336,7 +6341,12 @@ Response: "Value": "0", "Method": 1, "Params": "Ynl0ZSBhcnJheQ==", - "ParamsCodec": 42 + "ParamsCodec": 42, + "GasLimit": 42, + "ReadOnly": true, + "CodeCid": { + "/": "bafy2bzacea3wsdh6y3a36tb3skempjoxqpuyompjbmfeyf34fi3uy6uue42v4" + } }, "MsgRct": { "ExitCode": 0, @@ -6542,7 +6552,12 @@ Response: "Value": "0", "Method": 1, "Params": "Ynl0ZSBhcnJheQ==", - "ParamsCodec": 42 + "ParamsCodec": 42, + "GasLimit": 42, + "ReadOnly": true, + "CodeCid": { + "/": "bafy2bzacea3wsdh6y3a36tb3skempjoxqpuyompjbmfeyf34fi3uy6uue42v4" + } }, "MsgRct": { "ExitCode": 0, @@ -6566,7 +6581,12 @@ Response: "Value": "0", "Method": 1, "Params": "Ynl0ZSBhcnJheQ==", - "ParamsCodec": 42 + "ParamsCodec": 42, + "GasLimit": 42, + "ReadOnly": true, + "CodeCid": { + "/": "bafy2bzacea3wsdh6y3a36tb3skempjoxqpuyompjbmfeyf34fi3uy6uue42v4" + } }, "MsgRct": { "ExitCode": 0, @@ -8060,7 +8080,12 @@ Response: "Value": "0", "Method": 1, "Params": "Ynl0ZSBhcnJheQ==", - "ParamsCodec": 42 + "ParamsCodec": 42, + "GasLimit": 42, + "ReadOnly": true, + "CodeCid": { + "/": "bafy2bzacea3wsdh6y3a36tb3skempjoxqpuyompjbmfeyf34fi3uy6uue42v4" + } }, "MsgRct": { "ExitCode": 0, @@ -8084,7 +8109,12 @@ Response: "Value": "0", "Method": 1, "Params": "Ynl0ZSBhcnJheQ==", - "ParamsCodec": 42 + "ParamsCodec": 42, + "GasLimit": 42, + "ReadOnly": true, + "CodeCid": { + "/": "bafy2bzacea3wsdh6y3a36tb3skempjoxqpuyompjbmfeyf34fi3uy6uue42v4" + } }, "MsgRct": { "ExitCode": 0, diff --git a/documentation/en/default-lotus-miner-config.toml b/documentation/en/default-lotus-miner-config.toml index f887ee942..81087222f 100644 --- a/documentation/en/default-lotus-miner-config.toml +++ b/documentation/en/default-lotus-miner-config.toml @@ -666,6 +666,14 @@ # env var: LOTUS_SEALING_TERMINATEBATCHWAIT #TerminateBatchWait = "5m0s" + # UseSyntheticPoRep will reduce the amout of data held on disk in the WaitSeed phase to 32GiB + # at the cost of having to precompute the synthetic challenges. + # TODO: put estimated costs here + # + # type: bool + # env var: LOTUS_SEALING_USESYNTHETICPOREP + #UseSyntheticPoRep = false + [Storage] # type: int diff --git a/extern/filecoin-ffi b/extern/filecoin-ffi index 5686133a6..310f0ccd4 160000 --- a/extern/filecoin-ffi +++ b/extern/filecoin-ffi @@ -1 +1 @@ -Subproject commit 5686133a636880968d3986a673b70d085433c972 +Subproject commit 310f0ccd42760f8db567d2fa10959e3ef8b6186f diff --git a/go.sum b/go.sum index 90c84dcd4..07e1d096f 100644 --- a/go.sum +++ b/go.sum @@ -337,7 +337,7 @@ github.com/filecoin-project/go-state-types v0.0.0-20201102161440-c8033295a1fc/go github.com/filecoin-project/go-state-types v0.1.0/go.mod h1:ezYnPf0bNkTsDibL/psSz5dy4B5awOJ/E7P2Saeep8g= github.com/filecoin-project/go-state-types v0.1.6/go.mod h1:UwGVoMsULoCK+bWjEdd/xLCvLAQFBC7EDT477SKml+Q= github.com/filecoin-project/go-state-types v0.1.10/go.mod h1:UwGVoMsULoCK+bWjEdd/xLCvLAQFBC7EDT477SKml+Q= -github.com/filecoin-project/go-state-types v0.11.1/go.mod h1:SyNPwTsU7I22gL2r0OAPcImvLoTVfgRwdK/Y5rR1zz8= +github.com/filecoin-project/go-state-types v0.11.2-0.20230712101859-8f37624fa540/go.mod h1:SyNPwTsU7I22gL2r0OAPcImvLoTVfgRwdK/Y5rR1zz8= github.com/filecoin-project/go-state-types v0.12.1 h1:/1ip/jXIP4QzWd3hlaQ7RGp1DHKKYG3+NOhd/r08UJY= github.com/filecoin-project/go-state-types v0.12.1/go.mod h1:KOBGyvCalT8uHBS7KSKOVbjsilD90bBZHgLAqrzz6gU= github.com/filecoin-project/go-statemachine v0.0.0-20200925024713-05bd7c71fbfe/go.mod h1:FGwQgZAt2Gh5mjlwJUlVB62JeYdo+if0xWxSEfBD9ig= diff --git a/itests/fevm_test.go b/itests/fevm_test.go index 1512c3277..4a9726abd 100644 --- a/itests/fevm_test.go +++ b/itests/fevm_test.go @@ -618,10 +618,10 @@ func TestFEVMRecursiveActorCall(t *testing.T) { t.Run("n=251,r=32", testN(251, 32, exitcode.Ok)) t.Run("n=0,r=252", testN(0, 252, exitcode.Ok)) - t.Run("n=251,r=166", testN(251, 166, exitcode.Ok)) + t.Run("n=251,r=164", testN(251, 164, exitcode.Ok)) t.Run("n=0,r=253-fails", testN(0, 254, exitcode.ExitCode(33))) // 33 means transaction reverted - t.Run("n=251,r=167-fails", testN(251, 167, exitcode.ExitCode(33))) + t.Run("n=251,r=167-fails", testN(251, 165, exitcode.ExitCode(33))) } // TestFEVMRecursiveActorCallEstimate diff --git a/itests/kit/ensemble.go b/itests/kit/ensemble.go index 19cc163af..e55a66743 100644 --- a/itests/kit/ensemble.go +++ b/itests/kit/ensemble.go @@ -258,7 +258,7 @@ func (n *Ensemble) MinerEnroll(minerNode *TestMiner, full *TestFullNode, opts .. ) // Will use 2KiB sectors by default (default value of sectorSize). - proofType, err := miner.SealProofTypeFromSectorSize(options.sectorSize, n.genesis.version) + proofType, err := miner.SealProofTypeFromSectorSize(options.sectorSize, n.genesis.version, false) require.NoError(n.t, err) // Create the preseal commitment. diff --git a/itests/migration_test.go b/itests/migration_test.go index 4082792ce..68991a579 100644 --- a/itests/migration_test.go +++ b/itests/migration_test.go @@ -34,6 +34,7 @@ import ( "github.com/filecoin-project/lotus/chain/actors/builtin/datacap" "github.com/filecoin-project/lotus/chain/actors/builtin/market" "github.com/filecoin-project/lotus/chain/actors/builtin/miner" + "github.com/filecoin-project/lotus/chain/actors/builtin/system" "github.com/filecoin-project/lotus/chain/actors/builtin/verifreg" "github.com/filecoin-project/lotus/chain/consensus/filcns" "github.com/filecoin-project/lotus/chain/state" @@ -301,7 +302,7 @@ func TestMigrationNV17(t *testing.T) { minerInfo, err := testClient.StateMinerInfo(ctx, testMiner.ActorAddr, types.EmptyTSK) require.NoError(t, err) - spt, err := miner.SealProofTypeFromSectorSize(minerInfo.SectorSize, network.Version17) + spt, err := miner.SealProofTypeFromSectorSize(minerInfo.SectorSize, network.Version17, false) require.NoError(t, err) preCommitParams := miner9.PreCommitSectorParams{ @@ -762,3 +763,68 @@ waitForProof20: require.Equal(t, v1proof, minerInfo.WindowPoStProofType) } + +func TestMigrationNV21(t *testing.T) { + kit.QuietMiningLogs() + + nv21epoch := abi.ChainEpoch(100) + testClient, _, ens := kit.EnsembleMinimal(t, kit.MockProofs(), + kit.UpgradeSchedule(stmgr.Upgrade{ + Network: network.Version20, + Height: -1, + }, stmgr.Upgrade{ + Network: network.Version21, + Height: nv21epoch, + Migration: filcns.UpgradeActorsV12, + }, + )) + + ens.InterconnectAll().BeginMining(10 * time.Millisecond) + + clientApi := testClient.FullNode.(*impl.FullNodeAPI) + ctx, cancel := context.WithCancel(context.Background()) + defer cancel() + + testClient.WaitTillChain(ctx, kit.HeightAtLeast(nv21epoch+5)) + + // Now that we have upgraded, we need to verify: + // - Sector info changes executed successfully + // - Direct data onboarding correct + + bs := blockstore.NewAPIBlockstore(testClient) + ctxStore := gstStore.WrapBlockStore(ctx, bs) + + currTs, err := clientApi.ChainHead(ctx) + require.NoError(t, err) + + newStateTree, err := state.LoadStateTree(ctxStore, currTs.Blocks()[0].ParentStateRoot) + require.NoError(t, err) + + require.Equal(t, types.StateTreeVersion5, newStateTree.Version()) + + // check the system actor + systemAct, err := newStateTree.GetActor(builtin.SystemActorAddr) + require.NoError(t, err) + + systemCode, ok := actors.GetActorCodeID(actorstypes.Version12, manifest.SystemKey) + require.True(t, ok) + + require.Equal(t, systemCode, systemAct.Code) + + systemSt, err := system.Load(ctxStore, systemAct) + require.NoError(t, err) + + manifest12Cid, ok := actors.GetManifest(actorstypes.Version12) + require.True(t, ok) + + manifest12, err := actors.LoadManifest(ctx, manifest12Cid, ctxStore) + require.NoError(t, err) + require.Equal(t, manifest12.Data, systemSt.GetBuiltinActors()) + + // start post migration checks + + //todo @aayush sector info changes + + //todo @zen Direct data onboarding tests + +} diff --git a/itests/sector_import_full_test.go b/itests/sector_import_full_test.go index e4ec5e141..c9bd96afd 100644 --- a/itests/sector_import_full_test.go +++ b/itests/sector_import_full_test.go @@ -88,7 +88,7 @@ func TestSectorImport(t *testing.T) { require.NoError(t, err) ver, err := client.StateNetworkVersion(ctx, types.EmptyTSK) require.NoError(t, err) - spt, err := lminer.PreferredSealProofTypeFromWindowPoStType(ver, mi.WindowPoStProofType) + spt, err := lminer.PreferredSealProofTypeFromWindowPoStType(ver, mi.WindowPoStProofType, false) require.NoError(t, err) ssize, err := spt.SectorSize() diff --git a/itests/sector_import_simple_test.go b/itests/sector_import_simple_test.go index f34438694..fb1a77a14 100644 --- a/itests/sector_import_simple_test.go +++ b/itests/sector_import_simple_test.go @@ -63,7 +63,7 @@ func TestSectorImportAfterPC2(t *testing.T) { require.NoError(t, err) ver, err := client.StateNetworkVersion(ctx, types.EmptyTSK) require.NoError(t, err) - spt, err := lminer.PreferredSealProofTypeFromWindowPoStType(ver, mi.WindowPoStProofType) + spt, err := lminer.PreferredSealProofTypeFromWindowPoStType(ver, mi.WindowPoStProofType, false) require.NoError(t, err) ssize, err := spt.SectorSize() diff --git a/itests/sector_pledge_test.go b/itests/sector_pledge_test.go index a2e74ef72..1e045c79d 100644 --- a/itests/sector_pledge_test.go +++ b/itests/sector_pledge_test.go @@ -18,6 +18,7 @@ import ( "github.com/filecoin-project/lotus/build" "github.com/filecoin-project/lotus/chain/types" "github.com/filecoin-project/lotus/itests/kit" + "github.com/filecoin-project/lotus/node/config" "github.com/filecoin-project/lotus/node/impl" sealing "github.com/filecoin-project/lotus/storage/pipeline" ) @@ -195,3 +196,30 @@ func TestPledgeMaxBatching(t *testing.T) { t.Run("Force max prove commit aggregate size", runTest) } + +func TestPledgeSynth(t *testing.T) { + kit.QuietMiningLogs() + + blockTime := 50 * time.Millisecond + + runTest := func(t *testing.T, nSectors int) { + ctx, cancel := context.WithCancel(context.Background()) + defer cancel() + + _, miner, ens := kit.EnsembleMinimal(t, kit.MutateSealingConfig(func(sc *config.SealingConfig) { + sc.UseSyntheticPoRep = true + })) // no mock proofs + + ens.InterconnectAll().BeginMiningMustPost(blockTime) + + miner.PledgeSectors(ctx, nSectors, 0, nil) + } + + t.Run("1", func(t *testing.T) { + runTest(t, 1) + }) + + t.Run("3", func(t *testing.T) { + runTest(t, 3) + }) +} diff --git a/markets/storageadapter/provider.go b/markets/storageadapter/provider.go index a5022613b..bdfce6f55 100644 --- a/markets/storageadapter/provider.go +++ b/markets/storageadapter/provider.go @@ -186,7 +186,10 @@ func (n *ProviderNodeAdapter) GetProofType(ctx context.Context, maddr address.Ad return 0, err } - return miner.PreferredSealProofTypeFromWindowPoStType(nver, mi.WindowPoStProofType) + // false because this variance is not consumed. + const configWantSynthetic = false + + return miner.PreferredSealProofTypeFromWindowPoStType(nver, mi.WindowPoStProofType, configWantSynthetic) } func (n *ProviderNodeAdapter) SignBytes(ctx context.Context, signer address.Address, b []byte) (*crypto.Signature, error) { diff --git a/node/config/def.go b/node/config/def.go index 6df19665d..4be902455 100644 --- a/node/config/def.go +++ b/node/config/def.go @@ -158,6 +158,7 @@ func DefaultStorageMiner() *StorageMiner { TerminateBatchMax: 100, TerminateBatchWait: Duration(5 * time.Minute), MaxSectorProveCommitsSubmittedPerEpoch: 20, + UseSyntheticPoRep: false, }, Proving: ProvingConfig{ diff --git a/node/config/doc_gen.go b/node/config/doc_gen.go index a126efb0d..1dec5b061 100644 --- a/node/config/doc_gen.go +++ b/node/config/doc_gen.go @@ -1295,6 +1295,14 @@ Submitting a smaller number of prove commits per epoch would reduce the possibil Comment: ``, }, + { + Name: "UseSyntheticPoRep", + Type: "bool", + + Comment: `UseSyntheticPoRep will reduce the amout of data held on disk in the WaitSeed phase to 32GiB +at the cost of having to precompute the synthetic challenges. +TODO: put estimated costs here`, + }, }, "Splitstore": []DocField{ { diff --git a/node/config/types.go b/node/config/types.go index dfdef5bb2..4a57390a3 100644 --- a/node/config/types.go +++ b/node/config/types.go @@ -429,6 +429,11 @@ type SealingConfig struct { // todo TargetSealingSectors uint64 // todo TargetSectors - stop auto-pleding new sectors after this many sectors are sealed, default CC upgrade for deals sectors if above + + // UseSyntheticPoRep will reduce the amout of data held on disk in the WaitSeed phase to 32GiB + // at the cost of having to precompute the synthetic challenges. + // TODO: put estimated costs here + UseSyntheticPoRep bool } type SealerConfig struct { diff --git a/node/impl/client/client.go b/node/impl/client/client.go index 3ed4a01a7..73ffeabe3 100644 --- a/node/impl/client/client.go +++ b/node/impl/client/client.go @@ -197,7 +197,7 @@ func (a *API) dealStarter(ctx context.Context, params *api.StartDealParams, isSt return nil, xerrors.Errorf("failed to get network version: %w", err) } - st, err := miner.PreferredSealProofTypeFromWindowPoStType(networkVersion, mi.WindowPoStProofType) + st, err := miner.PreferredSealProofTypeFromWindowPoStType(networkVersion, mi.WindowPoStProofType, false) if err != nil { return nil, xerrors.Errorf("failed to get seal proof type: %w", err) } diff --git a/node/modules/storageminer.go b/node/modules/storageminer.go index 29345d035..12879cd64 100644 --- a/node/modules/storageminer.go +++ b/node/modules/storageminer.go @@ -157,7 +157,8 @@ func SealProofType(maddr dtypes.MinerAddress, fnapi v1api.FullNode) (abi.Registe return 0, err } - return miner.PreferredSealProofTypeFromWindowPoStType(networkVersion, mi.WindowPoStProofType) + // node seal proof type does not decide whether or not we use synthetic porep + return miner.PreferredSealProofTypeFromWindowPoStType(networkVersion, mi.WindowPoStProofType, false) } func AddressSelector(addrConf *config.MinerAddressConfig) func() (*ctladdr.AddressSelector, error) { @@ -1016,6 +1017,7 @@ func NewSetSealConfigFunc(r repo.LockedRepo) (dtypes.SetSealingConfigFunc, error TerminateBatchMin: cfg.TerminateBatchMin, TerminateBatchWait: config.Duration(cfg.TerminateBatchWait), MaxSectorProveCommitsSubmittedPerEpoch: cfg.MaxSectorProveCommitsSubmittedPerEpoch, + UseSyntheticPoRep: cfg.UseSyntheticPoRep, } c.SetSealingConfig(newCfg) }) @@ -1060,6 +1062,7 @@ func ToSealingConfig(dealmakingCfg config.DealmakingConfig, sealingCfg config.Se TerminateBatchMax: sealingCfg.TerminateBatchMax, TerminateBatchMin: sealingCfg.TerminateBatchMin, TerminateBatchWait: time.Duration(sealingCfg.TerminateBatchWait), + UseSyntheticPoRep: sealingCfg.UseSyntheticPoRep, } } diff --git a/storage/pipeline/sealiface/config.go b/storage/pipeline/sealiface/config.go index 99715fc28..e41b143ec 100644 --- a/storage/pipeline/sealiface/config.go +++ b/storage/pipeline/sealiface/config.go @@ -60,4 +60,6 @@ type Config struct { TerminateBatchMax uint64 TerminateBatchMin uint64 TerminateBatchWait time.Duration + + UseSyntheticPoRep bool } diff --git a/storage/pipeline/sealing.go b/storage/pipeline/sealing.go index b93b8ade6..65d3fb14b 100644 --- a/storage/pipeline/sealing.go +++ b/storage/pipeline/sealing.go @@ -339,7 +339,12 @@ func (m *Sealing) currentSealProof(ctx context.Context) (abi.RegisteredSealProof return 0, err } - return lminer.PreferredSealProofTypeFromWindowPoStType(ver, mi.WindowPoStProofType) + c, err := m.getConfig() + if err != nil { + return 0, err + } + + return lminer.PreferredSealProofTypeFromWindowPoStType(ver, mi.WindowPoStProofType, c.UseSyntheticPoRep) } func (m *Sealing) minerSector(spt abi.RegisteredSealProof, num abi.SectorNumber) storiface.SectorRef { diff --git a/storage/pipeline/states_sealing.go b/storage/pipeline/states_sealing.go index 6caa66494..8221b3968 100644 --- a/storage/pipeline/states_sealing.go +++ b/storage/pipeline/states_sealing.go @@ -584,6 +584,7 @@ func (m *Sealing) handleCommitting(ctx statemachine.Context, sector SectorInfo) porepProof, err = m.sealer.SealCommit2(sector.sealingCtx(ctx.Context()), m.minerSector(sector.SectorType, sector.SectorNumber), c2in) if err != nil { + log.Errorw("Commit2 error", "error", err) return ctx.Send(SectorComputeProofFailed{xerrors.Errorf("computing seal proof failed(2): %w", err)}) } } else { diff --git a/storage/sealer/ffiwrapper/sealer_cgo.go b/storage/sealer/ffiwrapper/sealer_cgo.go index 871012d0b..85c80a9c1 100644 --- a/storage/sealer/ffiwrapper/sealer_cgo.go +++ b/storage/sealer/ffiwrapper/sealer_cgo.go @@ -825,15 +825,49 @@ func (sb *Sealer) SealPreCommit2(ctx context.Context, sector storiface.SectorRef return storiface.SectorCids{}, xerrors.Errorf("unmarshaling pc1 output: %w", err) } - var ticket abi.SealRandomness ti, found := p1odec["_lotus_SealRandomness"] + if abi.Synthetic[sector.ProofType] { + if !found { + return storiface.SectorCids{}, xerrors.Errorf("synthetic mode: ticket not found") + } + } + if found { - ticket, err = base64.StdEncoding.DecodeString(ti.(string)) + ticket, err := base64.StdEncoding.DecodeString(ti.(string)) if err != nil { return storiface.SectorCids{}, xerrors.Errorf("decoding ticket: %w", err) } + if abi.Synthetic[sector.ProofType] { + // note: we generate synth porep challenges first because the C1 check below reads from those + + err = ffi.GenerateSynthProofs( + sector.ProofType, + sealedCID, + unsealedCID, + paths.Cache, + paths.Sealed, + sector.ID.Number, + sector.ID.Miner, ticket, + []abi.PieceInfo{{Size: abi.PaddedPieceSize(ssize), PieceCID: unsealedCID}}) + if err != nil { + log.Warn("GenerateSynthProofs() failed: ", err) + log.Warnf("num:%d tkt:%v, sealedCID:%v, unsealedCID:%v", sector.ID.Number, ticket, sealedCID, unsealedCID) + return storiface.SectorCids{}, xerrors.Errorf("generate synth proofs: %w", err) + } + + if err = ffi.ClearLayerData(ssize, paths.Cache); err != nil { + log.Warn("failed to GenerateSynthProofs(): ", err) + log.Warnf("num:%d tkt:%v, sealedCID:%v, unsealedCID:%v", sector.ID.Number, ticket, sealedCID, unsealedCID) + return storiface.SectorCids{ + Unsealed: unsealedCID, + Sealed: sealedCID, + }, nil + // Note: non-fatal error. + } + } + for i := 0; i < PC2CheckRounds; i++ { var sd [32]byte _, _ = rand.Read(sd[:]) @@ -889,6 +923,7 @@ func (sb *Sealer) SealCommit1(ctx context.Context, sector storiface.SectorRef, t return nil, xerrors.Errorf("StandaloneSealCommit: %w", err) } + return output, nil } @@ -1078,6 +1113,13 @@ func (sb *Sealer) FinalizeSector(ctx context.Context, sector storiface.SectorRef } defer done() + if abi.Synthetic[sector.ProofType] { + if err = ffi.ClearSyntheticProofs(uint64(ssize), paths.Cache); err != nil { + log.Warn("Unable to delete Synth cache:", err) + // Pass-Thru on error. + } + } + return ffi.ClearCache(uint64(ssize), paths.Cache) } @@ -1116,6 +1158,13 @@ func (sb *Sealer) FinalizeSectorInto(ctx context.Context, sector storiface.Secto } } + if abi.Synthetic[sector.ProofType] { + if err = ffi.ClearSyntheticProofs(uint64(ssize), dest); err != nil { + log.Warn("Unable to delete Synth cache:", err) + // Pass-Thru on error. + } + } + return ffi.ClearCache(uint64(ssize), dest) } @@ -1132,6 +1181,12 @@ func (sb *Sealer) FinalizeReplicaUpdate(ctx context.Context, sector storiface.Se } defer done() + if abi.Synthetic[sector.ProofType] { + if err = ffi.ClearSyntheticProofs(uint64(ssize), paths.Cache); err != nil { + return xerrors.Errorf("clear synth cache: %w", err) + } + } + if err := ffi.ClearCache(uint64(ssize), paths.Cache); err != nil { return xerrors.Errorf("clear cache: %w", err) } @@ -1144,6 +1199,8 @@ func (sb *Sealer) FinalizeReplicaUpdate(ctx context.Context, sector storiface.Se } defer done() + // note: synth cache is not a thing for snapdeals + if err := ffi.ClearCache(uint64(ssize), paths.UpdateCache); err != nil { return xerrors.Errorf("clear cache: %w", err) } diff --git a/storage/sealer/ffiwrapper/sealer_test.go b/storage/sealer/ffiwrapper/sealer_test.go index 4d3b1a9be..98c562fd2 100644 --- a/storage/sealer/ffiwrapper/sealer_test.go +++ b/storage/sealer/ffiwrapper/sealer_test.go @@ -1066,7 +1066,111 @@ func TestDCAPCloses(t *testing.T) { require.Equal(t, "baga6ea4seaqeje7jy4hufnybpo7ckxzujaigqbcxhdjq7ojb4b6xzgqdugkyciq", c.PieceCID.String()) require.True(t, clr.closed) }) +} +func TestSealAndVerifySynth(t *testing.T) { + sealProofType = abi.RegisteredSealProof_StackedDrg2KiBV1_1_Feat_SyntheticPoRep + + if testing.Short() { + t.Skip("skipping test in short mode") + } + + defer requireFDsClosed(t, openFDs(t)) + + if runtime.NumCPU() < 10 && os.Getenv("CI") == "" { // don't bother on slow hardware + t.Skip("this is slow") + } + _ = os.Setenv("RUST_LOG", "info") + + getGrothParamFileAndVerifyingKeys(sectorSize) + + cdir, err := os.MkdirTemp("", "sbtest-c-") + if err != nil { + t.Fatal(err) + } + miner := abi.ActorID(123) + + synthPorRepVProofsName := "syn-porep-vanilla-proofs.dat" + + printFileList := func(stage string, expectSynthPorep bool) { + var hasSynthPorep bool + + fmt.Println("----file list:", stage) + err := filepath.Walk(cdir, func(path string, info os.FileInfo, err error) error { + if strings.Contains(path, synthPorRepVProofsName) { + hasSynthPorep = true + } + fmt.Println(path) + return nil + }) + if err != nil { + t.Fatal(err) + } + + require.Equal(t, expectSynthPorep, hasSynthPorep) + + fmt.Println("----") + } + + sp := &basicfs.Provider{ + Root: cdir, + } + sb, err := New(sp) + if err != nil { + t.Fatalf("%+v", err) + } + t.Cleanup(func() { + if t.Failed() { + fmt.Printf("not removing %s\n", cdir) + return + } + if err := os.RemoveAll(cdir); err != nil { + t.Error(err) + } + }) + + si := storiface.SectorRef{ + ID: abi.SectorID{Miner: miner, Number: 1}, + ProofType: sealProofType, + } + + s := seal{ref: si} + + start := time.Now() + + s.precommit(t, sb, si, func() {}) + + printFileList("precommit", true) + + precommit := time.Now() + + s.commit(t, sb, func() {}) + + printFileList("commit", true) + + commit := time.Now() + + post(t, sb, nil, s) + + printFileList("post", true) + + epost := time.Now() + + post(t, sb, nil, s) + + if err := sb.FinalizeSector(context.TODO(), si); err != nil { + t.Fatalf("%+v", err) + } + + printFileList("finalize", false) + + s.unseal(t, sb, sp, si, func() {}) + + printFileList("unseal", false) + + fmt.Printf("PreCommit: %s\n", precommit.Sub(start).String()) + fmt.Printf("Commit: %s\n", commit.Sub(precommit).String()) + fmt.Printf("EPoSt: %s\n", epost.Sub(commit).String()) } type closeAssertReader struct { diff --git a/storage/sealer/storiface/resources.go b/storage/sealer/storiface/resources.go index 0fd80d79a..6f8d83265 100644 --- a/storage/sealer/storiface/resources.go +++ b/storage/sealer/storiface/resources.go @@ -587,13 +587,18 @@ func init() { ResourceTable[sealtasks.TTDataCid][proof] = ResourceTable[sealtasks.TTAddPiece][abi.RegisteredSealProof_StackedDrg32GiBV1] } - // V1_1 is the same as V1 + // V1_1 and SynthethicpoRep is the same as V1 for _, m := range ResourceTable { m[abi.RegisteredSealProof_StackedDrg2KiBV1_1] = m[abi.RegisteredSealProof_StackedDrg2KiBV1] + m[abi.RegisteredSealProof_StackedDrg2KiBV1_1_Feat_SyntheticPoRep] = m[abi.RegisteredSealProof_StackedDrg2KiBV1] m[abi.RegisteredSealProof_StackedDrg8MiBV1_1] = m[abi.RegisteredSealProof_StackedDrg8MiBV1] + m[abi.RegisteredSealProof_StackedDrg8MiBV1_1_Feat_SyntheticPoRep] = m[abi.RegisteredSealProof_StackedDrg8MiBV1] m[abi.RegisteredSealProof_StackedDrg512MiBV1_1] = m[abi.RegisteredSealProof_StackedDrg512MiBV1] + m[abi.RegisteredSealProof_StackedDrg512MiBV1_1_Feat_SyntheticPoRep] = m[abi.RegisteredSealProof_StackedDrg512MiBV1] m[abi.RegisteredSealProof_StackedDrg32GiBV1_1] = m[abi.RegisteredSealProof_StackedDrg32GiBV1] + m[abi.RegisteredSealProof_StackedDrg32GiBV1_1_Feat_SyntheticPoRep] = m[abi.RegisteredSealProof_StackedDrg32GiBV1] m[abi.RegisteredSealProof_StackedDrg64GiBV1_1] = m[abi.RegisteredSealProof_StackedDrg64GiBV1] + m[abi.RegisteredSealProof_StackedDrg64GiBV1_1_Feat_SyntheticPoRep] = m[abi.RegisteredSealProof_StackedDrg64GiBV1] } }