Граф коммитов

60 Коммитов

Автор SHA1 Сообщение Дата
Eddy Ashton 05efed8658
Add `workflow_dispatch` Actions trigger (#78) 2023-07-10 14:19:39 +01:00
Eddy Ashton 118a9355d0
Remove unused CircleCI (#76) 2023-01-11 15:45:19 +00:00
Eddy Ashton e283b926e4
Rename `master` branch to `main` 2023-01-11 15:43:06 +00:00
microsoft-github-policy-service[bot] 88446a793a
Microsoft mandatory file (#73) 2022-08-22 16:20:40 +01:00
Eddy Ashton 6448e787cb
Upgrade doctest to 2.4.9 (#72) 2022-06-22 18:13:16 +01:00
Eddy Ashton 73b090fe6b
Strict RLP decoding (#68) 2020-02-19 09:15:20 +00:00
Syed Jafri 12951f37d3
Update opcodes and add documentation (#65) 2020-02-07 10:06:29 +00:00
Eddy Ashton fb30c33c7b
Run GitHub Actions on PRs (#66) 2020-02-07 09:59:38 +00:00
Julien Maffre 8eee22f2c8 Update README.md (#60)
coco -> CCF
2019-11-25 09:05:31 +00:00
Eddy Ashton 6060dd87d7
Validate sample execution in CI (#59)
* Validate sample execution in CI

* Fixes for sample seg faults, error for future
2019-11-19 11:38:07 +00:00
Eddy Ashton 20bf43bda2 Ensure checksum address is correct size 2019-11-08 13:59:18 +00:00
Eddy Ashton b6f17dd3c7
Fix logs format (#58)
* Add to_hex_string_fixed

* Format log topics as fixed-length hex strings

* Add placeholders for standard fields

* Write comments in English
2019-11-08 13:30:20 +00:00
Eddy Ashton fa0c547f57
Create github-actions file (#56)
* Update and rename ccpp.yml to build_and_test.yml

* Use env, not with

* Don't set unknown policies on old versions

* Remove policy entirely, use explicit paths
2019-10-11 10:45:40 +01:00
Eddy Ashton 09c9e489ee
Fix full tests (#57)
* Prefix all hex strings

* Remove old test case

* Avoid narrow_cast
2019-10-11 10:07:07 +01:00
Eddy Ashton 0d45a28eb2
Replace Boost with intx (#55)
* Add intx lib

* Add basic intx cmake wrapper, test exe

* WIP: Use intx rather than boost

* Compiles

* Correct signed comparison

* lol

* Make an object, even if its empty

* Use intx::narrow_cast where appropriate

* Fix sdiv

* Fix signextend

* Fix smod

* Fix mload

* Correct to_hex_str

* Fix address_to_hex_string

* Manage your expectations

* Remove unnecessary assignment functions

* Remove unnecessary assign_j

* Minimise bigint.h

* Broad rename - phase I

* Renames - placate samples

* Restore from_bytes

* format

* Remove unnecessary overload

* Add comment

* Implement ostream operator<< for intx

* Include io headers

* Clarify to_hex_string overloads

* Explicit [to/from]_json

* Remove Boost references

* Remove temp intx tests

* Bump
2019-10-10 17:05:08 +01:00
Eddy Ashton e4e843147d
Avoid misalignments in to_big_endian (#52) 2019-09-02 17:30:10 +01:00
Eddy Ashton 28d6fd76cf
Regular halt returns 1, not 0 (#51) 2019-09-02 15:25:15 +01:00
Eddy Ashton e5e35c7e84
Add disassembler app (#50)
* Add basic disassembler sample

* Improve disassembler out_of_range exception

* Remove double-0x, unnecessary space

* Align instruction count
2019-08-30 18:01:32 +01:00
Eddy Ashton 36ca7e32ea
Abstract account (#49)
* Initial implementation of abstract Account

* Update samples

* Simplify API

* Remove incorrect comment

* Simplify further - common implementation of pay_to

* Add libfmt license notice

* Merge fixups

* Disable automatic nonce-increment pending further investigation

* Allow nonce to be set in constructor

* Remove unnecessary methods from abstract interfaces
2019-08-23 13:18:25 +01:00
Eddy Ashton 5f73998ac0 Add libfmt license notice 2019-08-20 10:04:58 +01:00
Eddy Ashton 81b76d12fe Fix references to eevm_tests 2019-08-20 10:04:34 +01:00
Eddy Ashton bdced1d4cd Add missing cast 2019-08-19 16:52:58 +01:00
Eddy Ashton 164ef04be5
Add libfmt support (#48)
* WIP: Add libfmt, port samples

* Wider use of libfmt

* libfmt for unexpected opcode error

* libfmt in disassembler

* More use of libfmt

* Compatible with test's expectation
2019-08-19 13:03:21 +01:00
Eddy Ashton d0177767e8
Move includes, rename namespace (#47)
* Rename evm namespace to eevm

* Juggle files

* Move includes

* Fix README link

* Separate core srcs in static library from Simple impl

* Decorate CMake

* Remove unused type aliases

* Make Circle test verbose
2019-08-16 16:15:07 +01:00
Evgeniy Shishkin 7e55b61750 SimpleGlobalState class made json-serializable (#44)
* From_json/to_json: read and write nonce and code fields as hexstrings

* Default initializer added for Account fields

* Test added checking that from_json/to_json are mutually inverse

* parseAccount() changed to be compatible with to_json/from_json logic

* * to_uint64(const string&) overload added
* Account::nonce is serialized from hex string

* to_json/from_json tests added

* added some JSON tests

* address must be lower-case, 40-bytes hex string starting with 0x

* accountFull.json test file added

* address_to_hex_string is used to serialize address field

* to_hex_string: string width should not be changed from default

* loop var explicit init to exclude LLVM complains

* SimpleGlobalState class made json-serializable

* SimpleGlobalState operator== added

* simpleGlobalStateFull.json test file added

* SimpleGlobalState serialization tests added

* main.cpp: debug output removed from a test case

* manual deserialization to make things more robust against different STL versions
2019-08-16 13:31:58 +01:00
Eddy Ashton 48bfbbd558
Run quick test verbosely (#45) 2019-08-16 10:47:31 +01:00
Evgeniy Shishkin 881e198e8c from_json/to_json issue#40 (#41)
* From_json/to_json: read and write nonce and code fields as hexstrings

* Default initializer added for Account fields

* Test added checking that from_json/to_json are mutually inverse

* parseAccount() changed to be compatible with to_json/from_json logic

* * to_uint64(const string&) overload added
* Account::nonce is serialized from hex string

* to_json/from_json tests added

* added some JSON tests

* address must be lower-case, 40-bytes hex string starting with 0x

* accountFull.json test file added

* address_to_hex_string is used to serialize address field

* to_hex_string: string width should not be changed from default
2019-08-15 09:57:58 +01:00
Eddy Ashton 5dc8a7ad9a
Add RLP support for generic vectors and arrays (#35)
* Add RLP support for arrays

* Basic test for arrays

* RLP for generic vectors, test of nested RLP

* Add generic from_bytes for all unsigned int widths
2019-08-05 09:33:57 +01:00
Eddy Ashton 44100d52a3
Remove ambiguity on keccak_256 overloads (#34)
* Remove ambiguity on keccak_256 overloads

* Add tests of new convenience overloads
2019-07-31 11:57:24 +01:00
Eddy Ashton c90e2b3b35
Update README.md
Fix badge
2019-05-29 11:14:40 +01:00
Amaury Chamayou 67e7b107d2 Fix missing quotes in bash script (#33) 2019-04-25 14:02:49 +01:00
Eddy Ashton 6d285fdf7c
Event log data is JSONified as hex string (#32) 2019-04-25 11:03:32 +01:00
Eddy Ashton 06cc5e5aad
uint256_ts are lower case by default, when converted to json (#31)
* Lower-case hex strings are the default for json output

* Remove debug printing
2019-04-18 18:04:06 +01:00
Eddy Ashton 659f23547f
Checksum addresses (#30)
* Add to_lower_hex_str

* Add to_checksum_address, and is_checksum_address

* Add tests, fix case of Keccak_256
2019-04-18 17:11:46 +01:00
Eddy Ashton d39457e705
Clarify that get_block_hash takes a <256 offset, not block index (#28) 2019-04-05 17:25:22 +01:00
Eddy Ashton 3ca7eedc4d
gaslimit opcode should return _block_'s gas limit, not tx's (#27) 2019-04-05 15:44:46 +01:00
Eddy Ashton d34c8c855e
Add CircleCI badge (#26)
* Add CircleCI badge

* Update README.md
2019-04-05 09:38:57 +01:00
Amaury Chamayou c29e4af1bb Tentative Circle CI setup (#25)
Initial Circle CI config
2019-04-05 09:24:03 +01:00
Eddy Ashton 0c14073d48
Add implementation of RLP Decode (#23)
* Move RLP tests to separate file

* Initial int parsing

* String and list decoding

* Support for writing single byte-vectors

* WIP

* List and empty decoding

* Tuple decode by tag dispatch

* Properly decode tuple items separately

* Avoid undefined execution order

* Add some comments

* Avoid references in tag dispatch

* Decode a long, nested example

* Add example of decoding a user type

* Test uint256_t decoding

* Fix uint256 0 encoding/decoding, add tx hash test

* Correct name

* Generalise to_hex_string
2019-04-04 13:36:07 +01:00
Eddy Ashton 7e31e689e2
Remove unnessary call-by-value copy (#22) 2019-03-28 16:49:38 +00:00
Eddy Ashton 4ea7593f6f
Add explicit type to RLP shift to satisfy UBSAN (#21) 2019-03-18 10:51:00 +00:00
Eddy Ashton 24be26b00e
Replace RLP implementation (#19)
* Clear error message when TEST_DIR is not set

* Use uint256 call_values

* In progress improvements to RLP

Working tuple nesting

* Tuple of tuples is still a problem

* Correct and tested RLP

* Add comments

* Replace old rlp-implementation with new

* Rename rlp::to_bytes to to_byte_string

* Add to_byte_string for boost bigints

* Test large uint256_t encoding

* Remove debug inclusions

* Add missed include for std::apply

* Print verbose make instructions in CI

* Try a windows-hosted agent

* Reinstate Ubuntu CI - give up on it passing
2019-03-08 14:49:00 +00:00
Eddy Ashton a6c1b14e4f
Use uint256 call values (#17)
* Clearer error message when TEST_DIR is not set

* Use uint256 call_values
2019-02-06 10:13:41 +00:00
Eddy Ashton 2c66c18dde
Remove unneeded equality operator (#16) 2019-01-29 17:25:37 +00:00
Felix Schuster 9aa520de7f
Update README.md 2018-12-03 14:06:02 +00:00
Eddy Ashton 287570c2ed
Add samples (#13)
* const& code, clang-format pass

* Add hello_world and sum samples

* clang-format pass

* Initial commit of ERC20 sample

* Add random transactions

* Add comments

* Add const& to avoid unnecessary copies

* Add license headers

* Precise comments

* Initial samples README

* Updated readme, remove unnecessary bin-runtime

* README update

* Check result of hello_world, readme pass
2018-12-03 10:41:25 +00:00
Felix Schuster bb6d764499
Merge pull request #12 from Microsoft/update_docs
Update docs
2018-11-28 04:01:16 -08:00
Edward Ashton (Brook Street) 59cd7eb722 Update docs
Update precompiled contracts range
2018-11-28 11:45:16 +00:00
azure-pipelines[bot] ad50aa279c Set up CI with Azure Pipelines (#5)
* Set up CI with Azure Pipelines

* Get Boost

Add Azure Pipelines status badge

* Unpack Boost in tmp dir

* Make test wrapper executable

* Add full build step
2018-11-02 13:49:34 +00:00
Marley Gray dc0a32a144 Update README.md
Rename to Confidential Conpute Blockchain Framework.
2018-10-29 20:44:47 +01:00