-
Notifications
You must be signed in to change notification settings - Fork 41
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
feat: implement signer service #119
Conversation
service/signer/gnfd_chain.go
Outdated
if err != nil { | ||
log.Panic(err) | ||
} | ||
cli := &GreenfieldChain{ |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
return straightly &GreenfieldChain, don't use claim a new var? What does cli mean?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
fixed
service/signer/gnfd_chain.go
Outdated
xauthsigning "github.com/cosmos/cosmos-sdk/x/auth/signing" | ||
rpcclient "github.com/tendermint/tendermint/rpc/client" | ||
|
||
ptypes "github.com/bnb-chain/greenfield-storage-provider/pkg/types/v1" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
use goimports to regularize imported packages
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
fixed
service/signer/gnfd_chain.go
Outdated
|
||
var ( | ||
secondarySPAccs = make([]types.AccAddress, 0, len(object.SecondarySps)) | ||
secondarySpSignatures = make([][]byte, 0, len(object.SecondarySps)) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
secondarySpSignatures --> secondarySPSignatures
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
fixed
service/signer/gnfd_client.go
Outdated
} | ||
|
||
func newRpcClient(addr string) *http.HTTP { | ||
httpClient, err := libclient.DefaultHTTPClient(addr) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
newRpcClient --> newRPCClient
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
the client is replaced by greenfield-go-sdk
service/signer/gnfd_config.go
Outdated
type GreenfieldChainConfig struct { | ||
RPCAddrs []string | ||
GRPCAddrs []string | ||
ChainId uint16 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
ChainId --> ChainID
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
fixed
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Need refactor
service/signer/gnfd_client.go
Outdated
@@ -0,0 +1,129 @@ | |||
package signer |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
maybe gnfd_client.go could be moved to service/client directory
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
fixed
service/signer/gnfd_client.go
Outdated
) | ||
|
||
// GreenfieldChainClient the greenfield chain client | ||
type GreenfieldChainClient struct { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
'GreenfieldChainClient' change to 'GreenfieldChainSignClient' maybe better?
other modules will interact with greenfield-chain , but send queries requests, only the signer send tx.
so it's better to differentiate.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
fixed
d0ad086
to
4457039
Compare
bytes tx_hash = 1; | ||
ErrMessage err_message = 2; | ||
} | ||
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Add VerifyCreateBucketApproval and VerifyCreateObjectApproval, and verify the msg is signed by approval_address.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
done
service/client/gnfd_client.go
Outdated
@@ -0,0 +1,136 @@ | |||
package client |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
gnfd_client.go change to gnfd_sign_client.go?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
fixed
LGTM |
service/client/gnfd_sign_client.go
Outdated
return false | ||
} | ||
sigHash := crypto.Keccak256(msg) | ||
return VerifySignature(km.GetAddr(), sigHash, sig) == nil |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
print log when an error occurs?
LGTM |
* fix: docker push bug (#115) * feat: add stone load and gc workflow (#117) * feat: add iterator and batch interface to db * chore: delete memory job db v1 code * feat: impl the iterator and batch of job memory db * feat: add stone load and gc db * chore: delete job sql db v1 impl * feat: job sql add iterator and batcher interface * refactor: rename job_db v2 interface to job_db interface --------- Co-authored-by: joeylichang <joeycli0919@gmail.com> * feat: implement signer service (#119) * feat: implement signer service * feat: add api auth and ip whitelist for signer * refactor: redesign the interface of singer service * refactor: use greenfield-go-sdk * fix: msg to be signed should not be pre-hashed * feat: add VerifyBucketApproval, VerifyObjectApproval interface * feat: add signer client --------- Co-authored-by: joeylichang <joeycli0919@gmail.com> * feat: client opt (#129) * feat: implement gateway challenge workflow (#127) * feat: implement gateway challenge workflow * feat: support get range object * read:block_syncer * read:block_syncer * read:block-syncer * read:block-syncer * fix: use env var to get bucket url (#130) * fix: use env var to get bucket url * fix: improve loading config from env function * fix: rename variable names * fix: change piece store readme.md --------- Co-authored-by: DylanYong <dylan.y@nodereal.io> * read:toml * feat: stone node sends piece data to gateway (#128) * feat: stone node sends piece data to gateway * feat: alloc resp add bucket name and object name * fix: fix errors of stone node uint test * fix: fix gateway config * fix: add gateway syncer rpc ut * fix: add one log in gateway sync piece handler func * fix: add detailed log in gateway sync piece handler --------- Co-authored-by: DylanYong <dylan.y@nodereal.io> * read:cmd_complete * read:del * read:test-job * read:block-syncer-frame * read:fix * fix: upgrade greenfield version to fix the signing bug (#133) * ci: fix release job * dep: upgrade greenfield version * fix: unit test for gnfd sign client * fix: signer adapt to on-chain logic (#136) * feat: add metadata service to sp (#132) * feat: init commit * feat: register metadata service and run on 9733 port * feat: impl ListObjectsByBucketName api & model update * feat: cleanup files and add metadata service sdk * feat: add mock and unit tests * feat: uniform error return values * feat: metadata service case_driver update --------- Co-authored-by: BarryTong65 <barrytong.work@gmail.com> Co-authored-by: joeycli <joeycli0919@gmail.com> * read:del * read:block-syncer-update * read:block-syncer-db * fix: use greenfield-go-sdk and upgrade lib version (#135) * fix: use greenfield-go-sdk and upgrade lib version * ci: rename main to master * fix: update greenfield-common version --------- Co-authored-by: DylanYong <dylan.y@nodereal.io> * feat: add chain client to sp (#131) * feat: impl the interaction between sp and chain interface * fix: return bucket id from auth object * feat: add check authorization * feat: add chain client to stonehub * feat: add chain client to uploader/downloader * feat: implement get approval workflow * feat: implement object seal and integrity hash sign workflow * chore: update dependencies * feat:implement secondary sp integrity hash sign workflow * test: add signer and chain to onebox * fix: fix itergrated test bug --------- Co-authored-by: joeylichang <joeycli0919@gmail.com> --------- Co-authored-by: joeycli <joeycli0919@gmail.com> Co-authored-by: dylanhuang <j75689@gmail.com> Co-authored-by: constwz <changbohao30@gmail.com> Co-authored-by: VM <112189277+sysvm@users.noreply.github.com> Co-authored-by: DylanYong <dylan.y@nodereal.io> Co-authored-by: constwz <122766871+constwz@users.noreply.github.com> Co-authored-by: Annie <108039750+annielz@users.noreply.github.com> Co-authored-by: BarryTong65 <barrytong.work@gmail.com>
Description
proto
Example
add an example CLI or API response...
Changes
Notable changes: