All notable changes to this project will be documented in this file.
- Added new type of giver - MsigV2
- The
sold install
command did not list the installed version in the registry.
- Added new option
--base-path <path>
forsolidity compile
command (required solc 0.67.0 or later).
Use the given path as the root of the source tree instead of the root of the filesystem.
- As of solc 0.67.0, the use of the "now" keyword is deprecated. The "block.timestamp" keyword should be used instead.
- The
contracts/HelloWallet.sol
contract has been updated to require solc 0.67.0 or later to compile. - The sample contract created with
everdev sol create
now requires solc 0.67.0 or later to compile.
- Added support of Signature ID on the networks with
CapSignatureWithId
capability enabled. - Added new option
everdev contract deploy --workchain
to specify in which workchain to deploy a contract. everdev contract decode-tvc
command renamed toeverdev contract decode-stateinit
.- Add a reference to stable solc and sold versions to the output of the
everdev sold version
andeverdev sol version
commands.
- Double error messages generated by
everdev sol compile
command. - Error:
unrecognized option '-i
which occurred when using a solidity compiler version below 0.57.0 - The "constructor" function excluded from the list of callable functions
- Incorrect
GiverV1.abi.json
file has been replaced with the correct one. - Set the
se
network as the default network if there is no default network. - Set the
seGiver
giver as the default signer if there is no default signer.
- Include network giver account details in
network info <network>
command. - Giver's signer must be specified explicitly (default network signer will not be used).
- Include EverNode SE Default Giver Keys to signers repository.
- Solidity compiler accepts file name without extension.
network giver
parameterssigner
andtype
are mandatory.
- Some
contract
commands failed withWait for operation failed
message in case when account does not exist. - Changing SE GraphQL port did not affect network endpoints related to this SE container.
- Contract commands that expects contract file name as an arg will report more detailed error message in case when contract file does not exist.
- Support for
*.tsol
extension in Solidity compiler. - Ability to specify contract arguments from json files in form of
@file
or@file@field
.
-
Versions of dependency packages have been increased: @eversdk/core and @eversdk/appkit.
The old ones caused unclear error messages. -
Added an error message if the
network/registry.json
configuration file is corrupted.
-
sold
- Solidity Compiler Driver - version management added. Try it witheverdev sold install
. -
Added a new
everdev sol compile
option-i [ --include-path ] path/to/dir
to make an additional source directory available to the default import callback.
Use this option if you want to import contracts, whose location is not fixed in relation to your main source tree, e.g. third-party libraries installed using a package manager. Separate different paths with a comma, no space allowed.Example:
everdev sol compile Contract.sol -i path1/folder1,path2/folder2
-
Added new command
evedev update
.
This command updates everdev to the latest version and is technically an alias fornpm update -g everdev
.
-
Fixed incorrect error message when "deploy contract" and "execute contract" commands are executed for a non-existing (acc_type = nonExist) account.
-
Fixed incorrect error message when a user added a new signer with the name of an existing one.
- Build with new version sdk 1.37.2
- Added command
everdev network credentials
, to set credentials for network authentication, with options:
--project, -p Your project ID
--access-key, -k Your secret or JWT token
--clear Clear saved credentials (mutually exclusive with other options)
- Fixed
everdev contract decode-tvc --help
output.
- Fixed the address calculation error that occurred when running "everdev contract deploy" and entering initial data in dialog mode.
- Fixed an uninformative error message when it occurred in a spawned process.
-
Add new option
--type
to theeverdev network giver
command.If you compiled your own giver,
everdev
may refuse to use it because it doesn't know what interface it implements.You can specify which interface your giver implements by specifying the --type = GiverV1 | GiverV2 | GiverV3 | SecureMultiSigWallet | SetcodeMultisigWallet
-
Add new sub command "everdev contract decode-data file [options]". This command decodes data from a contract deployed on the network. For example:
$ everdev contract decode-data HelloWallet.abi.json -a 0:783abd8b2cbcc578397d8d15ae8293688a87da15a052a993cfb51cbd3e6452a3 Decoded account data: { "data": { "_pubkey": "0x95c06aa743d1f9000dd64b75498f106af4b7e7444234d7de67ea26988f6181df", "_timestamp": "1653482490973", "_constructorFlag": true, "timestamp": "1653482492" } }
-
Add new sub command "everdev contract decode-tvc file". This command decodes TVC into code, data, libraries and special options. For example:
$ everdev contract decode-tvc HelloWallet.tvc Decoded TVC: { "code": "te6ccPKo3tM/AfhDIbnytCD4I4ED6KiCCBt3QKC58rT4Y9MfAfgjvPK50x8B2zzyPAYDA0rtRNDXScMB+GYi0NcLA6k4ANwhxwDjAiHXDR/yvC==', "code_hash": "7a588d25395138fa12f9fd358b2383922b80a2dcbc973cd437723b4d96c9ae13", "data": "te6ccgEBAgEAKAABAcABAEPQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAg", "data_hash": "55a703465a160dce20481375de2e5b830c841c2787303835eb5821d62d65ca9d", ----%<------------------------ "compiler_version": "sol 0.61.0" }
- For "everdev sol compile" and "everdev clang compile" commands, you can specify a variable number of input files, for example:
$ everdev sol compile Contract1.sol Contract2.sol Contract3.sol # It works $ everdev sol compile *.sol # It works too
- Updated Ever OS Cloud endpoints.
- Updated the C++ contract example for use with the latest (7.7.35) clang compiler.
- An error "EVER 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/everx-labs/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
- ever-cli
- Install
- Version
- Set
- Update
- EVER 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