Rebranding #1
33 changed files with 180 additions and 182 deletions
|
@ -74,7 +74,7 @@ Smartcontract tests reside in `tests/` directory. To execute test suite
|
|||
after applying changes, simply run `make test`.
|
||||
```
|
||||
$ make test
|
||||
ok github.com/nspcc-dev/neofs-contract/tests 0.462s
|
||||
ok github.com/TrueCloudLab/frostfs-contract/tests 0.462s
|
||||
```
|
||||
|
||||
# NeoFS API compatibility
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
package alphabet
|
||||
|
||||
import (
|
||||
"github.com/TrueCloudLab/frostfs-contract/common"
|
||||
"github.com/nspcc-dev/neo-go/pkg/interop"
|
||||
"github.com/nspcc-dev/neo-go/pkg/interop/contract"
|
||||
"github.com/nspcc-dev/neo-go/pkg/interop/native/crypto"
|
||||
|
@ -9,7 +10,6 @@ import (
|
|||
"github.com/nspcc-dev/neo-go/pkg/interop/native/neo"
|
||||
"github.com/nspcc-dev/neo-go/pkg/interop/runtime"
|
||||
"github.com/nspcc-dev/neo-go/pkg/interop/storage"
|
||||
"github.com/nspcc-dev/neofs-contract/common"
|
||||
)
|
||||
|
||||
const (
|
||||
|
|
|
@ -14,7 +14,7 @@ one of the alphabetical contracts to emit GAS. To vote for a new list of side
|
|||
chain committee, alphabet nodes of the Inner Ring create multisignature transactions
|
||||
for each alphabet contract.
|
||||
|
||||
Contract notifications
|
||||
# Contract notifications
|
||||
|
||||
Alphabet contract does not produce notifications to process.
|
||||
*/
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
package audit
|
||||
|
||||
import (
|
||||
"github.com/TrueCloudLab/frostfs-contract/common"
|
||||
"github.com/nspcc-dev/neo-go/pkg/interop"
|
||||
"github.com/nspcc-dev/neo-go/pkg/interop/contract"
|
||||
"github.com/nspcc-dev/neo-go/pkg/interop/iterator"
|
||||
|
@ -8,7 +9,6 @@ import (
|
|||
"github.com/nspcc-dev/neo-go/pkg/interop/native/management"
|
||||
"github.com/nspcc-dev/neo-go/pkg/interop/runtime"
|
||||
"github.com/nspcc-dev/neo-go/pkg/interop/storage"
|
||||
"github.com/nspcc-dev/neofs-contract/common"
|
||||
)
|
||||
|
||||
type (
|
||||
|
|
|
@ -15,7 +15,7 @@ nodes send a stable marshaled version of the DataAuditResult structure to the
|
|||
contract. When Alphabet nodes of the Inner Ring perform settlement operations,
|
||||
they make a list and get these AuditResultStructures from the audit contract.
|
||||
|
||||
Contract notifications
|
||||
# Contract notifications
|
||||
|
||||
Audit contract does not produce notifications to process.
|
||||
*/
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
package balance
|
||||
|
||||
import (
|
||||
"github.com/TrueCloudLab/frostfs-contract/common"
|
||||
"github.com/nspcc-dev/neo-go/pkg/interop"
|
||||
"github.com/nspcc-dev/neo-go/pkg/interop/contract"
|
||||
"github.com/nspcc-dev/neo-go/pkg/interop/iterator"
|
||||
|
@ -8,7 +9,6 @@ import (
|
|||
"github.com/nspcc-dev/neo-go/pkg/interop/native/std"
|
||||
"github.com/nspcc-dev/neo-go/pkg/interop/runtime"
|
||||
"github.com/nspcc-dev/neo-go/pkg/interop/storage"
|
||||
"github.com/nspcc-dev/neofs-contract/common"
|
||||
)
|
||||
|
||||
type (
|
||||
|
|
|
@ -15,29 +15,29 @@ minting of NEOFS tokens in Balance contract. Withdraw locks some NEOFS tokens
|
|||
in a special lock account. When NeoFS contract transfers GAS assets back to the
|
||||
user, the lock account is destroyed with burn operation.
|
||||
|
||||
Contract notifications
|
||||
# Contract notifications
|
||||
|
||||
Transfer notification. This is a NEP-17 standard notification.
|
||||
|
||||
Transfer:
|
||||
- name: from
|
||||
type: Hash160
|
||||
- name: to
|
||||
type: Hash160
|
||||
- name: amount
|
||||
type: Integer
|
||||
Transfer:
|
||||
- name: from
|
||||
type: Hash160
|
||||
- name: to
|
||||
type: Hash160
|
||||
- name: amount
|
||||
type: Integer
|
||||
|
||||
TransferX notification. This is an enhanced transfer notification with details.
|
||||
|
||||
TransferX:
|
||||
- name: from
|
||||
type: Hash160
|
||||
- name: to
|
||||
type: Hash160
|
||||
- name: amount
|
||||
type: Integer
|
||||
- name: details
|
||||
type: ByteArray
|
||||
TransferX:
|
||||
- name: from
|
||||
type: Hash160
|
||||
- name: to
|
||||
type: Hash160
|
||||
- name: amount
|
||||
type: Integer
|
||||
- name: details
|
||||
type: ByteArray
|
||||
|
||||
Lock notification. This notification is produced when a lock account is
|
||||
created. It contains information about the mainchain transaction that has produced
|
||||
|
@ -45,35 +45,34 @@ the asset lock, the address of the lock account and the NeoFS epoch number until
|
|||
lock account is valid. Alphabet nodes of the Inner Ring catch notification and initialize
|
||||
Cheque method invocation of NeoFS contract.
|
||||
|
||||
Lock:
|
||||
- name: txID
|
||||
type: ByteArray
|
||||
- name: from
|
||||
type: Hash160
|
||||
- name: to
|
||||
type: Hash160
|
||||
- name: amount
|
||||
type: Integer
|
||||
- name: until
|
||||
type: Integer
|
||||
Lock:
|
||||
- name: txID
|
||||
type: ByteArray
|
||||
- name: from
|
||||
type: Hash160
|
||||
- name: to
|
||||
type: Hash160
|
||||
- name: amount
|
||||
type: Integer
|
||||
- name: until
|
||||
type: Integer
|
||||
|
||||
Mint notification. This notification is produced when user balance is
|
||||
replenished from deposit in the mainchain.
|
||||
|
||||
Mint:
|
||||
- name: to
|
||||
type: Hash160
|
||||
- name: amount
|
||||
type: Integer
|
||||
|
||||
Mint:
|
||||
- name: to
|
||||
type: Hash160
|
||||
- name: amount
|
||||
type: Integer
|
||||
|
||||
Burn notification. This notification is produced after user balance is reduced
|
||||
when NeoFS contract has transferred GAS assets back to the user.
|
||||
|
||||
Burn:
|
||||
- name: from
|
||||
type: Hash160
|
||||
- name: amount
|
||||
type: Integer
|
||||
Burn:
|
||||
- name: from
|
||||
type: Hash160
|
||||
- name: amount
|
||||
type: Integer
|
||||
*/
|
||||
package balance
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
package container
|
||||
|
||||
import (
|
||||
"github.com/TrueCloudLab/frostfs-contract/common"
|
||||
"github.com/nspcc-dev/neo-go/pkg/interop"
|
||||
"github.com/nspcc-dev/neo-go/pkg/interop/contract"
|
||||
"github.com/nspcc-dev/neo-go/pkg/interop/convert"
|
||||
|
@ -10,7 +11,6 @@ import (
|
|||
"github.com/nspcc-dev/neo-go/pkg/interop/native/std"
|
||||
"github.com/nspcc-dev/neo-go/pkg/interop/runtime"
|
||||
"github.com/nspcc-dev/neo-go/pkg/interop/storage"
|
||||
"github.com/nspcc-dev/neofs-contract/common"
|
||||
)
|
||||
|
||||
type (
|
||||
|
|
|
@ -7,62 +7,62 @@ containers or extended ACLs, it is done by Alphabet nodes of the Inner Ring.
|
|||
Alphabet nodes approve it by invoking the same Put or SetEACL methods with
|
||||
the same arguments.
|
||||
|
||||
Contract notifications
|
||||
# Contract notifications
|
||||
|
||||
containerPut notification. This notification is produced when a user wants to
|
||||
create a new container. Alphabet nodes of the Inner Ring catch the notification and
|
||||
validate container data, signature and token if present.
|
||||
|
||||
containerPut:
|
||||
- name: container
|
||||
type: ByteArray
|
||||
- name: signature
|
||||
type: Signature
|
||||
- name: publicKey
|
||||
type: PublicKey
|
||||
- name: token
|
||||
type: ByteArray
|
||||
containerPut:
|
||||
- name: container
|
||||
type: ByteArray
|
||||
- name: signature
|
||||
type: Signature
|
||||
- name: publicKey
|
||||
type: PublicKey
|
||||
- name: token
|
||||
type: ByteArray
|
||||
|
||||
containerDelete notification. This notification is produced when a container owner
|
||||
wants to delete a container. Alphabet nodes of the Inner Ring catch the notification
|
||||
and validate container ownership, signature and token if present.
|
||||
|
||||
containerDelete:
|
||||
- name: containerID
|
||||
type: ByteArray
|
||||
- name: signature
|
||||
type: Signature
|
||||
- name: token
|
||||
type: ByteArray
|
||||
containerDelete:
|
||||
- name: containerID
|
||||
type: ByteArray
|
||||
- name: signature
|
||||
type: Signature
|
||||
- name: token
|
||||
type: ByteArray
|
||||
|
||||
setEACL notification. This notification is produced when a container owner wants
|
||||
to update an extended ACL of a container. Alphabet nodes of the Inner Ring catch
|
||||
the notification and validate container ownership, signature and token if
|
||||
present.
|
||||
|
||||
setEACL:
|
||||
- name: eACL
|
||||
type: ByteArray
|
||||
- name: signature
|
||||
type: Signature
|
||||
- name: publicKey
|
||||
type: PublicKey
|
||||
- name: token
|
||||
type: ByteArray
|
||||
setEACL:
|
||||
- name: eACL
|
||||
type: ByteArray
|
||||
- name: signature
|
||||
type: Signature
|
||||
- name: publicKey
|
||||
type: PublicKey
|
||||
- name: token
|
||||
type: ByteArray
|
||||
|
||||
StartEstimation notification. This notification is produced when Storage nodes
|
||||
should exchange estimation values of container sizes among other Storage nodes.
|
||||
|
||||
StartEstimation:
|
||||
- name: epoch
|
||||
type: Integer
|
||||
StartEstimation:
|
||||
- name: epoch
|
||||
type: Integer
|
||||
|
||||
StopEstimation notification. This notification is produced when Storage nodes
|
||||
should calculate average container size based on received estimations and store
|
||||
it in Container contract.
|
||||
|
||||
StopEstimation:
|
||||
- name: epoch
|
||||
type: Integer
|
||||
StopEstimation:
|
||||
- name: epoch
|
||||
type: Integer
|
||||
*/
|
||||
package container
|
||||
|
|
2
go.mod
2
go.mod
|
@ -1,4 +1,4 @@
|
|||
module github.com/nspcc-dev/neofs-contract
|
||||
module github.com/TrueCloudLab/frostfs-contract
|
||||
|
||||
go 1.14
|
||||
|
||||
|
|
97
neofs/doc.go
97
neofs/doc.go
|
@ -12,84 +12,83 @@ NeoFS contract contains the actual list of Alphabet nodes in the sidechain.
|
|||
Network configuration is also stored in NeoFS contract. All changes in
|
||||
configuration are mirrored in the sidechain with notifications.
|
||||
|
||||
Contract notifications
|
||||
# Contract notifications
|
||||
|
||||
Deposit notification. This notification is produced when user transfers native
|
||||
GAS to the NeoFS contract address. The same amount of NEOFS token will be
|
||||
minted in Balance contract in the sidechain.
|
||||
|
||||
Deposit:
|
||||
- name: from
|
||||
type: Hash160
|
||||
- name: amount
|
||||
type: Integer
|
||||
- name: receiver
|
||||
type: Hash160
|
||||
- name: txHash
|
||||
type: Hash256
|
||||
Deposit:
|
||||
- name: from
|
||||
type: Hash160
|
||||
- name: amount
|
||||
type: Integer
|
||||
- name: receiver
|
||||
type: Hash160
|
||||
- name: txHash
|
||||
type: Hash256
|
||||
|
||||
Withdraw notification. This notification is produced when a user wants to
|
||||
withdraw GAS from the internal NeoFS balance and has paid fee for that.
|
||||
|
||||
Withdraw:
|
||||
- name: user
|
||||
type: Hash160
|
||||
- name: amount
|
||||
type: Integer
|
||||
- name: txHash
|
||||
type: Hash256
|
||||
|
||||
Withdraw:
|
||||
- name: user
|
||||
type: Hash160
|
||||
- name: amount
|
||||
type: Integer
|
||||
- name: txHash
|
||||
type: Hash256
|
||||
|
||||
Cheque notification. This notification is produced when NeoFS contract
|
||||
has successfully transferred assets back to the user after withdraw.
|
||||
|
||||
Cheque:
|
||||
- name: id
|
||||
type: ByteArray
|
||||
- name: user
|
||||
type: Hash160
|
||||
- name: amount
|
||||
type: Integer
|
||||
- name: lockAccount
|
||||
type: ByteArray
|
||||
Cheque:
|
||||
- name: id
|
||||
type: ByteArray
|
||||
- name: user
|
||||
type: Hash160
|
||||
- name: amount
|
||||
type: Integer
|
||||
- name: lockAccount
|
||||
type: ByteArray
|
||||
|
||||
Bind notification. This notification is produced when a user wants to bind
|
||||
public keys with the user account (OwnerID). Keys argument is an array of ByteArray.
|
||||
|
||||
Bind:
|
||||
- name: user
|
||||
type: ByteArray
|
||||
- name: keys
|
||||
type: Array
|
||||
Bind:
|
||||
- name: user
|
||||
type: ByteArray
|
||||
- name: keys
|
||||
type: Array
|
||||
|
||||
Unbind notification. This notification is produced when a user wants to unbind
|
||||
public keys with the user account (OwnerID). Keys argument is an array of ByteArray.
|
||||
|
||||
Unbind:
|
||||
- name: user
|
||||
type: ByteArray
|
||||
- name: keys
|
||||
type: Array
|
||||
Unbind:
|
||||
- name: user
|
||||
type: ByteArray
|
||||
- name: keys
|
||||
type: Array
|
||||
|
||||
AlphabetUpdate notification. This notification is produced when Alphabet nodes
|
||||
have updated their lists in the contract. Alphabet argument is an array of ByteArray. It
|
||||
contains public keys of new alphabet nodes.
|
||||
|
||||
AlphabetUpdate:
|
||||
- name: id
|
||||
type: ByteArray
|
||||
- name: alphabet
|
||||
type: Array
|
||||
AlphabetUpdate:
|
||||
- name: id
|
||||
type: ByteArray
|
||||
- name: alphabet
|
||||
type: Array
|
||||
|
||||
SetConfig notification. This notification is produced when Alphabet nodes update
|
||||
NeoFS network configuration value.
|
||||
|
||||
SetConfig
|
||||
- name: id
|
||||
type: ByteArray
|
||||
- name: key
|
||||
type: ByteArray
|
||||
- name: value
|
||||
type: ByteArray
|
||||
SetConfig
|
||||
- name: id
|
||||
type: ByteArray
|
||||
- name: key
|
||||
type: ByteArray
|
||||
- name: value
|
||||
type: ByteArray
|
||||
*/
|
||||
package neofs
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
package neofs
|
||||
|
||||
import (
|
||||
"github.com/TrueCloudLab/frostfs-contract/common"
|
||||
"github.com/nspcc-dev/neo-go/pkg/interop"
|
||||
"github.com/nspcc-dev/neo-go/pkg/interop/contract"
|
||||
"github.com/nspcc-dev/neo-go/pkg/interop/iterator"
|
||||
|
@ -12,7 +13,6 @@ import (
|
|||
"github.com/nspcc-dev/neo-go/pkg/interop/native/std"
|
||||
"github.com/nspcc-dev/neo-go/pkg/interop/runtime"
|
||||
"github.com/nspcc-dev/neo-go/pkg/interop/storage"
|
||||
"github.com/nspcc-dev/neofs-contract/common"
|
||||
)
|
||||
|
||||
type (
|
||||
|
|
|
@ -13,7 +13,7 @@ by invoking Bind or Unbind methods of NeoFS contract in the mainchain. After tha
|
|||
Alphabet nodes produce multisigned AddKey and RemoveKey invocations of NeoFSID
|
||||
contract.
|
||||
|
||||
Contract notifications
|
||||
# Contract notifications
|
||||
|
||||
NeoFSID contract does not produce notifications to process.
|
||||
*/
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
package neofsid
|
||||
|
||||
import (
|
||||
"github.com/TrueCloudLab/frostfs-contract/common"
|
||||
"github.com/nspcc-dev/neo-go/pkg/interop"
|
||||
"github.com/nspcc-dev/neo-go/pkg/interop/contract"
|
||||
"github.com/nspcc-dev/neo-go/pkg/interop/iterator"
|
||||
|
@ -8,7 +9,6 @@ import (
|
|||
"github.com/nspcc-dev/neo-go/pkg/interop/native/management"
|
||||
"github.com/nspcc-dev/neo-go/pkg/interop/runtime"
|
||||
"github.com/nspcc-dev/neo-go/pkg/interop/storage"
|
||||
"github.com/nspcc-dev/neofs-contract/common"
|
||||
)
|
||||
|
||||
type (
|
||||
|
|
|
@ -5,30 +5,30 @@ Netmap contract stores and manages NeoFS network map, Storage node candidates
|
|||
and epoch number counter. In notary disabled environment, contract also stores
|
||||
a list of Inner Ring node keys.
|
||||
|
||||
Contract notifications
|
||||
# Contract notifications
|
||||
|
||||
AddPeer notification. This notification is produced when a Storage node sends
|
||||
a bootstrap request by invoking AddPeer method.
|
||||
|
||||
AddPeer
|
||||
- name: nodeInfo
|
||||
type: ByteArray
|
||||
AddPeer
|
||||
- name: nodeInfo
|
||||
type: ByteArray
|
||||
|
||||
UpdateState notification. This notification is produced when a Storage node wants
|
||||
to change its state (go offline) by invoking UpdateState method. Supported
|
||||
states: (2) -- offline.
|
||||
|
||||
UpdateState
|
||||
- name: state
|
||||
type: Integer
|
||||
- name: publicKey
|
||||
type: PublicKey
|
||||
UpdateState
|
||||
- name: state
|
||||
type: Integer
|
||||
- name: publicKey
|
||||
type: PublicKey
|
||||
|
||||
NewEpoch notification. This notification is produced when a new epoch is applied
|
||||
in the network by invoking NewEpoch method.
|
||||
|
||||
NewEpoch
|
||||
- name: epoch
|
||||
type: Integer
|
||||
NewEpoch
|
||||
- name: epoch
|
||||
type: Integer
|
||||
*/
|
||||
package netmap
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
package netmap
|
||||
|
||||
import (
|
||||
"github.com/TrueCloudLab/frostfs-contract/common"
|
||||
"github.com/nspcc-dev/neo-go/pkg/interop"
|
||||
"github.com/nspcc-dev/neo-go/pkg/interop/contract"
|
||||
"github.com/nspcc-dev/neo-go/pkg/interop/iterator"
|
||||
|
@ -10,7 +11,6 @@ import (
|
|||
"github.com/nspcc-dev/neo-go/pkg/interop/native/std"
|
||||
"github.com/nspcc-dev/neo-go/pkg/interop/runtime"
|
||||
"github.com/nspcc-dev/neo-go/pkg/interop/storage"
|
||||
"github.com/nspcc-dev/neofs-contract/common"
|
||||
)
|
||||
|
||||
// NodeState is an enumeration for node states.
|
||||
|
|
|
@ -9,6 +9,7 @@ must be added by committee before a new domain name can be registered.
|
|||
package nns
|
||||
|
||||
import (
|
||||
"github.com/TrueCloudLab/frostfs-contract/common"
|
||||
"github.com/nspcc-dev/neo-go/pkg/interop"
|
||||
"github.com/nspcc-dev/neo-go/pkg/interop/contract"
|
||||
"github.com/nspcc-dev/neo-go/pkg/interop/iterator"
|
||||
|
@ -19,7 +20,6 @@ import (
|
|||
"github.com/nspcc-dev/neo-go/pkg/interop/runtime"
|
||||
"github.com/nspcc-dev/neo-go/pkg/interop/storage"
|
||||
"github.com/nspcc-dev/neo-go/pkg/interop/util"
|
||||
"github.com/nspcc-dev/neofs-contract/common"
|
||||
)
|
||||
|
||||
// Prefixes used for contract data storage.
|
||||
|
|
|
@ -15,7 +15,7 @@ the multisignature transaction. Therefore, NeoVM executes Verify method of the
|
|||
contract and if invocation is verified, Processing contract pays for the
|
||||
execution.
|
||||
|
||||
Contract notifications
|
||||
# Contract notifications
|
||||
|
||||
Processing contract does not produce notifications to process.
|
||||
*/
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
package processing
|
||||
|
||||
import (
|
||||
"github.com/TrueCloudLab/frostfs-contract/common"
|
||||
"github.com/nspcc-dev/neo-go/pkg/interop"
|
||||
"github.com/nspcc-dev/neo-go/pkg/interop/contract"
|
||||
"github.com/nspcc-dev/neo-go/pkg/interop/native/gas"
|
||||
|
@ -9,7 +10,6 @@ import (
|
|||
"github.com/nspcc-dev/neo-go/pkg/interop/native/roles"
|
||||
"github.com/nspcc-dev/neo-go/pkg/interop/runtime"
|
||||
"github.com/nspcc-dev/neo-go/pkg/interop/storage"
|
||||
"github.com/nspcc-dev/neofs-contract/common"
|
||||
)
|
||||
|
||||
const (
|
||||
|
|
|
@ -14,7 +14,7 @@ Proxy contract is used as the first signer in a multisignature transaction.
|
|||
Therefore, NeoVM executes Verify method of the contract; and if invocation is
|
||||
verified, Proxy contract pays for the execution.
|
||||
|
||||
Contract notifications
|
||||
# Contract notifications
|
||||
|
||||
Proxy contract does not produce notifications to process.
|
||||
*/
|
||||
|
|
|
@ -1,13 +1,13 @@
|
|||
package proxy
|
||||
|
||||
import (
|
||||
"github.com/TrueCloudLab/frostfs-contract/common"
|
||||
"github.com/nspcc-dev/neo-go/pkg/interop"
|
||||
"github.com/nspcc-dev/neo-go/pkg/interop/contract"
|
||||
"github.com/nspcc-dev/neo-go/pkg/interop/native/gas"
|
||||
"github.com/nspcc-dev/neo-go/pkg/interop/native/management"
|
||||
"github.com/nspcc-dev/neo-go/pkg/interop/native/neo"
|
||||
"github.com/nspcc-dev/neo-go/pkg/interop/runtime"
|
||||
"github.com/nspcc-dev/neofs-contract/common"
|
||||
)
|
||||
|
||||
// OnNEP17Payment is a callback for NEP-17 compatible native GAS contract.
|
||||
|
|
|
@ -10,7 +10,7 @@ During settlement process, Alphabet nodes fetch all DataAuditResult structures
|
|||
from the epoch and execute balance transfers from data owners to Storage and
|
||||
Inner Ring nodes if data audit succeeds.
|
||||
|
||||
Contract notifications
|
||||
# Contract notifications
|
||||
|
||||
Reputation contract does not produce notifications to process.
|
||||
*/
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
package reputation
|
||||
|
||||
import (
|
||||
"github.com/TrueCloudLab/frostfs-contract/common"
|
||||
"github.com/nspcc-dev/neo-go/pkg/interop"
|
||||
"github.com/nspcc-dev/neo-go/pkg/interop/contract"
|
||||
"github.com/nspcc-dev/neo-go/pkg/interop/convert"
|
||||
|
@ -8,7 +9,6 @@ import (
|
|||
"github.com/nspcc-dev/neo-go/pkg/interop/native/management"
|
||||
"github.com/nspcc-dev/neo-go/pkg/interop/runtime"
|
||||
"github.com/nspcc-dev/neo-go/pkg/interop/storage"
|
||||
"github.com/nspcc-dev/neofs-contract/common"
|
||||
)
|
||||
|
||||
const (
|
||||
|
|
|
@ -5,33 +5,33 @@ Subnet contract stores and manages NeoFS subnetwork states. It allows registerin
|
|||
and deleting subnetworks, limiting access to them, and defining a list of the Storage
|
||||
Nodes that can be included in them.
|
||||
|
||||
Contract notifications
|
||||
# Contract notifications
|
||||
|
||||
Put notification. This notification is produced when a new subnetwork is
|
||||
registered by invoking Put method.
|
||||
|
||||
Put
|
||||
- name: id
|
||||
type: ByteArray
|
||||
- name: ownerKey
|
||||
type: PublicKey
|
||||
- name: info
|
||||
type: ByteArray
|
||||
Put
|
||||
- name: id
|
||||
type: ByteArray
|
||||
- name: ownerKey
|
||||
type: PublicKey
|
||||
- name: info
|
||||
type: ByteArray
|
||||
|
||||
Delete notification. This notification is produced when some subnetwork is
|
||||
deleted by invoking Delete method.
|
||||
|
||||
Delete
|
||||
- name: id
|
||||
type: ByteArray
|
||||
Delete
|
||||
- name: id
|
||||
type: ByteArray
|
||||
|
||||
RemoveNode notification. This notification is produced when some node is deleted
|
||||
by invoking RemoveNode method.
|
||||
|
||||
RemoveNode
|
||||
- name: subnetID
|
||||
type: ByteArray
|
||||
- name: node
|
||||
type: PublicKey
|
||||
RemoveNode
|
||||
- name: subnetID
|
||||
type: ByteArray
|
||||
- name: node
|
||||
type: PublicKey
|
||||
*/
|
||||
package subnet
|
||||
|
|
|
@ -1,13 +1,13 @@
|
|||
package subnet
|
||||
|
||||
import (
|
||||
"github.com/TrueCloudLab/frostfs-contract/common"
|
||||
"github.com/nspcc-dev/neo-go/pkg/interop"
|
||||
"github.com/nspcc-dev/neo-go/pkg/interop/contract"
|
||||
"github.com/nspcc-dev/neo-go/pkg/interop/iterator"
|
||||
"github.com/nspcc-dev/neo-go/pkg/interop/native/management"
|
||||
"github.com/nspcc-dev/neo-go/pkg/interop/runtime"
|
||||
"github.com/nspcc-dev/neo-go/pkg/interop/storage"
|
||||
"github.com/nspcc-dev/neofs-contract/common"
|
||||
)
|
||||
|
||||
const (
|
||||
|
|
|
@ -4,6 +4,8 @@ import (
|
|||
"path"
|
||||
"testing"
|
||||
|
||||
"github.com/TrueCloudLab/frostfs-contract/common"
|
||||
"github.com/TrueCloudLab/frostfs-contract/container"
|
||||
"github.com/nspcc-dev/neo-go/pkg/core/native/nativenames"
|
||||
"github.com/nspcc-dev/neo-go/pkg/core/native/noderoles"
|
||||
"github.com/nspcc-dev/neo-go/pkg/neotest"
|
||||
|
@ -11,8 +13,6 @@ import (
|
|||
"github.com/nspcc-dev/neo-go/pkg/vm"
|
||||
"github.com/nspcc-dev/neo-go/pkg/vm/stackitem"
|
||||
"github.com/nspcc-dev/neo-go/pkg/wallet"
|
||||
"github.com/nspcc-dev/neofs-contract/common"
|
||||
"github.com/nspcc-dev/neofs-contract/container"
|
||||
"github.com/stretchr/testify/require"
|
||||
)
|
||||
|
||||
|
|
|
@ -6,14 +6,14 @@ import (
|
|||
"path"
|
||||
"testing"
|
||||
|
||||
"github.com/TrueCloudLab/frostfs-contract/common"
|
||||
"github.com/TrueCloudLab/frostfs-contract/container"
|
||||
"github.com/TrueCloudLab/frostfs-contract/nns"
|
||||
"github.com/mr-tron/base58"
|
||||
"github.com/nspcc-dev/neo-go/pkg/encoding/address"
|
||||
"github.com/nspcc-dev/neo-go/pkg/neotest"
|
||||
"github.com/nspcc-dev/neo-go/pkg/util"
|
||||
"github.com/nspcc-dev/neo-go/pkg/vm/stackitem"
|
||||
"github.com/nspcc-dev/neofs-contract/common"
|
||||
"github.com/nspcc-dev/neofs-contract/container"
|
||||
"github.com/nspcc-dev/neofs-contract/nns"
|
||||
"github.com/stretchr/testify/require"
|
||||
)
|
||||
|
||||
|
|
|
@ -6,6 +6,7 @@ import (
|
|||
"sort"
|
||||
"testing"
|
||||
|
||||
"github.com/TrueCloudLab/frostfs-contract/neofs"
|
||||
"github.com/nspcc-dev/neo-go/pkg/core/native/nativenames"
|
||||
"github.com/nspcc-dev/neo-go/pkg/crypto/keys"
|
||||
"github.com/nspcc-dev/neo-go/pkg/neotest"
|
||||
|
@ -14,7 +15,6 @@ import (
|
|||
"github.com/nspcc-dev/neo-go/pkg/vm"
|
||||
"github.com/nspcc-dev/neo-go/pkg/vm/stackitem"
|
||||
"github.com/nspcc-dev/neo-go/pkg/wallet"
|
||||
"github.com/nspcc-dev/neofs-contract/neofs"
|
||||
"github.com/stretchr/testify/require"
|
||||
)
|
||||
|
||||
|
|
|
@ -6,13 +6,13 @@ import (
|
|||
"sort"
|
||||
"testing"
|
||||
|
||||
"github.com/TrueCloudLab/frostfs-contract/container"
|
||||
"github.com/mr-tron/base58"
|
||||
"github.com/nspcc-dev/neo-go/pkg/crypto/keys"
|
||||
"github.com/nspcc-dev/neo-go/pkg/encoding/address"
|
||||
"github.com/nspcc-dev/neo-go/pkg/neotest"
|
||||
"github.com/nspcc-dev/neo-go/pkg/util"
|
||||
"github.com/nspcc-dev/neo-go/pkg/vm/stackitem"
|
||||
"github.com/nspcc-dev/neofs-contract/container"
|
||||
"github.com/stretchr/testify/require"
|
||||
)
|
||||
|
||||
|
|
|
@ -7,14 +7,14 @@ import (
|
|||
"strings"
|
||||
"testing"
|
||||
|
||||
"github.com/TrueCloudLab/frostfs-contract/common"
|
||||
"github.com/TrueCloudLab/frostfs-contract/container"
|
||||
"github.com/TrueCloudLab/frostfs-contract/netmap"
|
||||
"github.com/nspcc-dev/neo-go/pkg/encoding/bigint"
|
||||
"github.com/nspcc-dev/neo-go/pkg/neotest"
|
||||
"github.com/nspcc-dev/neo-go/pkg/util"
|
||||
"github.com/nspcc-dev/neo-go/pkg/vm"
|
||||
"github.com/nspcc-dev/neo-go/pkg/vm/stackitem"
|
||||
"github.com/nspcc-dev/neofs-contract/common"
|
||||
"github.com/nspcc-dev/neofs-contract/container"
|
||||
"github.com/nspcc-dev/neofs-contract/netmap"
|
||||
"github.com/stretchr/testify/require"
|
||||
)
|
||||
|
||||
|
|
|
@ -8,10 +8,10 @@ import (
|
|||
"testing"
|
||||
"time"
|
||||
|
||||
"github.com/TrueCloudLab/frostfs-contract/nns"
|
||||
"github.com/nspcc-dev/neo-go/pkg/core/interop/storage"
|
||||
"github.com/nspcc-dev/neo-go/pkg/neotest"
|
||||
"github.com/nspcc-dev/neo-go/pkg/vm/stackitem"
|
||||
"github.com/nspcc-dev/neofs-contract/nns"
|
||||
"github.com/stretchr/testify/require"
|
||||
)
|
||||
|
||||
|
|
|
@ -5,12 +5,12 @@ import (
|
|||
"path"
|
||||
"testing"
|
||||
|
||||
"github.com/TrueCloudLab/frostfs-contract/common"
|
||||
"github.com/TrueCloudLab/frostfs-contract/subnet"
|
||||
"github.com/nspcc-dev/neo-go/pkg/neotest"
|
||||
"github.com/nspcc-dev/neo-go/pkg/util"
|
||||
"github.com/nspcc-dev/neo-go/pkg/vm"
|
||||
"github.com/nspcc-dev/neo-go/pkg/vm/stackitem"
|
||||
"github.com/nspcc-dev/neofs-contract/common"
|
||||
"github.com/nspcc-dev/neofs-contract/subnet"
|
||||
"github.com/stretchr/testify/require"
|
||||
)
|
||||
|
||||
|
|
|
@ -6,7 +6,7 @@ import (
|
|||
"strings"
|
||||
"testing"
|
||||
|
||||
"github.com/nspcc-dev/neofs-contract/common"
|
||||
"github.com/TrueCloudLab/frostfs-contract/common"
|
||||
"github.com/stretchr/testify/require"
|
||||
)
|
||||
|
||||
|
|
Loading…
Reference in a new issue