/* NeoFS contract is a contract deployed in NeoFS main chain. NeoFS contract is an entry point to NeoFS users. This contract stores all NeoFS related GAS, registers new Inner Ring candidates and produces notifications to control side chain. While main chain committee controls list of Alphabet nodes in native RoleManagement contract, NeoFS can't change more than 1\3 keys at a time. NeoFS contract contains actual list of Alphabet nodes in the side chain. Network configuration also stored in NeoFS contract. All the changes in configuration are mirrored in side chain with 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 side chain. Deposit: - name: from type: Hash160 - name: amount type: Integer - name: receiver type: Hash160 - name: txHash type: Hash256 Withdraw notification. This notification is produced when user wants to withdraw GAS from internal NeoFS balance and has payed fee for that. Withdraw: - name: user type: Hash160 - name: amount type: Integer - name: txHash type: Hash256 Cheque notification. This notification is produced when NeoFS contract 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 Bind notification. This notification is produced when user wants to bind public keys with user account (OwnerID). Keys argument is array of ByteArray. Bind: - name: user type: ByteArray - name: keys type: Array Unbind notification. This notification is produced when user wants to unbind public keys with user account (OwnerID). Keys argument is an array of ByteArray. Unbind: - name: user type: ByteArray - name: keys type: Array AlphabetUpdate notification. This notification is produced when Alphabet nodes updated it's list 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 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 */ package neofs