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

[crypto] add blst source code #3851

Merged
merged 1,417 commits into from
Feb 27, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
1417 commits
Select commit Hold shift + click to select a range
dc386f0
Update README.md
durkmurder Jan 23, 2023
117f92e
tidy
jordanschalm Jan 23, 2023
5969bcf
improve coupling to NewRateLimiters func add options to configure rat…
kc1116 Jan 23, 2023
d9eb90b
use consistent method for creating temp dirs
jordanschalm Jan 23, 2023
9d4f2fa
Refactor meter/interaction limits control
pattyshack Jan 23, 2023
4863864
use consistent method for creating temp dirs
jordanschalm Jan 23, 2023
f209cfc
Update integration/testnet/network.go
jordanschalm Jan 23, 2023
ea18f7f
remove MarshalJSON/UnmarshalJSON from delta
pattyshack Jan 23, 2023
9867056
Merge #3846
bors[bot] Jan 23, 2023
ac7c299
Update integration/testnet/network.go
jordanschalm Jan 23, 2023
4808cb1
update hard-coded FVM test values
jordanschalm Jan 23, 2023
3549229
Disable limiting storage/computation during bootstrapping
janezpodhostnik Jan 23, 2023
9923bfe
wip: create one tx to rule them all
jordanschalm Jan 23, 2023
415bbca
Disable limiting storage/computation during bootstrapping
janezpodhostnik Jan 23, 2023
ac0f19c
re-enable execution weight fvm test
jordanschalm Jan 23, 2023
5c98257
Disable limiting computation as well
janezpodhostnik Jan 23, 2023
9ed85a0
Disable limiting computation as well
janezpodhostnik Jan 23, 2023
59be524
update README and clean up C directives
Jan 24, 2023
03ca889
remove unused package
Jan 24, 2023
e1794af
move cdc script file for go embed
jordanschalm Jan 24, 2023
7cdec5d
replace individual node setup tx with one
jordanschalm Jan 24, 2023
d79841e
reduce staking auction length
jordanschalm Jan 24, 2023
7d26ae9
update vn test length
jordanschalm Jan 24, 2023
b4e9b17
tidy
jordanschalm Jan 24, 2023
2c65162
add note about staking length
jordanschalm Jan 24, 2023
2b7a1fd
Apply suggestions from code review
jordanschalm Jan 24, 2023
7abfc64
add cc update script to makefil
jordanschalm Jan 24, 2023
34c86a2
remove comment of test failure
jordanschalm Jan 24, 2023
42589d2
encapsulate generation of tx arg
jordanschalm Jan 24, 2023
77ccd9c
bump version to 853bfa2807cab581a2e0302e6b8cafce1e4ed980
jordanschalm Jan 24, 2023
83cd507
move connection pruning from the mw to peer manager
kc1116 Jan 24, 2023
3093699
Merge #3847
bors[bot] Jan 24, 2023
9c61fb1
Remove Touch/Delete from view interface.
pattyshack Jan 20, 2023
a5aeb23
Merge #3842 #3845 #3848
bors[bot] Jan 24, 2023
b7ac164
bump cc version to 49c5832c09e1233eb5c1c412aa8a09c5b28b3abe
jordanschalm Jan 24, 2023
41aa5e1
test connection gater blocks connections to rate limited peers
kc1116 Jan 25, 2023
8bfd248
log rate limited peer info
kc1116 Jan 25, 2023
b78baae
Merge branch 'master' into khalil/1846-close-conn-rate-limited-peer
kc1116 Jan 25, 2023
29a798f
Update peerManager.go
kc1116 Jan 25, 2023
c200a7c
Merge branch 'khalil/1846-close-conn-rate-limited-peer' of github.com…
kc1116 Jan 25, 2023
520ed98
use fmt to return string type
kc1116 Jan 25, 2023
36c277b
refactor network.ProtocolType
kc1116 Jan 25, 2023
d51b481
remove inaccurate godoc comment
kc1116 Jan 25, 2023
fdbd9f7
collecting slashing data for unexpected codec decode messages
kc1116 Jan 25, 2023
5b8277b
bump core-contracts version
jordanschalm Jan 25, 2023
cf5ff88
rename readSubscriptionCB -> ReadSubscriptionCallBackFunction
kc1116 Jan 25, 2023
299d371
remove unused MessageValidator
kc1116 Jan 25, 2023
9386123
define message code type , use this type throughout the code base
kc1116 Jan 25, 2023
2a28965
rename iFace -> msgInterface
kc1116 Jan 25, 2023
0d1a776
Update network/validator/authorized_sender_validator.go
kc1116 Jan 25, 2023
fc22cce
Update network/validator/authorized_sender_validator.go
kc1116 Jan 25, 2023
7f48bbc
Merge branch 'khalil/1844-topic-validator-skip-decoding' of github.co…
kc1116 Jan 25, 2023
7c7928c
Update authorized_sender_validator.go
kc1116 Jan 25, 2023
03d2ec6
Updated docs
durkmurder Jan 25, 2023
4616da0
check len of payload before accessing message code
kc1116 Jan 25, 2023
d94ee8f
increase GRPC limit to 20MB (#3635)
koko1123 Jan 25, 2023
c7905f9
[GRPC] Add cli flag for grpc max message size
peterargue Jan 25, 2023
2618456
Merge branch 'master' into khalil/1844-topic-validator-skip-decoding
kc1116 Jan 25, 2023
437dd93
add override in observers, ghost, and an client
peterargue Jan 25, 2023
904d635
Improve computation result pipelining.
pattyshack Jan 19, 2023
70cfc86
Merge #3835
bors[bot] Jan 25, 2023
46aaa4e
[Access Client] Set message received limits
peterargue Jan 25, 2023
e556979
Remove UpdatedAddresses from fvm State
pattyshack Jan 24, 2023
d65f1f7
fix lint
peterargue Jan 25, 2023
529596a
Merge #3840
bors[bot] Jan 25, 2023
56b4b56
remove non code files
Jan 25, 2023
0fb7302
start pacemaker before processing pending blocks
jordanschalm Jan 25, 2023
0279635
Merge #3857
bors[bot] Jan 25, 2023
b5d89a9
Merge #3859
bors[bot] Jan 25, 2023
cfacb64
Merge branch 'master' into bastian/avoid-oppressive-terminology
Kay-Zee Jan 26, 2023
b2bc388
Merge pull request #3370 from onflow/bastian/avoid-oppressive-termino…
turbolent Jan 26, 2023
ac235ec
Merge branch 'master' into diaswrd/access-http-rest-api-metrics-middl…
Kay-Zee Jan 26, 2023
fd02422
fix outdated mock
Jan 26, 2023
afcefe3
applied documentation suggestions
Jan 26, 2023
c9e113f
added expected error returns for method `SealingSegment` of interfac…
Jan 26, 2023
b8778e4
Updated diagramms
durkmurder Jan 26, 2023
c5478a3
Updated diagrams
durkmurder Jan 26, 2023
49f7825
Merge branch 'yurii/6448-hotstuff-doc-update' of https://github.com/o…
durkmurder Jan 26, 2023
2fe5dfb
Merge #3853
bors[bot] Jan 26, 2023
080d436
Replace meter.StorageInteractionKey with flow.RegisterID
pattyshack Jan 26, 2023
2460d9f
update value for an->ln, historic an
peterargue Jan 26, 2023
9bfd222
Refactor accounts set storage used
janezpodhostnik Jan 26, 2023
9a3e7e6
Merge branch 'feature/active-pacemaker' into yurii/6448-hotstuff-doc-…
durkmurder Jan 26, 2023
68e90c7
Merge #3865
bors[bot] Jan 26, 2023
de3d98c
Add restriction that program loading cannot write to registers
janezpodhostnik Jan 26, 2023
f07ecc0
test wip
Jan 26, 2023
cdb97d6
Merge #3871
bors[bot] Jan 27, 2023
ae429d4
Merge #3866
bors[bot] Jan 27, 2023
381c22c
use updated connectedness check
kc1116 Jan 30, 2023
97a4c4d
Merge branch 'master' into khalil/1846-close-conn-rate-limited-peer
kc1116 Jan 30, 2023
5ca9ced
Update middleware_test.go
kc1116 Jan 30, 2023
0d65d42
Merge branch 'master' into khalil/1844-topic-validator-skip-decoding
kc1116 Jan 30, 2023
5c72eaf
Merge pull request #3799 from onflow/khalil/1846-close-conn-rate-limi…
kc1116 Jan 30, 2023
3f42448
Use RegisterId instead of (owner, key)-tuple as key for accessing reg…
pattyshack Jan 26, 2023
b91d2fe
Remove dead emulator code
pattyshack Jan 27, 2023
7e87063
Merge #3867 #3876
bors[bot] Jan 30, 2023
66d38c1
Apply suggestions from code review
durkmurder Jan 31, 2023
91a3667
Update consensus/hotstuff/README.md
durkmurder Jan 31, 2023
223f363
Split meter into components
janezpodhostnik Jan 26, 2023
e937638
[Networking] Refactors test scenarios to comply with libp2p upgrade (…
yhassanzadeh13 Jan 31, 2023
bc91d61
Merge #3870
bors[bot] Jan 31, 2023
2576fdf
Use RegisterID instead of (owner, key)-tuple for accessing accounts
pattyshack Jan 30, 2023
ec17b53
Merge #3882
bors[bot] Jan 31, 2023
dc576f5
s/runtime.Address/common.Address
pattyshack Jan 31, 2023
120fb47
[Access] Fix panic converting execution data to protobuf messages
peterargue Jan 31, 2023
303b8a2
[Audit] Revamps connection manager (#3852)
yhassanzadeh13 Feb 1, 2023
47b7cab
extended tests to verify that expected sentinels are returned when co…
Feb 1, 2023
496eff9
Merge branch 'feature/active-pacemaker'
Feb 1, 2023
f6339ea
Merge branch alex/sealing_segment_doc
Feb 1, 2023
f000ba8
fix dependencies
Feb 1, 2023
44e8c65
Apply suggestions from PR review
durkmurder Feb 1, 2023
84d1234
Add cached programs metrics
janezpodhostnik Feb 1, 2023
1745b78
Merge #3885
bors[bot] Feb 1, 2023
bc1e597
updated dependencies for 'insecure' testing portion of code
Feb 1, 2023
aa06c9d
updated dependencies for 'integration' testing portion of code
Feb 1, 2023
aca56a5
Merge branch 'master' into petera/add-flag-max-msg-size
peterargue Feb 1, 2023
5061110
Merge pull request #3824 from onflow/alex/sealing_segment_doc
Feb 1, 2023
013594c
Merge #3887
bors[bot] Feb 1, 2023
a3ea588
run make tidy
peterargue Feb 1, 2023
683adb0
Merge #3855
bors[bot] Feb 2, 2023
d180f26
Apply suggestions from code review
durkmurder Feb 2, 2023
7e24c7d
Merge branch 'feature/active-pacemaker' into jordan/merge-pacemaker-t…
jordanschalm Feb 2, 2023
5277860
tidy go mods
jordanschalm Feb 2, 2023
aa61441
generate mocks
jordanschalm Feb 2, 2023
7908418
pin flow-emulator@v0.43.0
jordanschalm Feb 2, 2023
0110499
upgrade flow-emulator
jordanschalm Feb 2, 2023
fcaccbe
Use RegisterID instead of (owner, key)-tuple for views
pattyshack Jan 31, 2023
f9ad94b
Merge #3883
bors[bot] Feb 2, 2023
39bc9b0
bump flow-emu version
jordanschalm Feb 2, 2023
bb91d34
make tidy (again)
jordanschalm Feb 2, 2023
ba3568d
Initialize register ids with flow.NewRegsiterId instead of flow.Regis…
pattyshack Feb 1, 2023
d4422e8
Merge #3890
bors[bot] Feb 2, 2023
48f593a
[Access] Export MessageToTrieUpdate converter method
peterargue Feb 2, 2023
36abef8
Merge #3888
bors[bot] Feb 3, 2023
50ae7f3
Add programs chache hit/miss metrics
janezpodhostnik Feb 2, 2023
1f07ebd
use pointer for what string for consistency
kc1116 Feb 3, 2023
26f24bd
Update network/message/protocols.go
kc1116 Feb 3, 2023
d35b90a
Merge branch 'master' of github.com:onflow/flow-go into khalil/1844-t…
kc1116 Feb 3, 2023
d470e14
Merge branch 'khalil/1844-topic-validator-skip-decoding' of github.co…
kc1116 Feb 3, 2023
2f7eb94
lint fix
kc1116 Feb 3, 2023
1ebbf16
Merge #3896
bors[bot] Feb 3, 2023
0ffafa1
[FVM] Debug log cadence logs
janezpodhostnik Feb 3, 2023
d8e87fd
[Networking] Enables logging of peer ids together with node id upon c…
yhassanzadeh13 Feb 3, 2023
8e71b43
Merge branch 'master' into jordan/merge-pacemaker-to-master
jordanschalm Feb 3, 2023
0ef3ec1
bump core-contracts to v0.12.1
jordanschalm Feb 3, 2023
8aa2e84
Ensure NewRegisterID initialize 8 byte owners
pattyshack Feb 1, 2023
154a071
update bootstrap state fixtures
jordanschalm Feb 3, 2023
92ed23d
multiple minor comment updates
Feb 4, 2023
9301fd5
Merge branch 'master' into khalil/1844-topic-validator-skip-decoding
kc1116 Feb 6, 2023
ff79021
update tests
kc1116 Feb 6, 2023
58c286a
Update libp2pNode_test.go
kc1116 Feb 6, 2023
ef7655a
Update libp2pNode_test.go
kc1116 Feb 6, 2023
8a33ad2
Update authorized_sender_validator_test.go
kc1116 Feb 6, 2023
4e30f5c
• revisions to consensus Readme
Feb 4, 2023
128e24f
Merge pull request #3905 from onflow/alex/6448-hotstuff-doc-update_-_…
durkmurder Feb 7, 2023
88d78be
Merge branch 'feature/active-pacemaker' into yurii/6448-hotstuff-doc-…
durkmurder Feb 7, 2023
d75481c
bump onflow/flow version
jordanschalm Feb 7, 2023
a421cfd
remove DenylistValidator, merge comments
jordanschalm Feb 7, 2023
4961f21
fix obo and use consistent method for signer decode
jordanschalm Feb 7, 2023
90accf3
add error handling notes upstream
jordanschalm Feb 7, 2023
45d458f
replace unknown block w/ unknown epoch test
jordanschalm Feb 7, 2023
f46be69
lint: fix whitespace in imports
jordanschalm Feb 7, 2023
8e1a15d
Merge #3863
bors[bot] Feb 7, 2023
427f631
Merge #3900
bors[bot] Feb 7, 2023
b267ab8
Merge branch 'feature/active-pacemaker' into jordan/merge-pacemaker-t…
jordanschalm Feb 7, 2023
b3f7e67
Merge #3895
bors[bot] Feb 7, 2023
765ec57
Add LicensingApproach.md
Kay-Zee Feb 7, 2023
1a187fa
Apply suggestions from code review
jordanschalm Feb 8, 2023
ab3d90b
typo
jordanschalm Feb 8, 2023
b37c9ff
Merge branch 'jordan/6489-signer-indices-decode-obo' of github.com:on…
jordanschalm Feb 8, 2023
183f563
add docs & expected errors to interface
jordanschalm Feb 8, 2023
36fd5cd
Merge branch 'master' into jordan/core-contracts-update
jordanschalm Feb 8, 2023
9716663
update sys chunk test fixed expectations
jordanschalm Feb 8, 2023
3da81ca
make tidy
jordanschalm Feb 8, 2023
0d97a65
correct flow-emu version
jordanschalm Feb 8, 2023
2ce24c5
update AN stake requirement
jordanschalm Feb 8, 2023
6b65ae7
increase AN token amount (number)
jordanschalm Feb 8, 2023
c586f41
Use prometheus instead of promauto to avoid duplicate metrics collect…
diaswrd Feb 8, 2023
f6bb9c9
Merge branch 'diaswrd/access-http-rest-api-metrics-middleware' of git…
diaswrd Feb 8, 2023
30aa292
Fix merge conflicts
diaswrd Feb 8, 2023
3b69156
rm node from approve-list when leaving
jordanschalm Feb 8, 2023
7958e5c
go mod tidy
diaswrd Feb 8, 2023
e772a05
Run go mod tidy
diaswrd Feb 8, 2023
c04d1e9
[Access] Improve Access API error reporting for results from ENs
peterargue Feb 8, 2023
9e91f4b
remove incomplete test
peterargue Feb 8, 2023
7b61deb
[Networking] Bump libp2p to v0.24.1
SaveTheRbtz Dec 10, 2022
576c5ea
NullResourceManager is now a type
SaveTheRbtz Dec 10, 2022
985847c
silience broken gosec check
SaveTheRbtz Dec 10, 2022
8c1b726
[Networking] Bump libp2p to v0.24.2
SaveTheRbtz Feb 1, 2023
acf98a7
Fixes Connection Gater Test (#3889)
yhassanzadeh13 Feb 1, 2023
7fd47f4
[Networking] Fixes test failures with v0.24 upgrade (#3914)
yhassanzadeh13 Feb 8, 2023
edea8c2
Merge branch 'master' into khalil/1844-topic-validator-skip-decoding
kc1116 Feb 8, 2023
fab43ea
fix lint error
peterargue Feb 8, 2023
aec1d55
fix merge conflicts
kc1116 Feb 9, 2023
9dff630
Update p2p_node.go
kc1116 Feb 9, 2023
dbda67f
Merge pull request #3831 from onflow/khalil/1844-topic-validator-skip…
kc1116 Feb 9, 2023
6012125
Merge #3701
bors[bot] Feb 9, 2023
6f10aac
Merge #3837
bors[bot] Feb 9, 2023
ee98298
Merge branch 'master' into jordan/6489-signer-indices-decode-obo
jordanschalm Feb 9, 2023
6eb0930
Apply suggestions from code review
jordanschalm Feb 9, 2023
f6cbad2
lint
jordanschalm Feb 9, 2023
007641a
Merge #3906
bors[bot] Feb 9, 2023
68b5027
readd notfound short circuit in get tx result
peterargue Feb 9, 2023
455e4a3
[Networking] Logging of libp2p Resource Limits at Node Startup (#3904)
yhassanzadeh13 Feb 9, 2023
102407d
Merge #3915
bors[bot] Feb 10, 2023
6e1351d
Merge branch 'master' into tarak/6354-keygen-update
tarakby Feb 10, 2023
55faf9e
Parallelize saving and uploading computation result.
pattyshack Feb 9, 2023
4618f93
Merge #3789
bors[bot] Feb 10, 2023
6ab5322
Merge branch 'master' into tarak/6354-keygen-update
tarakby Feb 10, 2023
bebd1b4
Update ci.yml
gomisha Feb 10, 2023
ca2deaa
Simplify SaveExecutionResults arguments
pattyshack Feb 8, 2023
1c93acd
Merge #3913 #3916
bors[bot] Feb 10, 2023
ce87982
Merge branch 'master' into tarak/6354-keygen-update
tarakby Feb 10, 2023
0eb3586
Merge pull request #3788 from onflow/tarak/6354-keygen-update
tarakby Feb 10, 2023
baeacd9
Merge #3919
bors[bot] Feb 10, 2023
ca9c796
Update module/metrics/rest_api.go
diaswrd Feb 10, 2023
2e65e07
Update module/metrics/rest_api.go
diaswrd Feb 10, 2023
afe2cac
Update module/metrics/rest_api.go
diaswrd Feb 10, 2023
3bc0d47
Update metrics collector definitions
diaswrd Feb 10, 2023
a5a445e
Merge branch 'diaswrd/access-http-rest-api-metrics-middleware' of git…
diaswrd Feb 10, 2023
a92b563
Fix merge conflict
diaswrd Feb 10, 2023
5fa50be
Update rest api metrics noop definitions
diaswrd Feb 10, 2023
d46358d
rename variables and update comments for trie update function
zhangchiqing Feb 10, 2023
34c26a2
Merge branch 'master' into kan/add-licensing-approach
Kay-Zee Feb 10, 2023
4f49292
fix printing trie hash
zhangchiqing Feb 11, 2023
8f91119
Move rest metrics middleware to access/rest/middleware folder
diaswrd Feb 13, 2023
4c3cc9d
Remove unused dep
diaswrd Feb 13, 2023
9147118
Merge pull request #3691 from onflow/diaswrd/access-http-rest-api-met…
diaswrd Feb 13, 2023
0ba4e5e
Clean up access request's address usage
pattyshack Feb 7, 2023
cff2bb9
Merge #3907
bors[bot] Feb 13, 2023
3e3e227
Merge branch 'master' into kan/add-licensing-approach
Kay-Zee Feb 13, 2023
3c5accd
disable c99 and compile blst src and assembly
Feb 14, 2023
3c0247c
include blst.h
Feb 14, 2023
79601b6
tidy go.mod after removing blst package
Feb 14, 2023
e64cc36
add missing relic flags
Feb 14, 2023
3b4b1bc
Merge #3926
bors[bot] Feb 14, 2023
a382b5b
[Test] Move admin tests to integration
peterargue Feb 10, 2023
8803b96
add missing test
peterargue Feb 10, 2023
05b5f4b
Merge #3897
bors[bot] Feb 15, 2023
0e0b931
Merge #3917
bors[bot] Feb 15, 2023
c9b42a4
Merge #3922
bors[bot] Feb 15, 2023
0ff6a06
log invalid vote in bootstrap finalize
zhangchiqing Feb 15, 2023
15af5a2
Merge #3832
bors[bot] Feb 16, 2023
ccaa5f9
Merge #3908
bors[bot] Feb 16, 2023
fd27a9b
Merge #3899
bors[bot] Feb 16, 2023
fc03d7f
Change delta view to read from StorageSnapshot interface instead of r…
pattyshack Feb 15, 2023
48e38e6
Merge #3933
bors[bot] Feb 16, 2023
c53b3bc
Clean up address usage (part 1 of many)
pattyshack Feb 7, 2023
9429bde
Merge #3912
bors[bot] Feb 16, 2023
7593960
merge feature branch
Feb 17, 2023
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
  •  
  •  
  •  
2 changes: 1 addition & 1 deletion .github/workflows/bench.yml
Original file line number Diff line number Diff line change
Expand Up @@ -57,7 +57,7 @@ jobs:
- name: Use benchstat for comparison
run: |
export PATH=$PATH:$(go env GOPATH)/bin
go install golang.org/x/perf/cmd/benchstat@latest
go install golang.org/x/perf/cmd/benchstat@91a04616dc65ba76dbe9e5cf746b923b1402d303
echo "BENCHSTAT<<EOF" >> $GITHUB_ENV
echo "$(benchstat -html -sort delta old.txt new.txt | sed '/<title/,/<\/style>/d' | sed 's/<!doctype html>//g')" >> $GITHUB_ENV
echo "EOF" >> $GITHUB_ENV
Expand Down
8 changes: 4 additions & 4 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -117,7 +117,7 @@ jobs:
cache: true
- name: Run tests (${{ matrix.targets.name }})
if: github.actor != 'bors[bot]'
uses: nick-invision/retry@v2
uses: nick-fields/retry@v2
with:
timeout_minutes: 25
max_attempts: 3
Expand All @@ -128,7 +128,7 @@ jobs:
# RACE_DETECTOR: 1
- name: Run tests (Bors)
if: github.actor == 'bors[bot]'
uses: nick-invision/retry@v2
uses: nick-fields/retry@v2
with:
timeout_minutes: 25
max_attempts: 3
Expand Down Expand Up @@ -180,7 +180,7 @@ jobs:
VERBOSE=1 make -C ${{ matrix.name }} ${{ matrix.make2 }}
- name: Run tests (Bors)
if: github.actor == 'bors[bot]'
uses: nick-invision/retry@v2
uses: nick-fields/retry@v2
with:
timeout_minutes: 25
max_attempts: ${{ matrix.retries }}
Expand Down Expand Up @@ -231,7 +231,7 @@ jobs:
# RACE_DETECTOR: 1
- name: Run tests (Bors)
if: github.actor == 'bors[bot]'
uses: nick-invision/retry@v2
uses: nick-fields/retry@v2
with:
timeout_minutes: 15
max_attempts: 2
Expand Down
31 changes: 31 additions & 0 deletions LicensingApproach.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
# Flow's Approach to Licensing

The founding team for Flow suggests that all open-source software built on or for Flow should adhere to the "[Coherent Open Source Licensing](https://licenseuse.org)" philosophy.
To that end, we encourage the use of one of the following three licenses, as applicable by the use case (order from most permissive, to most restrictive):

- Apache 2.0
- LGPL 3
- Affero GPL 3

These licenses are all approved by both the Free Software Foundation and the Open Source Initiative and contain clauses regarding software patenting to avoid hidden patent concerns. Additionally, they are all compatible with each other meaning there is no conflict using them together in any project (provided the project as a whole meets the requirements of the most restrictive of the licenses included).


### Apache 2.0

Apache 2.0 is the most permissive, and allows reuse - with customization - in proprietary software. We recommend that this should be the default for any code that has significant potential use for off-chain tools and/or applications. In particular, all sample code (including smart contracts), SDKs, utility libraries and tools should default to Apache 2.0.


### LGPL 3

LGPL 3 allows use in proprietary software, provided that any customizations to the licensed code are shared. We considered LGPL for Cadence to avoid a proprietary fork of the language, but decided to use the more permissive Apache 2.0 license to emphasize that we hope Cadence can be adopted outside of Flow. LGPL can be used for other parts of Flow where necessary (e.g. if the component is itself a modification of other LGPL-licensed code).


### Affero GPL 3

Affero GPL 3 (AGPL) should be used for all code that exists primarily to power node software. In particular, the core consensus and computation layers should be provided via AGPL where possible. We chose this license because we interpret the clauses in the AGPL regarding "public use [...] on a publicly accessible server" as covering the operation of a node in the public Flow network. By requiring all modifications to the core node software to be made publicly available, we increase the security of the network (allowing any custom modifications to undergo public scrutiny), while also ensuring that improvements to the core infrastructure benefit all participants in the network.


### Using the Unlicense

For small snippets of sample code, we can provide access via the Unlicense.
Broadly speaking, Apache 2.0 gives essentially the same rights to the receiver of the code as Unlicense, except that Apache protects the author(s) a bit more robustly, and protects the receiver against patent lawsuits. But, some people aren't aware of this, and using the "Unlicense" makes it very clear to anyone that the original authors aren't claiming ownership of derivative works. For any "complex" code that we want to be free, we should use Apache. For simple code snippets and examples, the Unlicense will probably make casual/inexperienced developers feel more comfortable.
5 changes: 5 additions & 0 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -48,6 +48,10 @@ cmd/collection/collection:
cmd/util/util:
go build -o cmd/util/util --tags relic cmd/util/main.go

.PHONY: update-core-contracts-version
update-core-contracts-version:
./scripts/update-core-contracts.sh $(CC_VERSION)

############################################################################################
# CAUTION: DO NOT MODIFY THESE TARGETS! DOING SO WILL BREAK THE FLAKY TEST MONITOR

Expand Down Expand Up @@ -151,6 +155,7 @@ generate-mocks: install-mock-generators
mockery --name '.*' --dir="state/protocol/events" --case=underscore --output="./state/protocol/events/mock" --outpkg="mock"
mockery --name '.*' --dir=engine/execution/computation/computer --case=underscore --output="./engine/execution/computation/computer/mock" --outpkg="mock"
mockery --name '.*' --dir=engine/execution/state --case=underscore --output="./engine/execution/state/mock" --outpkg="mock"
mockery --name '.*' --dir=engine/collection --case=underscore --output="./engine/collection/mock" --outpkg="mock"
mockery --name '.*' --dir=engine/consensus --case=underscore --output="./engine/consensus/mock" --outpkg="mock"
mockery --name '.*' --dir=engine/consensus/approvals --case=underscore --output="./engine/consensus/approvals/mock" --outpkg="mock"
rm -rf ./fvm/environment/mock
Expand Down
4 changes: 2 additions & 2 deletions access/handler.go
Original file line number Diff line number Diff line change
Expand Up @@ -492,7 +492,7 @@ func (h *Handler) GetExecutionResultForBlockID(ctx context.Context, req *access.
func (h *Handler) blockResponse(block *flow.Block, fullResponse bool, status flow.BlockStatus) (*access.BlockResponse, error) {
signerIDs, err := h.signerIndicesDecoder.DecodeSignerIDs(block.Header)
if err != nil {
return nil, err
return nil, err // the block was retrieved from local storage - so no errors are expected
}

var msg *entities.Block
Expand All @@ -513,7 +513,7 @@ func (h *Handler) blockResponse(block *flow.Block, fullResponse bool, status flo
func (h *Handler) blockHeaderResponse(header *flow.Header, status flow.BlockStatus) (*access.BlockHeaderResponse, error) {
signerIDs, err := h.signerIndicesDecoder.DecodeSignerIDs(header)
if err != nil {
return nil, err
return nil, err // the block was retrieved from local storage - so no errors are expected
}

msg, err := convert.BlockHeaderToMessage(header, signerIDs)
Expand Down
4 changes: 4 additions & 0 deletions admin/command_runner.go
Original file line number Diff line number Diff line change
Expand Up @@ -324,3 +324,7 @@ func (r *CommandRunner) runCommand(ctx context.Context, command string, data int

return handleResult, nil
}

func (r *CommandRunner) GrpcAddress() string {
return r.grpcAddress
}
Loading