All notable changes to this project will be documented in this file.
- An error "TON Client binary bridge is not set" that occurred when using
js wrap
command as a module
- Command parameter parsing when using tondev as a module. Now, when some unrecognized option is found, an error occurs. Previously unrecognized option was silently skipped.
- If a new version of everdev is available, then the user who executes any
everdev
command will be informed about it (no more than once a day)
sol info
command shows the file path for installed components
sol compile
command no longer suppresses warnings
The utility has a new name everdev
!
Install it with npm i -g everdev
If you already have tondev
installed and want to clone its configuration, copy $HOME/.tondev
into the $HOME/.everdev
directory.
sol ast
command options
sol ast
command that parses a ton-solidity file and creates an abstract syntax tree (AST) to the output directory
- ssh2 transitive dependency on dockerode
- Structure can be passed as an argument of a function call, for example:
tondev contract run shapes.tvc \
--address 0:540c1837656674d548c934258ddec9b5fd11b543da977b0016c14b5650bc7eb5 \
--input '{ "point": { "color": "red", "center": { "x": 1, "y": 2 } } }'
- Information about the installed version of stdlib has been removed from the output of the
tondev sol version
command. Now its version is always equal to the compiler's version. - Remove checking of .sol extension in
compile
command. Any extension can be used now.
- Added the ability to compile SafeMultisigWallet for Linux platform. The size of the compiled contract will be different from the original due to a different linker, but the compiler is the same
Install the appropriate compiler, linker, and stdlib versions:
tondev sol set -c 0.21.0
tondev sol set -s 0.21.0
tondev sol set -l 0.1.21
Now you can compile SafeMultisigWallet contract:
tondev sol compile SafeMultisigWallet.sol
ls -l SafeMultisigWallet.tvc
-rw-rw-r--. 1 4430 Nov 11 22:16 SafeMultisigWallet.tvc
tondev contract run-local
now checks the contract state before execution and generates user friendly error, if contract does not exist or is in uninit or frozen state.
- Dependabot cannot update ssh2 to a non-vulnerable version
-
Dependabot cannot update ssh2 to a non-vulnerable version
-
tondev sol set
can now install any existing binaries by version number, not just one of the last ten
tondev signed add <seed-phase>
didn't store seed phrase in signer registry.
- Build with new typescript version
- lib-node's bridge crashed on
client.close()
- Added new option
--code, -c
for solidity compiler to save*.code
file. Example:tondev sol compile --code hello.sol
- Extraton Debot Browser supported! Now you can test your debots in web with ease - even offline. Just run SE and Extraton Debot Browser together. They perfectly fit!
- We changed the prepay logic of deploy operation. Account is not prepaid automatically from the giver any more. Now you need to specify -v explicitly. Get predictible behaviour and results!
- Error messages in case of insufficiant balance were improved.
- An error that occurred when a contract was deployed to an account with a positive balance less than the default (10 tokens) and Giver was not set properly.
- problem with contracts/ folder
value
option of thecontract
commands can accept values with "t" suffix. Such values will be properly converted to nano tokens.run-signer
option of the thecontract
commands allows to sign messages with alternative keys different fromsigner
meanwhile address is still calculated fromsigner
parameter (or from defaultsigner
). It should be useful forrun-local
(withNone
value) so that it is not needed to specify address explicitly any more.tondev
commands that produce files (e.g.sol create
) create output folders if required.tondev signer add
command'ssecret
option can accept a path to the keys file.tondev se set
optionsimage
andcontainer
allow use existing docker images and containers to register SE instances.tondev se delete
deletes registered SE instance fromtondev
SE registry.--version
or-v
or-V
global option prints current tondev version.
- "tondev clang set --compiler" didn't change installed compiler version https://github.com/tonlabs/tondev/issues/42
tondev
did not not fill the command args with default values when user ran commands programmatically.tondev info
stopped if one of the tools failed.
- In case of errors with giver
tondev
prints new detailed errors describing that there is a giver problem (not in users contract). - Component version table prints "not installed" text if some component is missing. Footnote about on demand installation is added.
- Account balance check is added before deploy.
- All commands that require abi file (e.g.
js wrap
) now accepts any input file name. tondev se version
now prints version from the latest to the eldest order.tondev sol compile
now hides linker output in case of success.
- Column
used
was added tosigner list
with reference to the giver that uses this signer; - Column
giver
was added tonetwork list
with information about giver's contract and signer. - Printed tables now supports multiline cell values.
- "Error: Signer not found:" in case when the default signer has upper letters in name.
- Giver didn't use default signer. From now the giver uses default signer when User calls the
network giver
command without--signer
option.
- Incorrect parsing initial data params with options
--data, -d
.
- Update README with information about how to install tondev after download binaries
- GitHub Action
- Added new option
--output-dir, -o
for solidity compiler to store*.abi.json
and*.tvc
files in a separate directory. Example:tondev sol compile hello.sol -o ~/assets
- Created standalone portable binaries for windows, macos, linux
ts4
TestSuite4 framework for contract testing is supported: install, manage versions, create test template, run tests.
clang
controller for C++ compiler:
install, compile with 1 command, manage versions, etc.signer
controller for signer registry management:
generate keys, import keys and mnemonics, specify default signer, etc.network
controller for network registry management:
add networks, configure network giver, specify default network, etc.contract
controller for contract management:- get contract info summary, top up balance, deploy, run, run-local, run-executor
tondev js wrap
generatescode
andcodeHash
fields in addition totvc
.tondev contract info
prints code hash.tondev info
command prints a summary information from all controllers.- short aliases for controllers, commands and options.
For example instead of usingtondev network list
you can usetondev n l
and even shortertondev nl
.
tvm_linker
downloads always even if it's up to date.
--force
option forsol update
andsol set
commands. If set then components will be reinstalled event if their version hasn't changed.js wrap
command generates JS wrapper file from ABI file and optional TVC file.help
command prints documentation about variants of command options, like here
- Solidity stdlib didn't update.
- Support versioning at solidity components
- SDK functionality added
- tonos-cli
- Install
- Version
- Set
- Update
- TON OS Startup Edition(SE) functionality:
- Start
- Version
- Set
- Reset
- Update
- Stop
- Info
- Solidity functionality added:
- Create a hello world contract in one click
- Install compiler in the background upon the first request
- Compile and link a contract in one click
- Get solidity compiler version
- Download the latest compiler
- SDK functionality added:
- Create an empty Node.js project with the latest SDK dependencies and index.js script with main client object creation