Skip to content

Commit

Permalink
neofs: use interop.Hash160 for the user in bind/unbind
Browse files Browse the repository at this point in the history
Part of #307. NeoFS node currently passes and parses byte arrays here which is
a compatible behavior.

Signed-off-by: Roman Khimov <roman@nspcc.ru>
  • Loading branch information
roman-khimov committed Jun 18, 2024
1 parent 0b24272 commit 09d969b
Show file tree
Hide file tree
Showing 4 changed files with 35 additions and 15 deletions.
4 changes: 2 additions & 2 deletions contracts/neofs/config.yml
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@ events:
- name: Bind
parameters:
- name: user
type: ByteArray
type: Hash160
- name: keys
type: Array
extendedtype:
Expand All @@ -44,7 +44,7 @@ events:
- name: Unbind
parameters:
- name: user
type: ByteArray
type: Hash160
- name: keys
type: Array
extendedtype:
Expand Down
4 changes: 2 additions & 2 deletions contracts/neofs/contract.go
Original file line number Diff line number Diff line change
Expand Up @@ -369,7 +369,7 @@ func Cheque(id []byte, user interop.Hash160, amount int, lockAcc []byte) {
//
// This method produces Bind notification. This method panics if keys are not
// 33 byte long. User argument must be a valid 20 byte script hash.
func Bind(user []byte, keys []interop.PublicKey) {
func Bind(user interop.Hash160, keys []interop.PublicKey) {
if !runtime.CheckWitness(user) {
panic("you should be the owner of the wallet")
}
Expand All @@ -389,7 +389,7 @@ func Bind(user []byte, keys []interop.PublicKey) {
//
// This method produces Unbind notification. This method panics if keys are not
// 33 byte long. User argument must be a valid 20 byte script hash.
func Unbind(user []byte, keys []interop.PublicKey) {
func Unbind(user interop.Hash160, keys []interop.PublicKey) {
if !runtime.CheckWitness(user) {
panic("you should be the owner of the wallet")
}
Expand Down
2 changes: 1 addition & 1 deletion contracts/neofs/manifest.json
Original file line number Diff line number Diff line change
@@ -1 +1 @@
{"name":"NeoFS","abi":{"methods":[{"name":"_initialize","offset":0,"parameters":[],"returntype":"Void","safe":false},{"name":"_deploy","offset":74,"parameters":[{"name":"data","type":"Any"},{"name":"isUpdate","type":"Boolean"}],"returntype":"Void","safe":false},{"name":"alphabetAddress","offset":1388,"parameters":[],"returntype":"Hash160","safe":true},{"name":"alphabetList","offset":1336,"parameters":[],"returntype":"Array","safe":true},{"name":"alphabetUpdate","offset":3535,"parameters":[{"name":"id","type":"ByteArray"},{"name":"args","type":"Array"}],"returntype":"Void","safe":false},{"name":"bind","offset":3255,"parameters":[{"name":"user","type":"ByteArray"},{"name":"keys","type":"Array"}],"returntype":"Void","safe":false},{"name":"cheque","offset":2975,"parameters":[{"name":"id","type":"ByteArray"},{"name":"user","type":"Hash160"},{"name":"amount","type":"Integer"},{"name":"lockAcc","type":"ByteArray"}],"returntype":"Void","safe":false},{"name":"config","offset":3909,"parameters":[{"name":"key","type":"ByteArray"}],"returntype":"Any","safe":true},{"name":"innerRingCandidateAdd","offset":1856,"parameters":[{"name":"key","type":"PublicKey"}],"returntype":"Void","safe":false},{"name":"innerRingCandidateRemove","offset":1481,"parameters":[{"name":"key","type":"PublicKey"}],"returntype":"Void","safe":false},{"name":"innerRingCandidates","offset":1409,"parameters":[],"returntype":"Array","safe":true},{"name":"listConfig","offset":4161,"parameters":[],"returntype":"Array","safe":true},{"name":"onNEP17Payment","offset":2106,"parameters":[{"name":"from","type":"Hash160"},{"name":"amount","type":"Integer"},{"name":"data","type":"Any"}],"returntype":"Void","safe":false},{"name":"setConfig","offset":3927,"parameters":[{"name":"id","type":"ByteArray"},{"name":"key","type":"ByteArray"},{"name":"val","type":"ByteArray"}],"returntype":"Void","safe":false},{"name":"unbind","offset":3394,"parameters":[{"name":"user","type":"ByteArray"},{"name":"keys","type":"Array"}],"returntype":"Void","safe":false},{"name":"update","offset":1226,"parameters":[{"name":"script","type":"ByteArray"},{"name":"manifest","type":"ByteArray"},{"name":"data","type":"Any"}],"returntype":"Void","safe":false},{"name":"version","offset":4243,"parameters":[],"returntype":"Integer","safe":true},{"name":"withdraw","offset":2552,"parameters":[{"name":"user","type":"Hash160"},{"name":"amount","type":"Integer"}],"returntype":"Void","safe":false}],"events":[{"name":"Deposit","parameters":[{"name":"from","type":"Hash160"},{"name":"amount","type":"Integer"},{"name":"receiver","type":"Hash160"},{"name":"txHash","type":"Hash256"}]},{"name":"Withdraw","parameters":[{"name":"user","type":"Hash160"},{"name":"amount","type":"Integer"},{"name":"txHash","type":"Hash256"}]},{"name":"Cheque","parameters":[{"name":"id","type":"ByteArray"},{"name":"user","type":"Hash160"},{"name":"amount","type":"Integer"},{"name":"lockAccount","type":"ByteArray"}]},{"name":"Bind","parameters":[{"name":"user","type":"ByteArray"},{"name":"keys","type":"Array"}]},{"name":"Unbind","parameters":[{"name":"user","type":"ByteArray"},{"name":"keys","type":"Array"}]},{"name":"AlphabetUpdate","parameters":[{"name":"id","type":"ByteArray"},{"name":"alphabet","type":"Array"}]},{"name":"SetConfig","parameters":[{"name":"id","type":"ByteArray"},{"name":"key","type":"ByteArray"},{"name":"value","type":"ByteArray"}]}]},"features":{},"groups":[],"permissions":[{"contract":"*","methods":["update","transfer"]}],"supportedstandards":[],"trusts":[],"extra":null}
{"name":"NeoFS","abi":{"methods":[{"name":"_initialize","offset":0,"parameters":[],"returntype":"Void","safe":false},{"name":"_deploy","offset":74,"parameters":[{"name":"data","type":"Any"},{"name":"isUpdate","type":"Boolean"}],"returntype":"Void","safe":false},{"name":"alphabetAddress","offset":1388,"parameters":[],"returntype":"Hash160","safe":true},{"name":"alphabetList","offset":1336,"parameters":[],"returntype":"Array","safe":true},{"name":"alphabetUpdate","offset":3535,"parameters":[{"name":"id","type":"ByteArray"},{"name":"args","type":"Array"}],"returntype":"Void","safe":false},{"name":"bind","offset":3255,"parameters":[{"name":"user","type":"Hash160"},{"name":"keys","type":"Array"}],"returntype":"Void","safe":false},{"name":"cheque","offset":2975,"parameters":[{"name":"id","type":"ByteArray"},{"name":"user","type":"Hash160"},{"name":"amount","type":"Integer"},{"name":"lockAcc","type":"ByteArray"}],"returntype":"Void","safe":false},{"name":"config","offset":3909,"parameters":[{"name":"key","type":"ByteArray"}],"returntype":"Any","safe":true},{"name":"innerRingCandidateAdd","offset":1856,"parameters":[{"name":"key","type":"PublicKey"}],"returntype":"Void","safe":false},{"name":"innerRingCandidateRemove","offset":1481,"parameters":[{"name":"key","type":"PublicKey"}],"returntype":"Void","safe":false},{"name":"innerRingCandidates","offset":1409,"parameters":[],"returntype":"Array","safe":true},{"name":"listConfig","offset":4161,"parameters":[],"returntype":"Array","safe":true},{"name":"onNEP17Payment","offset":2106,"parameters":[{"name":"from","type":"Hash160"},{"name":"amount","type":"Integer"},{"name":"data","type":"Any"}],"returntype":"Void","safe":false},{"name":"setConfig","offset":3927,"parameters":[{"name":"id","type":"ByteArray"},{"name":"key","type":"ByteArray"},{"name":"val","type":"ByteArray"}],"returntype":"Void","safe":false},{"name":"unbind","offset":3394,"parameters":[{"name":"user","type":"Hash160"},{"name":"keys","type":"Array"}],"returntype":"Void","safe":false},{"name":"update","offset":1226,"parameters":[{"name":"script","type":"ByteArray"},{"name":"manifest","type":"ByteArray"},{"name":"data","type":"Any"}],"returntype":"Void","safe":false},{"name":"version","offset":4243,"parameters":[],"returntype":"Integer","safe":true},{"name":"withdraw","offset":2552,"parameters":[{"name":"user","type":"Hash160"},{"name":"amount","type":"Integer"}],"returntype":"Void","safe":false}],"events":[{"name":"Deposit","parameters":[{"name":"from","type":"Hash160"},{"name":"amount","type":"Integer"},{"name":"receiver","type":"Hash160"},{"name":"txHash","type":"Hash256"}]},{"name":"Withdraw","parameters":[{"name":"user","type":"Hash160"},{"name":"amount","type":"Integer"},{"name":"txHash","type":"Hash256"}]},{"name":"Cheque","parameters":[{"name":"id","type":"ByteArray"},{"name":"user","type":"Hash160"},{"name":"amount","type":"Integer"},{"name":"lockAccount","type":"ByteArray"}]},{"name":"Bind","parameters":[{"name":"user","type":"Hash160"},{"name":"keys","type":"Array"}]},{"name":"Unbind","parameters":[{"name":"user","type":"Hash160"},{"name":"keys","type":"Array"}]},{"name":"AlphabetUpdate","parameters":[{"name":"id","type":"ByteArray"},{"name":"alphabet","type":"Array"}]},{"name":"SetConfig","parameters":[{"name":"id","type":"ByteArray"},{"name":"key","type":"ByteArray"},{"name":"value","type":"ByteArray"}]}]},"features":{},"groups":[],"permissions":[{"contract":"*","methods":["update","transfer"]}],"supportedstandards":[],"trusts":[],"extra":null}
40 changes: 30 additions & 10 deletions rpc/neofs/rpcbinding.go

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

0 comments on commit 09d969b

Please sign in to comment.