2021-07-07 15:34:03 +00:00
|
|
|
/*
|
2023-01-11 07:52:06 +00:00
|
|
|
Proxy contract is a contract deployed in FrostFS sidechain.
|
2021-07-07 15:34:03 +00:00
|
|
|
|
2022-04-14 11:56:51 +00:00
|
|
|
Proxy contract pays for all multisignature transaction executions when notary
|
|
|
|
service is enabled in the sidechain. Notary service prepares multisigned transactions,
|
|
|
|
however they should contain sidechain GAS to be executed. It is inconvenient to
|
2021-07-07 15:34:03 +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:34:03 +00:00
|
|
|
|
|
|
|
Proxy contract exists to solve this issue. While Alphabet contracts hold all
|
2022-04-14 11:56:51 +00:00
|
|
|
sidechain NEO, proxy contract holds most of the sidechain GAS. Alphabet
|
|
|
|
contracts emit half of the available GAS to the proxy contract. The address of the
|
|
|
|
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.
|
2021-07-07 15:34:03 +00:00
|
|
|
|
2022-12-12 19:59:13 +00:00
|
|
|
# Contract notifications
|
2021-07-07 15:34:03 +00:00
|
|
|
|
|
|
|
Proxy contract does not produce notifications to process.
|
2023-05-10 08:19:19 +00:00
|
|
|
|
|
|
|
# Contract storage scheme
|
|
|
|
|
|
|
|
Proxy contract does not use storage
|
2021-07-07 15:34:03 +00:00
|
|
|
*/
|
2021-07-04 11:08:37 +00:00
|
|
|
package proxy
|