Compare commits

...

143 Commits

Author SHA1 Message Date
nico 631d384609 woop 8 months ago
Soph b3aebb62d2
Merge pull request #4546 from harmony-one/dev 9 months ago
Konstantin 2dee6c6b2e
Revert "Get only valid blocks. (#4628)" (#4637) 9 months ago
Konstantin f0dc999e1b
Get only valid blocks. (#4628) 9 months ago
Konstantin 49bba1785e
Fix. (#4635) 9 months ago
Casey Gardiner 86c4a21a6e
Merge branch 'main' into dev 9 months ago
Casey Gardiner 138a460e46
Update dev to include main hotfixes (#4633) 9 months ago
Diego Nava b53a911a7c
push devnet external and leader rotation epochs (#4634) 9 months ago
Konstantin d5956cee90
Fix for possible panic. (#4627) 10 months ago
Gheis Mohammadi 313daea3c9
[HOTFIX] fix leader crosslink issue to not include old cross link in the propo… (#4629) 10 months ago
Diego Nava ca91cb22b6
Skip check when the 100% check is achieved. (#4625) 10 months ago
Gheis Mohammadi c24ea5cebd
fix allowed txs to be able to handle multiple txs for same from address (#4624) 10 months ago
Konstantin 8d5f20f998
Removed outdated flag, additional checks and simplified logic. (#4621) 10 months ago
Gheis Mohammadi ae4ffeb09a
fix allowed txs to be able to handle multiple txs for same from address (#4623) 10 months ago
Adam Androulidakis c01cc296a8
Merge pull request #4618 from harmony-one/fix/snapshot 10 months ago
“GheisMohammadi” 0082c4d7a0
add system log for creating/loading snapshot 10 months ago
Diego Nava 0066c2e6bc
push the activation of the external devnet epoch (#4620) 10 months ago
Diego Nava fe72c4f37a
activate devnet external hardfork (#4619) 10 months ago
Konstantin f3fc63395c
Fix for revert. (#4617) 10 months ago
“GheisMohammadi” 9b42870e09
return back sync default settings 10 months ago
“GheisMohammadi” d1ffd5cc75
add cache configurations 10 months ago
“GheisMohammadi” 8d24b5beef
fix wrong root hash for generating snapshot 10 months ago
Gheis Mohammadi 2441a0b544
Fix fast sync null snapshot and null response issue (#4613) 10 months ago
Diego Nava 51a1ffe350
prepare devnet reset (#4615) 10 months ago
Konstantin 17a2522391
Recreate trie after revert. (#4608) 10 months ago
Konstantin e15bae129b
Fix for panic "insertChain failed to update current block" (#4612) 10 months ago
Konstantin cdbc79e01f
Devnet: activate leader rotation at epoch 4 . (#4611) 10 months ago
Konstantin a31b4f5640
Thread safe Decider. (#4610) 10 months ago
Konstantin 1dd67a801c
15 nodes per shard for devnet (#4607) 11 months ago
Gheis Mohammadi 00734e2f8d
closing stream removes it from stream manager as well, so it doesn't need to remove it on caller function (#4606) 11 months ago
Konstantin f57691047b
Force verify all sign. (#4601) 11 months ago
Gheis Mohammadi 50a1a75cd5
ignore known blocks for processing state sync (#4602) 11 months ago
Soph 2927929efe
Merge pull request #4600 from harmony-one/maintodev122023 11 months ago
Casey Gardiner 7df72eb488
Merge branch 'dev' into maintodev122023 11 months ago
Diego Nava 5443bf7d94
reduce internal voting power to 10% devnet (#4599) 11 months ago
Gheis Mohammadi e68b44fd98
Complete Fast Sync codes (#4594) 11 months ago
static 41066fad14 fix conflicts main->dev 11 months ago
Diego Nava 718286f622
delay for a few epochs the leader rotations devnet (#4597) 11 months ago
Konstantin d6690ed7b5
Activate external rotation devnet. (#4596) 11 months ago
Konstantin 556444cea5
Feature: last signing power. (#4584) 11 months ago
Konstantin 9a5ba3cc0b
blocksCountAliveness can't be bigger than minimumBlocksForLeaderInRow (#4589) 11 months ago
Adam Androulidakis c82599b6f1
Merge pull request #4465 from harmony-one/feature/fastsync 12 months ago
“GheisMohammadi” 419aad1fb7
remove state debug logs 12 months ago
“GheisMohammadi” 191c55b403
fix full state sync requests cap, add error handling to stage state sync, goimports 12 months ago
“GheisMohammadi” f3ce9f3ac9
return back deleted codes, fix rebase issues, goimports 12 months ago
Diego Nava 02e2fee4db
Fix: max rate issue (#4580) 12 months ago
“GheisMohammadi” 0901e92bf8
add state sync full, complete full state sync stage 12 months ago
“GheisMohammadi” 390bdb67d8
add client new functions to stream sync adapter, update GetAccountRanges parameters 12 months ago
“GheisMohammadi” e141f79818
add ProofSet and ProofList to staged stream sync 12 months ago
“GheisMohammadi” 3374100409
fix state sync file name spell error 12 months ago
“GheisMohammadi” c340c704ba
fix GetNextBatch to complete sync after there is no more pending states,remove extra comments, cleanup and goimports 12 months ago
“GheisMohammadi” 99928257d0
add state sync 12 months ago
“GheisMohammadi” 3fcfad4531
fix rebase conflicts 12 months ago
“GheisMohammadi” 135c7da455
fix WriteHeadBlock, fix GetDownloadDetails index, improve fetching current block in a few stages, improve pivot calculation 12 months ago
“GheisMohammadi” bdd7f142c7
improve stream sync current cycle and pivot checks, fix edge case issue to insert pivot block and its receipts 12 months ago
“GheisMohammadi” c808f2b733
fix pivot block issue for write on chain 12 months ago
“GheisMohammadi” 6348128c48
improve stage handling for create new instance of staged stream sync 12 months ago
“GheisMohammadi” e4dcda67e4
refactor staged stream sync, fix the state sync functions 12 months ago
“GheisMohammadi” 9629d9ca56
remove blockExecution option from staged stream sync 12 months ago
“GheisMohammadi” 36d2abd0a4
remove extra blockExecutions 12 months ago
“GheisMohammadi” ebd689f1a0
remove blockExecution option from insertChain 12 months ago
“GheisMohammadi” e96855b6ff
fix shard chain test 12 months ago
“GheisMohammadi” d534fea261
add Validator method to blockchain to fix the interface 12 months ago
“GheisMohammadi” 7c21eef5ef
fix stream tests 12 months ago
“GheisMohammadi” 917a3019e2
add tests for node data request 12 months ago
“GheisMohammadi” 8d66bdf078
add getBlockByMaxVote to sync helper 12 months ago
“GheisMohammadi” c1d352b895
add pivot to chain accessor, add CurrentFastBlock to blockchain_impl, fix receipt insertion 12 months ago
“GheisMohammadi” 772d8658e1
fix block validation in stage bodies 12 months ago
“GheisMohammadi” cd7ccbe827
fix stages and replace with forward stages 12 months ago
“GheisMohammadi” f6b8951656
add SyncMode to flags 12 months ago
“GheisMohammadi” 12235f5c5c
fix stages forward order for staged stream sync 12 months ago
“GheisMohammadi” 6f9a1ecda1
goimports 12 months ago
“GheisMohammadi” bcf1b770a1
remove using currentCycle, cleanup stage receipts 12 months ago
“GheisMohammadi” 57a77ab0f1
refactor get receipts stage to use insertReceiptsChain 12 months ago
“GheisMohammadi” 8f818100a7
add InsertReceiptChain to blockchain interface 12 months ago
“GheisMohammadi” d4c85772e2
goimports 12 months ago
“GheisMohammadi” 7c3807a525
refactor stage bodies to extract receip hashes in this stage rather than stage state 12 months ago
“GheisMohammadi” 1f26944a33
split verifyAndInsertBlock function to be able to reuse verification part 12 months ago
“GheisMohammadi” 498bcc0416
fix state download manager failure message 12 months ago
“GheisMohammadi” f10dd1eec2
add SyncMode to configs 12 months ago
“GheisMohammadi” 30de7c27e3
refactor stages list initialization based on the sync mode 12 months ago
“GheisMohammadi” 7006e1568d
goimports staged sync files 12 months ago
“GheisMohammadi” 591f223e84
fix block insertion in main.go 12 months ago
“GheisMohammadi” 352212744d
refactor stage receipts 12 months ago
“GheisMohammadi” 9954a904ae
refactor staged stream sync to process fast sync and new block insertion 12 months ago
“GheisMohammadi” cfc94bb4e1
fix tests for new block insertion 12 months ago
“GheisMohammadi” 91034682c7
add block insertion without execution to blockchain implementation 12 months ago
“GheisMohammadi” e11b6ef122
goimports staged stream sync 12 months ago
“GheisMohammadi” 6f3aa67b88
refactor stage receipts and change the stages sorting 12 months ago
“GheisMohammadi” 12d930fd97
fix receipt download manager result queue 12 months ago
“GheisMohammadi” 0da96b942e
add receipt download manager 12 months ago
“GheisMohammadi” 975857fc85
fix state download manager tasks issue 12 months ago
“GheisMohammadi” 841073da60
refactor stage state sync 12 months ago
“GheisMohammadi” 9e1249a836
refactor state download manager 12 months ago
“GheisMohammadi” 4629fda90b
fix statesync config 12 months ago
“GheisMohammadi” 702eb5e1fb
add task management logic to state download manager in stream sync 12 months ago
“GheisMohammadi” 2064cfd62c
add protocol to stage statesync 12 months ago
“GheisMohammadi” 9ec0272261
add initial state download manager to stream sync 12 months ago
“GheisMohammadi” ca05f3f10f
add statesync as a new state to staged sync 12 months ago
Adam Androulidakis 2001b34658
Merge pull request #4582 from harmony-one/feature/HET104-12523 12 months ago
Konstantin 29c62490ce
Fix. (#4583) 12 months ago
static 3b27215e03 use v2.NewReceipt for eth type receipt 12 months ago
Konstantin 86fca2070f
Fixed infinity loop sync. (#4575) 12 months ago
Diego Nava b7123fb30e
fix: eth json transaction (#4581) 12 months ago
Konstantin 7be2b0260b
Revert "fix: max-rate bellow the era min-rate (#4552)" (#4578) 12 months ago
Diego Nava f993468325
fix: max-rate bellow the era min-rate (#4552) 1 year ago
Konstantin fe1d97a460
Removed outdated check. (#4574) 1 year ago
Konstantin b7b7fbf2b3
Skip epochchain errors. (#4573) 1 year ago
Konstantin 368fc9e07b
Removed unused functions and improved locks usage. (#4572) 1 year ago
Konstantin 1f974af163
Removed fast block. (#4571) 1 year ago
Konstantin 78685f9ffa
Removed future blocks from blockchain_impl.go (#4569) 1 year ago
Gheis Mohammadi 6eda7857d0
fix the issue of adding an existed block in legacy sync (#4565) 1 year ago
Konstantin 582a4cf5cb
Fixed panic with dsync. (#4562) 1 year ago
omahs 8f774ea9cd
Fix typos (#4563) 1 year ago
Konstantin 2089a0c25b
Fixed import and workaround for failing test. (#4560) 1 year ago
Konstantin dbe4d43b36
Timeout for block proposal. (#4553) 1 year ago
Konstantin 6f7a04799d
Fixed data race. (#4559) 1 year ago
Konstantin 1f7d67859d
Refactored verify block. (#4554) 1 year ago
Konstantin b187cd7e44
Deadcode and cleanup. (#4550) 1 year ago
Konstantin 3167545f66
Cleanup (#4548) 1 year ago
Konstantin 4b8cf56055
Leader rotation. Check next leader aliveness. (#4359) 1 year ago
Konstantin e124173a81
Cleanup. (#4547) 1 year ago
Konstantin f24413e683
Merge pull request #4455 from Frozen/block-peers 1 year ago
frozen dc326f6fb2
Rebased. 1 year ago
frozen 64d7392c3b
Clean up. 1 year ago
frozen 96e03868ae
Fixed imports. 1 year ago
frozen 6179450507
Fixed imports. 1 year ago
frozen f0b70d9f71
Fixed imports. 1 year ago
frozen 41900b0400
Rebased onto dev. 1 year ago
frozen 82b3f0ceda
Updated. 1 year ago
frozen a6ddc19fed
Implemented method for interface. 1 year ago
frozen 0e4568253a
Passed peerID to handlers. 1 year ago
frozen 525b20ae20
Start and finish syncing. 1 year ago
frozen b6987ec68f
Added logs. 1 year ago
frozen c63818480c
Added logs. 1 year ago
frozen fad17fe539
Added logs. 1 year ago
frozen 2f23d81879
Last mile blocks insert. 1 year ago
Konstantin b1389dacc4
Fixed data race. (#4544) 1 year ago
Konstantin 57dd5f2678
Fixed. (#4543) 1 year ago
Gheis Mohammadi d49715e8f7
add new functions to p2p stream client for sharing the full states (#4540) 1 year ago
Konstantin 5faeb5f79a
Call `UpdateConsensusInformation` after bingo. (#4542) 1 year ago
UncertainBadg3r a65f92d0ae
Fix typo in README test steps (#4541) 1 year ago
Konstantin da863bf04c
Fixed memory leak and deadcode. (#4539) 1 year ago
  1. 28
      .github/ISSUE_TEMPLATE/bounty.md
  2. 12
      .github/workflows/build-docker-proto-image.yaml
  3. 170
      .github/workflows/ci-tag.yaml
  4. 170
      .github/workflows/ci.yaml
  5. 10
      .gitignore
  6. 1
      .hmy/02c8ff0b88f313717bc3a627d2f8bb172ba3ad3bb9ba3ecb8eed4b7c878653d3d4faf769876c528b73f343967f74a917.key
  7. 1
      .hmy/16513c487a6bb76f37219f3c2927a4f281f9dd3fd6ed2e3a64e500de6545cf391dd973cc228d24f9bd01efe94912e714.key
  8. 1
      .hmy/1c1fb28d2de96e82c3d9b4917eb54412517e2763112a3164862a6ed627ac62e87ce274bb4ea36e6a61fb66a15c263a06.key
  9. 1
      .hmy/2d3d4347c5a7398fbfa74e01514f9d0fcd98606ea7d245d9c7cfc011d472c2edc36c738b78bd115dda9d25533ddfe301.key
  10. 1
      .hmy/2d61379e44a772e5757e27ee2b3874254f56073e6bd226eb8b160371cc3c18b8c4977bd3dcb71fd57dc62bf0e143fd08.key
  11. 1
      .hmy/40379eed79ed82bebfb4310894fd33b6a3f8413a78dc4d43b98d0adc9ef69f3285df05eaab9f2ce5f7227f8cb920e809.key
  12. 1
      .hmy/4235d4ae2219093632c61db4f71ff0c32bdb56463845f8477c2086af1fe643194d3709575707148cad4f835f2fc4ea05.key
  13. 1
      .hmy/49d15743b36334399f9985feb0753430a2b287b2d68b84495bbb15381854cbf01bca9d1d9f4c9c8f18509b2bfa6bd40f.key
  14. 1
      .hmy/52ecce5f64db21cbe374c9268188f5d2cdd5bec1a3112276a350349860e35fb81f8cfe447a311e0550d961cf25cb988d.key
  15. 1
      .hmy/576d3c48294e00d6be4a22b07b66a870ddee03052fe48a5abbd180222e5d5a1f8946a78d55b025de21635fd743bbad90.key
  16. 1
      .hmy/63f479f249c59f0486fda8caa2ffb247209489dae009dfde6144ff38c370230963d360dffd318cfb26c213320e89a512.key
  17. 1
      .hmy/65f55eb3052f9e9f632b2923be594ba77c55543f5c58ee1454b9cfd658d25e06373b0f7d42a19c84768139ea294f6204.key
  18. 1
      .hmy/678ec9670899bf6af85b877058bea4fc1301a5a3a376987e826e3ca150b80e3eaadffedad0fedfa111576fa76ded980c.key
  19. 1
      .hmy/68ae289d73332872ec8d04ac256ca0f5453c88ad392730c5741b6055bc3ec3d086ab03637713a29f459177aaa8340615.key
  20. 1
      .hmy/776f3b8704f4e1092a302a60e84f81e476c212d6f458092b696df420ea19ff84a6179e8e23d090b9297dc041600bc100.key
  21. 1
      .hmy/86dc2fdc2ceec18f6923b99fd86a68405c132e1005cf1df72dca75db0adfaeb53d201d66af37916d61f079f34f21fb96.key
  22. 1
      .hmy/95117937cd8c09acd2dfae847d74041a67834ea88662a7cbed1e170350bc329e53db151e5a0ef3e712e35287ae954818.key
  23. 1
      .hmy/a547a9bf6fdde4f4934cde21473748861a3cc0fe8bbb5e57225a29f483b05b72531f002f8187675743d819c955a86100.key
  24. 1
      .hmy/b179c4fdc0bee7bd0b6698b792837dd13404d3f985b59d4a9b1cd0641a76651e271518b61abbb6fbebd4acf963358604.key
  25. 0
      .hmy/blspass.txt
  26. 1
      .hmy/c4e4708b6cf2a2ceeb59981677e9821eebafc5cf483fb5364a28fa604cc0ce69beeed40f3f03815c9e196fdaec5f1097.key
  27. 1
      .hmy/ca86e551ee42adaaa6477322d7db869d3e203c00d7b86c82ebee629ad79cb6d57b8f3db28336778ec2180e56a8e07296.key
  28. 1
      .hmy/e751ec995defe4931273aaebcb2cd14bf37e629c554a57d3f334c37881a34a6188a93e76113c55ef3481da23b7d7ab09.key
  29. 1
      .hmy/eca09c1808b729ca56f1b5a6a287c6e1c3ae09e29ccf7efa35453471fcab07d9f73cee249e2b91f5ee44eb9618be3904.key
  30. 1
      .hmy/ee2474f93cba9241562efc7475ac2721ab0899edf8f7f115a656c0c1f9ef8203add678064878d174bb478fa2e6630502.key
  31. 1
      .hmy/f47238daef97d60deedbde5302d05dea5de67608f11f406576e363661f7dcbc4a1385948549b31a6c70f6fde8a391486.key
  32. 1
      .hmy/fc4b9c535ee91f015efff3f32fbb9d32cdd9bfc8a837bb3eee89b8fff653c7af2050a4e147ebe5c7233dc2d5df06ee0a.key
  33. 2
      .rpmmacros
  34. 16
      .travis.yml
  35. 0
      .wiki/blacklist.txt
  36. 0
      .wiki/extbls/4f41a37a3a8d0695dd6edcc58142c6b7d98e74da5c90e79b587b3b960b6a4f5e048e6d8b8a000d77a478d44cd640270c.key
  37. 0
      .wiki/extbls/4f41a37a3a8d0695dd6edcc58142c6b7d98e74da5c90e79b587b3b960b6a4f5e048e6d8b8a000d77a478d44cd640270c.pass
  38. 0
      .wiki/extbls/5a18d4aa3e6aff4835f07588ae66be19684476d38799f63e54c6b5732fad1e86dce7458b1c295404fb54a0d61e50bb97.key
  39. 0
      .wiki/extbls/5a18d4aa3e6aff4835f07588ae66be19684476d38799f63e54c6b5732fad1e86dce7458b1c295404fb54a0d61e50bb97.pass
  40. 0
      .wiki/extbls/7dcc035a943e29e17959dabe636efad7303d2c6f273ace457ba9dcc2fd19d3f37e70ba1cd8d082cf8ff7be2f861db48c.key
  41. 0
      .wiki/extbls/7dcc035a943e29e17959dabe636efad7303d2c6f273ace457ba9dcc2fd19d3f37e70ba1cd8d082cf8ff7be2f861db48c.pass
  42. 0
      .wiki/extbls/81296eedba05047594385e3086e1dab52c9eb9e56f46d86f58447cccc20535d646120171961d74968d27a2ec0f8af285.key
  43. 0
      .wiki/extbls/81296eedba05047594385e3086e1dab52c9eb9e56f46d86f58447cccc20535d646120171961d74968d27a2ec0f8af285.pass
  44. 0
      .wiki/extbls/89eab762e7364d6cf89f7a6c54da794f74eba2e29147992ac66adcef0f0654ef8a727710ee55ad8b532da0dd87811915.key
  45. 0
      .wiki/extbls/89eab762e7364d6cf89f7a6c54da794f74eba2e29147992ac66adcef0f0654ef8a727710ee55ad8b532da0dd87811915.pass
  46. 0
      .wiki/extbls/b0917378b179a519a5055259c4f8980cce37d58af300b00dd98b07076d3d9a3b16c4a55f84522f553872225a7b1efc0c.key
  47. 0
      .wiki/extbls/b0917378b179a519a5055259c4f8980cce37d58af300b00dd98b07076d3d9a3b16c4a55f84522f553872225a7b1efc0c.pass
  48. 0
      .wiki/extkeystore/one17ughrllgnzx9sfa46p568k8rdmtz7qj85slc6t.key
  49. 0
      .wiki/extkeystore/one19aw2wcr5y4lxeuwt0ajgt5aw3a3qkjdgg67ygj.key
  50. 0
      .wiki/extkeystore/one19zzwsxr0uf2fe34y8qkadek2v0eh6h5mg2deg6.key
  51. 0
      .wiki/extkeystore/one1auqndgthqu5lznsn7tuma8s5333cq0y07cwc6x.key
  52. 0
      .wiki/extkeystore/one1eenp9ujcrmyaq22ef6jrpry2k97tjz4xs6ppcf.key
  53. 0
      .wiki/extkeystore/one1lctumupg2y009pjmnhnmn4nqjk0zf0dspjanf7.key
  54. 0
      .wiki/keystore/one103q7qe5t2505lypvltkqtddaef5tzfxwsse4z7.key
  55. 0
      .wiki/keystore/one129r9pj3sk0re76f7zs3qz92rggmdgjhtwge62k.key
  56. 0
      .wiki/keystore/one12fuf7x9rgtdgqg7vgq0962c556m3p7afsxgvll.key
  57. 0
      .wiki/keystore/one1658znfwf40epvy7e46cqrmzyy54h4n0qa73nep.key
  58. 0
      .wiki/keystore/one16qsd5ant9v94jrs89mruzx62h7ekcfxmduh2rx.key
  59. 0
      .wiki/keystore/one1a0x3d6xpmr6f8wsyaxd9v36pytvp48zckswvv9.key
  60. 0
      .wiki/keystore/one1a50tun737ulcvwy0yvve0pvu5skq0kjargvhwe.key
  61. 0
      .wiki/keystore/one1d2rngmem4x2c6zxsjjz29dlah0jzkr0k2n88wc.key
  62. 0
      .wiki/keystore/one1d7jfnr6yraxnrycgaemyktkmhmajhp8kl0yahv.key
  63. 0
      .wiki/keystore/one1est2gxcvavmtnzc7mhd73gzadm3xxcv5zczdtw.key
  64. 0
      .wiki/keystore/one1ghkz3frhske7emk79p7v2afmj4a5t0kmjyt4s5.key
  65. 0
      .wiki/keystore/one1ljznytjyn269azvszjlcqvpcj6hjm822yrcp2e.key
  66. 0
      .wiki/keystore/one1m6m0ll3q7ljdqgmth2t5j7dfe6stykucpj2nr5.key
  67. 0
      .wiki/keystore/one1p7ht2d4kl8ve7a8jxw746yfnx4wnfxtp8jqxwe.key
  68. 0
      .wiki/keystore/one1pdv9lrdwl0rg5vglh4xtyrv3wjk3wsqket7zxy.key
  69. 0
      .wiki/keystore/one1pf75h0t4am90z8uv3y0dgunfqp4lj8wr3t5rsp.key
  70. 0
      .wiki/keystore/one1r4zyyjqrulf935a479sgqlpa78kz7zlcg2jfen.key
  71. 0
      .wiki/keystore/one1spshr72utf6rwxseaz339j09ed8p6f8ke370zj.key
  72. 0
      .wiki/keystore/one1uyshu2jgv8w465yc8kkny36thlt2wvel89tcmg.key
  73. 0
      .wiki/keystore/one1z05g55zamqzfw9qs432n33gycdmyvs38xjemyl.key
  74. 0
      .wiki/locals.txt
  75. 0
      .wiki/pgp_keys.asc
  76. 0
      .wiki/rosetta_local_fix.csv
  77. 0
      .wiki/wallet.ini
  78. 2
      BLACKLIST.md
  79. 2
      CODE_OF_CONDUCT.md
  80. 10
      CONTRIBUTING.md
  81. 34
      Dockerfile
  82. 4
      FLA.md
  83. 58
      Makefile
  84. 81
      README.md
  85. 2
      SECURITY.md
  86. 2
      accounts/abi/abi_test.go
  87. 8
      accounts/abi/bind/auth.go
  88. 2
      accounts/abi/bind/backend.go
  89. 4
      accounts/abi/bind/base.go
  90. 6
      accounts/abi/bind/base_test.go
  91. 2
      accounts/abi/bind/bind.go
  92. 2
      accounts/abi/bind/template.go
  93. 2
      accounts/abi/bind/topics.go
  94. 2
      accounts/abi/bind/topics_test.go
  95. 2
      accounts/abi/bind/util.go
  96. 2
      accounts/abi/pack.go
  97. 2
      accounts/accounts.go
  98. 6
      accounts/address.go
  99. 6
      accounts/external/backend.go
  100. 6
      accounts/keystore/account_cache.go
  101. Some files were not shown because too many files have changed in this diff Show More

@ -1,28 +0,0 @@
---
name: Bounty
about: Bounty ticket for Harmony
title: "[Bounty]"
labels: help wanted
assignees: ''
---
# About The Bounty
https://github.com/harmony-one/harmony-open/blob/master/README.md
# Category
- [ ] bug
- [ ] feature
- [ ] document
- [ ] dApp
- [ ] test
# Description
# T-shirt Size
<!-- XS, S, M, L, XL, XXL -->
# Time Estimation
# Explore All Bounties
https://gitcoin.co/profile/harmony-one

@ -1,4 +1,4 @@
name: Build and Push harmony proto Docker Image name: Build and Push woop proto Docker Image
on: on:
workflow_dispatch: workflow_dispatch:
@ -8,10 +8,10 @@ jobs:
runs-on: ubuntu-latest runs-on: ubuntu-latest
steps: steps:
- name: Checkout harmony core code - name: Checkout woop core code
uses: actions/checkout@v3 uses: actions/checkout@v3
with: with:
path: harmony path: woop
ref: ${{ github.ref }} ref: ${{ github.ref }}
fetch-depth: 0 fetch-depth: 0
@ -27,9 +27,9 @@ jobs:
- name: Build and push - name: Build and push
uses: docker/build-push-action@v3 uses: docker/build-push-action@v3
with: with:
context: ./harmony/api/service/legacysync/downloader context: ./woop/api/service/legacysync/downloader
file: ./harmony/api/service/legacysync/downloader/Proto.Dockerfile file: ./woop/api/service/legacysync/downloader/Proto.Dockerfile
push: true push: true
platforms: linux/amd64,linux/arm64 platforms: linux/amd64,linux/arm64
tags: | tags: |
harmonyone/harmony-proto:latest woopchain/woop-proto:latest

@ -1,4 +1,4 @@
name: Manual release harmony (need tag) name: Manual release woop (need tag)
on: on:
workflow_dispatch: workflow_dispatch:
@ -16,10 +16,10 @@ jobs:
tag_annotated: ${{ steps.check-tag-annotated.outputs.tag_annotated }} tag_annotated: ${{ steps.check-tag-annotated.outputs.tag_annotated }}
steps: steps:
- name: Checkout harmony core code - name: Checkout woop core code
uses: actions/checkout@v3 uses: actions/checkout@v3
with: with:
path: harmony path: woop
ref: ${{ github.event.inputs.tag }} ref: ${{ github.event.inputs.tag }}
fetch-depth: 0 fetch-depth: 0
@ -33,10 +33,10 @@ jobs:
else else
echo "::set-output name=tag_annotated::false" echo "::set-output name=tag_annotated::false"
fi fi
working-directory: harmony working-directory: woop
build: build:
name: Build harmony binary name: Build woop binary
needs: check needs: check
runs-on: ${{ matrix.os }} runs-on: ${{ matrix.os }}
if: needs.check.outputs.tag_annotated == 'true' if: needs.check.outputs.tag_annotated == 'true'
@ -55,26 +55,26 @@ jobs:
- name: Checkout dependence repo - name: Checkout dependence repo
uses: actions/checkout@v3 uses: actions/checkout@v3
with: with:
repository: harmony-one/mcl repository: woop-chain/mcl
path: mcl path: mcl
- name: Checkout dependence repo - name: Checkout dependence repo
uses: actions/checkout@v3 uses: actions/checkout@v3
with: with:
repository: harmony-one/bls repository: woop-chain/bls
path: bls path: bls
- name: Checkout harmony core code - name: Checkout woop core code
uses: actions/checkout@v3 uses: actions/checkout@v3
with: with:
path: harmony path: woop
ref: ${{ github.event.inputs.tag }} ref: ${{ github.event.inputs.tag }}
fetch-depth: 0 fetch-depth: 0
- name: Set up Go go.mod - name: Set up Go go.mod
uses: actions/setup-go@v3 uses: actions/setup-go@v3
with: with:
go-version-file: 'harmony/go.mod' go-version-file: 'woop/go.mod'
- name: Get latest version and release - name: Get latest version and release
run: | run: |
@ -82,28 +82,28 @@ jobs:
RELEASE=$(git describe --long | cut -f2 -d-) RELEASE=$(git describe --long | cut -f2 -d-)
echo "build_version=$VERSION" >> $GITHUB_ENV echo "build_version=$VERSION" >> $GITHUB_ENV
echo "build_release=$RELEASE" >> $GITHUB_ENV echo "build_release=$RELEASE" >> $GITHUB_ENV
working-directory: harmony working-directory: woop
- name: Build harmony binary and packages for Linux - name: Build woop binary and packages for Linux
if: matrix.os == 'ubuntu-22.04' if: matrix.os == 'ubuntu-22.04'
run: | run: |
make linux_static make linux_static
make deb make deb
echo %_signature gpg >> $HOME/.rpmmacros && echo "%_gpg_name Harmony (harmony.one)" >> $HOME/.rpmmacros echo %_signature gpg >> $HOME/.rpmmacros && echo "%_gpg_name Woop (wikiwoop.com)" >> $HOME/.rpmmacros
make rpm make rpm
mv ./bin/harmony ./bin/harmony-amd64 mv ./bin/woop ./bin/woop-amd64
mv $HOME/debbuild/harmony-$build_version-$build_release.deb ./bin/ mv $HOME/debbuild/woop-$build_version-$build_release.deb ./bin/
mv $HOME/rpmbuild/RPMS/x86_64/harmony-$build_version-$build_release.x86_64.rpm ./bin/ mv $HOME/rpmbuild/RPMS/x86_64/woop-$build_version-$build_release.x86_64.rpm ./bin/
working-directory: harmony working-directory: woop
- name: Build harmony binary and packages for Linux on ARM64 - name: Build woop binary and packages for Linux on ARM64
if: join(matrix.os, '-') == 'self-hosted-linux-ARM64' if: join(matrix.os, '-') == 'self-hosted-linux-ARM64'
run: | run: |
make linux_static make linux_static
mv ./bin/harmony ./bin/harmony-arm64 mv ./bin/woop ./bin/woop-arm64
working-directory: harmony working-directory: woop
- name: Build harmony binary and packages for MacOS - name: Build woop binary and packages for MacOS
if: matrix.os == 'macos-12' if: matrix.os == 'macos-12'
run: | run: |
brew install bash brew install bash
@ -111,29 +111,29 @@ jobs:
sudo ln -sf /usr/local/opt/openssl@1.1 /usr/local/opt/openssl sudo ln -sf /usr/local/opt/openssl@1.1 /usr/local/opt/openssl
make make
cd ./bin && mkdir ./lib && mv ./*.dylib ./lib && rm -f ./bootnode cd ./bin && mkdir ./lib && mv ./*.dylib ./lib && rm -f ./bootnode
gpg --detach-sign harmony gpg --detach-sign woop
zip -qr ./harmony-macos.zip ./* zip -qr ./woop-macos.zip ./*
rm -rf `ls * | egrep -v harmony-macos.zip` rm -rf `ls * | egrep -v woop-macos.zip`
working-directory: harmony working-directory: woop
- name: Upload artifact - name: Upload artifact
uses: actions/upload-artifact@v2 uses: actions/upload-artifact@v2
with: with:
name: harmony name: woop
path: harmony/bin/* path: woop/bin/*
retention-days: 1 retention-days: 1
docker-build: docker-build:
name: Build and push harmony docker image name: Build and push woop docker image
needs: [check, build] needs: [check, build]
runs-on: ubuntu-22.04 runs-on: ubuntu-22.04
if: needs.check.outputs.tag_annotated == 'true' if: needs.check.outputs.tag_annotated == 'true'
steps: steps:
- name: Checkout harmony core code - name: Checkout woop core code
uses: actions/checkout@v3 uses: actions/checkout@v3
with: with:
path: harmony path: woop
ref: ${{ github.event.inputs.tag }} ref: ${{ github.event.inputs.tag }}
fetch-depth: 0 fetch-depth: 0
@ -143,17 +143,17 @@ jobs:
RELEASE=$(git describe --long | cut -f2 -d-) RELEASE=$(git describe --long | cut -f2 -d-)
echo "build_version=$VERSION" >> $GITHUB_ENV echo "build_version=$VERSION" >> $GITHUB_ENV
echo "build_release=$RELEASE" >> $GITHUB_ENV echo "build_release=$RELEASE" >> $GITHUB_ENV
working-directory: harmony working-directory: woop
- name: Download artifact - name: Download artifact
uses: actions/download-artifact@v3 uses: actions/download-artifact@v3
with: with:
name: harmony name: woop
- name: Build preview works - name: Build preview works
run: | run: |
mv $GITHUB_WORKSPACE/harmony-amd64 ./scripts/docker/harmony mv $GITHUB_WORKSPACE/woop-amd64 ./scripts/docker/woop
working-directory: harmony working-directory: woop
- name: Set up Docker Buildx - name: Set up Docker Buildx
uses: docker/setup-buildx-action@v2 uses: docker/setup-buildx-action@v2
@ -167,12 +167,12 @@ jobs:
- name: Build and push - name: Build and push
uses: docker/build-push-action@v3 uses: docker/build-push-action@v3
with: with:
context: ./harmony/scripts/docker context: ./woop/scripts/docker
file: ./harmony/scripts/docker/Dockerfile file: ./woop/scripts/docker/Dockerfile
push: true push: true
tags: | tags: |
harmonyone/harmony:${{ github.event.inputs.tag }} woopchain/woop:${{ github.event.inputs.tag }}
harmonyone/harmony:${{ env.build_version }}-${{ env.build_release }} woopchain/woop:${{ env.build_version }}-${{ env.build_release }}
release-page: release-page:
name: Sign binary and create and publish release page name: Sign binary and create and publish release page
@ -187,10 +187,10 @@ jobs:
gpg_private_key: ${{ secrets.GPG_PRIVATE_KEY }} gpg_private_key: ${{ secrets.GPG_PRIVATE_KEY }}
passphrase: ${{ secrets.GPG_PRIVATE_KEY_PASS }} passphrase: ${{ secrets.GPG_PRIVATE_KEY_PASS }}
- name: Checkout harmony core code - name: Checkout woop core code
uses: actions/checkout@v3 uses: actions/checkout@v3
with: with:
path: harmony path: woop
ref: ${{ github.event.inputs.tag }} ref: ${{ github.event.inputs.tag }}
fetch-depth: 0 fetch-depth: 0
@ -202,26 +202,26 @@ jobs:
echo "build_version=$VERSION" >> $GITHUB_ENV echo "build_version=$VERSION" >> $GITHUB_ENV
echo "build_version_long=$VERSION_LONG" >> $GITHUB_ENV echo "build_version_long=$VERSION_LONG" >> $GITHUB_ENV
echo "build_release=$RELEASE" >> $GITHUB_ENV echo "build_release=$RELEASE" >> $GITHUB_ENV
working-directory: harmony working-directory: woop
- name: Download artifact - name: Download artifact
uses: actions/download-artifact@v3 uses: actions/download-artifact@v3
with: with:
name: harmony name: woop
- name: Signed amd64 harmony binary - name: Signed amd64 woop binary
run: | run: |
gpg --detach-sign harmony-amd64 gpg --detach-sign woop-amd64
sha256sum harmony-amd64 >> harmony-amd64.sha256 sha256sum woop-amd64 >> woop-amd64.sha256
- name: Signed arm64 harmony binary - name: Signed arm64 woop binary
run: | run: |
gpg --detach-sign harmony-arm64 gpg --detach-sign woop-arm64
sha256sum harmony-arm64 >> harmony-arm64.sha256 sha256sum woop-arm64 >> woop-arm64.sha256
- name: Signed amd64 harmony binary - name: Signed amd64 woop binary
run: | run: |
shasum -a 256 harmony-macos.zip >> harmony-macos.zip.sha256 shasum -a 256 woop-macos.zip >> woop-macos.zip.sha256
- name: Get tag message - name: Get tag message
env: env:
@ -230,7 +230,7 @@ jobs:
touch ./tag_message.md touch ./tag_message.md
TAG_MESSAGE=$(git cat-file tag v$build_version | tail -n+6) TAG_MESSAGE=$(git cat-file tag v$build_version | tail -n+6)
echo -e "$TAG_MESSAGE\n\nThe released version: $build_version_long" >> ./tag_message.md echo -e "$TAG_MESSAGE\n\nThe released version: $build_version_long" >> ./tag_message.md
working-directory: harmony working-directory: woop
- name: Create Release - name: Create Release
id: create_release id: create_release
@ -242,114 +242,114 @@ jobs:
release_name: Mainnet Release ${{ env.build_version }} release_name: Mainnet Release ${{ env.build_version }}
draft: true draft: true
prerelease: false prerelease: false
body_path: ./harmony/tag_message.md body_path: ./woop/tag_message.md
- name: Upload harmony binary for Linux - name: Upload woop binary for Linux
uses: actions/upload-release-asset@v1 uses: actions/upload-release-asset@v1
env: env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with: with:
upload_url: ${{ steps.create_release.outputs.upload_url }} upload_url: ${{ steps.create_release.outputs.upload_url }}
asset_path: ./harmony-amd64 asset_path: ./woop-amd64
asset_name: harmony asset_name: woop
asset_content_type: application/octet-stream asset_content_type: application/octet-stream
- name: Upload harmony deb package for Linux - name: Upload woop deb package for Linux
uses: actions/upload-release-asset@v1 uses: actions/upload-release-asset@v1
env: env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with: with:
upload_url: ${{ steps.create_release.outputs.upload_url }} upload_url: ${{ steps.create_release.outputs.upload_url }}
asset_path: ./harmony-${{ env.build_version }}-${{ env.build_release }}.deb asset_path: ./woop-${{ env.build_version }}-${{ env.build_release }}.deb
asset_name: harmony-${{ env.build_version }}.deb asset_name: woop-${{ env.build_version }}.deb
asset_content_type: application/x-deb asset_content_type: application/x-deb
- name: Upload harmony rpm package for Linux - name: Upload woop rpm package for Linux
uses: actions/upload-release-asset@v1 uses: actions/upload-release-asset@v1
env: env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with: with:
upload_url: ${{ steps.create_release.outputs.upload_url }} upload_url: ${{ steps.create_release.outputs.upload_url }}
asset_path: ./harmony-${{ env.build_version }}-${{ env.build_release }}.x86_64.rpm asset_path: ./woop-${{ env.build_version }}-${{ env.build_release }}.x86_64.rpm
asset_name: harmony-${{ env.build_version }}.x86_64.rpm asset_name: woop-${{ env.build_version }}.x86_64.rpm
asset_content_type: application/x-rpm asset_content_type: application/x-rpm
- name: Upload harmony amd64 binary for Linux - name: Upload woop amd64 binary for Linux
uses: actions/upload-release-asset@v1 uses: actions/upload-release-asset@v1
env: env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with: with:
upload_url: ${{ steps.create_release.outputs.upload_url }} upload_url: ${{ steps.create_release.outputs.upload_url }}
asset_path: ./harmony-amd64 asset_path: ./woop-amd64
asset_name: harmony-amd64 asset_name: woop-amd64
asset_content_type: application/octet-stream asset_content_type: application/octet-stream
- name: Upload sha256 signature of harmony amd64 binary for Linux - name: Upload sha256 signature of woop amd64 binary for Linux
uses: actions/upload-release-asset@v1 uses: actions/upload-release-asset@v1
env: env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with: with:
upload_url: ${{ steps.create_release.outputs.upload_url }} upload_url: ${{ steps.create_release.outputs.upload_url }}
asset_path: ./harmony-amd64.sha256 asset_path: ./woop-amd64.sha256
asset_name: harmony-amd64.sha256 asset_name: woop-amd64.sha256
asset_content_type: text/plain asset_content_type: text/plain
- name: Upload gpg signature of harmony amd64 binary for Linux - name: Upload gpg signature of woop amd64 binary for Linux
uses: actions/upload-release-asset@v1 uses: actions/upload-release-asset@v1
env: env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with: with:
upload_url: ${{ steps.create_release.outputs.upload_url }} upload_url: ${{ steps.create_release.outputs.upload_url }}
asset_path: ./harmony-amd64.sig asset_path: ./woop-amd64.sig
asset_name: harmony-amd64.sig asset_name: woop-amd64.sig
asset_content_type: application/octet-stream asset_content_type: application/octet-stream
- name: Upload harmony arm64 binary for Linux - name: Upload woop arm64 binary for Linux
uses: actions/upload-release-asset@v1 uses: actions/upload-release-asset@v1
env: env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with: with:
upload_url: ${{ steps.create_release.outputs.upload_url }} upload_url: ${{ steps.create_release.outputs.upload_url }}
asset_path: ./harmony-arm64 asset_path: ./woop-arm64
asset_name: harmony-arm64 asset_name: woop-arm64
asset_content_type: application/octet-stream asset_content_type: application/octet-stream
- name: Upload sha256 signature of harmony arm64 binary for Linux - name: Upload sha256 signature of woop arm64 binary for Linux
uses: actions/upload-release-asset@v1 uses: actions/upload-release-asset@v1
env: env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with: with:
upload_url: ${{ steps.create_release.outputs.upload_url }} upload_url: ${{ steps.create_release.outputs.upload_url }}
asset_path: ./harmony-arm64.sha256 asset_path: ./woop-arm64.sha256
asset_name: harmony-arm64.sha256 asset_name: woop-arm64.sha256
asset_content_type: text/plain asset_content_type: text/plain
- name: Upload gpg signature of harmony arm64 binary for Linux - name: Upload gpg signature of woop arm64 binary for Linux
uses: actions/upload-release-asset@v1 uses: actions/upload-release-asset@v1
env: env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with: with:
upload_url: ${{ steps.create_release.outputs.upload_url }} upload_url: ${{ steps.create_release.outputs.upload_url }}
asset_path: ./harmony-arm64.sig asset_path: ./woop-arm64.sig
asset_name: harmony-arm64.sig asset_name: woop-arm64.sig
asset_content_type: application/octet-stream asset_content_type: application/octet-stream
- name: Upload harmony binary for MacOS - name: Upload woop binary for MacOS
uses: actions/upload-release-asset@v1 uses: actions/upload-release-asset@v1
env: env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with: with:
upload_url: ${{ steps.create_release.outputs.upload_url }} upload_url: ${{ steps.create_release.outputs.upload_url }}
asset_path: ./harmony-macos.zip asset_path: ./woop-macos.zip
asset_name: harmony-macos-${{ env.build_version }}.zip asset_name: woop-macos-${{ env.build_version }}.zip
asset_content_type: application/zip asset_content_type: application/zip
- name: Upload sha256 signature of harmony for MacOS - name: Upload sha256 signature of woop for MacOS
uses: actions/upload-release-asset@v1 uses: actions/upload-release-asset@v1
env: env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with: with:
upload_url: ${{ steps.create_release.outputs.upload_url }} upload_url: ${{ steps.create_release.outputs.upload_url }}
asset_path: ./harmony-macos.zip.sha256 asset_path: ./woop-macos.zip.sha256
asset_name: harmony-macos.zip.sha256 asset_name: woop-macos.zip.sha256
asset_content_type: text/plain asset_content_type: text/plain

@ -1,4 +1,4 @@
name: release harmony name: release woop
on: on:
push: push:
@ -14,10 +14,10 @@ jobs:
tag_annotated: ${{ steps.check-tag-annotated.outputs.tag_annotated }} tag_annotated: ${{ steps.check-tag-annotated.outputs.tag_annotated }}
steps: steps:
- name: Checkout harmony core code - name: Checkout woop core code
uses: actions/checkout@v3 uses: actions/checkout@v3
with: with:
path: harmony path: woop
ref: ${{ github.ref }} ref: ${{ github.ref }}
fetch-depth: 0 fetch-depth: 0
@ -31,10 +31,10 @@ jobs:
else else
echo "::set-output name=tag_annotated::false" echo "::set-output name=tag_annotated::false"
fi fi
working-directory: harmony working-directory: woop
build: build:
name: Build harmony binary name: Build woop binary
needs: check needs: check
runs-on: ${{ matrix.os }} runs-on: ${{ matrix.os }}
if: needs.check.outputs.tag_annotated == 'true' if: needs.check.outputs.tag_annotated == 'true'
@ -53,26 +53,26 @@ jobs:
- name: Checkout dependence repo - name: Checkout dependence repo
uses: actions/checkout@v3 uses: actions/checkout@v3
with: with:
repository: harmony-one/mcl repository: woop-chain/mcl
path: mcl path: mcl
- name: Checkout dependence repo - name: Checkout dependence repo
uses: actions/checkout@v3 uses: actions/checkout@v3
with: with:
repository: harmony-one/bls repository: woop-chain/bls
path: bls path: bls
- name: Checkout harmony core code - name: Checkout woop core code
uses: actions/checkout@v3 uses: actions/checkout@v3
with: with:
path: harmony path: woop
ref: ${{ github.ref }} ref: ${{ github.ref }}
fetch-depth: 0 fetch-depth: 0
- name: Set up Go with go.mod - name: Set up Go with go.mod
uses: actions/setup-go@v3 uses: actions/setup-go@v3
with: with:
go-version-file: 'harmony/go.mod' go-version-file: 'woop/go.mod'
- name: Get latest version and release - name: Get latest version and release
run: | run: |
@ -80,28 +80,28 @@ jobs:
RELEASE=$(git describe --long | cut -f2 -d-) RELEASE=$(git describe --long | cut -f2 -d-)
echo "build_version=$VERSION" >> $GITHUB_ENV echo "build_version=$VERSION" >> $GITHUB_ENV
echo "build_release=$RELEASE" >> $GITHUB_ENV echo "build_release=$RELEASE" >> $GITHUB_ENV
working-directory: harmony working-directory: woop
- name: Build harmony binary and packages for Linux - name: Build woop binary and packages for Linux
if: matrix.os == 'ubuntu-22.04' if: matrix.os == 'ubuntu-22.04'
run: | run: |
make linux_static make linux_static
make deb make deb
echo %_signature gpg >> $HOME/.rpmmacros && echo "%_gpg_name Harmony (harmony.one)" >> $HOME/.rpmmacros echo %_signature gpg >> $HOME/.rpmmacros && echo "%_gpg_name Woop (wikiwoop.com)" >> $HOME/.rpmmacros
make rpm make rpm
mv ./bin/harmony ./bin/harmony-amd64 mv ./bin/woop ./bin/woop-amd64
mv $HOME/debbuild/harmony-$build_version-$build_release.deb ./bin/ mv $HOME/debbuild/woop-$build_version-$build_release.deb ./bin/
mv $HOME/rpmbuild/RPMS/x86_64/harmony-$build_version-$build_release.x86_64.rpm ./bin/ mv $HOME/rpmbuild/RPMS/x86_64/woop-$build_version-$build_release.x86_64.rpm ./bin/
working-directory: harmony working-directory: woop
- name: Build harmony binary and packages for Linux - name: Build woop binary and packages for Linux
if: join(matrix.os, '-') == 'self-hosted-linux-ARM64' if: join(matrix.os, '-') == 'self-hosted-linux-ARM64'
run: | run: |
make linux_static make linux_static
mv ./bin/harmony ./bin/harmony-arm64 mv ./bin/woop ./bin/woop-arm64
working-directory: harmony working-directory: woop
- name: Build harmony binary and packages for MacOS - name: Build woop binary and packages for MacOS
if: matrix.os == 'macos-12' if: matrix.os == 'macos-12'
run: | run: |
brew install bash brew install bash
@ -113,29 +113,29 @@ jobs:
sudo ln -sf /usr/local/opt/gmp /opt/homebrew/opt/gmp sudo ln -sf /usr/local/opt/gmp /opt/homebrew/opt/gmp
make make
cd ./bin && mkdir ./lib && mv ./*.dylib ./lib && rm -f ./bootnode cd ./bin && mkdir ./lib && mv ./*.dylib ./lib && rm -f ./bootnode
gpg --detach-sign harmony gpg --detach-sign woop
zip -qr ./harmony-macos.zip ./* zip -qr ./woop-macos.zip ./*
rm -rf `ls * | egrep -v harmony-macos.zip` rm -rf `ls * | egrep -v woop-macos.zip`
working-directory: harmony working-directory: woop
- name: Upload artifact - name: Upload artifact
uses: actions/upload-artifact@v2 uses: actions/upload-artifact@v2
with: with:
name: harmony name: woop
path: harmony/bin/* path: woop/bin/*
retention-days: 1 retention-days: 1
docker-build: docker-build:
name: Build and push harmony docker image name: Build and push woop docker image
needs: [check, build] needs: [check, build]
runs-on: ubuntu-22.04 runs-on: ubuntu-22.04
if: needs.check.outputs.tag_annotated == 'true' if: needs.check.outputs.tag_annotated == 'true'
steps: steps:
- name: Checkout harmony core code - name: Checkout woop core code
uses: actions/checkout@v3 uses: actions/checkout@v3
with: with:
path: harmony path: woop
ref: ${{ github.ref }} ref: ${{ github.ref }}
fetch-depth: 0 fetch-depth: 0
@ -145,17 +145,17 @@ jobs:
RELEASE=$(git describe --long | cut -f2 -d-) RELEASE=$(git describe --long | cut -f2 -d-)
echo "build_version=$VERSION" >> $GITHUB_ENV echo "build_version=$VERSION" >> $GITHUB_ENV
echo "build_release=$RELEASE" >> $GITHUB_ENV echo "build_release=$RELEASE" >> $GITHUB_ENV
working-directory: harmony working-directory: woop
- name: Download artifact - name: Download artifact
uses: actions/download-artifact@v3 uses: actions/download-artifact@v3
with: with:
name: harmony name: woop
- name: Build preview works - name: Build preview works
run: | run: |
mv $GITHUB_WORKSPACE/harmony-amd64 ./scripts/docker/harmony mv $GITHUB_WORKSPACE/woop-amd64 ./scripts/docker/woop
working-directory: harmony working-directory: woop
- name: Set up Docker Buildx - name: Set up Docker Buildx
uses: docker/setup-buildx-action@v2 uses: docker/setup-buildx-action@v2
@ -169,12 +169,12 @@ jobs:
- name: Build and push - name: Build and push
uses: docker/build-push-action@v3 uses: docker/build-push-action@v3
with: with:
context: ./harmony/scripts/docker context: ./woop/scripts/docker
file: ./harmony/scripts/docker/Dockerfile file: ./woop/scripts/docker/Dockerfile
push: true push: true
tags: | tags: |
harmonyone/harmony:latest woopchain/woop:latest
harmonyone/harmony:${{ env.build_version }}-${{ env.build_release }} woopchain/woop:${{ env.build_version }}-${{ env.build_release }}
release-page: release-page:
name: Sign binary and create and publish release page name: Sign binary and create and publish release page
@ -189,10 +189,10 @@ jobs:
gpg_private_key: ${{ secrets.GPG_PRIVATE_KEY }} gpg_private_key: ${{ secrets.GPG_PRIVATE_KEY }}
passphrase: ${{ secrets.GPG_PRIVATE_KEY_PASS }} passphrase: ${{ secrets.GPG_PRIVATE_KEY_PASS }}
- name: Checkout harmony core code - name: Checkout woop core code
uses: actions/checkout@v3 uses: actions/checkout@v3
with: with:
path: harmony path: woop
ref: ${{ github.ref }} ref: ${{ github.ref }}
fetch-depth: 0 fetch-depth: 0
@ -204,26 +204,26 @@ jobs:
echo "build_version=$VERSION" >> $GITHUB_ENV echo "build_version=$VERSION" >> $GITHUB_ENV
echo "build_version_long=$VERSION_LONG" >> $GITHUB_ENV echo "build_version_long=$VERSION_LONG" >> $GITHUB_ENV
echo "build_release=$RELEASE" >> $GITHUB_ENV echo "build_release=$RELEASE" >> $GITHUB_ENV
working-directory: harmony working-directory: woop
- name: Download artifact - name: Download artifact
uses: actions/download-artifact@v3 uses: actions/download-artifact@v3
with: with:
name: harmony name: woop
- name: Signed amd64 harmony binary - name: Signed amd64 woop binary
run: | run: |
gpg --detach-sign harmony-amd64 gpg --detach-sign woop-amd64
sha256sum harmony-amd64 >> harmony-amd64.sha256 sha256sum woop-amd64 >> woop-amd64.sha256
- name: Signed arm64 harmony binary - name: Signed arm64 woop binary
run: | run: |
gpg --detach-sign harmony-arm64 gpg --detach-sign woop-arm64
sha256sum harmony-arm64 >> harmony-arm64.sha256 sha256sum woop-arm64 >> woop-arm64.sha256
- name: Signed amd64 harmony binary - name: Signed amd64 woop binary
run: | run: |
shasum -a 256 harmony-macos.zip >> harmony-macos.zip.sha256 shasum -a 256 woop-macos.zip >> woop-macos.zip.sha256
- name: Get tag message - name: Get tag message
env: env:
@ -232,7 +232,7 @@ jobs:
touch ./tag_message.md touch ./tag_message.md
TAG_MESSAGE=$(git cat-file tag v$build_version | tail -n+6) TAG_MESSAGE=$(git cat-file tag v$build_version | tail -n+6)
echo -e "$TAG_MESSAGE\n\nThe released version: $build_version_long" >> ./tag_message.md echo -e "$TAG_MESSAGE\n\nThe released version: $build_version_long" >> ./tag_message.md
working-directory: harmony working-directory: woop
- name: Create Release - name: Create Release
id: create_release id: create_release
@ -244,114 +244,114 @@ jobs:
release_name: Mainnet Release ${{ env.build_version }} release_name: Mainnet Release ${{ env.build_version }}
draft: true draft: true
prerelease: false prerelease: false
body_path: ./harmony/tag_message.md body_path: ./woop/tag_message.md
- name: Upload harmony binary for Linux - name: Upload woop binary for Linux
uses: actions/upload-release-asset@v1 uses: actions/upload-release-asset@v1
env: env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with: with:
upload_url: ${{ steps.create_release.outputs.upload_url }} upload_url: ${{ steps.create_release.outputs.upload_url }}
asset_path: ./harmony-amd64 asset_path: ./woop-amd64
asset_name: harmony asset_name: woop
asset_content_type: application/octet-stream asset_content_type: application/octet-stream
- name: Upload harmony deb package for Linux - name: Upload woop deb package for Linux
uses: actions/upload-release-asset@v1 uses: actions/upload-release-asset@v1
env: env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with: with:
upload_url: ${{ steps.create_release.outputs.upload_url }} upload_url: ${{ steps.create_release.outputs.upload_url }}
asset_path: ./harmony-${{ env.build_version }}-${{ env.build_release }}.deb asset_path: ./woop-${{ env.build_version }}-${{ env.build_release }}.deb
asset_name: harmony-${{ env.build_version }}.deb asset_name: woop-${{ env.build_version }}.deb
asset_content_type: application/x-deb asset_content_type: application/x-deb
- name: Upload harmony rpm package for Linux - name: Upload woop rpm package for Linux
uses: actions/upload-release-asset@v1 uses: actions/upload-release-asset@v1
env: env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with: with:
upload_url: ${{ steps.create_release.outputs.upload_url }} upload_url: ${{ steps.create_release.outputs.upload_url }}
asset_path: ./harmony-${{ env.build_version }}-${{ env.build_release }}.x86_64.rpm asset_path: ./woop-${{ env.build_version }}-${{ env.build_release }}.x86_64.rpm
asset_name: harmony-${{ env.build_version }}.x86_64.rpm asset_name: woop-${{ env.build_version }}.x86_64.rpm
asset_content_type: application/x-rpm asset_content_type: application/x-rpm
- name: Upload harmony amd64 binary for Linux - name: Upload woop amd64 binary for Linux
uses: actions/upload-release-asset@v1 uses: actions/upload-release-asset@v1
env: env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with: with:
upload_url: ${{ steps.create_release.outputs.upload_url }} upload_url: ${{ steps.create_release.outputs.upload_url }}
asset_path: ./harmony-amd64 asset_path: ./woop-amd64
asset_name: harmony-amd64 asset_name: woop-amd64
asset_content_type: application/octet-stream asset_content_type: application/octet-stream
- name: Upload sha256 signature of harmony amd64 binary for Linux - name: Upload sha256 signature of woop amd64 binary for Linux
uses: actions/upload-release-asset@v1 uses: actions/upload-release-asset@v1
env: env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with: with:
upload_url: ${{ steps.create_release.outputs.upload_url }} upload_url: ${{ steps.create_release.outputs.upload_url }}
asset_path: ./harmony-amd64.sha256 asset_path: ./woop-amd64.sha256
asset_name: harmony-amd64.sha256 asset_name: woop-amd64.sha256
asset_content_type: text/plain asset_content_type: text/plain
- name: Upload gpg signature of harmony amd64 binary for Linux - name: Upload gpg signature of woop amd64 binary for Linux
uses: actions/upload-release-asset@v1 uses: actions/upload-release-asset@v1
env: env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with: with:
upload_url: ${{ steps.create_release.outputs.upload_url }} upload_url: ${{ steps.create_release.outputs.upload_url }}
asset_path: ./harmony-amd64.sig asset_path: ./woop-amd64.sig
asset_name: harmony-amd64.sig asset_name: woop-amd64.sig
asset_content_type: application/octet-stream asset_content_type: application/octet-stream
- name: Upload harmony arm64 binary for Linux - name: Upload woop arm64 binary for Linux
uses: actions/upload-release-asset@v1 uses: actions/upload-release-asset@v1
env: env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with: with:
upload_url: ${{ steps.create_release.outputs.upload_url }} upload_url: ${{ steps.create_release.outputs.upload_url }}
asset_path: ./harmony-arm64 asset_path: ./woop-arm64
asset_name: harmony-arm64 asset_name: woop-arm64
asset_content_type: application/octet-stream asset_content_type: application/octet-stream
- name: Upload sha256 signature of harmony arm64 binary for Linux - name: Upload sha256 signature of woop arm64 binary for Linux
uses: actions/upload-release-asset@v1 uses: actions/upload-release-asset@v1
env: env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with: with:
upload_url: ${{ steps.create_release.outputs.upload_url }} upload_url: ${{ steps.create_release.outputs.upload_url }}
asset_path: ./harmony-arm64.sha256 asset_path: ./woop-arm64.sha256
asset_name: harmony-arm64.sha256 asset_name: woop-arm64.sha256
asset_content_type: text/plain asset_content_type: text/plain
- name: Upload gpg signature of harmony arm64 binary for Linux - name: Upload gpg signature of woop arm64 binary for Linux
uses: actions/upload-release-asset@v1 uses: actions/upload-release-asset@v1
env: env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with: with:
upload_url: ${{ steps.create_release.outputs.upload_url }} upload_url: ${{ steps.create_release.outputs.upload_url }}
asset_path: ./harmony-arm64.sig asset_path: ./woop-arm64.sig
asset_name: harmony-arm64.sig asset_name: woop-arm64.sig
asset_content_type: application/octet-stream asset_content_type: application/octet-stream
- name: Upload harmony binary for MacOS - name: Upload woop binary for MacOS
uses: actions/upload-release-asset@v1 uses: actions/upload-release-asset@v1
env: env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with: with:
upload_url: ${{ steps.create_release.outputs.upload_url }} upload_url: ${{ steps.create_release.outputs.upload_url }}
asset_path: ./harmony-macos.zip asset_path: ./woop-macos.zip
asset_name: harmony-macos-${{ env.build_version }}.zip asset_name: woop-macos-${{ env.build_version }}.zip
asset_content_type: application/zip asset_content_type: application/zip
- name: Upload sha256 signature of harmony for MacOS - name: Upload sha256 signature of woop for MacOS
uses: actions/upload-release-asset@v1 uses: actions/upload-release-asset@v1
env: env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with: with:
upload_url: ${{ steps.create_release.outputs.upload_url }} upload_url: ${{ steps.create_release.outputs.upload_url }}
asset_path: ./harmony-macos.zip.sha256 asset_path: ./woop-macos.zip.sha256
asset_name: harmony-macos.zip.sha256 asset_name: woop-macos.zip.sha256
asset_content_type: text/plain asset_content_type: text/plain

10
.gitignore vendored

@ -46,8 +46,8 @@ bc_config.json
# leveldb local storage # leveldb local storage
db/ db/
# harmony node keystore # woop node keystore
.hmykey .wikikey
# staking keystore # staking keystore
.stakingkey .stakingkey
@ -68,7 +68,7 @@ node_modules/
test/.bnkey test/.bnkey
# exported keys # exported keys
.hmy/*.key .wiki/*.key
# blspass # blspass
blspass.txt blspass.txt
@ -86,11 +86,11 @@ db-127.0.0.1-*
coverage.txt coverage.txt
# testdata directory # testdata directory
harmony_db_* woop_db_*
explorer_storage_* explorer_storage_*
# local blskeys for testing # local blskeys for testing
.hmy/blskeys .wiki/blskeys
# pprof profiles # pprof profiles
profiles/*.pb.gz profiles/*.pb.gz

@ -1 +0,0 @@
e859f90f6cb272e078c5601ba6f921e53a881422928b10240aa50c5868af3db6f4fbbb30d91b232a8c0a1000355b8da9b510c0bb6eea36ba17a5ed8df875656e6e3467728c830e51ddfee1e736f986438e9d79ed56bc8f3d0e7734ec

@ -1 +0,0 @@
dd11eabd17b257220f9523efd6524f12b7c1356f21667a87fe1b8c630bdf9f7d247087f85a8f661a7ef8ccde6e6287d54361aa2287fdf258321a1cc1d885b45a3b636a23e40aec0357dbd699c82a36e07fff9ca6fd85f79652320113

@ -1 +0,0 @@
ef98515555a78fd211906a3eeaf2aca18452c48665b258b5e6a1600693ff65e8a3b6d6a3b1efd0775a297824d42d0454f4ae49789a8bc05bc2ff89b3eaa768754db6d2290fa013a6b6e42eeca8fa45a14c73192081fdd0820673ad17

@ -1 +0,0 @@
8ec21daae97cf60451250b08307df26f9d453860f3e98b4b8244d06846018a4f02c1183373bdf21d64c7ed203821df8e6026975c886ec3f3451127011696ffd8f591457ff12a1fa169b202944156408744374f89654d0d9367984dc0

@ -1 +0,0 @@
b9a18c5f14b14ac6a648a792265d28f81dab207b7367573b83c4a206e01e1bd238f3a0416c66554254a77a473dec0e68bd8bf30185c91b12b07d634e53fd3f7a059eaeca39ff2b67bc848eb05869fc05255121d53c1f0a11bf4f511d

@ -1 +0,0 @@
cdaa7ee86f59aa4bd326af635a899afb21b204882b1e911f5e5a250c76c044d1ccfbb15772d26e36ee9ffe6c290bdebfe49ac1cf1989c913f3d06c76d4c20ebf8ba4a00644405064e51ce2fbdc14c35892393c84e4cc98ca5f2780e6

@ -1 +0,0 @@
c3e2375e1f3d09399c96215861fd4f231e2ec9fd6ec9a8e1143efaff862893542610eacfcf93a76b359fc0a4644a41ffbae7e3d3f580d816231252e28f41633e297796baa3ddd94b9ef2b183ab2b678c675950ef3fbe64dc80e2a680

@ -1 +0,0 @@
2feddeb82936401a582b4d48aa7bc62f1ccabcad430ee9e70ca682392767a8a162d17f691cc22089f434c76c790e57ad0ce93a61aa070b87f802f42d84ac02d3d33cc4baa4a643eeb53b19c4105ba01e2dd7a3cccb75b0678cc71d21

@ -1 +0,0 @@
10f1173239fc903360055a2ffe37948cddbb2b199f66572af56e623b6681c100f2fc71b08cef8fd59c0a784047f321543d81aee9a2d493214c31e72852c5d1c8f350baf4d8667fec16f520680fc59371a0f874ffcc9cd5c824291ff5

@ -1 +0,0 @@
837cdffcc049ba89931d570e4be38bfef513df65d8dd277b0da8e62adf8c23b3c5229a2a4b36aa2c90c17d490dd5f95869365ebc4429d1efc784d25a64db246870d4bb4831d98ec02317ea88b76491a7fdfd2fa5e10f267e8f3989d9

@ -1 +0,0 @@
3866b51e59955446f625063edc6a6f352662e92224ce78a2921e7699d478ace9d1c7a3c7c1932a81c5d7fc677e9c7620fe414a0b8e852bc075d600455e8b07b0918296e2914a656764e438e6978623f23ae63207ef4b377aac478048

@ -1 +0,0 @@
56e7156cfa4151f7beb62d94f92bf08f0544cc35aa65eec1c68f0db99fdef68dd0cc354ba61e949dd962100216155e86052272965b7063d8ebb9a6c7be9c35ab421415f12d05dc0c719b6ac2b3ec20fedc267fbf6a4f022925bc45bf

@ -1 +0,0 @@
926454b15914a0d0a18686173dcee027bd6cb3911866f360a3b383b240431c75130e2f3b3697f5117e072a6c7fc39dcdeb8b1e790034e844b070867740d5eb2d918b649701490e56aecdb7ef22c335d6300a103719c98bb094aec530

@ -1 +0,0 @@
d2e561f8184c1e2ab98a77c82cec7aa6ee2d729ce7664c35784299245c5a2f98afeda45049ff55ac19ad7fe8c9a13d57fd2f250b4a0bcba9146f01d789ce8fbab4433ca09fbf3f6d476f7832a62539c4c12ac7fa5ce37d535c1d21e9

@ -1 +0,0 @@
dbbf69ebbe21d0da28bbf96294171b17644f40bce2bd38470b9345c75811b9685587b0acf9b1806b48a28e7cc56e5e4daad281d2950612beaeef607e8aa71bbc33ed91f76c170b1efe6691a4038ab3b149ac771279ee9ea90b501444

@ -1 +0,0 @@
2d531f231ea393b00d1e74887135dbc6144ccbb683438b7f1b7b9a217ca890ef82ba0a2fad7c103f31ac46cc6cbf073d4489726b3069af3414c930234d284453292cd1a5c14baf884a1f074fe4f70856c2e454e0da1f6acd1d745671

@ -1 +0,0 @@
5ea6f866b075e1c42d2a0aa72862f5161b45e4e5064f87f12c241d43425cdce6f785697d3a7dc40a7b17222543390dac8e4908e71c44a7180f86bda6930b1df96d59adb70f24756c4c4430325b6a2ba36364870dd768d55a4a0c86e1

@ -1 +0,0 @@
764e55fb6b84617d188846e274152ca564b8b013cfe661661bd7c6681fdae3b000ef96c0654cdd7ff8755d32768e3770c4137e9d08c5ea7c8083705f41aae761bc03737cf316382f51c63d9e335a4c6a2d770e190ce5306cdca7821a

@ -1 +0,0 @@
4f10ae42aefd0acfc50cc2a5874eff7ecd98c8a2a6bb9fa7f35f7e23a71211a24d8428b13472558000193d03077afdc5d534e0a91e0113114d141783db621499f7866bcf56300befd2a60408e56d9908069cc51e2216113f050c3d3e

@ -1 +0,0 @@
b3dae95cb93d7081949f19fa14b682254b52034de91020394a7df5bc87c0629ff73e3fc8ad760d911ea9fb488587d3bc36520e936d85e29bfa303db66dacc56728191906b686fc5ea73a63efb83c423f01e150b6737bd07c4763155c

@ -1 +0,0 @@
f7255c1a11961a9dd4f7b0776c6113fc479829880abe05a16322099b651d5b31b829f63794d9c89fe7e9fc9729f7a722b566b77ca3f50824895b4ce26779ecfcfe6e50908f7fd26b101d34f0addb0b6cab5d2d48e82c7db9964dd09d

@ -1 +0,0 @@
8e1c2ffc67eeb241e00f5a87a280cb1705f38dd5e21a727aaccf1f82f60256ff9b7e409e2a059fcaae2f7b41a76ef58149d25fe9c47626ca1df012661d344d9f8a25d817183c55e8be840f5a155e7374cf1044e0abbaa23e6ac0c041

@ -1 +0,0 @@
e32f49038a6eddd0734bc444789ee24cee3ca53f10f9fab44c103099ce0cb3d6978f524cdacbf5b1d4d99e8cca7c3ffe0ebc7f9bc256b9a47b0b3b5a09f821718ee948e28bd3e6392f113a79f9a1a1bfc7b743b2dc06a8a1dc9dd1e9

@ -1 +0,0 @@
04708dbccd097c7f1278b51f6e72a8dead4f913c55dbc412f5d4519ed67d8fb56944c719a544fe724f0648ac9a74875d5458855e7bb434eaae0249f3b6fafbf311147de2f1e64e0394043e55c6cec92ce28af61dda93da6bf65523d3

@ -1 +0,0 @@
2ddd1d3d707da7a1a790aa1c3712c7457eaf63430cdefbd8988602369b112a4b2bde7d1e9769a6e980dc168ed337021bec96ba72607272ba6efdac603bda0d601e0e757384ed92b83f7a99efe412d08d13a9540e654e57aa9f702553

@ -1 +0,0 @@
0eb52e17542aac608b63b714b4f00e620c47743524c9367c9d0c2cb770c727c81167f0b5e94c59c9c0e68864407ca4c64922f6b23a22cb93fa260486d17d67faab495acc567ee41adadffe36632e00d36a903f26cbc60055c5c681ad

@ -1,2 +1,2 @@
%_topdir %(echo $HOME)/rpmbuild %_topdir %(echo $HOME)/rpmbuild
%_gpg_name Leo Chen <leo@harmony.one> %_gpg_name Woop Chain <info@wikiwoop.com>

@ -3,7 +3,7 @@ dist: jammy
language: go language: go
go: go:
- 1.19.5 - 1.19.5
go_import_path: github.com/harmony-one/harmony go_import_path: github.com/woop-chain/woop
cache: cache:
directories: directories:
- docker_images - docker_images
@ -23,18 +23,18 @@ addons:
install: install:
# default working directory with source code is automatically set to # default working directory with source code is automatically set to
# /home/travis/gopath/src/github.com/harmony-one/harmony # /home/travis/gopath/src/github.com/woop-chain/woop
# https://docs.travis-ci.com/user/languages/go/#go-import-path # https://docs.travis-ci.com/user/languages/go/#go-import-path
- echo $TRAVIS_PULL_REQUEST_BRANCH - echo $TRAVIS_PULL_REQUEST_BRANCH
- git clone https://github.com/harmony-one/mcl.git $GOPATH/src/github.com/harmony-one/mcl - git clone https://github.com/woop-chain/mcl.git $GOPATH/src/github.com/woop-chain/mcl
- git clone https://github.com/harmony-one/bls.git $GOPATH/src/github.com/harmony-one/bls - git clone https://github.com/woop-chain/bls.git $GOPATH/src/github.com/woop-chain/bls
- git clone https://github.com/harmony-one/harmony-test.git $GOPATH/src/github.com/harmony-one/harmony-test - git clone https://github.com/woop-chain/woop-test.git $GOPATH/src/github.com/woop-chain/woop-test
- (cd $GOPATH/src/github.com/harmony-one/mcl; make -j4) - (cd $GOPATH/src/github.com/woop-chain/mcl; make -j4)
- (cd $GOPATH/src/github.com/harmony-one/bls; make BLS_SWAP_G=1 -j4) - (cd $GOPATH/src/github.com/woop-chain/bls; make BLS_SWAP_G=1 -j4)
# - curl -sSfL https://raw.githubusercontent.com/golangci/golangci-lint/master/install.sh | sh -s -- -b $(go env GOPATH)/bin v1.41.1 # - curl -sSfL https://raw.githubusercontent.com/golangci/golangci-lint/master/install.sh | sh -s -- -b $(go env GOPATH)/bin v1.41.1
- make go-get - make go-get
- go install golang.org/x/tools/cmd/goimports@latest - go install golang.org/x/tools/cmd/goimports@latest
- go install github.com/harmony-ek/gencodec@latest - go install github.com/woop-chain/gencodec@latest
script: script:
- ${TEST} - ${TEST}
after_success: after_success:

@ -4,7 +4,7 @@ The black list is a newline delimited file of wallet addresses. It can also supp
## Default Location ## Default Location
By default, the harmony binary looks for the file `./.hmy/blaklist.txt`. By default, the woop binary looks for the file `./.wiki/blaklist.txt`.
## Example File ## Example File
``` ```

@ -55,7 +55,7 @@ further defined and clarified by project maintainers.
## Enforcement ## Enforcement
Instances of abusive, harassing, or otherwise unacceptable behavior may be Instances of abusive, harassing, or otherwise unacceptable behavior may be
reported by contacting the project team at info@harmony.one. All reported by contacting the project team at info@wikiwoop.com. All
complaints will be reviewed and investigated and will result in a response that 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 is deemed necessary and appropriate to the circumstances. The project team is
obligated to maintain confidentiality with regard to the reporter of an incident. obligated to maintain confidentiality with regard to the reporter of an incident.

@ -1,4 +1,4 @@
# Contributing To Harmony # Contributing To Woop
## Coding Guidelines ## Coding Guidelines
@ -11,7 +11,7 @@
This [github document](https://help.github.com/articles/creating-a-pull-request/) provides some guidance on how to create a pull request in github. This [github document](https://help.github.com/articles/creating-a-pull-request/) provides some guidance on how to create a pull request in github.
## PR requirement ## PR requirement
To pursue engineering excellence, we have insisted on the highest stardard on the quality of each PR. To pursue engineering excellence, we have insisted on the highest standard for the quality of each PR.
* For each PR, please run [golint](https://github.com/golang/lint), [goimports](https://godoc.org/golang.org/x/tools/cmd/goimports), to fix the basic issues/warnings. * For each PR, please run [golint](https://github.com/golang/lint), [goimports](https://godoc.org/golang.org/x/tools/cmd/goimports), to fix the basic issues/warnings.
* Make sure you understand [How to Write a Git Commit Message](https://chris.beams.io/posts/git-commit/). * Make sure you understand [How to Write a Git Commit Message](https://chris.beams.io/posts/git-commit/).
@ -21,12 +21,12 @@ To pursue engineering excellence, we have insisted on the highest stardard on th
The best practice is to reorder and squash your local commits before the PR submission to create an atomic and self-contained PR. The best practice is to reorder and squash your local commits before the PR submission to create an atomic and self-contained PR.
This [book chapter](https://git-scm.com/book/en/v2/Git-Tools-Rewriting-History) provides detailed explanation and guidance on how to rewrite the local git history. This [book chapter](https://git-scm.com/book/en/v2/Git-Tools-Rewriting-History) provides detailed explanation and guidance on how to rewrite the local git history.
For exampple, a typical workflow is like the following. For example, a typical workflow is like the following.
```bash ```bash
# assuming you are working on a fix of bug1, and use a local branch called "fixes_of_bug1". # assuming you are working on a fix of bug1, and use a local branch called "fixes_of_bug1".
git clone https://github.com/harmony-one/harmony git clone https://github.com/woop-chain/woop
cd harmony cd woop
# create a local branch to keep track of the origin/master # create a local branch to keep track of the origin/master
git branch fixes_of_bug1 origin/master git branch fixes_of_bug1 origin/master

@ -7,10 +7,10 @@ SHELL ["/bin/bash", "-c"]
ENV GOPATH=/root/go ENV GOPATH=/root/go
ENV GO111MODULE=on ENV GO111MODULE=on
ENV HMY_PATH=${GOPATH}/src/github.com/harmony-one ENV WIKI_PATH=${GOPATH}/src/github.com/woop-chain
ENV OPENSSL_DIR=/usr/lib/ssl ENV OPENSSL_DIR=/usr/lib/ssl
ENV MCL_DIR=${HMY_PATH}/mcl ENV MCL_DIR=${WIKI_PATH}/mcl
ENV BLS_DIR=${HMY_PATH}/bls ENV BLS_DIR=${WIKI_PATH}/bls
ENV CGO_CFLAGS="-I${BLS_DIR}/include -I${MCL_DIR}/include" ENV CGO_CFLAGS="-I${BLS_DIR}/include -I${MCL_DIR}/include"
ENV CGO_LDFLAGS="-L${BLS_DIR}/lib" ENV CGO_LDFLAGS="-L${BLS_DIR}/lib"
ENV LD_LIBRARY_PATH=${BLS_DIR}/lib:${MCL_DIR}/lib ENV LD_LIBRARY_PATH=${BLS_DIR}/lib:${MCL_DIR}/lib
@ -29,15 +29,15 @@ RUN mkdir ~/bin && \
RUN eval "$(~/bin/gimme ${GIMME_GO_VERSION})" RUN eval "$(~/bin/gimme ${GIMME_GO_VERSION})"
RUN git clone https://github.com/harmony-one/harmony.git ${HMY_PATH}/harmony RUN git clone https://github.com/woop-chain/woop.git ${WIKI_PATH}/woop
RUN git clone https://github.com/harmony-one/bls.git ${HMY_PATH}/bls RUN git clone https://github.com/woop-chain/bls.git ${WIKI_PATH}/bls
RUN git clone https://github.com/harmony-one/mcl.git ${HMY_PATH}/mcl RUN git clone https://github.com/woop-chain/mcl.git ${WIKI_PATH}/mcl
RUN git clone https://github.com/harmony-one/go-sdk.git ${HMY_PATH}/go-sdk RUN git clone https://github.com/woop-chain/go-sdk.git ${WIKI_PATH}/go-sdk
RUN cd ${HMY_PATH}/bls && make -j8 BLS_SWAP_G=1 RUN cd ${WIKI_PATH}/bls && make -j8 BLS_SWAP_G=1
RUN touch /root/.bash_profile && \ RUN touch /root/.bash_profile && \
gimme ${GIMME_GO_VERSION} >> /root/.bash_profile && \ gimme ${GIMME_GO_VERSION} >> /root/.bash_profile && \
@ -58,7 +58,7 @@ RUN . ~/.bash_profile; \
go install golang.org/x/tools/...; \ go install golang.org/x/tools/...; \
go install honnef.co/go/tools/cmd/staticcheck/... go install honnef.co/go/tools/cmd/staticcheck/...
WORKDIR ${HMY_PATH}/harmony WORKDIR ${WIKI_PATH}/woop
RUN scripts/install_build_tools.sh RUN scripts/install_build_tools.sh
@ -66,7 +66,7 @@ RUN go mod tidy
RUN scripts/go_executable_build.sh -S RUN scripts/go_executable_build.sh -S
RUN cd ${HMY_PATH}/go-sdk && make -j8 && cp hmy /root/bin RUN cd ${WIKI_PATH}/go-sdk && make -j8 && cp wiki /root/bin
ARG K1=one1tq4hy947c9gr8qzv06yxz4aeyhc9vn78al4rmu ARG K1=one1tq4hy947c9gr8qzv06yxz4aeyhc9vn78al4rmu
ARG K2=one1y5gmmzumajkm5mx3g2qsxtza2d3haq0zxyg47r ARG K2=one1y5gmmzumajkm5mx3g2qsxtza2d3haq0zxyg47r
@ -76,16 +76,16 @@ ARG KS1=8d222cffa99eb1fb86c581d9dfe7d60dd40ec62aa29056b7ff48028385270541
ARG KS2=da1800da5dedf02717696675c7a7e58383aff90b1014dfa1ab5b7bd1ce3ef535 ARG KS2=da1800da5dedf02717696675c7a7e58383aff90b1014dfa1ab5b7bd1ce3ef535
ARG KS3=f4267bb5a2f0e65b8f5792bb6992597fac2b35ebfac9885ce0f4152c451ca31a ARG KS3=f4267bb5a2f0e65b8f5792bb6992597fac2b35ebfac9885ce0f4152c451ca31a
RUN hmy keys import-private-key ${KS1} && \ RUN wiki keys import-private-key ${KS1} && \
hmy keys import-private-key ${KS2} && \ wiki keys import-private-key ${KS2} && \
hmy keys import-private-key ${KS3} && \ wiki keys import-private-key ${KS3} && \
hmy keys generate-bls-key > keys.json wiki keys generate-bls-key > keys.json
RUN jq '.["encrypted-private-key-path"]' -r keys.json > /root/keypath && cp keys.json /root && \ RUN jq '.["encrypted-private-key-path"]' -r keys.json > /root/keypath && cp keys.json /root && \
echo "export BLS_KEY_PATH=$(cat /root/keypath)" >> /root/.bashrc && \ echo "export BLS_KEY_PATH=$(cat /root/keypath)" >> /root/.bashrc && \
echo "export BLS_KEY=$(jq '.["public-key"]' -r keys.json)" >> /root/.bashrc && \ echo "export BLS_KEY=$(jq '.["public-key"]' -r keys.json)" >> /root/.bashrc && \
echo "printf '${K1}, ${K2}, ${K3} are imported accounts in hmy for local dev\n\n'" >> /root/.bashrc && \ echo "printf '${K1}, ${K2}, ${K3} are imported accounts in wiki for local dev\n\n'" >> /root/.bashrc && \
echo "printf 'test with: hmy blockchain validator information ${K1}\n\n'" >> /root/.bashrc && \ echo "printf 'test with: wiki blockchain validator information ${K1}\n\n'" >> /root/.bashrc && \
echo "echo "$(jq '.["public-key"]' -r keys.json)" is an extern bls key" >> /root/.bashrc && \ echo "echo "$(jq '.["public-key"]' -r keys.json)" is an extern bls key" >> /root/.bashrc && \
echo ". /etc/bash_completion" >> /root/.bashrc && \ echo ". /etc/bash_completion" >> /root/.bashrc && \
echo ". <(hmy completion)" >> /root/.bashrc echo ". <(wiki completion)" >> /root/.bashrc

@ -1,6 +1,6 @@
# Fiduciary License Agreement 2.0 # Fiduciary License Agreement 2.0
Thank you for your interest in contributing to Simple Rules Company's Harmony Thank you for your interest in contributing to Simple Rules Company's Woop
("We" or "Us"). ("We" or "Us").
The purpose of this contributor agreement ("Agreement") is to clarify and The purpose of this contributor agreement ("Agreement") is to clarify and
@ -44,7 +44,7 @@ If You are an employee and have created the Contribution as part of your
employment, You need to have Your employer approve this Agreement or sign the employment, You need to have Your employer approve this Agreement or sign the
Entity version of this document. If You do not own the Copyright in the entire Entity version of this document. If You do not own the Copyright in the entire
work of authorship, any other author of the Contribution should also sign this work of authorship, any other author of the Contribution should also sign this
– in any event, please contact Us at licensing@harmony.one – in any event, please contact Us at licensing@wikiwoop.com
## 1. Definitions ## 1. Definitions

@ -5,7 +5,7 @@ export LD_LIBRARY_PATH:=$(TOP)/bls/lib:$(TOP)/mcl/lib:/opt/homebrew/opt/openssl@
export LIBRARY_PATH:=$(LD_LIBRARY_PATH) export LIBRARY_PATH:=$(LD_LIBRARY_PATH)
export DYLD_FALLBACK_LIBRARY_PATH:=$(LD_LIBRARY_PATH) export DYLD_FALLBACK_LIBRARY_PATH:=$(LD_LIBRARY_PATH)
export GO111MODULE:=on export GO111MODULE:=on
PKGNAME=harmony PKGNAME=woop
VERSION?=$(shell git tag -l --sort=-v:refname | head -n 1 | tr -d v) VERSION?=$(shell git tag -l --sort=-v:refname | head -n 1 | tr -d v)
RELEASE?=$(shell git describe --long | cut -f2 -d-) RELEASE?=$(shell git describe --long | cut -f2 -d-)
RPMBUILD=$(HOME)/rpmbuild RPMBUILD=$(HOME)/rpmbuild
@ -18,11 +18,11 @@ all: libs
bash ./scripts/go_executable_build.sh -S bash ./scripts/go_executable_build.sh -S
help: help:
@echo "all - build the harmony binary & bootnode along with the MCL & BLS libs (if necessary)" @echo "all - build the woop binary & bootnode along with the MCL & BLS libs (if necessary)"
@echo "libs - build only the MCL & BLS libs (if necessary) " @echo "libs - build only the MCL & BLS libs (if necessary) "
@echo "exe - build the harmony binary & bootnode" @echo "exe - build the woop binary & bootnode"
@echo "race - build the harmony binary & bootnode with race condition checks" @echo "race - build the woop binary & bootnode with race condition checks"
@echo "trace-pointer - build the harmony binary & bootnode with pointer analysis" @echo "trace-pointer - build the woop binary & bootnode with pointer analysis"
@echo "debug - start a localnet with 2 shards (s0 rpc endpoint = localhost:9700; s1 rpc endpoint = localhost:9800)" @echo "debug - start a localnet with 2 shards (s0 rpc endpoint = localhost:9700; s1 rpc endpoint = localhost:9800)"
@echo "debug-kill - force kill the localnet" @echo "debug-kill - force kill the localnet"
@echo "debug-ext - start a localnet with 2 shards and external (s0 rpc endpoint = localhost:9598; s1 rpc endpoint = localhost:9596)" @echo "debug-ext - start a localnet with 2 shards and external (s0 rpc endpoint = localhost:9598; s1 rpc endpoint = localhost:9596)"
@ -34,13 +34,13 @@ help:
@echo "test-rpc-attach - attach onto the rpc testing docker container for inspection" @echo "test-rpc-attach - attach onto the rpc testing docker container for inspection"
@echo "test-rosetta - run the rosetta tests" @echo "test-rosetta - run the rosetta tests"
@echo "test-rosetta-attach - attach onto the rosetta testing docker container for inspection" @echo "test-rosetta-attach - attach onto the rosetta testing docker container for inspection"
@echo "linux_static - static build the harmony binary & bootnode along with the MCL & BLS libs (for linux)" @echo "linux_static - static build the woop binary & bootnode along with the MCL & BLS libs (for linux)"
@echo "rpm - build a harmony RPM pacakge" @echo "rpm - build a woop RPM pacakge"
@echo "rpmpub_dev - publish harmony RPM package to development repo" @echo "rpmpub_dev - publish woop RPM package to development repo"
@echo "rpmpub_prod - publish harmony RPM package to production repo" @echo "rpmpub_prod - publish woop RPM package to production repo"
@echo "deb - build a harmony Debian pacakge" @echo "deb - build a woop Debian pacakge"
@echo "debpub_dev - publish harmony Debian package to development repo" @echo "debpub_dev - publish woop Debian package to development repo"
@echo "debpub_prod - publish harmony Debian package to production repo" @echo "debpub_prod - publish woop Debian package to production repo"
libs: libs:
make -C $(TOP)/mcl -j8 make -C $(TOP)/mcl -j8
@ -107,14 +107,14 @@ linux_static:
deb_init: deb_init:
rm -rf $(DEBBUILD) rm -rf $(DEBBUILD)
mkdir -p $(DEBBUILD)/$(PKGNAME)-$(VERSION)-$(RELEASE)/{etc/systemd/system,usr/sbin,etc/sysctl.d,etc/harmony} mkdir -p $(DEBBUILD)/$(PKGNAME)-$(VERSION)-$(RELEASE)/{etc/systemd/system,usr/sbin,etc/sysctl.d,etc/woop}
cp -f bin/harmony $(DEBBUILD)/$(PKGNAME)-$(VERSION)-$(RELEASE)/usr/sbin/ cp -f bin/woop $(DEBBUILD)/$(PKGNAME)-$(VERSION)-$(RELEASE)/usr/sbin/
bin/harmony dumpconfig $(DEBBUILD)/$(PKGNAME)-$(VERSION)-$(RELEASE)/etc/harmony/harmony.conf bin/woop dumpconfig $(DEBBUILD)/$(PKGNAME)-$(VERSION)-$(RELEASE)/etc/woop/woop.conf
cp -f scripts/package/rclone.conf $(DEBBUILD)/$(PKGNAME)-$(VERSION)-$(RELEASE)/etc/harmony/ cp -f scripts/package/rclone.conf $(DEBBUILD)/$(PKGNAME)-$(VERSION)-$(RELEASE)/etc/woop/
cp -f scripts/package/harmony.service $(DEBBUILD)/$(PKGNAME)-$(VERSION)-$(RELEASE)/etc/systemd/system/ cp -f scripts/package/woop.service $(DEBBUILD)/$(PKGNAME)-$(VERSION)-$(RELEASE)/etc/systemd/system/
cp -f scripts/package/harmony-setup.sh $(DEBBUILD)/$(PKGNAME)-$(VERSION)-$(RELEASE)/usr/sbin/ cp -f scripts/package/woop-setup.sh $(DEBBUILD)/$(PKGNAME)-$(VERSION)-$(RELEASE)/usr/sbin/
cp -f scripts/package/harmony-rclone.sh $(DEBBUILD)/$(PKGNAME)-$(VERSION)-$(RELEASE)/usr/sbin/ cp -f scripts/package/woop-rclone.sh $(DEBBUILD)/$(PKGNAME)-$(VERSION)-$(RELEASE)/usr/sbin/
cp -f scripts/package/harmony-sysctl.conf $(DEBBUILD)/$(PKGNAME)-$(VERSION)-$(RELEASE)/etc/sysctl.d/99-harmony.conf cp -f scripts/package/woop-sysctl.conf $(DEBBUILD)/$(PKGNAME)-$(VERSION)-$(RELEASE)/etc/sysctl.d/99-woop.conf
cp -r scripts/package/deb/DEBIAN $(DEBBUILD)/$(PKGNAME)-$(VERSION)-$(RELEASE) cp -r scripts/package/deb/DEBIAN $(DEBBUILD)/$(PKGNAME)-$(VERSION)-$(RELEASE)
VER=$(VERSION)-$(RELEASE) scripts/package/templater.sh scripts/package/deb/DEBIAN/control > $(DEBBUILD)/$(PKGNAME)-$(VERSION)-$(RELEASE)/DEBIAN/control VER=$(VERSION)-$(RELEASE) scripts/package/templater.sh scripts/package/deb/DEBIAN/control > $(DEBBUILD)/$(PKGNAME)-$(VERSION)-$(RELEASE)/DEBIAN/control
@ -135,18 +135,18 @@ rpm_init:
rm -rf $(RPMBUILD) rm -rf $(RPMBUILD)
mkdir -p $(RPMBUILD)/{SOURCES,SPECS,BUILD,RPMS,BUILDROOT,SRPMS} mkdir -p $(RPMBUILD)/{SOURCES,SPECS,BUILD,RPMS,BUILDROOT,SRPMS}
mkdir -p $(RPMBUILD)/SOURCES/$(PKGNAME)-$(VERSION) mkdir -p $(RPMBUILD)/SOURCES/$(PKGNAME)-$(VERSION)
cp -f bin/harmony $(RPMBUILD)/SOURCES/$(PKGNAME)-$(VERSION) cp -f bin/woop $(RPMBUILD)/SOURCES/$(PKGNAME)-$(VERSION)
bin/harmony dumpconfig $(RPMBUILD)/SOURCES/$(PKGNAME)-$(VERSION)/harmony.conf bin/woop dumpconfig $(RPMBUILD)/SOURCES/$(PKGNAME)-$(VERSION)/woop.conf
cp -f scripts/package/harmony.service $(RPMBUILD)/SOURCES/$(PKGNAME)-$(VERSION) cp -f scripts/package/woop.service $(RPMBUILD)/SOURCES/$(PKGNAME)-$(VERSION)
cp -f scripts/package/harmony-setup.sh $(RPMBUILD)/SOURCES/$(PKGNAME)-$(VERSION) cp -f scripts/package/woop-setup.sh $(RPMBUILD)/SOURCES/$(PKGNAME)-$(VERSION)
cp -f scripts/package/harmony-rclone.sh $(RPMBUILD)/SOURCES/$(PKGNAME)-$(VERSION) cp -f scripts/package/woop-rclone.sh $(RPMBUILD)/SOURCES/$(PKGNAME)-$(VERSION)
cp -f scripts/package/rclone.conf $(RPMBUILD)/SOURCES/$(PKGNAME)-$(VERSION) cp -f scripts/package/rclone.conf $(RPMBUILD)/SOURCES/$(PKGNAME)-$(VERSION)
cp -f scripts/package/harmony-sysctl.conf $(RPMBUILD)/SOURCES/$(PKGNAME)-$(VERSION) cp -f scripts/package/woop-sysctl.conf $(RPMBUILD)/SOURCES/$(PKGNAME)-$(VERSION)
VER=$(VERSION) REL=$(RELEASE) scripts/package/templater.sh scripts/package/rpm/harmony.spec > $(RPMBUILD)/SPECS/harmony.spec VER=$(VERSION) REL=$(RELEASE) scripts/package/templater.sh scripts/package/rpm/woop.spec > $(RPMBUILD)/SPECS/woop.spec
(cd $(RPMBUILD)/SOURCES; tar cvf $(PKGNAME)-$(VERSION).tar $(PKGNAME)-$(VERSION)) (cd $(RPMBUILD)/SOURCES; tar cvf $(PKGNAME)-$(VERSION).tar $(PKGNAME)-$(VERSION))
rpm_build: rpm_build:
rpmbuild --target x86_64 -bb $(RPMBUILD)/SPECS/harmony.spec rpmbuild --target x86_64 -bb $(RPMBUILD)/SPECS/woop.spec
rpm: rpm_init rpm_build rpm: rpm_init rpm_build
rpm --addsign $(RPMBUILD)/RPMS/x86_64/$(PKGNAME)-$(VERSION)-$(RELEASE).x86_64.rpm rpm --addsign $(RPMBUILD)/RPMS/x86_64/$(PKGNAME)-$(VERSION)-$(RELEASE).x86_64.rpm
@ -164,7 +164,7 @@ go-test:
go test -vet=all -race ./... go test -vet=all -race ./...
docker: docker:
docker build --pull -t harmonyone/$(PKGNAME):latest -f scripts/docker/Dockerfile . docker build --pull -t woopchain/$(PKGNAME):latest -f scripts/docker/Dockerfile .
travis_go_checker: travis_go_checker:
bash ./scripts/travis_go_checker.sh bash ./scripts/travis_go_checker.sh

@ -1,18 +1,10 @@
# Harmony # WoopChain
[![Build Status](https://travis-ci.com/harmony-one/harmony.svg?branch=main)](https://travis-ci.com/harmony-one/harmony)
![gopherbadger-tag-do-not-edit](https://img.shields.io/badge/Go%20Coverage-45%25-brightgreen.svg?longCache=true&style=flat)
![Discord](https://img.shields.io/discord/532383335348043777.svg)
[![Github Action](https://github.com/harmony-one/harmony/actions/workflows/ci.yaml/badge.svg?event=push)](https://github.com/harmony-one/harmony/actions/workflows/ci.yaml)
[![Go Report Card](https://goreportcard.com/badge/github.com/harmony-one/harmony)](https://goreportcard.com/report/github.com/harmony-one/harmony)
## General Documentation ## General Documentation
https://docs.harmony.one https://docs.wikiwoop.com/
## API Guide
http://api.hmny.io/
## Requirements ## Requirements
@ -47,27 +39,27 @@ For macOS, you can reference this [guide](http://tldrdevnotes.com/bash-upgrade-3
## Dev Environment ## Dev Environment
**Most repos from [harmony-one](https://github.com/harmony-one) assumes the GOPATH convention. More information [here](https://github.com/golang/go/wiki/GOPATH).** **Most repos from [woop-chain](https://github.com/woop-chain) assumes the GOPATH convention. More information [here](https://github.com/golang/go/wiki/GOPATH).**
### First Install ### First Install
Clone and set up all of the repos with the following set of commands: Clone and set up all of the repos with the following set of commands:
1. Create the appropriate directories: 1. Create the appropriate directories:
```bash ```bash
mkdir -p $(go env GOPATH)/src/github.com/harmony-one mkdir -p $(go env GOPATH)/src/github.com/woop-chain
cd $(go env GOPATH)/src/github.com/harmony-one cd $(go env GOPATH)/src/github.com/woop-chain
``` ```
> If you get 'unknown command' or something along those lines, make sure to install [golang](https://golang.org/doc/install) first. > If you get 'unknown command' or something along those lines, make sure to install [golang](https://golang.org/doc/install) first.
2. Clone this repo & dependent repos. 2. Clone this repo & dependent repos.
```bash ```bash
git clone https://github.com/harmony-one/mcl.git git clone https://github.com/woop-chain/mcl.git
git clone https://github.com/harmony-one/bls.git git clone https://github.com/woop-chain/bls.git
git clone https://github.com/harmony-one/harmony.git git clone https://github.com/woop-chain/woop.git
cd harmony cd woop
``` ```
3. Build the harmony binary & dependent libs 3. Build the woop binary & dependent libs
``` ```
go mod tidy go mod tidy
make make
@ -77,19 +69,19 @@ make
## Dev Docker Image ## Dev Docker Image
Included in this repo is a Dockerfile that has a full harmony development environment and Included in this repo is a Dockerfile that has a full woop development environment and
comes with emacs, vim, ag, tig and other creature comforts. Most importantly, it already has the go environment comes with emacs, vim, ag, tig and other creature comforts. Most importantly, it already has the go environment
with our C/C++ based library dependencies (`libbls` and `mcl`) set up correctly for you. with our C/C++ based library dependencies (`libbls` and `mcl`) set up correctly for you.
You can build the docker image for yourself with the following commands: You can build the docker image for yourself with the following commands:
```bash ```bash
cd $(go env GOPATH)/src/github.com/harmony-one/harmony cd $(go env GOPATH)/src/github.com/woop-chain/woop
make clean make clean
docker build -t harmony . docker build -t woop .
``` ```
> If your build machine has an ARM-based chip, like Apple silicon (M1), the image is built for `linux/arm64` by default. To build for `x86_64`, apply the `--platform` arg like so: > If your build machine has an ARM-based chip, like Apple silicon (M1), the image is built for `linux/arm64` by default. To build for `x86_64`, apply the `--platform` arg like so:
> ```bash > ```bash
> docker build --platform linux/amd64 -t harmony . > docker build --platform linux/amd64 -t woop .
> ``` > ```
> Learn more about the `--platform` arg and multi-CPU architecture support, [here](https://docs.docker.com/engine/reference/builder/#automatic-platform-args-in-the-global-scope) and [here](https://docs.docker.com/desktop/multi-arch/). > Learn more about the `--platform` arg and multi-CPU architecture support, [here](https://docs.docker.com/engine/reference/builder/#automatic-platform-args-in-the-global-scope) and [here](https://docs.docker.com/desktop/multi-arch/).
@ -97,26 +89,26 @@ docker build -t harmony .
Then you can start your docker container with the following command: Then you can start your docker container with the following command:
```bash ```bash
docker run --rm --name harmony -it -v "$(go env GOPATH)/src/github.com/harmony-one/harmony:/root/go/src/github.com/harmony-one/harmony" harmony /bin/bash docker run --rm --name woop -it -v "$(go env GOPATH)/src/github.com/woop-chain/woop:/root/go/src/github.com/woop-chain/woop" woop /bin/bash
``` ```
> Note that the harmony repo will be shared between your docker container and your host machine. However, everything else in the docker container will be ephemeral. > Note that the woop repo will be shared between your docker container and your host machine. However, everything else in the docker container will be ephemeral.
If you need to open another shell, just do: If you need to open another shell, just do:
```bash ```bash
docker exec -it harmony /bin/bash docker exec -it woop /bin/bash
``` ```
Learn more about docker [here](https://docker-curriculum.com/). Learn more about docker [here](https://docker-curriculum.com/).
## Build ## Build
The `make` command should automatically build the Harmony binary & all dependent libs. The `make` command should automatically build the Woop binary & all dependent libs.
However, if you wish to bypass the Makefile, first export the build flags: However, if you wish to bypass the Makefile, first export the build flags:
```bash ```bash
export CGO_CFLAGS="-I$GOPATH/src/github.com/harmony-one/bls/include -I$GOPATH/src/github.com/harmony-one/mcl/include -I/opt/homebrew/opt/openssl@1.1/include" export CGO_CFLAGS="-I$GOPATH/src/github.com/woop-chain/bls/include -I$GOPATH/src/github.com/woop-chain/mcl/include -I/opt/homebrew/opt/openssl@1.1/include"
export CGO_LDFLAGS="-L$GOPATH/src/github.com/harmony-one/bls/lib -L/opt/homebrew/opt/openssl@1.1/lib" export CGO_LDFLAGS="-L$GOPATH/src/github.com/woop-chain/bls/lib -L/opt/homebrew/opt/openssl@1.1/lib"
export LD_LIBRARY_PATH=$GOPATH/src/github.com/harmony-one/bls/lib:$GOPATH/src/github.com/harmony-one/mcl/lib:/opt/homebrew/opt/openssl@1.1/lib export LD_LIBRARY_PATH=$GOPATH/src/github.com/woop-chain/bls/lib:$GOPATH/src/github.com/woop-chain/mcl/lib:/opt/homebrew/opt/openssl@1.1/lib
export LIBRARY_PATH=$LD_LIBRARY_PATH export LIBRARY_PATH=$LD_LIBRARY_PATH
export DYLD_FALLBACK_LIBRARY_PATH=$LD_LIBRARY_PATH export DYLD_FALLBACK_LIBRARY_PATH=$LD_LIBRARY_PATH
export GO111MODULE=on export GO111MODULE=on
@ -150,7 +142,7 @@ make debug-kill
To keep things consistent, we have a docker image to run all tests. **These are the same tests ran on the pull request checks**. To keep things consistent, we have a docker image to run all tests. **These are the same tests ran on the pull request checks**.
Note that all testing docker container binds a couple of ports to the host machine for your convince. The ports are: Note that all test Docker containers bind several ports to the host machine for your convenience. The ports are:
* `9500` - Shard 0 RPC for a validator * `9500` - Shard 0 RPC for a validator
* `9501` - Shard 1 RPC for a validator * `9501` - Shard 1 RPC for a validator
* `9599` - Shard 0 RPC for an explorer * `9599` - Shard 0 RPC for an explorer
@ -159,7 +151,7 @@ Note that all testing docker container binds a couple of ports to the host machi
* `9798` - Shard 1 Rosetta (for an explorer) * `9798` - Shard 1 Rosetta (for an explorer)
* `9899` - Shard 0 WS for an explorer * `9899` - Shard 0 WS for an explorer
* `9898` - Shard 1 WS for an explorer * `9898` - Shard 1 WS for an explorer
> This allows you to use curl, hmy CLI, postman, rosetta-cli, etc... on your host machine to play with or probe the localnet that was used for the test. > This allows you to use curl, wiki CLI, postman, rosetta-cli, etc... on your host machine to play with or probe the localnet that was used for the test.
### Go tests ### Go tests
To run this test, do: To run this test, do:
@ -174,8 +166,8 @@ To run this test, do:
make test-rpc make test-rpc
``` ```
This test starts a localnet (within the Docker container), **ensures it reaches a consensus**, and runs a series of tests to ensure correct RPC behavior. This test starts a localnet (within the Docker container), **ensures it reaches a consensus**, and runs a series of tests to ensure correct RPC behavior.
This test also acts as a preliminary integration test (more through tests are done on the testnets). This test also acts as a preliminary integration test (more thorough tests are done on the testnets).
> The tests ran by this command can be found [here](https://github.com/harmony-one/harmony-test/tree/master/localnet). > The tests ran by this command can be found [here](https://github.com/woop-chain/woop-test/tree/master/localnet).
If you wish to debug further with the localnet after the tests are done, open a new shell and run: If you wish to debug further with the localnet after the tests are done, open a new shell and run:
```bash ```bash
@ -183,9 +175,9 @@ make test-rpc-attach
``` ```
> This will open a shell in the docker container that is running the Node API tests. > This will open a shell in the docker container that is running the Node API tests.
> >
> Note that the docker container has the [Harmony CLI](https://docs.harmony.one/home/wallets/harmony-cli) on path, > Note that the docker container has the [Woop CLI](https://docs.wikiwoop.com/home/wallets/woop-cli) on path,
> therefore you can use that to debug if needed. For example, one could do `hmy blockchain latest-headers` to check > therefore you can use that to debug if needed. For example, one could do `wiki blockchain latest-headers` to check
> the current block height of localnet. Reference the documentation for the CLI [here](https://docs.harmony.one/home/wallets/harmony-cli) > the current block height of localnet. Reference the documentation for the CLI [here](https://docs.wikiwoop.com/home/wallets/woop-cli)
> for more details & commands. > for more details & commands.
### Rosetta tests ### Rosetta tests
@ -194,8 +186,8 @@ To run this test, do:
make test-rosetta make test-rosetta
``` ```
This test starts a localnet (within the Docker container), **ensures it reaches a consensus**, and runs the Construction & Data API checks using the [rosetta-cli](https://github.com/coinbase/rosetta-cli). This test starts a localnet (within the Docker container), **ensures it reaches a consensus**, and runs the Construction & Data API checks using the [rosetta-cli](https://github.com/coinbase/rosetta-cli).
This test also acts as a preliminary integration test (more through tests are done on the testnets). This test also acts as a preliminary integration test (more thorough tests are done on the testnets).
> The config for this test can be found [here](https://github.com/harmony-one/harmony-test/blob/master/localnet/configs/localnet_rosetta_test_s0.json) & [here](https://github.com/harmony-one/harmony-test/blob/master/localnet/configs/localnet_rosetta_test_s1.json) > The config for this test can be found [here](https://github.com/woop-chain/woop-test/blob/master/localnet/configs/localnet_rosetta_test_s0.json) & [here](https://github.com/woop-chain/woop-test/blob/master/localnet/configs/localnet_rosetta_test_s1.json)
Similar to the RPC tests, if you wish to debug further with the localnet after the tests are done, open a new shell and run: Similar to the RPC tests, if you wish to debug further with the localnet after the tests are done, open a new shell and run:
```bash ```bash
@ -204,10 +196,10 @@ make test-rosetta-attach
## License ## License
Harmony is licensed under GNU Lesser General Public License v3.0. See [`LICENSE`](LICENSE) file for Woop is licensed under GNU Lesser General Public License v3.0. See [`LICENSE`](LICENSE) file for
the terms and conditions. the terms and conditions.
Harmony includes third-party open-source code. In general, a source subtree Woop includes third-party open-source code. In general, a source subtree
with a `LICENSE` or `COPYRIGHT` file is from a third party, and our with a `LICENSE` or `COPYRIGHT` file is from a third party, and our
modifications thereto are licensed under the same third-party open source modifications thereto are licensed under the same third-party open source
license. license.
@ -216,7 +208,7 @@ Also please see [our Fiduciary License Agreement](FLA.md) if you are
contributing to the project. By your submission of your contribution to us, you contributing to the project. By your submission of your contribution to us, you
and we mutually agree to the terms and conditions of the agreement. and we mutually agree to the terms and conditions of the agreement.
## Contributing To Harmony ## Contributing To Woop
See [`CONTRIBUTING`](CONTRIBUTING.md) for details. See [`CONTRIBUTING`](CONTRIBUTING.md) for details.
@ -235,10 +227,3 @@ See [`CONTRIBUTING`](CONTRIBUTING.md) for details.
- EPoS staking mechanism - EPoS staking mechanism
- Kademlia routing - Kademlia routing
### Planned Features
- Resharding
- Integration with WASM
- Fast state synchronization
- Auditable privacy asset using ZK proof

@ -2,7 +2,7 @@
## Reporting a Vulnerability ## Reporting a Vulnerability
Create a github issue if vulnerability can be exposed publicly otherwise send an email to security@harmony.one Create a github issue if vulnerability can be exposed publicly otherwise send an email to security@wikiwoop.com
Fingerprint : 4F8E 9A61 C807 B5E8 98E6 9BF2 F0C5 926C BA34 9CC5 Fingerprint : 4F8E 9A61 C807 B5E8 98E6 9BF2 F0C5 926C BA34 9CC5

@ -28,7 +28,7 @@ import (
"github.com/ethereum/go-ethereum/common" "github.com/ethereum/go-ethereum/common"
"github.com/ethereum/go-ethereum/crypto" "github.com/ethereum/go-ethereum/crypto"
"github.com/harmony-one/harmony/common/math" "github.com/woop-chain/woop/common/math"
) )
const jsondata = ` const jsondata = `

@ -25,10 +25,10 @@ import (
"github.com/ethereum/go-ethereum/common" "github.com/ethereum/go-ethereum/common"
"github.com/ethereum/go-ethereum/crypto" "github.com/ethereum/go-ethereum/crypto"
"github.com/ethereum/go-ethereum/log" "github.com/ethereum/go-ethereum/log"
"github.com/harmony-one/harmony/accounts" "github.com/woop-chain/woop/accounts"
"github.com/harmony-one/harmony/accounts/external" "github.com/woop-chain/woop/accounts/external"
"github.com/harmony-one/harmony/accounts/keystore" "github.com/woop-chain/woop/accounts/keystore"
"github.com/harmony-one/harmony/core/types" "github.com/woop-chain/woop/core/types"
) )
// ErrNoChainID is returned whenever the user failed to specify a chain id. // ErrNoChainID is returned whenever the user failed to specify a chain id.

@ -23,7 +23,7 @@ import (
"github.com/ethereum/go-ethereum" "github.com/ethereum/go-ethereum"
"github.com/ethereum/go-ethereum/common" "github.com/ethereum/go-ethereum/common"
"github.com/harmony-one/harmony/core/types" "github.com/woop-chain/woop/core/types"
) )
var ( var (

@ -26,8 +26,8 @@ import (
"github.com/ethereum/go-ethereum/common" "github.com/ethereum/go-ethereum/common"
"github.com/ethereum/go-ethereum/crypto" "github.com/ethereum/go-ethereum/crypto"
"github.com/ethereum/go-ethereum/event" "github.com/ethereum/go-ethereum/event"
"github.com/harmony-one/harmony/accounts/abi" "github.com/woop-chain/woop/accounts/abi"
"github.com/harmony-one/harmony/core/types" "github.com/woop-chain/woop/core/types"
) )
// SignerFn is a signer function callback when a contract requires a method to // SignerFn is a signer function callback when a contract requires a method to

@ -28,9 +28,9 @@ import (
"github.com/ethereum/go-ethereum/common/hexutil" "github.com/ethereum/go-ethereum/common/hexutil"
"github.com/ethereum/go-ethereum/crypto" "github.com/ethereum/go-ethereum/crypto"
"github.com/ethereum/go-ethereum/rlp" "github.com/ethereum/go-ethereum/rlp"
"github.com/harmony-one/harmony/accounts/abi" "github.com/woop-chain/woop/accounts/abi"
"github.com/harmony-one/harmony/accounts/abi/bind" "github.com/woop-chain/woop/accounts/abi/bind"
"github.com/harmony-one/harmony/core/types" "github.com/woop-chain/woop/core/types"
) )
type mockCaller struct { type mockCaller struct {

@ -31,7 +31,7 @@ import (
"unicode" "unicode"
"github.com/ethereum/go-ethereum/log" "github.com/ethereum/go-ethereum/log"
"github.com/harmony-one/harmony/accounts/abi" "github.com/woop-chain/woop/accounts/abi"
) )
// Lang is a target programming language selector to generate bindings for. // Lang is a target programming language selector to generate bindings for.

@ -16,7 +16,7 @@
package bind package bind
import "github.com/harmony-one/harmony/accounts/abi" import "github.com/woop-chain/woop/accounts/abi"
// tmplData is the data structure required to fill the binding template. // tmplData is the data structure required to fill the binding template.
type tmplData struct { type tmplData struct {

@ -25,7 +25,7 @@ import (
"github.com/ethereum/go-ethereum/common" "github.com/ethereum/go-ethereum/common"
"github.com/ethereum/go-ethereum/crypto" "github.com/ethereum/go-ethereum/crypto"
"github.com/harmony-one/harmony/accounts/abi" "github.com/woop-chain/woop/accounts/abi"
) )
// makeTopics converts a filter query argument list into a filter topic set. // makeTopics converts a filter query argument list into a filter topic set.

@ -21,7 +21,7 @@ import (
"testing" "testing"
"github.com/ethereum/go-ethereum/common" "github.com/ethereum/go-ethereum/common"
"github.com/harmony-one/harmony/accounts/abi" "github.com/woop-chain/woop/accounts/abi"
) )
func TestMakeTopics(t *testing.T) { func TestMakeTopics(t *testing.T) {

@ -23,7 +23,7 @@ import (
"github.com/ethereum/go-ethereum/common" "github.com/ethereum/go-ethereum/common"
"github.com/ethereum/go-ethereum/log" "github.com/ethereum/go-ethereum/log"
"github.com/harmony-one/harmony/core/types" "github.com/woop-chain/woop/core/types"
) )
// WaitMined waits for tx to be mined on the blockchain. // WaitMined waits for tx to be mined on the blockchain.

@ -23,7 +23,7 @@ import (
"reflect" "reflect"
"github.com/ethereum/go-ethereum/common" "github.com/ethereum/go-ethereum/common"
"github.com/harmony-one/harmony/common/math" "github.com/woop-chain/woop/common/math"
) )
// packBytesSlice packs the given bytes as [L, V] as the canonical representation // packBytesSlice packs the given bytes as [L, V] as the canonical representation

@ -24,7 +24,7 @@ import (
ethereum "github.com/ethereum/go-ethereum" ethereum "github.com/ethereum/go-ethereum"
"github.com/ethereum/go-ethereum/common" "github.com/ethereum/go-ethereum/common"
"github.com/ethereum/go-ethereum/event" "github.com/ethereum/go-ethereum/event"
"github.com/harmony-one/harmony/core/types" "github.com/woop-chain/woop/core/types"
"golang.org/x/crypto/sha3" "golang.org/x/crypto/sha3"
) )

@ -1,12 +1,12 @@
package accounts package accounts
import ( import (
"github.com/harmony-one/harmony/internal/bech32" "github.com/woop-chain/woop/internal/bech32"
"github.com/harmony-one/harmony/internal/common" "github.com/woop-chain/woop/internal/common"
"github.com/pkg/errors" "github.com/pkg/errors"
) )
// MustBech32ToAddressH is a wrapper for casting ethCommon.Address to harmony's common.Address // MustBech32ToAddressH is a wrapper for casting ethCommon.Address to woop's common.Address
func MustBech32ToAddressH(b32 string) common.Address { func MustBech32ToAddressH(b32 string) common.Address {
return common.Address(common.MustBech32ToAddress(b32)) return common.Address(common.MustBech32ToAddress(b32))
} }

@ -27,9 +27,9 @@ import (
"github.com/ethereum/go-ethereum/event" "github.com/ethereum/go-ethereum/event"
"github.com/ethereum/go-ethereum/log" "github.com/ethereum/go-ethereum/log"
"github.com/ethereum/go-ethereum/signer/core/apitypes" "github.com/ethereum/go-ethereum/signer/core/apitypes"
"github.com/harmony-one/harmony/accounts" "github.com/woop-chain/woop/accounts"
"github.com/harmony-one/harmony/core/types" "github.com/woop-chain/woop/core/types"
"github.com/harmony-one/harmony/eth/rpc" "github.com/woop-chain/woop/eth/rpc"
) )
// ExternalBackend is a struct for external backend // ExternalBackend is a struct for external backend

@ -30,9 +30,9 @@ import (
mapset "github.com/deckarep/golang-set" mapset "github.com/deckarep/golang-set"
"github.com/ethereum/go-ethereum/common" "github.com/ethereum/go-ethereum/common"
"github.com/harmony-one/harmony/accounts" "github.com/woop-chain/woop/accounts"
common2 "github.com/harmony-one/harmony/internal/common" common2 "github.com/woop-chain/woop/internal/common"
"github.com/harmony-one/harmony/internal/utils" "github.com/woop-chain/woop/internal/utils"
) )
// Minimum amount of time between cache reloads. This limit applies if the platform does // Minimum amount of time between cache reloads. This limit applies if the platform does

Some files were not shown because too many files have changed in this diff Show More

Loading…
Cancel
Save