...
包含以下步骤
Framework 代码升级,从1.0升级到2.0
将旧的framework与新的framework进行共存
旧Framework升级新Framework相关Writeset的写入(这里涉及到了一些Rust流程,以及之前的Forcedeploy逻辑)资产映射,将旧资产映射为新资产,包含的资产类型为Token资产,NFT资产两类,一期先映射Token资产,二期再映射NFT资产,主要包含信息读取和信息写入两个步骤
找到所有的用户 YSG
Token 信息读取信息读取,0x1::Account::Balance<Type>YSG
Token注册者的映射,包含TokenInfo、MintCapability、BurnCapability
Token持有者的映射0x1::Token::Token<Type>
信息写入 Bob
代码块 language rust fn migration_legacy_token_info_to_register( address: AccountAddress, token_struct_tag: StructTag ) -> Changeset { ... } fn migration_legacy_token_to_fungible_asset( address: AccountAddress, token_struct_tag: StructTag ) -> Changeset { ... } // upgrade ... // apply changeset ... let change_set = migration_legacy_token_info_to_register(); storage.apply(change_set);
生态项目改造(TODO)
Swap
Bridge
0,主要的工作在新的Genesis上发送一些applyset以达到数据同步的目的