tx · K5NMyKgt2XicGC6CQb6VTj1efXJdV7Cq1c9YDKgcVFd

3MrGaZVRhknEGfHJ19ttUPNnDRoFqcHhVN7:  -0.01200000 Waves

2023.03.17 23:58 [2494506] smart account 3MrGaZVRhknEGfHJ19ttUPNnDRoFqcHhVN7 > SELF 0.00000000 Waves

{ "type": 13, "id": "K5NMyKgt2XicGC6CQb6VTj1efXJdV7Cq1c9YDKgcVFd", "fee": 1200000, "feeAssetId": null, "timestamp": 1679086803652, "version": 2, "chainId": 84, "sender": "3MrGaZVRhknEGfHJ19ttUPNnDRoFqcHhVN7", "senderPublicKey": "CrHxACS7bWTh8cgmgqstvybmgMqR9KtDryGFt5svZhBW", "proofs": [ "2VPZQSPxtisSjzbt7TU5D8bEwAEYfbtq2YcMP8TUikYf6PPpD4ibYYb7hWPn51vst6mrzftr3k5ZfYx8dWYUNxat" ], "script": "base64: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bmFsIGNhbGwBCXByZXBhcmVfMQIDYXJyBGFycjIJAMwIAgkAlAoCCQCRAwIFA2FycgAACQCRAwIFBGFycjIAAAUDbmlsAQlwcmVwYXJlXzICA2FycgRhcnIyCQDMCAIJAJQKAgkAkQMCBQNhcnIAAAkAkQMCBQRhcnIyAAAJAMwIAgkAlAoCCQCRAwIFA2FycgABCQCRAwIFBGFycjIAAQUDbmlsAQlwcmVwYXJlXzMCA2FycgRhcnIyCQDMCAIJAJQKAgkAkQMCBQNhcnIAAAkAkQMCBQRhcnIyAAAJAMwIAgkAlAoCCQCRAwIFA2FycgABCQCRAwIFBGFycjIAAQkAzAgCCQCUCgIJAJEDAgUDYXJyAAIJAJEDAgUEYXJyMgACBQNuaWwBCXByZXBhcmVfNAIDYXJyBGFycjIJAMwIAgkAlAoCCQCRAwIFA2FycgAACQCRAwIFBGFycjIAAAkAzAgCCQCUCgIJAJEDAgUDYXJyAAEJAJEDAgUEYXJyMgABCQDMCAIJAJQKAgkAkQMCBQNhcnIAAgkAkQMCBQRhcnIyAAIJAMwIAgkAlAoCCQCRAwIFA2FycgADCQCRAwIFBGFycjIAAwUDbmlsAQlwcmVwYXJlXzUCA2FycgRhcnIyCQDMCAIJAJQKAgkAkQMCBQNhcnIAAAkAkQMCBQRhcnIyAAAJAMwIAgkAlAoCCQCRAwIFA2FycgABCQCRAwIFBGFycjIAAQkAzAgCCQCUCgIJAJEDAgUDYXJyAAIJAJEDAgUEYXJyMgACCQDMCAIJAJQKAgkAkQMCBQNhcnIAAwkAkQMCBQRhcnIyAAMJAMwIAgkAlAoCCQCRAwIFA2FycgAECQCRAwIFBGFycjIABAUDbmlsAQlwcmVwYXJlXzYCA2FycgRhcnIyCQDMCAIJAJQKAgkAkQMCBQNhcnIAAAkAkQMCBQRhcnIyAAAJAMwIAgkAlAoCCQCRAwIFA2FycgABCQCRAwIFBGFycjIAAQkAzAgCCQCUCgIJAJEDAgUDYXJyAAIJAJEDAgUEYXJyMgACCQDMCAIJAJQKAgkAkQMCBQNhcnIAAwkAkQMCBQRhcnIyAAMJAMwIAgkAlAoCCQCRAwIFA2FycgAECQCRAwIFBGFycjIABAkAzAgCCQCUCgIJAJEDAgUDYXJyAAUJAJEDAgUEYXJyMgAFBQNuaWwBCXByZXBhcmVfNwIDYXJyBGFycjIJAMwIAgkAlAoCCQCRAwIFA2FycgAACQCRAwIFBGFycjIAAAkAzAgCCQCUCgIJAJEDAgUDYXJyAAEJAJEDAgUEYXJyMgABCQDMCAIJAJQKAgkAkQMCBQNhcnIAAgkAkQMCBQRhcnIyAAIJAMwIAgkAlAoCCQCRAwIFA2FycgADCQCRAwIFBGFycjIAAwkAzAgCCQCUCgIJAJEDAgUDYXJyAAQJAJEDAgUEYXJyMgAECQDMCAIJAJQKAgkAkQMCBQNhcnIABQkAkQMCBQRhcnIyAAUJAMwIAgkAlAoCCQCRAwIFA2FycgAGCQCRAwIFBGFycjIABgUDbmlsAQlwcmVwYXJlXzgCA2FycgRhcnIyCQDMCAIJAJQKAgkAkQMCBQNhcnIAAAkAkQMCBQRhcnIyAAAJAMwIAgkAlAoCCQCRAwIFA2FycgABCQCRAwIFBGFycjIAAQkAzAgCCQCUCgIJAJEDAgUDYXJyAAIJAJEDAgUEYXJyMgACCQDMCAIJAJQKAgkAkQMCBQNhcnIAAwkAkQMCBQRhcnIyAAMJAMwIAgkAlAoCCQCRAwIFA2FycgAECQCRAwIFBGFycjIABAkAzAgCCQCUCgIJAJEDAgUDYXJyAAUJAJEDAgUEYXJyMgAFCQDMCAIJAJQKAgkAkQMCBQNhcnIABgkAkQMCBQRhcnIyAAYJAMwIAgkAlAoCCQCRAwIFA2FycgAHCQCRAwIFBGFycjIABwUDbmlsAQlwcmVwYXJlXzkCA2FycgRhcnIyCQDMCAIJAJQKAgkAkQMCBQNhcnIAAAkAkQMCBQRhcnIyAAAJAMwIAgkAlAoCCQCRAwIFA2FycgABCQCRAwIFBGFycjIAAQkAzAgCCQCUCgIJAJEDAgUDYXJyAAIJAJEDAgUEYXJyMgACCQDMCAIJAJQKAgkAkQMCBQNhcnIAAwkAkQMCBQRhcnIyAAMJAMwIAgkAlAoCCQCRAwIFA2FycgAECQCRAwIFBGFycjIABAkAzAgCCQCUCgIJAJEDAgUDYXJyAAUJAJEDAgUEYXJyMgAFCQDMCAIJAJQKAgkAkQMCBQNhcnIABgkAkQMCBQRhcnIyAAYJAMwIAgkAlAoCCQCRAwIFA2FycgAHCQCRAwIFBGFycjIABwkAzAgCCQCUCgIJAJEDAgUDYXJyAAgJAJEDAgUEYXJyMgAIBQNuaWwBCnByZXBhcmVfMTACA2FycgRhcnIyCQDMCAIJAJQKAgkAkQMCBQNhcnIAAAkAkQMCBQRhcnIyAAAJAMwIAgkAlAoCCQCRAwIFA2FycgABCQCRAwIFBGFycjIAAQkAzAgCCQCUCgIJAJEDAgUDYXJyAAIJAJEDAgUEYXJyMgACCQDMCAIJAJQKAgkAkQMCBQNhcnIAAwkAkQMCBQRhcnIyAAMJAMwIAgkAlAoCCQCRAwIFA2FycgAECQCRAwIFBGFycjIABAkAzAgCCQCUCgIJAJEDAgUDYXJyAAUJAJEDAgUEYXJyMgAFCQDMCAIJAJQKAgkAkQMCBQNhcnIABgkAkQMCBQRhcnIyAAYJAMwIAgkAlAoCCQCRAwIFA2FycgAHCQCRAwIFBGFycjIABwkAzAgCCQCUCgIJAJEDAgUDYXJyAAgJAJEDAgUEYXJyMgAICQDMCAIJAJQKAgkAkQMCBQNhcnIACQkAkQMCBQRhcnIyAAkFA25pbAENcHJlcGFyZVBhcmFtcwMSY3VycmVudEFyclBhcnRLZXlzFGN1cnJlbnRBcnJQYXJ0VmFsdWVzBmxlbmd0aAMJAAACBQZsZW5ndGgAAAkAAgECDUVtcHR5ICBwYXJhbXMDCQAAAgUGbGVuZ3RoAAEJAQlwcmVwYXJlXzECBRJjdXJyZW50QXJyUGFydEtleXMFFGN1cnJlbnRBcnJQYXJ0VmFsdWVzAwkAAAIFBmxlbmd0aAACCQEJcHJlcGFyZV8yAgUSY3VycmVudEFyclBhcnRLZXlzBRRjdXJyZW50QXJyUGFydFZhbHVlcwMJAAACBQZsZW5ndGgAAwkBCXByZXBhcmVfMwIFEmN1cnJlbnRBcnJQYXJ0S2V5cwUUY3VycmVudEFyclBhcnRWYWx1ZXMDCQAAAgUGbGVuZ3RoAAQJAQlwcmVwYXJlXzQCBRJjdXJyZW50QXJyUGFydEtleXMFFGN1cnJlbnRBcnJQYXJ0VmFsdWVzAwkAAAIFBmxlbmd0aAAFCQEJcHJlcGFyZV81AgUSY3VycmVudEFyclBhcnRLZXlzBRRjdXJyZW50QXJyUGFydFZhbHVlcwMJAAACBQZsZW5ndGgABgkBCXByZXBhcmVfNgIFEmN1cnJlbnRBcnJQYXJ0S2V5cwUUY3VycmVudEFyclBhcnRWYWx1ZXMDCQAAAgUGbGVuZ3RoAAcJAQlwcmVwYXJlXzcCBRJjdXJyZW50QXJyUGFydEtleXMFFGN1cnJlbnRBcnJQYXJ0VmFsdWVzAwkAAAIFBmxlbmd0aAAICQEJcHJlcGFyZV84AgUSY3VycmVudEFyclBhcnRLZXlzBRRjdXJyZW50QXJyUGFydFZhbHVlcwMJAAACBQZsZW5ndGgACQkBCXByZXBhcmVfOQIFEmN1cnJlbnRBcnJQYXJ0S2V5cwUUY3VycmVudEFyclBhcnRWYWx1ZXMDCQAAAgUGbGVuZ3RoAAoJAQpwcmVwYXJlXzEwAgUSY3VycmVudEFyclBhcnRLZXlzBRRjdXJyZW50QXJyUGFydFZhbHVlcwkAAgECIU1heCBudW1iZXIgb2YgcGFyYW1ldGVycyBleGNlZWRlZAEVZ2V0U3RhcnRBbmRFbmRJbmRleGVzAgRqc29uA2tleQQGa2V5TGVuCQCxAgEFA2tleQQKc3RhcnRJbmRleAkBBXZhbHVlAQkAswkCBQRqc29uBQNrZXkECGVuZEluZGV4CQELdmFsdWVPckVsc2UCCQC0CQMFBGpzb24CASwFCnN0YXJ0SW5kZXgJAQV2YWx1ZQEJALQJAwUEanNvbgIBfQUKc3RhcnRJbmRleAkAlQoDBQZrZXlMZW4FCnN0YXJ0SW5kZXgFCGVuZEluZGV4ARFyZWR1Y2VyVGFrZU9iamVjdAIFYWNjdW0EbmV4dAQLJHQwNjQ0MjY1MDIFBWFjY3VtBAZyZXN1bHQIBQskdDA2NDQyNjUwMgJfMQQJbGVmdENvdW50CAULJHQwNjQ0MjY1MDICXzIECnJpZ2h0Q291bnQIBQskdDA2NDQyNjUwMgJfMwQBaQgFCyR0MDY0NDI2NTAyAl80BAZpQ291bnQIBQskdDA2NDQyNjUwMgJfNQQDZW5kCAULJHQwNjQ0MjY1MDICXzYDAwkBASEBBQNlbmQGCQBmAgUGaUNvdW50BQFpBAskdDA2NTQwNzI5NQMJAQhjb250YWlucwIFBG5leHQCAXsEDl9uZXh0TGVmdENvdW50CQBlAgkAkAMBCQC1CQIFBG5leHQCAXsAAQkAlAoCBQ5fbmV4dExlZnRDb3VudAAAAwkBCGNvbnRhaW5zAgUEbmV4dAIBfQQOX25leHRMZWZ0Q291bnQJAGUCCQCQAwEJALUJAgUEbmV4dAIBfQABCQCUCgIFDl9uZXh0TGVmdENvdW50AAAJAJQKAgAAAAAEDW5leHRMZWZ0Q291bnQIBQskdDA2NTQwNzI5NQJfMQQObmV4dFJpZ2h0Q291bnQIBQskdDA2NTQwNzI5NQJfMgQPY3VyZW50TGVmdENvdW50CQBkAgUJbGVmdENvdW50BQ1uZXh0TGVmdENvdW50BBFjdXJyZW50UmlnaHRDb3VudAkAZAIFCnJpZ2h0Q291bnQFDm5leHRSaWdodENvdW50AwkAAAIFD2N1cmVudExlZnRDb3VudAURY3VycmVudFJpZ2h0Q291bnQJAJgKBgUGcmVzdWx0BQ9jdXJlbnRMZWZ0Q291bnQFEWN1cnJlbnRSaWdodENvdW50CQBkAgUBaQABBQZpQ291bnQGCQCYCgYJAKwCAgUGcmVzdWx0BQRuZXh0BQ9jdXJlbnRMZWZ0Q291bnQFEWN1cnJlbnRSaWdodENvdW50CQBkAgUBaQABBQZpQ291bnQHBQVhY2N1bQERcmVhZEJ5S2V5SW50ZXJuYWwCBGpzb24Da2V5BAskdDA3ODE3NzkzMwkBFWdldFN0YXJ0QW5kRW5kSW5kZXhlcwIFBGpzb24FA2tleQQGa2V5TGVuCAULJHQwNzgxNzc5MzMCXzEECnN0YXJ0SW5kZXgIBQskdDA3ODE3NzkzMwJfMgQIZW5kSW5kZXgIBQskdDA3ODE3NzkzMwJfMwkAsAICCQCvAgIFBGpzb24JAGUCBQhlbmRJbmRleAABCQBkAgkAZAIFCnN0YXJ0SW5kZXgFBmtleUxlbgADARNkZWxldGVCeUtleUludGVybmFsAgRqc29uA2tleQQLJHQwODIxNDgyODIJARVnZXRTdGFydEFuZEVuZEluZGV4ZXMCBQRqc29uBQNrZXkEBmtleUxlbggFCyR0MDgyMTQ4MjgyAl8xBApzdGFydEluZGV4CAULJHQwODIxNDgyODICXzIECGVuZEluZGV4CAULJHQwODIxNDgyODICXzMECHJvd1ZhbHVlCQCwAgIJAK8CAgUEanNvbgkAZQIFCGVuZEluZGV4AAEJAGQCCQBkAgUKc3RhcnRJbmRleAUGa2V5TGVuAAMECGpzb25Cb2R5CQCzAgIJALACAgUEanNvbgACAAIECGpzb25MaXN0CQC1CQIFCGpzb25Cb2R5AgEsBAhqc29uU2l6ZQkAkAMBBQhqc29uTGlzdAQMZGVsZXRlZFZhbHVlAwkBCGNvbnRhaW5zAgUIcm93VmFsdWUCAXsICgACJGwFCGpzb25MaXN0CgACJHMJAJADAQUCJGwKAAUkYWNjMAkAmAoGAgAAAAAAAAAFCGpzb25TaXplBwoBBSRmMF8xAgIkYQIkaQMJAGcCBQIkaQUCJHMFAiRhCQERcmVkdWNlclRha2VPYmplY3QCBQIkYQkAkQMCBQIkbAUCJGkKAQUkZjBfMgICJGECJGkDCQBnAgUCJGkFAiRzBQIkYQkAAgECFUxpc3Qgc2l6ZSBleGNlZWRzIDEwMAkBBSRmMF8yAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgUFJGFjYzAAAAABAAIAAwAEAAUABgAHAAgACQAKAAsADAANAA4ADwAQABEAEgATABQAFQAWABcAGAAZABoAGwAcAB0AHgAfACAAIQAiACMAJAAlACYAJwAoACkAKgArACwALQAuAC8AMAAxADIAMwA0ADUANgA3ADgAOQA6ADsAPAA9AD4APwBAAEEAQgBDAEQARQBGAEcASABJAEoASwBMAE0ATgBPAFAAUQBSAFMAVABVAFYAVwBYAFkAWgBbAFwAXQBeAF8AYABhAGIAYwBkAl8xBQhyb3dWYWx1ZQQHbmV3SnNvbgMJAAACCQBlAgkAsQIBBQRqc29uBQhlbmRJbmRleAABCQCsAgIJAK8CAgUEanNvbgkAZQIFCnN0YXJ0SW5kZXgAAgkAsAICBQRqc29uBQhlbmRJbmRleAkArAICCQCvAgIFBGpzb24JAGUCBQpzdGFydEluZGV4AAEJALACAgUEanNvbgkAZAIFCGVuZEluZGV4AAEJAJQKAgUMZGVsZXRlZFZhbHVlBQduZXdKc29uBQFpARBtYWtlSlNPTkludGVybmFsBQdhcnJLZXlzCWFyclZhbHVlcw9pdGVyYXRpb25zQ291bnQQbGFzdEl0ZXJhdGlvbkxlbgNyZXMJAQt2YWx1ZU9yRWxzZQIJAQxvbmx5SW50ZXJuYWwBCAUBaQZjYWxsZXIDCQBmAgUPaXRlcmF0aW9uc0NvdW50AAAECyR0MDk3Mzk5OTA0CQEOZ2V0UGFydEFuZFRhaWwBBQdhcnJLZXlzBBJjdXJyZW50QXJyUGFydEtleXMIBQskdDA5NzM5OTkwNAJfMQQLYXJyVGFpbEtleXMIBQskdDA5NzM5OTkwNAJfMgQMJHQwOTkxMzEwMDMxCQEOZ2V0UGFydEFuZFRhaWwBBQlhcnJWYWx1ZXMEFGN1cnJlbnRBcnJQYXJ0VmFsdWVzCAUMJHQwOTkxMzEwMDMxAl8xBA1hcnJUYWlsVmFsdWVzCAUMJHQwOTkxMzEwMDMxAl8yBAZwYXJhbXMJAQ1wcmVwYXJlUGFyYW1zAwUSY3VycmVudEFyclBhcnRLZXlzBRRjdXJyZW50QXJyUGFydFZhbHVlcwAKBAluZXdTdHJpbmcJAQ9pdGVyYXRlTWFrZUpTT04DBQZwYXJhbXMFA3JlcwAKBAZyZXN1bHQJAPwHBAUEdGhpcwIQbWFrZUpTT05JbnRlcm5hbAkAzAgCBQthcnJUYWlsS2V5cwkAzAgCBQ1hcnJUYWlsVmFsdWVzCQDMCAIJAGUCBQ9pdGVyYXRpb25zQ291bnQAAQkAzAgCBRBsYXN0SXRlcmF0aW9uTGVuCQDMCAIFCW5ld1N0cmluZwUDbmlsBQNuaWwDCQAAAgUGcmVzdWx0BQZyZXN1bHQJAJQKAgUDbmlsBQZyZXN1bHQJAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4DCQECIT0CBRBsYXN0SXRlcmF0aW9uTGVuAAAEBnBhcmFtcwkBDXByZXBhcmVQYXJhbXMDBQdhcnJLZXlzBQlhcnJWYWx1ZXMFEGxhc3RJdGVyYXRpb25MZW4ECW5ld1N0cmluZwkBD2l0ZXJhdGVNYWtlSlNPTgMFBnBhcmFtcwUDcmVzBRBsYXN0SXRlcmF0aW9uTGVuCQCUCgIFA25pbAkArAICCQCsAgICAXsJALMCAgUJbmV3U3RyaW5nAAECAX0JAJQKAgUDbmlsCQCsAgIJAKwCAgIBewkAswICBQNyZXMAAQIBfQFpAQhtYWtlSlNPTgIHYXJyS2V5cwlhcnJWYWx1ZXMDCQECIT0CCQCQAwEFB2FycktleXMJAJADAQUJYXJyVmFsdWVzCQACAQIuQXJyYXlLZXlzIGFuZCBBcnJheVZhbHVlcyBsZW5ndGggbXVzdCBiZSBlcXVhbAQDbGVuCQCQAwEFB2FycktleXMED2l0ZXJhdGlvbnNDb3VudAkAawMAAQUDbGVuAAoEEGxhc3RJdGVyYXRpb25MZW4JAGoCBQNsZW4ACgQDcmVzCQD8BwQFBHRoaXMCEG1ha2VKU09OSW50ZXJuYWwJAMwIAgUHYXJyS2V5cwkAzAgCBQlhcnJWYWx1ZXMJAMwIAgUPaXRlcmF0aW9uc0NvdW50CQDMCAIFEGxhc3RJdGVyYXRpb25MZW4JAMwIAgIABQNuaWwFA25pbAMJAAACBQNyZXMFA3JlcwkAlAoCBQNuaWwFA3JlcwkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgFpAQlhZGRUb0pTT04DBGpzb24HYXJyS2V5cwlhcnJWYWx1ZXMDCQECIT0CCQCQAwEFB2FycktleXMJAJADAQUJYXJyVmFsdWVzCQACAQIuQXJyYXlLZXlzIGFuZCBBcnJheVZhbHVlcyBsZW5ndGggbXVzdCBiZSBlcXVhbAQDbGVuCQCQAwEFB2FycktleXMED2l0ZXJhdGlvbnNDb3VudAkAawMAAQUDbGVuAAoEEGxhc3RJdGVyYXRpb25MZW4JAGoCBQNsZW4ACgQDcmVzCQD8BwQFBHRoaXMCEG1ha2VKU09OSW50ZXJuYWwJAMwIAgUHYXJyS2V5cwkAzAgCBQlhcnJWYWx1ZXMJAMwIAgUPaXRlcmF0aW9uc0NvdW50CQDMCAIFEGxhc3RJdGVyYXRpb25MZW4JAMwIAgkArAICCQCwAgIJALMCAgUEanNvbgABAAECASwFA25pbAUDbmlsAwkAAAIFA3JlcwUDcmVzCQCUCgIFA25pbAUDcmVzCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuAWkBDXJlYWRCeUpTT05LZXkCBGpzb24Da2V5BAp2YWx1ZUJ5S2V5CQERcmVhZEJ5S2V5SW50ZXJuYWwCBQRqc29uBQNrZXkJAJQKAgkAzAgCCQELU3RyaW5nRW50cnkCAgp2YWx1ZUJ5S2V5BQp2YWx1ZUJ5S2V5BQNuaWwFCnZhbHVlQnlLZXkBaQEPZGVsZXRlQnlKU09OS2V5AgRqc29uA2tleQQNJHQwMTQ0NDcxNDgwNgkBE2RlbGV0ZUJ5S2V5SW50ZXJuYWwCBQRqc29uBQNrZXkEEWRlbGV0ZWRWYWx1ZUJ5S2V5CAUNJHQwMTQ0NDcxNDgwNgJfMQQHbmV3SnNvbggFDSR0MDE0NDQ3MTQ4MDYCXzIJAJQKAgkAzAgCCQELU3RyaW5nRW50cnkCAgxkZWxldGVkVmFsdWUFEWRlbGV0ZWRWYWx1ZUJ5S2V5CQDMCAIJAQtTdHJpbmdFbnRyeQIFCGtKc29uUmVzBQduZXdKc29uBQNuaWwJAJQKAgURZGVsZXRlZFZhbHVlQnlLZXkFB25ld0pzb24Ar5+hPw==", "height": 2494506, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: 5fjLaH9NAkTXjqqsympqtTs873QR3kuMotzfkWyJ2QZn Next: AiuEcy9g7jmAkZRWxaBSRxuJCsAAR1pLP83Tixi69uyz Diff:
OldNewDifferences
262262
263263
264264 func reducerTakeObject (accum,next) = {
265- let $t064326481 = accum
266- let result = $t064326481._1
267- let leftCount = $t064326481._2
268- let rightCount = $t064326481._3
269- let end = $t064326481._4
270- if (!(end))
265+ let $t064426502 = accum
266+ let result = $t064426502._1
267+ let leftCount = $t064426502._2
268+ let rightCount = $t064426502._3
269+ let i = $t064426502._4
270+ let iCount = $t064426502._5
271+ let end = $t064426502._6
272+ if (if (!(end))
273+ then true
274+ else (iCount > i))
271275 then {
272- let $t065057260 = if (contains(next, "{"))
276+ let $t065407295 = if (contains(next, "{"))
273277 then {
274278 let _nextLeftCount = (size(split(next, "{")) - 1)
275279 $Tuple2(_nextLeftCount, 0)
280284 $Tuple2(_nextLeftCount, 0)
281285 }
282286 else $Tuple2(0, 0)
283- let nextLeftCount = $t065057260._1
284- let nextRightCount = $t065057260._2
287+ let nextLeftCount = $t065407295._1
288+ let nextRightCount = $t065407295._2
285289 let curentLeftCount = (leftCount + nextLeftCount)
286290 let currentRightCount = (rightCount + nextRightCount)
287291 if ((curentLeftCount == currentRightCount))
288- then $Tuple4(result, curentLeftCount, currentRightCount, true)
289- else $Tuple4((result + next), curentLeftCount, currentRightCount, false)
292+ then $Tuple6(result, curentLeftCount, currentRightCount, (i + 1), iCount, true)
293+ else $Tuple6((result + next), curentLeftCount, currentRightCount, (i + 1), iCount, false)
290294 }
291295 else accum
292296 }
293297
294298
295299 func readByKeyInternal (json,key) = {
296- let $t077567872 = getStartAndEndIndexes(json, key)
297- let keyLen = $t077567872._1
298- let startIndex = $t077567872._2
299- let endIndex = $t077567872._3
300+ let $t078177933 = getStartAndEndIndexes(json, key)
301+ let keyLen = $t078177933._1
302+ let startIndex = $t078177933._2
303+ let endIndex = $t078177933._3
300304 drop(take(json, (endIndex - 1)), ((startIndex + keyLen) + 3))
301305 }
302306
303307
304308 func deleteByKeyInternal (json,key) = {
305- let $t081538221 = getStartAndEndIndexes(json, key)
306- let keyLen = $t081538221._1
307- let startIndex = $t081538221._2
308- let endIndex = $t081538221._3
309+ let $t082148282 = getStartAndEndIndexes(json, key)
310+ let keyLen = $t082148282._1
311+ let startIndex = $t082148282._2
312+ let endIndex = $t082148282._3
309313 let rowValue = drop(take(json, (endIndex - 1)), ((startIndex + keyLen) + 3))
310314 let jsonBody = dropRight(drop(json, 2), 2)
311315 let jsonList = split(jsonBody, ",")
316+ let jsonSize = size(jsonList)
312317 let deletedValue = if (contains(rowValue, "{"))
313318 then ( let $l = jsonList
314319 let $s = size($l)
315- let $acc0 = $Tuple4("", 0, 0, false)
320+ let $acc0 = $Tuple6("", 0, 0, 0, jsonSize, false)
316321 func $f0_1 ($a,$i) = if (($i >= $s))
317322 then $a
318323 else reducerTakeObject($a, $l[$i])
333338 @Callable(i)
334339 func makeJSONInternal (arrKeys,arrValues,iterationsCount,lastIterationLen,res) = valueOrElse(onlyInternal(i.caller), if ((iterationsCount > 0))
335340 then {
336- let $t096299794 = getPartAndTail(arrKeys)
337- let currentArrPartKeys = $t096299794._1
338- let arrTailKeys = $t096299794._2
339- let $t098039921 = getPartAndTail(arrValues)
340- let currentArrPartValues = $t098039921._1
341- let arrTailValues = $t098039921._2
341+ let $t097399904 = getPartAndTail(arrKeys)
342+ let currentArrPartKeys = $t097399904._1
343+ let arrTailKeys = $t097399904._2
344+ let $t0991310031 = getPartAndTail(arrValues)
345+ let currentArrPartValues = $t0991310031._1
346+ let arrTailValues = $t0991310031._2
342347 let params = prepareParams(currentArrPartKeys, currentArrPartValues, 10)
343348 let newString = iterateMakeJSON(params, res, 10)
344349 let result = invoke(this, "makeJSONInternal", [arrTailKeys, arrTailValues, (iterationsCount - 1), lastIterationLen, newString], nil)
396401
397402 @Callable(i)
398403 func deleteByJSONKey (json,key) = {
399- let $t01433714696 = deleteByKeyInternal(json, key)
400- let deletedValueByKey = $t01433714696._1
401- let newJson = $t01433714696._2
404+ let $t01444714806 = deleteByKeyInternal(json, key)
405+ let deletedValueByKey = $t01444714806._1
406+ let newJson = $t01444714806._2
402407 $Tuple2([StringEntry("deletedValue", deletedValueByKey), StringEntry(kJsonRes, newJson)], $Tuple2(deletedValueByKey, newJson))
403408 }
404409
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))
259259 let endIndex = valueOrElse(indexOf(json, ",", startIndex), value(indexOf(json, "}", startIndex)))
260260 $Tuple3(keyLen, startIndex, endIndex)
261261 }
262262
263263
264264 func reducerTakeObject (accum,next) = {
265- let $t064326481 = accum
266- let result = $t064326481._1
267- let leftCount = $t064326481._2
268- let rightCount = $t064326481._3
269- let end = $t064326481._4
270- if (!(end))
265+ let $t064426502 = accum
266+ let result = $t064426502._1
267+ let leftCount = $t064426502._2
268+ let rightCount = $t064426502._3
269+ let i = $t064426502._4
270+ let iCount = $t064426502._5
271+ let end = $t064426502._6
272+ if (if (!(end))
273+ then true
274+ else (iCount > i))
271275 then {
272- let $t065057260 = if (contains(next, "{"))
276+ let $t065407295 = if (contains(next, "{"))
273277 then {
274278 let _nextLeftCount = (size(split(next, "{")) - 1)
275279 $Tuple2(_nextLeftCount, 0)
276280 }
277281 else if (contains(next, "}"))
278282 then {
279283 let _nextLeftCount = (size(split(next, "}")) - 1)
280284 $Tuple2(_nextLeftCount, 0)
281285 }
282286 else $Tuple2(0, 0)
283- let nextLeftCount = $t065057260._1
284- let nextRightCount = $t065057260._2
287+ let nextLeftCount = $t065407295._1
288+ let nextRightCount = $t065407295._2
285289 let curentLeftCount = (leftCount + nextLeftCount)
286290 let currentRightCount = (rightCount + nextRightCount)
287291 if ((curentLeftCount == currentRightCount))
288- then $Tuple4(result, curentLeftCount, currentRightCount, true)
289- else $Tuple4((result + next), curentLeftCount, currentRightCount, false)
292+ then $Tuple6(result, curentLeftCount, currentRightCount, (i + 1), iCount, true)
293+ else $Tuple6((result + next), curentLeftCount, currentRightCount, (i + 1), iCount, false)
290294 }
291295 else accum
292296 }
293297
294298
295299 func readByKeyInternal (json,key) = {
296- let $t077567872 = getStartAndEndIndexes(json, key)
297- let keyLen = $t077567872._1
298- let startIndex = $t077567872._2
299- let endIndex = $t077567872._3
300+ let $t078177933 = getStartAndEndIndexes(json, key)
301+ let keyLen = $t078177933._1
302+ let startIndex = $t078177933._2
303+ let endIndex = $t078177933._3
300304 drop(take(json, (endIndex - 1)), ((startIndex + keyLen) + 3))
301305 }
302306
303307
304308 func deleteByKeyInternal (json,key) = {
305- let $t081538221 = getStartAndEndIndexes(json, key)
306- let keyLen = $t081538221._1
307- let startIndex = $t081538221._2
308- let endIndex = $t081538221._3
309+ let $t082148282 = getStartAndEndIndexes(json, key)
310+ let keyLen = $t082148282._1
311+ let startIndex = $t082148282._2
312+ let endIndex = $t082148282._3
309313 let rowValue = drop(take(json, (endIndex - 1)), ((startIndex + keyLen) + 3))
310314 let jsonBody = dropRight(drop(json, 2), 2)
311315 let jsonList = split(jsonBody, ",")
316+ let jsonSize = size(jsonList)
312317 let deletedValue = if (contains(rowValue, "{"))
313318 then ( let $l = jsonList
314319 let $s = size($l)
315- let $acc0 = $Tuple4("", 0, 0, false)
320+ let $acc0 = $Tuple6("", 0, 0, 0, jsonSize, false)
316321 func $f0_1 ($a,$i) = if (($i >= $s))
317322 then $a
318323 else reducerTakeObject($a, $l[$i])
319324
320325 func $f0_2 ($a,$i) = if (($i >= $s))
321326 then $a
322327 else throw("List size exceeds 100")
323328
324329 $f0_2($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($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), 11), 12), 13), 14), 15), 16), 17), 18), 19), 20), 21), 22), 23), 24), 25), 26), 27), 28), 29), 30), 31), 32), 33), 34), 35), 36), 37), 38), 39), 40), 41), 42), 43), 44), 45), 46), 47), 48), 49), 50), 51), 52), 53), 54), 55), 56), 57), 58), 59), 60), 61), 62), 63), 64), 65), 66), 67), 68), 69), 70), 71), 72), 73), 74), 75), 76), 77), 78), 79), 80), 81), 82), 83), 84), 85), 86), 87), 88), 89), 90), 91), 92), 93), 94), 95), 96), 97), 98), 99), 100))._1
325330 else rowValue
326331 let newJson = if (((size(json) - endIndex) == 1))
327332 then (take(json, (startIndex - 2)) + drop(json, endIndex))
328333 else (take(json, (startIndex - 1)) + drop(json, (endIndex + 1)))
329334 $Tuple2(deletedValue, newJson)
330335 }
331336
332337
333338 @Callable(i)
334339 func makeJSONInternal (arrKeys,arrValues,iterationsCount,lastIterationLen,res) = valueOrElse(onlyInternal(i.caller), if ((iterationsCount > 0))
335340 then {
336- let $t096299794 = getPartAndTail(arrKeys)
337- let currentArrPartKeys = $t096299794._1
338- let arrTailKeys = $t096299794._2
339- let $t098039921 = getPartAndTail(arrValues)
340- let currentArrPartValues = $t098039921._1
341- let arrTailValues = $t098039921._2
341+ let $t097399904 = getPartAndTail(arrKeys)
342+ let currentArrPartKeys = $t097399904._1
343+ let arrTailKeys = $t097399904._2
344+ let $t0991310031 = getPartAndTail(arrValues)
345+ let currentArrPartValues = $t0991310031._1
346+ let arrTailValues = $t0991310031._2
342347 let params = prepareParams(currentArrPartKeys, currentArrPartValues, 10)
343348 let newString = iterateMakeJSON(params, res, 10)
344349 let result = invoke(this, "makeJSONInternal", [arrTailKeys, arrTailValues, (iterationsCount - 1), lastIterationLen, newString], nil)
345350 if ((result == result))
346351 then $Tuple2(nil, result)
347352 else throw("Strict value is not equal to itself.")
348353 }
349354 else if ((lastIterationLen != 0))
350355 then {
351356 let params = prepareParams(arrKeys, arrValues, lastIterationLen)
352357 let newString = iterateMakeJSON(params, res, lastIterationLen)
353358 $Tuple2(nil, (("{" + dropRight(newString, 1)) + "}"))
354359 }
355360 else $Tuple2(nil, (("{" + dropRight(res, 1)) + "}")))
356361
357362
358363
359364 @Callable(i)
360365 func makeJSON (arrKeys,arrValues) = if ((size(arrKeys) != size(arrValues)))
361366 then throw("ArrayKeys and ArrayValues length must be equal")
362367 else {
363368 let len = size(arrKeys)
364369 let iterationsCount = fraction(1, len, 10)
365370 let lastIterationLen = (len % 10)
366371 let res = invoke(this, "makeJSONInternal", [arrKeys, arrValues, iterationsCount, lastIterationLen, ""], nil)
367372 if ((res == res))
368373 then $Tuple2(nil, res)
369374 else throw("Strict value is not equal to itself.")
370375 }
371376
372377
373378
374379 @Callable(i)
375380 func addToJSON (json,arrKeys,arrValues) = if ((size(arrKeys) != size(arrValues)))
376381 then throw("ArrayKeys and ArrayValues length must be equal")
377382 else {
378383 let len = size(arrKeys)
379384 let iterationsCount = fraction(1, len, 10)
380385 let lastIterationLen = (len % 10)
381386 let res = invoke(this, "makeJSONInternal", [arrKeys, arrValues, iterationsCount, lastIterationLen, (drop(dropRight(json, 1), 1) + ",")], nil)
382387 if ((res == res))
383388 then $Tuple2(nil, res)
384389 else throw("Strict value is not equal to itself.")
385390 }
386391
387392
388393
389394 @Callable(i)
390395 func readByJSONKey (json,key) = {
391396 let valueByKey = readByKeyInternal(json, key)
392397 $Tuple2([StringEntry("valueByKey", valueByKey)], valueByKey)
393398 }
394399
395400
396401
397402 @Callable(i)
398403 func deleteByJSONKey (json,key) = {
399- let $t01433714696 = deleteByKeyInternal(json, key)
400- let deletedValueByKey = $t01433714696._1
401- let newJson = $t01433714696._2
404+ let $t01444714806 = deleteByKeyInternal(json, key)
405+ let deletedValueByKey = $t01444714806._1
406+ let newJson = $t01444714806._2
402407 $Tuple2([StringEntry("deletedValue", deletedValueByKey), StringEntry(kJsonRes, newJson)], $Tuple2(deletedValueByKey, newJson))
403408 }
404409
405410

github/deemru/w8io/169f3d6 
86.94 ms