forked from TrueCloudLab/frostfs-contract
27 lines
2.3 KiB
Go
27 lines
2.3 KiB
Go
// Package frostfsid
|
|
/*
|
|
FrostFSID contract is a contract deployed in FrostFS sidechain.
|
|
|
|
# Contract notifications
|
|
|
|
FrostFSID contract does not produce notifications to process.
|
|
|
|
# Contract storage scheme
|
|
|
|
| Key | Value | Description |
|
|
|------------------------------------------------------------------------------|--------------------------------|-----------------------------------------------|
|
|
| `o` + [ owner address ] | []byte{1} | contract owners that can invoke write methods |
|
|
| `s` + [ subject address ] | Serialized Subject structure | subject into |
|
|
| `a` + [ pk address ] + [ subject address ] | []byte{1} | link extra public keys for subject |
|
|
| `n` + [ RIPEMD160 of namespace ] | Serialized Namespace structure | namespace info |
|
|
| `N` + [ RIPEMD160 of namespace ] + [ subject address ] | []byte{1} | subject that belongs to the namespace |
|
|
| `l` + [ RIPEMD160 of namespace ] + [ RIPEMD160 of subject name ] | Subject public key | subject name to public key index |
|
|
| `g` + [ RIPEMD160 of namespace ] + [ 8 byte group id ] | Serialized Group structure | group into |
|
|
| `G` + [ RIPEMD160 of namespace ] + [ 8 byte group id ] + [ subject address ] | []byte{1} | subject that belongs to the group |
|
|
| `c` | Int | group id counter |
|
|
| `m` + [ RIPEMD160 of namespace ] + [ RIPEMD160 of subject name ] | Serialized group id int | group name to group id index |
|
|
| `A` + [ subject address ] | bool | means that the wallet has been used |
|
|
|
|
|
|
*/
|
|
package frostfsid
|