Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Develop #8

Merged
merged 158 commits into from
Feb 3, 2020
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
158 commits
Select commit Hold shift + click to select a range
cc37bb3
static code for realloc and macro
Jan 8, 2020
5050f2c
Modify in3_configure() to return string
Jan 8, 2020
06911bc
Add expect macros
Jan 8, 2020
c6027c4
Add config_err() func
Jan 8, 2020
097ca6e
Return config error
Jan 8, 2020
bebe03e
Add minimal verification
Jan 8, 2020
a770809
Fix chain_id
Jan 9, 2020
eef9751
Fix validation of uint32 types
Jan 9, 2020
6248ee5
Fix validation bug for node array
Jan 9, 2020
816c35a
Always return string from configure
Jan 9, 2020
94353c8
Fix EXPECT to use customizable exit block
Jan 9, 2020
58240cc
Minor refactoring for test_request
Jan 9, 2020
360178c
Add test_configure_validation()
Jan 9, 2020
76c535d
More helper macros for validation
Jan 9, 2020
e7025a1
More test cases for configure
Jan 9, 2020
7d0538a
Comment failed tests for now
Jan 9, 2020
7ebdc2b
Changes on the jni java implementation and bug fixes
Jan 10, 2020
6e9fda2
Move test_configure() to test_request.c
Jan 10, 2020
9ec7d47
Fix failing tests
Jan 10, 2020
c306f36
fixed release and error checking
simon-jentzsch Jan 10, 2020
a75ec1b
More macros for code reuse
Jan 10, 2020
cbf1847
Fix nodes' validation
Jan 10, 2020
6185a99
Check for hex str
Jan 10, 2020
4417ff7
fixed warnings
simon-jentzsch Jan 10, 2020
d4e9efe
More renaming and refactoring
Jan 10, 2020
1c1cfd3
Fix test
Jan 10, 2020
691bbb6
Fix redundant bit masking
Jan 10, 2020
fffd559
fix const warning
simon-jentzsch Jan 10, 2020
ce77b1b
Merge branch '110-java-tests-for-eth-api-and-util' into 'develop'
simon-jentzsch Jan 10, 2020
179055b
More validations
Jan 10, 2020
31daf1c
Fix failing tests
Jan 11, 2020
52190f4
cppcheck comparepointer error fix
Jan 12, 2020
0b9d42b
Merge branch 'develop' into 140-checks-for-buffer-overflow-and-seg-fa…
Jan 13, 2020
6a4b2ad
More tests
Jan 13, 2020
3976e49
More tests for cofiguring nodeList and whiteList
Jan 13, 2020
ea2d67f
Fix build on WASM
Jan 13, 2020
fee525c
Fix whiteList configure bug
Jan 13, 2020
df817f4
More tests for whiteList
Jan 13, 2020
bbfecfa
Test for duplicate chain id
Jan 13, 2020
a1e61f1
Check for duplicates
Jan 13, 2020
977e1c5
fixed
simon-jentzsch Jan 14, 2020
2c9e4e2
Merge branch '152-in3asmjs-package-json' into 'develop'
simon-jentzsch Jan 14, 2020
36fb8d4
ccpcheck step test
Jan 15, 2020
8508d1e
ccpcheck step test
Jan 15, 2020
4e7f768
ci step clean
Jan 15, 2020
d7bf26c
Merge branch 'develop' into cppcheck_citest
Jan 15, 2020
30ffa39
Resolve "Merge in3-python repo into in3-c as a binding, include relea…
Jan 17, 2020
6b34bb8
Merge branch '124-merge-in3-python-repo-into-in3-c-as-a-binding-inclu…
simon-jentzsch Jan 17, 2020
82c216f
add zsh complete-script
simon-jentzsch Jan 17, 2020
48bba4e
changed random initialization (nanoseconds instead of seconds) to fix…
Jan 17, 2020
a3c0c72
fixed to handling in eth call
simon-jentzsch Jan 18, 2020
442abbe
Merge branch 'steffenkux-develop-patch-45651' into 'develop'
simon-jentzsch Jan 18, 2020
329ed7d
add in3_weights
simon-jentzsch Jan 18, 2020
1040b97
added timeout
simon-jentzsch Jan 18, 2020
6c16025
added timeout
simon-jentzsch Jan 18, 2020
33a488f
added in3_weights
simon-jentzsch Jan 18, 2020
6d5eea1
fixed analyse
simon-jentzsch Jan 18, 2020
54042c5
Merge branch 'develop' of git.slock.it:in3/c/in3-core into develop
simon-jentzsch Jan 18, 2020
d7beda2
fix doulicates
simon-jentzsch Jan 18, 2020
612f831
fixed java-bindungs
simon-jentzsch Jan 18, 2020
cad4865
better clean
simon-jentzsch Jan 18, 2020
3bef21e
fixed times
simon-jentzsch Jan 18, 2020
20251fd
changed to ms
simon-jentzsch Jan 18, 2020
1c06128
fix wasm
simon-jentzsch Jan 18, 2020
fc61daf
Ensure finality is %age if chain POA
Jan 19, 2020
9fd36fb
Add missing configure options
Jan 19, 2020
80973a1
Fix u64 validation
Jan 19, 2020
c74b646
switch to s
simon-jentzsch Jan 20, 2020
835dde0
added ens-support
simon-jentzsch Jan 20, 2020
251b2bd
resolve params
simon-jentzsch Jan 20, 2020
4434955
fixed autocomplete
simon-jentzsch Jan 20, 2020
9851391
fix in3_ens
simon-jentzsch Jan 20, 2020
fdfc0e6
fix warning
simon-jentzsch Jan 20, 2020
15b5f22
added resolver and owner to ens_resolve
simon-jentzsch Jan 22, 2020
a265a63
add ens-support in wasm
simon-jentzsch Jan 22, 2020
f4fd5b5
fixed async
simon-jentzsch Jan 22, 2020
e589a18
support for hash
simon-jentzsch Jan 22, 2020
f7a38d7
Merge branch 'develop' into cppcheck_citest
simon-jentzsch Jan 22, 2020
7a783fe
fix analyser
simon-jentzsch Jan 22, 2020
cf948e5
fix checks
simon-jentzsch Jan 22, 2020
c7f2a87
ficed
simon-jentzsch Jan 22, 2020
c277962
Merge branch 'cppcheck_citest' into 'develop'
simon-jentzsch Jan 22, 2020
21fe8cd
Merge branch 'develop' into 139-error
simon-jentzsch Jan 22, 2020
17530ed
fixed jni
simon-jentzsch Jan 22, 2020
61d3137
fixed cache test
simon-jentzsch Jan 22, 2020
850d12a
fixed configure
simon-jentzsch Jan 22, 2020
d72595d
fixed tests
simon-jentzsch Jan 22, 2020
76d1133
fix unused
simon-jentzsch Jan 22, 2020
4d1381a
Merge branch '139-error-handling-in-in3_configure' into 'develop'
simon-jentzsch Jan 22, 2020
ec6b01c
Add nodelist_upd8_params
Jan 23, 2020
6fa7c99
Modify check_autoupdate to init node_upd8_params
Jan 23, 2020
b1cbe2d
Set in3 section in nodeList request for data_nodes
Jan 23, 2020
944affb
Add in3_node_filter_t
Jan 23, 2020
6378f41
Remove redundant needs_update flag
Jan 23, 2020
35421ab
Blacklist node that reported wrong last nodelist change block
Jan 23, 2020
75cfce1
Minor refactoring
Jan 23, 2020
d258781
Add comment
Jan 23, 2020
f604b52
store hashes
simon-jentzsch Jan 25, 2020
7e3d7a6
added verifiedhashes imple
simon-jentzsch Jan 25, 2020
40e417b
fix warning
simon-jentzsch Jan 25, 2020
ad5d92f
fix unused
simon-jentzsch Jan 25, 2020
9c49b67
fix warning
simon-jentzsch Jan 25, 2020
fd8c840
fix warning
simon-jentzsch Jan 25, 2020
a8aaf72
fix signed
simon-jentzsch Jan 25, 2020
41e85cd
Merge branch 'verified_hashes' into 'develop'
simon-jentzsch Jan 25, 2020
e13ab9a
turn off verified hashes
simon-jentzsch Jan 26, 2020
31b40f4
fix storaged hash
simon-jentzsch Jan 26, 2020
d9b3967
keep up to 5 hashes
simon-jentzsch Jan 26, 2020
699c5ba
fix memory leak
simon-jentzsch Jan 26, 2020
d04ac7d
Add mechanism to update nodelist on start
Jan 27, 2020
18423b2
Fix infinite recursion
Jan 27, 2020
b361713
Cleanup nodelist_upd8_params
Jan 27, 2020
7656e00
Fix cache init for nodelist_upd8_params
Jan 27, 2020
874d71f
Support configure opt `needsUpdate`
Jan 27, 2020
4ea40ef
Fix failing tests
Jan 27, 2020
c1f2194
Update nodelist in CLI if newer change is reported
Jan 27, 2020
6b6f86f
Rebuild headers
Jan 27, 2020
79d50d6
Fix bug with node selection
Jan 27, 2020
6536f81
Merge branch '144-wrong-number-of-signers-selected' into 'develop'
simon-jentzsch Jan 28, 2020
e908f61
fixed license
simon-jentzsch Jan 28, 2020
dd63ab1
Merge branch 'develop' of git.slock.it:in3/c/in3-core into develop
simon-jentzsch Jan 28, 2020
e469761
Merge branch 'develop' into 138
simon-jentzsch Jan 28, 2020
e2baae2
fix headers
simon-jentzsch Jan 28, 2020
b60d4ed
fix inclludes
simon-jentzsch Jan 28, 2020
305e00c
turn filter on
simon-jentzsch Jan 28, 2020
ae7ff65
Merge branch '138-handle-invalid-nodelist-updates' into 'develop'
simon-jentzsch Jan 28, 2020
14dcc87
Fix bug
Jan 29, 2020
a2febda
add github-templates
simon-jentzsch Jan 29, 2020
cdd78e5
Merge branch 'develop' of git.slock.it:in3/c/in3-core into develop
simon-jentzsch Jan 29, 2020
53092bb
Update CONTRIBUTING.md
simon-jentzsch Jan 29, 2020
dec8154
Fix LogFilter class implementation
Jan 14, 2020
9bfcacb
Add log query flow control flag
Jan 23, 2020
d0bb275
Change eth_basic.c to handle eth_getFilterLogs calls
Jan 22, 2020
e14adfb
Fix getFilterChangesFromBlocks according to specification
Jan 27, 2020
f51679f
Multiple changes and fixes for java implementation
Jan 23, 2020
fdded3f
Build java unit test structure
Jan 23, 2020
b69f17c
Change java constructor to match the C implementation
Jan 27, 2020
974f71d
Fix c tests
Jan 27, 2020
12573b2
Fix Style
Jan 28, 2020
a50d116
Removed .classpath and .project files from project
Jan 29, 2020
735df63
Update CMakeLists.txt for java implementation
Jan 29, 2020
7482d5e
fix License in wasm
simon-jentzsch Jan 30, 2020
e05e453
added unit test for binary protocol
Jan 30, 2020
6900689
Merge branch 'develop' into 165-tests-for-binary-protocol
Jan 30, 2020
558bc29
Merge branch 'develop' into 110-java-tests-for-eth-api-and-util
simon-jentzsch Jan 30, 2020
4afa02d
test file missing
Jan 30, 2020
51e9508
fixed documentation
simon-jentzsch Jan 30, 2020
a7f91bd
Merge branch '110-java-tests-for-eth-api-and-util' into 'develop'
simon-jentzsch Jan 30, 2020
269c513
Merge branch '170-config-rpc-fails-with-error-error-could-not-find-an…
simon-jentzsch Jan 30, 2020
04bafb9
fix leak
Jan 30, 2020
0d3c917
Merge branch '165-tests-for-binary-protocol' into 'develop'
simon-jentzsch Jan 30, 2020
b6c4419
Fix arm library load for android
Jan 30, 2020
3d31fa9
Merge branch '171-android-app-crashes-on-non-x86-devices' into 'develop'
simon-jentzsch Jan 31, 2020
6138b82
turn off node filtering (for now)
simon-jentzsch Feb 3, 2020
d065dc7
add min_deposit to cmd-tool
simon-jentzsch Feb 3, 2020
2bd80a3
update rpc-docu
simon-jentzsch Feb 3, 2020
cc3e2a9
add in3_ens to the cmd-tool
simon-jentzsch Feb 3, 2020
cf41228
update keys and options
simon-jentzsch Feb 3, 2020
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
17 changes: 17 additions & 0 deletions .github/issue_template.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
### Steps to reproduce

### Expected behavior
<!-- Tell us what should happen -->

### Actual behavior
<!-- Tell us what happens instead -->

### System configuration

#### Incubed version

#### Request

#### Incubed Configuration

#### Chain
17 changes: 17 additions & 0 deletions .github/pull_request_template.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
### Summary

<!-- Provide a general description of the code changes in your pull
request... were there any bugs you had fixed? If so, mention them. If
these bugs have open GitHub issues, be sure to tag them here as well,
to keep the conversation linked together. -->

### Other Information

<!-- If there's anything else that's important and relevant to your pull
request, mention that information here. This could include
benchmarks, or other information.

Finally, if your pull request affects documentation or any non-code
changes, please explain.

Thanks for contributing to incubed! -->
5 changes: 4 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -20,4 +20,7 @@ cmake-build-debug/
[._]s[a-rt-v][a-z]
[._]ss[a-gi-z]
[._]sw[a-p]

.gradle/
bin/
.classpath
.project
42 changes: 42 additions & 0 deletions .gitlab-ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -188,6 +188,19 @@ analyse:
paths:
- report

cppcheck:
stage: test
image: docker.slock.it/build-images/cmake:gcc-x86-static-analysis
allow_failure: true
tags:
- short-jobs
script:
- mkdir _build
- cd _build
- cmake -DCMAKE_EXPORT_COMPILE_COMMANDS=ON -DCMAKE_BUILD_TYPE=Release ..
- cd ..
- cppcheck --project=_build/compile_commands.json -i/builds/in3/c/in3-core/test/unity -i/builds/in3/c/in3-core/src/third-party

test_c:
image: docker.slock.it/build-images/cmake:gcc8
stage: test
Expand Down Expand Up @@ -430,6 +443,7 @@ readthedocs:
stage: test
tags:
- short-jobs
allow_failure: true
dependencies:
- gcc8
script:
Expand Down Expand Up @@ -638,6 +652,7 @@ release_win:
paths:
- in3-win


release_maven:
stage: deploy
image: docker.slock.it/build-images/maven-deployment-image:latest
Expand All @@ -655,6 +670,31 @@ release_maven:
- echo $MAVEN_SETTINGS > settings.xml
- mvn -s settings.xml deploy:deploy-file -DgroupId=it.slock -DartifactId=in3 -Dversion=$CI_COMMIT_TAG -Dpackaging=jar -Dfile=java_build/lib/in3.jar -DrepositoryId=github -Durl=https://maven.pkg.github.com/slockit/in3-c

release_pip:
stage: deploy
image: docker.slock.it/build-images/python-dev-image:latest
tags:
- short-jobs
only:
- /^v[0-9]+.[0-9]+.[0-9]+(\-RC[0-9]+)?$/
except:
- branches
dependencies:
- mac_os
script:
- rm -rf src/bindings/python/in3/bind/slibs/
- mkdir src/bindings/python/in3/bind/slibs/
- cp mac_build/lib/libin3.dylib src/bindings/python/in3/bind/slibs/.
- export version=${CI_COMMIT_TAG}
- export download_url=https://github.com/slockit/in3-c/releases/download/${CI_COMMIT_TAG}/in3_${CI_COMMIT_TAG}_mac.tar.gz
- cd src/bindings/python
- cp $pypirc ~/.pypirc
- ./publish.sh
artifacts:
paths:
- in3-pip


pages:
stage: deploy
only:
Expand Down Expand Up @@ -848,3 +888,5 @@ github_body_release:
- cat in3-arm7/arm7_release_ipfs_hash.txt >> release_ipfs_hash.txt
- cat in3-win/win_release_ipfs_hash.txt >> release_ipfs_hash.txt
- ghr -u slockIt -r in3-c -b "$(cat release_ipfs_hash.txt)" $CI_COMMIT_TAG release_ipfs_hash.txt


2 changes: 2 additions & 0 deletions .settings/org.eclipse.buildship.core.prefs
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
connection.project.dir=
eclipse.preferences.version=1
13 changes: 13 additions & 0 deletions .settings/org.eclipse.jdt.core.prefs
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
#
#Mon Jan 13 14:01:51 CET 2020
org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
org.eclipse.jdt.core.compiler.codegen.targetPlatform=13
org.eclipse.jdt.core.compiler.source=13
org.eclipse.jdt.core.compiler.debug.localVariable=generate
org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
eclipse.preferences.version=1
org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
org.eclipse.jdt.core.compiler.debug.lineNumber=generate
org.eclipse.jdt.core.compiler.compliance=13
org.eclipse.jdt.core.compiler.debug.sourceFile=generate
14 changes: 14 additions & 0 deletions .vscode/launch.json
Original file line number Diff line number Diff line change
Expand Up @@ -47,6 +47,20 @@
],
"cwd": "${workspaceFolder}/build"
},
{
"type": "lldb",
"request": "launch",
"name": "run binary test",
"program": "${workspaceFolder}/build/test/test_binary_encoding",
"cwd": "${workspaceFolder}/build"
},
{
"type": "lldb",
"request": "launch",
"name": "run ethapi test",
"program": "${workspaceFolder}/build/test/test_ethapi",
"cwd": "${workspaceFolder}/build"
},
{
"type": "lldb",
"request": "launch",
Expand Down
5 changes: 4 additions & 1 deletion .vscode/settings.json
Original file line number Diff line number Diff line change
Expand Up @@ -81,7 +81,10 @@
"deque": "cpp",
"memory": "cpp",
"streambuf": "cpp",
"__node_handle": "c"
"__node_handle": "c",
"cstdlib": "c",
"locale": "c",
"eth_call_response_binary.h": "c"
},
"C_Cpp.errorSquiggles": "Disabled"
}
2 changes: 1 addition & 1 deletion CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -126,7 +126,7 @@ IF (SEGGER_RTT)
ADD_DEFINITIONS(-DSEGGER_RTT)
ENDIF (SEGGER_RTT)

OPTION(FILTER_NODES "if true the nodelist is filtered against config node properties" false)
OPTION(FILTER_NODES "if true the nodelist is filtered against config node properties" OFF)
IF (FILTER_NODES)
MESSAGE(STATUS "Enable nodelist filter based on properties")
ADD_DEFINITIONS(-DFILTER_NODES)
Expand Down
76 changes: 76 additions & 0 deletions CODE_OF_CONDUCT.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,76 @@
# Contributor Covenant Code of Conduct

## Our Pledge

In the interest of fostering an open and welcoming environment, we as
contributors and maintainers pledge to making participation in our project and
our community a harassment-free experience for everyone, regardless of age, body
size, disability, ethnicity, sex characteristics, gender identity and expression,
level of experience, education, socio-economic status, nationality, personal
appearance, race, religion, or sexual identity and orientation.

## Our Standards

Examples of behavior that contributes to creating a positive environment
include:

* Using welcoming and inclusive language
* Being respectful of differing viewpoints and experiences
* Gracefully accepting constructive criticism
* Focusing on what is best for the community
* Showing empathy towards other community members

Examples of unacceptable behavior by participants include:

* The use of sexualized language or imagery and unwelcome sexual attention or
advances
* Trolling, insulting/derogatory comments, and personal or political attacks
* Public or private harassment
* Publishing others' private information, such as a physical or electronic
address, without explicit permission
* Other conduct which could reasonably be considered inappropriate in a
professional setting

## Our Responsibilities

Project maintainers are responsible for clarifying the standards of acceptable
behavior and are expected to take appropriate and fair corrective action in
response to any instances of unacceptable behavior.

Project maintainers have the right and responsibility to remove, edit, or
reject comments, commits, code, wiki edits, issues, and other contributions
that are not aligned to this Code of Conduct, or to ban temporarily or
permanently any contributor for other behaviors that they deem inappropriate,
threatening, offensive, or harmful.

## Scope

This Code of Conduct applies both within project spaces and in public spaces
when an individual is representing the project or its community. Examples of
representing a project or community include using an official project e-mail
address, posting via an official social media account, or acting as an appointed
representative at an online or offline event. Representation of a project may be
further defined and clarified by project maintainers.

## Enforcement

Instances of abusive, harassing, or otherwise unacceptable behavior may be
reported by contacting the project team at [email protected]. All
complaints will be reviewed and investigated and will result in a response that
is deemed necessary and appropriate to the circumstances. The project team is
obligated to maintain confidentiality with regard to the reporter of an incident.
Further details of specific enforcement policies may be posted separately.

Project maintainers who do not follow or enforce the Code of Conduct in good
faith may face temporary or permanent repercussions as determined by other
members of the project's leadership.

## Attribution

This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 1.4,
available at https://www.contributor-covenant.org/version/1/4/code-of-conduct.html

[homepage]: https://www.contributor-covenant.org

For answers to common questions about this code of conduct, see
https://www.contributor-covenant.org/faq
96 changes: 96 additions & 0 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,96 @@
# How to contribute

I'm really glad you're reading this, because we need volunteer developers to help this project come to fruition.

If you haven't already, come find us in Gitter [![Gitter](https://img.shields.io/badge/Gitter-chat-blue)](https://gitter.im/slockit-in3/community?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge). We want you working on things you're excited about.

Here are some important resources:

* [ReadTheDocs](https://in3.readthedocs.io/en/latest/)
* [C API reference](https://in3.readthedocs.io/en/latest/api-c.html)
* [C examples](https://in3.readthedocs.io/en/latest/api-c.html#examples)
* [in3-node](https://github.com/slockit/in3-server)
* [in3 typescript client](https://github.com/slockit/in3)
* [Website](https://slock.it/incubed/)
* [Blog](https://blog.slock.it/)
* [Incubed concept video by Christoph Jentzsch](https://www.youtube.com/watch?v=_vodQubed2A)
* [Ethereum verification explained by Simon Jentzsch](https://www.youtube.com/watch?v=wlUlypmt6Oo)

[![Twitter](https://img.shields.io/badge/Twitter-Page-blue)](https://twitter.com/slockitproject?s=17)
[![Blog](https://img.shields.io/badge/Blog-Medium-blue)](https://blog.slock.it/)
[![Youtube](https://img.shields.io/badge/Youtube-channel-blue)](https://www.youtube.com/channel/UCPOrzp3CZmdb5HJWxSjv4Ig)
[![LinkedIn](https://img.shields.io/badge/Linkedin-page-blue)](https://www.linkedin.com/company/10327305)
[![Gitter](https://img.shields.io/badge/Gitter-chat-blue)](https://gitter.im/slockit-in3/community?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge)


## Testing

We also welcome any feedback of how you use it and what kind of challenges you may face. So when testing incubed let us know.
Also if you want to increase our testbase, feeld free to create more test data in our testrequests.

## Submitting changes

Please send a [GitHub Pull Request to incubed](https://github.com/slockit/in3-c/pull/new/develop) with a clear list of what you've done. Please follow our coding conventions (below) and make sure all of your commits are atomic (one feature per commit).

Always write a clear log message for your commits. One-line messages are fine for small changes, but bigger changes should look like this:

$ git commit -m "A brief summary of the commit
>
> A paragraph describing what changed and its impact."

## Coding conventions

Start reading our code and you'll get the hang of it. We optimize for readability:

* for code-formating use the [clang-format](https://github.com/slockit/in3-c/blob/master/.clang-format) provided in the repository
* This is open source software. Consider the people who will read your code, and make it look nice for them. It's sort of like driving a car: Perhaps you love doing donuts when you're alone, but with passengers the goal is to make the ride as smooth as possible.

## Company Contribution License Agreement

For us to accept your Pull Request, we need to ask you to agree to the following Contribution License Agreement:

In order to clarify the intellectual property license granted with Contributions from any person or entity, Blockchains, LLC (**“Company”**) must have a Contributor License Agreement (**“CLA”**) on file that has been signed by each Contributor, indicating agreement to the license terms below. This license is for Your protection as a Contributor as well as the protection of Company and its users; it does not change Your rights to use Your own Contributions for any other purpose.

This CLA allows either an individual or an entity (the “Corporation”) to submit Contributions to Company, to authorize Contributions submitted by its employees or agents to Company (in the case of a Corporation), and to grant copyright and patent licenses thereto.

If You have not already done so, please complete and sign, then scan and email a PDF file of this CLA to [email protected]. Please read this document carefully before signing and keep a copy for your records.

Name of Individual or Corporation:__________________________________________

Mailing address:________________________________________________________

Country:_______________________________________________________________

Telephone:_____________________________________________________________

E-Mail:________________________________________________________________

You accept and agree to the following terms and conditions for Your present and future Contributions submitted to Company. Except for the license granted herein to Company and recipients of software distributed by Company, You reserve all right, title, and interest in and to Your Contributions.

1. Definitions.
**“You”** (or **“Your”**) shall mean you as an individual (if you are signing this CLA on your own behalf) or the Corporation (if the person signing this CLA is acting on behalf of the Corporation) that is making this CLA with Company. For legal entities, the entity making a Contribution and all other entities that control, are controlled by, or are under common control with that entity are considered to be a single Contributor and this CLA shall apply to Contributions by all such entities. For the purposes of this definition, "control" means (i) the power, direct or indirect, to cause the direction or management of such entity, whether by contract or otherwise, or (ii) ownership of fifty percent (50%) or more of the outstanding shares, or (iii) beneficial ownership of such entity.
“Contribution” shall mean the code, documentation or other original work of authorship, including any modifications or additions to an existing work, that is intentionally submitted by You to Company for inclusion in, or documentation of, any of the products owned or managed by Company (the “Work”). For the purposes of this definition, “submitted” means any form of electronic, verbal, or written communication sent to Company or its representatives, including but not limited to communication on electronic mailing lists, source code control systems, and issue tracking systems that are managed by, or on behalf of, Company for the purpose of discussing and improving the Work, but excluding any communication that is conspicuously marked or otherwise designated in writing by You as “Not a Contribution.”

2. Grant of Copyright License. Subject to the terms and conditions of this CLA, You hereby grant to Company and to recipients of software distributed by or on behalf of Company a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable copyright license to reproduce, prepare derivative works of, publicly display, publicly perform, sublicense, and distribute Your Contributions and such derivative works.

3. Grant of Patent License. Subject to the terms and conditions of this CLA, You hereby grant to Company and to recipients of software distributed by or on behalf of Company a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable (except as stated in this section) patent license to make, have made, use, offer to sell, sell, import, and otherwise transfer the Work, where such license applies only to those patent claims licensable by You that are necessarily infringed by Your Contribution(s) alone or by combination of Your Contribution(s) with the Work to which such Contribution(s) was submitted. If any person or entity institutes patent litigation against You or any other person or entity (including a cross-claim or counterclaim in a lawsuit) alleging that Your Contribution, or the Work to which You have contributed, constitutes direct or indirect patent infringement, then any patent licenses granted to that person or entity under this CLA for that Contribution or Work shall terminate as of the date such litigation is filed.

4. You represent that You have sufficient rights and are legally entitled to grant the above licenses with respect to each Contribution. If this CLA is being made on behalf of the Corporation, the individual signing this CLA represents that he or she is authorized to do so on behalf of the Corporation to enter into this CLA, and the Corporation represents further that each employee or agent of the Corporation designated by it is authorized to submit Contributions on behalf of the Corporation. If You are making the Contribution as an individual, and if Your present or past employer(s) or other entities for whom you have performed work has rights to intellectual property that You create that includes Your Contributions, You represent that You have received permission to make Contributions on behalf of that employer or such other entity, that Your employer or such other entity has waived such rights for Your Contributions to Company, or that Your employer or such other entity has executed a separate CLA with Company.

5. You represent that each of Your Contributions is Your original creation (see section 8 for submissions that are not Your original creation).

6. Based on the grant of the rights in sections 2 and 3, You acknowledge and agree that we may license Your Contributions under any license, including copyleft, permissive, commercial, or proprietary license.

7. You are not expected to provide support for Your Contributions, except to the extent You desire to provide support. You may provide support for free, for a fee, or not at all. Unless required by applicable law or agreed to in writing, You provide Your Contributions on an “AS IS” BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied, including, without limitation, any warranties or conditions of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A PARTICULAR PURPOSE.

8. Should You wish to submit work that is not Your original creation, You may submit it to Company separately from any Contribution, identifying the complete details of its source and of any license or other restriction (including, but not limited to, related patents, trademarks, and license agreements) of which You are personally aware, and conspicuously marking the work as "Submitted on behalf of a third-party: [named here]".

9. You agree to notify Company of any facts or circumstances of which You become aware that would make these representations inaccurate in any respect.

10. This CLA and any action related thereto will be governed by the laws of England without regard to its conflict of laws provisions. Exclusive jurisdiction and venue for actions related to this CLA will be a court of competent jurisdiction in London, England, and both parties consent to the jurisdiction of such courts with respect to any such actions. If this CLA is modified or updated by Company, Company will notify You of such updates on Company GitHub portal or will notify You via Your registered email address or via Your GitHub account (if applicable). If You do not reject the update and send Your rejection to Company within five (5) business days after Company notifies You of the change to the CLA then You will be deemed to have accepted the changed terms to the CLA.



Thanks,

Your Incubed Team
Loading