Compare commits

..

1 Commits

Author SHA1 Message Date
“GheisMohammadi” 40a7363519
remove old stream codes 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/blacklist.txt
  26. 0
      .hmy/blspass.txt
  27. 1
      .hmy/c4e4708b6cf2a2ceeb59981677e9821eebafc5cf483fb5364a28fa604cc0ce69beeed40f3f03815c9e196fdaec5f1097.key
  28. 1
      .hmy/ca86e551ee42adaaa6477322d7db869d3e203c00d7b86c82ebee629ad79cb6d57b8f3db28336778ec2180e56a8e07296.key
  29. 1
      .hmy/e751ec995defe4931273aaebcb2cd14bf37e629c554a57d3f334c37881a34a6188a93e76113c55ef3481da23b7d7ab09.key
  30. 1
      .hmy/eca09c1808b729ca56f1b5a6a287c6e1c3ae09e29ccf7efa35453471fcab07d9f73cee249e2b91f5ee44eb9618be3904.key
  31. 1
      .hmy/ee2474f93cba9241562efc7475ac2721ab0899edf8f7f115a656c0c1f9ef8203add678064878d174bb478fa2e6630502.key
  32. 0
      .hmy/extbls/4f41a37a3a8d0695dd6edcc58142c6b7d98e74da5c90e79b587b3b960b6a4f5e048e6d8b8a000d77a478d44cd640270c.key
  33. 0
      .hmy/extbls/4f41a37a3a8d0695dd6edcc58142c6b7d98e74da5c90e79b587b3b960b6a4f5e048e6d8b8a000d77a478d44cd640270c.pass
  34. 0
      .hmy/extbls/5a18d4aa3e6aff4835f07588ae66be19684476d38799f63e54c6b5732fad1e86dce7458b1c295404fb54a0d61e50bb97.key
  35. 0
      .hmy/extbls/5a18d4aa3e6aff4835f07588ae66be19684476d38799f63e54c6b5732fad1e86dce7458b1c295404fb54a0d61e50bb97.pass
  36. 0
      .hmy/extbls/7dcc035a943e29e17959dabe636efad7303d2c6f273ace457ba9dcc2fd19d3f37e70ba1cd8d082cf8ff7be2f861db48c.key
  37. 0
      .hmy/extbls/7dcc035a943e29e17959dabe636efad7303d2c6f273ace457ba9dcc2fd19d3f37e70ba1cd8d082cf8ff7be2f861db48c.pass
  38. 0
      .hmy/extbls/81296eedba05047594385e3086e1dab52c9eb9e56f46d86f58447cccc20535d646120171961d74968d27a2ec0f8af285.key
  39. 0
      .hmy/extbls/81296eedba05047594385e3086e1dab52c9eb9e56f46d86f58447cccc20535d646120171961d74968d27a2ec0f8af285.pass
  40. 0
      .hmy/extbls/89eab762e7364d6cf89f7a6c54da794f74eba2e29147992ac66adcef0f0654ef8a727710ee55ad8b532da0dd87811915.key
  41. 0
      .hmy/extbls/89eab762e7364d6cf89f7a6c54da794f74eba2e29147992ac66adcef0f0654ef8a727710ee55ad8b532da0dd87811915.pass
  42. 0
      .hmy/extbls/b0917378b179a519a5055259c4f8980cce37d58af300b00dd98b07076d3d9a3b16c4a55f84522f553872225a7b1efc0c.key
  43. 0
      .hmy/extbls/b0917378b179a519a5055259c4f8980cce37d58af300b00dd98b07076d3d9a3b16c4a55f84522f553872225a7b1efc0c.pass
  44. 0
      .hmy/extkeystore/one17ughrllgnzx9sfa46p568k8rdmtz7qj85slc6t.key
  45. 0
      .hmy/extkeystore/one19aw2wcr5y4lxeuwt0ajgt5aw3a3qkjdgg67ygj.key
  46. 0
      .hmy/extkeystore/one19zzwsxr0uf2fe34y8qkadek2v0eh6h5mg2deg6.key
  47. 0
      .hmy/extkeystore/one1auqndgthqu5lznsn7tuma8s5333cq0y07cwc6x.key
  48. 0
      .hmy/extkeystore/one1eenp9ujcrmyaq22ef6jrpry2k97tjz4xs6ppcf.key
  49. 0
      .hmy/extkeystore/one1lctumupg2y009pjmnhnmn4nqjk0zf0dspjanf7.key
  50. 1
      .hmy/f47238daef97d60deedbde5302d05dea5de67608f11f406576e363661f7dcbc4a1385948549b31a6c70f6fde8a391486.key
  51. 1
      .hmy/fc4b9c535ee91f015efff3f32fbb9d32cdd9bfc8a837bb3eee89b8fff653c7af2050a4e147ebe5c7233dc2d5df06ee0a.key
  52. 0
      .hmy/keystore/one103q7qe5t2505lypvltkqtddaef5tzfxwsse4z7.key
  53. 0
      .hmy/keystore/one129r9pj3sk0re76f7zs3qz92rggmdgjhtwge62k.key
  54. 0
      .hmy/keystore/one12fuf7x9rgtdgqg7vgq0962c556m3p7afsxgvll.key
  55. 0
      .hmy/keystore/one1658znfwf40epvy7e46cqrmzyy54h4n0qa73nep.key
  56. 0
      .hmy/keystore/one16qsd5ant9v94jrs89mruzx62h7ekcfxmduh2rx.key
  57. 0
      .hmy/keystore/one1a0x3d6xpmr6f8wsyaxd9v36pytvp48zckswvv9.key
  58. 0
      .hmy/keystore/one1a50tun737ulcvwy0yvve0pvu5skq0kjargvhwe.key
  59. 0
      .hmy/keystore/one1d2rngmem4x2c6zxsjjz29dlah0jzkr0k2n88wc.key
  60. 0
      .hmy/keystore/one1d7jfnr6yraxnrycgaemyktkmhmajhp8kl0yahv.key
  61. 0
      .hmy/keystore/one1est2gxcvavmtnzc7mhd73gzadm3xxcv5zczdtw.key
  62. 0
      .hmy/keystore/one1ghkz3frhske7emk79p7v2afmj4a5t0kmjyt4s5.key
  63. 0
      .hmy/keystore/one1ljznytjyn269azvszjlcqvpcj6hjm822yrcp2e.key
  64. 0
      .hmy/keystore/one1m6m0ll3q7ljdqgmth2t5j7dfe6stykucpj2nr5.key
  65. 0
      .hmy/keystore/one1p7ht2d4kl8ve7a8jxw746yfnx4wnfxtp8jqxwe.key
  66. 0
      .hmy/keystore/one1pdv9lrdwl0rg5vglh4xtyrv3wjk3wsqket7zxy.key
  67. 0
      .hmy/keystore/one1pf75h0t4am90z8uv3y0dgunfqp4lj8wr3t5rsp.key
  68. 0
      .hmy/keystore/one1r4zyyjqrulf935a479sgqlpa78kz7zlcg2jfen.key
  69. 0
      .hmy/keystore/one1spshr72utf6rwxseaz339j09ed8p6f8ke370zj.key
  70. 0
      .hmy/keystore/one1uyshu2jgv8w465yc8kkny36thlt2wvel89tcmg.key
  71. 0
      .hmy/keystore/one1z05g55zamqzfw9qs432n33gycdmyvs38xjemyl.key
  72. 0
      .hmy/locals.txt
  73. 0
      .hmy/pgp_keys.asc
  74. 0
      .hmy/rosetta_local_fix.csv
  75. 0
      .hmy/wallet.ini
  76. 59
      .mergify.yml
  77. 2
      .rpmmacros
  78. 25
      .travis.yml
  79. 2
      BLACKLIST.md
  80. 2
      CODE_OF_CONDUCT.md
  81. 10
      CONTRIBUTING.md
  82. 34
      Dockerfile
  83. 4
      FLA.md
  84. 71
      Makefile
  85. 81
      README.md
  86. 2
      SECURITY.md
  87. 2
      accounts/abi/abi_test.go
  88. 13
      accounts/abi/bind/auth.go
  89. 2
      accounts/abi/bind/backend.go
  90. 4
      accounts/abi/bind/base.go
  91. 6
      accounts/abi/bind/base_test.go
  92. 2
      accounts/abi/bind/bind.go
  93. 2
      accounts/abi/bind/template.go
  94. 2
      accounts/abi/bind/topics.go
  95. 2
      accounts/abi/bind/topics_test.go
  96. 2
      accounts/abi/bind/util.go
  97. 2
      accounts/abi/pack.go
  98. 2
      accounts/accounts.go
  99. 6
      accounts/address.go
  100. 6
      accounts/external/backend.go
  101. Some files were not shown because too many files have changed in this diff Show More

@ -0,0 +1,28 @@
---
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 woop proto Docker Image name: Build and Push harmony 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 woop core code - name: Checkout harmony core code
uses: actions/checkout@v3 uses: actions/checkout@v3
with: with:
path: woop path: harmony
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: ./woop/api/service/legacysync/downloader context: ./harmony/api/service/legacysync/downloader
file: ./woop/api/service/legacysync/downloader/Proto.Dockerfile file: ./harmony/api/service/legacysync/downloader/Proto.Dockerfile
push: true push: true
platforms: linux/amd64,linux/arm64 platforms: linux/amd64,linux/arm64
tags: | tags: |
woopchain/woop-proto:latest harmonyone/harmony-proto:latest

@ -1,4 +1,4 @@
name: Manual release woop (need tag) name: Manual release harmony (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 woop core code - name: Checkout harmony core code
uses: actions/checkout@v3 uses: actions/checkout@v3
with: with:
path: woop path: harmony
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: woop working-directory: harmony
build: build:
name: Build woop binary name: Build harmony 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: woop-chain/mcl repository: harmony-one/mcl
path: mcl path: mcl
- name: Checkout dependence repo - name: Checkout dependence repo
uses: actions/checkout@v3 uses: actions/checkout@v3
with: with:
repository: woop-chain/bls repository: harmony-one/bls
path: bls path: bls
- name: Checkout woop core code - name: Checkout harmony core code
uses: actions/checkout@v3 uses: actions/checkout@v3
with: with:
path: woop path: harmony
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: 'woop/go.mod' go-version-file: 'harmony/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: woop working-directory: harmony
- name: Build woop binary and packages for Linux - name: Build harmony 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 Woop (wikiwoop.com)" >> $HOME/.rpmmacros echo %_signature gpg >> $HOME/.rpmmacros && echo "%_gpg_name Harmony (harmony.one)" >> $HOME/.rpmmacros
make rpm make rpm
mv ./bin/woop ./bin/woop-amd64 mv ./bin/harmony ./bin/harmony-amd64
mv $HOME/debbuild/woop-$build_version-$build_release.deb ./bin/ mv $HOME/debbuild/harmony-$build_version-$build_release.deb ./bin/
mv $HOME/rpmbuild/RPMS/x86_64/woop-$build_version-$build_release.x86_64.rpm ./bin/ mv $HOME/rpmbuild/RPMS/x86_64/harmony-$build_version-$build_release.x86_64.rpm ./bin/
working-directory: woop working-directory: harmony
- name: Build woop binary and packages for Linux on ARM64 - name: Build harmony 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/woop ./bin/woop-arm64 mv ./bin/harmony ./bin/harmony-arm64
working-directory: woop working-directory: harmony
- name: Build woop binary and packages for MacOS - name: Build harmony 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 woop gpg --detach-sign harmony
zip -qr ./woop-macos.zip ./* zip -qr ./harmony-macos.zip ./*
rm -rf `ls * | egrep -v woop-macos.zip` rm -rf `ls * | egrep -v harmony-macos.zip`
working-directory: woop working-directory: harmony
- name: Upload artifact - name: Upload artifact
uses: actions/upload-artifact@v2 uses: actions/upload-artifact@v2
with: with:
name: woop name: harmony
path: woop/bin/* path: harmony/bin/*
retention-days: 1 retention-days: 1
docker-build: docker-build:
name: Build and push woop docker image name: Build and push harmony 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 woop core code - name: Checkout harmony core code
uses: actions/checkout@v3 uses: actions/checkout@v3
with: with:
path: woop path: harmony
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: woop working-directory: harmony
- name: Download artifact - name: Download artifact
uses: actions/download-artifact@v3 uses: actions/download-artifact@v3
with: with:
name: woop name: harmony
- name: Build preview works - name: Build preview works
run: | run: |
mv $GITHUB_WORKSPACE/woop-amd64 ./scripts/docker/woop mv $GITHUB_WORKSPACE/harmony-amd64 ./scripts/docker/harmony
working-directory: woop working-directory: harmony
- 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: ./woop/scripts/docker context: ./harmony/scripts/docker
file: ./woop/scripts/docker/Dockerfile file: ./harmony/scripts/docker/Dockerfile
push: true push: true
tags: | tags: |
woopchain/woop:${{ github.event.inputs.tag }} harmonyone/harmony:${{ github.event.inputs.tag }}
woopchain/woop:${{ env.build_version }}-${{ env.build_release }} harmonyone/harmony:${{ 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 woop core code - name: Checkout harmony core code
uses: actions/checkout@v3 uses: actions/checkout@v3
with: with:
path: woop path: harmony
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: woop working-directory: harmony
- name: Download artifact - name: Download artifact
uses: actions/download-artifact@v3 uses: actions/download-artifact@v3
with: with:
name: woop name: harmony
- name: Signed amd64 woop binary - name: Signed amd64 harmony binary
run: | run: |
gpg --detach-sign woop-amd64 gpg --detach-sign harmony-amd64
sha256sum woop-amd64 >> woop-amd64.sha256 sha256sum harmony-amd64 >> harmony-amd64.sha256
- name: Signed arm64 woop binary - name: Signed arm64 harmony binary
run: | run: |
gpg --detach-sign woop-arm64 gpg --detach-sign harmony-arm64
sha256sum woop-arm64 >> woop-arm64.sha256 sha256sum harmony-arm64 >> harmony-arm64.sha256
- name: Signed amd64 woop binary - name: Signed amd64 harmony binary
run: | run: |
shasum -a 256 woop-macos.zip >> woop-macos.zip.sha256 shasum -a 256 harmony-macos.zip >> harmony-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: woop working-directory: harmony
- 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: ./woop/tag_message.md body_path: ./harmony/tag_message.md
- name: Upload woop binary for Linux - name: Upload harmony 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: ./woop-amd64 asset_path: ./harmony-amd64
asset_name: woop asset_name: harmony
asset_content_type: application/octet-stream asset_content_type: application/octet-stream
- name: Upload woop deb package for Linux - name: Upload harmony 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: ./woop-${{ env.build_version }}-${{ env.build_release }}.deb asset_path: ./harmony-${{ env.build_version }}-${{ env.build_release }}.deb
asset_name: woop-${{ env.build_version }}.deb asset_name: harmony-${{ env.build_version }}.deb
asset_content_type: application/x-deb asset_content_type: application/x-deb
- name: Upload woop rpm package for Linux - name: Upload harmony 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: ./woop-${{ env.build_version }}-${{ env.build_release }}.x86_64.rpm asset_path: ./harmony-${{ env.build_version }}-${{ env.build_release }}.x86_64.rpm
asset_name: woop-${{ env.build_version }}.x86_64.rpm asset_name: harmony-${{ env.build_version }}.x86_64.rpm
asset_content_type: application/x-rpm asset_content_type: application/x-rpm
- name: Upload woop amd64 binary for Linux - name: Upload harmony 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: ./woop-amd64 asset_path: ./harmony-amd64
asset_name: woop-amd64 asset_name: harmony-amd64
asset_content_type: application/octet-stream asset_content_type: application/octet-stream
- name: Upload sha256 signature of woop amd64 binary for Linux - name: Upload sha256 signature of harmony 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: ./woop-amd64.sha256 asset_path: ./harmony-amd64.sha256
asset_name: woop-amd64.sha256 asset_name: harmony-amd64.sha256
asset_content_type: text/plain asset_content_type: text/plain
- name: Upload gpg signature of woop amd64 binary for Linux - name: Upload gpg signature of harmony 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: ./woop-amd64.sig asset_path: ./harmony-amd64.sig
asset_name: woop-amd64.sig asset_name: harmony-amd64.sig
asset_content_type: application/octet-stream asset_content_type: application/octet-stream
- name: Upload woop arm64 binary for Linux - name: Upload harmony 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: ./woop-arm64 asset_path: ./harmony-arm64
asset_name: woop-arm64 asset_name: harmony-arm64
asset_content_type: application/octet-stream asset_content_type: application/octet-stream
- name: Upload sha256 signature of woop arm64 binary for Linux - name: Upload sha256 signature of harmony 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: ./woop-arm64.sha256 asset_path: ./harmony-arm64.sha256
asset_name: woop-arm64.sha256 asset_name: harmony-arm64.sha256
asset_content_type: text/plain asset_content_type: text/plain
- name: Upload gpg signature of woop arm64 binary for Linux - name: Upload gpg signature of harmony 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: ./woop-arm64.sig asset_path: ./harmony-arm64.sig
asset_name: woop-arm64.sig asset_name: harmony-arm64.sig
asset_content_type: application/octet-stream asset_content_type: application/octet-stream
- name: Upload woop binary for MacOS - name: Upload harmony 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: ./woop-macos.zip asset_path: ./harmony-macos.zip
asset_name: woop-macos-${{ env.build_version }}.zip asset_name: harmony-macos-${{ env.build_version }}.zip
asset_content_type: application/zip asset_content_type: application/zip
- name: Upload sha256 signature of woop for MacOS - name: Upload sha256 signature of harmony 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: ./woop-macos.zip.sha256 asset_path: ./harmony-macos.zip.sha256
asset_name: woop-macos.zip.sha256 asset_name: harmony-macos.zip.sha256
asset_content_type: text/plain asset_content_type: text/plain

@ -1,4 +1,4 @@
name: release woop name: release harmony
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 woop core code - name: Checkout harmony core code
uses: actions/checkout@v3 uses: actions/checkout@v3
with: with:
path: woop path: harmony
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: woop working-directory: harmony
build: build:
name: Build woop binary name: Build harmony 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: woop-chain/mcl repository: harmony-one/mcl
path: mcl path: mcl
- name: Checkout dependence repo - name: Checkout dependence repo
uses: actions/checkout@v3 uses: actions/checkout@v3
with: with:
repository: woop-chain/bls repository: harmony-one/bls
path: bls path: bls
- name: Checkout woop core code - name: Checkout harmony core code
uses: actions/checkout@v3 uses: actions/checkout@v3
with: with:
path: woop path: harmony
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: 'woop/go.mod' go-version-file: 'harmony/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: woop working-directory: harmony
- name: Build woop binary and packages for Linux - name: Build harmony 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 Woop (wikiwoop.com)" >> $HOME/.rpmmacros echo %_signature gpg >> $HOME/.rpmmacros && echo "%_gpg_name Harmony (harmony.one)" >> $HOME/.rpmmacros
make rpm make rpm
mv ./bin/woop ./bin/woop-amd64 mv ./bin/harmony ./bin/harmony-amd64
mv $HOME/debbuild/woop-$build_version-$build_release.deb ./bin/ mv $HOME/debbuild/harmony-$build_version-$build_release.deb ./bin/
mv $HOME/rpmbuild/RPMS/x86_64/woop-$build_version-$build_release.x86_64.rpm ./bin/ mv $HOME/rpmbuild/RPMS/x86_64/harmony-$build_version-$build_release.x86_64.rpm ./bin/
working-directory: woop working-directory: harmony
- name: Build woop binary and packages for Linux - name: Build harmony 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/woop ./bin/woop-arm64 mv ./bin/harmony ./bin/harmony-arm64
working-directory: woop working-directory: harmony
- name: Build woop binary and packages for MacOS - name: Build harmony 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 woop gpg --detach-sign harmony
zip -qr ./woop-macos.zip ./* zip -qr ./harmony-macos.zip ./*
rm -rf `ls * | egrep -v woop-macos.zip` rm -rf `ls * | egrep -v harmony-macos.zip`
working-directory: woop working-directory: harmony
- name: Upload artifact - name: Upload artifact
uses: actions/upload-artifact@v2 uses: actions/upload-artifact@v2
with: with:
name: woop name: harmony
path: woop/bin/* path: harmony/bin/*
retention-days: 1 retention-days: 1
docker-build: docker-build:
name: Build and push woop docker image name: Build and push harmony 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 woop core code - name: Checkout harmony core code
uses: actions/checkout@v3 uses: actions/checkout@v3
with: with:
path: woop path: harmony
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: woop working-directory: harmony
- name: Download artifact - name: Download artifact
uses: actions/download-artifact@v3 uses: actions/download-artifact@v3
with: with:
name: woop name: harmony
- name: Build preview works - name: Build preview works
run: | run: |
mv $GITHUB_WORKSPACE/woop-amd64 ./scripts/docker/woop mv $GITHUB_WORKSPACE/harmony-amd64 ./scripts/docker/harmony
working-directory: woop working-directory: harmony
- 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: ./woop/scripts/docker context: ./harmony/scripts/docker
file: ./woop/scripts/docker/Dockerfile file: ./harmony/scripts/docker/Dockerfile
push: true push: true
tags: | tags: |
woopchain/woop:latest harmonyone/harmony:latest
woopchain/woop:${{ env.build_version }}-${{ env.build_release }} harmonyone/harmony:${{ 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 woop core code - name: Checkout harmony core code
uses: actions/checkout@v3 uses: actions/checkout@v3
with: with:
path: woop path: harmony
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: woop working-directory: harmony
- name: Download artifact - name: Download artifact
uses: actions/download-artifact@v3 uses: actions/download-artifact@v3
with: with:
name: woop name: harmony
- name: Signed amd64 woop binary - name: Signed amd64 harmony binary
run: | run: |
gpg --detach-sign woop-amd64 gpg --detach-sign harmony-amd64
sha256sum woop-amd64 >> woop-amd64.sha256 sha256sum harmony-amd64 >> harmony-amd64.sha256
- name: Signed arm64 woop binary - name: Signed arm64 harmony binary
run: | run: |
gpg --detach-sign woop-arm64 gpg --detach-sign harmony-arm64
sha256sum woop-arm64 >> woop-arm64.sha256 sha256sum harmony-arm64 >> harmony-arm64.sha256
- name: Signed amd64 woop binary - name: Signed amd64 harmony binary
run: | run: |
shasum -a 256 woop-macos.zip >> woop-macos.zip.sha256 shasum -a 256 harmony-macos.zip >> harmony-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: woop working-directory: harmony
- 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: ./woop/tag_message.md body_path: ./harmony/tag_message.md
- name: Upload woop binary for Linux - name: Upload harmony 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: ./woop-amd64 asset_path: ./harmony-amd64
asset_name: woop asset_name: harmony
asset_content_type: application/octet-stream asset_content_type: application/octet-stream
- name: Upload woop deb package for Linux - name: Upload harmony 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: ./woop-${{ env.build_version }}-${{ env.build_release }}.deb asset_path: ./harmony-${{ env.build_version }}-${{ env.build_release }}.deb
asset_name: woop-${{ env.build_version }}.deb asset_name: harmony-${{ env.build_version }}.deb
asset_content_type: application/x-deb asset_content_type: application/x-deb
- name: Upload woop rpm package for Linux - name: Upload harmony 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: ./woop-${{ env.build_version }}-${{ env.build_release }}.x86_64.rpm asset_path: ./harmony-${{ env.build_version }}-${{ env.build_release }}.x86_64.rpm
asset_name: woop-${{ env.build_version }}.x86_64.rpm asset_name: harmony-${{ env.build_version }}.x86_64.rpm
asset_content_type: application/x-rpm asset_content_type: application/x-rpm
- name: Upload woop amd64 binary for Linux - name: Upload harmony 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: ./woop-amd64 asset_path: ./harmony-amd64
asset_name: woop-amd64 asset_name: harmony-amd64
asset_content_type: application/octet-stream asset_content_type: application/octet-stream
- name: Upload sha256 signature of woop amd64 binary for Linux - name: Upload sha256 signature of harmony 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: ./woop-amd64.sha256 asset_path: ./harmony-amd64.sha256
asset_name: woop-amd64.sha256 asset_name: harmony-amd64.sha256
asset_content_type: text/plain asset_content_type: text/plain
- name: Upload gpg signature of woop amd64 binary for Linux - name: Upload gpg signature of harmony 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: ./woop-amd64.sig asset_path: ./harmony-amd64.sig
asset_name: woop-amd64.sig asset_name: harmony-amd64.sig
asset_content_type: application/octet-stream asset_content_type: application/octet-stream
- name: Upload woop arm64 binary for Linux - name: Upload harmony 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: ./woop-arm64 asset_path: ./harmony-arm64
asset_name: woop-arm64 asset_name: harmony-arm64
asset_content_type: application/octet-stream asset_content_type: application/octet-stream
- name: Upload sha256 signature of woop arm64 binary for Linux - name: Upload sha256 signature of harmony 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: ./woop-arm64.sha256 asset_path: ./harmony-arm64.sha256
asset_name: woop-arm64.sha256 asset_name: harmony-arm64.sha256
asset_content_type: text/plain asset_content_type: text/plain
- name: Upload gpg signature of woop arm64 binary for Linux - name: Upload gpg signature of harmony 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: ./woop-arm64.sig asset_path: ./harmony-arm64.sig
asset_name: woop-arm64.sig asset_name: harmony-arm64.sig
asset_content_type: application/octet-stream asset_content_type: application/octet-stream
- name: Upload woop binary for MacOS - name: Upload harmony 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: ./woop-macos.zip asset_path: ./harmony-macos.zip
asset_name: woop-macos-${{ env.build_version }}.zip asset_name: harmony-macos-${{ env.build_version }}.zip
asset_content_type: application/zip asset_content_type: application/zip
- name: Upload sha256 signature of woop for MacOS - name: Upload sha256 signature of harmony 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: ./woop-macos.zip.sha256 asset_path: ./harmony-macos.zip.sha256
asset_name: woop-macos.zip.sha256 asset_name: harmony-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/
# woop node keystore # harmony node keystore
.wikikey .hmykey
# staking keystore # staking keystore
.stakingkey .stakingkey
@ -68,7 +68,7 @@ node_modules/
test/.bnkey test/.bnkey
# exported keys # exported keys
.wiki/*.key .hmy/*.key
# blspass # blspass
blspass.txt blspass.txt
@ -86,11 +86,11 @@ db-127.0.0.1-*
coverage.txt coverage.txt
# testdata directory # testdata directory
woop_db_* harmony_db_*
explorer_storage_* explorer_storage_*
# local blskeys for testing # local blskeys for testing
.wiki/blskeys .hmy/blskeys
# pprof profiles # pprof profiles
profiles/*.pb.gz profiles/*.pb.gz

@ -0,0 +1 @@
e859f90f6cb272e078c5601ba6f921e53a881422928b10240aa50c5868af3db6f4fbbb30d91b232a8c0a1000355b8da9b510c0bb6eea36ba17a5ed8df875656e6e3467728c830e51ddfee1e736f986438e9d79ed56bc8f3d0e7734ec

@ -0,0 +1 @@
dd11eabd17b257220f9523efd6524f12b7c1356f21667a87fe1b8c630bdf9f7d247087f85a8f661a7ef8ccde6e6287d54361aa2287fdf258321a1cc1d885b45a3b636a23e40aec0357dbd699c82a36e07fff9ca6fd85f79652320113

@ -0,0 +1 @@
ef98515555a78fd211906a3eeaf2aca18452c48665b258b5e6a1600693ff65e8a3b6d6a3b1efd0775a297824d42d0454f4ae49789a8bc05bc2ff89b3eaa768754db6d2290fa013a6b6e42eeca8fa45a14c73192081fdd0820673ad17

@ -0,0 +1 @@
8ec21daae97cf60451250b08307df26f9d453860f3e98b4b8244d06846018a4f02c1183373bdf21d64c7ed203821df8e6026975c886ec3f3451127011696ffd8f591457ff12a1fa169b202944156408744374f89654d0d9367984dc0

@ -0,0 +1 @@
b9a18c5f14b14ac6a648a792265d28f81dab207b7367573b83c4a206e01e1bd238f3a0416c66554254a77a473dec0e68bd8bf30185c91b12b07d634e53fd3f7a059eaeca39ff2b67bc848eb05869fc05255121d53c1f0a11bf4f511d

@ -0,0 +1 @@
cdaa7ee86f59aa4bd326af635a899afb21b204882b1e911f5e5a250c76c044d1ccfbb15772d26e36ee9ffe6c290bdebfe49ac1cf1989c913f3d06c76d4c20ebf8ba4a00644405064e51ce2fbdc14c35892393c84e4cc98ca5f2780e6

@ -0,0 +1 @@
c3e2375e1f3d09399c96215861fd4f231e2ec9fd6ec9a8e1143efaff862893542610eacfcf93a76b359fc0a4644a41ffbae7e3d3f580d816231252e28f41633e297796baa3ddd94b9ef2b183ab2b678c675950ef3fbe64dc80e2a680

@ -0,0 +1 @@
2feddeb82936401a582b4d48aa7bc62f1ccabcad430ee9e70ca682392767a8a162d17f691cc22089f434c76c790e57ad0ce93a61aa070b87f802f42d84ac02d3d33cc4baa4a643eeb53b19c4105ba01e2dd7a3cccb75b0678cc71d21

@ -0,0 +1 @@
10f1173239fc903360055a2ffe37948cddbb2b199f66572af56e623b6681c100f2fc71b08cef8fd59c0a784047f321543d81aee9a2d493214c31e72852c5d1c8f350baf4d8667fec16f520680fc59371a0f874ffcc9cd5c824291ff5

@ -0,0 +1 @@
837cdffcc049ba89931d570e4be38bfef513df65d8dd277b0da8e62adf8c23b3c5229a2a4b36aa2c90c17d490dd5f95869365ebc4429d1efc784d25a64db246870d4bb4831d98ec02317ea88b76491a7fdfd2fa5e10f267e8f3989d9

@ -0,0 +1 @@
3866b51e59955446f625063edc6a6f352662e92224ce78a2921e7699d478ace9d1c7a3c7c1932a81c5d7fc677e9c7620fe414a0b8e852bc075d600455e8b07b0918296e2914a656764e438e6978623f23ae63207ef4b377aac478048

@ -0,0 +1 @@
56e7156cfa4151f7beb62d94f92bf08f0544cc35aa65eec1c68f0db99fdef68dd0cc354ba61e949dd962100216155e86052272965b7063d8ebb9a6c7be9c35ab421415f12d05dc0c719b6ac2b3ec20fedc267fbf6a4f022925bc45bf

@ -0,0 +1 @@
926454b15914a0d0a18686173dcee027bd6cb3911866f360a3b383b240431c75130e2f3b3697f5117e072a6c7fc39dcdeb8b1e790034e844b070867740d5eb2d918b649701490e56aecdb7ef22c335d6300a103719c98bb094aec530

@ -0,0 +1 @@
d2e561f8184c1e2ab98a77c82cec7aa6ee2d729ce7664c35784299245c5a2f98afeda45049ff55ac19ad7fe8c9a13d57fd2f250b4a0bcba9146f01d789ce8fbab4433ca09fbf3f6d476f7832a62539c4c12ac7fa5ce37d535c1d21e9

@ -0,0 +1 @@
dbbf69ebbe21d0da28bbf96294171b17644f40bce2bd38470b9345c75811b9685587b0acf9b1806b48a28e7cc56e5e4daad281d2950612beaeef607e8aa71bbc33ed91f76c170b1efe6691a4038ab3b149ac771279ee9ea90b501444

@ -0,0 +1 @@
2d531f231ea393b00d1e74887135dbc6144ccbb683438b7f1b7b9a217ca890ef82ba0a2fad7c103f31ac46cc6cbf073d4489726b3069af3414c930234d284453292cd1a5c14baf884a1f074fe4f70856c2e454e0da1f6acd1d745671

@ -0,0 +1 @@
5ea6f866b075e1c42d2a0aa72862f5161b45e4e5064f87f12c241d43425cdce6f785697d3a7dc40a7b17222543390dac8e4908e71c44a7180f86bda6930b1df96d59adb70f24756c4c4430325b6a2ba36364870dd768d55a4a0c86e1

@ -0,0 +1 @@
764e55fb6b84617d188846e274152ca564b8b013cfe661661bd7c6681fdae3b000ef96c0654cdd7ff8755d32768e3770c4137e9d08c5ea7c8083705f41aae761bc03737cf316382f51c63d9e335a4c6a2d770e190ce5306cdca7821a

@ -0,0 +1 @@
4f10ae42aefd0acfc50cc2a5874eff7ecd98c8a2a6bb9fa7f35f7e23a71211a24d8428b13472558000193d03077afdc5d534e0a91e0113114d141783db621499f7866bcf56300befd2a60408e56d9908069cc51e2216113f050c3d3e

@ -0,0 +1 @@
b3dae95cb93d7081949f19fa14b682254b52034de91020394a7df5bc87c0629ff73e3fc8ad760d911ea9fb488587d3bc36520e936d85e29bfa303db66dacc56728191906b686fc5ea73a63efb83c423f01e150b6737bd07c4763155c

@ -0,0 +1 @@
f7255c1a11961a9dd4f7b0776c6113fc479829880abe05a16322099b651d5b31b829f63794d9c89fe7e9fc9729f7a722b566b77ca3f50824895b4ce26779ecfcfe6e50908f7fd26b101d34f0addb0b6cab5d2d48e82c7db9964dd09d

@ -0,0 +1 @@
8e1c2ffc67eeb241e00f5a87a280cb1705f38dd5e21a727aaccf1f82f60256ff9b7e409e2a059fcaae2f7b41a76ef58149d25fe9c47626ca1df012661d344d9f8a25d817183c55e8be840f5a155e7374cf1044e0abbaa23e6ac0c041

@ -0,0 +1 @@
e32f49038a6eddd0734bc444789ee24cee3ca53f10f9fab44c103099ce0cb3d6978f524cdacbf5b1d4d99e8cca7c3ffe0ebc7f9bc256b9a47b0b3b5a09f821718ee948e28bd3e6392f113a79f9a1a1bfc7b743b2dc06a8a1dc9dd1e9

@ -0,0 +1 @@
04708dbccd097c7f1278b51f6e72a8dead4f913c55dbc412f5d4519ed67d8fb56944c719a544fe724f0648ac9a74875d5458855e7bb434eaae0249f3b6fafbf311147de2f1e64e0394043e55c6cec92ce28af61dda93da6bf65523d3

@ -0,0 +1 @@
2ddd1d3d707da7a1a790aa1c3712c7457eaf63430cdefbd8988602369b112a4b2bde7d1e9769a6e980dc168ed337021bec96ba72607272ba6efdac603bda0d601e0e757384ed92b83f7a99efe412d08d13a9540e654e57aa9f702553

@ -0,0 +1 @@
0eb52e17542aac608b63b714b4f00e620c47743524c9367c9d0c2cb770c727c81167f0b5e94c59c9c0e68864407ca4c64922f6b23a22cb93fa260486d17d67faab495acc567ee41adadffe36632e00d36a903f26cbc60055c5c681ad

@ -1,59 +0,0 @@
pull_request_rules:
- name: Squash merge rule to dev
conditions:
# applied for merge to the dev branch
- base=dev
# no unresolved threads
- "#review-threads-unresolved=0"
# Approved by two reviewers
- "#approved-reviews-by>=2"
# no unverified commit
- "#commits-unverified=0"
# Travis ci succeeded
- "check-success=Travis CI - Pull Request"
# git guardian succeeded
- "check-success=GitGuardian Security Checks"
# PR is not a draft
- -draft
# PR is not conflicting with the base branch
- -conflict
# conditions to avoid auto merge mistakes
# PR title doesn't have wip (not case sensitive)
- -title~=(?i)wip
# PR doesn't have WIP label (not case sensitive)
- label!=(?i)wip
# ready-to-merge is required to trigger the merge
- label=ready-to-merge
actions:
merge:
method: squash
- name: merge rule to main
conditions:
# from the dev branch : no direct PR to main
- head=dev
# applied for merge to the dev branch
- base=main
# no unresolved threads
- "#review-threads-unresolved=0"
# Approved by two reviewers
- "#approved-reviews-by>=2"
# no unverified commit
- "#commits-unverified=0"
# Travis ci succeeded
- "check-success=Travis CI - Pull Request"
# git guardian succeeded
- "check-success=GitGuardian Security Checks"
# PR is not a draft
- -draft
# PR is not conflicting with the base branch
- -conflict
# conditions to avoid auto merge mistakes
# PR title doesn't have wip (not case sensitive)
- -title~=(?i)wip
# PR doesn't have WIP label (not case sensitive)
- label!=(?i)wip
# ready-to-merge is required to trigger the merge
- label=ready-to-merge
actions:
merge:
method: merge

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

@ -3,7 +3,7 @@ dist: jammy
language: go language: go
go: go:
- 1.19.5 - 1.19.5
go_import_path: github.com/woop-chain/woop go_import_path: github.com/harmony-one/harmony
cache: cache:
directories: directories:
- docker_images - docker_images
@ -12,29 +12,20 @@ env:
- TEST="bash ./scripts/travis_go_checker.sh" - TEST="bash ./scripts/travis_go_checker.sh"
- TEST="bash ./scripts/travis_rpc_checker.sh" - TEST="bash ./scripts/travis_rpc_checker.sh"
- TEST="bash ./scripts/travis_rosetta_checker.sh" - TEST="bash ./scripts/travis_rosetta_checker.sh"
# upgrade docker to latest stable version
addons:
apt:
sources:
- sourceline: deb https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable
packages:
- docker.io
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/woop-chain/woop # /home/travis/gopath/src/github.com/harmony-one/harmony
# 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/woop-chain/mcl.git $GOPATH/src/github.com/woop-chain/mcl - git clone https://github.com/harmony-one/mcl.git $GOPATH/src/github.com/harmony-one/mcl
- git clone https://github.com/woop-chain/bls.git $GOPATH/src/github.com/woop-chain/bls - git clone https://github.com/harmony-one/bls.git $GOPATH/src/github.com/harmony-one/bls
- git clone https://github.com/woop-chain/woop-test.git $GOPATH/src/github.com/woop-chain/woop-test - git clone https://github.com/harmony-one/harmony-test.git $GOPATH/src/github.com/harmony-one/harmony-test
- (cd $GOPATH/src/github.com/woop-chain/mcl; make -j4) - (cd $GOPATH/src/github.com/harmony-one/mcl; make -j4)
- (cd $GOPATH/src/github.com/woop-chain/bls; make BLS_SWAP_G=1 -j4) - (cd $GOPATH/src/github.com/harmony-one/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/woop-chain/gencodec@latest - go install github.com/harmony-ek/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 woop binary looks for the file `./.wiki/blaklist.txt`. By default, the harmony binary looks for the file `./.hmy/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@wikiwoop.com. All reported by contacting the project team at info@harmony.one. 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 Woop # Contributing To Harmony
## 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 standard for the quality of each PR. To pursue engineering excellence, we have insisted on the highest stardard on 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 standard for t
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 example, a typical workflow is like the following. For exampple, 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/woop-chain/woop git clone https://github.com/harmony-one/harmony
cd woop cd harmony
# 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 WIKI_PATH=${GOPATH}/src/github.com/woop-chain ENV HMY_PATH=${GOPATH}/src/github.com/harmony-one
ENV OPENSSL_DIR=/usr/lib/ssl ENV OPENSSL_DIR=/usr/lib/ssl
ENV MCL_DIR=${WIKI_PATH}/mcl ENV MCL_DIR=${HMY_PATH}/mcl
ENV BLS_DIR=${WIKI_PATH}/bls ENV BLS_DIR=${HMY_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/woop-chain/woop.git ${WIKI_PATH}/woop RUN git clone https://github.com/harmony-one/harmony.git ${HMY_PATH}/harmony
RUN git clone https://github.com/woop-chain/bls.git ${WIKI_PATH}/bls RUN git clone https://github.com/harmony-one/bls.git ${HMY_PATH}/bls
RUN git clone https://github.com/woop-chain/mcl.git ${WIKI_PATH}/mcl RUN git clone https://github.com/harmony-one/mcl.git ${HMY_PATH}/mcl
RUN git clone https://github.com/woop-chain/go-sdk.git ${WIKI_PATH}/go-sdk RUN git clone https://github.com/harmony-one/go-sdk.git ${HMY_PATH}/go-sdk
RUN cd ${WIKI_PATH}/bls && make -j8 BLS_SWAP_G=1 RUN cd ${HMY_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 ${WIKI_PATH}/woop WORKDIR ${HMY_PATH}/harmony
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 ${WIKI_PATH}/go-sdk && make -j8 && cp wiki /root/bin RUN cd ${HMY_PATH}/go-sdk && make -j8 && cp hmy /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 wiki keys import-private-key ${KS1} && \ RUN hmy keys import-private-key ${KS1} && \
wiki keys import-private-key ${KS2} && \ hmy keys import-private-key ${KS2} && \
wiki keys import-private-key ${KS3} && \ hmy keys import-private-key ${KS3} && \
wiki keys generate-bls-key > keys.json hmy 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 wiki for local dev\n\n'" >> /root/.bashrc && \ echo "printf '${K1}, ${K2}, ${K3} are imported accounts in hmy for local dev\n\n'" >> /root/.bashrc && \
echo "printf 'test with: wiki blockchain validator information ${K1}\n\n'" >> /root/.bashrc && \ echo "printf 'test with: hmy 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 ". <(wiki completion)" >> /root/.bashrc echo ". <(hmy 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 Woop Thank you for your interest in contributing to Simple Rules Company's Harmony
("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@wikiwoop.com – in any event, please contact Us at licensing@harmony.one
## 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=woop PKGNAME=harmony
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 woop binary & bootnode along with the MCL & BLS libs (if necessary)" @echo "all - build the harmony 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 woop binary & bootnode" @echo "exe - build the harmony binary & bootnode"
@echo "race - build the woop binary & bootnode with race condition checks" @echo "race - build the harmony binary & bootnode with race condition checks"
@echo "trace-pointer - build the woop binary & bootnode with pointer analysis" @echo "trace-pointer - build the harmony 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 woop binary & bootnode along with the MCL & BLS libs (for linux)" @echo "linux_static - static build the harmony binary & bootnode along with the MCL & BLS libs (for linux)"
@echo "rpm - build a woop RPM pacakge" @echo "rpm - build a harmony RPM pacakge"
@echo "rpmpub_dev - publish woop RPM package to development repo" @echo "rpmpub_dev - publish harmony RPM package to development repo"
@echo "rpmpub_prod - publish woop RPM package to production repo" @echo "rpmpub_prod - publish harmony RPM package to production repo"
@echo "deb - build a woop Debian pacakge" @echo "deb - build a harmony Debian pacakge"
@echo "debpub_dev - publish woop Debian package to development repo" @echo "debpub_dev - publish harmony Debian package to development repo"
@echo "debpub_prod - publish woop Debian package to production repo" @echo "debpub_prod - publish harmony Debian package to production repo"
libs: libs:
make -C $(TOP)/mcl -j8 make -C $(TOP)/mcl -j8
@ -56,7 +56,6 @@ trace-pointer:
bash ./scripts/go_executable_build.sh -t bash ./scripts/go_executable_build.sh -t
debug: debug:
rm -rf .dht-127.0.0.1*
bash ./test/debug.sh bash ./test/debug.sh
debug-kill: debug-kill:
@ -107,14 +106,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/woop} mkdir -p $(DEBBUILD)/$(PKGNAME)-$(VERSION)-$(RELEASE)/{etc/systemd/system,usr/sbin,etc/sysctl.d,etc/harmony}
cp -f bin/woop $(DEBBUILD)/$(PKGNAME)-$(VERSION)-$(RELEASE)/usr/sbin/ cp -f bin/harmony $(DEBBUILD)/$(PKGNAME)-$(VERSION)-$(RELEASE)/usr/sbin/
bin/woop dumpconfig $(DEBBUILD)/$(PKGNAME)-$(VERSION)-$(RELEASE)/etc/woop/woop.conf bin/harmony dumpconfig $(DEBBUILD)/$(PKGNAME)-$(VERSION)-$(RELEASE)/etc/harmony/harmony.conf
cp -f scripts/package/rclone.conf $(DEBBUILD)/$(PKGNAME)-$(VERSION)-$(RELEASE)/etc/woop/ cp -f scripts/package/rclone.conf $(DEBBUILD)/$(PKGNAME)-$(VERSION)-$(RELEASE)/etc/harmony/
cp -f scripts/package/woop.service $(DEBBUILD)/$(PKGNAME)-$(VERSION)-$(RELEASE)/etc/systemd/system/ cp -f scripts/package/harmony.service $(DEBBUILD)/$(PKGNAME)-$(VERSION)-$(RELEASE)/etc/systemd/system/
cp -f scripts/package/woop-setup.sh $(DEBBUILD)/$(PKGNAME)-$(VERSION)-$(RELEASE)/usr/sbin/ cp -f scripts/package/harmony-setup.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-rclone.sh $(DEBBUILD)/$(PKGNAME)-$(VERSION)-$(RELEASE)/usr/sbin/
cp -f scripts/package/woop-sysctl.conf $(DEBBUILD)/$(PKGNAME)-$(VERSION)-$(RELEASE)/etc/sysctl.d/99-woop.conf cp -f scripts/package/harmony-sysctl.conf $(DEBBUILD)/$(PKGNAME)-$(VERSION)-$(RELEASE)/etc/sysctl.d/99-harmony.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 +134,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/woop $(RPMBUILD)/SOURCES/$(PKGNAME)-$(VERSION) cp -f bin/harmony $(RPMBUILD)/SOURCES/$(PKGNAME)-$(VERSION)
bin/woop dumpconfig $(RPMBUILD)/SOURCES/$(PKGNAME)-$(VERSION)/woop.conf bin/harmony dumpconfig $(RPMBUILD)/SOURCES/$(PKGNAME)-$(VERSION)/harmony.conf
cp -f scripts/package/woop.service $(RPMBUILD)/SOURCES/$(PKGNAME)-$(VERSION) cp -f scripts/package/harmony.service $(RPMBUILD)/SOURCES/$(PKGNAME)-$(VERSION)
cp -f scripts/package/woop-setup.sh $(RPMBUILD)/SOURCES/$(PKGNAME)-$(VERSION) cp -f scripts/package/harmony-setup.sh $(RPMBUILD)/SOURCES/$(PKGNAME)-$(VERSION)
cp -f scripts/package/woop-rclone.sh $(RPMBUILD)/SOURCES/$(PKGNAME)-$(VERSION) cp -f scripts/package/harmony-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/woop-sysctl.conf $(RPMBUILD)/SOURCES/$(PKGNAME)-$(VERSION) cp -f scripts/package/harmony-sysctl.conf $(RPMBUILD)/SOURCES/$(PKGNAME)-$(VERSION)
VER=$(VERSION) REL=$(RELEASE) scripts/package/templater.sh scripts/package/rpm/woop.spec > $(RPMBUILD)/SPECS/woop.spec VER=$(VERSION) REL=$(RELEASE) scripts/package/templater.sh scripts/package/rpm/harmony.spec > $(RPMBUILD)/SPECS/harmony.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/woop.spec rpmbuild --target x86_64 -bb $(RPMBUILD)/SPECS/harmony.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,19 +163,7 @@ go-test:
go test -vet=all -race ./... go test -vet=all -race ./...
docker: docker:
docker build --pull -t woopchain/$(PKGNAME):latest -f scripts/docker/Dockerfile . docker build --pull -t harmonyone/$(PKGNAME):latest -f scripts/docker/Dockerfile .
travis_go_checker: travis_go_checker:
bash ./scripts/travis_go_checker.sh bash ./scripts/travis_go_checker.sh
travis_rpc_checker:
bash ./scripts/travis_rpc_checker.sh
travis_rosetta_checker:
bash ./scripts/travis_rosetta_checker.sh
debug_external: clean
bash test/debug-external.sh
build_localnet_validator:
bash test/build-localnet-validator.sh

@ -1,10 +1,18 @@
# WoopChain # Harmony
[![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.wikiwoop.com/ https://docs.harmony.one
## API Guide
http://api.hmny.io/
## Requirements ## Requirements
@ -39,27 +47,27 @@ For macOS, you can reference this [guide](http://tldrdevnotes.com/bash-upgrade-3
## Dev Environment ## Dev Environment
**Most repos from [woop-chain](https://github.com/woop-chain) assumes the GOPATH convention. More information [here](https://github.com/golang/go/wiki/GOPATH).** **Most repos from [harmony-one](https://github.com/harmony-one) 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/woop-chain mkdir -p $(go env GOPATH)/src/github.com/harmony-one
cd $(go env GOPATH)/src/github.com/woop-chain cd $(go env GOPATH)/src/github.com/harmony-one
``` ```
> 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/woop-chain/mcl.git git clone https://github.com/harmony-one/mcl.git
git clone https://github.com/woop-chain/bls.git git clone https://github.com/harmony-one/bls.git
git clone https://github.com/woop-chain/woop.git git clone https://github.com/harmony-one/harmony.git
cd woop cd harmony
``` ```
3. Build the woop binary & dependent libs 3. Build the harmony binary & dependent libs
``` ```
go mod tidy go mod tidy
make make
@ -69,19 +77,19 @@ make
## Dev Docker Image ## Dev Docker Image
Included in this repo is a Dockerfile that has a full woop development environment and Included in this repo is a Dockerfile that has a full harmony 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/woop-chain/woop cd $(go env GOPATH)/src/github.com/harmony-one/harmony
make clean make clean
docker build -t woop . docker build -t harmony .
``` ```
> 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 woop . > docker build --platform linux/amd64 -t harmony .
> ``` > ```
> 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/).
@ -89,26 +97,26 @@ docker build -t woop .
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 woop -it -v "$(go env GOPATH)/src/github.com/woop-chain/woop:/root/go/src/github.com/woop-chain/woop" woop /bin/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
``` ```
> 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. > 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.
If you need to open another shell, just do: If you need to open another shell, just do:
```bash ```bash
docker exec -it woop /bin/bash docker exec -it harmony /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 Woop binary & all dependent libs. The `make` command should automatically build the Harmony 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/woop-chain/bls/include -I$GOPATH/src/github.com/woop-chain/mcl/include -I/opt/homebrew/opt/openssl@1.1/include" 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_LDFLAGS="-L$GOPATH/src/github.com/woop-chain/bls/lib -L/opt/homebrew/opt/openssl@1.1/lib" export CGO_LDFLAGS="-L$GOPATH/src/github.com/harmony-one/bls/lib -L/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 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 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
@ -142,7 +150,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 test Docker containers bind several ports to the host machine for your convenience. The ports are: Note that all testing docker container binds a couple of ports to the host machine for your convince. 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
@ -151,7 +159,7 @@ Note that all test Docker containers bind several ports to the host machine for
* `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, wiki 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, hmy 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:
@ -166,8 +174,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 thorough tests are done on the testnets). This test also acts as a preliminary integration test (more through tests are done on the testnets).
> The tests ran by this command can be found [here](https://github.com/woop-chain/woop-test/tree/master/localnet). > The tests ran by this command can be found [here](https://github.com/harmony-one/harmony-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
@ -175,9 +183,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 [Woop CLI](https://docs.wikiwoop.com/home/wallets/woop-cli) on path, > Note that the docker container has the [Harmony CLI](https://docs.harmony.one/home/wallets/harmony-cli) on path,
> therefore you can use that to debug if needed. For example, one could do `wiki blockchain latest-headers` to check > therefore you can use that to debug if needed. For example, one could do `hmy blockchain latest-headers` to check
> the current block height of localnet. Reference the documentation for the CLI [here](https://docs.wikiwoop.com/home/wallets/woop-cli) > the current block height of localnet. Reference the documentation for the CLI [here](https://docs.harmony.one/home/wallets/harmony-cli)
> for more details & commands. > for more details & commands.
### Rosetta tests ### Rosetta tests
@ -186,8 +194,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 thorough tests are done on the testnets). This test also acts as a preliminary integration test (more through tests are done on the testnets).
> 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) > 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)
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
@ -196,10 +204,10 @@ make test-rosetta-attach
## License ## License
Woop is licensed under GNU Lesser General Public License v3.0. See [`LICENSE`](LICENSE) file for Harmony is licensed under GNU Lesser General Public License v3.0. See [`LICENSE`](LICENSE) file for
the terms and conditions. the terms and conditions.
Woop includes third-party open-source code. In general, a source subtree Harmony 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.
@ -208,7 +216,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 Woop ## Contributing To Harmony
See [`CONTRIBUTING`](CONTRIBUTING.md) for details. See [`CONTRIBUTING`](CONTRIBUTING.md) for details.
@ -227,3 +235,10 @@ 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@wikiwoop.com Create a github issue if vulnerability can be exposed publicly otherwise send an email to security@harmony.one
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/woop-chain/woop/common/math" "github.com/harmony-one/harmony/common/math"
) )
const jsondata = ` const jsondata = `

@ -20,15 +20,16 @@ import (
"crypto/ecdsa" "crypto/ecdsa"
"errors" "errors"
"io" "io"
"io/ioutil"
"math/big" "math/big"
"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/woop-chain/woop/accounts" "github.com/harmony-one/harmony/accounts"
"github.com/woop-chain/woop/accounts/external" "github.com/harmony-one/harmony/accounts/external"
"github.com/woop-chain/woop/accounts/keystore" "github.com/harmony-one/harmony/accounts/keystore"
"github.com/woop-chain/woop/core/types" "github.com/harmony-one/harmony/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.
@ -43,7 +44,7 @@ var ErrNotAuthorized = errors.New("not authorized to sign this account")
// Deprecated: Use NewTransactorWithChainID instead. // Deprecated: Use NewTransactorWithChainID instead.
func NewTransactor(keyin io.Reader, passphrase string) (*TransactOpts, error) { func NewTransactor(keyin io.Reader, passphrase string) (*TransactOpts, error) {
log.Warn("WARNING: NewTransactor has been deprecated in favour of NewTransactorWithChainID") log.Warn("WARNING: NewTransactor has been deprecated in favour of NewTransactorWithChainID")
json, err := io.ReadAll(keyin) json, err := ioutil.ReadAll(keyin)
if err != nil { if err != nil {
return nil, err return nil, err
} }
@ -102,7 +103,7 @@ func NewKeyedTransactor(key *ecdsa.PrivateKey) *TransactOpts {
// NewTransactorWithChainID is a utility method to easily create a transaction signer from // NewTransactorWithChainID is a utility method to easily create a transaction signer from
// an encrypted json key stream and the associated passphrase. // an encrypted json key stream and the associated passphrase.
func NewTransactorWithChainID(keyin io.Reader, passphrase string, chainID *big.Int) (*TransactOpts, error) { func NewTransactorWithChainID(keyin io.Reader, passphrase string, chainID *big.Int) (*TransactOpts, error) {
json, err := io.ReadAll(keyin) json, err := ioutil.ReadAll(keyin)
if err != nil { if err != nil {
return nil, err return nil, err
} }

@ -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/woop-chain/woop/core/types" "github.com/harmony-one/harmony/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/woop-chain/woop/accounts/abi" "github.com/harmony-one/harmony/accounts/abi"
"github.com/woop-chain/woop/core/types" "github.com/harmony-one/harmony/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/woop-chain/woop/accounts/abi" "github.com/harmony-one/harmony/accounts/abi"
"github.com/woop-chain/woop/accounts/abi/bind" "github.com/harmony-one/harmony/accounts/abi/bind"
"github.com/woop-chain/woop/core/types" "github.com/harmony-one/harmony/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/woop-chain/woop/accounts/abi" "github.com/harmony-one/harmony/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/woop-chain/woop/accounts/abi" import "github.com/harmony-one/harmony/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/woop-chain/woop/accounts/abi" "github.com/harmony-one/harmony/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/woop-chain/woop/accounts/abi" "github.com/harmony-one/harmony/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/woop-chain/woop/core/types" "github.com/harmony-one/harmony/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/woop-chain/woop/common/math" "github.com/harmony-one/harmony/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/woop-chain/woop/core/types" "github.com/harmony-one/harmony/core/types"
"golang.org/x/crypto/sha3" "golang.org/x/crypto/sha3"
) )

@ -1,12 +1,12 @@
package accounts package accounts
import ( import (
"github.com/woop-chain/woop/internal/bech32" "github.com/harmony-one/harmony/internal/bech32"
"github.com/woop-chain/woop/internal/common" "github.com/harmony-one/harmony/internal/common"
"github.com/pkg/errors" "github.com/pkg/errors"
) )
// MustBech32ToAddressH is a wrapper for casting ethCommon.Address to woop's common.Address // MustBech32ToAddressH is a wrapper for casting ethCommon.Address to harmony'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/woop-chain/woop/accounts" "github.com/harmony-one/harmony/accounts"
"github.com/woop-chain/woop/core/types" "github.com/harmony-one/harmony/core/types"
"github.com/woop-chain/woop/eth/rpc" "github.com/harmony-one/harmony/eth/rpc"
) )
// ExternalBackend is a struct for external backend // ExternalBackend is a struct for external backend

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

Loading…
Cancel
Save