Skip to content

Releases: neonevm/neon-evm

v0.15.0

02 Feb 21:27
Compare
Choose a tag to compare

Pre-mainnet release

NeonEVM v0.12.0

06 Oct 09:31
Compare
Choose a tag to compare
  1. 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.
  2. Changes above lead to changing the layout of data stored in Solana accounts.
  3. 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

03 Feb 14:49
948ba3f
Compare
Choose a tag to compare

What's Changed

Full Changelog: neonlabsorg/neon-evm@v0.5.3...v0.5.4

v0.5.3

10 Jan 12:56
5a3e796
Compare
Choose a tag to compare

What's Changed

Full Changelog: neonlabsorg/neon-evm@v0.5.2...v0.5.3

v0.5.2

10 Jan 12:56
60a6b86
Compare
Choose a tag to compare

What's Changed

  • neon-cli update #411 by #438
  • Fix create-test-accounts.sh script #444 by #445
  • Fix OZ Error: Transaction: 0x... exited with an error (status 0) by #448

Full Changelog: neonlabsorg/neon-evm@v0.5.1...v0.5.2

v0.5.1

23 Dec 18:44
ae49723
Compare
Choose a tag to compare

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

23 Dec 18:44
2f0d1f6
Compare
Choose a tag to compare
  1. added audit reports (https://github.com/neonlabsorg/neon-evm/tree/v0.5.0/audit)
  2. Increased payment to treasure pull and deposit to 5000 lamports
  3. added field with signature of transaction to Storage data, added FinalizedStorage data
  4. implemented UpdateValidsTable instruction
  5. 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

18 Nov 13:51
Compare
Choose a tag to compare
  1. 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.

  2. Changed instructions:

    • Write (0) -> WriteHolder (18)
    • PartialCallFromRawEthereumTX (9) -> PartialCallFromRawEthereumTXv02 (19)
    • Continue (10) -> ContinueV02 (20)
    • Cancel (12) -> CancelWithNonce (21)
    • ExecuteTrxFromAccountDataIterative (11) -> ExecuteTrxFromAccountDataIterativeV02 (22)
  3. Changed ELF parameters:

    • add NEON_PAYMENT_TO_TREASURE
    • add NEON_PAYMENT_TO_DEPOSIT
    • add NEON_CHAIN_ID

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

20 Oct 15:53
Compare
Choose a tag to compare
  1. Changed chain_id values (these values published in https://chainlist.org/):

    • devnet: 245022926
    • testnet: 245022940
  2. Deprecated instructions:

    • (1) Finalize
    • (4) CreateAccountWithSeed
  3. Added instructions:

    • (13) PartialCallOrContinueFromRawEthereumTX
    • (14) ExecuteTrxFromAccountDataIterativeOrContinue
    • (15) ERC20CreateTokenAccount
    • (16) DeleteAccount
    • (17) ResizeStorageAccount
  4. 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 of incinerator account.
  5. 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)