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

Upstream #1

Merged
merged 567 commits into from
Jan 24, 2020
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
567 commits
Select commit Hold shift + click to select a range
db67055
permissions: Documentation update
vsmk98 May 14, 2019
d60bb02
permissions: documentation update
vsmk98 May 14, 2019
7122a4e
Update mkdocs.yml
Krish1979 May 14, 2019
b4756e5
permission: Reverted privateAbigen related changes as separate PR is …
vsmk98 May 14, 2019
0f63bb1
Merge remote-tracking branch 'qeng/feature/permissioning-1.8.18-subor…
vsmk98 May 15, 2019
c5a9a01
permission: fix unit test
May 14, 2019
32e5f8e
params: customize max code size for quorum
May 15, 2019
e5b14b0
permission: code clean up. removal of unnecessary code.
vsmk98 May 15, 2019
045d936
permission: Code and documentation clean up
vsmk98 May 15, 2019
e47629d
permission: code change based on review feedback
vsmk98 May 15, 2019
06de20b
Update Permissioning apis.md
Krish1979 May 15, 2019
479a047
Update Permissioning apis.md
Krish1979 May 15, 2019
1079e3a
Minor styling fixes for documentation including code highlights and r…
namtruong May 15, 2019
446c89d
Update Usage.md
Krish1979 May 15, 2019
b6f6dec
Update Usage.md
Krish1979 May 15, 2019
a96dbf7
Minor styling fixes for documentation including code highlights and r…
namtruong May 15, 2019
5d08369
Merge branch 'feature/permissioning-1.8.18-suborgs-docs' of https://g…
namtruong May 15, 2019
28dddf4
Fixing formatting issues in Usage docs, and making minor grammatical …
SatpalSandhu61 May 15, 2019
bd7a99a
Merge pull request #7 from QuorumEngineering/feature/permissioning-1.…
vsmk98 May 16, 2019
1bc8c82
permission: documentation update
vsmk98 May 16, 2019
df93df9
Update Getting-Started-From-Scratch.md
Krish1979 May 16, 2019
eef5f3c
Update Getting-Started-From-Scratch.md
Krish1979 May 16, 2019
e42609d
Update Getting-Started-From-Scratch.md
Krish1979 May 16, 2019
753cd95
Update Getting-Started-From-Scratch.md
Krish1979 May 16, 2019
f0f0d96
Update Getting-Started-From-Scratch.md
Krish1979 May 16, 2019
eb0d024
permission: documentation update
vsmk98 May 16, 2019
14d7e69
Merge remote-tracking branch 'remotes/origin/feature/permissioning-1.…
vsmk98 May 16, 2019
0cd8c89
permission: code clean up based on review comments
vsmk98 May 17, 2019
dff3a83
permission: refactored executePermAction function
vsmk98 May 18, 2019
bc204f1
run goimports
trung May 20, 2019
33ea926
encapsulated calculate gas limit logic
trung May 20, 2019
12ffa7b
merged with upstream
trung May 20, 2019
64c20b3
cross reference MinerGasCeil
trung May 20, 2019
0007a10
Merge branch 'master' into fix/raft-calcgaslimit
trung May 20, 2019
c8d9ed1
ignore swarm package when running tests for PR
trung May 20, 2019
82b1649
Merge branch 'master' into ignore-swarm-tests
trung May 20, 2019
96f1e0a
permission: fix for sporadic - "failed to execute permissions action:…
vsmk98 May 21, 2019
5412142
Merge remote-tracking branch 'origin/fix/raft-calcgaslimit' into fix/…
May 21, 2019
d484e46
Merge branch 'master' into ignore-swarm-tests
trung May 21, 2019
7504dcf
Merge pull request #721 from trung/ignore-swarm-tests
jpmsam May 21, 2019
5de5126
Merge branch 'master' into fix/raft-calcgaslimit
jpmsam May 21, 2019
c46d47a
Merge branch 'master' into bugfix/personal_sendTransaction
jpmsam May 21, 2019
2c9811f
Merge pull request #679 from jpmorganchase/bugfix/personal_sendTransa…
jpmsam May 21, 2019
d31a747
permission: documentation update
vsmk98 May 22, 2019
57c7b2c
permission: added check to ensure that network admin org cannot be de…
vsmk98 May 22, 2019
321f7b2
Merge branch 'master' into feature/permissioning-1.8.18-suborgs-docs
jpmsam May 22, 2019
2e5da25
some minor typos and reformatting
trung May 22, 2019
febbe84
permission: changes as per code review comments
vsmk98 May 23, 2019
2681a23
Merge remote-tracking branch 'remotes/origin/feature/permissioning-1.…
vsmk98 May 23, 2019
d9be29f
permission: updating api documentation
vsmk98 May 23, 2019
567ec19
permission: updating api documentation
vsmk98 May 23, 2019
b9a1b67
permission: updating api documentation
vsmk98 May 23, 2019
b6d2742
permission: updating api documentation
vsmk98 May 23, 2019
7744425
permission: updating api documentation
vsmk98 May 23, 2019
7511778
Merge branch 'master' into fix/raft-calcgaslimit
jpmsam May 23, 2019
abac88e
Add logo favicon and other minor doc fixes/changes: (#723)
chris-j-h May 23, 2019
c7827f2
permission: updating api documentation
vsmk98 May 24, 2019
d1475ee
Adding signer tests for EIP155, Homestead and private tx. (#682)
libby May 24, 2019
43806e1
Adding Quorum compatibility table to FAQ (#726)
fixanoid May 29, 2019
1632f12
Merge remote-tracking branch 'origin/fix/raft-calcgaslimit' into fix/…
May 31, 2019
10e01f4
Merge remote-tracking branch 'remotes/origin/master' into fix/raft-ca…
May 31, 2019
b6f4529
permission: Code changes as per review comments
vsmk98 May 31, 2019
bc91ea0
permission: Code changes as per review comments
vsmk98 May 31, 2019
1c07c0c
Merge pull request #680 from jpmorganchase/fix/raft-calcgaslimit
jpmsam May 31, 2019
44089d1
permission: Standardising the rpc response object in line with JSON R…
vsmk98 Jun 3, 2019
9632606
permission: moved the contracts addresses to init of PermissionsImple…
vsmk98 Jun 3, 2019
a5a51d1
permission: Added setMigrationPolicy to implementation to support pol…
vsmk98 Jun 3, 2019
bb88608
updated broken links (#728)
trung Jun 4, 2019
ec5bcc9
Update URL for Quorum Blockchain explorer by Web3 Labs
conor10 Jun 5, 2019
731d186
Merge pull request #731 from conor10/master
jpmsam Jun 6, 2019
8c33f25
permission: moved startQuorumService from main.go to permission.go
vsmk98 Jun 7, 2019
175fffb
Docs updates (#735)
Krish1979 Jun 10, 2019
5a80e7a
added how-to-contribute (#736)
trung Jun 10, 2019
bacd5dc
non-party must refund gas for private transactions
trung Jun 12, 2019
74337c7
added unit tests and comments
trung Jun 13, 2019
53105b1
Merge pull request #739 from trung/non-party-refund-gas
jpmsam Jun 14, 2019
90bbfb1
Quorum Security Framework (#738)
cucrisis Jun 17, 2019
548f65e
Updating packages -- IGNORE WHEN MERGING UPSTREAM GETH (#743)
fixanoid Jun 17, 2019
20fd435
Typo
fixanoid Jun 17, 2019
d948fe0
Removing contract code type ref in security docs
fixanoid Jun 19, 2019
30d4d72
patch version update
jpmsam Jun 19, 2019
d10680f
Fixed broken links in README (#746)
MatusKysel Jun 19, 2019
5e9ff6d
Updating links
fixanoid Jul 1, 2019
16bfe64
rpc: increase server buffer size to 128kb
vdamle Mar 20, 2019
e2c1289
raft: set geth's gcmode=archive by default
May 21, 2019
4268ec0
code improvement to set trieWriteCacheDisabled flag
Jul 5, 2019
6d8f451
Merge remote-tracking branch 'remotes/quoeng/feature/permissioning-1.…
Jul 8, 2019
d7cd5a3
Merge remote-tracking branch 'remotes/quoeng/feature/permissioning-1.…
Jul 8, 2019
d84c73e
remove debug message
Jul 9, 2019
38dcf7e
remove unused variable
Jul 9, 2019
389c07f
update permission bind code with latest
Jul 9, 2019
a3ee9a6
update permission abi and contract with latest
Jul 9, 2019
e1cc8a8
permission: return when contract watch channels are closed
Jul 9, 2019
2c22445
permission: fix printing log warn
Jul 9, 2019
7507bc1
Detail getting started from scratch with step by step instructions (#…
Krish1979 Jul 9, 2019
4092b7d
permissions: change to replace custodian with guardian
vsmk98 Jul 10, 2019
237a2a6
permissions: renamed custodian to guardian.
vsmk98 Jul 10, 2019
0b12c42
update security framework documentation (#774)
trung Jul 10, 2019
e0564f7
Adding QuorumPrivateTxSigner for signing and recovering private txs. …
libby Jul 11, 2019
60eaf20
Security issues reporting
cucrisis Jul 12, 2019
5abf2b3
permissions: documentation changes based on review feedback
vsmk98 Jul 17, 2019
9c0195f
Restructure and reorder Getting Started docs (#777)
chris-j-h Jul 17, 2019
a9f96e0
Bugfix/geth console displays incorrect block timestamp (#762)
SatpalSandhu61 Jul 17, 2019
f2055c0
Set tcp port of p2p node by raft peer correctly. (#775)
henryfour Jul 18, 2019
bc90e6f
permissions: changes as per security review feedback.
vsmk98 Jul 19, 2019
34957af
permissions: changes to incorporate security review feedback
vsmk98 Jul 19, 2019
25dcf47
permissions: added proper error messages to silently failing require …
vsmk98 Jul 22, 2019
9799d79
permissions: changed all uint variables definition to uint256
vsmk98 Jul 22, 2019
86c9be5
permissions: fixed testing issues for sub org management
vsmk98 Jul 23, 2019
fc441ec
Use first account instead of coinbase in quorum ex docs (#783)
chris-j-h Jul 23, 2019
53d580f
permissions: converted permissions to a service registered in line w…
vsmk98 Jul 24, 2019
acb00b6
Fixed typos (#781)
muesli Jul 25, 2019
21780cf
permission: added safemath checks for map index access. updated docu…
vsmk98 Jul 30, 2019
97b59df
internal/ethapi: ask transaction pool for pending nonce (#784)
amalrajmani Jul 30, 2019
bce6c15
permissions : reverted the require check in getIndex functions
vsmk98 Aug 1, 2019
b74fc4d
permissions: added functions for blacklisted node recovery.
vsmk98 Aug 1, 2019
755b586
permissions: added function to approve recovery of blacklisted node. …
vsmk98 Aug 1, 2019
56c2717
permissions: added validations for node recovery initiation and appr…
vsmk98 Aug 1, 2019
b966118
permissions: added blacklisted account recovery and approval.
vsmk98 Aug 2, 2019
5cfc1a0
permissions: code clean up and removal of hard coded values
vsmk98 Aug 2, 2019
baa7efc
max code size option in genesis config (#786)
brajeshawasthi Aug 2, 2019
2e63f9c
Merge remote-tracking branch 'remotes/upstream/master' into feature/p…
vsmk98 Aug 6, 2019
512996e
permission: registering permission service before raft service regist…
vsmk98 Aug 6, 2019
aedd987
permission: permissions api documentation updated for blacklisted acc…
vsmk98 Aug 6, 2019
b204d17
Updating running notes (#794)
fixanoid Aug 6, 2019
cfaa9d2
Cakeshop documentation inclusion (#773)
Krish1979 Aug 6, 2019
51252af
permission: added checks to ensure that updateAccountStatus function …
vsmk98 Aug 7, 2019
4c74f47
Update the key usage on Tessera transaction flow (#782)
Krish1979 Aug 7, 2019
c894c2d
v2.2.5
jpmsam Aug 8, 2019
7e87e40
VM read-only mode: check `operation.writes` not `op.isMutating`.
libby Aug 9, 2019
e9a05f6
permission: updated documentation for migration scenarios
vsmk98 Aug 13, 2019
6a3a690
Tessera 0.10.0 - Documentation update (#801)
Krish1979 Aug 13, 2019
b53841d
permission: changed the signature of IsNodePermissioned to avoid pass…
vsmk98 Aug 14, 2019
01f4e9b
permission: node validation changed from string compare to enode id m…
vsmk98 Aug 14, 2019
1f0da48
permission: changed to pass the exact error message based on checkAcc…
vsmk98 Aug 14, 2019
1d8954c
forceSnapshot on ConfChangeAddNode for single node scenario, fix issu…
zzy96 Aug 14, 2019
d3c2c59
permission: simplify permission checking logic
trung Aug 14, 2019
b4d7b1e
capture error in CLI layer
trung Aug 14, 2019
0c6084c
permission: update documentation
trung Aug 14, 2019
26ec029
permission: skeleton for writing unit tests
trung Aug 14, 2019
91d85aa
permission: updated comments
vsmk98 Aug 15, 2019
f97e792
Merge remote-tracking branch 'origin/feature/permissioning-1.8.18-sub…
vsmk98 Aug 15, 2019
8212be3
Merge branch 'feature/permissioning-1.8.18-suborgs-docs' into permiss…
trung Aug 15, 2019
cfd7e95
permission: minor changes to disconnet node while updating permission…
vsmk98 Aug 16, 2019
4b45dd2
Minor fixes (#803)
zzy96 Aug 17, 2019
973cacc
permission: added go tests for permissions cache management
vsmk98 Aug 19, 2019
2b70d2b
permissions: add unit tests
trung Aug 19, 2019
2fc26b7
permission: update with latest
trung Aug 19, 2019
a833142
Merge branch 'master' into raft-issue-795-fix
zzy96 Aug 20, 2019
8a088de
permission: [WIP] start permission service
trung Aug 20, 2019
fd9d532
permission: use events to bring up permission service asynchronously
trung Aug 21, 2019
2f0824f
permission: fix typo
trung Aug 22, 2019
e450ca3
Merge branch 'permissioning-startup' into permissioning-testing
trung Aug 22, 2019
c824ab6
Fix broken links in Getting Started docs
chris-j-h Aug 23, 2019
50429f8
Merge pull request #808 from jpmorganchase/docs-install-link-fix
Krish1979 Aug 23, 2019
37cbb62
permission: add unit tests
trung Aug 23, 2019
23be20b
permission: let nonce to be decided by the binding
trung Aug 26, 2019
7b987cd
permission: let nonce be decided in the binding
trung Aug 26, 2019
3de8a26
permission: add unit test for network initialization
trung Aug 26, 2019
f0bc9df
Merge remote-tracking branch 'remotes/qeng/permissioning-startup' int…
vsmk98 Aug 27, 2019
0dffa2e
permission: declare constants for arbitrary values in unit tests
trung Aug 27, 2019
f6cde21
permission: fix unit tests
trung Aug 27, 2019
00bbf49
Reorganize raft faq (#804)
SatpalSandhu61 Aug 27, 2019
f8c925c
Fix incorrectly displayed CLI flags in geth usage (#799)
chris-j-h Aug 27, 2019
664c2ab
p2p/enode, p2p/discv5: fix URL parsing test for go 1.11.13 (#810)
trung Aug 27, 2019
ee0ca97
Core: Added key store and api test cases
vsmk98 Aug 29, 2019
82fd20b
permission: unit tests for permission apis
vsmk98 Aug 30, 2019
a5c8e7a
permission: minor fixes and update with master
trung Sep 4, 2019
d0c31c2
permission: refactoring the go unit tests
vsmk98 Sep 5, 2019
b21606f
Merge remote-tracking branch 'remotes/origin/feature/permissioning-1.…
vsmk98 Sep 5, 2019
56dbdc2
permission: separate multiple unit tests and run goimports
trung Sep 5, 2019
77731de
Merge branch 'master' into raft-issue-795-fix
zzy96 Sep 6, 2019
dccc097
permission: corrected documentation structure
vsmk98 Sep 6, 2019
0f0d353
permission: corrected documentation structure
vsmk98 Sep 6, 2019
50f5852
permission: removed unnecessary mux from permissions_cache.go, added …
vsmk98 Sep 9, 2019
40342a1
permission: minor fixes
trung Sep 9, 2019
712f490
permission: refactor hex node id to avoid many changes
trung Sep 9, 2019
58fc5cd
Merge pull request #815 from jpmorganchase/raft-issue-795-fix
zzy96 Sep 10, 2019
26d3815
Updating examples with broader samples (#816)
fixanoid Sep 11, 2019
fa74bec
Merge remote-tracking branch 'remotes/qeng/permissioning-enodeid' int…
vsmk98 Sep 12, 2019
40fd520
merged with master
trung Sep 12, 2019
d140c2a
Change "block in the future" message to Info instead of Warn (#821)
SatpalSandhu61 Sep 20, 2019
7653213
Remove unused function
prd-fox Sep 23, 2019
0605495
permission: corrected typo on subOrgBreadth and Deapth variable names
vsmk98 Sep 24, 2019
afb61f0
permission: removed unused code
vsmk98 Sep 24, 2019
a1490d7
Merge pull request #823 from prd-fox/remove-unused-function
jpmsam Sep 25, 2019
4280bda
permission: Enabled QIP714Block to allow staggered migration of netwo…
vsmk98 Sep 26, 2019
532ba24
permission: Added qip714Block check to GetAccountAccess. Corrected co…
vsmk98 Sep 27, 2019
3242dc8
permission: Fixed broken unit tests for permissions cache
vsmk98 Sep 27, 2019
3f88b21
permission: increased the LRU cache size for permissions
vsmk98 Sep 30, 2019
ebaf137
permission: initial node list population from static-nodes.json
vsmk98 Sep 30, 2019
e127852
Chain stalls while scaling out from 1 to 4 nodes, changing quorum siz…
panghalamit Sep 30, 2019
26bab38
Quorum private transaction support for Abigen (#819)
zzy96 Oct 1, 2019
d130ff6
Docs: Raft and Tessera key config update (#832)
chris-j-h Oct 1, 2019
cf6e64b
permission: updated map limits for different caches
vsmk98 Oct 1, 2019
2dd2a28
Make sealing synchronous
prd-fox Sep 18, 2019
0c2bada
Merge pull request #833 from jpmorganchase/bugfix/make-sealing-synchr…
jpmsam Oct 3, 2019
1db7d6a
Merge remote-tracking branch 'remotes/origin/master' into permissions…
vsmk98 Oct 4, 2019
890365d
Merge pull request #715 from jpmorganchase/feature/permissioning-1.8.…
jpmsam Oct 4, 2019
99f7fd6
Quorum v2.3.0
jpmsam Oct 4, 2019
7d773ae
Add documentation on IBFT parameters (#835)
prd-fox Oct 14, 2019
500b5a5
rpc: raise HTTP/WebSocket request size limit to 5MB
antonydenyer Oct 16, 2019
4cb5cfe
Merge pull request #855 from antonydenyer/master
jpmsam Oct 16, 2019
a3840c2
Check if message payload is signed by the message sender (#853)
jbhurat Oct 16, 2019
659e767
Add CORS configuration parameters
nicolae-leonte-go Oct 17, 2019
9b1514f
Merge pull request #858 from jpmorganchase/feature/addCORSDocs
jpmsam Oct 17, 2019
a15cced
Update web3j-quorum repo reference. (#859)
antonydenyer Oct 18, 2019
1dcee85
SignTransaction APIs: Set tx as private before signing (#864)
chris-j-h Oct 23, 2019
66d91d0
Add ability to see this nodes public address (that is used for signin…
prd-fox Oct 29, 2019
118ccc6
Moved event subscription out of go func to avoid race condition where…
vsmk98 Nov 4, 2019
b1f71b3
Print TransactionSizeLimit and MaxCodeSize genesis config (#872)
vdamle Nov 5, 2019
e1e3e4a
Optimize travis and fix flaky tests (#873)
jbhurat Nov 6, 2019
356cf0d
fix debug.traceTransaction VM in read-only mode error for public tx (…
zzy96 Nov 7, 2019
bdbeacd
Add check at startup to ensure transaction manager mode is specified.…
prd-fox Nov 7, 2019
f809144
Fix for overflow in parent tracking (cherrypicking go-ethereum#18165 …
SatpalSandhu61 Nov 13, 2019
5cb92ce
Fix for Raft stability (#886)
vsmk98 Nov 21, 2019
f8238ff
Updates Cakeshop attached mode instructions (#893)
bmcd87 Nov 26, 2019
2c7fc6c
Fixed typo (#894)
bmcd87 Nov 26, 2019
e3089e3
DNS support for static nodes (#885)
prd-fox Nov 29, 2019
0c43425
restrict removed raft node in p2p connection (#884)
zzy96 Nov 29, 2019
1c6fdc0
Disabling swarm tests (#896)
jbhurat Nov 29, 2019
b7edc0b
Fix premature abort during blocks processing for raft (#881)
zzy96 Nov 29, 2019
ef99f6d
Fix raft applied index out of range (#880)
zzy96 Dec 2, 2019
882a303
Allow raft to recover state after non-graceful shutdown in non-archiv…
vsmk98 Dec 2, 2019
6d25447
Update file descriptor limits for macOS (#892)
prd-fox Dec 3, 2019
151cf6e
p2p: fix connection leakage when peer is not authorized to connect (#…
trung Dec 3, 2019
dfd93ff
Quorum raft upgrade v3.3.13 (#887)
vsmk98 Dec 4, 2019
0e62a4c
Setting maxRequestContentLength to 5mb (#898)
jbhurat Dec 4, 2019
c278bc4
Automate release (#899)
trung Dec 4, 2019
20c95e5
Quorum v2.4.0
jpmsam Dec 4, 2019
d767a2e
Update pymdown version (#901)
Krish1979 Dec 5, 2019
d9ded9d
pin mkdocs-material version to fix the missing search bar (#905)
trung Dec 5, 2019
89067fa
raft: correct the setup sequence for applied index related test (#900)
trung Dec 5, 2019
cd4a299
readme: add badges for Docker Hub
trung Dec 9, 2019
dd10cda
Merge pull request #907 from trung/add-docker-badges
fixanoid Dec 9, 2019
877f852
Update documentation with latest changes on Tessera APIs (#906)
namtruong Dec 9, 2019
b6384bd
Adds nav entry for Remix Plugin
bmcd87 Dec 9, 2019
16c9ac1
Adds Remix Plugin section with Overview and Getting Started
bmcd Dec 10, 2019
b2cff9c
Removes .swp file
bmcd Dec 10, 2019
85e2257
Update DNS document for raft (#912)
prd-fox Dec 13, 2019
d82821a
Merge branch 'master' into patch-1
bmcd87 Dec 13, 2019
b1f3b96
Tessera release documentation update. (#914)
Krish1979 Dec 17, 2019
ae31b09
Merge branch 'master' into patch-1
bmcd87 Dec 20, 2019
51e1f63
Merge pull request #908 from bmcd87/patch-1
fixanoid Dec 20, 2019
3d91a6c
Add Quorum eth namespace RPC methods to console (#922)
prd-fox Jan 8, 2020
a603e74
Rename the transaction manager package to make it more neutral (#895)
prd-fox Jan 8, 2020
ebd3198
remove duplicated flag group: ETHASH (#924)
zouguangxian Jan 13, 2020
7f37e84
Fixes markdown bullet formatting for cakeshop getting started
bmcd Jan 15, 2020
076213a
Merge pull request #928 from bmcd87/FixCakeshopFormatting
fixanoid Jan 15, 2020
2cc7f96
Create tutorial for adding Quorum nodes (#925)
prd-fox Jan 23, 2020
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
3 changes: 3 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -46,3 +46,6 @@ profile.cov
/dashboard/assets/package-lock.json

**/yarn-error.log

# QUORUM
generated-release-notes.md
21 changes: 9 additions & 12 deletions .travis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -74,20 +74,18 @@ matrix:
os: linux
dist: xenial
script:
- sudo modprobe fuse
- sudo chmod 666 /dev/fuse
- sudo chown root:$USER /etc/fuse.conf
- go run build/ci.go install
- go run build/ci.go test -coverage $TEST_PACKAGES
- |
sudo modprobe fuse
sudo chmod 666 /dev/fuse
sudo chown root:$USER /etc/fuse.conf
go run build/ci.go install
QUORUM_IGNORE_TEST_PACKAGES=github.com/ethereum/go-ethereum/swarm,github.com/ethereum/go-ethereum/cmd/swarm go run build/ci.go test -coverage $TEST_PACKAGES
- if: tag IS blank
os: osx
osx_image: xcode9.2 # so we don't have to deal with Kernel Extension Consent UI which is never possible in CI
script:
- brew update
- brew install caskroom/cask/brew-cask
- brew cask install osxfuse
- go run build/ci.go install
- go run build/ci.go test -coverage $TEST_PACKAGES
- |
go run build/ci.go install
QUORUM_IGNORE_TEST_PACKAGES=github.com/ethereum/go-ethereum/swarm,github.com/ethereum/go-ethereum/cmd/swarm go run build/ci.go test -coverage $TEST_PACKAGES

- if: tag IS present
os: linux
Expand All @@ -101,7 +99,6 @@ matrix:

- if: tag IS present
os: osx
osx_image: xcode9.2
env: OUTPUT_FILE=geth_${TRAVIS_TAG}_darwin_amd64.tar.gz
script:
- build/env.sh go run build/ci.go install ./cmd/geth
Expand Down
41 changes: 41 additions & 0 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -155,3 +155,44 @@ geth-windows-amd64:
build/env.sh go run build/ci.go xgo -- --go=$(GO) --targets=windows/amd64 -v ./cmd/geth
@echo "Windows amd64 cross compilation done:"
@ls -ld $(GOBIN)/geth-windows-* | grep amd64

# QUORUM - BEGIN
RELEASE_NOTES_FILE := generated-release-notes.md
LAST_RELEASE_VERSION := $(shell git describe --tags --abbrev=0 @^)
REQUIRED_ENV_VARS := QUORUM_RELEASE BINTRAY_USER BINTRAY_API_KEY GITHUB_TOKEN
release-prepare: release-tools
@[ "${QUORUM_RELEASE}" ] || (echo "Please provide QUORUM_RELEASE env variable" ; exit 1)
@rm -f $(RELEASE_NOTES_FILE)
@echo "Last release: $(LAST_RELEASE_VERSION)"
@echo "This release: ${QUORUM_RELEASE}"
@echo "${QUORUM_RELEASE}\n\n" > $(RELEASE_NOTES_FILE)
@git log --pretty=format:%s $(LAST_RELEASE_VERSION)..@ >> $(RELEASE_NOTES_FILE)
@echo "$(RELEASE_NOTES_FILE) has been created"

release: release-tools check-release-env
@jfrog bt version-show quorumengineering/quorum/geth/${QUORUM_RELEASE} --key ${BINTRAY_API_KEY} --user ${BINTRAY_USER}
@echo "\n\n| Filename | SHA256 Hash |" >> $(RELEASE_NOTES_FILE)
@echo "|:---------|:------------|" >> $(RELEASE_NOTES_FILE)
@curl -s -u ${BINTRAY_USER}:${BINTRAY_API_KEY} https://api.bintray.com/packages/quorumengineering/quorum/geth/versions/${QUORUM_RELEASE}/files \
| jq '.[] | select(.name | endswith(".asc") | not) | "|[\(.name)](https://bintray.com/quorumengineering/quorum/download_file?file_path=\(.path))|`\(.sha256)`|"' -r \
>> $(RELEASE_NOTES_FILE)
@hub release create -d -F $(RELEASE_NOTES_FILE) ${QUORUM_RELEASE}

# make sure all API Keys are set
check-release-env: $(REQUIRED_ENV_VARS)
@[ -f "$(RELEASE_NOTES_FILE)" ] || (echo "Please run 'make release-prepare' and edit the release notes"; exit 1)

$(REQUIRED_ENV_VARS):
@[ "${$@}" ] || (echo "Please provide $@ env variable" ; exit 1)

release-tools:
ifeq (, $(shell which hub))
@echo "Please install Github CLI from https://hub.github.com"
endif
ifeq (, $(shell which jfrog))
@echo "Please install JFrog CLI from https://jfrog.com/getcli"
endif
ifeq (, $(shell which jq))
@echo "Please install jq from https://stedolan.github.io/jq/download"
endif
# QUORUM - END
58 changes: 43 additions & 15 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,8 +1,11 @@
# <img src="https://raw.githubusercontent.com/jpmorganchase/quorum/master/logo.png" width="100" height="100"/>
# <img src="https://raw.githubusercontent.com/jpmorganchase/quorum/master/logo.png" width="200" height="200"/>

<a href="https://clh7rniov2.execute-api.us-east-1.amazonaws.com/Express/" target="_blank" rel="noopener"><img title="Quorum Slack" src="https://clh7rniov2.execute-api.us-east-1.amazonaws.com/Express/badge.svg" alt="Quorum Slack" /></a>
<a href="https://bit.ly/quorum-slack" target="_blank" rel="noopener"><img title="Quorum Slack" src="https://clh7rniov2.execute-api.us-east-1.amazonaws.com/Express/badge.svg" alt="Quorum Slack" /></a>
[![Build Status](https://travis-ci.org/jpmorganchase/quorum.svg?branch=master)](https://travis-ci.org/jpmorganchase/quorum)
[![Docker Cloud Build Status](https://img.shields.io/docker/cloud/build/quorumengineering/quorum)](https://hub.docker.com/r/quorumengineering/quorum/builds)
[![Documentation Status](https://readthedocs.org/projects/goquorum/badge/?version=latest)](http://docs.goquorum.com/en/latest/?badge=latest)
[![Download](https://api.bintray.com/packages/quorumengineering/quorum/geth/images/download.svg)](https://bintray.com/quorumengineering/quorum/geth/_latestVersion)
[![Docker Pulls](https://img.shields.io/docker/pulls/quorumengineering/quorum)](https://hub.docker.com/r/quorumengineering/quorum)

Quorum is an Ethereum-based distributed ledger protocol with transaction/contract privacy and new consensus mechanisms.

Expand All @@ -21,13 +24,13 @@ Key enhancements over go-ethereum:

![Quorum Tessera Privacy Flow](https://raw.githubusercontent.com/jpmorganchase/quorum-docs/master/images/QuorumTransactionProcessing.JPG)

The above diagram is a high-level overview of the privacy architecture used by Quorum. For more in-depth discussion of the components, refer to the [wiki](https://github.com/jpmorganchase/quorum/wiki) pages.
The above diagram is a high-level overview of the privacy architecture used by Quorum. For more in-depth discussion of the components, refer to the [documentation site](https://docs.goquorum.com).

## Quickstart
The quickest way to get started with Quorum is by following instructions in the [Quorum Examples](https://github.com/jpmorganchase/quorum-examples) repository. This allows you to quickly create a network of Quorum nodes, and includes a step-by-step demonstration of the privacy features of Quorum.

## Further Reading
Further documentation can be found in the [docs](docs/) folder and on the [wiki](https://github.com/jpmorganchase/quorum/wiki).
Further documentation can be found in the [docs](docs/) folder and on the [documentation site](https://docs.goquorum.com).

## Official Docker Containers
The official docker containers can be found under https://hub.docker.com/u/quorumengineering/
Expand All @@ -36,38 +39,63 @@ The official docker containers can be found under https://hub.docker.com/u/quoru
## See also

* [Quorum](https://github.com/jpmorganchase/quorum): this repository
* [Quorum Wiki](https://github.com/jpmorganchase/quorum/wiki)
* [Quorum Documentation](https://docs.goquorum.com)
* [quorum-examples](https://github.com/jpmorganchase/quorum-examples): Quorum demonstration examples
* [Quorum Community Slack Inviter](https://clh7rniov2.execute-api.us-east-1.amazonaws.com/Express/): Quorum Slack community entry point
* [Quorum Community Slack Inviter](https://bit.ly/quorum-slack): Quorum Slack community entry point
* Quorum Transaction Managers
* [Constellation](https://github.com/jpmorganchase/constellation): Haskell implementation of peer-to-peer encrypted message exchange for transaction privacy
* [Tessera](https://github.com/jpmorganchase/tessera): Java implementation of peer-to-peer encrypted message exchange for transaction privacy
* Quorum supported consensuses
* [Raft Consensus Documentation](docs/raft.md)
* [Istanbul BFT Consensus Documentation](https://github.com/ethereum/EIPs/issues/650): [RPC API](https://github.com/jpmorganchase/quorum/blob/master/docs/istanbul-rpc-api.md) and [technical article](https://medium.com/getamis/istanbul-bft-ibft-c2758b7fe6ff). <span style="background-color: #ffffbf">Please note</span> that updated istanbul-tools is now hosted in [this](https://github.com/jpmorganchase/istanbul-tools/) repository
* [Raft Consensus Documentation](https://docs.goquorum.com/en/latest/Consensus/raft/)
* [Istanbul BFT Consensus Documentation](https://github.com/ethereum/EIPs/issues/650): [RPC API](https://docs.goquorum.com/en/latest/Consensus/ibft/istanbul-rpc-api.md) and [technical article](https://medium.com/getamis/istanbul-bft-ibft-c2758b7fe6ff). __Please note__ that updated istanbul-tools is now hosted in [this](https://github.com/jpmorganchase/istanbul-tools/) repository
* [Clique POA Consensus Documentation](https://github.com/ethereum/EIPs/issues/225) and a [guide to setup clique json](https://modalduality.org/posts/puppeth/) with [puppeth](https://blog.ethereum.org/2017/04/14/geth-1-6-puppeth-master/)
* [ZSL](https://github.com/jpmorganchase/quorum/wiki/ZSL) wiki page and [documentation](https://github.com/jpmorganchase/zsl-q/blob/master/README.md)
* [quorum-tools](https://github.com/jpmorganchase/quorum-tools): local cluster orchestration, and integration testing tool
* Zero Knowledge on Quorum
* [ZSL](https://github.com/jpmorganchase/quorum/wiki/ZSL) wiki page and [documentation](https://github.com/jpmorganchase/zsl-q/blob/master/README.md)
* [Anonymous Zether](https://github.com/jpmorganchase/anonymous-zether) implementation
* [quorum-cloud](https://github.com/jpmorganchase/quorum-cloud): Tools to help deploy Quorum network in a cloud provider of choice
* [Cakeshop](https://github.com/jpmorganchase/cakeshop): An integrated development environment and SDK for Quorum

## Third Party Tools/Libraries

The following Quorum-related libraries/applications have been created by Third Parties and as such are not specifically endorsed by J.P. Morgan. A big thanks to the developers for improving the tooling around Quorum!

* [Quorum Blockchain Explorer](https://github.com/blk-io/blk-explorer-free) - a Blockchain Explorer for Quorum which supports viewing private transactions
* [Quorum Blockchain Explorer](https://github.com/blk-io/epirus-free) - a Blockchain Explorer for Quorum which supports viewing private transactions
* [Quorum-Genesis](https://github.com/davebryson/quorum-genesis) - A simple CL utility for Quorum to help populate the genesis file with voters and makers
* [Quorum Maker](https://github.com/synechron-finlabs/quorum-maker/) - a utility to create Quorum nodes
* [QuorumNetworkManager](https://github.com/ConsenSys/QuorumNetworkManager) - makes creating & managing Quorum networks easy
* [ERC20 REST service](https://github.com/blk-io/erc20-rest-service) - a Quorum-supported RESTful service for creating and managing ERC-20 tokens
* [Nethereum Quorum](https://github.com/Nethereum/Nethereum/tree/master/src/Nethereum.Quorum) - a .NET Quorum adapter
* [web3j-quorum](https://github.com/web3j/quorum) - an extension to the web3j Java library providing support for the Quorum API
* [web3j-quorum](https://github.com/web3j/web3j-quorum) - an extension to the web3j Java library providing support for the Quorum API
* [Apache Camel](https://github.com/apache/camel) - an Apache Camel component providing support for the Quorum API using web3j library. Here is the artcile describing how to use Apache Camel with Ethereum and Quorum https://medium.com/@bibryam/enterprise-integration-for-ethereum-fa67a1577d43


## Contributing
Quorum is built on open source and we invite you to contribute enhancements. Upon review you will be required to complete a Contributor License Agreement (CLA) before we are able to merge. If you have any questions about the contribution process, please feel free to send an email to [[email protected]](mailto:[email protected]).

## Reporting Security Bugs
Security is part of our commitment to our users. At Quorum we have a close relationship with the security community, we understand the realm, and encourage security researchers to become part of our mission of building secure reliable software. This section explains how to submit security bugs, and what to expect in return.

All security bugs in [Quorum](https://github.com/jpmorganchase/quorum) and its ecosystem ([Tessera](https://github.com/jpmorganchase/tessera), [Constellation](https://github.com/jpmorganchase/constellation), [Cakeshop](https://github.com/jpmorganchase/cakeshop), ..etc) should be reported by email to [[email protected]](mailto:[email protected]). Please use the prefix **[security]** in your subject. This email is delivered to Quorum security team. Your email will be acknowledged, and you'll receive a more detailed response to your email as soon as possible indicating the next steps in handling your report. After the initial reply to your report, the security team will endeavor to keep you informed of the progress being made towards a fix and full announcement.

If you have not received a reply to your email or you have not heard from the security team please contact any team member through quorum slack security channel. **Please note that Quorum slack channels are public discussion forum**. When escalating to this medium, please do not disclose the details of the issue. Simply state that you're trying to reach a member of the security team.

#### Responsible Disclosure Process
Quorum project uses the following responsible disclosure process:

- Once the security report is received it is assigned a primary handler. This person coordinates the fix and release process.
- The issue is confirmed and a list of affected software is determined.
- Code is audited to find any potential similar problems.
- If it is determined, in consultation with the submitter, that a CVE-ID is required, the primary handler will trigger the process.
- Fixes are applied to the public repository and a new release is issued.
- On the date that the fixes are applied, announcements are sent to Quorum-announce.
- At this point you would be able to disclose publicly your finding.

**Note:** This process can take some time. Every effort will be made to handle the security bug in as timely a manner as possible, however it's important that we follow the process described above to ensure that disclosures are handled consistently.

Thank you for your interest in contributing to Quorum!
#### Receiving Security Updates
The best way to receive security announcements is to subscribe to the Quorum-announce mailing list/channel. Any messages pertaining to a security issue will be prefixed with **[security]**.

Quorum is built on open source and we invite you to contribute enhancements. Upon review you will be required to complete a Contributor License Agreement (CLA) before we are able to merge. If you have any questions about the contribution process, please feel free to send an email to [[email protected]](mailto:[email protected]).
Comments on This Policy
If you have any suggestions to improve this policy, please send an email to [email protected] for discussion.

## License

Expand Down
18 changes: 18 additions & 0 deletions accounts/abi/bind/auth.go
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,7 @@ import (
"io"
"io/ioutil"

"github.com/ethereum/go-ethereum/accounts"
"github.com/ethereum/go-ethereum/accounts/keystore"
"github.com/ethereum/go-ethereum/common"
"github.com/ethereum/go-ethereum/core/types"
Expand Down Expand Up @@ -60,3 +61,20 @@ func NewKeyedTransactor(key *ecdsa.PrivateKey) *TransactOpts {
},
}
}

// Quorum
//
// NewWalletTransactor is a utility method to easily create a transaction signer
// from a wallet account
func NewWalletTransactor(w accounts.Wallet, from accounts.Account) *TransactOpts {
return &TransactOpts{
From: from.Address,
Signer: func(signer types.Signer, address common.Address, tx *types.Transaction) (*types.Transaction, error) {
signature, err := w.SignHash(from, signer.Hash(tx).Bytes())
if err != nil {
return nil, err
}
return tx.WithSignature(signer, signature)
},
}
}
4 changes: 3 additions & 1 deletion accounts/abi/bind/backend.go
Original file line number Diff line number Diff line change
Expand Up @@ -81,7 +81,9 @@ type ContractTransactor interface {
// for setting a reasonable default.
EstimateGas(ctx context.Context, call ethereum.CallMsg) (gas uint64, err error)
// SendTransaction injects the transaction into the pending pool for execution.
SendTransaction(ctx context.Context, tx *types.Transaction) error
SendTransaction(ctx context.Context, tx *types.Transaction, args PrivateTxArgs) error
// PreparePrivateTransaction send the private transaction to Tessera/Constellation's /storeraw API using HTTP
PreparePrivateTransaction(data []byte, privateFrom string) ([]byte, error)
}

// ContractFilterer defines the methods needed to access log events using one-off
Expand Down
23 changes: 22 additions & 1 deletion accounts/abi/bind/backends/simulated.go
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,8 @@ import (
"sync"
"time"

"github.com/ethereum/go-ethereum/eth"

"github.com/ethereum/go-ethereum"
"github.com/ethereum/go-ethereum/accounts/abi/bind"
"github.com/ethereum/go-ethereum/common"
Expand Down Expand Up @@ -81,6 +83,20 @@ func NewSimulatedBackend(alloc core.GenesisAlloc, gasLimit uint64) *SimulatedBac
return backend
}

// Quorum
//
// Create a simulated backend based on existing Ethereum service
func NewSimulatedBackendFrom(ethereum *eth.Ethereum) *SimulatedBackend {
backend := &SimulatedBackend{
database: ethereum.ChainDb(),
blockchain: ethereum.BlockChain(),
config: ethereum.ChainConfig(),
events: filters.NewEventSystem(new(event.TypeMux), &filterBackend{ethereum.ChainDb(), ethereum.BlockChain()}, false),
}
backend.rollback()
return backend
}

// Commit imports all the pending transactions as a single block and starts a
// fresh new state.
func (b *SimulatedBackend) Commit() {
Expand Down Expand Up @@ -293,7 +309,7 @@ func (b *SimulatedBackend) callContract(ctx context.Context, call ethereum.CallM

// SendTransaction updates the pending block to include the given transaction.
// It panics if the transaction is invalid.
func (b *SimulatedBackend) SendTransaction(ctx context.Context, tx *types.Transaction) error {
func (b *SimulatedBackend) SendTransaction(ctx context.Context, tx *types.Transaction, args bind.PrivateTxArgs) error {
b.mu.Lock()
defer b.mu.Unlock()

Expand All @@ -319,6 +335,11 @@ func (b *SimulatedBackend) SendTransaction(ctx context.Context, tx *types.Transa
return nil
}

// PreparePrivateTransaction dummy implementation
func (b *SimulatedBackend) PreparePrivateTransaction(data []byte, privateFrom string) ([]byte, error) {
return data, nil
}

// FilterLogs executes a log filter operation, blocking during execution and
// returning all the results in one batch.
//
Expand Down
Loading