Releases: neonevm/neon-evm
v0.15.0
NeonEVM v0.12.0
- Reduced the number of accounts required to execute NeonEVM transactions. This was implemented in two ways:
a. Redesign the way to save contract storage into the Solana account. Now 256 continuous keys are stored in one Solana account instead of saving each key in a separate Soalana account.
b. Merge a Neon account header with a contract code into one Solana account. This became possible thanks to the implementation of the possibility of resizing data for Solana's contracts.
c. Drop a separate account for storing big transactions. Now the same account is used to hold the big transaction before execution and a state of NeonEVM between iterations. - Changes above lead to changing the layout of data stored in Solana accounts.
- Reduce and simplify the set of NeonEVM instructions
These changes are incompatible with previous v0.11.x versions and cannot work with accounts created by the older versions.
v0.5.4
v0.5.3
What's Changed
Full Changelog: neonlabsorg/neon-evm@v0.5.2...v0.5.3
v0.5.2
v0.5.1
What's Changed
- Add new authorized operators. #426 by #427
- Do not require neon token accounts #420 by #421
- Provide msg based revert #299 by #417
- Add check to instruction ResizeAccountStorage #410 by #428
- Fix clippy warnings by #430
- Update cargo clippy to nightly version by #432
Full Changelog: neonlabsorg/neon-evm@v0.5.0...v0.5.1
v0.5.0
- added audit reports (https://github.com/neonlabsorg/neon-evm/tree/v0.5.0/audit)
- Increased payment to treasure pull and deposit to 5000 lamports
- added field with signature of transaction to Storage data, added
FinalizedStorage
data - implemented
UpdateValidsTable
instruction - implemented base part of
QueryAccount
functional (neonlabsorg/Solana-EVM#224)
f0e0785 - #414 New whitelisted operators (#423)
22e6f75 - #401 Change payments to treasury and deposit (#422)
bf1d1f4 - #419 Add config parameter bind (faucet-config-bind) (#419)
aceabb8 - #404 faucet request neon in galans (#409)
acbdb8a - #373 solana v1.7.9 testnet (#374)
805e28a - #403 Fix Approve Solana Command (#406)
b5b2f68 - #360 query account (#375)
804a83c - #313 concurrent execution of solana program dump (#388)
cbb3b4b - #392 Remove Operator Checks from 2 Commands (#394)
fa4e1c8 - #387 New Pubkeys of Authorized Operators (#393)
4535d9b - #319 add neon cli version handler (#391)
c42bda7 - #364 Mark selfdestruct account as writable (#390)
5a56ddd - #371 Add the state StorageFinalized to the storage account state machine (#385)
102d1da - #378 Add instruction to update Valids table (#379)
abc2667 - Add audit reports (#381)
48733bc - #372 implement command to get value from storage (#377)
v0.4.0
-
Change fields of the
Storage
structure. This structure is used to hold the state of EVM between iterations. Since we have not yet launched in the MainNet, a simplified way of changing this structure was chosen (without introducing an additional version of the structure). Therefore, when upgrading from an older version, you must ensure that all iterative transactions are completed. -
Changed instructions:
Write
(0) ->WriteHolder
(18)PartialCallFromRawEthereumTX
(9) ->PartialCallFromRawEthereumTXv02
(19)Continue
(10) ->ContinueV02
(20)Cancel
(12) ->CancelWithNonce
(21)ExecuteTrxFromAccountDataIterative
(11) ->ExecuteTrxFromAccountDataIterativeV02
(22)
-
Changed ELF parameters:
- add
NEON_PAYMENT_TO_TREASURE
- add
NEON_PAYMENT_TO_DEPOSIT
- add
NEON_CHAIN_ID
- add
Fixed issues from Neodyme audit:
4209449 - #261 restrict write instruction (#287)
99d6c3d - #313 payment for spent gas at the end of each iteration (#320)
ede5a49 - #355 Allow upgrade from user to contract account (#356)
Implemented new functionality:
3961c3a - #194 Add mainnet operator pubkeys (#370)
fac0a22 - #340 Return execution steps in emulation (#352)
065430f - #294 Add cancel
command in neon-cli (#359)
be4f50f - #347 Add NEON_CHAIN_ID symbol to elf parameters (#350, #358)
8b9d706 - #345 transfer to treasures on each iteration (#346)
ac9bb98 - #315 Cancel instruction with provided nonce (#344)
4f24b3d - #348 Fix gas cost for precompiled contracts (#349)
Improved build process:
3224a32 - #248 Create deployment script for evm_loader (#369)
a3a3cee - #354 recover spl performance test for testnet (#366)
NeonEVM v0.3.0-rc0
-
Changed
chain_id
values (these values published in https://chainlist.org/):- devnet: 245022926
- testnet: 245022940
-
Deprecated instructions:
- (1) Finalize
- (4) CreateAccountWithSeed
-
Added instructions:
- (13) PartialCallOrContinueFromRawEthereumTX
- (14) ExecuteTrxFromAccountDataIterativeOrContinue
- (15) ERC20CreateTokenAccount
- (16) DeleteAccount
- (17) ResizeStorageAccount
-
Changed list of accounts for
Cancel
instruction:- storage
- operator_sol
- operator_neon
- user_neon
- incinerator
Note: New version of instruction can be detected by position ofincinerator
account.
-
Added check for authorized operator in all instructions.
Fixed issues from Neodyme audit:
59f9710 - #298 Check the owner of program_info for the contract account (#330)
d7b298c - #299 Round apparent value (#329)
b0d0963 - #295 Increase nonce after cancel (#326)
4d439b0 - #301,#302 Refactor payment::transfer (#325)
45532af - #296 Cache values from Solana (#318)
4934e08 - #258 Check contract account address (#293)
c43345d - #279 Create a separate token accounts for each ERC20 contract (#291)
32892bc - #278 Replace create_account
by transfer
, allocate
and assign
if account already exists
c1c314c - #281 fix broken instruction serialization (#282)
281cdd7 - #259 Check sysvar account (#273)
9e3f05d - #269 Remove solana_call() functionality (#271)
f788c11 - #262 Verify used contract with to
-field of transaction (#270)
7bd9991 - #264 Verify PDA nonce in CreateAccount instruction
f9c5e2f - #263 Remove do_finalize
0a655d7 - #265 Remove CreateAccountWithSeed
Implemented new functionality:
5b87953 - #319 config various builds (#324)
2e6dd2d - #327 include trx_count to check of setting "writable" flag of neon-cli application (#328)
a64f14e - #321 Add check that contract nonce changed only on deploy of other contract (#322)
835a57a - #305,#306 resize storage account (#316)
eca3fb8 - #307 operator list check (#308)
eb301a1 - #311 Return funds from technical accounts (#317)
bc01e66 - #275 Neon-evm elf config (#276)
b1df714 - #283 cybercoredev -> neonlabsorg (#284)
4f96cd3 - #166 create microservice for faucet (#274)
81ed454 - #207 read/write account blocking (#236)
eff6468 - #252 remove argument from neon-cli deploy
(#256)
3a3ca99 - #180 transfer used gas to operator when transaction canceled (#206)
b76390e - #178 Estimate needed gas in neon-cli emulate
without refunded gas (#204)
1a6b21a - #197 integration test for erc20 wrapper contract (#250)
02c5944 - #213 Wrapper for ERC20 contracts (#232)
4ac2c0d - #217 Add innstructions to combined start/continue (#220)
a174c06 - #215 Don't fail if (transfer_value%min_value) is not zero
70a8cde - #216 Add instructions to combined start/continue (#218)
Improved build process:
8be70ba - Speedup build via using workspace (#272)