tx · 875SoMuHxnMqy7ggeMyp6koSoZruGEvWkGysjeAnJB9Y

3NC9wWawxuFG6a3sZdfckGwoMeVhLFjZFwH:  -0.01400000 Waves

2021.03.30 15:25 [1460496] smart account 3NC9wWawxuFG6a3sZdfckGwoMeVhLFjZFwH > SELF 0.00000000 Waves

{ "type": 13, "id": "875SoMuHxnMqy7ggeMyp6koSoZruGEvWkGysjeAnJB9Y", "fee": 1400000, "feeAssetId": null, "timestamp": 1617107122688, "version": 1, "sender": "3NC9wWawxuFG6a3sZdfckGwoMeVhLFjZFwH", "senderPublicKey": "HoEvP2nFKMAsffQ9PUyAm6auWisyHgusY9HxDeMASrzZ", "proofs": [ "37tJPUdjQVvtGPmpo94EWrmNVYXLVDepPz3WDSY7Tqqm5osAo2NC1wL71uvxq6tZHRhQxsrkiX4tvTmQsbAEVtRQ" ], "script": "base64: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AAAACQAAAAZzdGF0dXMAAAANaW5Bc3NldEFtb3VudAAAAAVwcmljZQAAAA5vdXRBc3NldEFtb3VudAAAAAtzdGFydEhlaWdodAAAAA5zdGFydFRpbWVzdGFtcAAAAAllbmRIZWlnaHQAAAAMZW5kVGltZXN0YW1wAAAADnRvcHVwVW5sb2NrSWR4CQEAAAAecHJpdmF0ZURhdGFPcGVyYXRpb25BbGxTdHJpbmdzAAAACQUAAAAGc3RhdHVzCQABpAAAAAEFAAAADWluQXNzZXRBbW91bnQJAAGkAAAAAQUAAAAFcHJpY2UJAAGkAAAAAQUAAAAOb3V0QXNzZXRBbW91bnQJAAGkAAAAAQUAAAALc3RhcnRIZWlnaHQJAAGkAAAAAQUAAAAOc3RhcnRUaW1lc3RhbXAJAAGkAAAAAQUAAAAJZW5kSGVpZ2h0CQABpAAAAAEFAAAADGVuZFRpbWVzdGFtcAkAAaQAAAABBQAAAA50b3B1cFVubG9ja0lkeAEAAAAcZGF0YU9wZXJhdGlvbkV4ZWN1dGlvblVwZGF0ZQAAAAQAAAANY3Vyck9wZXJBcnJheQAAAAluZXdTdGF0dXMAAAAIbmV3UHJpY2UAAAAMbmV3T3V0QW1vdW50CQEAAAAecHJpdmF0ZURhdGFPcGVyYXRpb25BbGxTdHJpbmdzAAAACQUAAAAJbmV3U3RhdHVzCQABkQAAAAIFAAAADWN1cnJPcGVyQXJyYXkFAAAABHYxMjQJAAGkAAAAAQUAAAAIbmV3UHJpY2UJAAGkAAAAAQUAAAAMbmV3T3V0QW1vdW50CQABkQAAAAIFAAAADWN1cnJPcGVyQXJyYXkFAAAABHYxMjcJAAGRAAAAAgUAAAANY3Vyck9wZXJBcnJheQUAAAAEdjEyOAkAAaQAAAABBQAAAAZoZWlnaHQJAAGkAAAAAQgFAAAACWxhc3RCbG9jawAAAAl0aW1lc3RhbXAJAAGRAAAAAgUAAAANY3Vyck9wZXJBcnJheQUAAAAEdjEzMQEAAAAEZjEzMgAAAAEAAAAEdjEzMwQAAAADa2V5CQEAAAADZjIzAAAAAQUAAAAEdjEzMwkABLUAAAACCQEAAAACZjAAAAABBQAAAANrZXkFAAAAA1NFUAAAAAAEdjEzNAAAAAAAAAAAAQAAAAAEdjEzNQAAAAAAAAAAAgEAAAAEZjEzNgAAAAMAAAADa2V5AAAABHYxMzcAAAAEdjEzOAkBAAAAC1N0cmluZ0VudHJ5AAAAAgUAAAADa2V5CQAEuQAAAAIJAARMAAAAAgIAAAAEJWQlZAkABEwAAAACCQABpAAAAAEFAAAABHYxMzcJAARMAAAAAgkAAaQAAAABBQAAAAR2MTM4BQAAAANuaWwFAAAAA1NFUAEAAAAEZjEzOQAAAAIAAAAEdjE0MAAAAAR2MTQxCQEAAAAMSW50ZWdlckVudHJ5AAAAAgkBAAAAA2Y1OAAAAAEFAAAABHYxNDAFAAAABHYxNDEBAAAABGYxNDIAAAAFAAAABHYxNDMAAAAEdjE0NAAAAAR2MTQ1AAAABHYxNDYAAAAEdjE0NwQAAAAEdjE0OAkBAAAAA2Y5MgAAAAEJAQAAAANmMzYAAAABBQAAAAR2MTQzBAAAAAR2MTQ5CQABkQAAAAIFAAAABHYxNDgFAAAAA3Y3OQQAAAAEdjE1MAkAAZEAAAACBQAAAAR2MTQ4BQAAAAN2ODAEAAAABHYxNTEJAAPwAAAAAgUAAAAEdGhpcwUAAAAEdjE0NAQAAAAEdjE1MgkAAGUAAAACCQAAZQAAAAIJAABkAAAAAgUAAAAEdjE1MQUAAAAEdjE0NQUAAAAEdjE1MAUAAAAEdjE0OQQAAAAEdjE1MwkAAZEAAAACBQAAAAR2MTQ4BQAAAAN2ODEEAAAABHYxNTQJAAGRAAAAAgUAAAAEdjE0OAUAAAADdjc4BAAAAAR2MTU1CAkBAAAABXZhbHVlAAAAAQkAA+wAAAABBQAAAAR2MTQ2AAAACHF1YW50aXR5AwkAAGYAAAACAAAAAAAAAAAABQAAAAR2MTUyCQAAAgAAAAEJAAEsAAAAAgkAASwAAAACCQABLAAAAAICAAAAD3YxNTIgPCAwOiB2MTUxPQkAAaQAAAABBQAAAAR2MTUxAgAAAAYgdjE1Mj0JAAGkAAAAAQUAAAAEdjE1MgQAAAAEdjE1NgkBAAAAAmYyAAAAAQkBAAAAA2YyNgAAAAEFAAAABHYxNDMEAAAABHYxNTcDCQAAAAAAAAIFAAAABHYxNTUAAAAAAAAAAAAFAAAABHYxNTYJAABrAAAAAwUAAAAEdjE1MgUAAAAEdjE0NwUAAAAEdjE1NQkABRsAAAAJBQAAAAR2MTU3BQAAAAR2MTUxAP//////////BQAAAAR2MTUyBQAAAAR2MTU1BQAAAAR2MTUwBQAAAAR2MTU0BQAAAAR2MTQ5BQAAAAR2MTUzAQAAAARmMTU4AAAABAAAAAR2MTU5AAAABHYxNjAAAAAEdjE2MQAAAAR2MTYyCQEAAAAEZjE0MgAAAAUFAAAABHYxNTkFAAAABHYxNjAAAAAAAAAAAAAFAAAABHYxNjEFAAAABHYxNjIBAAAABGYxNjMAAAAFAAAABHYxNjQAAAABaQAAAAR2MTY1AAAABHYxNjYAAAAEdjE2NwQAAAAEdjE2OAkAAlgAAAABBQAAAAR2MTY2BAAAAAR2MTY5CQAEJQAAAAEIBQAAAAFpAAAABmNhbGxlcgQAAAAEdjE3MAkAAlkAAAABBQAAAAR2MTY3BAAAAAR2MTcxCQEAAAAEZjEzMgAAAAEFAAAABHYxNjcEAAAABHYxNzIJAAGRAAAAAgUAAAAEdjE3MQUAAAADdjY1BAAAAAR2MTczCQACWQAAAAEFAAAABHYxNzIEAAAABHYxNzQJAQAAAA1wYXJzZUludFZhbHVlAAAAAQkAAZEAAAACBQAAAAR2MTcxBQAAAAN2NjcEAAAABHYxNzUJAAGRAAAAAgUAAAAEdjE3MQUAAAADdjY2BAAAAAR2MTc2CQEAAAADZjYzAAAAAQUAAAAEdjE3NQQAAAAEdjE3NwkABLUAAAACCQEAAAACZjAAAAABBQAAAAR2MTc2BQAAAANTRVAEAAAABHYxNzgJAQAAAA1wYXJzZUludFZhbHVlAAAAAQkAAZEAAAACBQAAAAR2MTc3BQAAAAR2MTM0BAAAAAR2MTc5CQEAAAANcGFyc2VJbnRWYWx1ZQAAAAEJAAGRAAAAAgUAAAAEdjE3NwUAAAAEdjEzNQQAAAAEdjE4MAkBAAAAC3ZhbHVlT3JFbHNlAAAAAgkABBsAAAACBQAAAAR0aGlzCQEAAAADZjQ5AAAAAQUAAAAEdjE3NQcDBQAAAAR2MTgwCQAAAgAAAAECAAAAG3N1Ym1pdCBvcGVyYXRpb24gaXMgYmxvY2tlZAQAAAAEdjE4MQkBAAAAC3ZhbHVlT3JFbHNlAAAAAgkABBoAAAACBQAAAAR0aGlzCQEAAAADZjU4AAAAAQUAAAAEdjE3NQAAAAAAAAAAAAMJAABmAAAAAgkAAGQAAAACBQAAAAR2MTgxAAAAAAAAAAA8BQAAAAZoZWlnaHQJAAACAAAAAQIAAAAuc3VibWl0IG9wZXJhdGlvbnMgYXJlIGJsb2NrZWQgYnkgdG9wdXAgbWFuYWdlcgQAAAAEdjE4MgkBAAAAA2Y5NAAAAAgCAAAABnN1Ym1pdAUAAAAEdjE2NAUAAAAEdjE3NQAAAAAAAAAAAAAAAAAAAAAAAAUAAAAEdjE2NQUAAAAEdjE3MAUAAAAEdjE3MwQAAAAEdjE4MwkAAGUAAAACBQAAAAR2MTc4CQABkQAAAAIIBQAAAAR2MTgyAAAAAl8yBQAAAAN2ODAEAAAABHYxODQJAABlAAAAAgUAAAAEdjE3OQkAAZEAAAACCAUAAAAEdjE4MgAAAAJfMgUAAAADdjc4AwMJAABmAAAAAgAAAAAAAAAAAAUAAAAEdjE4MwYJAABmAAAAAgAAAAAAAAAAAAUAAAAEdjE4NAkBAAAAAmY4AAAABAUAAAAEdjE3OAUAAAAEdjE3OQUAAAAEdjE4MwUAAAAEdjE4NAQAAAAEdjE4NQkBAAAAAmYyAAAAAQkBAAAAA2Y1MwAAAAEFAAAABHYxNzUJAARNAAAAAgkABE0AAAACCQAETQAAAAIJAARMAAAAAgkBAAAAC1N0cmluZ0VudHJ5AAAAAgkBAAAABGYxMTkAAAAEBQAAAAR2MTY0BQAAAAR2MTc1BQAAAAR2MTY5CQACWAAAAAEIBQAAAAFpAAAADXRyYW5zYWN0aW9uSWQJAQAAAA1kYXRhT3BlcmF0aW9uAAAACQIAAAAHUEVORElORwUAAAAEdjE2NQAAAAAAAAAAAAAAAAAAAAAAAAUAAAAGaGVpZ2h0CAUAAAAJbGFzdEJsb2NrAAAACXRpbWVzdGFtcAAAAAAAAAAAAAAAAAAAAAAAAAkAAGQAAAACBQAAAAR2MTg1AAAAAAAAAAABBQAAAANuaWwJAQAAABZUb3RhbExvY2tlZFN0cmluZ0VudHJ5AAAAAwIAAAAJSU5DUkVNRU5UCQEAAAADZjM2AAAAAQUAAAAEdjE3NQgFAAAABHYxODIAAAACXzEJAQAAABZUb3RhbExvY2tlZFN0cmluZ0VudHJ5AAAAAwIAAAAJSU5DUkVNRU5UCQEAAAADZjM4AAAAAgUAAAAEdjE3NQUAAAAEdjE2OQgFAAAABHYxODIAAAACXzIJAQAAAARmMTM2AAAAAwUAAAAEdjE3NgUAAAAEdjE4MwUAAAAEdjE4NAEAAAAEZjE4NgAAAAQAAAAEdjE4NwAAAAR2MTg4AAAABHYxODkAAAAEdjE5MAQAAAAEdjE5MQkBAAAAEUBleHRyTmF0aXZlKDEwNjIpAAAAAQUAAAAEdjE4OQQAAAAEdjE5MgkBAAAABGYxMzIAAAABBQAAAAR2MTg4BAAAAAR2MTkzCQACWQAAAAEJAAGRAAAAAgUAAAAEdjE5MgUAAAADdjY1BAAAAAR2MTk0CQABkQAAAAIFAAAABHYxOTIFAAAAA3Y2NgQAAAAEdjE5NQkBAAAADXBhcnNlSW50VmFsdWUAAAABCQABkQAAAAIFAAAABHYxOTIFAAAAA3Y2OAQAAAAEdjE5NgkAAlkAAAABBQAAAAR2MTg4BAAAAAR2MTk3CQEAAAAEZjExOQAAAAQFAAAABHYxODcFAAAABHYxOTQFAAAABHYxODkFAAAABHYxOTAEAAAABHYxOTgJAAS1AAAAAgkBAAAAAmYwAAAAAQUAAAAEdjE5NwUAAAADU0VQBAAAAAR2MTk5CQABkQAAAAIFAAAABHYxOTgFAAAABHYxMjMEAAAABHYyMDAJAQAAAA1wYXJzZUludFZhbHVlAAAAAQkAAZEAAAACBQAAAAR2MTk4BQAAAAR2MTI0BAAAAAR2MjAxCQEAAAANcGFyc2VJbnRWYWx1ZQAAAAEJAAGRAAAAAgUAAAAEdjE5OAUAAAAEdjEzMQQAAAAEdjIwMgkBAAAAAmYyAAAAAQkBAAAAA2Y1MwAAAAEFAAAABHYxOTQEAAAABHYyMDMJAQAAAAJmMgAAAAEJAQAAAANmMzAAAAACBQAAAAR2MTk0BQAAAAR2MjAxAwkBAAAAAiE9AAAAAgUAAAAEdjE5OQIAAAAHUEVORElORwkBAAAAAmYzAAAABQIAAAAVU3RhdHVzIGlzIG5vdCBQRU5ESU5HBQAAAAR2MTg4BQAAAAR2MTg5BQAAAAR2MTkwBQAAAAR2MTg3AwkAAGYAAAACBQAAAAR2MjAxBQAAAAR2MjAyCQEAAAACZjMAAAAFCQABLAAAAAIJAAEsAAAAAgkAASwAAAACAgAAAAlPcGVyTG9ja1sJAAGkAAAAAQUAAAAEdjIwMQIAAAAEXSA+IAkAAaQAAAABBQAAAAR2MjAyBQAAAAR2MTg4BQAAAAR2MTg5BQAAAAR2MTkwBQAAAAR2MTg3BAAAAAR2MjA0CQEAAAADZjk0AAAACAIAAAAHZXhlY3V0ZQUAAAAEdjE4NwUAAAAEdjE5NAUAAAAEdjIwMwUAAAAEdjE5NQUAAAAEdjIwMAUAAAAEdjE5NgUAAAAEdjE5MwQAAAAEdjIwNQgFAAAABHYyMDQAAAACXzMEAAAABHYyMDYDCQAAAAAAAAIIBQAAAAR2MjA0AAAAAl80BQAAAAR2MTk2CQAETAAAAAIJAQAAAA5TY3JpcHRUcmFuc2ZlcgAAAAMFAAAABHYxOTEFAAAABHYyMDUFAAAABHYxOTYFAAAAA25pbAkABEwAAAACCQEAAAAOU2NyaXB0VHJhbnNmZXIAAAADBQAAAAR2MTkxBQAAAAR2MjA1BQAAAAR2MTkzBQAAAANuaWwJAARNAAAAAgkABE0AAAACCQAETQAAAAIFAAAABHYyMDYJAQAAAAtTdHJpbmdFbnRyeQAAAAIFAAAABHYxOTcJAQAAABxkYXRhT3BlcmF0aW9uRXhlY3V0aW9uVXBkYXRlAAAABAUAAAAEdjE5OAIAAAAIRklOSVNIRUQFAAAABHYyMDMFAAAABHYyMDUJAQAAABZUb3RhbExvY2tlZFN0cmluZ0VudHJ5AAAAAwIAAAAJREVDUkVNRU5UCQEAAAADZjM2AAAAAQUAAAAEdjE5NAgFAAAABHYyMDQAAAACXzEJAQAAABZUb3RhbExvY2tlZFN0cmluZ0VudHJ5AAAAAwIAAAAJREVDUkVNRU5UCQEAAAADZjM4AAAAAgUAAAAEdjE5NAUAAAAEdjE4OQgFAAAABHYyMDQAAAACXzIBAAAABGYyMDcAAAABAAAABHYyMDgEAAAABHYyMDkJAAJZAAAAAQUAAAAEdjIwOAQAAAAEdjIxMAkBAAAABGYxMzIAAAABBQAAAAR2MjA4BAAAAAR2MjExCQABkQAAAAIFAAAABHYyMTAFAAAAA3Y2NQQAAAAEdjIxMgkAAlkAAAABBQAAAAR2MjExBAAAAAR2MjEzCQEAAAANcGFyc2VJbnRWYWx1ZQAAAAEJAAGRAAAAAgUAAAAEdjIxMAUAAAADdjY3BAAAAAR2MjE0CQEAAAANcGFyc2VJbnRWYWx1ZQAAAAEJAAGRAAAAAgUAAAAEdjIxMAUAAAADdjY4BAAAAAR2MjE1CQABkQAAAAIFAAAABHYyMTAFAAAAA3Y2NgQAAAAEdjIxNgkBAAAAA2YyOAAAAAEFAAAABHYyMTUEAAAABHYyMTcJAQAAAAt2YWx1ZU9yRWxzZQAAAAIJAAQaAAAAAgUAAAAEdGhpcwUAAAAEdjIxNgAAAAAAAAAAAAQAAAAEdjIxOAkBAAAAA2YyNgAAAAEFAAAABHYyMTUEAAAABHYyMTkJAQAAAAt2YWx1ZU9yRWxzZQAAAAIJAAQaAAAAAgUAAAAEdGhpcwUAAAAEdjIxOAAAAAAAAAAAAAQAAAAEdjIyMAkBAAAABGYxNTgAAAAEBQAAAAR2MjE1BQAAAAR2MjA5BQAAAAR2MjEyBQAAAAR2MjE0CQAFHwAAAA0JAQAAAAxJbnRlZ2VyRW50cnkAAAACAgAAAAVwcmljZQgFAAAABHYyMjAAAAACXzEJAQAAAAxJbnRlZ2VyRW50cnkAAAACAgAAABFkZWNpbWFsc011bHRQcmljZQUAAAAEdjIxNAkBAAAADEludGVnZXJFbnRyeQAAAAICAAAAEGJhc2VBc3NldEJhbGFuY2UIBQAAAAR2MjIwAAAAAl8yCQEAAAAMSW50ZWdlckVudHJ5AAAAAgIAAAACLTEIBQAAAAR2MjIwAAAAAl8zCQEAAAAMSW50ZWdlckVudHJ5AAAAAgIAAAATYmFzZUFzc2V0QmFsYW5jZVdDTwgFAAAABHYyMjAAAAACXzQJAQAAAAxJbnRlZ2VyRW50cnkAAAACAgAAAA1zaGFyZUVtaXNzaW9uCAUAAAAEdjIyMAAAAAJfNQkBAAAADEludGVnZXJFbnRyeQAAAAICAAAAGWN1cnJJdGVyVG90YWxJbkJhc2VBbW91bnQIBQAAAAR2MjIwAAAAAl82CQEAAAAMSW50ZWdlckVudHJ5AAAAAgIAAAAaY3Vyckl0ZXJUb3RhbEluU2hhcmVBbW91bnQIBQAAAAR2MjIwAAAAAl83CQEAAAAMSW50ZWdlckVudHJ5AAAAAgIAAAAYdG90YWxMb2NrZWRPdXRCYXNlQW1vdW50CAUAAAAEdjIyMAAAAAJfOAkBAAAADEludGVnZXJFbnRyeQAAAAICAAAAGXRvdGFsTG9ja2VkT3V0U2hhcmVBbW91bnQIBQAAAAR2MjIwAAAAAl85CQEAAAAMSW50ZWdlckVudHJ5AAAAAgIAAAAWZGVjaW1hbHNNdWx0Qm90aEFzc2V0cwUAAAAEdjIxMwkBAAAADEludGVnZXJFbnRyeQAAAAICAAAACHByaWNlQVRIBQAAAAR2MjE3CQEAAAAMSW50ZWdlckVudHJ5AAAAAgIAAAAJcHJpY2VMYXN0BQAAAAR2MjE5AAAACgAAAAFpAQAAABJhZG1pblJlZ2lzdGVyQXNzZXQAAAAOAAAADGJhc2VBc3NldFN0cgAAAA5zaGFyZUFzc2V0TmFtZQAAAA9zaGFyZUFzc2V0RGVzY3IAAAAQZ2V0RGVsYXlpbkJsb2NrcwAAABZzaHV0ZG93bk1hbmFnZXJBZGRyZXNzAAAACnN0YXJ0UHJpY2UAAAAVdG9wdXBJbnRlcnZhbEluQmxvY2tzAAAAFHRvcHVwTWF4TmVnYXRpdmVQYXJ0AAAAE3RvcHVwTWFuYWdlckFkZHJlc3MAAAATc3VibWl0TGltaXRzQmFzZU1heAAAABVzdWJtaXRMaW1pdHNCYXNlUmVzZXQAAAAUc3VibWl0TGltaXRzU2hhcmVNYXgAAAAWc3VibWl0TGltaXRzU2hhcmVSZXNldAAAAAxhZG1pbkFkZHJlc3MEAAAABHYyMjEJAAJZAAAAAQUAAAAMYmFzZUFzc2V0U3RyBAAAAAR2MjIyCAkBAAAABXZhbHVlAAAAAQkAA+wAAAABBQAAAAR2MjIxAAAACGRlY2ltYWxzBAAAAAR2MjIzCQAAbAAAAAYAAAAAAAAAAAoAAAAAAAAAAAAFAAAABHYyMjIAAAAAAAAAAAAAAAAAAAAAAAAFAAAABERPV04EAAAABHYyMjQJAABoAAAAAgkAAGgAAAACAAAAAAAAAABkAAAAAAAAAAPoAAAAAAAAAAPoBAAAAAR2MjI1CQAAawAAAAMFAAAAFHRvcHVwTWF4TmVnYXRpdmVQYXJ0AAAAAAAAAABkBQAAAAR2MjIzBAAAAAR2MjI2CQAD8AAAAAIFAAAABHRoaXMFAAAABHYyMjEDCQEAAAACIT0AAAACCAUAAAABaQAAAAZjYWxsZXIFAAAABHRoaXMJAAACAAAAAQIAAAAScGVybWlzc2lvbnMgZGVuaWVkAwkAAAAAAAACBQAAAAR2MjI2AAAAAAAAAAAACQAAAgAAAAEJAAEsAAAAAgkAASwAAAAC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", "chainId": 84, "height": 1460496, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: BLbkqpPGTNExpoLzGNZ4nQxGbzkLbLes6u9Ca2VEq9hA Next: 8DsMsYYj9ZoEGcdykZH5NwbgvcANa6LcspaU62oh65dK Diff:
OldNewDifferences
2424 func s (t,u,v) = fraction(t, u, v)
2525
2626
27-func w (x,u,v) = fraction(x, v, u)
27+func w (x,y,z) = fraction(x, z, y)
2828
2929
30-func y (h) = ("%s%s%s__config__asset__" + h)
30+func A (B) = ("%s%s%s__config__asset__" + B)
3131
3232
33-func z () = "%s__nextInternalAssetId"
33+func C () = "%s__nextInternalAssetId"
3434
3535
36-func A (B) = ("%s%s%d__price__last__" + B)
36+func D (E) = ("%s%s%d__price__last__" + E)
3737
3838
39-func C (B) = ("%s%s%d__price__ath__" + B)
39+func F (G) = ("%s%s%d__price__ath__" + G)
4040
4141
42-func D (E,F) = makeString(["%s%s%d%d__price__byTopUpIdx", E, toString(F)], a)
42+func H (I,J) = makeString(["%s%s%d%d__price__byTopUpIdx", I, toString(J)], a)
4343
4444
45-func G (B,H,I) = makeString(["%s%s%d%d%d__price__history", B, toString(H), toString(I)], a)
45+func K (L,M,N) = makeString(["%s%s%d%d%d__price__history", L, toString(M), toString(N)], a)
4646
4747
48-func J (B) = ("%s%s%d__total__locked__" + B)
48+func O (P) = ("%s%s%d__total__locked__" + P)
4949
5050
51-func K (E,i) = makeString(["%s%s%d%s__total__locked", E, i], a)
51+func Q (R,S) = makeString(["%s%s%d%s__total__locked", R, S], a)
5252
5353
54-func L (M) = ("%s%s%d__mappings__internal2baseAssetId__" + toString(M))
54+func T (U) = ("%s%s%d__mappings__internal2baseAssetId__" + toString(U))
5555
5656
57-func N (h) = ("%s%s%s__mappings__baseAsset2internalId__" + h)
57+func V (W) = ("%s%s%s__mappings__baseAsset2internalId__" + W)
5858
5959
60-func O (P) = ("%s%s%s__mappings__share2baseAssetId__" + P)
60+func X (Y) = ("%s%s%s__mappings__share2baseAssetId__" + Y)
6161
6262
63-func Q (h) = ("%s%s%s__mappings__baseAsset2shareId__" + h)
63+func Z (aa) = ("%s%s%s__mappings__baseAsset2shareId__" + aa)
6464
6565
66-func R (E) = ("%s%s%d__shutdown__submit__" + E)
66+func ab (ac) = ("%s%s%d__shutdown__submit__" + ac)
6767
6868
69-func S (E) = ("%s%s%d__shutdown__manager__" + E)
69+func ad (ae) = ("%s%s%d__shutdown__manager__" + ae)
7070
7171
72-func T (E) = ("%s%s%d__topup__currentIdx__" + E)
72+func af (ag) = ("%s%s%d__topup__currentIdx__" + ag)
7373
7474
75-func U (B,V) = makeString(["%s%s%s%d%s__topup__last__height", B, V], a)
75+func ah (ai,aj) = makeString(["%s%s%s%d%s__topup__last__height", ai, aj], a)
7676
7777
78-func W (B) = ("%s%s%d__topup__mutex__" + B)
78+func ak (al) = ("%s%s%d__topup__mutex__" + al)
7979
8080
81-func X (B,Y) = makeString(["%s%s%d%d__topup__history", B, toString(Y)], a)
81+func am (an,ao) = makeString(["%s%s%d%d__topup__history", an, toString(ao)], a)
8282
8383
84-func Z (B) = ("%s%s%d__limits__remaining__" + B)
84+func ap (aq) = ("%s%s%d__limits__remaining__" + aq)
8585
8686
87-let aa = 1
87+let ar = 1
8888
89-let ab = 2
89+let as = 2
9090
91-let ac = 3
91+let at = 3
9292
93-let ad = 4
93+let au = 4
9494
95-let ae = 5
95+let av = 5
9696
97-let af = 6
97+let aw = 6
9898
99-let ag = 7
99+let ax = 7
100100
101-let ah = 8
101+let ay = 8
102102
103-let ai = 9
103+let az = 9
104104
105-let aj = 10
105+let aA = 10
106106
107-let ak = 11
107+let aB = 11
108108
109-let al = 12
109+let aC = 12
110110
111-let am = 13
111+let aD = 13
112112
113-func an (P,E,ao,ap,aq,ar,as,r,at,au,av,aw,ax) = makeString(["%s%d%d%d%d%d%d%s%d%d%d%d", P, E, toString(ao), toString(ap), toString(aq), toString(ar), toString(as), r, toString(at), toString(au), toString(av), toString(aw), ax], a)
113+func aE (aF,aG,aH,aI,aJ,aK,aL,aM,aN,aO,aP,aQ,aR) = makeString(["%s%d%d%d%d%d%d%s%d%d%d%d", aF, aG, toString(aH), toString(aI), toString(aJ), toString(aK), toString(aL), aM, toString(aN), toString(aO), toString(aP), toString(aQ), aR], a)
114114
115115
116-let ay = 1
116+let aS = 1
117117
118-let az = 2
118+let aT = 2
119119
120-let aA = 3
120+let aU = 3
121121
122-let aB = 4
122+let aV = 4
123123
124-func aC (aD,aE,aF,aG) = makeString(["%d%d%d%d", toString(aD), toString(aE), toString(aF), toString(aG)], a)
124+func aW (aX,aY,aZ,ba) = makeString(["%d%d%d%d", toString(aX), toString(aY), toString(aZ), toString(ba)], a)
125125
126126
127-func aH (aD,aE,aF,aG) = [-1, aD, aE, aF, aG]
127+func bb (bc,bd,be,bf) = [-1, bc, bd, be, bf]
128128
129129
130-func aI (c) = {
131- let aJ = split(valueOrElse(getString(this, c), aC(0, 0, 0, 0)), a)
132- aH(parseIntValue(aJ[ay]), parseIntValue(aJ[az]), parseIntValue(aJ[aA]), parseIntValue(aJ[aB]))
130+func bg (c) = {
131+ let bh = split(valueOrElse(getString(this, c), aW(0, 0, 0, 0)), a)
132+ bb(parseIntValue(bh[aS]), parseIntValue(bh[aT]), parseIntValue(bh[aU]), parseIntValue(bh[aV]))
133133 }
134134
135135
136-func aK (aL,k,E,u,v,aM,aN,aO) = {
137- let aP = (aL + k)
138- if ((aP == "submitP"))
136+func bi (bj,bk,bl,bm,bn,bo,bp,bq) = {
137+ let br = (bj + bk)
138+ if ((br == "submitP"))
139139 then {
140- let aQ = aH(0, 0, aM, 0)
141- let aR = aQ
142- $Tuple4(aQ, aR, 0, fromBase58String(""))
140+ let bs = bb(0, 0, bo, 0)
141+ let bt = bs
142+ $Tuple4(bs, bt, 0, fromBase58String(""))
143143 }
144- else if ((aP == "submitG"))
144+ else if ((br == "submitG"))
145145 then {
146- let aQ = aH(aM, 0, 0, 0)
147- let aR = aQ
148- $Tuple4(aQ, aR, 0, fromBase58String(""))
146+ let bu = bb(bo, 0, 0, 0)
147+ let bv = bu
148+ $Tuple4(bu, bv, 0, fromBase58String(""))
149149 }
150- else if ((aP == "executeP"))
150+ else if ((br == "executeP"))
151151 then {
152- let aS = w(aM, u, v)
153- let aQ = aH(0, 0, 0, aS)
154- let aR = aH(0, 0, aM, 0)
155- $Tuple4(aQ, aR, aS, aO)
152+ let bw = w(bo, bm, bn)
153+ let bx = bb(0, 0, 0, bw)
154+ let by = bb(0, 0, bo, 0)
155+ $Tuple4(bx, by, bw, bq)
156156 }
157- else if ((aP == "executeG"))
157+ else if ((br == "executeG"))
158158 then {
159- let aS = s(aM, u, v)
160- let aQ = aH(0, aS, 0, 0)
161- let aR = aH(aM, 0, 0, 0)
162- $Tuple4(aQ, aR, aS, aN)
159+ let bz = s(bo, bm, bn)
160+ let bA = bb(0, bz, 0, 0)
161+ let bB = bb(bo, 0, 0, 0)
162+ $Tuple4(bA, bB, bz, bp)
163163 }
164- else if ((aP == "topup"))
164+ else if ((br == "topup"))
165165 then {
166- let aJ = aI(J(E))
167- let aT = aJ[aA]
168- let aU = aJ[ay]
169- let aQ = aH(aU, (-1 * s(aU, u, v)), aT, (-1 * w(aT, u, v)))
170- $Tuple4(aQ, nil, 0, fromBase58String(""))
166+ let bC = bg(O(bl))
167+ let bD = bC[aU]
168+ let bE = bC[aS]
169+ let bF = bb(bE, (-1 * s(bE, bm, bn)), bD, (-1 * w(bD, bm, bn)))
170+ $Tuple4(bF, nil, 0, fromBase58String(""))
171171 }
172- else throw(("Unsupported Type " + aP))
172+ else throw(("Unsupported Type " + br))
173173 }
174174
175175
176-func aV (aW,c,aX) = {
177- func aY (aZ,ba) = if ((aW == "INCREMENT"))
178- then (aZ + ba)
179- else if ((aW == "DECREMENT"))
180- then (aZ - ba)
181- else throw(("Unsupported action " + aW))
176+func bG (bH,c,bI) = {
177+ func bJ (bK,bL) = if ((bH == "INCREMENT"))
178+ then (bK + bL)
179+ else if ((bH == "DECREMENT"))
180+ then (bK - bL)
181+ else throw(("Unsupported action " + bH))
182182
183- let bb = aI(c)
184- StringEntry(c, aC(aY(bb[ay], aX[ay]), aY(bb[az], aX[az]), aY(bb[aA], aX[aA]), aY(bb[aB], aX[aB])))
183+ let bM = bg(c)
184+ StringEntry(c, aW(bJ(bM[aS], bI[aS]), bJ(bM[aT], bI[aT]), bJ(bM[aU], bI[aU]), bJ(bM[aV], bI[aV])))
185185 }
186186
187187
188-func bc (k,E,bd,be) = makeString(["%s%d%s%s", k, E, bd, be], a)
188+func bN (bO,bP,bQ,bR) = makeString(["%s%d%s%s", bO, bP, bQ, bR], a)
189189
190190
191-let bf = 1
191+let bS = 1
192192
193-let bg = 2
193+let bT = 2
194194
195-let bh = 3
195+let bU = 3
196196
197-let bi = 4
197+let bV = 4
198198
199-let bj = 5
199+let bW = 5
200200
201-let bk = 6
201+let bX = 6
202202
203-let bl = 7
203+let bY = 7
204204
205-let bm = 8
205+let bZ = 8
206206
207-let bn = 9
207+let ca = 9
208208
209-func bo (bp,bq,u,br,bs,bt,bu,bv,bw) = makeString(["%s%d%d%d%d%d%d%d%d", bp, bq, u, br, bs, bt, bu, bv, bw], a)
209+func cb (cc,cd,ce,cf,cg,ch,ci,cj,ck) = makeString(["%s%d%d%d%d%d%d%d%d", cc, cd, ce, cf, cg, ch, ci, cj, ck], a)
210210
211211
212-func bx (bp,bq,u,br,bs,bt,bu,bv,by) = bo(bp, toString(bq), toString(u), toString(br), toString(bs), toString(bt), toString(bu), toString(bv), toString(by))
212+func cl (cc,cd,ce,cf,cg,ch,ci,cj,cm) = cb(cc, toString(cd), toString(ce), toString(cf), toString(cg), toString(ch), toString(ci), toString(cj), toString(cm))
213213
214214
215-func bz (bA,bB,bC,bD) = bo(bB, bA[bg], toString(bC), toString(bD), bA[bj], bA[bk], toString(height), toString(lastBlock.timestamp), bA[bn])
215+func cn (co,cp,cq,cr) = cb(cp, co[bT], toString(cq), toString(cr), co[bW], co[bX], toString(height), toString(lastBlock.timestamp), co[ca])
216216
217217
218-func bE (h) = {
219- let c = y(h)
218+func cs (ct) = {
219+ let c = A(ct)
220220 split(b(c), a)
221221 }
222222
223223
224-let bF = 1
224+let cu = 1
225225
226-let bG = 2
226+let cv = 2
227227
228-func bH (c,bI,bJ) = StringEntry(c, makeString(["%d%d", toString(bI), toString(bJ)], a))
228+func cw (c,cx,cy) = StringEntry(c, makeString(["%d%d", toString(cx), toString(cy)], a))
229229
230230
231-func bK (E,bL) = IntegerEntry(W(E), bL)
231+func cz (cA,cB) = IntegerEntry(ak(cA), cB)
232232
233233
234-func bM (E,aN,bN,aO,ap) = {
235- let aJ = aI(J(E))
236- let bO = aJ[az]
237- let bP = aJ[aA]
238- let bQ = assetBalance(this, aN)
239- let bR = (((bQ + bN) - bP) - bO)
240- let bS = aJ[aB]
241- let bT = aJ[ay]
242- let bU = value(assetInfo(aO)).quantity
243- if ((0 > bR))
244- then throw(((("baseAssetBalanceWCO < 0: baseAssetBalance=" + toString(bQ)) + " baseAssetBalanceWCO=") + toString(bR)))
234+func cC (cD,cE,cF,cG,cH) = {
235+ let cI = bg(O(cD))
236+ let cJ = cI[aT]
237+ let cK = cI[aU]
238+ let cL = assetBalance(this, cE)
239+ let cM = (((cL + cF) - cK) - cJ)
240+ let cN = cI[aV]
241+ let cO = cI[aS]
242+ let cP = value(assetInfo(cG)).quantity
243+ if ((0 > cM))
244+ then throw(((("v152 < 0: v151=" + toString(cL)) + " v152=") + toString(cM)))
245245 else {
246- let bV = e(A(E))
247- let u = if ((bU == 0))
248- then bV
249- else fraction(bR, ap, bU)
250- $Tuple9(u, bQ, -1, bR, bU, bP, bT, bO, bS)
246+ let cQ = e(D(cD))
247+ let cR = if ((cP == 0))
248+ then cQ
249+ else fraction(cM, cH, cP)
250+ $Tuple9(cR, cL, -1, cM, cP, cK, cO, cJ, cN)
251251 }
252252 }
253253
254254
255-func bW (E,aN,aO,ap) = bM(E, aN, 0, aO, ap)
255+func cS (cT,cU,cV,cW) = cC(cT, cU, 0, cV, cW)
256256
257257
258-func bX (k,bY,aM,bZ,h) = {
259- let ca = toBase58String(bZ)
260- let i = toString(bY.caller)
261- let aN = fromBase58String(h)
262- let cb = bE(h)
263- let P = cb[aa]
264- let aO = fromBase58String(P)
265- let ao = parseIntValue(cb[ac])
266- let E = cb[ab]
267- let cc = Z(E)
268- let cd = split(b(cc), a)
269- let ce = parseIntValue(cd[bF])
270- let cf = parseIntValue(cd[bG])
271- let cg = valueOrElse(getBoolean(this, R(E)), false)
272- if (cg)
258+func cX (cY,cZ,da,db,dc) = {
259+ let dd = toBase58String(db)
260+ let de = toString(cZ.caller)
261+ let df = fromBase58String(dc)
262+ let dg = cs(dc)
263+ let dh = dg[ar]
264+ let di = fromBase58String(dh)
265+ let dj = parseIntValue(dg[at])
266+ let dk = dg[as]
267+ let dl = ap(dk)
268+ let dm = split(b(dl), a)
269+ let dn = parseIntValue(dm[cu])
270+ let do = parseIntValue(dm[cv])
271+ let dp = valueOrElse(getBoolean(this, ab(dk)), false)
272+ if (dp)
273273 then throw("submit operation is blocked")
274274 else {
275- let ch = valueOrElse(getInteger(this, W(E)), 0)
276- if (((ch + 60) > height))
275+ let dq = valueOrElse(getInteger(this, ak(dk)), 0)
276+ if (((dq + 60) > height))
277277 then throw("submit operations are blocked by topup manager")
278278 else {
279- let ci = aK("submit", k, E, 0, 0, aM, aN, aO)
280- let cj = (ce - ci._2[aA])
281- let ck = (cf - ci._2[ay])
282- if (if ((0 > cj))
279+ let dr = bi("submit", cY, dk, 0, 0, da, df, di)
280+ let ds = (dn - dr._2[aU])
281+ let dt = (do - dr._2[aS])
282+ if (if ((0 > ds))
283283 then true
284- else (0 > ck))
285- then l(ce, cf, cj, ck)
284+ else (0 > dt))
285+ then l(dn, do, ds, dt)
286286 else {
287- let cl = e(T(E))
288- ((([StringEntry(bc(k, E, i, toBase58String(bY.transactionId)), bx("PENDING", aM, 0, 0, height, lastBlock.timestamp, 0, 0, (cl + 1)))] :+ aV("INCREMENT", J(E), ci._1)) :+ aV("INCREMENT", K(E, i), ci._2)) :+ bH(cc, cj, ck))
287+ let du = e(af(dk))
288+ ((([StringEntry(bN(cY, dk, de, toBase58String(cZ.transactionId)), cl("PENDING", da, 0, 0, height, lastBlock.timestamp, 0, 0, (du + 1)))] :+ bG("INCREMENT", O(dk), dr._1)) :+ bG("INCREMENT", Q(dk, de), dr._2)) :+ cw(dl, ds, dt))
289289 }
290290 }
291291 }
292292 }
293293
294294
295-func cm (k,h,i,j) = {
296- let bd = addressFromStringValue(i)
297- let cn = bE(h)
298- let aO = fromBase58String(cn[aa])
299- let E = cn[ab]
300- let ap = parseIntValue(cn[ad])
301- let aN = fromBase58String(h)
302- let co = bc(k, E, i, j)
303- let cp = split(b(co), a)
304- let bp = cp[bf]
305- let aM = parseIntValue(cp[bg])
306- let by = parseIntValue(cp[bn])
307- let cq = e(T(E))
308- let cr = e(D(E, by))
309- if ((bp != "PENDING"))
310- then f("Status is not PENDING", h, i, j, k)
311- else if ((by > cq))
312- then f(((("OperLock[" + toString(by)) + "] > ") + toString(cq)), h, i, j, k)
295+func dv (dw,dx,dy,dz) = {
296+ let dA = addressFromStringValue(dy)
297+ let dB = cs(dx)
298+ let dC = fromBase58String(dB[ar])
299+ let dD = dB[as]
300+ let dE = parseIntValue(dB[au])
301+ let dF = fromBase58String(dx)
302+ let dG = bN(dw, dD, dy, dz)
303+ let dH = split(b(dG), a)
304+ let dI = dH[bS]
305+ let dJ = parseIntValue(dH[bT])
306+ let dK = parseIntValue(dH[ca])
307+ let dL = e(af(dD))
308+ let dM = e(H(dD, dK))
309+ if ((dI != "PENDING"))
310+ then f("Status is not PENDING", dx, dy, dz, dw)
311+ else if ((dK > dL))
312+ then f(((("OperLock[" + toString(dK)) + "] > ") + toString(dL)), dx, dy, dz, dw)
313313 else {
314- let ci = aK("execute", k, E, cr, ap, aM, aN, aO)
315- let aS = ci._3
316- let cs = if ((ci._4 == aN))
317- then [ScriptTransfer(bd, aS, aN)]
318- else [ScriptTransfer(bd, aS, aO)]
319- (((cs :+ StringEntry(co, bz(cp, "FINISHED", cr, aS))) :+ aV("DECREMENT", J(E), ci._1)) :+ aV("DECREMENT", K(E, i), ci._2))
314+ let dN = bi("execute", dw, dD, dM, dE, dJ, dF, dC)
315+ let dO = dN._3
316+ let dP = if ((dN._4 == dF))
317+ then [ScriptTransfer(dA, dO, dF)]
318+ else [ScriptTransfer(dA, dO, dC)]
319+ (((dP :+ StringEntry(dG, cn(dH, "FINISHED", dM, dO))) :+ bG("DECREMENT", O(dD), dN._1)) :+ bG("DECREMENT", Q(dD, dy), dN._2))
320320 }
321321 }
322322
323323
324-func ct (h) = {
325- let aN = fromBase58String(h)
326- let cb = bE(h)
327- let P = cb[aa]
328- let aO = fromBase58String(P)
329- let cu = parseIntValue(cb[ac])
330- let cv = parseIntValue(cb[ad])
331- let E = cb[ab]
332- let cw = C(E)
333- let cx = valueOrElse(getInteger(this, cw), 0)
334- let cy = A(E)
335- let cz = valueOrElse(getInteger(this, cy), 0)
336- let cA = bW(E, aN, aO, cv)
337- $Tuple13(IntegerEntry("price", cA._1), IntegerEntry("decimalsMultPrice", cv), IntegerEntry("baseAssetBalance", cA._2), IntegerEntry("-1", cA._3), IntegerEntry("baseAssetBalanceWCO", cA._4), IntegerEntry("shareEmission", cA._5), IntegerEntry("currIterTotalInBaseAmount", cA._6), IntegerEntry("currIterTotalInShareAmount", cA._7), IntegerEntry("totalLockedOutBaseAmount", cA._8), IntegerEntry("totalLockedOutShareAmount", cA._9), IntegerEntry("decimalsMultBothAssets", cu), IntegerEntry("priceATH", cx), IntegerEntry("priceLast", cz))
324+func dQ (dR) = {
325+ let dS = fromBase58String(dR)
326+ let dT = cs(dR)
327+ let dU = dT[ar]
328+ let dV = fromBase58String(dU)
329+ let dW = parseIntValue(dT[at])
330+ let dX = parseIntValue(dT[au])
331+ let dY = dT[as]
332+ let dZ = F(dY)
333+ let ea = valueOrElse(getInteger(this, dZ), 0)
334+ let eb = D(dY)
335+ let ec = valueOrElse(getInteger(this, eb), 0)
336+ let ed = cS(dY, dS, dV, dX)
337+ $Tuple13(IntegerEntry("price", ed._1), IntegerEntry("decimalsMultPrice", dX), IntegerEntry("baseAssetBalance", ed._2), IntegerEntry("-1", ed._3), IntegerEntry("baseAssetBalanceWCO", ed._4), IntegerEntry("shareEmission", ed._5), IntegerEntry("currIterTotalInBaseAmount", ed._6), IntegerEntry("currIterTotalInShareAmount", ed._7), IntegerEntry("totalLockedOutBaseAmount", ed._8), IntegerEntry("totalLockedOutShareAmount", ed._9), IntegerEntry("decimalsMultBothAssets", dW), IntegerEntry("priceATH", ea), IntegerEntry("priceLast", ec))
338338 }
339339
340340
341-@Callable(bY)
342-func adminRegisterAsset (h,cB,cC,cD,cE,cF,ar,as,r,at,au,av,aw,ax) = {
343- let aN = fromBase58String(h)
344- let cG = value(assetInfo(aN)).decimals
345- let ao = pow(10, 0, cG, 0, 0, DOWN)
346- let ap = ((100 * 1000) * 1000)
347- let cH = fraction(as, 100, ao)
348- let bQ = assetBalance(this, aN)
349- if ((bY.caller != this))
341+@Callable(cZ)
342+func adminRegisterAsset (ee,ef,eg,eh,ei,ej,aK,aL,aM,aN,aO,aP,aQ,aR) = {
343+ let ek = fromBase58String(ee)
344+ let el = value(assetInfo(ek)).decimals
345+ let em = pow(10, 0, el, 0, 0, DOWN)
346+ let en = ((100 * 1000) * 1000)
347+ let eo = fraction(aL, 100, em)
348+ let ep = assetBalance(this, ek)
349+ if ((cZ.caller != this))
350350 then throw("permissions denied")
351- else if ((bQ == 0))
352- then throw(((toString(this) + " must have any initial balance of ") + h))
353- else if (isDefined(getString(this, y(h))))
354- then throw((h + " has been already registered"))
355- else if ((toString(addressFromStringValue(cE)) != cE))
351+ else if ((ep == 0))
352+ then throw(((toString(this) + " must have any initial balance of ") + ee))
353+ else if (isDefined(getString(this, A(ee))))
354+ then throw((ee + " has been already registered"))
355+ else if ((toString(addressFromStringValue(ei)) != ei))
356356 then throw("invalid shutdownManagerAddress")
357- else if ((toString(addressFromStringValue(r)) != r))
357+ else if ((toString(addressFromStringValue(aM)) != aM))
358358 then throw("invalid topupManagerAddress")
359- else if ((0 > cD))
360- then throw(("invalid getDelayinBlocks=" + toString(cD)))
361- else if (if ((0 >= cH))
359+ else if ((0 > eh))
360+ then throw(("invalid getDelayinBlocks=" + toString(eh)))
361+ else if (if ((0 >= eo))
362362 then true
363- else (cH >= 99))
363+ else (eo >= 99))
364364 then throw("invalid topupMaxNegativePart parameter")
365365 else {
366- let cI = w(bQ, cF, ap)
367- let cJ = Issue(cB, cC, cI, cG, true)
368- let aO = calculateAssetId(cJ)
369- let P = toBase58String(aO)
370- let cK = valueOrElse(getInteger(this, z()), 0)
371- let E = toString(cK)
372-[StringEntry(y(h), an(P, E, ao, ap, cD, ar, as, r, at, au, av, aw, ax)), StringEntry(L(cK), h), StringEntry(N(h), E), StringEntry(O(P), h), StringEntry(Q(h), P), BooleanEntry(R(E), false), StringEntry(S(E), cE), IntegerEntry(z(), (cK + 1)), IntegerEntry(A(E), cF), IntegerEntry(G(E, height, lastBlock.timestamp), cF), IntegerEntry(T(E), 0), bH(Z(E), at, av), cJ, ScriptTransfer(addressFromStringValue(r), cI, aO)]
366+ let eq = w(ep, ej, en)
367+ let er = Issue(ef, eg, eq, el, true)
368+ let es = calculateAssetId(er)
369+ let et = toBase58String(es)
370+ let eu = valueOrElse(getInteger(this, C()), 0)
371+ let ev = toString(eu)
372+[StringEntry(A(ee), aE(et, ev, em, en, eh, aK, aL, aM, aN, aO, aP, aQ, aR)), StringEntry(T(eu), ee), StringEntry(V(ee), ev), StringEntry(X(et), ee), StringEntry(Z(ee), et), BooleanEntry(ab(ev), false), StringEntry(ad(ev), ei), IntegerEntry(C(), (eu + 1)), IntegerEntry(D(ev), ej), IntegerEntry(K(ev, height, lastBlock.timestamp), ej), IntegerEntry(af(ev), 0), cw(ap(ev), aN, aP), er, ScriptTransfer(addressFromStringValue(aM), eq, es)]
373373 }
374374 }
375375
376376
377377
378-@Callable(bY)
379-func adminUpdateCfg (h,cL,cM) = {
380- let cb = bE(h)
378+@Callable(cZ)
379+func adminUpdateCfg (ew,ex,ey) = {
380+ let ez = cs(ew)
381381 nil
382382 }
383383
384384
385385
386-@Callable(bY)
387-func shutdownSubmits (cK) = {
388- let cN = toString(cK)
389- let cO = b(L(cK))
390- let cE = b(S(cN))
391- if ((1 > size(cO)))
392- then throw("invalid internalBaseAssetId")
393- else if ((toString(bY.caller) != cE))
386+@Callable(cZ)
387+func shutdownSubmits (eu) = {
388+ let eA = toString(eu)
389+ let eB = b(T(eu))
390+ let eC = b(ad(eA))
391+ if ((1 > size(eB)))
392+ then throw("invalid v231")
393+ else if ((toString(cZ.caller) != eC))
394394 then throw("access denied")
395- else [BooleanEntry(R(toString(cK)), true)]
395+ else [BooleanEntry(ab(toString(eu)), true)]
396396 }
397397
398398
399399
400-@Callable(bY)
400+@Callable(cZ)
401401 func submitPut () = {
402- let cP = value(bY.payments[0])
403- let aM = cP.amount
404- let bZ = value(cP.assetId)
405- let h = toBase58String(bZ)
406- bX("P", bY, aM, bZ, h)
402+ let eD = value(cZ.payments[0])
403+ let eE = eD.amount
404+ let eF = value(eD.assetId)
405+ let eG = toBase58String(eF)
406+ cX("P", cZ, eE, eF, eG)
407407 }
408408
409409
410410
411-@Callable(bY)
411+@Callable(cZ)
412412 func submitGet () = {
413- let cP = value(bY.payments[0])
414- let aM = cP.amount
415- let bZ = value(cP.assetId)
416- let P = toBase58String(bZ)
417- let h = b(O(P))
418- bX("G", bY, aM, bZ, h)
413+ let eD = value(cZ.payments[0])
414+ let eH = eD.amount
415+ let eI = value(eD.assetId)
416+ let et = toBase58String(eI)
417+ let eJ = b(X(et))
418+ cX("G", cZ, eH, eI, eJ)
419419 }
420420
421421
422422
423-@Callable(bY)
424-func executePut (h,i,j) = cm("P", h, i, j)
423+@Callable(cZ)
424+func executePut (eK,eL,eM) = dv("P", eK, eL, eM)
425425
426426
427427
428-@Callable(bY)
429-func executeGet (h,i,j) = cm("G", h, i, j)
428+@Callable(cZ)
429+func executeGet (eN,eO,eP) = dv("G", eN, eO, eP)
430430
431431
432432
433-@Callable(bY)
434-func operationsMutex (h) = {
435- let cn = bE(h)
436- let cQ = cn[ah]
437- let E = cn[ab]
438- if ((toString(bY.caller) != cQ))
439- then q(cQ)
440- else [bK(E, height)]
433+@Callable(cZ)
434+func operationsMutex (eQ) = {
435+ let eR = cs(eQ)
436+ let eS = eR[ay]
437+ let ev = eR[as]
438+ if ((toString(cZ.caller) != eS))
439+ then q(eS)
440+ else [cz(ev, height)]
441441 }
442442
443443
444444
445-@Callable(bY)
446-func topUpBalance (h,cR) = {
447- let aN = fromBase58String(h)
448- let cn = bE(h)
449- let aO = fromBase58String(cn[aa])
450- let v = parseIntValue(cn[ad])
451- let cS = parseIntValue(cn[ac])
452- let ar = parseIntValue(cn[af])
453- let as = parseIntValue(cn[ag])
454- let E = cn[ab]
455- let cQ = cn[ah]
456- let at = parseIntValue(cn[ai])
457- let av = parseIntValue(cn[ak])
458- let cT = T(E)
459- let cU = e(cT)
460- let cV = (cU + 1)
461- let cW = if ((cR > 0))
445+@Callable(cZ)
446+func topUpBalance (eT,eU) = {
447+ let ek = fromBase58String(eT)
448+ let eV = cs(eT)
449+ let es = fromBase58String(eV[ar])
450+ let eW = parseIntValue(eV[au])
451+ let eX = parseIntValue(eV[at])
452+ let eY = parseIntValue(eV[aw])
453+ let eZ = parseIntValue(eV[ax])
454+ let ev = eV[as]
455+ let fa = eV[ay]
456+ let fb = parseIntValue(eV[az])
457+ let fc = parseIntValue(eV[aB])
458+ let fd = af(ev)
459+ let fe = e(fd)
460+ let ff = (fe + 1)
461+ let fg = if ((eU > 0))
462462 then {
463- let cP = value(bY.payments[0])
464- let cX = value(cP.assetId)
465- if ((aN != cX))
466- then throw("attached payment's asset id is NOT matched passed baseAssetStr")
467- else if ((size(bY.payments) > 1))
463+ let eD = value(cZ.payments[0])
464+ let fh = value(eD.assetId)
465+ if ((ek != fh))
466+ then throw("attached payment's asset id is NOT matched passed v255")
467+ else if ((size(cZ.payments) > 1))
468468 then throw("only one payment can be attached")
469- else if ((cP.amount != cR))
470- then throw("attached payment.amount is NOT matched passed income argument")
469+ else if ((eD.amount != eU))
470+ then throw("attached payment.amount is NOT matched passed v256 argument")
471471 else true
472472 }
473- else if ((0 > cR))
473+ else if ((0 > eU))
474474 then {
475- let cY = assetBalance(this, aN)
476- let cZ = fraction(as, cY, cS)
477- if ((-(cR) > cZ))
478- then throw(("topup negative income couldn't be greater than " + toString(cZ)))
475+ let fi = assetBalance(this, ek)
476+ let fj = fraction(eZ, fi, eX)
477+ if ((-(eU) > fj))
478+ then throw(("topup negative v256 couldn't be greater than " + toString(fj)))
479479 else true
480480 }
481- else throw("zero income is not allowed")
482- let da = U(E, toString(bY.caller))
483- let db = valueOrElse(getInteger(this, da), 0)
484- if ((toString(bY.caller) != cQ))
485- then q(cQ)
486- else if (!(cW))
481+ else throw("zero v256 is not allowed")
482+ let fk = ah(ev, toString(cZ.caller))
483+ let fl = valueOrElse(getInteger(this, fk), 0)
484+ if ((toString(cZ.caller) != fa))
485+ then q(fa)
486+ else if (!(fg))
487487 then throw("validation failed")
488- else if ((ar > (height - db)))
489- then throw((("1 topup per " + toString(ar)) + " blocks from the same address is allowed"))
488+ else if ((eY > (height - fl)))
489+ then throw((("1 topup per " + toString(eY)) + " blocks from the same address is allowed"))
490490 else {
491- let u = bM(E, aN, cR, aO, v)._1
492- let ci = aK("topup", "", E, u, v, 0, aN, aO)
493- let dc = ci._1
494- let cw = C(E)
495- let dd = valueOrElse(getInteger(this, cw), 0)
496- (((((([IntegerEntry(A(E), u), IntegerEntry(G(E, height, lastBlock.timestamp), u), IntegerEntry(D(E, cV), u), IntegerEntry(cT, cV), IntegerEntry(cw, if ((u > dd))
497- then u
498- else dd), IntegerEntry(da, height)] :+ aV("DECREMENT", J(E), dc)) :+ bK(E, 0)) :+ bH(Z(E), at, av)) :+ Burn(aO, dc[ay])) :+ Reissue(aO, -(dc[aB]), true)) ++ (if ((0 > cR))
499- then [ScriptTransfer(bY.caller, -(cR), aN)]
491+ let fm = cC(ev, ek, eU, es, eW)._1
492+ let fn = bi("topup", "", ev, fm, eW, 0, ek, es)
493+ let fo = fn._1
494+ let fp = F(ev)
495+ let fq = valueOrElse(getInteger(this, fp), 0)
496+ (((((([IntegerEntry(D(ev), fm), IntegerEntry(K(ev, height, lastBlock.timestamp), fm), IntegerEntry(H(ev, ff), fm), IntegerEntry(fd, ff), IntegerEntry(fp, if ((fm > fq))
497+ then fm
498+ else fq), IntegerEntry(fk, height)] :+ bG("DECREMENT", O(ev), fo)) :+ cz(ev, 0)) :+ cw(ap(ev), fb, fc)) :+ Burn(es, fo[aS])) :+ Reissue(es, -(fo[aV]), true)) ++ (if ((0 > eU))
499+ then [ScriptTransfer(cZ.caller, -(eU), ek)]
500500 else nil))
501501 }
502502 }
503503
504504
505505
506-@Callable(bY)
507-func currentSysParamsREST (h) = {
508- let de = ct(h)
509- let u = de._1.value
510- let ap = de._2.value
511- let bQ = de._3.value
512- let df = de._4.value
513- let bR = de._5.value
514- let bU = de._6.value
515- let bP = de._7.value
516- let bT = de._8.value
517- let bO = de._9.value
518- let bS = de._10.value
519- let ao = de._11.value
520- let dg = de._12.value
521- let dh = de._13.value
522- let di = makeString(["startCurrentSysParamsREST", toString(u), toString(ap), toString(bQ), toString(df), toString(bR), toString(bU), toString(bP), toString(bT), toString(bO), toString(bS), toString(ao), toString(dg), toString(dh), "endCurrentSysParamsREST"], a)
523- throw(di)
506+@Callable(cZ)
507+func currentSysParamsREST (fr) = {
508+ let fs = dQ(fr)
509+ let ft = fs._1.value
510+ let en = fs._2.value
511+ let ep = fs._3.value
512+ let fu = fs._4.value
513+ let fv = fs._5.value
514+ let fw = fs._6.value
515+ let fx = fs._7.value
516+ let fy = fs._8.value
517+ let fz = fs._9.value
518+ let fA = fs._10.value
519+ let em = fs._11.value
520+ let fB = fs._12.value
521+ let fC = fs._13.value
522+ let fD = makeString(["startCurrentSysParamsREST", toString(ft), toString(en), toString(ep), toString(fu), toString(fv), toString(fw), toString(fx), toString(fy), toString(fz), toString(fA), toString(em), toString(fB), toString(fC), "endCurrentSysParamsREST"], a)
523+ throw(fD)
524524 }
525525
526526
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 4 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 let a = "__"
55
66 func b (c) = valueOrErrorMessage(getString(this, c), ("No data for this.key=" + c))
77
88
99 func d (c) = valueOrErrorMessage(getBoolean(this, c), ("No data for this.key=" + c))
1010
1111
1212 func e (c) = valueOrErrorMessage(getInteger(this, c), ("No data for this.key=" + c))
1313
1414
1515 func f (g,h,i,j,k) = throw(((((((((g + ": baseAsset=") + h) + " userAddress=") + i) + " submitTxId=") + j) + " operation=") + k))
1616
1717
1818 func l (m,n,o,p) = throw((((((((("submit operation limits have been reached: " + " remainingBaseVal=") + toString(m)) + " remainingShareVal=") + toString(n)) + " newRemainingBaseVal=") + toString(o)) + " newRemainingShareVal=") + toString(p)))
1919
2020
2121 func q (r) = throw((("opertion denied: only topUpManager=" + r) + " can send such transactions"))
2222
2323
2424 func s (t,u,v) = fraction(t, u, v)
2525
2626
27-func w (x,u,v) = fraction(x, v, u)
27+func w (x,y,z) = fraction(x, z, y)
2828
2929
30-func y (h) = ("%s%s%s__config__asset__" + h)
30+func A (B) = ("%s%s%s__config__asset__" + B)
3131
3232
33-func z () = "%s__nextInternalAssetId"
33+func C () = "%s__nextInternalAssetId"
3434
3535
36-func A (B) = ("%s%s%d__price__last__" + B)
36+func D (E) = ("%s%s%d__price__last__" + E)
3737
3838
39-func C (B) = ("%s%s%d__price__ath__" + B)
39+func F (G) = ("%s%s%d__price__ath__" + G)
4040
4141
42-func D (E,F) = makeString(["%s%s%d%d__price__byTopUpIdx", E, toString(F)], a)
42+func H (I,J) = makeString(["%s%s%d%d__price__byTopUpIdx", I, toString(J)], a)
4343
4444
45-func G (B,H,I) = makeString(["%s%s%d%d%d__price__history", B, toString(H), toString(I)], a)
45+func K (L,M,N) = makeString(["%s%s%d%d%d__price__history", L, toString(M), toString(N)], a)
4646
4747
48-func J (B) = ("%s%s%d__total__locked__" + B)
48+func O (P) = ("%s%s%d__total__locked__" + P)
4949
5050
51-func K (E,i) = makeString(["%s%s%d%s__total__locked", E, i], a)
51+func Q (R,S) = makeString(["%s%s%d%s__total__locked", R, S], a)
5252
5353
54-func L (M) = ("%s%s%d__mappings__internal2baseAssetId__" + toString(M))
54+func T (U) = ("%s%s%d__mappings__internal2baseAssetId__" + toString(U))
5555
5656
57-func N (h) = ("%s%s%s__mappings__baseAsset2internalId__" + h)
57+func V (W) = ("%s%s%s__mappings__baseAsset2internalId__" + W)
5858
5959
60-func O (P) = ("%s%s%s__mappings__share2baseAssetId__" + P)
60+func X (Y) = ("%s%s%s__mappings__share2baseAssetId__" + Y)
6161
6262
63-func Q (h) = ("%s%s%s__mappings__baseAsset2shareId__" + h)
63+func Z (aa) = ("%s%s%s__mappings__baseAsset2shareId__" + aa)
6464
6565
66-func R (E) = ("%s%s%d__shutdown__submit__" + E)
66+func ab (ac) = ("%s%s%d__shutdown__submit__" + ac)
6767
6868
69-func S (E) = ("%s%s%d__shutdown__manager__" + E)
69+func ad (ae) = ("%s%s%d__shutdown__manager__" + ae)
7070
7171
72-func T (E) = ("%s%s%d__topup__currentIdx__" + E)
72+func af (ag) = ("%s%s%d__topup__currentIdx__" + ag)
7373
7474
75-func U (B,V) = makeString(["%s%s%s%d%s__topup__last__height", B, V], a)
75+func ah (ai,aj) = makeString(["%s%s%s%d%s__topup__last__height", ai, aj], a)
7676
7777
78-func W (B) = ("%s%s%d__topup__mutex__" + B)
78+func ak (al) = ("%s%s%d__topup__mutex__" + al)
7979
8080
81-func X (B,Y) = makeString(["%s%s%d%d__topup__history", B, toString(Y)], a)
81+func am (an,ao) = makeString(["%s%s%d%d__topup__history", an, toString(ao)], a)
8282
8383
84-func Z (B) = ("%s%s%d__limits__remaining__" + B)
84+func ap (aq) = ("%s%s%d__limits__remaining__" + aq)
8585
8686
87-let aa = 1
87+let ar = 1
8888
89-let ab = 2
89+let as = 2
9090
91-let ac = 3
91+let at = 3
9292
93-let ad = 4
93+let au = 4
9494
95-let ae = 5
95+let av = 5
9696
97-let af = 6
97+let aw = 6
9898
99-let ag = 7
99+let ax = 7
100100
101-let ah = 8
101+let ay = 8
102102
103-let ai = 9
103+let az = 9
104104
105-let aj = 10
105+let aA = 10
106106
107-let ak = 11
107+let aB = 11
108108
109-let al = 12
109+let aC = 12
110110
111-let am = 13
111+let aD = 13
112112
113-func an (P,E,ao,ap,aq,ar,as,r,at,au,av,aw,ax) = makeString(["%s%d%d%d%d%d%d%s%d%d%d%d", P, E, toString(ao), toString(ap), toString(aq), toString(ar), toString(as), r, toString(at), toString(au), toString(av), toString(aw), ax], a)
113+func aE (aF,aG,aH,aI,aJ,aK,aL,aM,aN,aO,aP,aQ,aR) = makeString(["%s%d%d%d%d%d%d%s%d%d%d%d", aF, aG, toString(aH), toString(aI), toString(aJ), toString(aK), toString(aL), aM, toString(aN), toString(aO), toString(aP), toString(aQ), aR], a)
114114
115115
116-let ay = 1
116+let aS = 1
117117
118-let az = 2
118+let aT = 2
119119
120-let aA = 3
120+let aU = 3
121121
122-let aB = 4
122+let aV = 4
123123
124-func aC (aD,aE,aF,aG) = makeString(["%d%d%d%d", toString(aD), toString(aE), toString(aF), toString(aG)], a)
124+func aW (aX,aY,aZ,ba) = makeString(["%d%d%d%d", toString(aX), toString(aY), toString(aZ), toString(ba)], a)
125125
126126
127-func aH (aD,aE,aF,aG) = [-1, aD, aE, aF, aG]
127+func bb (bc,bd,be,bf) = [-1, bc, bd, be, bf]
128128
129129
130-func aI (c) = {
131- let aJ = split(valueOrElse(getString(this, c), aC(0, 0, 0, 0)), a)
132- aH(parseIntValue(aJ[ay]), parseIntValue(aJ[az]), parseIntValue(aJ[aA]), parseIntValue(aJ[aB]))
130+func bg (c) = {
131+ let bh = split(valueOrElse(getString(this, c), aW(0, 0, 0, 0)), a)
132+ bb(parseIntValue(bh[aS]), parseIntValue(bh[aT]), parseIntValue(bh[aU]), parseIntValue(bh[aV]))
133133 }
134134
135135
136-func aK (aL,k,E,u,v,aM,aN,aO) = {
137- let aP = (aL + k)
138- if ((aP == "submitP"))
136+func bi (bj,bk,bl,bm,bn,bo,bp,bq) = {
137+ let br = (bj + bk)
138+ if ((br == "submitP"))
139139 then {
140- let aQ = aH(0, 0, aM, 0)
141- let aR = aQ
142- $Tuple4(aQ, aR, 0, fromBase58String(""))
140+ let bs = bb(0, 0, bo, 0)
141+ let bt = bs
142+ $Tuple4(bs, bt, 0, fromBase58String(""))
143143 }
144- else if ((aP == "submitG"))
144+ else if ((br == "submitG"))
145145 then {
146- let aQ = aH(aM, 0, 0, 0)
147- let aR = aQ
148- $Tuple4(aQ, aR, 0, fromBase58String(""))
146+ let bu = bb(bo, 0, 0, 0)
147+ let bv = bu
148+ $Tuple4(bu, bv, 0, fromBase58String(""))
149149 }
150- else if ((aP == "executeP"))
150+ else if ((br == "executeP"))
151151 then {
152- let aS = w(aM, u, v)
153- let aQ = aH(0, 0, 0, aS)
154- let aR = aH(0, 0, aM, 0)
155- $Tuple4(aQ, aR, aS, aO)
152+ let bw = w(bo, bm, bn)
153+ let bx = bb(0, 0, 0, bw)
154+ let by = bb(0, 0, bo, 0)
155+ $Tuple4(bx, by, bw, bq)
156156 }
157- else if ((aP == "executeG"))
157+ else if ((br == "executeG"))
158158 then {
159- let aS = s(aM, u, v)
160- let aQ = aH(0, aS, 0, 0)
161- let aR = aH(aM, 0, 0, 0)
162- $Tuple4(aQ, aR, aS, aN)
159+ let bz = s(bo, bm, bn)
160+ let bA = bb(0, bz, 0, 0)
161+ let bB = bb(bo, 0, 0, 0)
162+ $Tuple4(bA, bB, bz, bp)
163163 }
164- else if ((aP == "topup"))
164+ else if ((br == "topup"))
165165 then {
166- let aJ = aI(J(E))
167- let aT = aJ[aA]
168- let aU = aJ[ay]
169- let aQ = aH(aU, (-1 * s(aU, u, v)), aT, (-1 * w(aT, u, v)))
170- $Tuple4(aQ, nil, 0, fromBase58String(""))
166+ let bC = bg(O(bl))
167+ let bD = bC[aU]
168+ let bE = bC[aS]
169+ let bF = bb(bE, (-1 * s(bE, bm, bn)), bD, (-1 * w(bD, bm, bn)))
170+ $Tuple4(bF, nil, 0, fromBase58String(""))
171171 }
172- else throw(("Unsupported Type " + aP))
172+ else throw(("Unsupported Type " + br))
173173 }
174174
175175
176-func aV (aW,c,aX) = {
177- func aY (aZ,ba) = if ((aW == "INCREMENT"))
178- then (aZ + ba)
179- else if ((aW == "DECREMENT"))
180- then (aZ - ba)
181- else throw(("Unsupported action " + aW))
176+func bG (bH,c,bI) = {
177+ func bJ (bK,bL) = if ((bH == "INCREMENT"))
178+ then (bK + bL)
179+ else if ((bH == "DECREMENT"))
180+ then (bK - bL)
181+ else throw(("Unsupported action " + bH))
182182
183- let bb = aI(c)
184- StringEntry(c, aC(aY(bb[ay], aX[ay]), aY(bb[az], aX[az]), aY(bb[aA], aX[aA]), aY(bb[aB], aX[aB])))
183+ let bM = bg(c)
184+ StringEntry(c, aW(bJ(bM[aS], bI[aS]), bJ(bM[aT], bI[aT]), bJ(bM[aU], bI[aU]), bJ(bM[aV], bI[aV])))
185185 }
186186
187187
188-func bc (k,E,bd,be) = makeString(["%s%d%s%s", k, E, bd, be], a)
188+func bN (bO,bP,bQ,bR) = makeString(["%s%d%s%s", bO, bP, bQ, bR], a)
189189
190190
191-let bf = 1
191+let bS = 1
192192
193-let bg = 2
193+let bT = 2
194194
195-let bh = 3
195+let bU = 3
196196
197-let bi = 4
197+let bV = 4
198198
199-let bj = 5
199+let bW = 5
200200
201-let bk = 6
201+let bX = 6
202202
203-let bl = 7
203+let bY = 7
204204
205-let bm = 8
205+let bZ = 8
206206
207-let bn = 9
207+let ca = 9
208208
209-func bo (bp,bq,u,br,bs,bt,bu,bv,bw) = makeString(["%s%d%d%d%d%d%d%d%d", bp, bq, u, br, bs, bt, bu, bv, bw], a)
209+func cb (cc,cd,ce,cf,cg,ch,ci,cj,ck) = makeString(["%s%d%d%d%d%d%d%d%d", cc, cd, ce, cf, cg, ch, ci, cj, ck], a)
210210
211211
212-func bx (bp,bq,u,br,bs,bt,bu,bv,by) = bo(bp, toString(bq), toString(u), toString(br), toString(bs), toString(bt), toString(bu), toString(bv), toString(by))
212+func cl (cc,cd,ce,cf,cg,ch,ci,cj,cm) = cb(cc, toString(cd), toString(ce), toString(cf), toString(cg), toString(ch), toString(ci), toString(cj), toString(cm))
213213
214214
215-func bz (bA,bB,bC,bD) = bo(bB, bA[bg], toString(bC), toString(bD), bA[bj], bA[bk], toString(height), toString(lastBlock.timestamp), bA[bn])
215+func cn (co,cp,cq,cr) = cb(cp, co[bT], toString(cq), toString(cr), co[bW], co[bX], toString(height), toString(lastBlock.timestamp), co[ca])
216216
217217
218-func bE (h) = {
219- let c = y(h)
218+func cs (ct) = {
219+ let c = A(ct)
220220 split(b(c), a)
221221 }
222222
223223
224-let bF = 1
224+let cu = 1
225225
226-let bG = 2
226+let cv = 2
227227
228-func bH (c,bI,bJ) = StringEntry(c, makeString(["%d%d", toString(bI), toString(bJ)], a))
228+func cw (c,cx,cy) = StringEntry(c, makeString(["%d%d", toString(cx), toString(cy)], a))
229229
230230
231-func bK (E,bL) = IntegerEntry(W(E), bL)
231+func cz (cA,cB) = IntegerEntry(ak(cA), cB)
232232
233233
234-func bM (E,aN,bN,aO,ap) = {
235- let aJ = aI(J(E))
236- let bO = aJ[az]
237- let bP = aJ[aA]
238- let bQ = assetBalance(this, aN)
239- let bR = (((bQ + bN) - bP) - bO)
240- let bS = aJ[aB]
241- let bT = aJ[ay]
242- let bU = value(assetInfo(aO)).quantity
243- if ((0 > bR))
244- then throw(((("baseAssetBalanceWCO < 0: baseAssetBalance=" + toString(bQ)) + " baseAssetBalanceWCO=") + toString(bR)))
234+func cC (cD,cE,cF,cG,cH) = {
235+ let cI = bg(O(cD))
236+ let cJ = cI[aT]
237+ let cK = cI[aU]
238+ let cL = assetBalance(this, cE)
239+ let cM = (((cL + cF) - cK) - cJ)
240+ let cN = cI[aV]
241+ let cO = cI[aS]
242+ let cP = value(assetInfo(cG)).quantity
243+ if ((0 > cM))
244+ then throw(((("v152 < 0: v151=" + toString(cL)) + " v152=") + toString(cM)))
245245 else {
246- let bV = e(A(E))
247- let u = if ((bU == 0))
248- then bV
249- else fraction(bR, ap, bU)
250- $Tuple9(u, bQ, -1, bR, bU, bP, bT, bO, bS)
246+ let cQ = e(D(cD))
247+ let cR = if ((cP == 0))
248+ then cQ
249+ else fraction(cM, cH, cP)
250+ $Tuple9(cR, cL, -1, cM, cP, cK, cO, cJ, cN)
251251 }
252252 }
253253
254254
255-func bW (E,aN,aO,ap) = bM(E, aN, 0, aO, ap)
255+func cS (cT,cU,cV,cW) = cC(cT, cU, 0, cV, cW)
256256
257257
258-func bX (k,bY,aM,bZ,h) = {
259- let ca = toBase58String(bZ)
260- let i = toString(bY.caller)
261- let aN = fromBase58String(h)
262- let cb = bE(h)
263- let P = cb[aa]
264- let aO = fromBase58String(P)
265- let ao = parseIntValue(cb[ac])
266- let E = cb[ab]
267- let cc = Z(E)
268- let cd = split(b(cc), a)
269- let ce = parseIntValue(cd[bF])
270- let cf = parseIntValue(cd[bG])
271- let cg = valueOrElse(getBoolean(this, R(E)), false)
272- if (cg)
258+func cX (cY,cZ,da,db,dc) = {
259+ let dd = toBase58String(db)
260+ let de = toString(cZ.caller)
261+ let df = fromBase58String(dc)
262+ let dg = cs(dc)
263+ let dh = dg[ar]
264+ let di = fromBase58String(dh)
265+ let dj = parseIntValue(dg[at])
266+ let dk = dg[as]
267+ let dl = ap(dk)
268+ let dm = split(b(dl), a)
269+ let dn = parseIntValue(dm[cu])
270+ let do = parseIntValue(dm[cv])
271+ let dp = valueOrElse(getBoolean(this, ab(dk)), false)
272+ if (dp)
273273 then throw("submit operation is blocked")
274274 else {
275- let ch = valueOrElse(getInteger(this, W(E)), 0)
276- if (((ch + 60) > height))
275+ let dq = valueOrElse(getInteger(this, ak(dk)), 0)
276+ if (((dq + 60) > height))
277277 then throw("submit operations are blocked by topup manager")
278278 else {
279- let ci = aK("submit", k, E, 0, 0, aM, aN, aO)
280- let cj = (ce - ci._2[aA])
281- let ck = (cf - ci._2[ay])
282- if (if ((0 > cj))
279+ let dr = bi("submit", cY, dk, 0, 0, da, df, di)
280+ let ds = (dn - dr._2[aU])
281+ let dt = (do - dr._2[aS])
282+ if (if ((0 > ds))
283283 then true
284- else (0 > ck))
285- then l(ce, cf, cj, ck)
284+ else (0 > dt))
285+ then l(dn, do, ds, dt)
286286 else {
287- let cl = e(T(E))
288- ((([StringEntry(bc(k, E, i, toBase58String(bY.transactionId)), bx("PENDING", aM, 0, 0, height, lastBlock.timestamp, 0, 0, (cl + 1)))] :+ aV("INCREMENT", J(E), ci._1)) :+ aV("INCREMENT", K(E, i), ci._2)) :+ bH(cc, cj, ck))
287+ let du = e(af(dk))
288+ ((([StringEntry(bN(cY, dk, de, toBase58String(cZ.transactionId)), cl("PENDING", da, 0, 0, height, lastBlock.timestamp, 0, 0, (du + 1)))] :+ bG("INCREMENT", O(dk), dr._1)) :+ bG("INCREMENT", Q(dk, de), dr._2)) :+ cw(dl, ds, dt))
289289 }
290290 }
291291 }
292292 }
293293
294294
295-func cm (k,h,i,j) = {
296- let bd = addressFromStringValue(i)
297- let cn = bE(h)
298- let aO = fromBase58String(cn[aa])
299- let E = cn[ab]
300- let ap = parseIntValue(cn[ad])
301- let aN = fromBase58String(h)
302- let co = bc(k, E, i, j)
303- let cp = split(b(co), a)
304- let bp = cp[bf]
305- let aM = parseIntValue(cp[bg])
306- let by = parseIntValue(cp[bn])
307- let cq = e(T(E))
308- let cr = e(D(E, by))
309- if ((bp != "PENDING"))
310- then f("Status is not PENDING", h, i, j, k)
311- else if ((by > cq))
312- then f(((("OperLock[" + toString(by)) + "] > ") + toString(cq)), h, i, j, k)
295+func dv (dw,dx,dy,dz) = {
296+ let dA = addressFromStringValue(dy)
297+ let dB = cs(dx)
298+ let dC = fromBase58String(dB[ar])
299+ let dD = dB[as]
300+ let dE = parseIntValue(dB[au])
301+ let dF = fromBase58String(dx)
302+ let dG = bN(dw, dD, dy, dz)
303+ let dH = split(b(dG), a)
304+ let dI = dH[bS]
305+ let dJ = parseIntValue(dH[bT])
306+ let dK = parseIntValue(dH[ca])
307+ let dL = e(af(dD))
308+ let dM = e(H(dD, dK))
309+ if ((dI != "PENDING"))
310+ then f("Status is not PENDING", dx, dy, dz, dw)
311+ else if ((dK > dL))
312+ then f(((("OperLock[" + toString(dK)) + "] > ") + toString(dL)), dx, dy, dz, dw)
313313 else {
314- let ci = aK("execute", k, E, cr, ap, aM, aN, aO)
315- let aS = ci._3
316- let cs = if ((ci._4 == aN))
317- then [ScriptTransfer(bd, aS, aN)]
318- else [ScriptTransfer(bd, aS, aO)]
319- (((cs :+ StringEntry(co, bz(cp, "FINISHED", cr, aS))) :+ aV("DECREMENT", J(E), ci._1)) :+ aV("DECREMENT", K(E, i), ci._2))
314+ let dN = bi("execute", dw, dD, dM, dE, dJ, dF, dC)
315+ let dO = dN._3
316+ let dP = if ((dN._4 == dF))
317+ then [ScriptTransfer(dA, dO, dF)]
318+ else [ScriptTransfer(dA, dO, dC)]
319+ (((dP :+ StringEntry(dG, cn(dH, "FINISHED", dM, dO))) :+ bG("DECREMENT", O(dD), dN._1)) :+ bG("DECREMENT", Q(dD, dy), dN._2))
320320 }
321321 }
322322
323323
324-func ct (h) = {
325- let aN = fromBase58String(h)
326- let cb = bE(h)
327- let P = cb[aa]
328- let aO = fromBase58String(P)
329- let cu = parseIntValue(cb[ac])
330- let cv = parseIntValue(cb[ad])
331- let E = cb[ab]
332- let cw = C(E)
333- let cx = valueOrElse(getInteger(this, cw), 0)
334- let cy = A(E)
335- let cz = valueOrElse(getInteger(this, cy), 0)
336- let cA = bW(E, aN, aO, cv)
337- $Tuple13(IntegerEntry("price", cA._1), IntegerEntry("decimalsMultPrice", cv), IntegerEntry("baseAssetBalance", cA._2), IntegerEntry("-1", cA._3), IntegerEntry("baseAssetBalanceWCO", cA._4), IntegerEntry("shareEmission", cA._5), IntegerEntry("currIterTotalInBaseAmount", cA._6), IntegerEntry("currIterTotalInShareAmount", cA._7), IntegerEntry("totalLockedOutBaseAmount", cA._8), IntegerEntry("totalLockedOutShareAmount", cA._9), IntegerEntry("decimalsMultBothAssets", cu), IntegerEntry("priceATH", cx), IntegerEntry("priceLast", cz))
324+func dQ (dR) = {
325+ let dS = fromBase58String(dR)
326+ let dT = cs(dR)
327+ let dU = dT[ar]
328+ let dV = fromBase58String(dU)
329+ let dW = parseIntValue(dT[at])
330+ let dX = parseIntValue(dT[au])
331+ let dY = dT[as]
332+ let dZ = F(dY)
333+ let ea = valueOrElse(getInteger(this, dZ), 0)
334+ let eb = D(dY)
335+ let ec = valueOrElse(getInteger(this, eb), 0)
336+ let ed = cS(dY, dS, dV, dX)
337+ $Tuple13(IntegerEntry("price", ed._1), IntegerEntry("decimalsMultPrice", dX), IntegerEntry("baseAssetBalance", ed._2), IntegerEntry("-1", ed._3), IntegerEntry("baseAssetBalanceWCO", ed._4), IntegerEntry("shareEmission", ed._5), IntegerEntry("currIterTotalInBaseAmount", ed._6), IntegerEntry("currIterTotalInShareAmount", ed._7), IntegerEntry("totalLockedOutBaseAmount", ed._8), IntegerEntry("totalLockedOutShareAmount", ed._9), IntegerEntry("decimalsMultBothAssets", dW), IntegerEntry("priceATH", ea), IntegerEntry("priceLast", ec))
338338 }
339339
340340
341-@Callable(bY)
342-func adminRegisterAsset (h,cB,cC,cD,cE,cF,ar,as,r,at,au,av,aw,ax) = {
343- let aN = fromBase58String(h)
344- let cG = value(assetInfo(aN)).decimals
345- let ao = pow(10, 0, cG, 0, 0, DOWN)
346- let ap = ((100 * 1000) * 1000)
347- let cH = fraction(as, 100, ao)
348- let bQ = assetBalance(this, aN)
349- if ((bY.caller != this))
341+@Callable(cZ)
342+func adminRegisterAsset (ee,ef,eg,eh,ei,ej,aK,aL,aM,aN,aO,aP,aQ,aR) = {
343+ let ek = fromBase58String(ee)
344+ let el = value(assetInfo(ek)).decimals
345+ let em = pow(10, 0, el, 0, 0, DOWN)
346+ let en = ((100 * 1000) * 1000)
347+ let eo = fraction(aL, 100, em)
348+ let ep = assetBalance(this, ek)
349+ if ((cZ.caller != this))
350350 then throw("permissions denied")
351- else if ((bQ == 0))
352- then throw(((toString(this) + " must have any initial balance of ") + h))
353- else if (isDefined(getString(this, y(h))))
354- then throw((h + " has been already registered"))
355- else if ((toString(addressFromStringValue(cE)) != cE))
351+ else if ((ep == 0))
352+ then throw(((toString(this) + " must have any initial balance of ") + ee))
353+ else if (isDefined(getString(this, A(ee))))
354+ then throw((ee + " has been already registered"))
355+ else if ((toString(addressFromStringValue(ei)) != ei))
356356 then throw("invalid shutdownManagerAddress")
357- else if ((toString(addressFromStringValue(r)) != r))
357+ else if ((toString(addressFromStringValue(aM)) != aM))
358358 then throw("invalid topupManagerAddress")
359- else if ((0 > cD))
360- then throw(("invalid getDelayinBlocks=" + toString(cD)))
361- else if (if ((0 >= cH))
359+ else if ((0 > eh))
360+ then throw(("invalid getDelayinBlocks=" + toString(eh)))
361+ else if (if ((0 >= eo))
362362 then true
363- else (cH >= 99))
363+ else (eo >= 99))
364364 then throw("invalid topupMaxNegativePart parameter")
365365 else {
366- let cI = w(bQ, cF, ap)
367- let cJ = Issue(cB, cC, cI, cG, true)
368- let aO = calculateAssetId(cJ)
369- let P = toBase58String(aO)
370- let cK = valueOrElse(getInteger(this, z()), 0)
371- let E = toString(cK)
372-[StringEntry(y(h), an(P, E, ao, ap, cD, ar, as, r, at, au, av, aw, ax)), StringEntry(L(cK), h), StringEntry(N(h), E), StringEntry(O(P), h), StringEntry(Q(h), P), BooleanEntry(R(E), false), StringEntry(S(E), cE), IntegerEntry(z(), (cK + 1)), IntegerEntry(A(E), cF), IntegerEntry(G(E, height, lastBlock.timestamp), cF), IntegerEntry(T(E), 0), bH(Z(E), at, av), cJ, ScriptTransfer(addressFromStringValue(r), cI, aO)]
366+ let eq = w(ep, ej, en)
367+ let er = Issue(ef, eg, eq, el, true)
368+ let es = calculateAssetId(er)
369+ let et = toBase58String(es)
370+ let eu = valueOrElse(getInteger(this, C()), 0)
371+ let ev = toString(eu)
372+[StringEntry(A(ee), aE(et, ev, em, en, eh, aK, aL, aM, aN, aO, aP, aQ, aR)), StringEntry(T(eu), ee), StringEntry(V(ee), ev), StringEntry(X(et), ee), StringEntry(Z(ee), et), BooleanEntry(ab(ev), false), StringEntry(ad(ev), ei), IntegerEntry(C(), (eu + 1)), IntegerEntry(D(ev), ej), IntegerEntry(K(ev, height, lastBlock.timestamp), ej), IntegerEntry(af(ev), 0), cw(ap(ev), aN, aP), er, ScriptTransfer(addressFromStringValue(aM), eq, es)]
373373 }
374374 }
375375
376376
377377
378-@Callable(bY)
379-func adminUpdateCfg (h,cL,cM) = {
380- let cb = bE(h)
378+@Callable(cZ)
379+func adminUpdateCfg (ew,ex,ey) = {
380+ let ez = cs(ew)
381381 nil
382382 }
383383
384384
385385
386-@Callable(bY)
387-func shutdownSubmits (cK) = {
388- let cN = toString(cK)
389- let cO = b(L(cK))
390- let cE = b(S(cN))
391- if ((1 > size(cO)))
392- then throw("invalid internalBaseAssetId")
393- else if ((toString(bY.caller) != cE))
386+@Callable(cZ)
387+func shutdownSubmits (eu) = {
388+ let eA = toString(eu)
389+ let eB = b(T(eu))
390+ let eC = b(ad(eA))
391+ if ((1 > size(eB)))
392+ then throw("invalid v231")
393+ else if ((toString(cZ.caller) != eC))
394394 then throw("access denied")
395- else [BooleanEntry(R(toString(cK)), true)]
395+ else [BooleanEntry(ab(toString(eu)), true)]
396396 }
397397
398398
399399
400-@Callable(bY)
400+@Callable(cZ)
401401 func submitPut () = {
402- let cP = value(bY.payments[0])
403- let aM = cP.amount
404- let bZ = value(cP.assetId)
405- let h = toBase58String(bZ)
406- bX("P", bY, aM, bZ, h)
402+ let eD = value(cZ.payments[0])
403+ let eE = eD.amount
404+ let eF = value(eD.assetId)
405+ let eG = toBase58String(eF)
406+ cX("P", cZ, eE, eF, eG)
407407 }
408408
409409
410410
411-@Callable(bY)
411+@Callable(cZ)
412412 func submitGet () = {
413- let cP = value(bY.payments[0])
414- let aM = cP.amount
415- let bZ = value(cP.assetId)
416- let P = toBase58String(bZ)
417- let h = b(O(P))
418- bX("G", bY, aM, bZ, h)
413+ let eD = value(cZ.payments[0])
414+ let eH = eD.amount
415+ let eI = value(eD.assetId)
416+ let et = toBase58String(eI)
417+ let eJ = b(X(et))
418+ cX("G", cZ, eH, eI, eJ)
419419 }
420420
421421
422422
423-@Callable(bY)
424-func executePut (h,i,j) = cm("P", h, i, j)
423+@Callable(cZ)
424+func executePut (eK,eL,eM) = dv("P", eK, eL, eM)
425425
426426
427427
428-@Callable(bY)
429-func executeGet (h,i,j) = cm("G", h, i, j)
428+@Callable(cZ)
429+func executeGet (eN,eO,eP) = dv("G", eN, eO, eP)
430430
431431
432432
433-@Callable(bY)
434-func operationsMutex (h) = {
435- let cn = bE(h)
436- let cQ = cn[ah]
437- let E = cn[ab]
438- if ((toString(bY.caller) != cQ))
439- then q(cQ)
440- else [bK(E, height)]
433+@Callable(cZ)
434+func operationsMutex (eQ) = {
435+ let eR = cs(eQ)
436+ let eS = eR[ay]
437+ let ev = eR[as]
438+ if ((toString(cZ.caller) != eS))
439+ then q(eS)
440+ else [cz(ev, height)]
441441 }
442442
443443
444444
445-@Callable(bY)
446-func topUpBalance (h,cR) = {
447- let aN = fromBase58String(h)
448- let cn = bE(h)
449- let aO = fromBase58String(cn[aa])
450- let v = parseIntValue(cn[ad])
451- let cS = parseIntValue(cn[ac])
452- let ar = parseIntValue(cn[af])
453- let as = parseIntValue(cn[ag])
454- let E = cn[ab]
455- let cQ = cn[ah]
456- let at = parseIntValue(cn[ai])
457- let av = parseIntValue(cn[ak])
458- let cT = T(E)
459- let cU = e(cT)
460- let cV = (cU + 1)
461- let cW = if ((cR > 0))
445+@Callable(cZ)
446+func topUpBalance (eT,eU) = {
447+ let ek = fromBase58String(eT)
448+ let eV = cs(eT)
449+ let es = fromBase58String(eV[ar])
450+ let eW = parseIntValue(eV[au])
451+ let eX = parseIntValue(eV[at])
452+ let eY = parseIntValue(eV[aw])
453+ let eZ = parseIntValue(eV[ax])
454+ let ev = eV[as]
455+ let fa = eV[ay]
456+ let fb = parseIntValue(eV[az])
457+ let fc = parseIntValue(eV[aB])
458+ let fd = af(ev)
459+ let fe = e(fd)
460+ let ff = (fe + 1)
461+ let fg = if ((eU > 0))
462462 then {
463- let cP = value(bY.payments[0])
464- let cX = value(cP.assetId)
465- if ((aN != cX))
466- then throw("attached payment's asset id is NOT matched passed baseAssetStr")
467- else if ((size(bY.payments) > 1))
463+ let eD = value(cZ.payments[0])
464+ let fh = value(eD.assetId)
465+ if ((ek != fh))
466+ then throw("attached payment's asset id is NOT matched passed v255")
467+ else if ((size(cZ.payments) > 1))
468468 then throw("only one payment can be attached")
469- else if ((cP.amount != cR))
470- then throw("attached payment.amount is NOT matched passed income argument")
469+ else if ((eD.amount != eU))
470+ then throw("attached payment.amount is NOT matched passed v256 argument")
471471 else true
472472 }
473- else if ((0 > cR))
473+ else if ((0 > eU))
474474 then {
475- let cY = assetBalance(this, aN)
476- let cZ = fraction(as, cY, cS)
477- if ((-(cR) > cZ))
478- then throw(("topup negative income couldn't be greater than " + toString(cZ)))
475+ let fi = assetBalance(this, ek)
476+ let fj = fraction(eZ, fi, eX)
477+ if ((-(eU) > fj))
478+ then throw(("topup negative v256 couldn't be greater than " + toString(fj)))
479479 else true
480480 }
481- else throw("zero income is not allowed")
482- let da = U(E, toString(bY.caller))
483- let db = valueOrElse(getInteger(this, da), 0)
484- if ((toString(bY.caller) != cQ))
485- then q(cQ)
486- else if (!(cW))
481+ else throw("zero v256 is not allowed")
482+ let fk = ah(ev, toString(cZ.caller))
483+ let fl = valueOrElse(getInteger(this, fk), 0)
484+ if ((toString(cZ.caller) != fa))
485+ then q(fa)
486+ else if (!(fg))
487487 then throw("validation failed")
488- else if ((ar > (height - db)))
489- then throw((("1 topup per " + toString(ar)) + " blocks from the same address is allowed"))
488+ else if ((eY > (height - fl)))
489+ then throw((("1 topup per " + toString(eY)) + " blocks from the same address is allowed"))
490490 else {
491- let u = bM(E, aN, cR, aO, v)._1
492- let ci = aK("topup", "", E, u, v, 0, aN, aO)
493- let dc = ci._1
494- let cw = C(E)
495- let dd = valueOrElse(getInteger(this, cw), 0)
496- (((((([IntegerEntry(A(E), u), IntegerEntry(G(E, height, lastBlock.timestamp), u), IntegerEntry(D(E, cV), u), IntegerEntry(cT, cV), IntegerEntry(cw, if ((u > dd))
497- then u
498- else dd), IntegerEntry(da, height)] :+ aV("DECREMENT", J(E), dc)) :+ bK(E, 0)) :+ bH(Z(E), at, av)) :+ Burn(aO, dc[ay])) :+ Reissue(aO, -(dc[aB]), true)) ++ (if ((0 > cR))
499- then [ScriptTransfer(bY.caller, -(cR), aN)]
491+ let fm = cC(ev, ek, eU, es, eW)._1
492+ let fn = bi("topup", "", ev, fm, eW, 0, ek, es)
493+ let fo = fn._1
494+ let fp = F(ev)
495+ let fq = valueOrElse(getInteger(this, fp), 0)
496+ (((((([IntegerEntry(D(ev), fm), IntegerEntry(K(ev, height, lastBlock.timestamp), fm), IntegerEntry(H(ev, ff), fm), IntegerEntry(fd, ff), IntegerEntry(fp, if ((fm > fq))
497+ then fm
498+ else fq), IntegerEntry(fk, height)] :+ bG("DECREMENT", O(ev), fo)) :+ cz(ev, 0)) :+ cw(ap(ev), fb, fc)) :+ Burn(es, fo[aS])) :+ Reissue(es, -(fo[aV]), true)) ++ (if ((0 > eU))
499+ then [ScriptTransfer(cZ.caller, -(eU), ek)]
500500 else nil))
501501 }
502502 }
503503
504504
505505
506-@Callable(bY)
507-func currentSysParamsREST (h) = {
508- let de = ct(h)
509- let u = de._1.value
510- let ap = de._2.value
511- let bQ = de._3.value
512- let df = de._4.value
513- let bR = de._5.value
514- let bU = de._6.value
515- let bP = de._7.value
516- let bT = de._8.value
517- let bO = de._9.value
518- let bS = de._10.value
519- let ao = de._11.value
520- let dg = de._12.value
521- let dh = de._13.value
522- let di = makeString(["startCurrentSysParamsREST", toString(u), toString(ap), toString(bQ), toString(df), toString(bR), toString(bU), toString(bP), toString(bT), toString(bO), toString(bS), toString(ao), toString(dg), toString(dh), "endCurrentSysParamsREST"], a)
523- throw(di)
506+@Callable(cZ)
507+func currentSysParamsREST (fr) = {
508+ let fs = dQ(fr)
509+ let ft = fs._1.value
510+ let en = fs._2.value
511+ let ep = fs._3.value
512+ let fu = fs._4.value
513+ let fv = fs._5.value
514+ let fw = fs._6.value
515+ let fx = fs._7.value
516+ let fy = fs._8.value
517+ let fz = fs._9.value
518+ let fA = fs._10.value
519+ let em = fs._11.value
520+ let fB = fs._12.value
521+ let fC = fs._13.value
522+ let fD = makeString(["startCurrentSysParamsREST", toString(ft), toString(en), toString(ep), toString(fu), toString(fv), toString(fw), toString(fx), toString(fy), toString(fz), toString(fA), toString(em), toString(fB), toString(fC), "endCurrentSysParamsREST"], a)
523+ throw(fD)
524524 }
525525
526526

github/deemru/w8io/873ac7e 
253.41 ms