Remove Tarjan - #576
Remove Tarjan#576
Conversation
Codecov Report❌ Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## master #576 +/- ##
==========================================
- Coverage 85.80% 85.60% -0.20%
==========================================
Files 44 41 -3
Lines 2868 2599 -269
Branches 400 337 -63
==========================================
- Hits 2461 2225 -236
+ Misses 323 287 -36
- Partials 84 87 +3 ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
Jim8y
left a comment
There was a problem hiding this comment.
One small ReferenceCounter edge case should be fixed before merging.
Signed-off-by: Anna Shaleva <shaleva.ann@nspcc.ru>
Follow ApplicationEngine style, no functional changes. Signed-off-by: Anna Shaleva <shaleva.ann@nspcc.ru>
This property is not needd anymore since there's a single IReferenceCounter implementation. Signed-off-by: Anna Shaleva <shaleva.ann@nspcc.ru>
No functional changes. Signed-off-by: Anna Shaleva <shaleva.ann@nspcc.ru>
c7102cb to
fc82714
Compare
Jim8y
left a comment
There was a problem hiding this comment.
Looks good to me after the update. The bulk AddStackReference case is covered now.
shargon
left a comment
There was a problem hiding this comment.
@superboyiii could you check states with this patch?
Sure |
I just realized that we need an update of the Neo core itself for this PR, will push an update ASAP. |
shargon
left a comment
There was a problem hiding this comment.
Waiting for @superboyiii for merge
Co-authored-by: Alvaro <amjarag@gmail.com>
|
@shargon @AnnaShaleva {"block":889076,"size":11,"storage":[{"id":-6,"state":"Changed","key":"\u002Bv///xREWymRAmRxj6ULIHl4XLVbucUjIw==","value":"QQEhBfeuYL4E"},{"id":-6,"state":"Changed","key":"\u002Bv///ws=","value":"/L2WBhErEw=="},{"id":-6,"state":"Changed","key":"\u002Bv///xRlCbXNcHfy9\u002B\u002BG5hB0Hg7wf7eZLg==","value":"QQEhBda5fb8M"},{"id":-6,"state":"Changed","key":"\u002Bv///xRG9tpaehSZUFCu7uiPMgoss5PPQA==","value":"QQEhBsoW2dXlAQ=="},{"id":85,"state":"Added","key":"VQAAAGJldFJvbGxvdmVygAA=","value":""},{"id":85,"state":"Added","key":"VQAAAGFyZW5hSGVpZ2h0gAA=","value":"AQ=="},{"id":85,"state":"Added","key":"VQAAAGhpc3RvcnmAAAE=","value":"QQohAQFAgEEGKBQuJ/lhLjkkrDGkB7cKFjw62JKZqCgU1uVwEsi/yViLqgSQtaWcwLdOvb4oAzEzMCgFTWV0YWwhAQIhBlfbAzt\u002BAUEGKBQlLmBG4QhpA9TzyK0QkuTU3/O6YygU1uVwEsi/yViLqgSQtaWcwLdOvb4oAzI3MSgFRWFydGghAQkhBu/CjEV\u002BAUEGKBTQuYmRlWWsbCRyjitWlkZflc2hzCgU1uVwEsi/yViLqgSQtaWcwLdOvb4oAzI0OSgERGFyayEBASEGiOEjRX4BQQYoFEvnx7126lPuWw0rXR4AmK3FyeLKKBTW5XASyL/JWIuqBJC1pZzAt069vigDMTcwKAVNZXRhbCEBASEGX/aTNn4BQQYoFI5y\u002Bi6pWjNKw3sS00I80ZjmaDknKBTW5XASyL/JWIuqBJC1pZzAt069vigDMjc3KAVFYXJ0aCEBBCEGVeipRX4BQQYoFIxWWcdA4uo9lmRQ1z6Ku7Kip8qNKBTW5XASyL/JWIuqBJC1pZzAt069vigDMjQ0KAVNZXRhbCEBASEGuMKrRH4BQQYoFCvQqZvCYJ6OKxOsEvsbT9xV214\u002BKBTW5XASyL/JWIuqBJC1pZzAt069vigDMjMwKAVXYXRlciEBASEGcSI0On4BQQYoFNC5iZGVZaxsJHKOK1aWRl\u002BVzaHMKBTW5XASyL/JWIuqBJC1pZzAt069vigCNjMoBUxpZ2h0IQEDIQaU8RhFfgFBBigUCORWYyShkyxR130VNy6TO1EmUxsoFNblcBLIv8lYi6oEkLWlnMC3Tr2\u002BKAMxNTEoBVdhdGVyIQECIQZ5Gs86fgFBBigUJS5gRuEIaQPU88itEJLk1N/zumMoFNblcBLIv8lYi6oEkLWlnMC3Tr2\u002BKAMxMjEoBVdhdGVyIQEDIQaq15M9fgFBBigUJS5gRuEIaQPU88itEJLk1N/zumMoFNblcBLIv8lYi6oEkLWlnMC3Tr2\u002BKAMxMTEoBERhcmshAQMhBppFjz1\u002BAUEGKBRParjmRYyZTh87DXqhG1ZEp7XedCgU1uVwEsi/yViLqgSQtaWcwLdOvb4oAzE5MCgEV29vZCEBAyEGzrIvKn4BQQYoFByYxgUSGOeS4QW2sV7iQ6EquPVGKBTW5XASyL/JWIuqBJC1pZzAt069vigCMzAoBU1ldGFsIQEDIQZmWEgnfgFBBigUJS5gRuEIaQPU88itEJLk1N/zumMoFNblcBLIv8lYi6oEkLWlnMC3Tr2\u002BKAMxMzgoBU1ldGFsIQEFIQZcrps9fgFBBigU759Te6sa1DO6FKPDoajfWvoBHcooFNblcBLIv8lYi6oEkLWlnMC3Tr2\u002BKAMyNjEoBFdvb2QhAQghBvrUZkV\u002BAUEGKBT6h/EAdiBbygyDkc3MIMLYKdmfmigU1uVwEsi/yViLqgSQtaWcwLdOvb4oAjk1KAVNZXRhbCEBCiEGlzb5MH4BQQYoFNwkOyGhO6pGoBNjNoSpFY51pme6KBTW5XASyL/JWIuqBJC1pZzAt069vigDMjU0KARXb29kIQEFIQbko0ZFfgFBBigUaO4cxyJWZA67Y8QUngRNE5RF4c0oFNblcBLIv8lYi6oEkLWlnMC3Tr2\u002BKAMyMjUoBUVhcnRoIQEBIQZdXvI2fgFBBigUp7TraGQXMRwlZbxGyOAOHQpKlKAoFNblcBLIv8lYi6oEkLWlnMC3Tr2\u002BKAMxMDMoBEZpcmUhAQEhBjguVix\u002BAUEGKBRo7hzHIlZkDrtjxBSeBE0TlEXhzSgU1uVwEsi/yViLqgSQtaWcwLdOvb4oAzIyOCgERGFyayEBCSEGHd39Nn4BQQYoFNC5iZGVZaxsJHKOK1aWRl\u002BVzaHMKBTW5XASyL/JWIuqBJC1pZzAt069vigCNjgoBEZpcmUhAQkhBppvG0V\u002BAUEGKBRbBM7uTLoR9\u002B9Z6AGrWUDq0Uc6DCgU1uVwEsi/yViLqgSQtaWcwLdOvb4oAzI0OCgEV29vZCEBByEGPXMSRX4BQQYoFKe062hkFzEcJWW8RsjgDh0KSpSgKBTW5XASyL/JWIuqBJC1pZzAt069vigDMjgxKARXb29kIQEJIQanSulFfgFBBigUK9Cpm8Jgno4rE6wS\u002BxtP3FXbXj4oFNblcBLIv8lYi6oEkLWlnMC3Tr2\u002BKAI3MigFRWFydGghAQEhBmIY\u002BSh\u002BAUEGKBRMAh734XTqKRQehZBg0tTzMmMG\u002BygU1uVwEsi/yViLqgSQtaWcwLdOvb4oAzIzNigFTWV0YWwhAQchBpuAzz9\u002BAUEGKBQcmMYFEhjnkuEFtrFe4kOhKrj1RigU1uVwEsi/yViLqgSQtaWcwLdOvb4oAjI3KAVXYXRlciEBAyEGe5Y9J34BQQYoFPy2c14W8MbxXO4ocHhj76u\u002B0w4rKBTW5XASyL/JWIuqBJC1pZzAt069vigDMTk1KAREYXJrIQEBIQbsVhEsfgFBBigUJS5gRuEIaQPU88itEJLk1N/zumMoFNblcBLIv8lYi6oEkLWlnMC3Tr2\u002BKAMxNDAoBU1ldGFsIQEBIQbHM5w9fgFBBigUJS5gRuEIaQPU88itEJLk1N/zumMoFNblcBLIv8lYi6oEkLWlnMC3Tr2\u002BKAMxMTQoBFdvb2QhAQUhBqH1kT1\u002BAUEGKBSntOtoZBcxHCVlvEbI4A4dCkqUoCgU1uVwEsi/yViLqgSQtaWcwLdOvb4oAzEwNygERmlyZSEBCSEGOC5WLH4BQQYoFKe062hkFzEcJWW8RsjgDh0KSpSgKBTW5XASyL/JWIuqBJC1pZzAt069vigDMTA1KAVFYXJ0aCEBCiEGru9VLH4BQQYoFKe062hkFzEcJWW8RsjgDh0KSpSgKBTW5XASyL/JWIuqBJC1pZzAt069vigDMTA0KAVXYXRlciEBASEGru9VLH4BQQYoFDk9pyTsEWtIHcnB4IIQUuEmum5YKBTW5XASyL/JWIuqBJC1pZzAt069vigDMTAyKAVNZXRhbCEBBiEGKmvwMX4BQQYoFKe062hkFzEcJWW8RsjgDh0KSpSgKBTW5XASyL/JWIuqBJC1pZzAt069vigDMTA2KAVNZXRhbCEBAyEGOC5WLH4BQQYoFEvnx7126lPuWw0rXR4AmK3FyeLKKBTW5XASyL/JWIuqBJC1pZzAt069vigDMTA4KAREYXJrIQEJIQY6qxUrfgFBBigUJS5gRuEIaQPU88itEJLk1N/zumMoFNblcBLIv8lYi6oEkLWlnMC3Tr2\u002BKAMxMTAoBERhcmshAQEhBvsRjj1\u002BAUEGKBQlLmBG4QhpA9TzyK0QkuTU3/O6YygU1uVwEsi/yViLqgSQtaWcwLdOvb4oAzExMigEV29vZCEBCSEGkvuPPX4BQQYoFCUuYEbhCGkD1PPIrRCS5NTf87pjKBTW5XASyL/JWIuqBJC1pZzAt069vigDMTEzKAVNZXRhbCEBASEGPHWRPX4BQQYoFCUuYEbhCGkD1PPIrRCS5NTf87pjKBTW5XASyL/JWIuqBJC1pZzAt069vigDMTE1KAVMaWdodCEBBSEGVaaSPX4BQQYoFCUuYEbhCGkD1PPIrRCS5NTf87pjKBTW5XASyL/JWIuqBJC1pZzAt069vigDMTE4KAVXYXRlciEBBCEGmyOTPX4BQQYoFCUuYEbhCGkD1PPIrRCS5NTf87pjKBTW5XASyL/JWIuqBJC1pZzAt069vigDMTI1KAVNZXRhbCEBCSEGwgyWPX4BQQYoFCUuYEbhCGkD1PPIrRCS5NTf87pjKBTW5XASyL/JWIuqBJC1pZzAt069vigDMTI2KAVFYXJ0aCEBBiEGAoqXPX4BQQYoFCUuYEbhCGkD1PPIrRCS5NTf87pjKBTW5XASyL/JWIuqBJC1pZzAt069vigDMTI3KAVXYXRlciEBBiEGiAKYPX4BQQYoFCUuYEbhCGkD1PPIrRCS5NTf87pjKBTW5XASyL/JWIuqBJC1pZzAt069vigDMTI4KARGaXJlIQEBIQaig5k9fgFBBigULif5YS45JKwxpAe3ChY8OtiSmagoFNblcBLIv8lYi6oEkLWlnMC3Tr2\u002BKAMxMzEoBUVhcnRoIQEHIQarif86fgFBBigUJS5gRuEIaQPU88itEJLk1N/zumMoFNblcBLIv8lYi6oEkLWlnMC3Tr2\u002BKAMxMzMoBUVhcnRoIQEJIQYaQZo9fgFBBigUJS5gRuEIaQPU88itEJLk1N/zumMoFNblcBLIv8lYi6oEkLWlnMC3Tr2\u002BKAMxMzQoBERhcmshAQohBhb6mj1\u002BAUEGKBQlLmBG4QhpA9TzyK0QkuTU3/O6YygU1uVwEsi/yViLqgSQtaWcwLdOvb4oAzE0MSgFV2F0ZXIhAQkhBvmsnD1\u002BAUEGKBQlLmBG4QhpA9TzyK0QkuTU3/O6YygU1uVwEsi/yViLqgSQtaWcwLdOvb4oAzE0MigFTWV0YWwhAQghBvYlnT1\u002BAUEGKBQI5FZjJKGTLFHXfRU3LpM7USZTGygU1uVwEsi/yViLqgSQtaWcwLdOvb4oAzE1MCgERmlyZSEBBiEGZ1N7On4BQQYoFAjkVmMkoZMsUdd9FTcukztRJlMbKBTW5XASyL/JWIuqBJC1pZzAt069vigDMTUyKAVXYXRlciEBByEGdVbPOn4BQQYoFAjkVmMkoZMsUdd9FTcukztRJlMbKBTW5XASyL/JWIuqBJC1pZzAt069vigDMTUzKARXb29kIQEFIQaq3846fgFBBigUCORWYyShkyxR130VNy6TO1EmUxsoFNblcBLIv8lYi6oEkLWlnMC3Tr2\u002BKAMxNTQoBERhcmshAQchBnVWzzp\u002BAUEGKBQI5FZjJKGTLFHXfRU3LpM7USZTGygU1uVwEsi/yViLqgSQtaWcwLdOvb4oAzE1NSgEV29vZCEBBSEGdVbPOn4BQQYoFAjkVmMkoZMsUdd9FTcukztRJlMbKBTW5XASyL/JWIuqBJC1pZzAt069vigDMTU2KARGaXJlIQEEIQZ5Gs86fgFBBigUCORWYyShkyxR130VNy6TO1EmUxsoFNblcBLIv8lYi6oEkLWlnMC3Tr2\u002BKAMxNTcoBERhcmshAQohBqrfzjp\u002BAUEGKBTvn1N7qxrUM7oUo8OhqN9a\u002BgEdyigU1uVwEsi/yViLqgSQtaWcwLdOvb4oAzE1OCgFV2F0ZXIhAQEhBgR\u002BOD5\u002BAUEGKBSwtn0SniR9/feGD/OfKP4bvvfceigU1uVwEsi/yViLqgSQtaWcwLdOvb4oAzE2MygERmlyZSEBCSEG/MnDQH4BQQYoFP9K9ILvEvKU50RmviHuSqyajAdTKBTW5XASyL/JWIuqBJC1pZzAt069vigDMTY1KAVFYXJ0aCEBASEGphyKOH4BQQYoFEvnx7126lPuWw0rXR4AmK3FyeLKKBTW5XASyL/JWIuqBJC1pZzAt069vigDMTcxKARXb29kIQEBIQa4fpM2fgFBBigU0LmJkZVlrGwkco4rVpZGX5XNocwoFNblcBLIv8lYi6oEkLWlnMC3Tr2\u002BKAMxNzMoBVdhdGVyIQEDIQa5Og1FfgFBBigU0LmJkZVlrGwkco4rVpZGX5XNocwoFNblcBLIv8lYi6oEkLWlnMC3Tr2\u002BKAMxNzQoBVdhdGVyIQEHIQbsZiNFfgFBBigU0LmJkZVlrGwkco4rVpZGX5XNocwoFNblcBLIv8lYi6oEkLWlnMC3Tr2\u002BKAMxNzUoBFdvb2QhAQIhBpeqG0V\u002BAUEGKBQ4OXgpXei4MOCc5NJtgrPC7rj85CgU1uVwEsi/yViLqgSQtaWcwLdOvb4oAzE4MCgERGFyayEBCSEG4AqjKH4BQQYoFPy2c14W8MbxXO4ocHhj76u\u002B0w4rKBTW5XASyL/JWIuqBJC1pZzAt069vigDMTk0KAVFYXJ0aCEBBSEGMxgSLH4BQQYoFHoRMP4DV5wbI2o15f2t4JZL9v/AKBTW5XASyL/JWIuqBJC1pZzAt069vigDMTk5KAVFYXJ0aCEBASEGUuYhKX4BQQYoFByYxgUSGOeS4QW2sV7iQ6EquPVGKBTW5XASyL/JWIuqBJC1pZzAt069vigCMjEoBUVhcnRoIQEJIQZ7lj0nfgFBBigU9KZvWck3Cn41vw0bGf4880zFA3koFNblcBLIv8lYi6oEkLWlnMC3Tr2\u002BKAMyMTIoBFdvb2QhAQchBhHh\u002BjJ\u002BAUEGKBRo7hzHIlZkDrtjxBSeBE0TlEXhzSgU1uVwEsi/yViLqgSQtaWcwLdOvb4oAzIyNCgFTWV0YWwhAQUhBiSg8jZ\u002BAUEGKBRo7hzHIlZkDrtjxBSeBE0TlEXhzSgU1uVwEsi/yViLqgSQtaWcwLdOvb4oAzIyNigFRWFydGghAQchBl1e8jZ\u002BAUEGKBRo7hzHIlZkDrtjxBSeBE0TlEXhzSgU1uVwEsi/yViLqgSQtaWcwLdOvb4oAzIyNygFTWV0YWwhAQQhBvIX/jZ\u002BAUEGKBQg7g/fzBm0Ohdsb/AIiHLnd87DWigU1uVwEsi/yViLqgSQtaWcwLdOvb4oAzIyOSgFRWFydGghAQEhBmNWhTd\u002BAUEGKBQr0KmbwmCejisTrBL7G0/cVdtePigU1uVwEsi/yViLqgSQtaWcwLdOvb4oAzIzMSgFTWV0YWwhAQUhBnEiNDp\u002BAUEGKBQr0KmbwmCejisTrBL7G0/cVdtePigU1uVwEsi/yViLqgSQtaWcwLdOvb4oAzIzMigEV29vZCEBASEGcSI0On4BQQYoFBFBjHrYzFKECY9ygtPTqcZCPDfGKBTW5XASyL/JWIuqBJC1pZzAt069vigDMjMzKAREYXJrIQEBIQaHD/Q7fgFBBigUK9Cpm8Jgno4rE6wS\u002BxtP3FXbXj4oFNblcBLIv8lYi6oEkLWlnMC3Tr2\u002BKAMyMzQoBU1ldGFsIQEHIQZtLsY8fgFBBigU3lpMtK3xclpfvIqm6eCjGyQ28V0oFNblcBLIv8lYi6oEkLWlnMC3Tr2\u002BKAMyMzcoBUVhcnRoIQEGIQb3CMdBfgFBBigU3lpMtK3xclpfvIqm6eCjGyQ28V0oFNblcBLIv8lYi6oEkLWlnMC3Tr2\u002BKAMyMzgoBU1ldGFsIQEBIQZti8dBfgFBBigU3lpMtK3xclpfvIqm6eCjGyQ28V0oFNblcBLIv8lYi6oEkLWlnMC3Tr2\u002BKAMyMzkoBFdvb2QhAQkhBuC\u002BykF\u002BAUEGKBQcmMYFEhjnkuEFtrFe4kOhKrj1RigU1uVwEsi/yViLqgSQtaWcwLdOvb4oAjI0KAVMaWdodCEBCSEGe5Y9J34BQQYoFNgCTYDQSXMMw82fkl1tVpZeCV4RKBTW5XASyL/JWIuqBJC1pZzAt069vigDMjQxKAVNZXRhbCEBBiEG2p\u002BSRH4BQQYoFIxWWcdA4uo9lmRQ1z6Ku7Kip8qNKBTW5XASyL/JWIuqBJC1pZzAt069vigDMjQyKAVNZXRhbCEBBSEGoHiqRH4BQQYoFIxWWcdA4uo9lmRQ1z6Ku7Kip8qNKBTW5XASyL/JWIuqBJC1pZzAt069vigDMjQzKAVFYXJ0aCEBASEGWf\u002BqRH4BQQYoFLsd\u002B9qSBhIBk/XyulJqj6M7tJBHKBTW5XASyL/JWIuqBJC1pZzAt069vigDMjQ1KARXb29kIQEIIQbFbOtEfgFBBigUWwTO7ky6EffvWegBq1lA6tFHOgwoFNblcBLIv8lYi6oEkLWlnMC3Tr2\u002BKAMyNDcoBFdvb2QhAQUhBmU3EUV\u002BAUEGKBQcmMYFEhjnkuEFtrFe4kOhKrj1RigU1uVwEsi/yViLqgSQtaWcwLdOvb4oAjI1KAVXYXRlciEBCSEGe5Y9J34BQQYoFNC5iZGVZaxsJHKOK1aWRl\u002BVzaHMKBTW5XASyL/JWIuqBJC1pZzAt069vigDMjUwKAREYXJrIQEFIQZwpSNFfgFBBigU3CQ7IaE7qkagE2M2hKkVjnWmZ7ooFNblcBLIv8lYi6oEkLWlnMC3Tr2\u002BKAMyNTEoBVdhdGVyIQEJIQbQrEVFfgFBBigU3CQ7IaE7qkagE2M2hKkVjnWmZ7ooFNblcBLIv8lYi6oEkLWlnMC3Tr2\u002BKAMyNTIoBEZpcmUhAQUhBihdR0V\u002BAUEGKBTcJDshoTuqRqATYzaEqRWOdaZnuigU1uVwEsi/yViLqgSQtaWcwLdOvb4oAzI1MygFV2F0ZXIhAQkhBjUiR0V\u002BAUEGKBTcJDshoTuqRqATYzaEqRWOdaZnuigU1uVwEsi/yViLqgSQtaWcwLdOvb4oAzI1NSgEV29vZCEBASEG6ixGRX4BQQYoFNwkOyGhO6pGoBNjNoSpFY51pme6KBTW5XASyL/JWIuqBJC1pZzAt069vigDMjU2KAVNZXRhbCEBAyEGN0VrRX4BQQYoFNwkOyGhO6pGoBNjNoSpFY51pme6KBTW5XASyL/JWIuqBJC1pZzAt069vigDMjU3KAVFYXJ0aCEBAyEGe41rRX4BQQYoFNwkOyGhO6pGoBNjNoSpFY51pme6KBTW5XASyL/JWIuqBJC1pZzAt069vigDMjU4KAREYXJrIQEBIQbCSm1FfgFBBigU759Te6sa1DO6FKPDoajfWvoBHcooFNblcBLIv8lYi6oEkLWlnMC3Tr2\u002BKAMyNTkoBERhcmshAQkhBjdYZUV\u002BAUEGKBTcJDshoTuqRqATYzaEqRWOdaZnuigU1uVwEsi/yViLqgSQtaWcwLdOvb4oAzI2MCgEV29vZCEBASEGoYVtRX4BQQYoFJR/l4Sjr99j3UYTnrOhc8Iwmmk/KBTW5XASyL/JWIuqBJC1pZzAt069vigDMjYyKARGaXJlIQEBIQYY2H9FfgFBBigUlH\u002BXhKOv32PdRhOes6FzwjCaaT8oFNblcBLIv8lYi6oEkLWlnMC3Tr2\u002BKAMyNjMoBUVhcnRoIQEDIQachmxFfgFBBigUlH\u002BXhKOv32PdRhOes6FzwjCaaT8oFNblcBLIv8lYi6oEkLWlnMC3Tr2\u002BKAMyNjQoBUxpZ2h0IQEHIQZ7jWtFfgFBBigU3CQ7IaE7qkagE2M2hKkVjnWmZ7ooFNblcBLIv8lYi6oEkLWlnMC3Tr2\u002BKAMyNjUoBUxpZ2h0IQEFIQZe/21FfgFBBigUFoVDB\u002Btx\u002B2rpKAFuifJsuwdlm6coFNblcBLIv8lYi6oEkLWlnMC3Tr2\u002BKAMyNjYoBERhcmshAQkhBi1230V\u002BAUEGKBQWhUMH63H7aukoAW6J8my7B2WbpygU1uVwEsi/yViLqgSQtaWcwLdOvb4oAzI2NygFV2F0ZXIhAQEhBhlH3kV\u002BAUEGKBQWhUMH63H7aukoAW6J8my7B2WbpygU1uVwEsi/yViLqgSQtaWcwLdOvb4oAzI2OCgFRWFydGghAQkhBse83kV\u002BAUEGKBQlLmBG4QhpA9TzyK0QkuTU3/O6YygU1uVwEsi/yViLqgSQtaWcwLdOvb4oAzI3MCgFV2F0ZXIhAQchBuVAjEV\u002BAUEGKBQlLmBG4QhpA9TzyK0QkuTU3/O6YygU1uVwEsi/yViLqgSQtaWcwLdOvb4oAzI3MygEV29vZCEBByEGwoCNRX4BQQYoFCUuYEbhCGkD1PPIrRCS5NTf87pjKBTW5XASyL/JWIuqBJC1pZzAt069vigDMjc0KAVNZXRhbCEBBCEGSYCORX4BQQYoFCUuYEbhCGkD1PPIrRCS5NTf87pjKBTW5XASyL/JWIuqBJC1pZzAt069vigDMjc1KARXb29kIQEGIQZ8OI9FfgFBBigUjFZZx0Di6j2WZFDXPoq7sqKnyo0oFNblcBLIv8lYi6oEkLWlnMC3Tr2\u002BKAMyNzYoBU1ldGFsIQEBIQY6EZhFfgFBBigUS\u002BfHvXbqU\u002B5bDStdHgCYrcXJ4sooFNblcBLIv8lYi6oEkLWlnMC3Tr2\u002BKAMyNzgoBERhcmshAQMhBmwxrEV\u002BAUEGKBRL58e9dupT7lsNK10eAJitxcniyigU1uVwEsi/yViLqgSQtaWcwLdOvb4oAzI3OSgERGFyayEBBiEGg2uvRX4BQQYoFByYxgUSGOeS4QW2sV7iQ6EquPVGKBTW5XASyL/JWIuqBJC1pZzAt069vigCMjgoBERhcmshAQchBmZYSCd\u002BAUEGKBSntOtoZBcxHCVlvEbI4A4dCkqUoCgU1uVwEsi/yViLqgSQtaWcwLdOvb4oAzI4MCgFV2F0ZXIhAQkhBofJ6EV\u002BAUEGKBSntOtoZBcxHCVlvEbI4A4dCkqUoCgU1uVwEsi/yViLqgSQtaWcwLdOvb4oAzI4MigFTGlnaHQhAQEhBnSF6UV\u002BAUEGKBQlBehCgH\u002BfnxpUrD03nrL67DbBHigU1uVwEsi/yViLqgSQtaWcwLdOvb4oAzI4MygFTGlnaHQhAQUhBn6N50V\u002BAUEGKBSntOtoZBcxHCVlvEbI4A4dCkqUoCgU1uVwEsi/yViLqgSQtaWcwLdOvb4oAzI4NCgFTGlnaHQhAQEhBu4F6kV\u002BAUEGKBQcmMYFEhjnkuEFtrFe4kOhKrj1RigU1uVwEsi/yViLqgSQtaWcwLdOvb4oAjUxKARXb29kIQEBIQYEG0gnfgFBBigUHJjGBRIY55LhBbaxXuJDoSq49UYoFNblcBLIv8lYi6oEkLWlnMC3Tr2\u002BKAI1NigEV29vZCEBBCEGBBtIJ34BQQYoFByYxgUSGOeS4QW2sV7iQ6EquPVGKBTW5XASyL/JWIuqBJC1pZzAt069vigCNTcoBERhcmshAQEhBgQbSCd\u002BAUEGKBQcmMYFEhjnkuEFtrFe4kOhKrj1RigU1uVwEsi/yViLqgSQtaWcwLdOvb4oAjYyKAREYXJrIQEBIQYEG0gnfgFBBigU0LmJkZVlrGwkco4rVpZGX5XNocwoFNblcBLIv8lYi6oEkLWlnMC3Tr2\u002BKAI2NCgERGFyayEBCCEGYJ8hRX4BQQYoFNC5iZGVZaxsJHKOK1aWRl\u002BVzaHMKBTW5XASyL/JWIuqBJC1pZzAt069vigCNjYoBERhcmshAQEhBs\u002B\u002BDEV\u002BAUEGKBTQuYmRlWWsbCRyjitWlkZflc2hzCgU1uVwEsi/yViLqgSQtaWcwLdOvb4oAjY5KAVFYXJ0aCEBAyEGm9YFRX4BQQYoFNC5iZGVZaxsJHKOK1aWRl\u002BVzaHMKBTW5XASyL/JWIuqBJC1pZzAt069vigCNzAoBERhcmshAQMhBkp8BEV\u002BAUEGKBRL58e9dupT7lsNK10eAJitxcniyigU1uVwEsi/yViLqgSQtaWcwLdOvb4oAjgzKAREYXJrIQEFIQabPZM2fgFBBigUHJjGBRIY55LhBbaxXuJDoSq49UYoFNblcBLIv8lYi6oEkLWlnMC3Tr2\u002BKAE5KAVNZXRhbCEBASEGBBtIJ34BQQYoFNYZdtFPyRw6\u002BNMSo3gNTFKIiEbLKBTW5XASyL/JWIuqBJC1pZzAt069vigCOTMoBEZpcmUhAQkhBitTnUV\u002BAUEGKBTwuT0D7dDGjhzNNdbir9W38PRnaCgU1uVwEsi/yViLqgSQtaWcwLdOvb4oAjk0KAVXYXRlciEBASEGEjk7P34BQQYoFGjuHMciVmQOu2PEFJ4ETROUReHNKBTW5XASyL/JWIuqBJC1pZzAt069vigCOTgoBUxpZ2h0IQEJIQbk0qssfgEoAzI2NCEFk7u1mgAhACEAIQAhACEAIQZjCftFfgE="},{"id":26,"state":"Changed","key":"GgAAAAEBZQm1zXB38vfvhuYQdB4O8H\u002B3mS4=","value":"YUWq73XlAA=="},{"id":26,"state":"Changed","key":"GgAAAAEBexuMFivr4zwfu52d5toDTloHje0=","value":"46/AmXM="},{"id":26,"state":"Changed","key":"GgAAAAEBSP9U2y6o8n9bMx9bjhVFVhFGjww=","value":"DMRjvBcE"},{"id":-6,"state":"Changed","key":"\u002Bv///xQaZKQRWSWZUbJfVQkpqOZRRYo08w==","value":"QQEhBYsJg8QL"}]}Current: {"block":889076,"size":8,"storage":[{"id":-6,"state":"Changed","key":"\u002Bv///xREWymRAmRxj6ULIHl4XLVbucUjIw==","value":"QQEhBfeuYL4E"},{"id":-6,"state":"Changed","key":"\u002Bv///ws=","value":"/L2WBhErEw=="},{"id":-6,"state":"Changed","key":"\u002Bv///xRlCbXNcHfy9\u002B\u002BG5hB0Hg7wf7eZLg==","value":"QQEhBda5fb8M"},{"id":-6,"state":"Changed","key":"\u002Bv///xRG9tpaehSZUFCu7uiPMgoss5PPQA==","value":"QQEhBsoW2dXlAQ=="},{"id":26,"state":"Changed","key":"GgAAAAEBZQm1zXB38vfvhuYQdB4O8H\u002B3mS4=","value":"YUWq73XlAA=="},{"id":26,"state":"Changed","key":"GgAAAAEBexuMFivr4zwfu52d5toDTloHje0=","value":"46/AmXM="},{"id":26,"state":"Changed","key":"GgAAAAEBSP9U2y6o8n9bMx9bjhVFVhFGjww=","value":"DMRjvBcE"},{"id":-6,"state":"Changed","key":"\u002Bv///xQaZKQRWSWZUbJfVQkpqOZRRYo08w==","value":"QQEhBYsJg8QL"}]}These states from the contract |
It's something unexpected, because this PR doesn't introduce any new functionality comparing to #564. It just removes an unused code. I will check. |
|
Investigation conclusion from Opus4.7 Why This Specific Block Trips the DifferenceLooking at the missing
That single value contains roughly ~900 StackItems. The default The transaction at block 889076 is the first one that:
Under V1, the temporary subtrees that lose their last stack reference are swept by Under V2, every push of that ~900-item tree adds ~900 to The |
This field should be accessible from the neo-project/core solution to properly override some of JumpTable handlers (Remove_Before543, SetItem_Before543 and etc.). Signed-off-by: Anna Shaleva <shaleva.ann@nspcc.ru>
|
@AnnaShaleva , as @superboyiii highlighted, perhaps the change in "ReferenceCounter.PostExecuteInstruction();" made the state difference. With old cleanup, temporary items could be swept earlier. While, with the new RC behavior, PostExecuteInstruction() throws MaxStackSize exceed, the transaction faults, and the id=85 storage writes are rolled back. If you need any double check on state let me know. For know I will wait for this verification. |
Ref. neo-project#576 (comment). Signed-off-by: Anna Shaleva <shaleva.ann@nspcc.ru>
Fetch neo-project/neo-vm#576. RC V2 doesn't need ReferenceCounter to be embedded into StackItem. Signed-off-by: Anna Shaleva <shaleva.ann@nspcc.ru>
|
Finally fixed the diff. The reason was in the non-default JumpTable handlers implementation that was overrided in the core: @superboyiii please, check again with updated core and VM (also neo-project/neo-node#1056 is required). @neo-project/core please, review the fixes. |
Fetch neo-project/neo-vm#576. RC V2 doesn't need ReferenceCounter to be embedded into StackItem. Signed-off-by: Anna Shaleva <shaleva.ann@nspcc.ru>
|
LGTM, waiting for @superboyiii re-test |
|
I checked this PR together with neo-project/neo#4550 and neo-project/neo-node#1056. Mainnet states match:
Testnet states check is in progress, I'll write back once it finished. Also, @superboyiii is still welcomed to re-check. |
I will double check. |
Fetch merged neo-project/neo-vm#576. Signed-off-by: Anna Shaleva <shaleva.ann@nspcc.ru>
|
Mainnet is OK. Data is compatible. |
* Remove ReferenceCounter from StackItem constructor Fetch neo-project/neo-vm#576. RC V2 doesn't need ReferenceCounter to be embedded into StackItem. Signed-off-by: Anna Shaleva <shaleva.ann@nspcc.ru> * Remove ReferenceCounter argument from IInteroperable.ToStackItem RC V2 manages reference counting externally on every stack-related operation, so there's no need in RC argument in IInteroperable.ToStackItem. Signed-off-by: Anna Shaleva <shaleva.ann@nspcc.ru> * Remove ReferenceCounter argument from BinarySerializer.Deserialize RC V2 manages references externally on every stack interaction, there's no need to track RC during deserialization. Signed-off-by: Anna Shaleva <shaleva.ann@nspcc.ru> * SmartContract: fetch RC V2 updates to non-default JumpTable Ensire all non-default JumpTable handlers properly interact with RC V2. Based on neo-project/neo-vm#564. Signed-off-by: Anna Shaleva <shaleva.ann@nspcc.ru> * Remove referenceCounter parameter from Deserialize methods * Update Neo.VM build Fetch merged neo-project/neo-vm#576. Signed-off-by: Anna Shaleva <shaleva.ann@nspcc.ru> * Native: remove RC argument from JsonSerializer.Deserialize It's unused anymore. Signed-off-by: Anna Shaleva <shaleva.ann@nspcc.ru> * SmartContract: revert dropping support for NotifyEventArgs.IInteroperable Ref. #4550 (comment). Signed-off-by: Anna Shaleva <shaleva.ann@nspcc.ru> * tests: remove unused code Signed-off-by: Anna Shaleva <shaleva.ann@nspcc.ru> * SmartContract: make SETITEM RC fully compatible with default jumptable Rrf. #4550 (comment). Signed-off-by: Anna Shaleva <shaleva.ann@nspcc.ru> --------- Signed-off-by: Anna Shaleva <shaleva.ann@nspcc.ru> Co-authored-by: Shargon <shargon@gmail.com> Co-authored-by: Alvaro <amjarag@gmail.com>
* plugins: fetch Tarjan removal updates Fetch neo-project/neo#4550 and neo-project/neo-vm#576. plugins/Directory.Build.props and src/Neo.CLI/Neo.CLI.csproj should be updated to fetch fresh Neo and Neo.VM builds. Signed-off-by: Anna Shaleva <shaleva.ann@nspcc.ru> * *: fetch fresh Neo build Fetch neo-project/neo#4550. Signed-off-by: Anna Shaleva <shaleva.ann@nspcc.ru> --------- Signed-off-by: Anna Shaleva <shaleva.ann@nspcc.ru> Co-authored-by: Alvaro <amjarag@gmail.com>



Starting from #564, RC V2 is used as a default reference counter implementation in the core. RC V1 is not used anymore. This PR is required for cases like #571 (comment).
@neo-project/core I advice you to review this PR commit-by-commit instead of reviewing the overall PR diff. This way it's easier to track the changes.