tx · 5ND1xMXc8K97KG68jLnpujBhVN8GcxhWKLDL3vmQ7aD

3MrGaZVRhknEGfHJ19ttUPNnDRoFqcHhVN7:  -0.01100000 Waves

2023.03.17 23:16 [2494466] smart account 3MrGaZVRhknEGfHJ19ttUPNnDRoFqcHhVN7 > SELF 0.00000000 Waves

{ "type": 13, "id": "5ND1xMXc8K97KG68jLnpujBhVN8GcxhWKLDL3vmQ7aD", "fee": 1100000, "feeAssetId": null, "timestamp": 1679084229315, "version": 2, "chainId": 84, "sender": "3MrGaZVRhknEGfHJ19ttUPNnDRoFqcHhVN7", "senderPublicKey": "CrHxACS7bWTh8cgmgqstvybmgMqR9KtDryGFt5svZhBW", "proofs": [ "44VoU1EQPgCs3gAok2y33fK5QeTgELiUeyK8bRhTyWs5KcwqGYJzZxy3hprwA1ZJvsWFGZf5odBf5USNkkpz7ycN" ], "script": "base64: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bmFsIGNhbGwBCXByZXBhcmVfMQIDYXJyBGFycjIJAMwIAgkAlAoCCQCRAwIFA2FycgAACQCRAwIFBGFycjIAAAUDbmlsAQlwcmVwYXJlXzICA2FycgRhcnIyCQDMCAIJAJQKAgkAkQMCBQNhcnIAAAkAkQMCBQRhcnIyAAAJAMwIAgkAlAoCCQCRAwIFA2FycgABCQCRAwIFBGFycjIAAQUDbmlsAQlwcmVwYXJlXzMCA2FycgRhcnIyCQDMCAIJAJQKAgkAkQMCBQNhcnIAAAkAkQMCBQRhcnIyAAAJAMwIAgkAlAoCCQCRAwIFA2FycgABCQCRAwIFBGFycjIAAQkAzAgCCQCUCgIJAJEDAgUDYXJyAAIJAJEDAgUEYXJyMgACBQNuaWwBCXByZXBhcmVfNAIDYXJyBGFycjIJAMwIAgkAlAoCCQCRAwIFA2FycgAACQCRAwIFBGFycjIAAAkAzAgCCQCUCgIJAJEDAgUDYXJyAAEJAJEDAgUEYXJyMgABCQDMCAIJAJQKAgkAkQMCBQNhcnIAAgkAkQMCBQRhcnIyAAIJAMwIAgkAlAoCCQCRAwIFA2FycgADCQCRAwIFBGFycjIAAwUDbmlsAQlwcmVwYXJlXzUCA2FycgRhcnIyCQDMCAIJAJQKAgkAkQMCBQNhcnIAAAkAkQMCBQRhcnIyAAAJAMwIAgkAlAoCCQCRAwIFA2FycgABCQCRAwIFBGFycjIAAQkAzAgCCQCUCgIJAJEDAgUDYXJyAAIJAJEDAgUEYXJyMgACCQDMCAIJAJQKAgkAkQMCBQNhcnIAAwkAkQMCBQRhcnIyAAMJAMwIAgkAlAoCCQCRAwIFA2FycgAECQCRAwIFBGFycjIABAUDbmlsAQlwcmVwYXJlXzYCA2FycgRhcnIyCQDMCAIJAJQKAgkAkQMCBQNhcnIAAAkAkQMCBQRhcnIyAAAJAMwIAgkAlAoCCQCRAwIFA2FycgABCQCRAwIFBGFycjIAAQkAzAgCCQCUCgIJAJEDAgUDYXJyAAIJAJEDAgUEYXJyMgACCQDMCAIJAJQKAgkAkQMCBQNhcnIAAwkAkQMCBQRhcnIyAAMJAMwIAgkAlAoCCQCRAwIFA2FycgAECQCRAwIFBGFycjIABAkAzAgCCQCUCgIJAJEDAgUDYXJyAAUJAJEDAgUEYXJyMgAFBQNuaWwBCXByZXBhcmVfNwIDYXJyBGFycjIJAMwIAgkAlAoCCQCRAwIFA2FycgAACQCRAwIFBGFycjIAAAkAzAgCCQCUCgIJAJEDAgUDYXJyAAEJAJEDAgUEYXJyMgABCQDMCAIJAJQKAgkAkQMCBQNhcnIAAgkAkQMCBQRhcnIyAAIJAMwIAgkAlAoCCQCRAwIFA2FycgADCQCRAwIFBGFycjIAAwkAzAgCCQCUCgIJAJEDAgUDYXJyAAQJAJEDAgUEYXJyMgAECQDMCAIJAJQKAgkAkQMCBQNhcnIABQkAkQMCBQRhcnIyAAUJAMwIAgkAlAoCCQCRAwIFA2FycgAGCQCRAwIFBGFycjIABgUDbmlsAQlwcmVwYXJlXzgCA2FycgRhcnIyCQDMCAIJAJQKAgkAkQMCBQNhcnIAAAkAkQMCBQRhcnIyAAAJAMwIAgkAlAoCCQCRAwIFA2FycgABCQCRAwIFBGFycjIAAQkAzAgCCQCUCgIJAJEDAgUDYXJyAAIJAJEDAgUEYXJyMgACCQDMCAIJAJQKAgkAkQMCBQNhcnIAAwkAkQMCBQRhcnIyAAMJAMwIAgkAlAoCCQCRAwIFA2FycgAECQCRAwIFBGFycjIABAkAzAgCCQCUCgIJAJEDAgUDYXJyAAUJAJEDAgUEYXJyMgAFCQDMCAIJAJQKAgkAkQMCBQNhcnIABgkAkQMCBQRhcnIyAAYJAMwIAgkAlAoCCQCRAwIFA2FycgAHCQCRAwIFBGFycjIABwUDbmlsAQlwcmVwYXJlXzkCA2FycgRhcnIyCQDMCAIJAJQKAgkAkQMCBQNhcnIAAAkAkQMCBQRhcnIyAAAJAMwIAgkAlAoCCQCRAwIFA2FycgABCQCRAwIFBGFycjIAAQkAzAgCCQCUCgIJAJEDAgUDYXJyAAIJAJEDAgUEYXJyMgACCQDMCAIJAJQKAgkAkQMCBQNhcnIAAwkAkQMCBQRhcnIyAAMJAMwIAgkAlAoCCQCRAwIFA2FycgAECQCRAwIFBGFycjIABAkAzAgCCQCUCgIJAJEDAgUDYXJyAAUJAJEDAgUEYXJyMgAFCQDMCAIJAJQKAgkAkQMCBQNhcnIABgkAkQMCBQRhcnIyAAYJAMwIAgkAlAoCCQCRAwIFA2FycgAHCQCRAwIFBGFycjIABwkAzAgCCQCUCgIJAJEDAgUDYXJyAAgJAJEDAgUEYXJyMgAIBQNuaWwBCnByZXBhcmVfMTACA2FycgRhcnIyCQDMCAIJAJQKAgkAkQMCBQNhcnIAAAkAkQMCBQRhcnIyAAAJAMwIAgkAlAoCCQCRAwIFA2FycgABCQCRAwIFBGFycjIAAQkAzAgCCQCUCgIJAJEDAgUDYXJyAAIJAJEDAgUEYXJyMgACCQDMCAIJAJQKAgkAkQMCBQNhcnIAAwkAkQMCBQRhcnIyAAMJAMwIAgkAlAoCCQCRAwIFA2FycgAECQCRAwIFBGFycjIABAkAzAgCCQCUCgIJAJEDAgUDYXJyAAUJAJEDAgUEYXJyMgAFCQDMCAIJAJQKAgkAkQMCBQNhcnIABgkAkQMCBQRhcnIyAAYJAMwIAgkAlAoCCQCRAwIFA2FycgAHCQCRAwIFBGFycjIABwkAzAgCCQCUCgIJAJEDAgUDYXJyAAgJAJEDAgUEYXJyMgAICQDMCAIJAJQKAgkAkQMCBQNhcnIACQkAkQMCBQRhcnIyAAkFA25pbAENcHJlcGFyZVBhcmFtcwMSY3VycmVudEFyclBhcnRLZXlzFGN1cnJlbnRBcnJQYXJ0VmFsdWVzBmxlbmd0aAMJAAACBQZsZW5ndGgAAAkAAgECDUVtcHR5ICBwYXJhbXMDCQAAAgUGbGVuZ3RoAAEJAQlwcmVwYXJlXzECBRJjdXJyZW50QXJyUGFydEtleXMFFGN1cnJlbnRBcnJQYXJ0VmFsdWVzAwkAAAIFBmxlbmd0aAACCQEJcHJlcGFyZV8yAgUSY3VycmVudEFyclBhcnRLZXlzBRRjdXJyZW50QXJyUGFydFZhbHVlcwMJAAACBQZsZW5ndGgAAwkBCXByZXBhcmVfMwIFEmN1cnJlbnRBcnJQYXJ0S2V5cwUUY3VycmVudEFyclBhcnRWYWx1ZXMDCQAAAgUGbGVuZ3RoAAQJAQlwcmVwYXJlXzQCBRJjdXJyZW50QXJyUGFydEtleXMFFGN1cnJlbnRBcnJQYXJ0VmFsdWVzAwkAAAIFBmxlbmd0aAAFCQEJcHJlcGFyZV81AgUSY3VycmVudEFyclBhcnRLZXlzBRRjdXJyZW50QXJyUGFydFZhbHVlcwMJAAACBQZsZW5ndGgABgkBCXByZXBhcmVfNgIFEmN1cnJlbnRBcnJQYXJ0S2V5cwUUY3VycmVudEFyclBhcnRWYWx1ZXMDCQAAAgUGbGVuZ3RoAAcJAQlwcmVwYXJlXzcCBRJjdXJyZW50QXJyUGFydEtleXMFFGN1cnJlbnRBcnJQYXJ0VmFsdWVzAwkAAAIFBmxlbmd0aAAICQEJcHJlcGFyZV84AgUSY3VycmVudEFyclBhcnRLZXlzBRRjdXJyZW50QXJyUGFydFZhbHVlcwMJAAACBQZsZW5ndGgACQkBCXByZXBhcmVfOQIFEmN1cnJlbnRBcnJQYXJ0S2V5cwUUY3VycmVudEFyclBhcnRWYWx1ZXMDCQAAAgUGbGVuZ3RoAAoJAQpwcmVwYXJlXzEwAgUSY3VycmVudEFyclBhcnRLZXlzBRRjdXJyZW50QXJyUGFydFZhbHVlcwkAAgECIU1heCBudW1iZXIgb2YgcGFyYW1ldGVycyBleGNlZWRlZAEVZ2V0U3RhcnRBbmRFbmRJbmRleGVzAgRqc29uA2tleQQGa2V5TGVuCQCxAgEFA2tleQQKc3RhcnRJbmRleAkBBXZhbHVlAQkAswkCBQRqc29uBQNrZXkECGVuZEluZGV4CQELdmFsdWVPckVsc2UCCQC0CQMFBGpzb24CASwFCnN0YXJ0SW5kZXgJAQV2YWx1ZQEJALQJAwUEanNvbgIBfQUKc3RhcnRJbmRleAkAlQoDBQZrZXlMZW4FCnN0YXJ0SW5kZXgFCGVuZEluZGV4ARFyZWR1Y2VyVGFrZU9iamVjdAIFYWNjdW0EbmV4dAQLJHQwNjMxMTYzNjAFBWFjY3VtBAZyZXN1bHQIBQskdDA2MzExNjM2MAJfMQQJbGVmdENvdW50CAULJHQwNjMxMTYzNjACXzIECnJpZ2h0Q291bnQIBQskdDA2MzExNjM2MAJfMwQDZW5kCAULJHQwNjMxMTYzNjACXzQDCQEBIQEFA2VuZAkAlgoECQCsAgIJAKwCAgUGcmVzdWx0BQRuZXh0AgVjaGVjawUJbGVmdENvdW50BQpyaWdodENvdW50BgUFYWNjdW0BEXJlYWRCeUtleUludGVybmFsAgRqc29uA2tleQQLJHQwNzE3NTcyODgJARVnZXRTdGFydEFuZEVuZEluZGV4ZXMCBQRqc29uBQNrZXkEBmtleUxlbggFCyR0MDcxNzU3Mjg4Al8xBApzdGFydEluZGV4CAULJHQwNzE3NTcyODgCXzIECGVuZEluZGV4CAULJHQwNzE3NTcyODgCXzMJALACAgkArwICBQRqc29uCQBlAgUIZW5kSW5kZXgAAQkAZAIJAGQCBQpzdGFydEluZGV4BQZrZXlMZW4AAwETZGVsZXRlQnlLZXlJbnRlcm5hbAIEanNvbgNrZXkECyR0MDc1NjI3NjMwCQEVZ2V0U3RhcnRBbmRFbmRJbmRleGVzAgUEanNvbgUDa2V5BAZrZXlMZW4IBQskdDA3NTYyNzYzMAJfMQQKc3RhcnRJbmRleAgFCyR0MDc1NjI3NjMwAl8yBAhlbmRJbmRleAgFCyR0MDc1NjI3NjMwAl8zBAhyb3dWYWx1ZQkAsAICCQCvAgIFBGpzb24JAGUCBQhlbmRJbmRleAABCQBkAgkAZAIFCnN0YXJ0SW5kZXgFBmtleUxlbgADBAhqc29uTGlzdAkAtQkCBQRqc29uAgEsBAxkZWxldGVkVmFsdWUDCQEIY29udGFpbnMCBQhyb3dWYWx1ZQIBewoAAiRsBQhqc29uTGlzdAoAAiRzCQCQAwEFAiRsCgAFJGFjYzAJAJYKBAIAAAAAAAcKAQUkZjBfMQICJGECJGkDCQBnAgUCJGkFAiRzBQIkYQkBEXJlZHVjZXJUYWtlT2JqZWN0AgUCJGEJAJEDAgUCJGwFAiRpCgEFJGYwXzICAiRhAiRpAwkAZwIFAiRpBQIkcwUCJGEJAAIBAhRMaXN0IHNpemUgZXhjZWVkcyAxMAkBBSRmMF8yAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgUFJGFjYzAAAAABAAIAAwAEAAUABgAHAAgACQAKBQhyb3dWYWx1ZQQHbmV3SnNvbgMJAAACCQBlAgkAsQIBBQRqc29uBQhlbmRJbmRleAABCQCsAgIJAK8CAgUEanNvbgkAZQIFCnN0YXJ0SW5kZXgAAgkAsAICBQRqc29uBQhlbmRJbmRleAkArAICCQCvAgIFBGpzb24JAGUCBQpzdGFydEluZGV4AAEJALACAgUEanNvbgkAZAIFCGVuZEluZGV4AAEJAJQKAgUIcm93VmFsdWUFB25ld0pzb24FAWkBEG1ha2VKU09OSW50ZXJuYWwFB2FycktleXMJYXJyVmFsdWVzD2l0ZXJhdGlvbnNDb3VudBBsYXN0SXRlcmF0aW9uTGVuA3JlcwkBC3ZhbHVlT3JFbHNlAgkBDG9ubHlJbnRlcm5hbAEIBQFpBmNhbGxlcgMJAGYCBQ9pdGVyYXRpb25zQ291bnQAAAQLJHQwODk0MzkxMDUJAQ5nZXRQYXJ0QW5kVGFpbAEFB2FycktleXMEEmN1cnJlbnRBcnJQYXJ0S2V5cwgFCyR0MDg5NDM5MTA1Al8xBAthcnJUYWlsS2V5cwgFCyR0MDg5NDM5MTA1Al8yBAskdDA5MTE0OTIyOQkBDmdldFBhcnRBbmRUYWlsAQUJYXJyVmFsdWVzBBRjdXJyZW50QXJyUGFydFZhbHVlcwgFCyR0MDkxMTQ5MjI5Al8xBA1hcnJUYWlsVmFsdWVzCAULJHQwOTExNDkyMjkCXzIEBnBhcmFtcwkBDXByZXBhcmVQYXJhbXMDBRJjdXJyZW50QXJyUGFydEtleXMFFGN1cnJlbnRBcnJQYXJ0VmFsdWVzAAoECW5ld1N0cmluZwkBD2l0ZXJhdGVNYWtlSlNPTgMFBnBhcmFtcwUDcmVzAAoEBnJlc3VsdAkA/AcEBQR0aGlzAhBtYWtlSlNPTkludGVybmFsCQDMCAIFC2FyclRhaWxLZXlzCQDMCAIFDWFyclRhaWxWYWx1ZXMJAMwIAgkAZQIFD2l0ZXJhdGlvbnNDb3VudAABCQDMCAIFEGxhc3RJdGVyYXRpb25MZW4JAMwIAgUJbmV3U3RyaW5nBQNuaWwFA25pbAMJAAACBQZyZXN1bHQFBnJlc3VsdAkAlAoCBQNuaWwFBnJlc3VsdAkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgMJAQIhPQIFEGxhc3RJdGVyYXRpb25MZW4AAAQGcGFyYW1zCQENcHJlcGFyZVBhcmFtcwMFB2FycktleXMFCWFyclZhbHVlcwUQbGFzdEl0ZXJhdGlvbkxlbgQJbmV3U3RyaW5nCQEPaXRlcmF0ZU1ha2VKU09OAwUGcGFyYW1zBQNyZXMFEGxhc3RJdGVyYXRpb25MZW4JAJQKAgUDbmlsCQCsAgIJAKwCAgIBewkAswICBQluZXdTdHJpbmcAAQIBfQkAlAoCBQNuaWwJAKwCAgkArAICAgF7CQCzAgIFA3JlcwABAgF9AWkBCG1ha2VKU09OAgdhcnJLZXlzCWFyclZhbHVlcwMJAQIhPQIJAJADAQUHYXJyS2V5cwkAkAMBBQlhcnJWYWx1ZXMJAAIBAi5BcnJheUtleXMgYW5kIEFycmF5VmFsdWVzIGxlbmd0aCBtdXN0IGJlIGVxdWFsBANsZW4JAJADAQUHYXJyS2V5cwQPaXRlcmF0aW9uc0NvdW50CQBrAwABBQNsZW4ACgQQbGFzdEl0ZXJhdGlvbkxlbgkAagIFA2xlbgAKBANyZXMJAPwHBAUEdGhpcwIQbWFrZUpTT05JbnRlcm5hbAkAzAgCBQdhcnJLZXlzCQDMCAIFCWFyclZhbHVlcwkAzAgCBQ9pdGVyYXRpb25zQ291bnQJAMwIAgUQbGFzdEl0ZXJhdGlvbkxlbgkAzAgCAgAFA25pbAUDbmlsAwkAAAIFA3JlcwUDcmVzCQCUCgIFA25pbAUDcmVzCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuAWkBCWFkZFRvSlNPTgMEanNvbgdhcnJLZXlzCWFyclZhbHVlcwMJAQIhPQIJAJADAQUHYXJyS2V5cwkAkAMBBQlhcnJWYWx1ZXMJAAIBAi5BcnJheUtleXMgYW5kIEFycmF5VmFsdWVzIGxlbmd0aCBtdXN0IGJlIGVxdWFsBANsZW4JAJADAQUHYXJyS2V5cwQPaXRlcmF0aW9uc0NvdW50CQBrAwABBQNsZW4ACgQQbGFzdEl0ZXJhdGlvbkxlbgkAagIFA2xlbgAKBANyZXMJAPwHBAUEdGhpcwIQbWFrZUpTT05JbnRlcm5hbAkAzAgCBQdhcnJLZXlzCQDMCAIFCWFyclZhbHVlcwkAzAgCBQ9pdGVyYXRpb25zQ291bnQJAMwIAgUQbGFzdEl0ZXJhdGlvbkxlbgkAzAgCCQCsAgIJALACAgkAswICBQRqc29uAAEAAQIBLAUDbmlsBQNuaWwDCQAAAgUDcmVzBQNyZXMJAJQKAgUDbmlsBQNyZXMJAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4BaQENcmVhZEJ5SlNPTktleQIEanNvbgNrZXkECnZhbHVlQnlLZXkJARFyZWFkQnlLZXlJbnRlcm5hbAIFBGpzb24FA2tleQkAlAoCCQDMCAIJAQtTdHJpbmdFbnRyeQICCnZhbHVlQnlLZXkFCnZhbHVlQnlLZXkFA25pbAUKdmFsdWVCeUtleQFpAQ9kZWxldGVCeUpTT05LZXkCBGpzb24Da2V5BA0kdDAxMzUyNDEzODc1CQETZGVsZXRlQnlLZXlJbnRlcm5hbAIFBGpzb24FA2tleQQRZGVsZXRlZFZhbHVlQnlLZXkIBQ0kdDAxMzUyNDEzODc1Al8xBAduZXdKc29uCAUNJHQwMTM1MjQxMzg3NQJfMgkAlAoCCQDMCAIJAQtTdHJpbmdFbnRyeQICDGRlbGV0ZWRWYWx1ZQURZGVsZXRlZFZhbHVlQnlLZXkJAMwIAgkBC1N0cmluZ0VudHJ5AgUIa0pzb25SZXMFB25ld0pzb24FA25pbAkAlAoCBRFkZWxldGVkVmFsdWVCeUtleQUHbmV3SnNvbgDRY/h+", "height": 2494466, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: GGbRPTTukk97tSk69c3PvDe75sZPoDVeTFoKhVEwk3tP Next: 2bxyjpdY9XmiQDy4gsA8y5UviUZGbJpR1XvNLFPBvHRt Diff:
OldNewDifferences
256256 func getStartAndEndIndexes (json,key) = {
257257 let keyLen = size(key)
258258 let startIndex = value(indexOf(json, key))
259- let $t061076492 = if (false)
260- then $Tuple2(valueOrElse(indexOf(json, ",", startIndex), value(indexOf(json, "}", startIndex))), 2)
261- else $Tuple2(valueOrElse(indexOf(json, ",", startIndex), value(indexOf(json, "}", startIndex))), 3)
262- let endIndex = $t061076492._1
263- let k = $t061076492._2
264- $Tuple4(keyLen, startIndex, endIndex, k)
259+ let endIndex = valueOrElse(indexOf(json, ",", startIndex), value(indexOf(json, "}", startIndex)))
260+ $Tuple3(keyLen, startIndex, endIndex)
261+ }
262+
263+
264+func reducerTakeObject (accum,next) = {
265+ let $t063116360 = accum
266+ let result = $t063116360._1
267+ let leftCount = $t063116360._2
268+ let rightCount = $t063116360._3
269+ let end = $t063116360._4
270+ if (!(end))
271+ then $Tuple4(((result + next) + "check"), leftCount, rightCount, true)
272+ else accum
265273 }
266274
267275
268276 func readByKeyInternal (json,key) = {
269- let $t067116827 = getStartAndEndIndexes(json, key)
270- let keyLen = $t067116827._1
271- let startIndex = $t067116827._2
272- let endIndex = $t067116827._3
273- let k = $t067116827._4
274- drop(take(json, (endIndex - 1)), ((startIndex + keyLen) + k))
277+ let $t071757288 = getStartAndEndIndexes(json, key)
278+ let keyLen = $t071757288._1
279+ let startIndex = $t071757288._2
280+ let endIndex = $t071757288._3
281+ drop(take(json, (endIndex - 1)), ((startIndex + keyLen) + 3))
275282 }
276283
277284
278285 func deleteByKeyInternal (json,key) = {
279- let $t071017228 = getStartAndEndIndexes(json, key)
280- let keyLen = $t071017228._1
281- let startIndex = $t071017228._2
282- let endIndex = $t071017228._3
283- let k = $t071017228._4
284- let deletedValue = drop(take(json, (endIndex - 1)), ((startIndex + keyLen) + k))
286+ let $t075627630 = getStartAndEndIndexes(json, key)
287+ let keyLen = $t075627630._1
288+ let startIndex = $t075627630._2
289+ let endIndex = $t075627630._3
290+ let rowValue = drop(take(json, (endIndex - 1)), ((startIndex + keyLen) + 3))
291+ let jsonList = split(json, ",")
292+ let deletedValue = if (contains(rowValue, "{"))
293+ then {
294+ let $l = jsonList
295+ let $s = size($l)
296+ let $acc0 = $Tuple4("", 0, 0, false)
297+ func $f0_1 ($a,$i) = if (($i >= $s))
298+ then $a
299+ else reducerTakeObject($a, $l[$i])
300+
301+ func $f0_2 ($a,$i) = if (($i >= $s))
302+ then $a
303+ else throw("List size exceeds 10")
304+
305+ $f0_2($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($acc0, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10)
306+ }
307+ else rowValue
285308 let newJson = if (((size(json) - endIndex) == 1))
286309 then (take(json, (startIndex - 2)) + drop(json, endIndex))
287310 else (take(json, (startIndex - 1)) + drop(json, (endIndex + 1)))
288- $Tuple2(deletedValue, newJson)
311+ $Tuple2(rowValue, newJson)
289312 }
290313
291314
292315 @Callable(i)
293316 func makeJSONInternal (arrKeys,arrValues,iterationsCount,lastIterationLen,res) = valueOrElse(onlyInternal(i.caller), if ((iterationsCount > 0))
294317 then {
295- let $t083278489 = getPartAndTail(arrKeys)
296- let currentArrPartKeys = $t083278489._1
297- let arrTailKeys = $t083278489._2
298- let $t084988613 = getPartAndTail(arrValues)
299- let currentArrPartValues = $t084988613._1
300- let arrTailValues = $t084988613._2
318+ let $t089439105 = getPartAndTail(arrKeys)
319+ let currentArrPartKeys = $t089439105._1
320+ let arrTailKeys = $t089439105._2
321+ let $t091149229 = getPartAndTail(arrValues)
322+ let currentArrPartValues = $t091149229._1
323+ let arrTailValues = $t091149229._2
301324 let params = prepareParams(currentArrPartKeys, currentArrPartValues, 10)
302325 let newString = iterateMakeJSON(params, res, 10)
303326 let result = invoke(this, "makeJSONInternal", [arrTailKeys, arrTailValues, (iterationsCount - 1), lastIterationLen, newString], nil)
355378
356379 @Callable(i)
357380 func deleteByJSONKey (json,key) = {
358- let $t01290813259 = deleteByKeyInternal(json, key)
359- let deletedValueByKey = $t01290813259._1
360- let newJson = $t01290813259._2
381+ let $t01352413875 = deleteByKeyInternal(json, key)
382+ let deletedValueByKey = $t01352413875._1
383+ let newJson = $t01352413875._2
361384 $Tuple2([StringEntry("deletedValue", deletedValueByKey), StringEntry(kJsonRes, newJson)], $Tuple2(deletedValueByKey, newJson))
362385 }
363386
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 6 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 let kJsonRes = "jsonRes"
55
66 let quote = toUtf8String(base58'b')
77
88 func makeField (nextValue) = if (false)
99 then (((((quote + nextValue._1) + quote) + ":") + nextValue._2) + ",")
1010 else (((((((quote + nextValue._1) + quote) + ":") + quote) + nextValue._2) + quote) + ",")
1111
1212
1313 func reducerMakeJSON (accum,nextValue) = (accum + makeField(nextValue))
1414
1515
1616 func iterateMakeJSON (params,res,length) = if ((length == 0))
1717 then throw("Empty params")
1818 else if ((length == 1))
1919 then {
2020 let $l = params
2121 let $s = size($l)
2222 let $acc0 = res
2323 func $f0_1 ($a,$i) = if (($i >= $s))
2424 then $a
2525 else reducerMakeJSON($a, $l[$i])
2626
2727 func $f0_2 ($a,$i) = if (($i >= $s))
2828 then $a
2929 else throw("List size exceeds 1")
3030
3131 $f0_2($f0_1($acc0, 0), 1)
3232 }
3333 else if ((length == 2))
3434 then {
3535 let $l = params
3636 let $s = size($l)
3737 let $acc0 = res
3838 func $f0_1 ($a,$i) = if (($i >= $s))
3939 then $a
4040 else reducerMakeJSON($a, $l[$i])
4141
4242 func $f0_2 ($a,$i) = if (($i >= $s))
4343 then $a
4444 else throw("List size exceeds 2")
4545
4646 $f0_2($f0_1($f0_1($acc0, 0), 1), 2)
4747 }
4848 else if ((length == 3))
4949 then {
5050 let $l = params
5151 let $s = size($l)
5252 let $acc0 = res
5353 func $f0_1 ($a,$i) = if (($i >= $s))
5454 then $a
5555 else reducerMakeJSON($a, $l[$i])
5656
5757 func $f0_2 ($a,$i) = if (($i >= $s))
5858 then $a
5959 else throw("List size exceeds 3")
6060
6161 $f0_2($f0_1($f0_1($f0_1($acc0, 0), 1), 2), 3)
6262 }
6363 else if ((length == 4))
6464 then {
6565 let $l = params
6666 let $s = size($l)
6767 let $acc0 = res
6868 func $f0_1 ($a,$i) = if (($i >= $s))
6969 then $a
7070 else reducerMakeJSON($a, $l[$i])
7171
7272 func $f0_2 ($a,$i) = if (($i >= $s))
7373 then $a
7474 else throw("List size exceeds 4")
7575
7676 $f0_2($f0_1($f0_1($f0_1($f0_1($acc0, 0), 1), 2), 3), 4)
7777 }
7878 else if ((length == 5))
7979 then {
8080 let $l = params
8181 let $s = size($l)
8282 let $acc0 = res
8383 func $f0_1 ($a,$i) = if (($i >= $s))
8484 then $a
8585 else reducerMakeJSON($a, $l[$i])
8686
8787 func $f0_2 ($a,$i) = if (($i >= $s))
8888 then $a
8989 else throw("List size exceeds 5")
9090
9191 $f0_2($f0_1($f0_1($f0_1($f0_1($f0_1($acc0, 0), 1), 2), 3), 4), 5)
9292 }
9393 else if ((length == 6))
9494 then {
9595 let $l = params
9696 let $s = size($l)
9797 let $acc0 = res
9898 func $f0_1 ($a,$i) = if (($i >= $s))
9999 then $a
100100 else reducerMakeJSON($a, $l[$i])
101101
102102 func $f0_2 ($a,$i) = if (($i >= $s))
103103 then $a
104104 else throw("List size exceeds 6")
105105
106106 $f0_2($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($acc0, 0), 1), 2), 3), 4), 5), 6)
107107 }
108108 else if ((length == 7))
109109 then {
110110 let $l = params
111111 let $s = size($l)
112112 let $acc0 = res
113113 func $f0_1 ($a,$i) = if (($i >= $s))
114114 then $a
115115 else reducerMakeJSON($a, $l[$i])
116116
117117 func $f0_2 ($a,$i) = if (($i >= $s))
118118 then $a
119119 else throw("List size exceeds 7")
120120
121121 $f0_2($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($acc0, 0), 1), 2), 3), 4), 5), 6), 7)
122122 }
123123 else if ((length == 8))
124124 then {
125125 let $l = params
126126 let $s = size($l)
127127 let $acc0 = res
128128 func $f0_1 ($a,$i) = if (($i >= $s))
129129 then $a
130130 else reducerMakeJSON($a, $l[$i])
131131
132132 func $f0_2 ($a,$i) = if (($i >= $s))
133133 then $a
134134 else throw("List size exceeds 8")
135135
136136 $f0_2($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($acc0, 0), 1), 2), 3), 4), 5), 6), 7), 8)
137137 }
138138 else if ((length == 9))
139139 then {
140140 let $l = params
141141 let $s = size($l)
142142 let $acc0 = res
143143 func $f0_1 ($a,$i) = if (($i >= $s))
144144 then $a
145145 else reducerMakeJSON($a, $l[$i])
146146
147147 func $f0_2 ($a,$i) = if (($i >= $s))
148148 then $a
149149 else throw("List size exceeds 9")
150150
151151 $f0_2($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($acc0, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9)
152152 }
153153 else if ((length == 10))
154154 then {
155155 let $l = params
156156 let $s = size($l)
157157 let $acc0 = res
158158 func $f0_1 ($a,$i) = if (($i >= $s))
159159 then $a
160160 else reducerMakeJSON($a, $l[$i])
161161
162162 func $f0_2 ($a,$i) = if (($i >= $s))
163163 then $a
164164 else throw("List size exceeds 10")
165165
166166 $f0_2($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($acc0, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10)
167167 }
168168 else throw("The max number of parameters exceeded")
169169
170170
171171 func getPartAndTail (arr) = {
172172 let el0 = arr[0]
173173 let el1 = arr[1]
174174 let el2 = arr[2]
175175 let el3 = arr[3]
176176 let el4 = arr[4]
177177 let el5 = arr[5]
178178 let el6 = arr[6]
179179 let el7 = arr[7]
180180 let el8 = arr[8]
181181 let el9 = arr[9]
182182 let arr0 = removeByIndex(arr, 0)
183183 let arr1 = removeByIndex(arr0, 0)
184184 let arr2 = removeByIndex(arr1, 0)
185185 let arr3 = removeByIndex(arr2, 0)
186186 let arr4 = removeByIndex(arr3, 0)
187187 let arr5 = removeByIndex(arr4, 0)
188188 let arr6 = removeByIndex(arr5, 0)
189189 let arr7 = removeByIndex(arr6, 0)
190190 let arr8 = removeByIndex(arr7, 0)
191191 let arr9 = removeByIndex(arr8, 0)
192192 $Tuple2([el0, el1, el2, el3, el4, el5, el6, el7, el8, el9], arr9)
193193 }
194194
195195
196196 func onlyInternal (caller) = if ((caller == this))
197197 then unit
198198 else throw("Only internal call")
199199
200200
201201 func prepare_1 (arr,arr2) = [$Tuple2(arr[0], arr2[0])]
202202
203203
204204 func prepare_2 (arr,arr2) = [$Tuple2(arr[0], arr2[0]), $Tuple2(arr[1], arr2[1])]
205205
206206
207207 func prepare_3 (arr,arr2) = [$Tuple2(arr[0], arr2[0]), $Tuple2(arr[1], arr2[1]), $Tuple2(arr[2], arr2[2])]
208208
209209
210210 func prepare_4 (arr,arr2) = [$Tuple2(arr[0], arr2[0]), $Tuple2(arr[1], arr2[1]), $Tuple2(arr[2], arr2[2]), $Tuple2(arr[3], arr2[3])]
211211
212212
213213 func prepare_5 (arr,arr2) = [$Tuple2(arr[0], arr2[0]), $Tuple2(arr[1], arr2[1]), $Tuple2(arr[2], arr2[2]), $Tuple2(arr[3], arr2[3]), $Tuple2(arr[4], arr2[4])]
214214
215215
216216 func prepare_6 (arr,arr2) = [$Tuple2(arr[0], arr2[0]), $Tuple2(arr[1], arr2[1]), $Tuple2(arr[2], arr2[2]), $Tuple2(arr[3], arr2[3]), $Tuple2(arr[4], arr2[4]), $Tuple2(arr[5], arr2[5])]
217217
218218
219219 func prepare_7 (arr,arr2) = [$Tuple2(arr[0], arr2[0]), $Tuple2(arr[1], arr2[1]), $Tuple2(arr[2], arr2[2]), $Tuple2(arr[3], arr2[3]), $Tuple2(arr[4], arr2[4]), $Tuple2(arr[5], arr2[5]), $Tuple2(arr[6], arr2[6])]
220220
221221
222222 func prepare_8 (arr,arr2) = [$Tuple2(arr[0], arr2[0]), $Tuple2(arr[1], arr2[1]), $Tuple2(arr[2], arr2[2]), $Tuple2(arr[3], arr2[3]), $Tuple2(arr[4], arr2[4]), $Tuple2(arr[5], arr2[5]), $Tuple2(arr[6], arr2[6]), $Tuple2(arr[7], arr2[7])]
223223
224224
225225 func prepare_9 (arr,arr2) = [$Tuple2(arr[0], arr2[0]), $Tuple2(arr[1], arr2[1]), $Tuple2(arr[2], arr2[2]), $Tuple2(arr[3], arr2[3]), $Tuple2(arr[4], arr2[4]), $Tuple2(arr[5], arr2[5]), $Tuple2(arr[6], arr2[6]), $Tuple2(arr[7], arr2[7]), $Tuple2(arr[8], arr2[8])]
226226
227227
228228 func prepare_10 (arr,arr2) = [$Tuple2(arr[0], arr2[0]), $Tuple2(arr[1], arr2[1]), $Tuple2(arr[2], arr2[2]), $Tuple2(arr[3], arr2[3]), $Tuple2(arr[4], arr2[4]), $Tuple2(arr[5], arr2[5]), $Tuple2(arr[6], arr2[6]), $Tuple2(arr[7], arr2[7]), $Tuple2(arr[8], arr2[8]), $Tuple2(arr[9], arr2[9])]
229229
230230
231231 func prepareParams (currentArrPartKeys,currentArrPartValues,length) = if ((length == 0))
232232 then throw("Empty params")
233233 else if ((length == 1))
234234 then prepare_1(currentArrPartKeys, currentArrPartValues)
235235 else if ((length == 2))
236236 then prepare_2(currentArrPartKeys, currentArrPartValues)
237237 else if ((length == 3))
238238 then prepare_3(currentArrPartKeys, currentArrPartValues)
239239 else if ((length == 4))
240240 then prepare_4(currentArrPartKeys, currentArrPartValues)
241241 else if ((length == 5))
242242 then prepare_5(currentArrPartKeys, currentArrPartValues)
243243 else if ((length == 6))
244244 then prepare_6(currentArrPartKeys, currentArrPartValues)
245245 else if ((length == 7))
246246 then prepare_7(currentArrPartKeys, currentArrPartValues)
247247 else if ((length == 8))
248248 then prepare_8(currentArrPartKeys, currentArrPartValues)
249249 else if ((length == 9))
250250 then prepare_9(currentArrPartKeys, currentArrPartValues)
251251 else if ((length == 10))
252252 then prepare_10(currentArrPartKeys, currentArrPartValues)
253253 else throw("Max number of parameters exceeded")
254254
255255
256256 func getStartAndEndIndexes (json,key) = {
257257 let keyLen = size(key)
258258 let startIndex = value(indexOf(json, key))
259- let $t061076492 = if (false)
260- then $Tuple2(valueOrElse(indexOf(json, ",", startIndex), value(indexOf(json, "}", startIndex))), 2)
261- else $Tuple2(valueOrElse(indexOf(json, ",", startIndex), value(indexOf(json, "}", startIndex))), 3)
262- let endIndex = $t061076492._1
263- let k = $t061076492._2
264- $Tuple4(keyLen, startIndex, endIndex, k)
259+ let endIndex = valueOrElse(indexOf(json, ",", startIndex), value(indexOf(json, "}", startIndex)))
260+ $Tuple3(keyLen, startIndex, endIndex)
261+ }
262+
263+
264+func reducerTakeObject (accum,next) = {
265+ let $t063116360 = accum
266+ let result = $t063116360._1
267+ let leftCount = $t063116360._2
268+ let rightCount = $t063116360._3
269+ let end = $t063116360._4
270+ if (!(end))
271+ then $Tuple4(((result + next) + "check"), leftCount, rightCount, true)
272+ else accum
265273 }
266274
267275
268276 func readByKeyInternal (json,key) = {
269- let $t067116827 = getStartAndEndIndexes(json, key)
270- let keyLen = $t067116827._1
271- let startIndex = $t067116827._2
272- let endIndex = $t067116827._3
273- let k = $t067116827._4
274- drop(take(json, (endIndex - 1)), ((startIndex + keyLen) + k))
277+ let $t071757288 = getStartAndEndIndexes(json, key)
278+ let keyLen = $t071757288._1
279+ let startIndex = $t071757288._2
280+ let endIndex = $t071757288._3
281+ drop(take(json, (endIndex - 1)), ((startIndex + keyLen) + 3))
275282 }
276283
277284
278285 func deleteByKeyInternal (json,key) = {
279- let $t071017228 = getStartAndEndIndexes(json, key)
280- let keyLen = $t071017228._1
281- let startIndex = $t071017228._2
282- let endIndex = $t071017228._3
283- let k = $t071017228._4
284- let deletedValue = drop(take(json, (endIndex - 1)), ((startIndex + keyLen) + k))
286+ let $t075627630 = getStartAndEndIndexes(json, key)
287+ let keyLen = $t075627630._1
288+ let startIndex = $t075627630._2
289+ let endIndex = $t075627630._3
290+ let rowValue = drop(take(json, (endIndex - 1)), ((startIndex + keyLen) + 3))
291+ let jsonList = split(json, ",")
292+ let deletedValue = if (contains(rowValue, "{"))
293+ then {
294+ let $l = jsonList
295+ let $s = size($l)
296+ let $acc0 = $Tuple4("", 0, 0, false)
297+ func $f0_1 ($a,$i) = if (($i >= $s))
298+ then $a
299+ else reducerTakeObject($a, $l[$i])
300+
301+ func $f0_2 ($a,$i) = if (($i >= $s))
302+ then $a
303+ else throw("List size exceeds 10")
304+
305+ $f0_2($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($acc0, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10)
306+ }
307+ else rowValue
285308 let newJson = if (((size(json) - endIndex) == 1))
286309 then (take(json, (startIndex - 2)) + drop(json, endIndex))
287310 else (take(json, (startIndex - 1)) + drop(json, (endIndex + 1)))
288- $Tuple2(deletedValue, newJson)
311+ $Tuple2(rowValue, newJson)
289312 }
290313
291314
292315 @Callable(i)
293316 func makeJSONInternal (arrKeys,arrValues,iterationsCount,lastIterationLen,res) = valueOrElse(onlyInternal(i.caller), if ((iterationsCount > 0))
294317 then {
295- let $t083278489 = getPartAndTail(arrKeys)
296- let currentArrPartKeys = $t083278489._1
297- let arrTailKeys = $t083278489._2
298- let $t084988613 = getPartAndTail(arrValues)
299- let currentArrPartValues = $t084988613._1
300- let arrTailValues = $t084988613._2
318+ let $t089439105 = getPartAndTail(arrKeys)
319+ let currentArrPartKeys = $t089439105._1
320+ let arrTailKeys = $t089439105._2
321+ let $t091149229 = getPartAndTail(arrValues)
322+ let currentArrPartValues = $t091149229._1
323+ let arrTailValues = $t091149229._2
301324 let params = prepareParams(currentArrPartKeys, currentArrPartValues, 10)
302325 let newString = iterateMakeJSON(params, res, 10)
303326 let result = invoke(this, "makeJSONInternal", [arrTailKeys, arrTailValues, (iterationsCount - 1), lastIterationLen, newString], nil)
304327 if ((result == result))
305328 then $Tuple2(nil, result)
306329 else throw("Strict value is not equal to itself.")
307330 }
308331 else if ((lastIterationLen != 0))
309332 then {
310333 let params = prepareParams(arrKeys, arrValues, lastIterationLen)
311334 let newString = iterateMakeJSON(params, res, lastIterationLen)
312335 $Tuple2(nil, (("{" + dropRight(newString, 1)) + "}"))
313336 }
314337 else $Tuple2(nil, (("{" + dropRight(res, 1)) + "}")))
315338
316339
317340
318341 @Callable(i)
319342 func makeJSON (arrKeys,arrValues) = if ((size(arrKeys) != size(arrValues)))
320343 then throw("ArrayKeys and ArrayValues length must be equal")
321344 else {
322345 let len = size(arrKeys)
323346 let iterationsCount = fraction(1, len, 10)
324347 let lastIterationLen = (len % 10)
325348 let res = invoke(this, "makeJSONInternal", [arrKeys, arrValues, iterationsCount, lastIterationLen, ""], nil)
326349 if ((res == res))
327350 then $Tuple2(nil, res)
328351 else throw("Strict value is not equal to itself.")
329352 }
330353
331354
332355
333356 @Callable(i)
334357 func addToJSON (json,arrKeys,arrValues) = if ((size(arrKeys) != size(arrValues)))
335358 then throw("ArrayKeys and ArrayValues length must be equal")
336359 else {
337360 let len = size(arrKeys)
338361 let iterationsCount = fraction(1, len, 10)
339362 let lastIterationLen = (len % 10)
340363 let res = invoke(this, "makeJSONInternal", [arrKeys, arrValues, iterationsCount, lastIterationLen, (drop(dropRight(json, 1), 1) + ",")], nil)
341364 if ((res == res))
342365 then $Tuple2(nil, res)
343366 else throw("Strict value is not equal to itself.")
344367 }
345368
346369
347370
348371 @Callable(i)
349372 func readByJSONKey (json,key) = {
350373 let valueByKey = readByKeyInternal(json, key)
351374 $Tuple2([StringEntry("valueByKey", valueByKey)], valueByKey)
352375 }
353376
354377
355378
356379 @Callable(i)
357380 func deleteByJSONKey (json,key) = {
358- let $t01290813259 = deleteByKeyInternal(json, key)
359- let deletedValueByKey = $t01290813259._1
360- let newJson = $t01290813259._2
381+ let $t01352413875 = deleteByKeyInternal(json, key)
382+ let deletedValueByKey = $t01352413875._1
383+ let newJson = $t01352413875._2
361384 $Tuple2([StringEntry("deletedValue", deletedValueByKey), StringEntry(kJsonRes, newJson)], $Tuple2(deletedValueByKey, newJson))
362385 }
363386
364387

github/deemru/w8io/873ac7e 
45.21 ms