General
* Support the new xdr.ScVal types, to simplify contract interactions
* Testing infrastructure improvements throughout
Soroban-CLI
Changed
- When using `invoke`, contract function names now come after the `--`.
Old vs new:
diff
-soroban contract invoke [options] --fn hello -- --to World
+soroban contract invoke [options] -- hello --to World
This comes with contract-level `--help`, which lists all functions in a contract:
soroban contract invoke [options] -- --help
It also works nicely with aliases in your shell:
alias hello="soroban contract invoke [options] --"
hello --help
- Replaced `--identity`, `--secret-key`, and `--account` flags with single `--source-account` (alias: `--source`)
Old vs new:
diff
soroban config identity generate alice
-soroban contract deploy --identity alice
+soroban contract deploy --source alice
-soroban contract deploy --secret-key SC36…
+soroban contract deploy --source SC36…
The old `--account` option accepted a public key, and only worked in sandbox. This has been removed, since a public key can be derived from a secret key or seed phrase.
You could not use a seed phrase before, but now you can:
diff
+soroban contract deploy --source "kite urban…"
Note: don't do this! Including seed phrases and private keys in CLI commands puts them in your shell history file, which can be read by other system processes. It has been included for backwards-compatibility. It is safer to use an identity.
The default identity is the one given by `soroban config identity generate --default-seed`.
You can still set this using the environment variable `SOROBAN_ACCOUNT`.
Added
- When using `invoke ... -- [contract] [method] --help`, you'll now get better docs and examples for each argument (by willemneal in 465)
- Automatic [comprehensive docs](https://github.com/stellar/soroban-tools/blob/main/docs/soroban-cli-full-docs.md); more extensive long help with `--help`; shorter help available with `-h` (by chadoh in #518)
- Added `soroban --version`
- Better errors, replacing `Unknown` (469)
- Refactor, so that the cli can be imported via the new `soroban-test` crate. This makes testing and using soroban-cli as a library easier.
- feat: reorg into a proper library by willemneal in 443
- feat: add new soroban-test crate by willemneal in 528
- Update to Clap v4 by chadoh in 491
- Support for new `diagnostic` type events
Fixed
- fix(CLI): string/u/i256 XDR parsing by willemneal in 529
Soroban-RPC
Changed
- Set a maximum ledger latency in /health method by 2opremio in 461
- Add resultMetaXdr and envelopeXdr back to getTransaction() response by tamirms in 467
- Support for new `diagnostic` contract events.
- soroban-rpc: Add filtering support for diagnostic events by 2opremio in 530
- soroban-rpc: Ingest diagnostic events by tamirms in 536
- Remove 'soroban serve' subcommand (486)
- Limit preflight-computation concurrency through a worker pool (488, 489, and 517)
- Miscellaneous fixes by 2opremio in 492
- General improvements to compilation and testing
- Add contract events to simulateTransaction's response by 2opremio in 534
---
**Full Changelog**: https://github.com/stellar/soroban-tools/compare/v0.6.2...v0.7.0