Conversation
1d0fa2f to
33fcbda
Compare
Codecov Report❌ Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## master #531 +/- ##
==========================================
- Coverage 63.87% 63.32% -0.56%
==========================================
Files 24 25 +1
Lines 2655 2773 +118
==========================================
+ Hits 1696 1756 +60
- Misses 953 1011 +58
Partials 6 6 ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
Implementation of nspcc-dev/neofs-contract#531. Signed-off-by: Pavel Karpy <carpawell@nspcc.ru>
Implementation of nspcc-dev/neofs-contract#531. Signed-off-by: Pavel Karpy <carpawell@nspcc.ru>
4902125 to
416b710
Compare
416b710 to
28cfa44
Compare
contracts/balance/contract.go
Outdated
| } | ||
|
|
||
| func (t Token) transfer(ctx storage.Context, from, to interop.Hash160, amount int, innerRing bool, details []byte) bool { | ||
| func (t Token) _transfer(ctx storage.Context, from, to interop.Hash160, amount int, innerRing bool) bool { |
There was a problem hiding this comment.
It MUST emit Transfer event per NEP-17.
There was a problem hiding this comment.
idk, i thought we had talked about it. ok, returned.
There was a problem hiding this comment.
We talked about TransferX, that's a completely different thing that you can basically do whatever you want with. But balance is NEP-17 compatible so all token movements MUST produce Transfer event.
It will allow caching faults without panic from other contracts. Also, this make it closer to regular `Transfer`. Refs #493. Signed-off-by: Pavel Karpy <carpawell@nspcc.ru>
None of NEP-17 contracts do it. Signed-off-by: Pavel Karpy <carpawell@nspcc.ru>
Required for billing. Also returns API back changed after #527 to be fully compatible with 0.24.0 release. Signed-off-by: Pavel Karpy <carpawell@nspcc.ru>
This minimizes rounding error. Signed-off-by: Pavel Karpy <carpawell@nspcc.ru>
28cfa44 to
3b50ed5
Compare
Use generated RPC bindings where appropriate. Signed-off-by: Pavel Karpy <carpawell@nspcc.ru>
Contracts have all necessary information for payment distribution. From now, payments are done with `PayForContainer` method that must be multi-signed by actual Alphabet. Payments are done using actual storage reports, basic income rate and network epoch. If payment cannot be done, container is marked as an unpaid one, corresponding `IsUnpaid` method for storage nodes is also included. Closes #493. Signed-off-by: Pavel Karpy <carpawell@nspcc.ru>
3b50ed5 to
d6b31d3
Compare
| case r.LatestEpoch == currEpoch-1: | ||
| size = r.LatestEpochAverageSize | ||
| default: | ||
| size = 0 |
There was a problem hiding this comment.
yeah, i know, just for explicitness
Implementation of nspcc-dev/neofs-contract#531. Signed-off-by: Pavel Karpy <carpawell@nspcc.ru>
Implementation of nspcc-dev/neofs-contract#531. Signed-off-by: Pavel Karpy <carpawell@nspcc.ru>
Implementation of nspcc-dev/neofs-contract#531. Signed-off-by: Pavel Karpy <carpawell@nspcc.ru>
Implementation of nspcc-dev/neofs-contract#531. Signed-off-by: Pavel Karpy <carpawell@nspcc.ru>
Implementation of nspcc-dev/neofs-contract#531. Signed-off-by: Pavel Karpy <carpawell@nspcc.ru>
No description provided.