Skip to content

Releases: starcoinorg/starcoin

v1.5.0

17 Aug 09:22
c3d76f5
Compare
Choose a tag to compare

Chain

  • [area:json-api] Account import/import_readonly rpc support string hex parameter #2789
  • [area:cli] add a node cmd to reset node startup info #2792
  • [area:cli] add a node cmd to delete block #2796
  • [area:sync] Check failed block before apply. #2794

Stdlib

  • Update specs to use move 1.3 syntax. #2603
  • Support contract account by using SignerCapability abstraction. #2673
  • Account::deposit support deposit zero token. #2745
  • Account supports auto-accept-token feature. #2746
  • Implement Oracle protocol, support general data oracle and price oracles. #2732
  • Implement NFT protocol which has builtin IdentifierNFT, GenesisNFT. (#2688, #2763, #2760, #2767, #2769, #2771, #2772)
  • Add many script functions. #2745, #2781
  • Fix Math.mul_div. (#2775 by xiangfeihan<xiangfeihan@bixin.com)

Hard fork

  • [vm]: fix cache data when upgrading modules with init script function #161

Bugfix

  • [bug] fix txn output decode failure after dry run package #2787

v1.4.2

26 Jul 11:58
12ea145
Compare
Choose a tag to compare
  1. Fix module-plain command (#2733)
  2. Change type tag serialize to string in jsonrpc (#2737)
  3. ci: release a standalone move-cli binary (#2740)

v1.4.1

19 Jul 10:25
deabdbc
Compare
Choose a tag to compare

Fix bug #2726. The bug impacts the contract.dry_run API when deploying a new Module.

中文说明

修复 bug #2726。该 bug 影响 contract.dry_run 接口,dry run 部署 Module 的交易时有可能失败。

v1.4.0

18 Jul 14:51
9c605f7
Compare
Choose a tag to compare

Introduce StructABI,ModuleABI,ScriptFunctionABI for auto decode resource,transaction payload and move bytecode.

  • Add new API: contract.dry_run_raw,contract.resolve_function, contract.resolve_struct, contract.resolve_module, state.get_resource,state.list_resource,state.get_code,state.list_code.
  • Add new command: dev resolve function|struct|module, state get|list resource|code

Compatibility notes:

  1. Refactored some cli commands, some commands output are not compatible
  2. Deprecated BlockHeader's author_auth_key field, author_auth_key is always None from this version. This is compatible.

Upgrade suggestion:

Bug (#2689) may cause wrong transaction info to be retrieved, please upgrade to v1.3.1 or v1.4.0 as soon as possible

  • [prover] upgrade move prover to diem release 1.3 (#2642)
  • [stratum] Support to setting user name for client (#2644)
  • [rpc] Refactor dry run api, add new api contract.dry_run_raw for directly dry run RawUserTransaction. Dry run outpout more detail info. (#2648) (#2720)
  • [move] Explain vm status (#2647) (#2666)
  • [cli] Refactor account show output full token code for support user defined token. (#2658) (#2718)
  • [abi,rpc] ABI resolve and decoder, support decode resource, transaction payload and bytecode. Add new api contract.resolve_function, contract.resolve_struct, contract.resolve_module. Add new command dev resolve function|struct|module. (#2659) (#2702) #2719)
  • [rpc] Add new state.get_resource,state.list_resource,state.get_code,state.list_code API and support decode data by ABI, implements new state get resource|code,state list resource|code command by new API. (#2668) (#2681) (#2695)
  • [move-cli] support functional-test (#2667) (#2691)
  • [faucet] Refactor and deploy starcoin test network faucet (#2669) (#2670) (#2680)
  • [cmd] Add db-exporter cmd for export database records. (#2657)
  • [account] Remove AccountSignature and define SignedMessage, for support verify account by SignedMessage (#2676) (#2696)
  • [rpc,cli] Event filter now support filter by address or typetag and decode data (#2682) (#2717)
  • [accumulator] Fix bug for get txn info from chain (#2689)
  • [types] Do auth key final cleanup, BlockHeader's author_auth_key field now is always None. (#2687) (#2713)
  • [cli] Refactor ExecuteResultView, output more detail info about transaction (#2715)
  • [test] support specify address when declare accounts (#2711)

中文说明

发者体验以及工具增强。

  • 引入 ABI resolver 和 decoder,可以通过 Move bytecode 自动生成 StructABI, FunctionABI, ModuleABI。ABI 可用于代码生成,解析二进制状态,事件以及交易参数等场景。
  • 优化预执行交易的错误展示,可精确定位到出错的模块以及方法。
  • 新增接口: contract.dry_run_raw,contract.resolve_function, contract.resolve_struct, contract.resolve_module, state.get_resource,state.list_resource,state.get_code,state.list_code.
  • 新增命令: dev resolve function|struct|module, state get|list resource|code

兼容性说明:

  1. 重构了一些 cli 命令,可能会导致一些命令的输出 json 格式不兼容。
  2. 废除了 BlockHeader 的 author_auth_key 字段,从这个版本开始 author_auth_key 总是为空。这变更是兼容的。

升级建议:

Bug (#2689) 可能会导致打包到叔块的交易被错误的认为是在主块,请尽快升级到 v1.3.1 或者 v1.4.0 版本。

  • [prover] 升级 Move prover 到1.3版的 diem (#2642)
  • [stratum] 支持为客户端设置用户名 (#2644)
  • [rpc] 重构 dry run api,增加新的 api contract.dry_run_raw 用于直接 dry run RawUserTransaction。dry run 返回值中输出详细的 resource 变更结果。 (#2648) (#2720)
  • [move] 解释 VM 的错误码,展示错误码的名称以及执行失败的模块 (#2647) (#2666)
  • [cli] 重构 account show 输出完整的 TokenCode,以支持用户定义的 Token。(#2658) (#2718)
  • [abi] ABI resolver 和 decoder,支持将 resource,transaction payload, evnet, 以及 move bytecode 解析成展示友好的 json 格式。新增接口 contract.resolve_function, contract.resolve_struct, contract.resolve_module. 新增命令 dev resolve function|struct|module. (#2659) (#2702) #2719)
  • [rpc] 新增 state.get_resource,state.list_resource,state.get_code,state.list_code,通过新的 API 实现新的 state get resource|codestate list resource|code 命令,可自动将二进制解析为 json。(#2668) (#2681) (#2695)
  • [move-cli] 支持 functional test (#2667) (#2691)
  • [faucet] 重构和部署 starcoin 测试网 faucet (#2669) (#2670) (#2680)
  • [cmd] 增加 db-exporter 命令用于导出数据库记录 (#2657)
  • [account] 移除 AccountSignature 并定义 SignedMessage,以支持通过 SignedMessage 验证账户 (#2676) (#2696)
  • [rpc,cli] 事件过滤器现在支持通过地址或类型标签过滤和解码数据 (#2682) (#2717)
  • [accumulator] 修复从链上获取 txn info 的错误 (#2689)
  • [types] 完成 auth_key 的最后清理工作,废弃 BlockHeader 的 author_auth_key 字段。(#2687) (#2713)
  • [cli] 重构 ExecuteResultView,输出更多关于交易的详细信息 (#2715)
  • [test] 支持在声明账户时指定地址 (#2711)

v1.4.0-beta

12 Jul 11:46
d11fb85
Compare
Choose a tag to compare
v1.4.0-beta Pre-release
Pre-release
[rpc & cli] Add chain_id to SignedMessage, and verify chain id. (#2696)

* [rpc & cli] Add chain_id to SignedMessage, and verify chain id.

v1.3.1

09 Jul 15:21
Compare
Choose a tag to compare

Fix get transaction info bug #2686

v1.3.0

25 Jun 10:04
9ed947b
Compare
Choose a tag to compare

Move upgrade, command line development tool improvement, miner client support stratum mining pool protocol, stdlib v5 follow-up update

Compatibility notes:

  1. cleaned up and refactored some cli commands, some commands are not compatible
  2. The account address literals in the new Move source code need to be prefixed with @ symbols, for example, 0xA550C18 needs to be changed to @0xA550C18.

Upgrade recommendation:

Please upgrade to the new version to be ready for open third-party Move contract deployment

  • [cli] console commands that require password are not recorded in the command history (#2591)
  • [cli] Clean up and unify commands 1. migrate debug commands to dev 2. replace _ symbols in commands with - 3. default output json (#2593) (#2599) (#2606)
  • [transaction] transfers use the 0x1::TransferScripts::peer_to_peer_v2 function in stdlib v5, which no longer requires the auth key parameter (#2609)
  • [types] Implemented ReceiptIdentifier in AccountAddress, deprecated the auth key field in ReceiptIdentifier, now AccountAddress == ReceiptIdentifier, e.g. 0xb3b40cb6dbb335b69f5405ec43f8e7ce == stc1pkw6qedkmkv6md865qhky8788ecajgscp , both are different format of address (#2627)
  • [mv] Validate ScriptFunction parameters while validating transactions (#2624)
  • [move-cli] Upgrade move cli, and include in starcoin release binary package (#2629)
  • [cli] dev compile command support directory and dev deploy command support Package binary, dry run transaction output improved (#2619) (#2623)
  • [move] Move VM upgraded to v1.3 (diem 1.3) Note: The address literals in the new Move syntax need to be prefixed with the @ symbol (#2603)
  • [miner] miner client supports stratum mining pool protocol (#2617)
  • [token] Fix TokenCode nested generic support, e.g.: 0x1::Token::TokenPair<0x1::TokenA::TokenA, 0x1::TokenB::TokenB> (#2631)
  • [transaction] Fix transaction generator builder bug that could not generate sdk for other languages (#2625)
  • [ci] Fix Windows build bug (#2630)
  • [documentation] Add postman configuration and instructions (#2581) document improve (#2582)

中文说明

Move 版本升级, 命令行开发工具改进, miner client 支持 stratum 矿池协议, stdlib v5 升级后续更新

兼容性说明:

  1. 清理和重构了部分 cli 命令,部分命令不能兼容
  2. 新版 Move 源码中的账号地址字面量需要加上 @ 符号前缀, 比如 0xA550C18 需要改为 @0xA550C18

升级建议:

请升级到新版以准备好开放第三方合约部署

  • [cli] console 命令中需要输入密码等信息的命令不记录在命令历史记录中 (#2591)
  • [cli] 清理以及统一命令 1. 将 debug 下的命令迁移到 dev 2. 命令中的 _ 符号用 - 替换 3. 默认输出 json 结果 (#2593) (#2599) (#2606)
  • [transaction] 转账使用 stdlib v5 中的 0x1::TransferScripts::peer_to_peer_v2 方法,不再需要 auth key 参数 (#2609)
  • [types] 在 AccountAddress 中实现了 ReceiptIdentifier,废弃了 ReceiptIdentifier 中的 auth key 字段,现在 AccountAddress == ReceiptIdentifier,比如 0xb3b40cb6dbb335b69f5405ec43f8e7ce == stc1pkw6qedkmkv6md865qhky8788ecajgscp , 都是 address 的不同展示方式 (#2627)
  • [mv] 验证交易的时候同时校验 ScriptFunction 的参数 (#2624)
  • [move-cli] 升级 move cli, 并包含在 starcoin release 二进制包中 (#2629)
  • [cli] dev compile 支持目录以及 dev deploy 命令支持 Package 二进制, dry run 交易输出结果改进 (#2619) (#2623)
  • [move] Move VM 升级到 v1.3 (diem 1.3) 注意: 新版 Move 语法中的地址字面量需要加上 @ 符号前缀 (#2603)
  • [miner] miner client 支持 stratum 矿池协议 (#2617)
  • [token] 修复 TokenCode 嵌套泛型支持,比如: 0x1::Token::TokenPair<0x1::TokenA::TokenA, 0x1::TokenB::TokenB> (#2631)
  • [transaction] 修复了 transaction generator builder 无法生成其他语言 sdk 的bug (#2625)
  • [ci] 修复了 Windows 版本 build 错误 (#2630)
  • [document] 增加 postman 配置以及说明 (#2581), 如果当前语言的文档缺失则提供其他语言版本的链接 (#2582)

v1.2.0

07 Jun 11:21
525d016
Compare
Choose a tag to compare

Released the Move CLI tool and refactored the authentication key verification mechanism.

Note: This release contains hard fork features that will be activated after stdlib is upgraded to v5 version. Please upgrade to the latest version and wait for the upgrade proposal to be initiated before conducting an on-chain vote. Detailed instructions on voting will be given after the upgrade proposal is submitted.

  • [move cli] Release of the Move CLI tool and integration of the Move CLI and Starcoin chains, supported dependent third-party modules when developing Move contracts. (#2535) (#2535)
  • [stdlib] Released stdlib v5, contains the following features: 1. Refactor the authentication key verification mechanism of the account to simplify the way the account is initialized (#2562) 2. Add limit for treasury withdrawal proposals up to the proposal's voting threshold (#2566)
  • [documentation] Contract development-related documentation updates

中文说明

发布 Move CLI 工具以及重构账号的 authentication key 校验机制,简化账号的初始化方式。

注:本版本包含硬分叉特性,将在 stdlib 升级到 v5 版本后激活。请升级到最新版本,等待升级提案发起后,进行链上投票。关于投票的详细说明会在升级提案提交后给出。

  • [move cli] 发布 Move CLI 工具,以及集成 Move CLI 和 Starcoin 链,开发 Move 合约时可以依赖链上的状态或者第三方模块。 (#2535) (#2535)
  • [stdlib] 发布 stdlib v5 版本主要包含以下特性:1. 重构账号的 authentication key 校验机制,简化账号的初始化方式 (#2562) 2. 国库提款提案增加额度限制,最高不能超过提案的投票阈值 (#2566)
  • [document] 合约开发相关的文档更新

v1.1.0

28 May 04:23
17efec2
Compare
Choose a tag to compare

Account and Miner rpc and command enhancements

  • [cli] Enhanced account command support for receipt identifier (#2521)
  • [cli] Improved multi-sign command (#2529)
  • [cli & account] Read-only account support (#2536)
  • [cli & account] Support remove account command, no more restarting the node after the default account switch, and the lock/unlock rpc returns AccountInfo (#2544)
  • [cli] Unify commands for Module upgrades (#2511)
  • [stratum] Added documentation for the stratum protocol and fixed a bug that caused lose hash rates (#2539)
  • [rpc & miner] Improved Miner rpc return values (#2534)
  • [indexer] Improved block indexing tool (#2524) (#2526) (#2532) (#2543)

中文说明

Account 以及 Miner 相关的接口和命令增强

  • [cli] 增强账号相关命令对收款识别码(receipt identifier)的支持 (#2521)
  • [cli] 改进多签命令 (#2529)
  • [cli & account] 支持只读账号 (#2536)
  • [cli & account] 支持删除账号命令,默认账号切换后不再需要重启节点,以及 lock/unlock 接口返回 AccountInfo (#2544)
  • [cli] 统一 Module 升级的命令 (#2511)
  • [stratum] 新增 stratum 协议的文档以及修复了一个导致丢失哈希率的 bug (#2539)
  • [rpc & miner] 改进 Miner 相关的接口返回值 (#2534)
  • [indexer] 改进区块索引工具 indexer, 索引数据结构变更以及批量写入优化 (#2524) (#2526) (#2532) (#2543)

v1.0.0

18 May 06:23
512e090
Compare
Choose a tag to compare

Generate the Genesis block and the main network is launched.

  • [genesis] Generate genesis block, block hash: 0x80848150abee7e9a3bfe9542a019eb0b8b01f124b63b011f9c338fdb935c417d
  • [config] Set disable_miner_client to true in main network (#2514)
  • [rpc] state.get_account_state_set api supports set state_root parameter (#2512)
  • [cli] Improved management of multi-signature accounts (#2505)

中文说明

生成创世块,主网启动。

  • [genesis] 生成创世区块,区块哈希:0x80848150abee7e9a3bfe9542a019eb0b8b01f124b63b011f9c338fdb935c417d
  • [config] 主网节点默认设置 disable_miner_client 为 true,不再启动进程内挖矿客户端 (#2514)
  • [rpc] state.get_account_state_set 接口支持指定 state_root 参数 (#2512)
  • [cli] 改进多签账号对管理 (#2505)