Skip to content

Commit

Permalink
Sprint 1.12 (#1390)
Browse files Browse the repository at this point in the history
* Update sprint 1.12 (#1341)

* wait for repair and increase numBlocks (#1338)

* reorder wait group done (#1340)

---------

Co-authored-by: Ebrahim Gomaa <ebrahim.gomaa.hg@gmail.com>

* fix trailing whitespace (#1343)

* Merge staging changes (#1346)

* wait for repair and increase numBlocks (#1338)

* reorder wait group done (#1340)

* hotfix / remove hard coded prefix handling of encrypted upload (#1344)

* remove hard coded prefix handling of encrypted upload

* fix for other parts of the file

---------

Co-authored-by: Hitenjain14 <57557631+Hitenjain14@users.noreply.github.com>
Co-authored-by: Ebrahim Gomaa <ebrahim.gomaa.hg@gmail.com>

* fix upload select (#1351)

* fix workdir in mobile sdk (#1345)

* fix mobile workdir

* set multi op batch size

* set option to download to disk in wasm (#1348)

* fix panic in hash chan (#1352)

* Fix merge conflict in sprint-1.12 (#1354)

* wait for repair and increase numBlocks (#1338)

* reorder wait group done (#1340)

* hotfix / remove hard coded prefix handling of encrypted upload (#1344)

* remove hard coded prefix handling of encrypted upload

* fix for other parts of the file

* increase batch size (#1349)

---------

Co-authored-by: Ebrahim Gomaa <ebrahim.gomaa.hg@gmail.com>

* repair in batches (#1347)

* repair in batches

* fix lint

* fix unit test

* fix batch size

---------

Co-authored-by: Yury <yuderbasov@gmail.com>

* Merge staging (#1365)

* wait for repair and increase numBlocks (#1338)

* reorder wait group done (#1340)

* hotfix / remove hard coded prefix handling of encrypted upload (#1344)

* remove hard coded prefix handling of encrypted upload

* fix for other parts of the file

* increase batch size (#1349)

* Sprint changes (#1355)

* Update sprint 1.12 (#1341)

* wait for repair and increase numBlocks (#1338)

* reorder wait group done (#1340)

---------

Co-authored-by: Ebrahim Gomaa <ebrahim.gomaa.hg@gmail.com>

* fix trailing whitespace (#1343)

* Merge staging changes (#1346)

* wait for repair and increase numBlocks (#1338)

* reorder wait group done (#1340)

* hotfix / remove hard coded prefix handling of encrypted upload (#1344)

* remove hard coded prefix handling of encrypted upload

* fix for other parts of the file

---------

Co-authored-by: Hitenjain14 <57557631+Hitenjain14@users.noreply.github.com>
Co-authored-by: Ebrahim Gomaa <ebrahim.gomaa.hg@gmail.com>

* fix upload select (#1351)

* fix workdir in mobile sdk (#1345)

* fix mobile workdir

* set multi op batch size

* set option to download to disk in wasm (#1348)

* fix panic in hash chan (#1352)

* Fix merge conflict in sprint-1.12 (#1354)

* wait for repair and increase numBlocks (#1338)

* reorder wait group done (#1340)

* hotfix / remove hard coded prefix handling of encrypted upload (#1344)

* remove hard coded prefix handling of encrypted upload

* fix for other parts of the file

* increase batch size (#1349)

---------

Co-authored-by: Ebrahim Gomaa <ebrahim.gomaa.hg@gmail.com>

* repair in batches (#1347)

* repair in batches

* fix lint

* fix unit test

* fix batch size

---------

Co-authored-by: Yury <yuderbasov@gmail.com>

---------

Co-authored-by: Ebrahim Gomaa <ebrahim.gomaa.hg@gmail.com>
Co-authored-by: peterlimg <54137706+peterlimg@users.noreply.github.com>
Co-authored-by: Yury <yuderbasov@gmail.com>

* fix repair after update (#1357)

* fix err msg (#1361)

* fix err msg

* calc root hash once

---------

Co-authored-by: Ebrahim Gomaa <ebrahim.gomaa.hg@gmail.com>
Co-authored-by: peterlimg <54137706+peterlimg@users.noreply.github.com>
Co-authored-by: Yury <yuderbasov@gmail.com>

* Fix stake pool stats (#1356)

* wait for repair and increase numBlocks (#1338)

* reorder wait group done (#1340)

* hotfix / remove hard coded prefix handling of encrypted upload (#1344)

* remove hard coded prefix handling of encrypted upload

* fix for other parts of the file

* increase batch size (#1349)

* Sprint changes (#1355)

* Update sprint 1.12 (#1341)

* wait for repair and increase numBlocks (#1338)

* reorder wait group done (#1340)

---------

Co-authored-by: Ebrahim Gomaa <ebrahim.gomaa.hg@gmail.com>

* fix trailing whitespace (#1343)

* Merge staging changes (#1346)

* wait for repair and increase numBlocks (#1338)

* reorder wait group done (#1340)

* hotfix / remove hard coded prefix handling of encrypted upload (#1344)

* remove hard coded prefix handling of encrypted upload

* fix for other parts of the file

---------

Co-authored-by: Hitenjain14 <57557631+Hitenjain14@users.noreply.github.com>
Co-authored-by: Ebrahim Gomaa <ebrahim.gomaa.hg@gmail.com>

* fix upload select (#1351)

* fix workdir in mobile sdk (#1345)

* fix mobile workdir

* set multi op batch size

* set option to download to disk in wasm (#1348)

* fix panic in hash chan (#1352)

* Fix merge conflict in sprint-1.12 (#1354)

* wait for repair and increase numBlocks (#1338)

* reorder wait group done (#1340)

* hotfix / remove hard coded prefix handling of encrypted upload (#1344)

* remove hard coded prefix handling of encrypted upload

* fix for other parts of the file

* increase batch size (#1349)

---------

Co-authored-by: Ebrahim Gomaa <ebrahim.gomaa.hg@gmail.com>

* repair in batches (#1347)

* repair in batches

* fix lint

* fix unit test

* fix batch size

---------

Co-authored-by: Yury <yuderbasov@gmail.com>

---------

Co-authored-by: Ebrahim Gomaa <ebrahim.gomaa.hg@gmail.com>
Co-authored-by: peterlimg <54137706+peterlimg@users.noreply.github.com>
Co-authored-by: Yury <yuderbasov@gmail.com>

* Fix stake pool stats

---------

Co-authored-by: Hitenjain14 <57557631+Hitenjain14@users.noreply.github.com>
Co-authored-by: Ebrahim Gomaa <ebrahim.gomaa.hg@gmail.com>
Co-authored-by: peterlimg <54137706+peterlimg@users.noreply.github.com>
Co-authored-by: Yury <yuderbasov@gmail.com>

* list pagination (#1368)

* wait for repair and increase numBlocks (#1338)

* reorder wait group done (#1340)

* hotfix / remove hard coded prefix handling of encrypted upload (#1344)

* remove hard coded prefix handling of encrypted upload

* fix for other parts of the file

* increase batch size (#1349)

* add pagination in list

---------

Co-authored-by: Ebrahim Gomaa <ebrahim.gomaa.hg@gmail.com>

* Fix sync in windows (#1370)

* Add option for mimeType (#1372)

* wait for repair and increase numBlocks (#1338)

* reorder wait group done (#1340)

* hotfix / remove hard coded prefix handling of encrypted upload (#1344)

* remove hard coded prefix handling of encrypted upload

* fix for other parts of the file

* increase batch size (#1349)

* add mimeType as option

---------

Co-authored-by: Ebrahim Gomaa <ebrahim.gomaa.hg@gmail.com>
Co-authored-by: Yury <yuderbasov@gmail.com>

* fix shutdown blobber (#1374)

(cherry picked from commit 0fbb702)

* Cancel upload (#1332)

* feature: added more test cases

* fix: fixed existing test cases

* fix: fixed bugs

* fix: fixed bugs

* fix: fixed bugs

* feature: added more test cases

* feature: added more test cases

* fix: fixed bugs

* fix: fixed bugs

* fix: fixed bugs

* feature: added mocks

* fix: fixed bugs

* fix: fixed mocks

* fix: fixed bugs

* fix: fixed bugs

* fix: fixed bugs

* fix: fixed bugs

* fix: fixed bugs

* fix: fixed bugs

* fix: made components internal

* Add webstreaming to multiupload (#1190)

* add webstreaming

* fix typos

* add webstreaming to wasm multiupload

* fix typo

* fix dup upload consensus (#1195)

* Fix multiupload completed callback (#1172)

* remove unnecessary print

* fix delete and createdir

* return major error

* add webstreaming

* fix typos

* add webstreaming to wasm multiupload

* fix typo

* cleanup

* fix completed callback

* Feat/update methods in WinSDK (#1198)

* delete dir in repair (#1196)

* delete dir in repair

* replace ioutil

* fix unit test

* fix list worker test

* fix rename dir error

* fix: fixed bugs

* fix: fixed bugs

* fix: fixed bugs

* fix: fixed bugs

* Add NFT Config contract (#1212)

* Silent the zcnbridge http request when --silent (#1207)

* Change the return type of downloadBlocks to []byte in wasm (#1218)

* change the order of exchanges to get the ZCN prices (#1216)

* Deprecate non multi-operation functions (#1214)

* remove CreateDir, Rename, Copy, Move

* use docker build wasm

* use @v4 version of git action

* Revert "use @v4 version of git action"

This reverts commit fbb93f2.

* Updated self hosted macos runner (#1219)

* Updated self hosted macos runner

* fixed runner name build-sdks.yml

* remove path header, fix ws tag (#1220)

* Feature/ Challenge based on rounds (#1191)

* Fix

* Fix

* Fix

* Fix

* Fix

* Debug

* Debug

* Debug

* Fix

* Heavy logging

* Fix

* More logging

* Changed logging

* Removed logging

* Debug

* Fix

* Fix

* Fix

* expose send in wasm (#1225)

* fix rename dir err (#1226)

* Txnfee send (#1227)

* add txnfee for send function

* return txn verify output

* add rename dir (#1230)

* Async read (#1213)

* basic timings for download

* upload timings

* to seconds

* more timings for upload processing

* display ms properly

* cleanup

* fix merge

* fix merge

* add more timing logs

* fix dur to ms

* add timings to read and build data

* async read

* range over errChan

* fix unit test

* rmv ctx cancel from multi upload

* wait for last chunk

* fix loop

* rmv readChunk timing

* increase buffer size

* rmv timing logs

* cleanup

* updated go to version 1.20

* use -buildvcs=false

---------

Co-authored-by: din-mukhammed <dimash.r53@gmail.com>
Co-authored-by: Dinmukhammed Kambarov <52813950+din-mukhammed@users.noreply.github.com>
Co-authored-by: shahnawaz-creator <msac8225@gmail.com>
Co-authored-by: Manohar Reddy <b.manu199@gmail.com>

* Wasm for `move`, `rename`, `copy` (#1233)

* add demo for move, rename and copy

* remove debug logs

---------

Co-authored-by: Yury <yuderbasov@gmail.com>

* Feat/streaming server in winsdk (#1228)

* fix move when srcPath is same as destPath (#1239)

* fix(upload):fixed invalid ffmpeg command in transcode feature (#1236)

* fix(upload):fixed invalid ffmpeg command in transcode feature

* fix(upload): always delete transcode output file

* fix(upload): fixed HideWindow issue

* fix(upload): fixed HideWindow issue

* fix(upload): fixed HideWindow issue

* fix(upload): fixed HideWindow issue

* fix(upload): fixed HideWindow issue

* fix(upload): fixed HideWindow issue

* fix(upload): fixed HideWindow issue

* fix(devops): fixed build-windows

* fix(mobilesdk): add logging for MultiUpload

* fix(mobilesdk): fixed file permission issue on transcode

* fixed lint error

---------

Co-authored-by: dabasov <yuderbasov@gmail.com>

* Fix web streaming - wasm (#1237)

* Do not send GET http request with body

* Use downloadBlocks to download in player_file

* Call ListDir to get file meta

* Format

* Download 100 blocks each time by default

* Fix downloadBlocks

Track the downloaded bytes and trunk the padding 0 bytes

* Update downloadBlocks to download blocks concurretly

Use the same download method with downloadFileByBlocks

* Add ActualFileSize in PlayListFile

* Update wasm_exec.js to go 1.21.0

* Update version

* Replace alloc.DownloadBlocks with DownloadBlocksToFileHandler

* Add concurrency control (#1245)

* control file ops concurrency

* cleanup

* add batch size to multi op

* Fix/stream tests (#1247)

* fix(upload): fixed file name issue in webstreaming

* removed unused code

* fix share consensus (#1246)

* List optimization (#1240)

* list optimization

* list optimization

* fix list hash

* add to wg

* fix list test

* check consensus

* fix listDir test

* use once for mock calls

* added sharders keep list (#1231)

* added sharders keep list

* added holder to zboxcore

* removed duplicated sharder call

* fixed lint

* fixed panic

* fixed panic

* fixed panic

* fixed panic

* fixed panic

* added consensus

* added consensus

* added consensus

* refactored

* refactored

* refactored

* chec alloc and prev alloc root (#1250)

* add check for chunkNumber (#1253)

* add check for chunkNumber

* add err log

* fix save progress

* split-key handler implemented in wasm sdk

* chnaging go version for cdn

* bumped version

* minor refactoring

* bumping  wasm_exec.js  version

* Refactoring unnecessary structs

* create new conID (#1256)

* debugging consoles added

* fix statusbar update (#1257)

* lint fixes

* lint ignore

* nolint: unused added

* use httpdo for create connection (#1259)

* Add create dir in repair (#1262)

* fix delete dir err in cb

* add way to create dir in repair

* add desc for transaction data (#1263)

* Feature: provide audit zcnswap and refactor if needed (#1205)

* feature: modifies zcnswap to be consitent with zcnbridge

* fix: fixed bugs

* fix: removed dead code

* feature: extended key store logic

* fix: fixed bugs

* fix: fixed conflicts

* fix: removed dead code

* fix: fixed bugs

* Fix/remove path (#1221)

* feature: added more test cases

* fix: fixed existing test cases

* fix: fixed bugs

* fix: fixed bugs

* fix: fixed bugs

* feature: added more test cases

* feature: added more test cases

* fix: fixed bugs

* fix: fixed bugs

* fix: fixed bugs

* feature: added mocks

* fix: fixed bugs

* fix: fixed mocks

* fix: fixed bugs

* fix: fixed bugs

* fix: fixed bugs

* fix: fixed bugs

* fix: fixed bugs

* fix: fixed bugs

* fix: made components internal

* Add webstreaming to multiupload (#1190)

* add webstreaming

* fix typos

* add webstreaming to wasm multiupload

* fix typo

* fix dup upload consensus (#1195)

* Fix multiupload completed callback (#1172)

* remove unnecessary print

* fix delete and createdir

* return major error

* add webstreaming

* fix typos

* add webstreaming to wasm multiupload

* fix typo

* cleanup

* fix completed callback

* Feat/update methods in WinSDK (#1198)

* delete dir in repair (#1196)

* delete dir in repair

* replace ioutil

* fix unit test

* fix list worker test

* fix rename dir error

* fix: fixed bugs

* fix: fixed bugs

* fix: fixed bugs

* fix: fixed bugs

* Add NFT Config contract (#1212)

* Silent the zcnbridge http request when --silent (#1207)

* Change the return type of downloadBlocks to []byte in wasm (#1218)

* change the order of exchanges to get the ZCN prices (#1216)

* Deprecate non multi-operation functions (#1214)

* remove CreateDir, Rename, Copy, Move

* use docker build wasm

* use @v4 version of git action

* Revert "use @v4 version of git action"

This reverts commit fbb93f2.

* Updated self hosted macos runner (#1219)

* Updated self hosted macos runner

* fixed runner name build-sdks.yml

* remove path header, fix ws tag

---------

Co-authored-by: YarikRevich <yariksvitlitskiy2@gmail.com>
Co-authored-by: Yaroslav Svitlytskyi <53532703+YarikRevich@users.noreply.github.com>
Co-authored-by: Dinmukhammed Kambarov <52813950+din-mukhammed@users.noreply.github.com>
Co-authored-by: Hitenjain14 <57557631+Hitenjain14@users.noreply.github.com>
Co-authored-by: Lz <imlangzi@qq.com>
Co-authored-by: Yaroslav Svitlytskyi <yariksvitlitskiy81@gmail.com>
Co-authored-by: peterlimg <54137706+peterlimg@users.noreply.github.com>
Co-authored-by: Kishan Dhakan <42718091+Kishan-Dhakan@users.noreply.github.com>
Co-authored-by: Manohar Reddy <b.manu199@gmail.com>
Co-authored-by: shahnawaz-creator <117025384+shahnawaz-creator@users.noreply.github.com>
Co-authored-by: din-mukhammed <dimash.r53@gmail.com>

* Revert "Fix/remove path (#1221)" (#1222)

This reverts commit 464260a.

* remove path header, fix ws tag (#1223)

* remove path header, fix ws tag

* fixed broken build

---------

Co-authored-by: din-mukhammed <dimash.r53@gmail.com>

* Updated self hosted macos runner (#1219)

* Updated self hosted macos runner

* fixed runner name build-sdks.yml

(cherry picked from commit 1c9f143)

* fix

* updated wasm binary build fix.

* feature: added test case for swap logic

* fix: resolved dependency conflicts

* fix: fixed bugs

* feature: added zcn eth rate fetch logic

* Update blobber.go

* Update authorizers_query.go

* feature: replaced confusing param naming

* fix: updated bridge initialization in wasm bridge integration

* fix: replaced value amount with correct value

* fix: wrong test case values

* feature: switch to the usage of zcn token smart contract

* fix: fixed bridge tests

---------

Co-authored-by: Yaroslav Svitlytskyi <yaroslavsvitlytskyi@Yaroslavs-MacBook-Pro.local>
Co-authored-by: Yury <yuderbasov@gmail.com>
Co-authored-by: Dinmukhammed Kambarov <52813950+din-mukhammed@users.noreply.github.com>
Co-authored-by: Hitenjain14 <57557631+Hitenjain14@users.noreply.github.com>
Co-authored-by: Lz <imlangzi@qq.com>
Co-authored-by: peterlimg <54137706+peterlimg@users.noreply.github.com>
Co-authored-by: Kishan Dhakan <42718091+Kishan-Dhakan@users.noreply.github.com>
Co-authored-by: Manohar Reddy <b.manu199@gmail.com>
Co-authored-by: shahnawaz-creator <117025384+shahnawaz-creator@users.noreply.github.com>
Co-authored-by: din-mukhammed <dimash.r53@gmail.com>
Co-authored-by: shahnawaz-creator <msac8225@gmail.com>

* Feat/exposed cli methods in winsdk (#1248)

* feat(winsdk): added CreateWallet

* feat(winsdk): added RecoverWallet

* feat(winsdk): added logging in CreateWallet and RecoverWallet

* feat(winsdk): split InitSDK into InitZCNSDK and InitWallets

* feat(winsdk): fixed zboxApiClient initialization issue

* feat(winsdk): renamed init sdks

* feat(winsdk): fixed init zboxApiClient issue

* fix(winsdk): fixed RecoverWallet naming

* fix(winsdk): fixed file name issue in GetUploadStatus for transcode feature

* feat(winsdk): added GetFileContentType in winsdk

* feat(winsdk): added ListAllocations

* feat(winsdk): added CreateFreeAllocation

* feat(winsdk): added allocation methods

* fix(winsdk): added logs

* feat(zboxapi): added GetFreeStorage

* feat(zboxapi): also send X-App-ID-Token in header

* fix(winsdk): skip TestGetFreeStorage

* fix(winsdk): added getAllocationWith

* fix(zboxapi): used local signHash instead of sys.SignFunc

* fix(zboxapi): fixed token issue in GetFreeStorage

* fix(list): exported ThumbnailHash and ThumbnailSize in ListResult

* fix(0box): fixed GetFreeStorage/CreateFreeAllocation

* fix(winsdk): renamed jwtToken with token in CreateFreeAllocation

* fix(winsdk): renamed jwtToken with token in CreateFreeAllocation

* feat(winsdk): added GetFreeMarker

* feat(winsdk): added AddSharedInfo/DeleteSharedInfo/GetSharedToMe/GetSharedByMe

* feat(winsdk): added CreateAuthTicket/DeleteAuthTicket

* feat(winsdk): fixed GetSharedToMe/GetSharedByMe

* feat(winsdk): fixed GetSharedToMe/GetSharedByMe

* feat(winsdk): exported CreateAuthTicket/DeleteAuthTicket/CreateSharedInfo/DeleteSharedInfo/GetSharedByMe/GetSharedByPublic/GetSharedToMe

* Fix/fail shardedr on bad code (#1264)

* Fix/remove path (#1221)

* feature: added more test cases

* fix: fixed existing test cases

* fix: fixed bugs

* fix: fixed bugs

* fix: fixed bugs

* feature: added more test cases

* feature: added more test cases

* fix: fixed bugs

* fix: fixed bugs

* fix: fixed bugs

* feature: added mocks

* fix: fixed bugs

* fix: fixed mocks

* fix: fixed bugs

* fix: fixed bugs

* fix: fixed bugs

* fix: fixed bugs

* fix: fixed bugs

* fix: fixed bugs

* fix: made components internal

* Add webstreaming to multiupload (#1190)

* add webstreaming

* fix typos

* add webstreaming to wasm multiupload

* fix typo

* fix dup upload consensus (#1195)

* Fix multiupload completed callback (#1172)

* remove unnecessary print

* fix delete and createdir

* return major error

* add webstreaming

* fix typos

* add webstreaming to wasm multiupload

* fix typo

* cleanup

* fix completed callback

* Feat/update methods in WinSDK (#1198)

* delete dir in repair (#1196)

* delete dir in repair

* replace ioutil

* fix unit test

* fix list worker test

* fix rename dir error

* fix: fixed bugs

* fix: fixed bugs

* fix: fixed bugs

* fix: fixed bugs

* Add NFT Config contract (#1212)

* Silent the zcnbridge http request when --silent (#1207)

* Change the return type of downloadBlocks to []byte in wasm (#1218)

* change the order of exchanges to get the ZCN prices (#1216)

* Deprecate non multi-operation functions (#1214)

* remove CreateDir, Rename, Copy, Move

* use docker build wasm

* use @v4 version of git action

* Revert "use @v4 version of git action"

This reverts commit fbb93f2.

* Updated self hosted macos runner (#1219)

* Updated self hosted macos runner

* fixed runner name build-sdks.yml

* remove path header, fix ws tag

---------

Co-authored-by: YarikRevich <yariksvitlitskiy2@gmail.com>
Co-authored-by: Yaroslav Svitlytskyi <53532703+YarikRevich@users.noreply.github.com>
Co-authored-by: Dinmukhammed Kambarov <52813950+din-mukhammed@users.noreply.github.com>
Co-authored-by: Hitenjain14 <57557631+Hitenjain14@users.noreply.github.com>
Co-authored-by: Lz <imlangzi@qq.com>
Co-authored-by: Yaroslav Svitlytskyi <yariksvitlitskiy81@gmail.com>
Co-authored-by: peterlimg <54137706+peterlimg@users.noreply.github.com>
Co-authored-by: Kishan Dhakan <42718091+Kishan-Dhakan@users.noreply.github.com>
Co-authored-by: Manohar Reddy <b.manu199@gmail.com>
Co-authored-by: shahnawaz-creator <117025384+shahnawaz-creator@users.noreply.github.com>
Co-authored-by: din-mukhammed <dimash.r53@gmail.com>

* Revert "Fix/remove path (#1221)" (#1222)

This reverts commit 464260a.

* remove path header, fix ws tag (#1223)

* remove path header, fix ws tag

* fixed broken build

---------

Co-authored-by: din-mukhammed <dimash.r53@gmail.com>

* Updated self hosted macos runner (#1219)

* Updated self hosted macos runner

* fixed runner name build-sdks.yml

(cherry picked from commit 1c9f143)

* updated wasm binary build fix.

* README grammar and formatting tweaks.

* Merge remote-tracking branch 'origin/feature/sharder-keep-list' into feature/sharder-keep-list

---------

Co-authored-by: YarikRevich <yariksvitlitskiy2@gmail.com>
Co-authored-by: Yaroslav Svitlytskyi <53532703+YarikRevich@users.noreply.github.com>
Co-authored-by: Dinmukhammed Kambarov <52813950+din-mukhammed@users.noreply.github.com>
Co-authored-by: Hitenjain14 <57557631+Hitenjain14@users.noreply.github.com>
Co-authored-by: Lz <imlangzi@qq.com>
Co-authored-by: Yaroslav Svitlytskyi <yariksvitlitskiy81@gmail.com>
Co-authored-by: peterlimg <54137706+peterlimg@users.noreply.github.com>
Co-authored-by: Kishan Dhakan <42718091+Kishan-Dhakan@users.noreply.github.com>
Co-authored-by: Manohar Reddy <b.manu199@gmail.com>
Co-authored-by: shahnawaz-creator <117025384+shahnawaz-creator@users.noreply.github.com>
Co-authored-by: din-mukhammed <dimash.r53@gmail.com>
Co-authored-by: shahnawaz-creator <msac8225@gmail.com>
Co-authored-by: UncertainBadg3r <139782199+UncertainBadg3r@users.noreply.github.com>

* Fix/roll logs (#1266)

* Added lumberjack logger

* Added lumberjack logger

* fix:download file/thumbnail by authticket in winsdk (#1265)

* feat(winsdk): added GetWalletBalance (#1267)

* enabled gosdk update for sprint branches (#1268)

* Revert "enabled gosdk update for sprint branches (#1268)" (#1269)

This reverts commit 201b8bd.

* fix in progress callback (#1270)

* Cleanup update terms from update allocation (#1274)

* Improve download performance (#1271)

* improve download performance

* add read buffer size

* add hash option

* fix lint test

* set default to true

* log for data

* fix read

* feature: add reset nonce for bridge (#1279)

* Add registerAuthorizer to wasm (#1275)

* Hotfix/parse hostname error (#1241)

* Fix/remove path (#1221)

* feature: added more test cases

* fix: fixed existing test cases

* fix: fixed bugs

* fix: fixed bugs

* fix: fixed bugs

* feature: added more test cases

* feature: added more test cases

* fix: fixed bugs

* fix: fixed bugs

* fix: fixed bugs

* feature: added mocks

* fix: fixed bugs

* fix: fixed mocks

* fix: fixed bugs

* fix: fixed bugs

* fix: fixed bugs

* fix: fixed bugs

* fix: fixed bugs

* fix: fixed bugs

* fix: made components internal

* Add webstreaming to multiupload (#1190)

* add webstreaming

* fix typos

* add webstreaming to wasm multiupload

* fix typo

* fix dup upload consensus (#1195)

* Fix multiupload completed callback (#1172)

* remove unnecessary print

* fix delete and createdir

* return major error

* add webstreaming

* fix typos

* add webstreaming to wasm multiupload

* fix typo

* cleanup

* fix completed callback

* Feat/update methods in WinSDK (#1198)

* delete dir in repair (#1196)

* delete dir in repair

* replace ioutil

* fix unit test

* fix list worker test

* fix rename dir error

* fix: fixed bugs

* fix: fixed bugs

* fix: fixed bugs

* fix: fixed bugs

* Add NFT Config contract (#1212)

* Silent the zcnbridge http request when --silent (#1207)

* Change the return type of downloadBlocks to []byte in wasm (#1218)

* change the order of exchanges to get the ZCN prices (#1216)

* Deprecate non multi-operation functions (#1214)

* remove CreateDir, Rename, Copy, Move

* use docker build wasm

* use @v4 version of git action

* Revert "use @v4 version of git action"

This reverts commit fbb93f2.

* Updated self hosted macos runner (#1219)

* Updated self hosted macos runner

* fixed runner name build-sdks.yml

* remove path header, fix ws tag

---------

Co-authored-by: YarikRevich <yariksvitlitskiy2@gmail.com>
Co-authored-by: Yaroslav Svitlytskyi <53532703+YarikRevich@users.noreply.github.com>
Co-authored-by: Dinmukhammed Kambarov <52813950+din-mukhammed@users.noreply.github.com>
Co-authored-by: Hitenjain14 <57557631+Hitenjain14@users.noreply.github.com>
Co-authored-by: Lz <imlangzi@qq.com>
Co-authored-by: Yaroslav Svitlytskyi <yariksvitlitskiy81@gmail.com>
Co-authored-by: peterlimg <54137706+peterlimg@users.noreply.github.com>
Co-authored-by: Kishan Dhakan <42718091+Kishan-Dhakan@users.noreply.github.com>
Co-authored-by: Manohar Reddy <b.manu199@gmail.com>
Co-authored-by: shahnawaz-creator <117025384+shahnawaz-creator@users.noreply.github.com>
Co-authored-by: din-mukhammed <dimash.r53@gmail.com>

* Revert "Fix/remove path (#1221)" (#1222)

This reverts commit 464260a.

* remove path header, fix ws tag

* remove path header, fix ws tag (#1223)

* remove path header, fix ws tag

* fixed broken build

---------

Co-authored-by: din-mukhammed <dimash.r53@gmail.com>

* Updated self hosted macos runner (#1219)

* Updated self hosted macos runner

* fixed runner name build-sdks.yml

(cherry picked from commit 1c9f143)

* added logging

* updated wasm binary build fix.

* updated wasm binary build fix.

(cherry picked from commit 2571888)

* README grammar and formatting tweaks.

---------

Co-authored-by: YarikRevich <yariksvitlitskiy2@gmail.com>
Co-authored-by: Yaroslav Svitlytskyi <53532703+YarikRevich@users.noreply.github.com>
Co-authored-by: Dinmukhammed Kambarov <52813950+din-mukhammed@users.noreply.github.com>
Co-authored-by: Hitenjain14 <57557631+Hitenjain14@users.noreply.github.com>
Co-authored-by: Lz <imlangzi@qq.com>
Co-authored-by: Yaroslav Svitlytskyi <yariksvitlitskiy81@gmail.com>
Co-authored-by: peterlimg <54137706+peterlimg@users.noreply.github.com>
Co-authored-by: Kishan Dhakan <42718091+Kishan-Dhakan@users.noreply.github.com>
Co-authored-by: Manohar Reddy <b.manu199@gmail.com>
Co-authored-by: shahnawaz-creator <117025384+shahnawaz-creator@users.noreply.github.com>
Co-authored-by: din-mukhammed <dimash.r53@gmail.com>
Co-authored-by: shahnawaz-creator <msac8225@gmail.com>
Co-authored-by: UncertainBadg3r <139782199+UncertainBadg3r@users.noreply.github.com>
Co-authored-by: Jayash Satolia <73050737+Jayashsatolia403@users.noreply.github.com>

* Adding RegisterAuthorizer method in wasmsdk (#1273)

* Adding RegisterAuthorizer method in wasmsdk

* Fix:wasm test fail

* Adding demo for RegisterAuthorizer handler in wasm

* Js and Go bridge implementation

* RegisterAuthorizer handler changes and adding Async Js bridge

* golangci-lint fixes

* Added error handling in setSplitKey and setAuthURL

* Refactoring wasm exposed handlers

* Setting split key wallet before setting auth url in setAuthURL's demo

* Lint Fixes after resolving conflicts

* upload optimization (#1281)

* add sha256 simd and blake3

* add hash chan

* fix lint and unit test

* fix MHash

* rmv timing log

* fix thumbnail hash

* added logging

* added logging

* hotfix

* hotfix

* experiment

* experiment

* experiment

* experiment

* experiment

* experiment

* experiment

* experiment

* experiment

* experiment

* experiment

* Sprint 1.11 revert (#1284)

* Revert "experiment"

This reverts commit 050270f.

* Revert "experiment"

This reverts commit d4821f8.

* Revert "experiment"

This reverts commit 9f65b2e.

* Revert "experiment"

This reverts commit 6313cb8.

* Revert "experiment"

This reverts commit b6be0b5.

* Revert "experiment"

This reverts commit 68d4190.

* Revert "experiment"

This reverts commit 3a23f3f.

* Revert "experiment"

This reverts commit 6b6578b.

* Revert "experiment"

This reverts commit 65a0152.

* Revert "experiment"

This reverts commit 6834b05.

* Revert "experiment"

This reverts commit 8446894.

* Revert "hotfix"

This reverts commit 48cf793.

* Revert "hotfix"

This reverts commit 895c7f0.

* Revert "added logging"

This reverts commit fafce3c.

* Revert "added logging"

This reverts commit 10b6a4a.

* rmv channel hasher (#1285)

* Fix submit txn (#1287)

* Feature: add BNT, USDC and EURC tokens for Swap (#1277)

* feature: add multiple token support for swap

* feature: add correct Bancor API calls

* feature: added approve for swap of bancor token

* fix: removed debug lines

* fix: fixed swap approval

* fix: fixed bug

* fix: fixed bugs

* change hasher (#1288)

* change hasher

* set max proc to 1

* set batch size to 2

* revert hasher lib changes

* increase batch size to 4

* set batch size to 2

* fix build

* update chunk reader

* run gc

* add sleep and decrease batch size

* change blake3

* fix operation slice

* fix batch size

* increase sleep time

* add memory pool

* increase swg for wasm

* reuse chunk reader

* fix read chunk

* rmv unused package

* Remove sleep and GOMAXPROCS=1

* Increase batch size a little

---------

Co-authored-by: peterlimg <peterlimg@protonmail.com>

* Import eth wallet with index (#1292)

* Add import account address index

* Make it optional

* Feat/import-account-idx (#1294)

* Add import account address index

* Make it optional

* Add account index option

* Add account bip32 option (#1295)

* Fix allocation min lock (#1297)

* create PRs to dependent repos when a PR is merged to sprint branches (#1283)

* create PRs to dependent repos when a PR is merged to sprint branches

* add branch name

* move wasm-build to build-sdk.yml

* cleanup sdk-release.yml

* Removed padding from the CryptoJS Encrypt and Decrypt functions functions. (#1300)

Co-authored-by: Manohar Reddy <b.manu199@gmail.com>

* Fix allocation min lock

* change chunkNumber for wasm (#1304)

* change numBlock for wasm

* change numBlocks

* revert sdk changes

* Feature: implement fork per run strategy (#1299)

* feature: added fork creation

* fix: fixed bug

* feature: improved Tenderly fork creation flow

* fix parse error (#1309)

* fix parse error

* fix log

* add swg

* Fix memory usage (#1311)

* fix memory usage

* change hasher to sha2 256

* fix unit test

* increase numBlocks

* fix thumbnail hash

* Fix iso header (#1314)

* add ISO check

* remove filename field from authticket

* fix typo

* log auth token

* cleanup

* Fix zboxcore min submit (#1315)

* Fix zboxcore min submit

* Fix min submit and min confirmation default configs

* Fix unit tests

* Fix unit tests

* Revert "Fix iso header (#1314)" (#1317)

This reverts commit 218d3ed.

* Add upload for empty file (#1316)

* add upload for empty file

* fix hash

* check ref

* fix actual size

* fix empty upload (#1320)

* fix read auth ticket (#1319)

* allocation validation for data parity shards (#1321)

* fix git action to raise PRs to update gosdk (#1313)

* test gosdk update

* test-gosdk-update

* use binary operators instead of terinary

* use github.ref

* use github ref

* add branch name

* use quotes

* prepare for PR

* test work flow dispatch

* test extract branch

* print env

* prepare for PR

* feature: added custom block number during Tenderly fork creation (#1323)

* Fix/retry tx on nonce error (#1322)

* Revert "experiment"

This reverts commit 050270f.

* Revert "experiment"

This reverts commit d4821f8.

* Revert "experiment"

This reverts commit 9f65b2e.

* Revert "experiment"

This reverts commit 6313cb8.

* Revert "experiment"

This reverts commit b6be0b5.

* Revert "experiment"

This reverts commit 68d4190.

* Revert "experiment"

This reverts commit 3a23f3f.

* Revert "experiment"

This reverts commit 6b6578b.

* Revert "experiment"

This reverts commit 65a0152.

* Revert "experiment"

This reverts commit 6834b05.

* Revert "experiment"

This reverts commit 8446894.

* Revert "hotfix"

This reverts commit 48cf793.

* Revert "hotfix"

This reverts commit 895c7f0.

* Revert "added logging"

This reverts commit fafce3c.

* Revert "added logging"

This reverts commit 10b6a4a.

* retry failed transaction in zbox with nonce error

* Fix wm rollback (#1324)

* fix wm rollback

* fix rb check

* version logs

* fix prev version

* cleanup

* Cleanup free storage update allocation (#1325)

* remove batch size (#1327)

* fix retry op callback (#1329)

* Revert "remove batch size (#1327)" (#1328)

This reverts commit 310edbb.

* fix cancel upload

* Add `force` param for getAllocationBlobbers wasm (#1330)

* fix retry callback (#1331)

* Fix fill panic (#1334)

* fix fill shards panic

* add log for fill err

* fix err

* add cancel upload to wasm

* fix proxy

* wait for repair and increase numBlocks (#1338)

* reorder wait group done (#1340)

* hotfix / remove hard coded prefix handling of encrypted upload (#1344)

* remove hard coded prefix handling of encrypted upload

* fix for other parts of the file

* increase batch size (#1349)

* Sprint changes (#1355)

* Update sprint 1.12 (#1341)

* wait for repair and increase numBlocks (#1338)

* reorder wait group done (#1340)

---------

Co-authored-by: Ebrahim Gomaa <ebrahim.gomaa.hg@gmail.com>

* fix trailing whitespace (#1343)

* Merge staging changes (#1346)

* wait for repair and increase numBlocks (#1338)

* reorder wait group done (#1340)

* hotfix / remove hard coded prefix handling of encrypted upload (#1344)

* remove hard coded prefix handling of encrypted upload

* fix for other parts of the file

---------

Co-authored-by: Hitenjain14 <57557631+Hitenjain14@users.noreply.github.com>
Co-authored-by: Ebrahim Gomaa <ebrahim.gomaa.hg@gmail.com>

* fix upload select (#1351)

* fix workdir in mobile sdk (#1345)

* fix mobile workdir

* set multi op batch size

* set option to download to disk in wasm (#1348)

* fix panic in hash chan (#1352)

* Fix merge conflict in sprint-1.12 (#1354)

* wait for repair and increase numBlocks (#1338)

* reorder wait group done (#1340)

* hotfix / remove hard coded prefix handling of encrypted upload (#1344)

* remove hard coded prefix handling of encrypted upload

* fix for other parts of the file

* increase batch size (#1349)

---------

Co-authored-by: Ebrahim Gomaa <ebrahim.gomaa.hg@gmail.com>

* repair in batches (#1347)

* repair in batches

* fix lint

* fix unit test

* fix batch size

---------

Co-authored-by: Yury <yuderbasov@gmail.com>

---------

Co-authored-by: Ebrahim Gomaa <ebrahim.gomaa.hg@gmail.com>
Co-authored-by: peterlimg <54137706+peterlimg@users.noreply.github.com>
Co-authored-by: Yury <yuderbasov@gmail.com>

* fix repair after update (#1357)

* use mo ctx as parent

* fix wasm build

* empty commit

* fix ctx

---------

Co-authored-by: YarikRevich <yariksvitlitskiy2@gmail.com>
Co-authored-by: Yaroslav Svitlytskyi <53532703+YarikRevich@users.noreply.github.com>
Co-authored-by: Dinmukhammed Kambarov <52813950+din-mukhammed@users.noreply.github.com>
Co-authored-by: Lz <imlangzi@qq.com>
Co-authored-by: Yaroslav Svitlytskyi <yariksvitlitskiy81@gmail.com>
Co-authored-by: peterlimg <54137706+peterlimg@users.noreply.github.com>
Co-authored-by: Kishan Dhakan <42718091+Kishan-Dhakan@users.noreply.github.com>
Co-authored-by: Manohar Reddy <b.manu199@gmail.com>
Co-authored-by: shahnawaz-creator <117025384+shahnawaz-creator@users.noreply.github.com>
Co-authored-by: Jayash Satolia <73050737+Jayashsatolia403@users.noreply.github.com>
Co-authored-by: din-mukhammed <dimash.r53@gmail.com>
Co-authored-by: shahnawaz-creator <msac8225@gmail.com>
Co-authored-by: Yury <yuderbasov@gmail.com>
Co-authored-by: Ash-KODES <choudharykumarashutosh1209@gmail.com>
Co-authored-by: Yaroslav Svitlytskyi <yaroslavsvitlytskyi@Yaroslavs-MacBook-Pro.local>
Co-authored-by: UncertainBadg3r <139782199+UncertainBadg3r@users.noreply.github.com>
Co-authored-by: peterlimg <peterlimg@protonmail.com>
Co-authored-by: Tanishq Gupta <52757132+tanishq67@users.noreply.github.com>
Co-authored-by: Jayash Satolia <jayash.satolia.min19@iitbhu.ac.in>
Co-authored-by: GuruHubb <sbasu999@gmail.com>
Co-authored-by: Ebrahim Gomaa <ebrahim.gomaa.hg@gmail.com>

* Fix auth response on wasm (#1359)

* Fix auth response on wasm

* Fix verifyHandler

* Fix auth sign wasm

* Update pkg for gomobile

* Remove test code

* fixed lint

---------

Co-authored-by: dabasov <yuderbasov@gmail.com>

* Download buffer (#1363)

* revert index changes

* revert close changes

* rmv data buffer

* download buffer

* fix write to file

* rmv len check

* fix decodeEC ut

* fix remaining size

* cleanup

* fix mem chan file

* fix req complete cb (#1381)

* get hardfork round by name (#1385)

* get hardfork round by name

* fix naming

* fix default hardfork round

* made GetFreeAllocationBlobbers public

* fixed resp format

* fixed resp format

* [wasm] Expose minersc - stakePool/unstakePool collect rewards (#1386)

* replaced coingecko url with internal price url (#1379)

* Add miner/sharder stake and unstake support

* Add collect rewards for miner/sharder

---------

Co-authored-by: Gaurang Patel <gbp301195@gmail.com>

---------

Co-authored-by: Hitenjain14 <57557631+Hitenjain14@users.noreply.github.com>
Co-authored-by: Ebrahim Gomaa <ebrahim.gomaa.hg@gmail.com>
Co-authored-by: peterlimg <54137706+peterlimg@users.noreply.github.com>
Co-authored-by: Jayash Satolia <73050737+Jayashsatolia403@users.noreply.github.com>
Co-authored-by: Roshan Kumar <56060325+Roshan-Mehta@users.noreply.github.com>
Co-authored-by: Manohar Reddy <b.manu199@gmail.com>
Co-authored-by: YarikRevich <yariksvitlitskiy2@gmail.com>
Co-authored-by: Yaroslav Svitlytskyi <53532703+YarikRevich@users.noreply.github.com>
Co-authored-by: Dinmukhammed Kambarov <52813950+din-mukhammed@users.noreply.github.com>
Co-authored-by: Lz <imlangzi@qq.com>
Co-authored-by: Yaroslav Svitlytskyi <yariksvitlitskiy81@gmail.com>
Co-authored-by: Kishan Dhakan <42718091+Kishan-Dhakan@users.noreply.github.com>
Co-authored-by: shahnawaz-creator <117025384+shahnawaz-creator@users.noreply.github.com>
Co-authored-by: din-mukhammed <dimash.r53@gmail.com>
Co-authored-by: shahnawaz-creator <msac8225@gmail.com>
Co-authored-by: Ash-KODES <choudharykumarashutosh1209@gmail.com>
Co-authored-by: Yaroslav Svitlytskyi <yaroslavsvitlytskyi@Yaroslavs-MacBook-Pro.local>
Co-authored-by: UncertainBadg3r <139782199+UncertainBadg3r@users.noreply.github.com>
Co-authored-by: peterlimg <peterlimg@protonmail.com>
Co-authored-by: Tanishq Gupta <52757132+tanishq67@users.noreply.github.com>
Co-authored-by: Jayash Satolia <jayash.satolia.min19@iitbhu.ac.in>
Co-authored-by: GuruHubb <sbasu999@gmail.com>
Co-authored-by: Gaurang Patel <gbp301195@gmail.com>
  • Loading branch information
24 people authored Feb 8, 2024
1 parent 01ce16d commit 0a2095d
Show file tree
Hide file tree
Showing 36 changed files with 760 additions and 318 deletions.
86 changes: 83 additions & 3 deletions core/node/node.go
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,7 @@ import (
"github.com/0chain/gosdk/core/encryption"
"github.com/0chain/gosdk/core/util"
"github.com/0chain/gosdk/zboxcore/logger"
"github.com/ethereum/go-ethereum/common/math"
)

const statSize = 20
Expand Down Expand Up @@ -117,9 +118,10 @@ func (h *NodeHolder) All() (res []string) {

const consensusThresh = 25
const (
GET_BALANCE = `/v1/client/get/balance?client_id=`
CURRENT_ROUND = "/v1/current-round"
GET_BLOCK_INFO = `/v1/block/get?`
GET_BALANCE = `/v1/client/get/balance?client_id=`
CURRENT_ROUND = "/v1/current-round"
GET_BLOCK_INFO = `/v1/block/get?`
GET_HARDFORK_ROUND = `/v1/screst/6dba10422e368813802877a85039d3985d96760ed844092319743fb3a76712d9/hardfork?name=`
)

func (h *NodeHolder) GetNonceFromSharders(clientID string) (int64, string, error) {
Expand Down Expand Up @@ -360,3 +362,81 @@ func (h *NodeHolder) GetRoundFromSharders() (int64, error) {

return round, nil
}

func (h *NodeHolder) GetHardForkRound(hardFork string) (int64, error) {
sharders := h.Healthy()
if len(sharders) == 0 {
return 0, stdErrors.New("get round failed. no sharders")
}

result := make(chan *util.GetResponse, len(sharders))

var numSharders = len(sharders)
// use 5 sharders to get round
if numSharders > 5 {
numSharders = 5
}

h.QueryFromSharders(numSharders, fmt.Sprintf("%s%s", GET_HARDFORK_ROUND, hardFork), result)

const consensusThresh = float32(25.0)

var rounds []int64

consensus := int64(0)
roundMap := make(map[int64]int64)
// If error then set it to max int64
round := int64(math.MaxInt64)

waitTimeC := time.After(10 * time.Second)
for i := 0; i < numSharders; i++ {
select {
case <-waitTimeC:
return 0, stdErrors.New("get round failed. consensus not reached")
case rsp := <-result:
if rsp == nil {
logger.Logger.Error("nil response")
continue
}
if rsp.StatusCode != http.StatusOK {
continue
}

var respRound int64
var objmap map[string]string
err := json.Unmarshal([]byte(rsp.Body), &objmap)
if err != nil {
continue
}

str := string(objmap["round"])
respRound, err = strconv.ParseInt(str, 10, 64)
if err != nil {
continue
}

rounds = append(rounds, respRound)

sort.Slice(rounds, func(i, j int) bool {
return false
})

medianRound := rounds[len(rounds)/2]

roundMap[medianRound]++

if roundMap[medianRound] > consensus {

consensus = roundMap[medianRound]
round = medianRound
rate := consensus * 100 / int64(numSharders)

if rate >= int64(consensusThresh) {
return round, nil
}
}
}
}

return round, nil
}
11 changes: 11 additions & 0 deletions core/node/node_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -43,3 +43,14 @@ func TestNodeHolder_Success(t *testing.T) {
})
}
}

//func TestNodeHolder_GetHardForkRound(t *testing.T) {
// holder := NewHolder([]string{"https://dev2.zus.network/sharder01",
// "https://dev3.zus.network/sharder01", "https://dev1.zus.network/sharder01"}, 2)
// round, err := holder.GetHardForkRound("apollo")
// if err != nil {
// t.Error(err)
// }
//
// assert.Equal(t, 206000, round)
//}
22 changes: 14 additions & 8 deletions core/sys/fs_mem.go
Original file line number Diff line number Diff line change
Expand Up @@ -271,6 +271,7 @@ type MemChanFile struct {
ChunkWriteSize int // 0 value means no limit
Sys interface{} // FileInfo.Sys
reader io.Reader
data []byte
}

func (f *MemChanFile) Stat() (fs.FileInfo, error) {
Expand All @@ -287,24 +288,29 @@ func (f *MemChanFile) Read(p []byte) (int, error) {
n := copy(p, recieveData)
return n, nil
}

func (f *MemChanFile) Write(p []byte) (n int, err error) {
if f.ChunkWriteSize == 0 {
f.Buffer <- p
} else {
current := 0
for ; current < len(p); current += f.ChunkWriteSize {
end := current + f.ChunkWriteSize
if end > len(p) {
end = len(p)
}
f.Buffer <- p[current:end]
if cap(f.data) == 0 {
f.data = make([]byte, 0, f.ChunkWriteSize)
}
f.data = append(f.data, p...)
}
return len(p), nil

}

func (f *MemChanFile) Sync() error {
current := 0
for ; current < len(f.data); current += f.ChunkWriteSize {
end := current + f.ChunkWriteSize
if end > len(f.data) {
end = len(f.data)
}
f.Buffer <- f.data[current:end]
}
f.data = make([]byte, 0, f.ChunkWriteSize)
return nil
}
func (f *MemChanFile) Seek(offset int64, whence int) (ret int64, err error) {
Expand Down
4 changes: 2 additions & 2 deletions core/transaction/entity.go
Original file line number Diff line number Diff line change
Expand Up @@ -174,7 +174,7 @@ const (
)

type SignFunc = func(msg string) (string, error)
type VerifyFunc = func(signature, msgHash, publicKey string) (bool, error)
type VerifyFunc = func(publicKey, signature, msgHash string) (bool, error)
type SignWithWallet = func(msg string, wallet interface{}) (string, error)

var cache *lru.Cache
Expand Down Expand Up @@ -254,7 +254,7 @@ func (t *Transaction) VerifyTransaction(verifyHandler VerifyFunc) (bool, error)
if t.Hash != hash {
return false, errors.New("verify_transaction", fmt.Sprintf(`{"error":"hash_mismatch", "expected":"%v", "actual":%v"}`, t.Hash, hash))
}
return verifyHandler(t.Signature, t.Hash, t.PublicKey)
return verifyHandler(t.PublicKey, t.Signature, t.Hash)
}

func SendTransactionSync(txn *Transaction, miners []string) error {
Expand Down
2 changes: 1 addition & 1 deletion core/version/version.go
Original file line number Diff line number Diff line change
Expand Up @@ -2,5 +2,5 @@
//====== THIS IS AUTOGENERATED FILE. DO NOT MODIFY ========

package version
const VERSIONSTR = "v1.11-3-gad762e49"
const VERSIONSTR = "v1.11.5-4-ga759a908"

44 changes: 41 additions & 3 deletions core/zcncrypto/bls0chain_herumi_test.go
Original file line number Diff line number Diff line change
@@ -1,9 +1,7 @@
//go:build !js && !wasm
// +build !js,!wasm

package zcncrypto

import (
"fmt"
"testing"

"github.com/0chain/errors"
Expand Down Expand Up @@ -50,6 +48,46 @@ func TestSSSignAndVerify(t *testing.T) {
}
}

func TestSSA(t *testing.T) {
signScheme := NewSignatureScheme("bls0chain")
err := signScheme.SetPrivateKey("f482aa19d3a3f6cebcd4f8a99de292bcf4bf07e937be1350634086f4aa02e704")

require.NoError(t, err)

hash := Sha3Sum256("hello")
signature, err := signScheme.Sign(hash)
if err != nil {
t.Fatalf("BLS signing failed")
}
fmt.Println(signature)
// verifyScheme := NewSignatureScheme("bls0chain")
// err = verifyScheme.SetPublicKey(verifyPublickey)
// require.NoError(t, err)
// if ok, err := verifyScheme.Verify(signature, hash); err != nil || !ok {
// t.Fatalf("Verification failed\n")
// }
}

func TestVerify(t *testing.T) {
sk := "a931522f9949ff26b22db98b26e59cc92258457965f13ce6113cc2b5d2165513"
hash := "eb82aa875b3298ae7e625d8d8f13475004a4942bd8fcd7285e8ab9ad20651872"
sm := NewSignatureScheme("bls0chain")
if err2 := sm.SetPrivateKey(sk); err2 != nil {
t.Error(err2)
}
sig, _ := sm.Sign(hash)
fmt.Println("now sig:", sig)

pk := "47e94b6c5399f8c0005c6f3202dec43e37d171b0eff24d75cdcf14861f088106cf88df15b3335dcd0806365db4d1b3e70579a8bd82eb665c881ef2273d6bdd03"
verifyScheme := NewSignatureScheme("bls0chain")
if err := verifyScheme.SetPublicKey(pk); err != nil {
t.Error(err)
}
ok, err := verifyScheme.Verify(sig, hash)
require.NoError(t, err)
fmt.Println("verify result:", ok)
}

func BenchmarkBLSSign(b *testing.B) {
sigScheme := NewSignatureScheme("bls0chain")
err := sigScheme.SetPrivateKey(signPrivatekey)
Expand Down
2 changes: 1 addition & 1 deletion core/zcncrypto/signature_scheme.go
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ type Wallet struct {
Nonce int64 `json:"nonce"`
}

//SignatureScheme - an encryption scheme for signing and verifying messages
// SignatureScheme - an encryption scheme for signing and verifying messages
type SignatureScheme interface {
// Generate fresh keys
GenerateKeys() (*Wallet, error)
Expand Down
15 changes: 9 additions & 6 deletions go.mod
Original file line number Diff line number Diff line change
Expand Up @@ -32,9 +32,9 @@ require (
github.com/uptrace/bunrouter v1.0.20
go.dedis.ch/kyber/v3 v3.1.0
go.uber.org/zap v1.24.0
golang.org/x/crypto v0.6.0
golang.org/x/image v0.5.0
golang.org/x/sync v0.1.0
golang.org/x/crypto v0.16.0
golang.org/x/image v0.14.0
golang.org/x/sync v0.5.0
google.golang.org/grpc v1.53.0
gopkg.in/cheggaaa/pb.v1 v1.0.28
gopkg.in/natefinch/lumberjack.v2 v2.2.1
Expand Down Expand Up @@ -115,8 +115,11 @@ require (
github.com/xrash/smetrics v0.0.0-20201216005158-039620a65673 // indirect
go.dedis.ch/fixbuf v1.0.3 // indirect
go.opencensus.io v0.24.0 // indirect
golang.org/x/sys v0.7.0 // indirect
golang.org/x/text v0.8.0 // indirect
golang.org/x/mobile v0.0.0-20231127183840-76ac6878050a // indirect
golang.org/x/mod v0.14.0 // indirect
golang.org/x/sys v0.15.0 // indirect
golang.org/x/text v0.14.0 // indirect
golang.org/x/tools v0.16.0 // indirect
google.golang.org/protobuf v1.28.1 // indirect
gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c // indirect
gopkg.in/ini.v1 v1.67.0 // indirect
Expand All @@ -131,7 +134,7 @@ require (
github.com/yusufpapurcu/wmi v1.2.2 // indirect
go.uber.org/atomic v1.10.0 // indirect
go.uber.org/multierr v1.9.0 // indirect
golang.org/x/net v0.8.0 // indirect
golang.org/x/net v0.19.0 // indirect
golang.org/x/time v0.3.0 // indirect
google.golang.org/genproto v0.0.0-20230216225411-c8e22ba71e44 // indirect
)
Expand Down
Loading

0 comments on commit 0a2095d

Please sign in to comment.