Skip to content

Commit

Permalink
2.16.0 (#689)
Browse files Browse the repository at this point in the history
* 2.6.0 merge to master (#606)

* 修改chainid强转short的bug

* 修复cmd依赖问题

* broad cross chain info change tx remove main chain

* cross chain info change handler update

* chainManager cross asset record update

* 单元测试

* 修改忽略文件配置

* 修改版本号 (#600)

* 修改版本号 (#601)

* 2.6.0 修改协议版本号 (#602)

* 修改版本号

* protocal config update

Co-authored-by: tag0313 <981602228@qq.com>

* 命令行支持动态执行功能

* update  getblock  api

* update  getblock  api

* nuls-api增加链内转平行链资产的离线交易组装接口

* 修改平行链资产小数位错误的问题。

* 修复链管理在注销资产时验证资产占比时小数位错误的问题

* 修复增加跨链资产时小数位错误的问题

Co-authored-by: tag0313 <981602228@qq.com>
Co-authored-by: zhouwei1985 <251556768@qq.com>

* Bump junit from 4.12 to 4.13.1 in /common/nuls-core

Bumps [junit](https://github.com/junit-team/junit4) from 4.12 to 4.13.1.
- [Release notes](https://github.com/junit-team/junit4/releases)
- [Changelog](https://github.com/junit-team/junit4/blob/main/doc/ReleaseNotes4.12.md)
- [Commits](https://github.com/junit-team/junit4/compare/r4.12...r4.13.1)

Signed-off-by: dependabot[bot] <support@github.com>

* 2.7.0 merge to master (#610)

* 修改chainid强转short的bug

* 修复cmd依赖问题

* broad cross chain info change tx remove main chain

* cross chain info change handler update

* chainManager cross asset record update

* 单元测试

* 修改忽略文件配置

* 修改版本号 (#600)

* 修改版本号 (#601)

* 2.6.0 修改协议版本号 (#602)

* 修改版本号

* protocal config update

Co-authored-by: tag0313 <981602228@qq.com>

* 命令行支持动态执行功能

* update  getblock  api

* update  getblock  api

* nuls-api增加链内转平行链资产的离线交易组装接口

* 修改平行链资产小数位错误的问题。

* 修复链管理在注销资产时验证资产占比时小数位错误的问题

* 修复增加跨链资产时小数位错误的问题

* 优化网络模块连接时间服务器逻辑

* 优化网络模块连接时间服务器逻辑

* 新增可配置的起始协议号。
当程序已经支持到某一个高协议号,比如6,但高度1时默认使用的协议版本号依然是1.
修改为可在nuls.ncf的global配置组下配置beginProtocolVersion配置项修改起始的默认协议号。比如直接从6开始。

* update public-service add cross tx query

* fixed NPE

* update public-service add cross tx query

* 回滚上一个提交

* 去掉对chainid强转short

* update public-service add cross tx query

* update public-service add cross tx query

* 增加快照功能
区块模块根据配置的高度停止保存区块。

* update public-service add cross tx query

* update public-service add cross tx query

* api module add query Assets interface

* 增加beta配置文件

* api module add query Assets interface

* ps增加NRC20资产快照接口

* 修改打包配置

* 修改打包配置

* nuls-api增加链内平行链资产转账功能

* update public-service query other chainInfo

* Fix a bug where you get the chainId by address

* update public-service query acctTxs

* 修改停止脚本。
修改手续费计算错误问题

* merge from 2.6.1-beta public service

* update public service crossTxList api

* update ps calc crossTx fee

* update ps calc crossTx fee

* update ps get cross asset info

* 跨链增加查询方法

* update

* update ps get cross asset info

* test

* update ps get cross asset info

* update ps get cross asset info

* update getAccountCrossLedgerList

* update documents

* update public-service getTxlist

* update balance of contract token

* update createOfflineAccount signOffline

* locked balance of nrc20

* update createOfflineAccount signOffline

* 跨链增加来源链和中间链信息

* 跨链增加来源链和中间链信息

* 跨链增加来源链和中间链信息

* 跨链增加来源链和中间链信息

* update query ledger raking

* update createOfflineAccount signOffline

* 修改跨链协议

* 修改跨链协议

* 修改跨链协议

* test

* update calc totalsSupply

* add crossTx transfer api

* add crossTx transfer api

* add crossTx transfer api

* add x

* update api offline.sh

* locked balance of nrc20

* update ps getAssetRanking

* update total balance of nrc20 in ps

* account token balance

* dev

* 修改nerve链名称

* 修复卡块BUG

* fixed npe

* stop脚本

* 修改停止脚本

* 停止脚本

* update ps document

* fix NPE about contract tx rollback

* commit local config files

* update ps coinData decimals

* commit local config files

* test code

* commit local config files

* contract database prune disabled

* 跨链交易不验证签名部分

* 跨链交易验证资产是否已经注册成跨链资产

* test

* add bool

* update config

* update config

* update config

* update config

* add test logs

* add test logs

* add test logs

* update ps coinData decimals

* single thread pool

* 跨链重新进行拜赞庭签名

* 跨链重新进行拜赞庭签名

* 跨链重新进行拜赞庭签名

* 跨链重新进行拜赞庭签名

* 跨链重新进行拜赞庭签名

* 跨链重新进行拜赞庭签名

* 跨链重新进行拜赞庭签名

* recovery

* add boolean of contract cross asset

* fix red punish bug

* update ps-module getBlockTxList

* update ps-module getBlockTxList

* add boolean of contract cross asset

* update ps-module getTxList

* update ps-module getAcctTxs

* 测试验证人列表异常问题

* update corsschain tx

* 修复因变更跨链资产造成的平行链验证人列表重置问题。

* 修复因变更跨链资产造成的平行链验证人列表重置问题。

* 修改协议号

* update disable asset

* beta config

* 兼容验证人恢复的交易

* 兼容验证人恢复的交易

* 配置文件

* 修复nuls-api依赖provider接口版本错误问题

* 修复nulstar在window上启动问题

Co-authored-by: tag0313 <981602228@qq.com>
Co-authored-by: zhouwei1985 <251556768@qq.com>
Co-authored-by: MIMIEYES <pierreluohao@gmail.com>
Co-authored-by: Charlie <29900478@qq.com>
Co-authored-by: niels1286 <niels0519@gmail.com>

* Bump commons-beanutils from 1.9.3 to 1.9.4 in /module/nuls-api

Bumps commons-beanutils from 1.9.3 to 1.9.4.

Signed-off-by: dependabot[bot] <support@github.com>

* Master push (#612)

* 修改chainid强转short的bug

* 修复cmd依赖问题

* broad cross chain info change tx remove main chain

* cross chain info change handler update

* chainManager cross asset record update

* 单元测试

* 修改忽略文件配置

* 修改版本号 (#600)

* 修改版本号 (#601)

* 2.6.0 修改协议版本号 (#602)

* 修改版本号

* protocal config update

Co-authored-by: tag0313 <981602228@qq.com>

* 命令行支持动态执行功能

* update  getblock  api

* update  getblock  api

* nuls-api增加链内转平行链资产的离线交易组装接口

* 修改平行链资产小数位错误的问题。

* 修复链管理在注销资产时验证资产占比时小数位错误的问题

* 修复增加跨链资产时小数位错误的问题

* 优化网络模块连接时间服务器逻辑

* 优化网络模块连接时间服务器逻辑

* 新增可配置的起始协议号。
当程序已经支持到某一个高协议号,比如6,但高度1时默认使用的协议版本号依然是1.
修改为可在nuls.ncf的global配置组下配置beginProtocolVersion配置项修改起始的默认协议号。比如直接从6开始。

* update public-service add cross tx query

* fixed NPE

* update public-service add cross tx query

* 回滚上一个提交

* 去掉对chainid强转short

* update public-service add cross tx query

* update public-service add cross tx query

* 增加快照功能
区块模块根据配置的高度停止保存区块。

* update public-service add cross tx query

* update public-service add cross tx query

* api module add query Assets interface

* 增加beta配置文件

* api module add query Assets interface

* ps增加NRC20资产快照接口

* 修改打包配置

* 修改打包配置

* nuls-api增加链内平行链资产转账功能

* update public-service query other chainInfo

* Fix a bug where you get the chainId by address

* update public-service query acctTxs

* 修改停止脚本。
修改手续费计算错误问题

* merge from 2.6.1-beta public service

* update public service crossTxList api

* update ps calc crossTx fee

* update ps calc crossTx fee

* update ps get cross asset info

* 跨链增加查询方法

* update

* update ps get cross asset info

* test

* update ps get cross asset info

* update ps get cross asset info

* update getAccountCrossLedgerList

* update documents

* update public-service getTxlist

* update balance of contract token

* update createOfflineAccount signOffline

* locked balance of nrc20

* update createOfflineAccount signOffline

* 跨链增加来源链和中间链信息

* 跨链增加来源链和中间链信息

* 跨链增加来源链和中间链信息

* 跨链增加来源链和中间链信息

* update query ledger raking

* update createOfflineAccount signOffline

* 修改跨链协议

* 修改跨链协议

* 修改跨链协议

* test

* update calc totalsSupply

* add crossTx transfer api

* add crossTx transfer api

* add crossTx transfer api

* add x

* update api offline.sh

* locked balance of nrc20

* update ps getAssetRanking

* update total balance of nrc20 in ps

* account token balance

* dev

* 修改nerve链名称

* 修复卡块BUG

* fixed npe

* stop脚本

* 修改停止脚本

* 停止脚本

* update ps document

* fix NPE about contract tx rollback

* commit local config files

* update ps coinData decimals

* commit local config files

* test code

* commit local config files

* contract database prune disabled

* 跨链交易不验证签名部分

* 跨链交易验证资产是否已经注册成跨链资产

* test

* add bool

* update config

* update config

* update config

* update config

* add test logs

* add test logs

* add test logs

* update ps coinData decimals

* single thread pool

* 跨链重新进行拜赞庭签名

* 跨链重新进行拜赞庭签名

* 跨链重新进行拜赞庭签名

* 跨链重新进行拜赞庭签名

* 跨链重新进行拜赞庭签名

* 跨链重新进行拜赞庭签名

* 跨链重新进行拜赞庭签名

* recovery

* add boolean of contract cross asset

* fix red punish bug

* update ps-module getBlockTxList

* update ps-module getBlockTxList

* add boolean of contract cross asset

* update ps-module getTxList

* update ps-module getAcctTxs

* 测试验证人列表异常问题

* update corsschain tx

* 修复因变更跨链资产造成的平行链验证人列表重置问题。

* 修复因变更跨链资产造成的平行链验证人列表重置问题。

* 修改协议号

* update disable asset

* beta config

* 兼容验证人恢复的交易

* 兼容验证人恢复的交易

* 配置文件

* 修复nuls-api依赖provider接口版本错误问题

* 修复nulstar在window上启动问题

* rm testfile

* merge

* merge

* merge

* merge

* 优化release脚本

Co-authored-by: tag0313 <981602228@qq.com>
Co-authored-by: zhouwei1985 <251556768@qq.com>
Co-authored-by: MIMIEYES <pierreluohao@gmail.com>
Co-authored-by: Charlie <29900478@qq.com>
Co-authored-by: niels1286 <niels0519@gmail.com>
Co-authored-by: Niels <niels@nuls.io>

* merger 2.8.2 to master (#619)

* api module add query Assets interface

* 增加beta配置文件

* api module add query Assets interface

* ps增加NRC20资产快照接口

* 修改打包配置

* 修改打包配置

* nuls-api增加链内平行链资产转账功能

* update public-service query other chainInfo

* Fix a bug where you get the chainId by address

* update public-service query acctTxs

* 修改停止脚本。
修改手续费计算错误问题

* merge from 2.6.1-beta public service

* update public service crossTxList api

* update ps calc crossTx fee

* update ps calc crossTx fee

* update ps get cross asset info

* 跨链增加查询方法

* update

* update ps get cross asset info

* test

* update ps get cross asset info

* update ps get cross asset info

* update getAccountCrossLedgerList

* update documents

* update public-service getTxlist

* update balance of contract token

* update createOfflineAccount signOffline

* locked balance of nrc20

* update createOfflineAccount signOffline

* 跨链增加来源链和中间链信息

* 跨链增加来源链和中间链信息

* 跨链增加来源链和中间链信息

* 跨链增加来源链和中间链信息

* update query ledger raking

* update createOfflineAccount signOffline

* 修改跨链协议

* 修改跨链协议

* 修改跨链协议

* test

* update calc totalsSupply

* add crossTx transfer api

* add crossTx transfer api

* add crossTx transfer api

* add x

* update api offline.sh

* locked balance of nrc20

* update ps getAssetRanking

* update total balance of nrc20 in ps

* account token balance

* dev

* 修改nerve链名称

* 修复卡块BUG

* fixed npe

* stop脚本

* 修改停止脚本

* 停止脚本

* update ps document

* fix NPE about contract tx rollback

* commit local config files

* update ps coinData decimals

* commit local config files

* test code

* commit local config files

* contract database prune disabled

* 跨链交易不验证签名部分

* 跨链交易验证资产是否已经注册成跨链资产

* test

* add bool

* update config

* update config

* update config

* update config

* add test logs

* add test logs

* add test logs

* update ps coinData decimals

* single thread pool

* 跨链重新进行拜赞庭签名

* 跨链重新进行拜赞庭签名

* 跨链重新进行拜赞庭签名

* 跨链重新进行拜赞庭签名

* 跨链重新进行拜赞庭签名

* 跨链重新进行拜赞庭签名

* 跨链重新进行拜赞庭签名

* recovery

* add boolean of contract cross asset

* fix red punish bug

* update ps-module getBlockTxList

* update ps-module getBlockTxList

* add boolean of contract cross asset

* update ps-module getTxList

* update ps-module getAcctTxs

* 测试验证人列表异常问题

* update corsschain tx

* 修复因变更跨链资产造成的平行链验证人列表重置问题。

* 修复因变更跨链资产造成的平行链验证人列表重置问题。

* 修改协议号

* update disable asset

* beta config

* 兼容验证人恢复的交易

* 兼容验证人恢复的交易

* 配置文件

* 修复nuls-api依赖provider接口版本错误问题

* 修复nulstar在window上启动问题

* update config

* update ps-module getContract

* contract multi-asset transfer

* contract multi-asset test and fix bug

* fix bug about balance of contract

* fix bug and update test case

* test case updated

* update ps-module getAccountTokenInfo

* update ps-module getAccountTokenInfo

* update ps-module getAccountTokenInfo

* fix bug about contract transfer merge

* update test case

* add cmd error log

* update test case

* add ImportKeyStoreFilesProcessor cmd

* dev

* dev

* fix bug about contract transfer locked

* update contract call validation

* update contract call validation

* update module connection

* optimize ledger

* transaction block height update

* recovery versions

* update vm sdk classes

* update package

* 优化跨链交易重新处理机制

* 优化跨链交易重新处理机制

* 优化跨链交易重新处理机制

* version

* update validation of contract args

* fix bug

* add CrossChainAssetRegMngRepository cmd

* v2.7.3

* update multi-asset in contract

* v2.7.3

* update package

* single thread in contract

* revert

* update

* update max count

* 暂时关闭跨链交易

* 暂时关闭跨链交易

* 暂时关闭跨链交易

* support many assets transfer to contract

* update vm cache settings

* update setting

* remove debug logs

* update log

* 重置本链验证人列表交易

* update data source in contract

* 重置本链验证人列表交易

* 重置本链验证人列表交易

* 重置本链验证人列表交易

* 普通跨链交易饱和签名数在最少签名数的基础上上浮30%。

* 交易模块基础验证中验证手续费获取交易size时, 去掉交易签名的size(针对所有交易)

* 重置本链验证人后创建一笔初始化验证人交易重置平行链存储的主链验证人列表

* 重置本链验证人后创建一笔初始化验证人交易重置平行链存储的主链验证人列表

* 重置本链验证人后创建一笔初始化验证人交易重置平行链存储的主链验证人列表

* rm

* 重置本链验证人后创建一笔初始化验证人交易重置平行链存储的主链验证人列表

* 重置本链验证人后创建一笔初始化验证人交易重置平行链存储的主链验证人列表

* 普通跨链交易饱和签名数在最少签名数的基础上上浮30%。

* 普通跨链交易饱和签名数在最少签名数的基础上上浮5%。

* update MongoAccountServiceImpl change AddressLIst

* 打开跨链交易

* update config

* gas price coding

* update vm class code load

* update mongodb.estimatedDocumentCount()

* 普通跨链交易饱和签名数在最少签名数的基础上上浮30%。

* fix bug about contract multi-asset

* 修改回滚逻辑,临时,后续需要仔细重构

* remove ps module

* update contract execution way

* update package logic of contract transactions

* test case

* 尝试修改切换分叉链失败时,区块模块停止的问题

* fix bug about multi-asset transfer into contract

* update contract db and transfer

* fix NPE

* update memory rule in contract

* update result

* update contract transfer back tx

* update ChainAssetCmd

* 启动脚本增加动态JVM参数

* nrc721 support coding in contract module

* 启动脚本增加动态JVM参数

* 调整window启动脚本

* nrc721 parse

* update validation of call in nuls-api

* update nuls api

* fix bug about  token cross chain

* recovery package count (#614)

* 修改协议升级的延迟块数 (#615)

* update test case

* 重新处理跨链交易增加token跨链

* 重新处理跨链交易增加token跨链

* 重新处理跨链交易增加token跨链

* 重新处理跨链交易增加token跨链

* update 3g mem of contract module

* add txType

* update cross token system contract

* 调试主网配置

* es commit

* version

* support multy asset with contract in nuls api module

* update offline contract transaction

Co-authored-by: zhouwei1985 <251556768@qq.com>
Co-authored-by: lijun.zhou <zhouj.172@gmail.com>
Co-authored-by: Charlie <29900478@qq.com>
Co-authored-by: niels1286 <niels0519@gmail.com>
Co-authored-by: niels1286 <niels@nuls.io>

* beta 跨链合约更新

* verser

* update beta setting

* version 290

* update array list limit

* update test case

* update

* update

* update

* u

* update max limit

* args bug

* update version control

* remove log

* version

* fix bug about nuls-api in testnet

* update error log

* Pre master (#631)

* update query ledger raking

* update createOfflineAccount signOffline

* 修改跨链协议

* 修改跨链协议

* 修改跨链协议

* test

* update calc totalsSupply

* add crossTx transfer api

* add crossTx transfer api

* add crossTx transfer api

* add x

* update api offline.sh

* locked balance of nrc20

* update ps getAssetRanking

* update total balance of nrc20 in ps

* account token balance

* dev

* 修改nerve链名称

* 修复卡块BUG

* fixed npe

* stop脚本

* 修改停止脚本

* 停止脚本

* update ps document

* fix NPE about contract tx rollback

* commit local config files

* update ps coinData decimals

* commit local config files

* test code

* commit local config files

* contract database prune disabled

* 跨链交易不验证签名部分

* 跨链交易验证资产是否已经注册成跨链资产

* test

* add bool

* update config

* update config

* update config

* update config

* add test logs

* add test logs

* add test logs

* update ps coinData decimals

* single thread pool

* 跨链重新进行拜赞庭签名

* 跨链重新进行拜赞庭签名

* 跨链重新进行拜赞庭签名

* 跨链重新进行拜赞庭签名

* 跨链重新进行拜赞庭签名

* 跨链重新进行拜赞庭签名

* 跨链重新进行拜赞庭签名

* recovery

* add boolean of contract cross asset

* fix red punish bug

* update ps-module getBlockTxList

* update ps-module getBlockTxList

* add boolean of contract cross asset

* update ps-module getTxList

* update ps-module getAcctTxs

* 测试验证人列表异常问题

* update corsschain tx

* 修复因变更跨链资产造成的平行链验证人列表重置问题。

* 修复因变更跨链资产造成的平行链验证人列表重置问题。

* 修改协议号

* update disable asset

* beta config

* 兼容验证人恢复的交易

* 兼容验证人恢复的交易

* 配置文件

* 修复nuls-api依赖provider接口版本错误问题

* 修复nulstar在window上启动问题

* update config

* update ps-module getContract

* contract multi-asset transfer

* contract multi-asset test and fix bug

* fix bug about balance of contract

* fix bug and update test case

* test case updated

* update ps-module getAccountTokenInfo

* update ps-module getAccountTokenInfo

* update ps-module getAccountTokenInfo

* fix bug about contract transfer merge

* update test case

* add cmd error log

* update test case

* add ImportKeyStoreFilesProcessor cmd

* dev

* dev

* fix bug about contract transfer locked

* update contract call validation

* update contract call validation

* update module connection

* optimize ledger

* transaction block height update

* recovery versions

* update vm sdk classes

* update package

* 优化跨链交易重新处理机制

* 优化跨链交易重新处理机制

* 优化跨链交易重新处理机制

* version

* update validation of contract args

* fix bug

* add CrossChainAssetRegMngRepository cmd

* v2.7.3

* update multi-asset in contract

* v2.7.3

* update package

* single thread in contract

* revert

* update

* update max count

* 暂时关闭跨链交易

* 暂时关闭跨链交易

* 暂时关闭跨链交易

* support many assets transfer to contract

* update vm cache settings

* update setting

* remove debug logs

* update log

* 重置本链验证人列表交易

* update data source in contract

* 重置本链验证人列表交易

* 重置本链验证人列表交易

* 重置本链验证人列表交易

* 普通跨链交易饱和签名数在最少签名数的基础上上浮30%。

* 交易模块基础验证中验证手续费获取交易size时, 去掉交易签名的size(针对所有交易)

* 重置本链验证人后创建一笔初始化验证人交易重置平行链存储的主链验证人列表

* 重置本链验证人后创建一笔初始化验证人交易重置平行链存储的主链验证人列表

* 重置本链验证人后创建一笔初始化验证人交易重置平行链存储的主链验证人列表

* rm

* 重置本链验证人后创建一笔初始化验证人交易重置平行链存储的主链验证人列表

* 重置本链验证人后创建一笔初始化验证人交易重置平行链存储的主链验证人列表

* 普通跨链交易饱和签名数在最少签名数的基础上上浮30%。

* 普通跨链交易饱和签名数在最少签名数的基础上上浮5%。

* update MongoAccountServiceImpl change AddressLIst

* 打开跨链交易

* update config

* gas price coding

* update vm class code load

* update mongodb.estimatedDocumentCount()

* 普通跨链交易饱和签名数在最少签名数的基础上上浮30%。

* fix bug about contract multi-asset

* 修改回滚逻辑,临时,后续需要仔细重构

* remove ps module

* update contract execution way

* update package logic of contract transactions

* test case

* 尝试修改切换分叉链失败时,区块模块停止的问题

* fix bug about multi-asset transfer into contract

* update contract db and transfer

* fix NPE

* update memory rule in contract

* update result

* update contract transfer back tx

* update ChainAssetCmd

* 启动脚本增加动态JVM参数

* nrc721 support coding in contract module

* 启动脚本增加动态JVM参数

* 调整window启动脚本

* nrc721 parse

* update validation of call in nuls-api

* update nuls api

* fix bug about  token cross chain

* recovery package count (#614)

* 修改协议升级的延迟块数 (#615)

* update test case

* add log trace

* 重新处理跨链交易增加token跨链

* 重新处理跨链交易增加token跨链

* 重新处理跨链交易增加token跨链

* 重新处理跨链交易增加token跨链

* add log trace

* update 3g mem of contract module

* contract db query optimize

* update log

* remove log trace

* add txType

* contract db query optimize testing

* update cross token system contract

* 调试主网配置

* es commit

* version

* 优化协议版本切换逻辑

* update

* support multy asset with contract in nuls api module

* update offline contract transaction

* add contract time out

* 测试日志

* clear old cache

* update

* test

* update

* update db initial

* fix bug

* fix bug about conflict contract transaction

* 去掉多余日志

* fix bug about setContractGenerateTxTypes

* 修复本地验证人丢失的问题

* add time out

* remove test code

* remove test log

* remove unused code

* remove test code

* extend transaction sync time out

* beta setting

* smart contract 5G mem

* version

* smart contract 3G mem

* update config

* 2.9.0 (#622)

* beta 跨链合约更新

* verser

* update beta setting

* version 290

* update array list limit

* update test case

* update

* update

* update

* u

* update max limit

* args bug

* update version control

* remove log

* version

Co-authored-by: MIMIEYES <pierreluohao@gmail.com>

* V2.9.1 (#626)

* beta 跨链合约更新

* verser

* update beta setting

* version 290

* update array list limit

* update test case

* update

* update

* update

* u

* update max limit

* args bug

* update version control

* remove log

* version

* update rpc-api文档

* update rpc-api文档

* 解决有节点提前出块的问题

* version

Co-authored-by: MIMIEYES <pierreluohao@gmail.com>
Co-authored-by: zhouwei1985 <251556768@qq.com>
Co-authored-by: niels1286 <niels@nuls.io>

* update dependen version

Co-authored-by: lijun.zhou <zhouj.172@gmail.com>
Co-authored-by: MIMIEYES <pierreluohao@gmail.com>
Co-authored-by: niels1286 <niels0519@gmail.com>
Co-authored-by: Charlie <29900478@qq.com>
Co-authored-by: niels1286 <niels@nuls.io>

* Merge branch 'release/prod'

# Conflicts:
#	config/nuls.ncf
#	module.ncf
#	module/nuls-api/documents/nuls-api_JSONRPC.md
#	module/nuls-api/documents/nuls-api_RESTFUL.md
#	module/nuls-api/src/main/java/io/nuls/provider/ApiBootstrap.java
#	module/nuls-api/src/main/java/io/nuls/provider/api/jsonrpc/controller/TransactionController.java
#	version

* v2.9.2

* Pre master (#637)

* 修改跨链协议

* 修改跨链协议

* test

* update calc totalsSupply

* add crossTx transfer api

* add crossTx transfer api

* add crossTx transfer api

* add x

* update api offline.sh

* locked balance of nrc20

* update ps getAssetRanking

* update total balance of nrc20 in ps

* account token balance

* dev

* 修改nerve链名称

* 修复卡块BUG

* fixed npe

* stop脚本

* 修改停止脚本

* 停止脚本

* update ps document

* fix NPE about contract tx rollback

* commit local config files

* update ps coinData decimals

* commit local config files

* test code

* commit local config files

* contract database prune disabled

* 跨链交易不验证签名部分

* 跨链交易验证资产是否已经注册成跨链资产

* test

* add bool

* update config

* update config

* update config

* update config

* add test logs

* add test logs

* add test logs

* update ps coinData decimals

* single thread pool

* 跨链重新进行拜赞庭签名

* 跨链重新进行拜赞庭签名

* 跨链重新进行拜赞庭签名

* 跨链重新进行拜赞庭签名

* 跨链重新进行拜赞庭签名

* 跨链重新进行拜赞庭签名

* 跨链重新进行拜赞庭签名

* recovery

* add boolean of contract cross asset

* fix red punish bug

* update ps-module getBlockTxList

* update ps-module getBlockTxList

* add boolean of contract cross asset

* update ps-module getTxList

* update ps-module getAcctTxs

* 测试验证人列表异常问题

* update corsschain tx

* 修复因变更跨链资产造成的平行链验证人列表重置问题。

* 修复因变更跨链资产造成的平行链验证人列表重置问题。

* 修改协议号

* update disable asset

* beta config

* 兼容验证人恢复的交易

* 兼容验证人恢复的交易

* 配置文件

* 修复nuls-api依赖provider接口版本错误问题

* 修复nulstar在window上启动问题

* update config

* update ps-module getContract

* contract multi-asset transfer

* contract multi-asset test and fix bug

* fix bug about balance of contract

* fix bug and update test case

* test case updated

* update ps-module getAccountTokenInfo

* update ps-module getAccountTokenInfo

* update ps-module getAccountTokenInfo

* fix bug about contract transfer merge

* update test case

* add cmd error log

* update test case

* add ImportKeyStoreFilesProcessor cmd

* dev

* dev

* fix bug about contract transfer locked

* update contract call validation

* update contract call validation

* update module connection

* optimize ledger

* transaction block height update

* recovery versions

* update vm sdk classes

* update package

* 优化跨链交易重新处理机制

* 优化跨链交易重新处理机制

* 优化跨链交易重新处理机制

* version

* update validation of contract args

* fix bug

* add CrossChainAssetRegMngRepository cmd

* v2.7.3

* update multi-asset in contract

* v2.7.3

* update package

* single thread in contract

* revert

* update

* update max count

* 暂时关闭跨链交易

* 暂时关闭跨链交易

* 暂时关闭跨链交易

* support many assets transfer to contract

* update vm cache settings

* update setting

* remove debug logs

* update log

* 重置本链验证人列表交易

* update data source in contract

* 重置本链验证人列表交易

* 重置本链验证人列表交易

* 重置本链验证人列表交易

* 普通跨链交易饱和签名数在最少签名数的基础上上浮30%。

* 交易模块基础验证中验证手续费获取交易size时, 去掉交易签名的size(针对所有交易)

* 重置本链验证人后创建一笔初始化验证人交易重置平行链存储的主链验证人列表

* 重置本链验证人后创建一笔初始化验证人交易重置平行链存储的主链验证人列表

* 重置本链验证人后创建一笔初始化验证人交易重置平行链存储的主链验证人列表

* rm

* 重置本链验证人后创建一笔初始化验证人交易重置平行链存储的主链验证人列表

* 重置本链验证人后创建一笔初始化验证人交易重置平行链存储的主链验证人列表

* 普通跨链交易饱和签名数在最少签名数的基础上上浮30%。

* 普通跨链交易饱和签名数在最少签名数的基础上上浮5%。

* update MongoAccountServiceImpl change AddressLIst

* 打开跨链交易

* update config

* gas price coding

* update vm class code load

* update mongodb.estimatedDocumentCount()

* 普通跨链交易饱和签名数在最少签名数的基础上上浮30%。

* fix bug about contract multi-asset

* 修改回滚逻辑,临时,后续需要仔细重构

* remove ps module

* update contract execution way

* update package logic of contract transactions

* test case

* 尝试修改切换分叉链失败时,区块模块停止的问题

* fix bug about multi-asset transfer into contract

* update contract db and transfer

* fix NPE

* update memory rule in contract

* update result

* update contract transfer back tx

* update ChainAssetCmd

* 启动脚本增加动态JVM参数

* nrc721 support coding in contract module

* 启动脚本增加动态JVM参数

* 调整window启动脚本

* nrc721 parse

* update validation of call in nuls-api

* update nuls api

* fix bug about  token cross chain

* recovery package count (#614)

* 修改协议升级的延迟块数 (#615)

* update test case

* add log trace

* 重新处理跨链交易增加token跨链

* 重新处理跨链交易增加token跨链

* 重新处理跨链交易增加token跨链

* 重新处理跨链交易增加token跨链

* add log trace

* update 3g mem of contract module

* contract db query optimize

* update log

* remove log trace

* add txType

* contract db query optimize testing

* update cross token system contract

* 调试主网配置

* es commit

* version

* 优化协议版本切换逻辑

* update

* support multy asset with contract in nuls api module

* update offline contract transaction

* add contract time out

* 测试日志

* clear old cache

* update

* test

* update

* update db initial

* fix bug

* fix bug about conflict contract transaction

* 去掉多余日志

* fix bug about setContractGenerateTxTypes

* 修复本地验证人丢失的问题

* add time out

* remove test code

* remove test log

* remove unused code

* remove test code

* extend transaction sync time out

* beta setting

* smart contract 5G mem

* version

* smart contract 3G mem

* update config

* 2.9.0 (#622)

* beta 跨链合约更新

* verser

* update beta setting

* version 290

* update array list limit

* update test case

* update

* update

* update

* u

* update max limit

* args bug

* update version control

* remove log

* version

Co-authored-by: MIMIEYES <pierreluohao@gmail.com>

* V2.9.1 (#626)

* beta 跨链合约更新

* verser

* update beta setting

* version 290

* update array list limit

* update test case

* update

* update

* update

* u

* update max limit

* args bug

* update version control

* remove log

* version

* update rpc-api文档

* update rpc-api文档

* 解决有节点提前出块的问题

* version

Co-authored-by: MIMIEYES <pierreluohao@gmail.com>
Co-authored-by: zhouwei1985 <251556768@qq.com>
Co-authored-by: niels1286 <niels@nuls.io>

* Release/pre prod (#629)

* update fastjson version

* update dependen version

* update nuls.ncf (#634)

Co-authored-by: NaboxAdmin <naboxer@nabox.io>

* Merge branch 'release/prod'

# Conflicts:
#	config/nuls.ncf
#	module.ncf
#	module/nuls-api/documents/nuls-api_JSONRPC.md
#	module/nuls-api/documents/nuls-api_RESTFUL.md
#	module/nuls-api/src/main/java/io/nuls/provider/ApiBootstrap.java
#	module/nuls-api/src/main/java/io/nuls/provider/api/jsonrpc/controller/TransactionController.java
#	version

* v2.9.2

Co-authored-by: lijun.zhou <zhouj.172@gmail.com>
Co-authored-by: zhouwei1985 <251556768@qq.com>
Co-authored-by: MIMIEYES <pierreluohao@gmail.com>
Co-authored-by: Charlie <29900478@qq.com>
Co-authored-by: NaboxAdmin <naboxer@nabox.io>

* add some cmds

* update message to data

* test file

* update contract info

* v2.9.3

* update contract info

* v2.9.3

* fix pr 638

* update api

* update ncf

* add getBalanceList

* test disable asset

* test disable asset

* test disable asset

* test disable asset

* test case

* 通过编译

* 通过编译

* 通过编译

* 通过编译

* 通过编译

* Master merge 2.10.0 (#646)

* update calc totalsSupply

* add crossTx transfer api

* add crossTx transfer api

* add crossTx transfer api

* add x

* update api offline.sh

* locked balance of nrc20

* update ps getAssetRanking

* update total balance of nrc20 in ps

* account token balance

* dev

* 修改nerve链名称

* 修复卡块BUG

* fixed npe

* stop脚本

* 修改停止脚本

* 停止脚本

* update ps document

* fix NPE about contract tx rollback

* commit local config files

* update ps coinData decimals

* commit local config files

* test code

* commit local config files

* contract database prune disabled

* 跨链交易不验证签名部分

* 跨链交易验证资产是否已经注册成跨链资产

* test

* add bool

* update config

* update config

* update config

* update config

* add test logs

* add test logs

* add test logs

* update ps coinData decimals

* single thread pool

* 跨链重新进行拜赞庭签名

* 跨链重新进行拜赞庭签名

* 跨链重新进行拜赞庭签名

* 跨链重新进行拜赞庭签名

* 跨链重新进行拜赞庭签名

* 跨链重新进行拜赞庭签名

* 跨链重新进行拜赞庭签名

* recovery

* add boolean of contract cross asset

* fix red punish bug

* update ps-module getBlockTxList

* update ps-module getBlockTxList

* add boolean of contract cross asset

* update ps-module getTxList

* update ps-module getAcctTxs

* 测试验证人列表异常问题

* update corsschain tx

* 修复因变更跨链资产造成的平行链验证人列表重置问题。

* 修复因变更跨链资产造成的平行链验证人列表重置问题。

* 修改协议号

* update disable asset

* beta config

* 兼容验证人恢复的交易

* 兼容验证人恢复的交易

* 配置文件

* 修复nuls-api依赖provider接口版本错误问题

* 修复nulstar在window上启动问题

* update config

* update ps-module getContract

* contract multi-asset transfer

* contract multi-asset test and fix bug

* fix bug about balance of contract

* fix bug and update test case

* test case updated

* update ps-module getAccountTokenInfo

* update ps-module getAccountTokenInfo

* update ps-module getAccountTokenInfo

* fix bug about contract transfer merge

* update test case

* add cmd error log

* update test case

* add ImportKeyStoreFilesProcessor cmd

* dev

* dev

* fix bug about contract transfer locked

* update contract call validation

* update contract call validation

* update module connection

* optimize ledger

* transaction block height update

* recovery versions

* update vm sdk classes

* update package

* 优化跨链交易重新处理机制

* 优化跨链交易重新处理机制

* 优化跨链交易重新处理机制

* version

* update validation of contract args

* fix bug

* add CrossChainAssetRegMngRepository cmd

* v2.7.3

* update multi-asset in contract

* v2.7.3

* update package

* single thread in contract

* revert

* update

* update max count

* 暂时关闭跨链交易

* 暂时关闭跨链交易

* 暂时关闭跨链交易

* support many assets transfer to contract

* update vm cache settings

* update setting

* remove debug logs

* update log

* 重置本链验证人列表交易

* update data source in contract

* 重置本链验证人列表交易

* 重置本链验证人列表交易

* 重置本链验证人列表交易

* 普通跨链交易饱和签名数在最少签名数的基础上上浮30%。

* 交易模块基础验证中验证手续费获取交易size时, 去掉交易签名的size(针对所有交易)

* 重置本链验证人后创建一笔初始化验证人交易重置平行链存储的主链验证人列表

* 重置本链验证人后创建一笔初始化验证人交易重置平行链存储的主链验证人列表

* 重置本链验证人后创建一笔初始化验证人交易重置平行链存储的主链验证人列表

* rm

* 重置本链验证人后创建一笔初始化验证人交易重置平行链存储的主链验证人列表

* 重置本链验证人后创建一笔初始化验证人交易重置平行链存储的主链验证人列表

* 普通跨链交易饱和签名数在最少签名数的基础上上浮30%。

* 普通跨链交易饱和签名数在最少签名数的基础上上浮5%。

* update MongoAccountServiceImpl change AddressLIst

* 打开跨链交易

* update config

* gas price coding

* update vm class code load

* update mongodb.estimatedDocumentCount()

* 普通跨链交易饱和签名数在最少签名数的基础上上浮30%。

* fix bug about contract multi-asset

* 修改回滚逻辑,临时,后续需要仔细重构

* remove ps module

* update contract execution way

* update package logic of contract transactions

* test case

* 尝试修改切换分叉链失败时,区块模块停止的问题

* fix bug about multi-asset transfer into contract

* update contract db and transfer

* fix NPE

* update memory rule in contract

* update result

* update contract transfer back tx

* update ChainAssetCmd

* 启动脚本增加动态JVM参数

* nrc721 support coding in contract module

* 启动脚本增加动态JVM参数

* 调整window启动脚本

* nrc721 parse

* update validation of call in nuls-api

* update nuls api

* fix bug about  token cross chain

* recovery package count (#614)

* 修改协议升级的延迟块数 (#615)

* update test case

* add log trace

* 重新处理跨链交易增加token跨链

* 重新处理跨链交易增加token跨链

* 重新处理跨链交易增加token跨链

* 重新处理跨链交易增加token跨链

* add log trace

* update 3g mem of contract module

* contract db query optimize

* update log

* remove log trace

* add txType

* contract db query optimize testing

* update cross token system contract

* 调试主网配置

* es commit

* version

* 优化协议版本切换逻辑

* update

* support multy asset with contract in nuls api module

* update offline contract transaction

* add contract time out

* 测试日志

* clear old cache

* update

* test

* update

* update db initial

* fix bug

* fix bug about conflict contract transaction

* 去掉多余日志

* fix bug about setContractGenerateTxTypes

* 修复本地验证人丢失的问题

* add time out

* remove test code

* remove test log

* remove unused code

* remove test code

* extend transaction sync time out

* beta setting

* smart contract 5G mem

* version

* smart contract 3G mem

* update config

* 2.9.0 (#622)

* beta 跨链合约更新

* verser

* update beta setting

* version 290

* update array list limit

* update test case

* update

* update

* update

* u

* update max limit

* args bug

* update version control

* remove log

* version

Co-authored-by: MIMIEYES <pierreluohao@gmail.com>

* V2.9.1 (#626)

* beta 跨链合约更新

* verser

* update beta setting

* version 290

* update array list limit

* update test case

* update

* update

* update

* u

* update max limit

* args bug

* update version control

* remove log

* version

* update rpc-api文档

* update rpc-api文档

* 解决有节点提前出块的问题

* version

Co-authored-by: MIMIEYES <pierreluohao@gmail.com>
Co-authored-by: zhouwei1985 <251556768@qq.com>
Co-authored-by: niels1286 <niels@nuls.io>

* Release/pre prod (#629)

* update fastjson version

* update dependen version

* update nuls.ncf (#634)

Co-authored-by: NaboxAdmin <naboxer@nabox.io>

* Develop (#640)

* Merge branch 'release/prod'

# Conflicts:
#	config/nuls.ncf
#	module.ncf
#	module/nuls-api/documents/nuls-api_JSONRPC.md
#	module/nuls-api/documents/nuls-api_RESTFUL.md
#	module/nuls-api/src/main/java/io/nuls/provider/ApiBootstrap.java
#	module/nuls-api/src/main/java/io/nuls/provider/api/jsonrpc/controller/TransactionController.java
#	version

* v2.9.2

* add some cmds

* update message to data

* test file

* update contract info

* v2.9.3

* update contract info

* v2.9.3

* fix pr 638

Co-authored-by: MIMIEYES <pierreluohao@gmail.com>

* Develop (#641)

* Merge branch 'release/prod'

# Conflicts:
#	config/nuls.ncf
#	module.ncf
#	module/nuls-api/documents/nuls-api_JSONRPC.md
#	module/nuls-api/documents/nuls-api_RESTFUL.md
#	module/nuls-api/src/main/java/io/nuls/provider/ApiBootstrap.java
#	module/nuls-api/src/main/java/io/nuls/provider/api/jsonrpc/controller/TransactionController.java
#	version

* v2.9.2

* add some cmds

* update message to data

* test file

* update contract info

* v2.9.3

* update contract info

* v2.9.3

* fix pr 638

* update api

* update ncf

Co-authored-by: MIMIEYES <pierreluohao@gmail.com>

* Prod limit (#643)

* Merge branch 'release/prod'

# Conflicts:
#	config/nuls.ncf
#	module.ncf
#	module/nuls-api/documents/nuls-api_JSONRPC.md
#	module/nuls-api/documents/nuls-api_RESTFUL.md
#	module/nuls-api/src/main/java/io/nuls/provider/ApiBootstrap.java
#	module/nuls-api/src/main/java/io/nuls/provider/api/jsonrpc/controller/TransactionController.java
#	version

* v2.9.2

* add some cmds

* update message to data

* test file

* update contract info

* v2.9.3

* update contract info

* v2.9.3

* fix pr 638

* update api

* update ncf

* Access frequency limit.

Co-authored-by: niels1286 <niels@nuls.io>

* add getBalanceList (#644)

* V2.10.0 (#645)

* beta 跨链合约更新

* verser

* update beta setting

* version 290

* update array list limit

* update test case

* update

* update

* update

* u

* update max limit

* args bug

* update version control

* remove log

* version

* fix bug about nuls-api in testnet

* update error log

* Merge branch 'release/prod'

# Conflicts:
#	config/nuls.ncf
#	module.ncf
#	module/nuls-api/documents/nuls-api_JSONRPC.md
#	module/nuls-api/documents/nuls-api_RESTFUL.md
#	module/nuls-api/src/main/java/io/nuls/provider/ApiBootstrap.java
#	module/nuls-api/src/main/java/io/nuls/provider/api/jsonrpc/controller/TransactionController.java
#	version

* v2.9.2

* add some cmds

* update message to data

* test file

* update contract info

* v2.9.3

* update contract info

* v2.9.3

* fix pr 638

* update api

* update ncf

* add getBalanceList

* test disable asset

* test disable asset

* test disable asset

* test disable asset

* test case

* 通过编译

* 通过编译

* 通过编译

* 通过编译

* 通过编译

Co-authored-by: lijun.zhou <zhouj.172@gmail.com>
Co-authored-by: MIMIEYES <pierreluohao@gmail.com>
Co-authored-by: zhouwei1985 <251556768@qq.com>

Co-authored-by: zhouwei1985 <251556768@qq.com>
Co-authored-by: MIMIEYES <pierreluohao@gmail.com>
Co-authored-by: lijun.zhou <zhouj.172@gmail.com>
Co-authored-by: Charlie <29900478@qq.com>
Co-authored-by: NaboxAdmin <naboxer@nabox.io>

* update getBalanceList

* fix pro bug

* fix pro bug

* fix pro bug

* remove h2

* remove mybatis

* remove mybatis

* remove vm log

* remove vm log

* update api of  token balance about locked amount

* Develop (#651)

* 2.6.0 merge to master (#606)

* 修改chainid强转short的bug

* 修复cmd依赖问题

* broad cross chain info change tx remove main chain

* cross chain info change handler update

* chainManager cross asset record update

* 单元测试

* 修改忽略文件配置

* 修改版本号 (#600)

* 修改版本号 (#601)

* 2.6.0 修改协议版本号 (#602)

* 修改版本号

* protocal config update

Co-authored-by: tag0313 <981602228@qq.com>

* 命令行支持动态执行功能

* update  getblock  api

* update  getblock  api

* nuls-api增加链内转平行链资产的离线交易组装接口

* 修改平行链资产小数位错误的问题。

* 修复链管理在注销资产时验证资产占比时小数位错误的问题

* 修复增加跨链资产时小数位错误的问题

Co-authored-by: tag0313 <981602228@qq.com>
Co-authored-by: zhouwei1985 <251556768@qq.com>

* Bump junit from 4.12 to 4.13.1 in /common/nuls-core

Bumps [junit](https://github.com/junit-team/junit4) from 4.12 to 4.13.1.
- [Release notes](https://github.com/junit-team/junit4/releases)
- [Changelog](https://github.com/junit-team/junit4/blob/main/doc/ReleaseNotes4.12.md)
- [Commits](https://github.com/junit-team/junit4/compare/r4.12...r4.13.1)

Signed-off-by: dependabot[bot] <support@github.com>

* 2.7.0 merge to master (#610)

* 修改chainid强转short的bug

* 修复cmd依赖问题

* broad cross chain info change tx remove main chain

* cross chain info change handler update

* chainManager cross asset record update

* 单元测试

* 修改忽略文件配置

* 修改版本号 (#600)

* 修改版本号 (#601)

* 2.6.0 修改协议版本号 (#602)

* 修改版本号

* protocal config update

Co-authored-by: tag0313 <981602228@qq.com>

* 命令行支持动态执行功能

* update  getblock  api

* update  getblock  api

* nuls-api增加链内转平行链资产的离线交易组装接口

* 修改平行链资产小数位错误的问题。

* 修复链管理在注销资产时验证资产占比时小数位错误的问题

* 修复增加跨链资产时小数位错误的问题

* 优化网络模块连接时间服务器逻辑

* 优化网络模块连接时间服务器逻辑

* 新增可配置的起始协议号。
当程序已经支持到某一个高协议号,比如6,但高度1时默认使用的协议版本号依然是1.
修改为可在nuls.ncf的global配置组下配置beginProtocolVersion配置项修改起始的默认协议号。比如直接从6开始。

* update public-service add cross tx query

* fixed NPE

* update public-service add cross tx query

* 回滚上一个提交

* 去掉对chainid强转short

* update public-service add cross tx query

* update public-service add cross tx query

* 增加快照功能
区块模块根据配置的高度停止保存区块。

* update public-service add cross tx query

* update public-service add cross tx query

* api module add query Assets interface

* 增加beta配置文件

* api module add query Assets interface

* ps增加NRC20资产快照接口

* 修改打包配置

* 修改打包配置

* nuls-api增加链内平行链资产转账功能

* update public-service query other chainInfo

* Fix a bug where you get the chainId by address

* update public-service query acctTxs

* 修改停止脚本。
修改手续费计算错误问题

* merge from 2.6.1-beta public service

* update public service crossTxList api

* update ps calc crossTx fee

* update ps calc crossTx fee

* update ps get cross asset info

* 跨链增加查询方法

* update

* update ps get cross asset info

* test

* update ps get cross asset info

* update ps get cross asset info

* update getAccountCrossLedgerList

* update documents

* update public-service getTxlist

* update balance of contract token

* update createOfflineAccount signOffline

* locked balance of nrc20

* update createOfflineAccount signOffline

* 跨链增加来源链和中间链信息

* 跨链增加来源链和中间链信息

* 跨链增加来源链和中间链信息

* 跨链增加来源链和中间链信息

* update query ledger raking

* update createOfflineAccount signOffline

* 修改跨链协议

* 修改跨链协议

* 修改跨链协议

* test

* update calc totalsSupply

* add crossTx transfer api

* add crossTx transfer api

* add crossTx transfer api

* add x

* update api offline.sh

* locked balance of nrc20

* update ps getAssetRanking

* update total balance of nrc20 in ps

* account token balance

* dev

* 修改nerve链名称

* 修复卡块BUG

* fixed npe

* stop脚本

* 修改停止脚本

* 停止脚本

* update ps document

* fix NPE about contract tx rollback

* commit local config files

* update ps coinData decimals

* commit local config files

* test code

* commit local config files

* contract database prune disabled

* 跨链交易不验证签名部分

* 跨链交易验证资产是否已经注册成跨链资产

* test

* add bool

* update config

* update config

* update config

* update config

* add test logs

* add test logs

* add test logs

* update ps coinData decimals

* single thread pool

* 跨链重新进行拜赞庭签名

* 跨链重新进行拜赞庭签名

* 跨链重新进行拜赞庭签名

* 跨链重新进行拜赞庭签名

* 跨链重新进行拜赞庭签名

* 跨链重新进行拜赞庭签名

* 跨链重新进行拜赞庭签名

* recovery

* add boolean of contract cross asset

* fix red punish bug

* update ps-module getBlockTxList

* update ps-module getBlockTxList

* add boolean of contract cross asset

* update ps-module getTxList

* update ps-module getAcctTxs

* 测试验证人列表异常问题

* update corsschain tx

* 修复因变更跨链资产造成的平行链验证人列表重置问题。

* 修复因变更跨链资产造成的平行链验证人列表重置问题。

* 修改协议号

* update disable asset

* beta config

* 兼容验证人恢复的交易

* 兼容验证人恢复的交易

* 配置文件

* 修复nuls-api依赖provider接口版本错误问题

* 修复nulstar在window上启动问题

Co-authored-by: tag0313 <981602228@qq.com>
Co-authored-by: zhouwei1985 <251556768@qq.com>
Co-authored-by: MIMIEYES <pierreluohao@gmail.com>
Co-authored-by: Charlie <29900478@qq.com>
Co-authored-by: niels1286 <niels0519@gmail.com>

* Bump commons-beanutils from 1.9.3 to 1.9.4 in /module/nuls-api

Bumps commons-beanutils from 1.9.3 to 1.9.4.

Signed-off-by: dependabot[bot] <support@github.com>

* Master push (#612)

* 修改chainid强转short的bug

* 修复cmd依赖问题

* broad cross chain info change tx remove main chain

* cross chain info change handler update

* chainManager cross asset record update

* 单元测试

* 修改忽略文件配置

* 修改版本号 (#600)

* 修改版本号 (#601)

* 2.6.0 修改协议版本号 (#602)

* 修改版本号

* protocal config update

Co-authored-by: tag0313 <981602228@qq.com>

* 命令行支持动态执行功能

* update  getblock  api

* update  getblock  api

* nuls-api增加链内转平行链资产的离线交易组装接口

* 修改平行链资产小数位错误的问题。

* 修复链管理在注销资产时验证资产占比时小数位错误的问题

* 修复增加跨链资产时小数位错误的问题

* 优化网络模块连接时间服务器逻辑

* 优化网络模块连接时间服务器逻辑

* 新增可配置的起始协议号。
当程序已经支持到某一个高协议号,比如6,但高度1时默认使用的协议版本号依然是1.
修改为可在nuls.ncf的global配置组下配置beginProtocolVersion配置项修改起始的默认协议号。比如直接从6开始。

* update public-service add cross tx query

* fixed NPE

* update public-service add cross tx query

* 回滚上一个提交

* 去掉对chainid强转short

* update public-service add cross tx query

* update public-service add cross tx query

* 增加快照功能
区块模块根据配置的高度停止保存区块。

* update public-service add cross tx query

* update public-service add cross tx query

* api module add query Assets interface

* 增加beta配置文件

* api module add query Assets interface

* ps增加NRC20资产快照接口

* 修改打包配置

* 修改打包配置

* nuls-api增加链内平行链资产转账功能

* update public-service query other chainInfo

* Fix a bug where you get the chainId by address

* update public-service query acctTxs

* 修改停止脚本。
修改手续费计算错误问题

* merge from 2.6.1-beta public service

* update public service crossTxList api

* update ps calc crossTx fee

* update ps calc crossTx fee

* update ps get cross asset info

* 跨链增加查询方法

* update

* update ps get cross asset info

* test

* update ps get cross asset info

* update ps get cross asset info

* update getAccountCrossLedgerList

* update documents

* update public-service getTxlist

* update balance of contract token

* update createOfflineAccount signOffline

* locked balance of nrc20

* update createOfflineAccount signOffline

* 跨链增加来源链和中间链信息

* 跨链增加来源链和中间链信息

* 跨链增加来源链和中间链信息

* 跨链增加来源链和中间链信息

* update query ledger raking

* update createOfflineAccount signOffline

* 修改跨链协议

* 修改跨链协议

* 修改跨链协议

* test

* update calc totalsSupply

* add crossTx transfer api

* add crossTx transfer api

* add crossTx transfer api

* add x

* update api offline.sh

* locked balance of nrc20

* update ps getAssetRanking

* update total balance of nrc20 in ps

* account token balance

* dev

* 修改nerve链名称

* 修复卡块BUG

* fixed npe

* stop脚本

* 修改停止脚本

* 停止脚本

* update ps document

* fix NPE about contract tx rollback

* commit local config files

* update ps coinData decimals

* commit local config files

* test code

* commit local config files

* contract database prune disabled

* 跨链交易不验证签名部分

* 跨链交易验证资产是否已经注册成跨链资产

* test

* add bool

* update config

* update config

* update config

* update config

* add test logs

* add test logs

* add test logs

* update ps coinData decimals

* single thread pool

* 跨链重新进行拜赞庭签名

* 跨链重新进行拜赞庭签名

* 跨链重新进行拜赞庭签名

* 跨链重新进行拜赞庭签名

* 跨链重新进行拜赞庭签名

* 跨链重新进行拜赞庭签名

* 跨链重新进行拜赞庭签名

* recovery

* add boolean of contract cross asset

* fix red punish bug

* update ps-module getBlockTxList

* update ps-module getBlockTxList

* add boolean of contract cross asset

* update ps-module getTxList

* update ps-module getAcctTxs

* 测试验证人列表异常问题

* update corsschain tx

* 修复因变更跨链资产造成的平行链验证人列表重置问题。

* 修复因变更跨链资产造成的平行链验证人列表重置问题。

* 修改协议号

* update disable asset

* beta config

* 兼容验证人恢复的交易

* 兼容验证人恢复的交易

* 配置文件

* 修复nuls-api依赖provider接口版本错误问题

* 修复nulstar在window上启动问题

* rm testfile

* merge

* merge

* merge

* merge

* 优化release脚本

Co-authored-by: tag0313 <981602228@qq.com>
Co-authored-by: zhouwei1985 <251556768@qq.com>
Co-authored-by: MIMIEYES <pierreluohao@gmail.com>
Co-authored-by: Charlie <29900478@qq.com>
Co-authored-by: niels1286 <niels0519@gmail.com>
Co-authored-by: Niels <niels@nuls.io>

* merger 2.8.2 to master (#619)

* api module add query Assets interface

* 增加beta配置文件

* api module add query Assets interface

* ps增加NRC20资产快照接口

* 修改打包配置

* 修改打包配置

* nuls-api增加链内平行链资产转账功能

* update public-service query other chainInfo

* Fix a bug where you get the chainId by address

* update public-service query acctTxs

* 修改停止脚本。
修改手续费计算错误问题

* merge from 2.6.1-beta public service

* update public service crossTxList api

* update ps calc crossTx fee

* update ps calc crossTx fee

* update ps get cross asset info

* 跨链增加查询方法

* update

* update ps get cross asset info

* test

* update ps get cross asset info

* update ps get cross asset info

* update getAccountCrossLedgerList

* update documents

* update public-service getTxlist

* update balance of contract token

* update createOfflineAccount signOffline

* locked balance of nrc20

* update createOfflineAccount signOffline

* 跨链增加来源链和中间链信息

* 跨链增加来源链和中间链信息

* 跨链增加来源链和中间链信息

* 跨链增加来源链和中间链信息

* update query ledger raking

* update createOfflineAccount signOffline

* 修改跨链协议

* 修改跨链协议

* 修改跨链协议

* test

* update calc totalsSupply

* add crossTx transfer api

* add crossTx transfer api

* add crossTx transfer api

* add x

* update api offline.sh

* locked balance of nrc20

* update ps getAssetRanking

* update total balance of nrc20 in ps

* account token balance

* dev

* 修改nerve链名称

* 修复卡块BUG

* fixed npe

* stop脚本

* 修改停止脚本

* 停止脚本

* update ps document

* fix NPE about contract tx rollback

* commit local config files

* update ps coinData decimals

* commit local config files

* test code

* commit local config files

* contract database prune disabled

* 跨链交易不验证签名部分

* 跨链交易验证资产是否已经注册成跨链资产

* test

* add bool

* update config

* update config

* update config

* update config

* add test logs

* add test logs

* add test logs

* update ps coinData decimals

* single thread pool

* 跨链重新进行拜赞庭签名

* 跨链重新进行拜赞庭签名

* 跨链重新进行拜赞庭签名

* 跨链重新进行拜赞庭签名

* 跨链重新进行拜赞庭签名

* 跨链重新进行拜赞庭签名

* 跨链重新进行拜赞庭签名

* recovery

* add boolean of contract cross asset

* fix red punish bug

* update ps-module getBlockTxList

* update ps-module getBlockTxList

* add boolean of contract cross asset

* update ps-module getTxList

* update ps-module getAcctTxs

* 测试验证人列表异常问题

* update corsschain tx

* 修复因变更跨链资产造成的平行链验证人列表重置问题。

* 修复因变更跨链资产造成的平行链验证人列表重置问题。

* 修改协议号

* update disable asset

* beta config

* 兼容验证人恢复的交易

* 兼容验证人恢复的交易

* 配置文件

* 修复nuls-api依赖provider接口版本错误问题

* 修复nulstar在window上启动问题

* update config

* update ps-module getContract

* contract multi-asset transfer

* contract multi-asset test and fix bug

* fix bug about balance of contract

* fix bug and update test case

* test case updated

* update ps-module getAccountTokenInfo

* update ps-module getAccountTokenInfo

* update ps-module getAccountTokenInfo

* fix bug about contract transfer merge

* update test case

* add cmd error log

* update test case

* add ImportKeyStoreFilesProcessor cmd

* dev

* dev

* fix bug about contract transfer locked

* update contract call validation

* update contract call validation

* update module connection

* optimize ledger

* transaction block height update

* recovery versions

* update vm sdk classes

* update package

* 优化跨链交易重新处理机制

* 优化跨链交易重新处理机制

* 优化跨链交易重新处理机制

* version

* update validation of contract args

* fix bug

* add CrossChainAssetRegMngRepository cmd

* v2.7.3

* update multi-asset in contract

* v2.7.3

* update package

* single thread in contract

* revert

* update

* update max count

* 暂时关闭跨链交易

* 暂时关闭跨链交易

* 暂时关闭跨链交易

* support many assets transfer to contract

* update vm cache settings

* update setting

* remove debug logs

* update log

* 重置本链验证人列表交易

* update data source in contract

* 重置本链验证人列表交易

* 重置本链验证人列表交易

* 重置本链验证人列表交易

* 普通跨链交易饱和签名数在最少签名数的基础上上浮30%。

* 交易模块基础验证中验证手续费获取交易size时, 去掉交易签名的size(针对所有交易)

* 重置本链验证人后创建一笔初始化验证人交易重置平行链存储的主链验证人列表

* 重置本链验证人后创建一笔初始化验证人交易重置平行链存储的主链验证人列表

* 重置本链验证人后创建一笔初始化验证人交易重置平行链存储的主链验证人列表

* rm

* 重置本链验证人后创建一笔初始化验证人交易重置平行链存储的主链验证人列表

* 重置本链验证人后创建一笔初始化验证人交易重置平行链存储的主链验证人列表

* 普通跨链交易饱和签名数在最少签名数的基础上上浮30%。

* 普通跨链交易饱和签名数在最少签名数的基础上上浮5%。

* update MongoAccountServiceImpl change AddressLIst

* 打开跨链交易

* update config

* gas price coding

* update vm class code load

* update mongodb.estimatedDocumentCount()

* 普通跨链交易饱和签名数在最少签名数的基础上上浮30%。

* fix bug about contract multi-asset

* 修改回滚逻辑,临时,后续需要仔细重构

* remove ps module

* update contract execution way

* update package logic of contract transactions

* test case

* 尝试修改切换分叉链失败时,区块模块停止的问题

* fix bug about multi-asset transfer into contract

* update contract db and transfer

* fix NPE

* update memory rule in contract

* update result

* update contract transfer back tx

* update ChainAssetCmd

* 启动脚本增加动态JVM参数

* nrc721 support coding in contract module

* 启动脚本增加动态JVM参数

* 调整window启动脚本

* nrc721 parse

* update validation of call in nuls-api

* update nuls api

* fix bug about  token cross chain

* recovery package count (#614)

* 修改协议升级的延迟块数 (#615)

* update test case

* 重新处理跨链交易增加token跨链

* 重新处理跨链交易增加token跨链

* 重新处理跨链交易增加token跨链

* 重新处理跨链交易增加token跨链

* update 3g mem of contract module

* add txType

* update cross token system contract

* 调试主网配置

* es commit

* version

* support multy asset with contract in nuls api module

* update offline contract transaction

Co-authored-by: zhouwei1985 <251556768@qq.com>
Co-authored-by: lijun.zhou <zhouj.172@gmail.com>
Co-authored-by: Charlie <29900478@qq.com>
Co-authored-by: niels1286 <niels0519@gmail.com>
Co-authored-by: niels1286 <niels@nuls.io>

* Pre master (#631)

* update query ledger raking

* update createOfflineAccount signOffline

* 修改跨链协议

* 修改跨链协议

* 修改跨链协议

* test

* update calc totalsSupply

* add crossTx transfer api

* add crossTx transfer api

* add crossTx transfer api

* add x

* update api offline.sh

* locked balance of nrc20

* update ps getAssetRanking

* update total balance of nrc20 in ps

* account token balance

* dev

* 修改nerve链名称

* 修复卡块BUG

* fixed npe

* stop脚本

* 修改停止脚本

* 停止脚本

* update ps document

* fix NPE about contract tx rollback

* commit local config files

* update ps coinData decimals

* commit local config files

* test code

* commit local config files

* contract database prune disabled

* 跨链交易不验证签名部分

* 跨链交易验证资产是否已经注册成跨链资产

* test

* add bool

* update config

* update config

* update config

* update config

* add test logs

* add test logs

* add test logs

* update ps coinData decimals

* single thread pool

* 跨链重新进行拜赞庭签名

* 跨链重新进行拜赞庭签名

* 跨链重新进行拜赞庭签名

* 跨链重新进行拜赞庭签名

* 跨链重新进行拜赞庭签名

* 跨链重新进行拜赞庭签名

* 跨链重新进行拜赞庭签名

* recovery

* add boolean of contract cross asset

* fix red punish bug

* update ps-module getBlockTxList

* update ps-module getBlockTxList

* add boolean of contract cross asset

* update ps-module getTxList

* update ps-module getAcctTxs

* 测试验证人列表异常问题

* update corsschain tx

* 修复因变更跨链资产造成的平行链验证人列表重置问题。

* 修复因变更跨链资产造成的平行链验证人列表重置问题。

* 修改协议号

* update disable asset

* beta config

* 兼容验证人恢复的交易

* 兼容验证人恢复的交易

* 配置文件

* 修复nuls-api依赖provider接口版本错误问题

* 修复nulstar在window上启动问题

* update config

* update ps-module getContract

* contract multi-asset transfer

* contract multi-asset test and fix bug

* fix bug about balance of contract

* fix bug and update test case

* test case updated

* update ps-module getAccountTokenInfo

* update ps-module getAccountTokenInfo

* update ps-module getAccountTokenInfo

* fix bug about contract transfer merge

* update test case

* add cmd error log

* update test case

* add ImportKeyStoreFilesProcessor cmd

* dev

* dev

* fix bug about contract transfer locked

* update contract call validation

* update contract call validation

* update module connection

* optimize ledger

* transaction block height update

* recovery versions

* update vm sdk classes

* update package

* 优化跨链交易重新处理机制

* 优化跨链交易重新处理机制

* 优化跨链交易重新处理机制

* version

* update validation of contract args

* fix bug

* add CrossChainAssetRegMngRepository cmd

* v2.7.3

* update multi-asset in contract

* v2.7.3

* update package

* single thread in contract

* revert

* update

* update max count

* 暂时关闭跨链交易

* 暂时关闭跨链交易

* 暂时关闭跨链交易

* support many assets transfer to contract

* update vm cache settings

* update setting

* remove debug logs

* update log

* 重置本链验证人列表交易

* update data source in contract

* 重置本链验证人列表交易

* 重置本链验证人列表交易

* 重置本链验证人列表交易

* 普通跨链交易饱和签名数在最少签名数的基础上上浮30%。

* 交易模块基础验证中验证手续费获取交易size时, 去掉交易签名的size(针对所有交易)

* 重置本链验证人后创建一笔初始化验证人交易重置平行链存储的主链验证人列表

* 重置本链验证人后创建一笔初始化验证人交易重置平行链存储的主链验证人列表

* 重置本链验证人后创建一笔初始化验证人交易重置平行链存储的主链验证人列表

* rm

* 重置本链验证人后创建一笔初始化验证人交易重置平行链存储的主链验证人列表

* 重置本链验证人后创建一笔初始化验证人交易重置平行链存储的主链验证人列表

* 普通跨链交易饱和签名数在最少签名数的基础上上浮30%。

* 普通跨链交易饱和签名数在最少签名数的基础上上浮5%。

* update MongoAccountServiceImpl change AddressLIst

* 打开跨链交易

* update config

* gas price coding

* update vm class code load

* update mongodb.estimatedDocumentCount()

* 普通跨链交易饱和签名数在最少签名数的基础上上浮30%。

* fix bug about contract multi-asset

* 修改回滚逻辑,临时,后续需要仔细重构

* remove ps module

* update contract execution way

* update package logic of contract transactions

* test case

* 尝试修改切换分叉链失败时,区块模块停止的问题

* fix bug about multi-asset transfer into contract

* update contract db and transfer

* fix NPE

* update memory rule in contract

* update result

* update contract transfer back tx

* update ChainAssetCmd

* 启动脚本增加动态JVM参数

* nrc721 support coding in contract module

* 启动脚本增加动态JVM参数

* 调整window启动脚本

* nrc721 parse

* update validation of call in nuls-api

* update nuls api

* fix bug about  token cross chain

* recovery package count (#614)

* 修改协议升级的延迟块数 (#615)

* update test case

* add log trace

* 重新处理跨链交易增加token跨链

* 重新处理跨链交易增加token跨链

* 重新处理跨链交易增加token跨链

* 重新处理跨链交易增加token跨链

* add log trace

* update 3g mem of contract module

* contract db query optimize

* update log

* remove log trace

* add txType

* contract db query optimize testing

* update cross token system contract

* 调试主网配置

* es commit

* version

* 优化协议版本切换逻辑

* update

* support multy asset with contract in nuls api module

* update offline contract transaction

* add contract time out

* 测试日志

* clear old cache

* update

* test

* update

* update db initial

* fix bug

* fix bug about conflict contract transaction

* 去掉多余日志

* fix bug about setContractGenerateTxTypes

* 修复本地验证人丢失的问题

* add time out

* remove test code

* remove test log

* remove unused code

* remove test code

* extend transaction sync time out

* beta setting

* smart contract 5G mem

* version

* smart contract 3G mem

* update config

* 2.9.0 (#622)

* beta 跨链合约更新

* verser

* update beta setting

* version 290

* update array list limit

* update test case

* update

* update

* update

* u

* update max limit

* args bug

* update version control

* remove log

* version

Co-authored-by: MIMIEYES <pierreluohao@gmail.com>

* V2.9.1 (#626)

* beta 跨链合约更新

* verser

* update beta setting

* version 290

* update array list limit

* update test case

* update

* update

* update

* u

* update max limit

* args bug

* update version control

* remove log

* version

* update rpc-api文档

* update rpc-api文档

* 解决有节点提前出块的问题

* version

Co-authored-by: MIMIEYES <pierreluohao@gmail.com>
Co-authored-by: zhouwei1985 <251556768@qq.com>
Co-authored-by: niels1286 <niels@nuls.io>

* update dependen version

Co-authored-by: lijun.zhou <zhouj.172@gmail.com>
Co-authored-by: MIMIEYES <pierreluohao@gmail.com>
Co-authored-by: niels1286 <niels0519@gmail.com>
Co-authored-by: Charlie <29900478@qq.com>
Co-authored-by: niels1286 <niels@nuls.io>

* Pre master (#637)

* 修改跨链协议

* 修改跨链协议

* test

* update calc totalsSupply

* add crossTx transfer api

* add crossTx transfer api

* add crossTx transfer api

* add x

* update api offline.sh

* locked balance of nrc20

* update ps getAssetRanking

* update total balance of nrc20 in ps

* account token balance

* dev

* 修改nerve链名称

* 修复卡块BUG

* fixed npe

* stop脚本

* 修改停止脚本

* 停止脚本

* update ps document

* fix NPE about contract tx rollback

* commit local config files

* update ps coinData decimals

* commit local config files

* test code

* commit local config files

* contract database prune disabled

* 跨链交易不验证签名部分

* 跨链交易验证资产是否已经注册成跨链资产

* test

* add bool

* update config

* update config

* update config

* update config

* add test logs

* add test logs

* add test logs

* update ps coinData decimals

* single thread pool

* 跨链重新进行拜赞庭签名

* 跨链重新进行拜赞庭签名

* 跨链重新进行拜赞庭签名

* 跨链重新进行拜赞庭签名

* 跨链重新进行拜赞庭签名

* 跨链重新进行拜赞庭签名

* 跨链重新进行拜赞庭签名

* recovery

* add boolean of contract cross asset

* fix red punish bug

* update ps-module getBlockTxList

* update ps-module getBlockTxList

* add boolean of contract cross asset

* update ps-module getTxList

* update ps-module getAcctTxs

* 测试验证人列表异常问题

* update corsschain tx

* 修复因变更跨链资产造成的平行链验证人列表重置问题。

* 修复因变更跨链资产造成的平行链验证人列表重置问题。

* 修改协议号

* update disable asset

* beta config

* 兼容验证人恢复的交易

* 兼容验证人恢复的交易

* 配置文件

* 修复nuls-api依赖provider接口版本错误问题

* 修复nulstar在window上启动问题

* update config

* update ps-module getContract

* contract multi-asset transfer

* contract multi-asset test and fix bug

* fix bug about balance of contract

* fix bug and update test case

* test case updated

* update ps-module getAccountTokenInfo

* update ps-module getAccountTokenInfo

* update ps-module getAccountTokenInfo

* fix bug about contract transfer merge

* update test case

* add cmd error log

* update test case

* add ImportKeyStoreFilesProcessor cmd

* dev

* dev

* fix bug about contract transfer locked

* update contract call validation

* update contract call validation

* update module connection

* optimize ledger

* transaction block height update

* recovery versions

* update vm sdk classes

* update package

* 优化跨链交易重新处理机制

* 优化跨链交易重新处理机制

* 优化跨链交易重新处理机制

* version

* update validation of contract args

* fix bug

* add CrossChainAssetRegMngRepository cmd

* v2.7.3

* update multi-asset in contract

* v2.7.3

* update package

* single thread in contract

* revert

* update

* update max count

* 暂时关闭跨链交易

* 暂时关闭跨链交易

* 暂时关闭跨链交易

* support many assets transfer to contract

* update vm cache settings

* update setting

* remove debug logs

* update log

* 重置本链验证人列表交易

* update data source in contract

* 重置本链验证人列表交易

* 重置本链验证人列表交易

* 重置本链验证人列表交易

* 普通跨链交易饱和签名数在最少签名数的基础上上浮30%。

* 交易模块基础验证中验证手续费获取交易size时, 去掉交易签名的size(针对所有交易)

* 重置本链验证人后创建一笔初始化验证人交易重置平行链存储的主链验证人列表

* 重置本链验证人后创建一笔初始化验证人交易重置平行链存储的主链验证人列表

* 重置本链验证人后创建一笔初始化验证人交易重置平行链存储的主链验证人列表

* rm

* 重置本链验证人后创建一笔初始化验证人交易重置平行链存储的主链验证人列表

* 重置本链验证人后创建一笔初始化验证人交易重置平行链存储的主链验证人列表

* 普通跨链交易饱和签名数在最少签名数的基础上上浮30%。

* 普通跨链交易饱和签名数在最少签名数的基础上上浮5%。

* update MongoAccountServiceImpl change AddressLIst

* 打开跨链交易

* update config

* gas price coding

* update vm class code load

* update mongodb.estimatedDocumentCount()

* 普通跨链交易饱和签名数在最少签名数的基础上上浮30%。

* fix bug about contract multi-asset

* 修改回滚逻辑,临时,后续需要仔细重构

* remove ps module

* update contract execution way

* update package logic of contract transactions

* test case

* 尝试修改切换分叉链失败时,区块模块停止的问题

* fix bug about multi-asset transfer into contract

* update contract db and transfer

* fix NPE

* update memory rule in contract

* update result

* update contract transfer back tx

* update ChainAssetCmd

* 启动脚本增加动态JVM参数

* nrc721 support coding in contract module

* 启动脚本增加动态JVM参数

* 调整window启动脚本

* nrc721 parse

* update validation of call in nuls-api

* update nuls api

* fix bug about  token cross cha…
  • Loading branch information
8 people committed Jul 10, 2023
1 parent 7156471 commit 2fececa
Show file tree
Hide file tree
Showing 26 changed files with 1,310 additions and 317 deletions.
5 changes: 5 additions & 0 deletions module/nuls-protocol-update/src/main/resources/versions.json
Expand Up @@ -73,5 +73,10 @@
"version": "15",
"effectiveRatio": "80",
"continuousIntervalCount": "10"
},
{
"version": "16",
"effectiveRatio": "80",
"continuousIntervalCount": "10"
}
]
Expand Up @@ -9,6 +9,7 @@
import io.nuls.contract.config.ContractContext;
import io.nuls.contract.constant.ContractConstant;
import io.nuls.contract.constant.ContractDBConstant;
import io.nuls.contract.helper.ContractHelper;
import io.nuls.contract.manager.ChainManager;
import io.nuls.contract.model.bo.Chain;
import io.nuls.contract.model.bo.ContractTokenAssetsInfo;
Expand Down Expand Up @@ -64,6 +65,8 @@ public class SmartContractBootStrap extends RpcModule {
private ChainManager chainManager;
@Autowired
private AddressPrefixDatas addressPrefixDatas;
@Autowired
private ContractHelper contractHelper;

public static void main(String[] args) throws Exception {
systemConfig();
Expand All @@ -88,6 +91,7 @@ public void init() {
initDB();
initNRC20Standard();
initNRC721Standard();
initNRC1155Standard();
chainManager.initChain();
ModuleHelper.init(this);
} catch (Exception e) {
Expand All @@ -106,6 +110,7 @@ private void initNulsConfig() {
if (StringUtils.isNotBlank(contractConfig.getCrossTokenSystemContract())) {
ContractContext.CROSS_CHAIN_SYSTEM_CONTRACT = AddressTool.getAddress(contractConfig.getCrossTokenSystemContract());
}
ContractContext.setContractHelper(contractHelper);
}

/**
Expand Down Expand Up @@ -173,11 +178,31 @@ private void initNRC721Standard() {
} catch (Exception e) {
Log.error("init NRC721Standard map error.", e);
}
ProgramMethod overloadMethodSafeData = jsonMap.remove(NRC721_SAFETRANSFERFROM_DATA);
ProgramMethod overloadMethodSafe = jsonMap.remove(NRC721_SAFETRANSFERFROM);
VMContext.setNrc721Methods(jsonMap);
VMContext.setNrc721OverloadMethodSafeData(overloadMethodSafeData);
VMContext.setNrc721OverloadMethodSafe(overloadMethodSafe);
}

/**
* 初始化NRC1155合约标准格式
*/
private void initNRC1155Standard() {
String json = null;
try {
json = IoUtils.read(NRC1155_STANDARD_FILE);
} catch (Exception e) {
// skip it
Log.error("init NRC1155Standard error.", e);
}
if (json == null) {
return;
}

Map<String, ProgramMethod> jsonMap = null;
try {
jsonMap = JSONUtils.json2map(json, ProgramMethod.class);
} catch (Exception e) {
Log.error("init NRC20Standard map error.", e);
}
VMContext.setNrc1155Methods(jsonMap);
}

/**
Expand Down
Expand Up @@ -98,8 +98,6 @@ public interface ContractConstant {
String TO = "to";
String VALUE = "value";
String TOKEN_ID = "tokenId";
int TOKEN_TYPE_NRC20 = 1;
int TOKEN_TYPE_NRC721 = 2;
/**
* NRC20
*/
Expand All @@ -125,6 +123,13 @@ public interface ContractConstant {
String NRC721_EVENT_TRANSFER = "Transfer";
String NRC721_EVENT_APPROVAL = "Approval";

/**
* NRC1155
*/
String NRC1155_STANDARD_FILE = "nrc1155.json";
String NRC1155_EVENT_TRANSFER_SINGLE = "TransferSingle";
String NRC1155_EVENT_TRANSFER_BATCH = "TransferBatch";

int DEFAULT_MAX_VIEW_GAS = 100000000;
String SYS_FILE_ENCODING = "file.encoding";
String MODULE_CONFIG_FILE = "module.json";
Expand Down
Expand Up @@ -32,10 +32,11 @@
* @date: 2019-08-20
*/
public enum TokenTypeStatus {
// 0 - 非token, 1 - NRC20, 2 - NRC721
// 0 - 非token, 1 - NRC20, 2 - NRC721, 3 - NRC1155
NOT_TOKEN(0),
NRC20(1),
NRC721(2);
NRC721(2),
NRC1155(3);

private int status;
private static Map<Integer, TokenTypeStatus> map;
Expand Down
Expand Up @@ -129,7 +129,7 @@ public ContractConstructorInfoDto getConstructor(int chainId, byte[] contractCod
break;
}
}
dto.setNrc20(this.checkNrc20Contract(programMethods));
dto.setNrc20(this.checkTokenContract(programMethods, null, VMContext.getNrc20Methods().values()));
return dto;
} catch (Exception e) {
Log.error(e);
Expand Down Expand Up @@ -177,86 +177,32 @@ public ProgramMethod getMethodInfoByContractAddress(int chainId, byte[] currentS
return this.getMethodInfo(methodName, methodDesc, methods);
}

private boolean checkNrc20Contract(List<ProgramMethod> methods) {
return checkNrc20Contract(methods, null);
}

private boolean checkNrc20Contract(List<ProgramMethod> methods, Map<String, ProgramMethod> contractMethodsMap) {
private boolean checkTokenContract(List<ProgramMethod> methods, Map<String, ProgramMethod> contractMethodsMap, Collection<ProgramMethod> tokenStandardProgramMethods) {
if (methods == null || methods.size() == 0) {
return false;
}
if (contractMethodsMap == null) {
contractMethodsMap = new HashMap<>(methods.size());
}
for (ProgramMethod method : methods) {
contractMethodsMap.put(method.getName(), method);
contractMethodsMap.put(methodSignature(method), method);
}

Set<Map.Entry<String, ProgramMethod>> entries = VMContext.getNrc20Methods().entrySet();
String methodName;
ProgramMethod standardMethod;
ProgramMethod mappingMethod;
for (Map.Entry<String, ProgramMethod> entry : entries) {
methodName = entry.getKey();
standardMethod = entry.getValue();
mappingMethod = contractMethodsMap.get(methodName);
for (ProgramMethod standardMethod : tokenStandardProgramMethods) {
mappingMethod = contractMethodsMap.get(methodSignature(standardMethod));

if (mappingMethod == null) {
return false;
}
if (!standardMethod.equalsNrc20Method(mappingMethod)) {
if (!standardMethod.equalsTokenMethod(mappingMethod)) {
return false;
}
}

return true;
}

private boolean checkNrc721Contract(List<ProgramMethod> methods, Map<String, ProgramMethod> contractMethodsMap) {
if (methods == null || methods.size() == 0) {
return false;
}

Set<Map.Entry<String, ProgramMethod>> entries = VMContext.getNrc721Methods().entrySet();
String methodName;
ProgramMethod standardMethod;
ProgramMethod mappingMethod;
for (Map.Entry<String, ProgramMethod> entry : entries) {
methodName = entry.getKey();
standardMethod = entry.getValue();
mappingMethod = contractMethodsMap.get(methodName);

if (mappingMethod == null) {
return false;
}
if (!standardMethod.equalsNrc721Method(mappingMethod)) {
return false;
}
}
boolean hasSafe = false;
boolean hasSafeData = false;
for (ProgramMethod method : methods) {
if (NRC721_SAFETRANSFERFROM.equals(method.getName())) {
int size = method.getArgs().size();
if (size == 3 && VMContext.getNrc721OverloadMethodSafe().equalsNrc721Method(method)) {
hasSafe = true;
continue;
}
if (size == 4 && VMContext.getNrc721OverloadMethodSafeData().equalsNrc721Method(method)) {
hasSafeData = true;
continue;
}
}
if (hasSafe && hasSafeData) {
break;
}
}
if (hasSafe && hasSafeData) {
return true;
}
return false;
}

private boolean checkAcceptDirectTransfer(List<ProgramMethod> methods) {
if (methods == null || methods.size() == 0) {
return false;
Expand Down Expand Up @@ -397,8 +343,10 @@ private boolean validTokenNameOrSymbol(int chainId, String name) {
}

public Result validateNrc20Contract(int chainId, ProgramExecutor track, byte[] contractAddress, byte[] contractCode, ContractResult contractResult) {
if(ProtocolGroupManager.getCurrentVersion(chainId) >= ContractContext.PROTOCOL_15) {
if(ProtocolGroupManager.getCurrentVersion(chainId) >= ContractContext.PROTOCOL_16) {
return validateNrc20ContractP16(chainId, track, contractAddress, contractCode, contractResult);
} else if(ProtocolGroupManager.getCurrentVersion(chainId) >= ContractContext.PROTOCOL_15) {
return validateNrc20ContractP15(chainId, track, contractAddress, contractCode, contractResult);
} else {
return validateNrc20ContractP0(chainId, track, contractAddress, contractCode, contractResult);
}
Expand All @@ -411,10 +359,10 @@ private Result validateNrc20ContractP0(int chainId, ProgramExecutor track, byte[
long bestBlockHeight = vmContext.getBestHeight(chainId);
List<ProgramMethod> methods = this.getAllMethods(chainId, contractCode);
Map<String, ProgramMethod> contractMethodsMap = new HashMap<>();
boolean isNrc20 = this.checkNrc20Contract(methods, contractMethodsMap);
boolean isNrc20 = this.checkTokenContract(methods, contractMethodsMap, VMContext.getNrc20Methods().values());
boolean isNrc721 = false;
if (!isNrc20) {
isNrc721 = this.checkNrc721Contract(methods, contractMethodsMap);
isNrc721 = this.checkTokenContract(methods, contractMethodsMap, VMContext.getNrc721Methods().values());
}
if (isNrc20) {
contractResult.setTokenType(TokenTypeStatus.NRC20.status());
Expand Down Expand Up @@ -495,17 +443,17 @@ private Result validateNrc20ContractP0(int chainId, ProgramExecutor track, byte[
return getSuccess();
}

private Result validateNrc20ContractP16(int chainId, ProgramExecutor track, byte[] contractAddress, byte[] contractCode, ContractResult contractResult) {
private Result validateNrc20ContractP15(int chainId, ProgramExecutor track, byte[] contractAddress, byte[] contractCode, ContractResult contractResult) {
if (contractResult == null) {
return Result.getFailed(ContractErrorCode.NULL_PARAMETER);
}
long bestBlockHeight = vmContext.getBestHeight(chainId);
List<ProgramMethod> methods = this.getAllMethods(chainId, contractCode);
Map<String, ProgramMethod> contractMethodsMap = new HashMap<>();
boolean isNrc20 = this.checkNrc20Contract(methods, contractMethodsMap);
boolean isNrc20 = this.checkTokenContract(methods, contractMethodsMap, VMContext.getNrc20Methods().values());
boolean isNrc721 = false;
if (!isNrc20) {
isNrc721 = this.checkNrc721Contract(methods, contractMethodsMap);
isNrc721 = this.checkTokenContract(methods, contractMethodsMap, VMContext.getNrc721Methods().values());
}
if (isNrc20) {
contractResult.setTokenType(TokenTypeStatus.NRC20.status());
Expand Down Expand Up @@ -586,6 +534,103 @@ private Result validateNrc20ContractP16(int chainId, ProgramExecutor track, byte
return getSuccess();
}

private Result validateNrc20ContractP16(int chainId, ProgramExecutor track, byte[] contractAddress, byte[] contractCode, ContractResult contractResult) {
if (contractResult == null) {
return Result.getFailed(ContractErrorCode.NULL_PARAMETER);
}
long bestBlockHeight = vmContext.getBestHeight(chainId);
List<ProgramMethod> methods = this.getAllMethods(chainId, contractCode);
Map<String, ProgramMethod> contractMethodsMap = new HashMap<>();
boolean isNrc20 = this.checkTokenContract(methods, contractMethodsMap, VMContext.getNrc20Methods().values());
boolean isNrc721 = false;
boolean isNrc1155 = false;
if (!isNrc20) {
isNrc721 = this.checkTokenContract(methods, contractMethodsMap, VMContext.getNrc721Methods().values());
}
if (!isNrc721) {
isNrc1155 = this.checkTokenContract(methods, contractMethodsMap, VMContext.getNrc1155Methods().values());
}
if (isNrc20) {
contractResult.setTokenType(TokenTypeStatus.NRC20.status());
} else if (isNrc721) {
contractResult.setTokenType(TokenTypeStatus.NRC721.status());
} else if (isNrc1155) {
contractResult.setTokenType(TokenTypeStatus.NRC1155.status());
}
boolean isAcceptDirectTransfer = this.checkAcceptDirectTransfer(methods);
contractResult.setNrc20(isNrc20);
contractResult.setAcceptDirectTransfer(isAcceptDirectTransfer);
if (isNrc20 || isNrc721 || isNrc1155) {
// tokenName 验证代币名称格式
ProgramResult programResult = this.invokeViewMethod(chainId, track, null, bestBlockHeight, contractAddress, NRC20_METHOD_NAME, null, null);
if (programResult.isSuccess()) {
String tokenName = programResult.getResult();
if (StringUtils.isNotBlank(tokenName)) {
if (!validTokenNameOrSymbol(chainId, tokenName)) {
contractResult.setError(true);
contractResult.setErrorMessage("The format of the name is incorrect.");
return getFailed();
}
contractResult.setTokenName(tokenName);
}
}
// tokenSymbol 验证代币符号的格式
programResult = this.invokeViewMethod(chainId, track, null, bestBlockHeight, contractAddress, NRC20_METHOD_SYMBOL, null, null);
if (programResult.isSuccess()) {
String symbol = programResult.getResult();
if (StringUtils.isNotBlank(symbol)) {
if (!validTokenNameOrSymbol(chainId, symbol)) {
contractResult.setError(true);
contractResult.setErrorMessage("The format of the symbol is incorrect.");
return getFailed();
}
contractResult.setTokenSymbol(symbol);
}
}

if (isNrc20) {
programResult = this.invokeViewMethod(chainId, track, null, bestBlockHeight, contractAddress, NRC20_METHOD_DECIMALS, null, null);
BigInteger decimalsBig = BigInteger.ZERO;
if (programResult.isSuccess()) {
String decimals = programResult.getResult();
if (StringUtils.isNotBlank(decimals)) {
try {
decimalsBig = new BigInteger(decimals);
if (decimalsBig.compareTo(BigInteger.ZERO) < 0 || decimalsBig.compareTo(MAXIMUM_DECIMALS) > 0) {
contractResult.setError(true);
contractResult.setErrorMessage("The value of decimals ranges from 0 to 18.");
return getFailed();
}
contractResult.setTokenDecimals(decimalsBig.intValue());
} catch (Exception e) {
Log.error("Get nrc20 decimals error.", e);
// skip it
}
}
}
programResult = this.invokeViewMethod(chainId, track, null, bestBlockHeight, contractAddress, NRC20_METHOD_TOTAL_SUPPLY, null, null);
if (programResult.isSuccess()) {
String totalSupply = programResult.getResult();
if (StringUtils.isNotBlank(totalSupply)) {
try {
BigInteger totalSupplyBig = new BigInteger(totalSupply);
if (totalSupplyBig.compareTo(BigInteger.ZERO) < 0 || totalSupplyBig.compareTo(MAXIMUM_TOTAL_SUPPLY.multiply(BigInteger.TEN.pow(decimalsBig.intValue()))) > 0) {
contractResult.setErrorMessage("The value of totalSupply ranges from 0 to 2^256 - 1.");
contractResult.setError(true);
return getFailed();
}
contractResult.setTokenTotalSupply(totalSupplyBig);
} catch (Exception e) {
Log.error("Get nrc20 totalSupply error.", e);
// skip it
}
}
}
}
}
return getSuccess();
}

public ContractBalance getBalance(int chainId, int assetChainId, int assetId, byte[] address) {
ContractTempBalanceManager tempBalanceManager;
if (ProtocolGroupManager.getCurrentVersion(chainId) >= ContractContext.UPDATE_VERSION_CONTRACT_BALANCE) {
Expand Down Expand Up @@ -1019,14 +1064,13 @@ public Result onCommitForCreateV14(int chainId, BlockHeader blockHeader, Contrac
info.setCreateTime(txTime);
info.setBlockHeight(blockHeight);

boolean isNrc20Contract = TOKEN_TYPE_NRC20 == contractCreate.getTokenType();
boolean isNrc721Contract = TOKEN_TYPE_NRC721 == contractCreate.getTokenType();
boolean isNrc20Contract = TokenTypeStatus.NRC20.status() == contractCreate.getTokenType();
boolean acceptDirectTransfer = contractCreate.isAcceptDirectTransfer();
info.setAcceptDirectTransfer(acceptDirectTransfer);
info.setNrc20(isNrc20Contract);
info.setTokenType(contractCreate.getTokenType());
do {
if (!isNrc20Contract && !isNrc721Contract) {
if (contractCreate.getTokenType() == TokenTypeStatus.NOT_TOKEN.status()) {
break;
}
// 获取 token tracker
Expand Down Expand Up @@ -1098,4 +1142,13 @@ public Result onRollbackForCreateV14(int chainId, byte[] contractAddress, boolea
}
return contractTokenAddressStorageService.deleteTokenAddress(chainId, contractAddress);
}

public Result onCommitForCreateV16(int chainId, BlockHeader blockHeader, ContractCreate contractCreate,
NulsHash hash, long txTime, byte[] contractAddress, byte[] sender, byte[] contractCode, String alias, Map<String, ContractAddressInfoPo> infoPoMap) throws Exception {
return this.onCommitForCreateV14(chainId, blockHeader, contractCreate, hash, txTime, contractAddress, sender, contractCode, alias, infoPoMap);
}

public Result onRollbackForCreateV16(int chainId, byte[] contractAddress, boolean isNrc20) throws Exception {
return this.onRollbackForCreateV14(chainId, contractAddress, isNrc20);
}
}

0 comments on commit 2fececa

Please sign in to comment.