tx · BPzqg7Lsc8uUVpH6ZuUfDMnQ1Efz6h71pcgQdYDnBzBi

3MrGaZVRhknEGfHJ19ttUPNnDRoFqcHhVN7:  -0.01000000 Waves

2023.03.15 21:12 [2491485] smart account 3MrGaZVRhknEGfHJ19ttUPNnDRoFqcHhVN7 > SELF 0.00000000 Waves

{ "type": 13, "id": "BPzqg7Lsc8uUVpH6ZuUfDMnQ1Efz6h71pcgQdYDnBzBi", "fee": 1000000, "feeAssetId": null, "timestamp": 1678903942812, "version": 2, "chainId": 84, "sender": "3MrGaZVRhknEGfHJ19ttUPNnDRoFqcHhVN7", "senderPublicKey": "CrHxACS7bWTh8cgmgqstvybmgMqR9KtDryGFt5svZhBW", "proofs": [ "3WnVgVxcX3DsFSNGoLL2GrVLmUM4Mp4SLiqtTqV7KXkJp9cNtVSpEbmnHMNo78iy31uiYuNsprpgwt1LqiD5SToJ" ], "script": "base64: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AgNhcnIEYXJyMgkAzAgCCQCUCgIJAJEDAgUDYXJyAAAJAJEDAgUEYXJyMgAACQDMCAIJAJQKAgkAkQMCBQNhcnIAAQkAkQMCBQRhcnIyAAEFA25pbAEJcHJlcGFyZV8zAgNhcnIEYXJyMgkAzAgCCQCUCgIJAJEDAgUDYXJyAAAJAJEDAgUEYXJyMgAACQDMCAIJAJQKAgkAkQMCBQNhcnIAAQkAkQMCBQRhcnIyAAEJAMwIAgkAlAoCCQCRAwIFA2FycgACCQCRAwIFBGFycjIAAgUDbmlsAQlwcmVwYXJlXzQCA2FycgRhcnIyCQDMCAIJAJQKAgkAkQMCBQNhcnIAAAkAkQMCBQRhcnIyAAAJAMwIAgkAlAoCCQCRAwIFA2FycgABCQCRAwIFBGFycjIAAQkAzAgCCQCUCgIJAJEDAgUDYXJyAAIJAJEDAgUEYXJyMgACCQDMCAIJAJQKAgkAkQMCBQNhcnIAAwkAkQMCBQRhcnIyAAMFA25pbAEJcHJlcGFyZV81AgNhcnIEYXJyMgkAzAgCCQCUCgIJAJEDAgUDYXJyAAAJAJEDAgUEYXJyMgAACQDMCAIJAJQKAgkAkQMCBQNhcnIAAQkAkQMCBQRhcnIyAAEJAMwIAgkAlAoCCQCRAwIFA2FycgACCQCRAwIFBGFycjIAAgkAzAgCCQCUCgIJAJEDAgUDYXJyAAMJAJEDAgUEYXJyMgADCQDMCAIJAJQKAgkAkQMCBQNhcnIABAkAkQMCBQRhcnIyAAQFA25pbAEJcHJlcGFyZV82AgNhcnIEYXJyMgkAzAgCCQCUCgIJAJEDAgUDYXJyAAAJAJEDAgUEYXJyMgAACQDMCAIJAJQKAgkAkQMCBQNhcnIAAQkAkQMCBQRhcnIyAAEJAMwIAgkAlAoCCQCRAwIFA2FycgACCQCRAwIFBGFycjIAAgkAzAgCCQCUCgIJAJEDAgUDYXJyAAMJAJEDAgUEYXJyMgADCQDMCAIJAJQKAgkAkQMCBQNhcnIABAkAkQMCBQRhcnIyAAQJAMwIAgkAlAoCCQCRAwIFA2FycgAFCQCRAwIFBGFycjIABQUDbmlsAQlwcmVwYXJlXzcCA2FycgRhcnIyCQDMCAIJAJQKAgkAkQMCBQNhcnIAAAkAkQMCBQRhcnIyAAAJAMwIAgkAlAoCCQCRAwIFA2FycgABCQCRAwIFBGFycjIAAQkAzAgCCQCUCgIJAJEDAgUDYXJyAAIJAJEDAgUEYXJyMgACCQDMCAIJAJQKAgkAkQMCBQNhcnIAAwkAkQMCBQRhcnIyAAMJAMwIAgkAlAoCCQCRAwIFA2FycgAECQCRAwIFBGFycjIABAkAzAgCCQCUCgIJAJEDAgUDYXJyAAUJAJEDAgUEYXJyMgAFCQDMCAIJAJQKAgkAkQMCBQNhcnIABgkAkQMCBQRhcnIyAAYFA25pbAEJcHJlcGFyZV84AgNhcnIEYXJyMgkAzAgCCQCUCgIJAJEDAgUDYXJyAAAJAJEDAgUEYXJyMgAACQDMCAIJAJQKAgkAkQMCBQNhcnIAAQkAkQMCBQRhcnIyAAEJAMwIAgkAlAoCCQCRAwIFA2FycgACCQCRAwIFBGFycjIAAgkAzAgCCQCUCgIJAJEDAgUDYXJyAAMJAJEDAgUEYXJyMgADCQDMCAIJAJQKAgkAkQMCBQNhcnIABAkAkQMCBQRhcnIyAAQJAMwIAgkAlAoCCQCRAwIFA2FycgAFCQCRAwIFBGFycjIABQkAzAgCCQCUCgIJAJEDAgUDYXJyAAYJAJEDAgUEYXJyMgAGCQDMCAIJAJQKAgkAkQMCBQNhcnIABwkAkQMCBQRhcnIyAAcFA25pbAEJcHJlcGFyZV85AgNhcnIEYXJyMgkAzAgCCQCUCgIJAJEDAgUDYXJyAAAJAJEDAgUEYXJyMgAACQDMCAIJAJQKAgkAkQMCBQNhcnIAAQkAkQMCBQRhcnIyAAEJAMwIAgkAlAoCCQCRAwIFA2FycgACCQCRAwIFBGFycjIAAgkAzAgCCQCUCgIJAJEDAgUDYXJyAAMJAJEDAgUEYXJyMgADCQDMCAIJAJQKAgkAkQMCBQNhcnIABAkAkQMCBQRhcnIyAAQJAMwIAgkAlAoCCQCRAwIFA2FycgAFCQCRAwIFBGFycjIABQkAzAgCCQCUCgIJAJEDAgUDYXJyAAYJAJEDAgUEYXJyMgAGCQDMCAIJAJQKAgkAkQMCBQNhcnIABwkAkQMCBQRhcnIyAAcJAMwIAgkAlAoCCQCRAwIFA2FycgAICQCRAwIFBGFycjIACAUDbmlsAQpwcmVwYXJlXzEwAgNhcnIEYXJyMgkAzAgCCQCUCgIJAJEDAgUDYXJyAAAJAJEDAgUEYXJyMgAACQDMCAIJAJQKAgkAkQMCBQNhcnIAAQkAkQMCBQRhcnIyAAEJAMwIAgkAlAoCCQCRAwIFA2FycgACCQCRAwIFBGFycjIAAgkAzAgCCQCUCgIJAJEDAgUDYXJyAAMJAJEDAgUEYXJyMgADCQDMCAIJAJQKAgkAkQMCBQNhcnIABAkAkQMCBQRhcnIyAAQJAMwIAgkAlAoCCQCRAwIFA2FycgAFCQCRAwIFBGFycjIABQkAzAgCCQCUCgIJAJEDAgUDYXJyAAYJAJEDAgUEYXJyMgAGCQDMCAIJAJQKAgkAkQMCBQNhcnIABwkAkQMCBQRhcnIyAAcJAMwIAgkAlAoCCQCRAwIFA2FycgAICQCRAwIFBGFycjIACAkAzAgCCQCUCgIJAJEDAgUDYXJyAAkJAJEDAgUEYXJyMgAJBQNuaWwBDXByZXBhcmVQYXJhbXMDEmN1cnJlbnRBcnJQYXJ0S2V5cxRjdXJyZW50QXJyUGFydFZhbHVlcwZsZW5ndGgDCQAAAgUGbGVuZ3RoAAAJAAIBAg1FbXB0eSAgcGFyYW1zAwkAAAIFBmxlbmd0aAABCQEJcHJlcGFyZV8xAgUSY3VycmVudEFyclBhcnRLZXlzBRRjdXJyZW50QXJyUGFydFZhbHVlcwMJAAACBQZsZW5ndGgAAgkBCXByZXBhcmVfMgIFEmN1cnJlbnRBcnJQYXJ0S2V5cwUUY3VycmVudEFyclBhcnRWYWx1ZXMDCQAAAgUGbGVuZ3RoAAMJAQlwcmVwYXJlXzMCBRJjdXJyZW50QXJyUGFydEtleXMFFGN1cnJlbnRBcnJQYXJ0VmFsdWVzAwkAAAIFBmxlbmd0aAAECQEJcHJlcGFyZV80AgUSY3VycmVudEFyclBhcnRLZXlzBRRjdXJyZW50QXJyUGFydFZhbHVlcwMJAAACBQZsZW5ndGgABQkBCXByZXBhcmVfNQIFEmN1cnJlbnRBcnJQYXJ0S2V5cwUUY3VycmVudEFyclBhcnRWYWx1ZXMDCQAAAgUGbGVuZ3RoAAYJAQlwcmVwYXJlXzYCBRJjdXJyZW50QXJyUGFydEtleXMFFGN1cnJlbnRBcnJQYXJ0VmFsdWVzAwkAAAIFBmxlbmd0aAAHCQEJcHJlcGFyZV83AgUSY3VycmVudEFyclBhcnRLZXlzBRRjdXJyZW50QXJyUGFydFZhbHVlcwMJAAACBQZsZW5ndGgACAkBCXByZXBhcmVfOAIFEmN1cnJlbnRBcnJQYXJ0S2V5cwUUY3VycmVudEFyclBhcnRWYWx1ZXMDCQAAAgUGbGVuZ3RoAAkJAQlwcmVwYXJlXzkCBRJjdXJyZW50QXJyUGFydEtleXMFFGN1cnJlbnRBcnJQYXJ0VmFsdWVzAwkAAAIFBmxlbmd0aAAKCQEKcHJlcGFyZV8xMAIFEmN1cnJlbnRBcnJQYXJ0S2V5cwUUY3VycmVudEFyclBhcnRWYWx1ZXMJAAIBAiFNYXggbnVtYmVyIG9mIHBhcmFtZXRlcnMgZXhjZWVkZWQBFWdldFN0YXJ0QW5kRW5kSW5kZXhlcwIEanNvbgNrZXkEBmtleUxlbgkAsQIBBQNrZXkECnN0YXJ0SW5kZXgJAQV2YWx1ZQEJALMJAgUEanNvbgUDa2V5BAhlbmRJbmRleAkBC3ZhbHVlT3JFbHNlAgkAtAkDBQRqc29uAgEsBQpzdGFydEluZGV4CQEFdmFsdWUBCQC0CQMFBGpzb24CAX0FCnN0YXJ0SW5kZXgJAJUKAwUGa2V5TGVuBQpzdGFydEluZGV4BQhlbmRJbmRleAERcmVhZEJ5S2V5SW50ZXJuYWwCBGpzb24Da2V5BAskdDA2MzA1NjQxOAkBFWdldFN0YXJ0QW5kRW5kSW5kZXhlcwIFBGpzb24FA2tleQQGa2V5TGVuCAULJHQwNjMwNTY0MTgCXzEECnN0YXJ0SW5kZXgIBQskdDA2MzA1NjQxOAJfMgQIZW5kSW5kZXgIBQskdDA2MzA1NjQxOAJfMwkAsAICCQCvAgIFBGpzb24JAGUCBQhlbmRJbmRleAABCQBkAgkAZAIFCnN0YXJ0SW5kZXgFBmtleUxlbgADARNkZWxldGVCeUtleUludGVybmFsAgRqc29uA2tleQQLJHQwNjY5MjY4MTYJARVnZXRTdGFydEFuZEVuZEluZGV4ZXMCBQRqc29uBQNrZXkEBmtleUxlbggFCyR0MDY2OTI2ODE2Al8xBApzdGFydEluZGV4CAULJHQwNjY5MjY4MTYCXzIECGVuZEluZGV4CAULJHQwNjY5MjY4MTYCXzMEDGRlbGV0ZWRWYWx1ZQkAsAICCQCvAgIFBGpzb24JAGUCBQhlbmRJbmRleAABCQBkAgkAZAIFCnN0YXJ0SW5kZXgFBmtleUxlbgADBAduZXdKc29uAwkAAAIJAGUCCQCxAgEFBGpzb24FCGVuZEluZGV4AAEJAKwCAgkArwICBQRqc29uCQBlAgUKc3RhcnRJbmRleAACCQCwAgIFBGpzb24FCGVuZEluZGV4CQCsAgIJAK8CAgUEanNvbgkAZQIFCnN0YXJ0SW5kZXgAAQkAsAICBQRqc29uCQBkAgUIZW5kSW5kZXgAAQkAlAoCBQxkZWxldGVkVmFsdWUFB25ld0pzb24FAWkBEG1ha2VKU09OSW50ZXJuYWwFB2FycktleXMJYXJyVmFsdWVzD2l0ZXJhdGlvbnNDb3VudBBsYXN0SXRlcmF0aW9uTGVuA3JlcwkBC3ZhbHVlT3JFbHNlAgkBDG9ubHlJbnRlcm5hbAEIBQFpBmNhbGxlcgMJAGYCBQ9pdGVyYXRpb25zQ291bnQAAAQLJHQwNzkxNDgwNzYJAQ5nZXRQYXJ0QW5kVGFpbAEFB2FycktleXMEEmN1cnJlbnRBcnJQYXJ0S2V5cwgFCyR0MDc5MTQ4MDc2Al8xBAthcnJUYWlsS2V5cwgFCyR0MDc5MTQ4MDc2Al8yBAskdDA4MDg1ODIwMAkBDmdldFBhcnRBbmRUYWlsAQUJYXJyVmFsdWVzBBRjdXJyZW50QXJyUGFydFZhbHVlcwgFCyR0MDgwODU4MjAwAl8xBA1hcnJUYWlsVmFsdWVzCAULJHQwODA4NTgyMDACXzIEBnBhcmFtcwkBDXByZXBhcmVQYXJhbXMDBRJjdXJyZW50QXJyUGFydEtleXMFFGN1cnJlbnRBcnJQYXJ0VmFsdWVzAAoECW5ld1N0cmluZwkBD2l0ZXJhdGVNYWtlSlNPTgMFBnBhcmFtcwUDcmVzAAoEBnJlc3VsdAkA/AcEBQR0aGlzAhBtYWtlSlNPTkludGVybmFsCQDMCAIFC2FyclRhaWxLZXlzCQDMCAIFDWFyclRhaWxWYWx1ZXMJAMwIAgkAZQIFD2l0ZXJhdGlvbnNDb3VudAABCQDMCAIFEGxhc3RJdGVyYXRpb25MZW4JAMwIAgUJbmV3U3RyaW5nBQNuaWwFA25pbAMJAAACBQZyZXN1bHQFBnJlc3VsdAkAlAoCBQNuaWwFBnJlc3VsdAkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgMJAQIhPQIFEGxhc3RJdGVyYXRpb25MZW4AAAQGcGFyYW1zCQENcHJlcGFyZVBhcmFtcwMFB2FycktleXMFCWFyclZhbHVlcwUQbGFzdEl0ZXJhdGlvbkxlbgQJbmV3U3RyaW5nCQEPaXRlcmF0ZU1ha2VKU09OAwUGcGFyYW1zBQNyZXMFEGxhc3RJdGVyYXRpb25MZW4JAJQKAgUDbmlsCQCsAgIJAKwCAgIBewkAswICBQluZXdTdHJpbmcAAQIBfQkAlAoCBQNuaWwJAKwCAgkArAICAgF7CQCzAgIFA3JlcwABAgF9AWkBCG1ha2VKU09OAgdhcnJLZXlzCWFyclZhbHVlcwMJAQIhPQIJAJADAQUHYXJyS2V5cwkAkAMBBQlhcnJWYWx1ZXMJAAIBAi5BcnJheUtleXMgYW5kIEFycmF5VmFsdWVzIGxlbmd0aCBtdXN0IGJlIGVxdWFsBANsZW4JAJADAQUHYXJyS2V5cwQPaXRlcmF0aW9uc0NvdW50CQBrAwABBQNsZW4ACgQQbGFzdEl0ZXJhdGlvbkxlbgkAagIFA2xlbgAKBANyZXMJAPwHBAUEdGhpcwIQbWFrZUpTT05JbnRlcm5hbAkAzAgCBQdhcnJLZXlzCQDMCAIFCWFyclZhbHVlcwkAzAgCBQ9pdGVyYXRpb25zQ291bnQJAMwIAgUQbGFzdEl0ZXJhdGlvbkxlbgkAzAgCAgAFA25pbAUDbmlsAwkAAAIFA3JlcwUDcmVzCQCUCgIJAMwIAgkBC1N0cmluZ0VudHJ5AgUIa0pzb25SZXMKAAFABQNyZXMDCQABAgUBQAIGU3RyaW5nBQFACQACAQkArAICCQADAQUBQAIbIGNvdWxkbid0IGJlIGNhc3QgdG8gU3RyaW5nBQNuaWwFA3JlcwkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgFpAQlhZGRUb0pTT04CB2FycktleXMJYXJyVmFsdWVzAwkBAiE9AgkAkAMBBQdhcnJLZXlzCQCQAwEFCWFyclZhbHVlcwkAAgECLkFycmF5S2V5cyBhbmQgQXJyYXlWYWx1ZXMgbGVuZ3RoIG11c3QgYmUgZXF1YWwEB29sZEpzb24JARFAZXh0ck5hdGl2ZSgxMDUzKQIFBHRoaXMFCGtKc29uUmVzBANsZW4JAJADAQUHYXJyS2V5cwQPaXRlcmF0aW9uc0NvdW50CQBrAwABBQNsZW4ACgQQbGFzdEl0ZXJhdGlvbkxlbgkAagIFA2xlbgAKBANyZXMJAPwHBAUEdGhpcwIQbWFrZUpTT05JbnRlcm5hbAkAzAgCBQdhcnJLZXlzCQDMCAIFCWFyclZhbHVlcwkAzAgCBQ9pdGVyYXRpb25zQ291bnQJAMwIAgUQbGFzdEl0ZXJhdGlvbkxlbgkAzAgCCQCsAgIJALACAgkAswICBQdvbGRKc29uAAEAAQIBLAUDbmlsBQNuaWwDCQAAAgUDcmVzBQNyZXMJAJQKAgkAzAgCCQELU3RyaW5nRW50cnkCBQhrSnNvblJlcwoAAUAFA3JlcwMJAAECBQFAAgZTdHJpbmcFAUAJAAIBCQCsAgIJAAMBBQFAAhsgY291bGRuJ3QgYmUgY2FzdCB0byBTdHJpbmcFA25pbAUDcmVzCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuAWkBDXJlYWRCeUpTT05LZXkBA2tleQQEanNvbgkBEUBleHRyTmF0aXZlKDEwNTMpAgUEdGhpcwUIa0pzb25SZXMECnZhbHVlQnlLZXkJARFyZWFkQnlLZXlJbnRlcm5hbAIFBGpzb24FA2tleQkAlAoCBQNuaWwFCnZhbHVlQnlLZXkBaQEPZGVsZXRlQnlKU09OS2V5AQNrZXkEBGpzb24JARFAZXh0ck5hdGl2ZSgxMDUzKQIFBHRoaXMFCGtKc29uUmVzBA0kdDAxMjQ1MDEyODAxCQETZGVsZXRlQnlLZXlJbnRlcm5hbAIFBGpzb24FA2tleQQRZGVsZXRlZFZhbHVlQnlLZXkIBQ0kdDAxMjQ1MDEyODAxAl8xBAduZXdKc29uCAUNJHQwMTI0NTAxMjgwMQJfMgkAlAoCCQDMCAIJAQtTdHJpbmdFbnRyeQICDGRlbGV0ZWRWYWx1ZQURZGVsZXRlZFZhbHVlQnlLZXkJAMwIAgkBC1N0cmluZ0VudHJ5AgUIa0pzb25SZXMFB25ld0pzb24FA25pbAkAlAoCBRFkZWxldGVkVmFsdWVCeUtleQUHbmV3SnNvbgCmqe5L", "height": 2491485, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: BuBWueuydaMGpoTGtjLX3bzUxeje1Qvf3PjWgCStpGFH Next: XyLeQwua57Yyck16LnQk3MdhgPCfXZoCezAGiXzDEGJ Diff:
OldNewDifferences
316316 let lastIterationLen = (len % 10)
317317 let res = invoke(this, "makeJSONInternal", [arrKeys, arrValues, iterationsCount, lastIterationLen, ""], nil)
318318 if ((res == res))
319- then $Tuple2(nil, res)
319+ then $Tuple2([StringEntry(kJsonRes, {
320+ let @ = res
321+ if ($isInstanceOf(@, "String"))
322+ then @
323+ else throw(($getType(@) + " couldn't be cast to String"))
324+ })], res)
320325 else throw("Strict value is not equal to itself.")
321326 }
322327
332337 let lastIterationLen = (len % 10)
333338 let res = invoke(this, "makeJSONInternal", [arrKeys, arrValues, iterationsCount, lastIterationLen, (drop(dropRight(oldJson, 1), 1) + ",")], nil)
334339 if ((res == res))
335- then $Tuple2(nil, res)
340+ then $Tuple2([StringEntry(kJsonRes, {
341+ let @ = res
342+ if ($isInstanceOf(@, "String"))
343+ then @
344+ else throw(($getType(@) + " couldn't be cast to String"))
345+ })], res)
336346 else throw("Strict value is not equal to itself.")
337347 }
338348
350360 @Callable(i)
351361 func deleteByJSONKey (key) = {
352362 let json = getStringValue(this, kJsonRes)
353- let $t01245012580 = deleteByKeyInternal(json, key)
354- let deletedValueByKey = $t01245012580._1
355- let newJson = $t01245012580._2
356- $Tuple2(nil, $Tuple2(deletedValueByKey, newJson))
363+ let $t01245012801 = deleteByKeyInternal(json, key)
364+ let deletedValueByKey = $t01245012801._1
365+ let newJson = $t01245012801._2
366+ $Tuple2([StringEntry("deletedValue", deletedValueByKey), StringEntry(kJsonRes, newJson)], $Tuple2(deletedValueByKey, newJson))
357367 }
358368
359369
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) = (((((((quote + nextValue._1) + quote) + ":") + quote) + nextValue._2) + quote) + ",")
99
1010
1111 func reducerMakeJSON (accum,nextValue) = (accum + makeField(nextValue))
1212
1313
1414 func iterateMakeJSON (params,res,length) = if ((length == 0))
1515 then throw("Empty params")
1616 else if ((length == 1))
1717 then {
1818 let $l = params
1919 let $s = size($l)
2020 let $acc0 = res
2121 func $f0_1 ($a,$i) = if (($i >= $s))
2222 then $a
2323 else reducerMakeJSON($a, $l[$i])
2424
2525 func $f0_2 ($a,$i) = if (($i >= $s))
2626 then $a
2727 else throw("List size exceeds 1")
2828
2929 $f0_2($f0_1($acc0, 0), 1)
3030 }
3131 else if ((length == 2))
3232 then {
3333 let $l = params
3434 let $s = size($l)
3535 let $acc0 = res
3636 func $f0_1 ($a,$i) = if (($i >= $s))
3737 then $a
3838 else reducerMakeJSON($a, $l[$i])
3939
4040 func $f0_2 ($a,$i) = if (($i >= $s))
4141 then $a
4242 else throw("List size exceeds 2")
4343
4444 $f0_2($f0_1($f0_1($acc0, 0), 1), 2)
4545 }
4646 else if ((length == 3))
4747 then {
4848 let $l = params
4949 let $s = size($l)
5050 let $acc0 = res
5151 func $f0_1 ($a,$i) = if (($i >= $s))
5252 then $a
5353 else reducerMakeJSON($a, $l[$i])
5454
5555 func $f0_2 ($a,$i) = if (($i >= $s))
5656 then $a
5757 else throw("List size exceeds 3")
5858
5959 $f0_2($f0_1($f0_1($f0_1($acc0, 0), 1), 2), 3)
6060 }
6161 else if ((length == 4))
6262 then {
6363 let $l = params
6464 let $s = size($l)
6565 let $acc0 = res
6666 func $f0_1 ($a,$i) = if (($i >= $s))
6767 then $a
6868 else reducerMakeJSON($a, $l[$i])
6969
7070 func $f0_2 ($a,$i) = if (($i >= $s))
7171 then $a
7272 else throw("List size exceeds 4")
7373
7474 $f0_2($f0_1($f0_1($f0_1($f0_1($acc0, 0), 1), 2), 3), 4)
7575 }
7676 else if ((length == 5))
7777 then {
7878 let $l = params
7979 let $s = size($l)
8080 let $acc0 = res
8181 func $f0_1 ($a,$i) = if (($i >= $s))
8282 then $a
8383 else reducerMakeJSON($a, $l[$i])
8484
8585 func $f0_2 ($a,$i) = if (($i >= $s))
8686 then $a
8787 else throw("List size exceeds 5")
8888
8989 $f0_2($f0_1($f0_1($f0_1($f0_1($f0_1($acc0, 0), 1), 2), 3), 4), 5)
9090 }
9191 else if ((length == 6))
9292 then {
9393 let $l = params
9494 let $s = size($l)
9595 let $acc0 = res
9696 func $f0_1 ($a,$i) = if (($i >= $s))
9797 then $a
9898 else reducerMakeJSON($a, $l[$i])
9999
100100 func $f0_2 ($a,$i) = if (($i >= $s))
101101 then $a
102102 else throw("List size exceeds 6")
103103
104104 $f0_2($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($acc0, 0), 1), 2), 3), 4), 5), 6)
105105 }
106106 else if ((length == 7))
107107 then {
108108 let $l = params
109109 let $s = size($l)
110110 let $acc0 = res
111111 func $f0_1 ($a,$i) = if (($i >= $s))
112112 then $a
113113 else reducerMakeJSON($a, $l[$i])
114114
115115 func $f0_2 ($a,$i) = if (($i >= $s))
116116 then $a
117117 else throw("List size exceeds 7")
118118
119119 $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)
120120 }
121121 else if ((length == 8))
122122 then {
123123 let $l = params
124124 let $s = size($l)
125125 let $acc0 = res
126126 func $f0_1 ($a,$i) = if (($i >= $s))
127127 then $a
128128 else reducerMakeJSON($a, $l[$i])
129129
130130 func $f0_2 ($a,$i) = if (($i >= $s))
131131 then $a
132132 else throw("List size exceeds 8")
133133
134134 $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)
135135 }
136136 else if ((length == 9))
137137 then {
138138 let $l = params
139139 let $s = size($l)
140140 let $acc0 = res
141141 func $f0_1 ($a,$i) = if (($i >= $s))
142142 then $a
143143 else reducerMakeJSON($a, $l[$i])
144144
145145 func $f0_2 ($a,$i) = if (($i >= $s))
146146 then $a
147147 else throw("List size exceeds 9")
148148
149149 $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)
150150 }
151151 else if ((length == 10))
152152 then {
153153 let $l = params
154154 let $s = size($l)
155155 let $acc0 = res
156156 func $f0_1 ($a,$i) = if (($i >= $s))
157157 then $a
158158 else reducerMakeJSON($a, $l[$i])
159159
160160 func $f0_2 ($a,$i) = if (($i >= $s))
161161 then $a
162162 else throw("List size exceeds 10")
163163
164164 $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)
165165 }
166166 else throw("The max number of parameters exceeded")
167167
168168
169169 func getPartAndTail (arr) = {
170170 let el0 = arr[0]
171171 let el1 = arr[1]
172172 let el2 = arr[2]
173173 let el3 = arr[3]
174174 let el4 = arr[4]
175175 let el5 = arr[5]
176176 let el6 = arr[6]
177177 let el7 = arr[7]
178178 let el8 = arr[8]
179179 let el9 = arr[9]
180180 let arr0 = removeByIndex(arr, 0)
181181 let arr1 = removeByIndex(arr0, 0)
182182 let arr2 = removeByIndex(arr1, 0)
183183 let arr3 = removeByIndex(arr2, 0)
184184 let arr4 = removeByIndex(arr3, 0)
185185 let arr5 = removeByIndex(arr4, 0)
186186 let arr6 = removeByIndex(arr5, 0)
187187 let arr7 = removeByIndex(arr6, 0)
188188 let arr8 = removeByIndex(arr7, 0)
189189 let arr9 = removeByIndex(arr8, 0)
190190 $Tuple2([el0, el1, el2, el3, el4, el5, el6, el7, el8, el9], arr9)
191191 }
192192
193193
194194 func onlyInternal (caller) = if ((caller == this))
195195 then unit
196196 else throw("Only internal call")
197197
198198
199199 func prepare_1 (arr,arr2) = [$Tuple2(arr[0], arr2[0])]
200200
201201
202202 func prepare_2 (arr,arr2) = [$Tuple2(arr[0], arr2[0]), $Tuple2(arr[1], arr2[1])]
203203
204204
205205 func prepare_3 (arr,arr2) = [$Tuple2(arr[0], arr2[0]), $Tuple2(arr[1], arr2[1]), $Tuple2(arr[2], arr2[2])]
206206
207207
208208 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])]
209209
210210
211211 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])]
212212
213213
214214 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])]
215215
216216
217217 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])]
218218
219219
220220 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])]
221221
222222
223223 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])]
224224
225225
226226 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])]
227227
228228
229229 func prepareParams (currentArrPartKeys,currentArrPartValues,length) = if ((length == 0))
230230 then throw("Empty params")
231231 else if ((length == 1))
232232 then prepare_1(currentArrPartKeys, currentArrPartValues)
233233 else if ((length == 2))
234234 then prepare_2(currentArrPartKeys, currentArrPartValues)
235235 else if ((length == 3))
236236 then prepare_3(currentArrPartKeys, currentArrPartValues)
237237 else if ((length == 4))
238238 then prepare_4(currentArrPartKeys, currentArrPartValues)
239239 else if ((length == 5))
240240 then prepare_5(currentArrPartKeys, currentArrPartValues)
241241 else if ((length == 6))
242242 then prepare_6(currentArrPartKeys, currentArrPartValues)
243243 else if ((length == 7))
244244 then prepare_7(currentArrPartKeys, currentArrPartValues)
245245 else if ((length == 8))
246246 then prepare_8(currentArrPartKeys, currentArrPartValues)
247247 else if ((length == 9))
248248 then prepare_9(currentArrPartKeys, currentArrPartValues)
249249 else if ((length == 10))
250250 then prepare_10(currentArrPartKeys, currentArrPartValues)
251251 else throw("Max number of parameters exceeded")
252252
253253
254254 func getStartAndEndIndexes (json,key) = {
255255 let keyLen = size(key)
256256 let startIndex = value(indexOf(json, key))
257257 let endIndex = valueOrElse(indexOf(json, ",", startIndex), value(indexOf(json, "}", startIndex)))
258258 $Tuple3(keyLen, startIndex, endIndex)
259259 }
260260
261261
262262 func readByKeyInternal (json,key) = {
263263 let $t063056418 = getStartAndEndIndexes(json, key)
264264 let keyLen = $t063056418._1
265265 let startIndex = $t063056418._2
266266 let endIndex = $t063056418._3
267267 drop(take(json, (endIndex - 1)), ((startIndex + keyLen) + 3))
268268 }
269269
270270
271271 func deleteByKeyInternal (json,key) = {
272272 let $t066926816 = getStartAndEndIndexes(json, key)
273273 let keyLen = $t066926816._1
274274 let startIndex = $t066926816._2
275275 let endIndex = $t066926816._3
276276 let deletedValue = drop(take(json, (endIndex - 1)), ((startIndex + keyLen) + 3))
277277 let newJson = if (((size(json) - endIndex) == 1))
278278 then (take(json, (startIndex - 2)) + drop(json, endIndex))
279279 else (take(json, (startIndex - 1)) + drop(json, (endIndex + 1)))
280280 $Tuple2(deletedValue, newJson)
281281 }
282282
283283
284284 @Callable(i)
285285 func makeJSONInternal (arrKeys,arrValues,iterationsCount,lastIterationLen,res) = valueOrElse(onlyInternal(i.caller), if ((iterationsCount > 0))
286286 then {
287287 let $t079148076 = getPartAndTail(arrKeys)
288288 let currentArrPartKeys = $t079148076._1
289289 let arrTailKeys = $t079148076._2
290290 let $t080858200 = getPartAndTail(arrValues)
291291 let currentArrPartValues = $t080858200._1
292292 let arrTailValues = $t080858200._2
293293 let params = prepareParams(currentArrPartKeys, currentArrPartValues, 10)
294294 let newString = iterateMakeJSON(params, res, 10)
295295 let result = invoke(this, "makeJSONInternal", [arrTailKeys, arrTailValues, (iterationsCount - 1), lastIterationLen, newString], nil)
296296 if ((result == result))
297297 then $Tuple2(nil, result)
298298 else throw("Strict value is not equal to itself.")
299299 }
300300 else if ((lastIterationLen != 0))
301301 then {
302302 let params = prepareParams(arrKeys, arrValues, lastIterationLen)
303303 let newString = iterateMakeJSON(params, res, lastIterationLen)
304304 $Tuple2(nil, (("{" + dropRight(newString, 1)) + "}"))
305305 }
306306 else $Tuple2(nil, (("{" + dropRight(res, 1)) + "}")))
307307
308308
309309
310310 @Callable(i)
311311 func makeJSON (arrKeys,arrValues) = if ((size(arrKeys) != size(arrValues)))
312312 then throw("ArrayKeys and ArrayValues length must be equal")
313313 else {
314314 let len = size(arrKeys)
315315 let iterationsCount = fraction(1, len, 10)
316316 let lastIterationLen = (len % 10)
317317 let res = invoke(this, "makeJSONInternal", [arrKeys, arrValues, iterationsCount, lastIterationLen, ""], nil)
318318 if ((res == res))
319- then $Tuple2(nil, res)
319+ then $Tuple2([StringEntry(kJsonRes, {
320+ let @ = res
321+ if ($isInstanceOf(@, "String"))
322+ then @
323+ else throw(($getType(@) + " couldn't be cast to String"))
324+ })], res)
320325 else throw("Strict value is not equal to itself.")
321326 }
322327
323328
324329
325330 @Callable(i)
326331 func addToJSON (arrKeys,arrValues) = if ((size(arrKeys) != size(arrValues)))
327332 then throw("ArrayKeys and ArrayValues length must be equal")
328333 else {
329334 let oldJson = getStringValue(this, kJsonRes)
330335 let len = size(arrKeys)
331336 let iterationsCount = fraction(1, len, 10)
332337 let lastIterationLen = (len % 10)
333338 let res = invoke(this, "makeJSONInternal", [arrKeys, arrValues, iterationsCount, lastIterationLen, (drop(dropRight(oldJson, 1), 1) + ",")], nil)
334339 if ((res == res))
335- then $Tuple2(nil, res)
340+ then $Tuple2([StringEntry(kJsonRes, {
341+ let @ = res
342+ if ($isInstanceOf(@, "String"))
343+ then @
344+ else throw(($getType(@) + " couldn't be cast to String"))
345+ })], res)
336346 else throw("Strict value is not equal to itself.")
337347 }
338348
339349
340350
341351 @Callable(i)
342352 func readByJSONKey (key) = {
343353 let json = getStringValue(this, kJsonRes)
344354 let valueByKey = readByKeyInternal(json, key)
345355 $Tuple2(nil, valueByKey)
346356 }
347357
348358
349359
350360 @Callable(i)
351361 func deleteByJSONKey (key) = {
352362 let json = getStringValue(this, kJsonRes)
353- let $t01245012580 = deleteByKeyInternal(json, key)
354- let deletedValueByKey = $t01245012580._1
355- let newJson = $t01245012580._2
356- $Tuple2(nil, $Tuple2(deletedValueByKey, newJson))
363+ let $t01245012801 = deleteByKeyInternal(json, key)
364+ let deletedValueByKey = $t01245012801._1
365+ let newJson = $t01245012801._2
366+ $Tuple2([StringEntry("deletedValue", deletedValueByKey), StringEntry(kJsonRes, newJson)], $Tuple2(deletedValueByKey, newJson))
357367 }
358368
359369

github/deemru/w8io/169f3d6 
65.08 ms