2021-07-07 15:33:53 +00:00
|
|
|
/*
|
2023-01-09 11:31:34 +00:00
|
|
|
Processing contract is a contract deployed in FrostFS mainchain.
|
2021-07-07 15:33:53 +00:00
|
|
|
|
2022-04-14 11:56:51 +00:00
|
|
|
Processing contract pays for all multisignature transaction executions when notary
|
|
|
|
service is enabled in the mainchain. Notary service prepares multisigned transactions,
|
|
|
|
however they should contain sidechain GAS to be executed. It is inconvenient to
|
2021-07-07 15:33:53 +00:00
|
|
|
ask Alphabet nodes to pay for these transactions: nodes can change over time,
|
2022-04-14 11:56:51 +00:00
|
|
|
some nodes will spend sidechain GAS faster. It leads to economic instability.
|
2021-07-07 15:33:53 +00:00
|
|
|
|
|
|
|
Processing contract exists to solve this issue. At the Withdraw invocation of
|
2023-01-09 11:31:34 +00:00
|
|
|
FrostFS contract, a user pays fee directly to this contract. This fee is used to
|
|
|
|
pay for Cheque invocation of FrostFS contract that returns mainchain GAS back
|
2022-04-14 11:56:51 +00:00
|
|
|
to the user. The address of the Processing contract is used as the first signer in
|
|
|
|
the multisignature transaction. Therefore, NeoVM executes Verify method of the
|
|
|
|
contract and if invocation is verified, Processing contract pays for the
|
2021-07-07 15:33:53 +00:00
|
|
|
execution.
|
|
|
|
|
2022-12-12 19:59:13 +00:00
|
|
|
# Contract notifications
|
2021-07-07 15:33:53 +00:00
|
|
|
|
|
|
|
Processing contract does not produce notifications to process.
|
2023-05-10 08:19:19 +00:00
|
|
|
|
|
|
|
# Contract storage scheme
|
|
|
|
|
2023-11-07 12:00:02 +00:00
|
|
|
| Key | Value | Description |
|
|
|
|
|-----------------------------|------------|----------------------------------|
|
|
|
|
| `frostfsScriptHash` | Hash160 | frostFS contract hash |
|
2021-07-07 15:33:53 +00:00
|
|
|
*/
|
2021-07-04 11:08:37 +00:00
|
|
|
package processing
|