tx · 94svrCGMZHMNKVLN8atwozLLWmW8WhjvppxdrnPaPh4R

3PCC6fVHNa6289DTDmcUo3RuLaFmteZZsmQ:  -0.01900000 Waves

2023.04.08 23:59 [3591726] smart account 3PCC6fVHNa6289DTDmcUo3RuLaFmteZZsmQ > SELF 0.00000000 Waves

{ "type": 13, "id": "94svrCGMZHMNKVLN8atwozLLWmW8WhjvppxdrnPaPh4R", "fee": 1900000, "feeAssetId": null, "timestamp": 1680987636929, "version": 2, "chainId": 87, "sender": "3PCC6fVHNa6289DTDmcUo3RuLaFmteZZsmQ", "senderPublicKey": "HobXgEQL44LfeEEq2G69uiciuAuiUBfG33UF4ubYmNMd", "proofs": [ "2Mto3HwPcqC2sseGS9pJoxC2d6dELwmZR6noQTqf9D9gmNWJ5v7MxdE3472U67SvcJzUW37fS1k2Ac6SKKUM8AoR", "59x8ctctFF4CAHjBKZupJp2N9ePXSBas7csHBCKvTgRwUN3NQ4NxEU4K9BHNuQSPMwexPPLkTsJfmNrzpWPVhSRN" ], "script": "base64:AAIFAAAAAAAAABEIAhIDCgEIEgMKAQgSAwoBCAAAAB8BAAAAFHRyeUdldFN0cmluZ0V4dGVybmFsAAAAAgAAAAdhZGRyZXNzAAAAA2tleQQAAAAHJG1hdGNoMAkABB0AAAACBQAAAAdhZGRyZXNzBQAAAANrZXkDCQAAAQAAAAIFAAAAByRtYXRjaDACAAAABlN0cmluZwQAAAABYQUAAAAHJG1hdGNoMAUAAAABYQIAAAAAAQAAABF0cnlHZXRJbnRFeHRlcm5hbAAAAAIAAAAHYWRkcmVzcwAAAANrZXkEAAAAByRtYXRjaDAJAAQaAAAAAgUAAAAHYWRkcmVzcwUAAAADa2V5AwkAAAEAAAACBQAAAAckbWF0Y2gwAgAAAANJbnQEAAAAAWEFAAAAByRtYXRjaDAFAAAAAWEJAAACAAAAAQIAAAAbUlRHSUU6IFNvbWV0aGluZyB3ZW50IHdyb25nAQAAAAx0cnlHZXRTdHJpbmcAAAABAAAAA2tleQkBAAAAFHRyeUdldFN0cmluZ0V4dGVybmFsAAAAAgUAAAAEdGhpcwUAAAADa2V5AAAAABBkZWxheUZvckhhdGNoaW5nAAAAAAAAAAACAQAAAAlnZXRPcmFjbGUAAAAACQEAAAAHQWRkcmVzcwAAAAEJAAJZAAAAAQkBAAAADHRyeUdldFN0cmluZwAAAAECAAAAFHN0YXRpY19vcmFjbGVBZGRyZXNzAQAAAA1nZXRFZ2dBc3NldElkAAAAAAkAAlkAAAABCQEAAAAUdHJ5R2V0U3RyaW5nRXh0ZXJuYWwAAAACCQEAAAAJZ2V0T3JhY2xlAAAAAAIAAAARc3RhdGljX2VnZ0Fzc2V0SWQBAAAAE2dldEluY3ViYXRvckFkZHJlc3MAAAAACQEAAAAHQWRkcmVzcwAAAAEJAAJZAAAAAQkBAAAAFHRyeUdldFN0cmluZ0V4dGVybmFsAAAAAgkBAAAACWdldE9yYWNsZQAAAAACAAAAF3N0YXRpY19pbmN1YmF0b3JBZGRyZXNzAQAAABFnZXRCcmVlZGVyQWRkcmVzcwAAAAAJAQAAAAdBZGRyZXNzAAAAAQkAAlkAAAABCQEAAAAUdHJ5R2V0U3RyaW5nRXh0ZXJuYWwAAAACCQEAAAAJZ2V0T3JhY2xlAAAAAAIAAAAVc3RhdGljX2JyZWVkZXJBZGRyZXNzAQAAABFnZXRGYXJtaW5nQWRkcmVzcwAAAAAJAQAAAAdBZGRyZXNzAAAAAQkAAlkAAAABCQEAAAAUdHJ5R2V0U3RyaW5nRXh0ZXJuYWwAAAACCQEAAAAJZ2V0T3JhY2xlAAAAAAIAAAAVc3RhdGljX2Zhcm1pbmdBZGRyZXNzAQAAABJnZXRCYWJ5RHVja0FkZHJlc3MAAAAACQEAAAAHQWRkcmVzcwAAAAEJAAJZAAAAAQkBAAAAFHRyeUdldFN0cmluZ0V4dGVybmFsAAAAAgkBAAAACWdldE9yYWNsZQAAAAACAAAAFnN0YXRpY19iYWJ5RHVja0FkZHJlc3MBAAAAEmdldEdhbWVEYXBwQWRkcmVzcwAAAAAJAQAAAAdBZGRyZXNzAAAAAQkAAlkAAAABCQEAAAAUdHJ5R2V0U3RyaW5nRXh0ZXJuYWwAAAACCQEAAAAJZ2V0T3JhY2xlAAAAAAIAAAAWc3RhdGljX2dhbWVEYXBwQWRkcmVzcwEAAAAPZ2V0SXRlbXNBZGRyZXNzAAAAAAkBAAAAB0FkZHJlc3MAAAABCQACWQAAAAEJAQAAABR0cnlHZXRTdHJpbmdFeHRlcm5hbAAAAAIJAQAAAAlnZXRPcmFjbGUAAAAAAgAAABNzdGF0aWNfaXRlbXNBZGRyZXNzAQAAABFnZXRDb3Vwb25zQWRkcmVzcwAAAAAJAQAAAAdBZGRyZXNzAAAAAQkAAlkAAAABCQEAAAAUdHJ5R2V0U3RyaW5nRXh0ZXJuYWwAAAACCQEAAAAJZ2V0T3JhY2xlAAAAAAIAAAAVc3RhdGljX2NvdXBvbnNBZGRyZXNzAQAAABJnZXRNZXRhcmFjZUFkZHJlc3MAAAAACQEAAAAHQWRkcmVzcwAAAAEJAAJZAAAAAQkBAAAAFHRyeUdldFN0cmluZ0V4dGVybmFsAAAAAgkBAAAACWdldE9yYWNsZQAAAAACAAAAFnN0YXRpY19tZXRhUmFjZUFkZHJlc3MBAAAADmdldEh1bnRBZGRyZXNzAAAAAAkBAAAAB0FkZHJlc3MAAAABCQACWQAAAAEJAQAAABR0cnlHZXRTdHJpbmdFeHRlcm5hbAAAAAIJAQAAAAlnZXRPcmFjbGUAAAAAAgAAABJzdGF0aWNfaHVudEFkZHJlc3MBAAAADmdldEJ1cm5BZGRyZXNzAAAAAAkBAAAAB0FkZHJlc3MAAAABCQACWQAAAAEJAQAAABR0cnlHZXRTdHJpbmdFeHRlcm5hbAAAAAIJAQAAAAlnZXRPcmFjbGUAAAAAAgAAABJzdGF0aWNfYnVybkFkZHJlc3MBAAAAFWdldFJlZkNvbnRyYWN0QWRkcmVzcwAAAAAJAQAAAAdBZGRyZXNzAAAAAQkAAlkAAAABCQEAAAAUdHJ5R2V0U3RyaW5nRXh0ZXJuYWwAAAACCQEAAAAJZ2V0T3JhY2xlAAAAAAIAAAAZc3RhdGljX3JlZkNvbnRyYWN0QWRkcmVzcwAAAAASUEhPRU5JWEJBU0VPUFRJT05TAAAAAAAAAAPoAQAAAA10cnlHZXRJbnRlZ2VyAAAAAQAAAANrZXkEAAAAByRtYXRjaDAJAAQaAAAAAgUAAAAEdGhpcwUAAAADa2V5AwkAAAEAAAACBQAAAAckbWF0Y2gwAgAAAANJbnQEAAAAAWIFAAAAByRtYXRjaDAFAAAAAWIAAAAAAAAAAAABAAAACGFzU3RyaW5nAAAAAQAAAAV2YWx1ZQQAAAAHJG1hdGNoMAUAAAAFdmFsdWUDCQAAAQAAAAIFAAAAByRtYXRjaDACAAAABlN0cmluZwQAAAABcwUAAAAHJG1hdGNoMAUAAAABcwMJAAABAAAAAgUAAAAHJG1hdGNoMAIAAAADSW50BAAAAAFzBQAAAAckbWF0Y2gwCQAAAgAAAAECAAAAJndyb25nIHR5cGUsIGV4cGVjdGVkOiBTdHJpbmcsIGdvdDogSW50AwkAAAEAAAACBQAAAAckbWF0Y2gwAgAAAARVbml0BAAAAAFzBQAAAAckbWF0Y2gwCQAAAgAAAAECAAAAJ3dyb25nIHR5cGUsIGV4cGVjdGVkOiBTdHJpbmcsIGdvdDogVW5pdAkAAAIAAAABAgAAABx3cm9uZyB0eXBlLCBleHBlY3RlZDogU3RyaW5nAAAAAAlmZWVBbW91bnQJAQAAAA10cnlHZXRJbnRlZ2VyAAAAAQIAAAAMY3VycmVudFByaWNlAQAAABBnZXRBbW91bnRPckNsZWFyAAAAAQAAAAZhbW91bnQDCQEAAAAIY29udGFpbnMAAAACBQAAAAZhbW91bnQCAAAAATACAAAAAAUAAAAGYW1vdW50AQAAAA5nZXRBc3NldE9yaWdpbgAAAAEAAAAKZ2VuZXJhdGlvbgMJAAAAAAAAAgUAAAAKZ2VuZXJhdGlvbgIAAAABRwkBAAAAE2dldEluY3ViYXRvckFkZHJlc3MAAAAACQEAAAARZ2V0QnJlZWRlckFkZHJlc3MAAAAAAQAAAA5nZXRBc3NldFJhcml0eQAAAAIAAAAIZ2Vub3R5cGUAAAAKZ2VuZXJhdGlvbgQAAAAIcXVhbnRpdHkJAQAAABFAZXh0ck5hdGl2ZSgxMDUwKQAAAAIJAQAAAA5nZXRBc3NldE9yaWdpbgAAAAEFAAAACmdlbmVyYXRpb24JAAEsAAAAAgkAASwAAAACAgAAAAZzdGF0c18FAAAACGdlbm90eXBlAgAAAAlfcXVhbnRpdHkEAAAABXBvd2VyCQAAbAAAAAYJAABpAAAAAgAAAAAAAAAnEAUAAAAIcXVhbnRpdHkAAAAAAAAAAAQAAAAAAAAAAAUAAAAAAAAAAAEAAAAAAAAAAAIFAAAABUZMT09SAwkAAGYAAAACBQAAAAVwb3dlcgAAAAAAAAAAAAUAAAAFcG93ZXIAAAAAAAAAAAIBAAAAFGdldEFzc2V0RmFybWluZ1Bvd2VyAAAAAQAAAAdhc3NldElkAwMJAAAAAAAAAggJAQAAAAV2YWx1ZQAAAAEJAAPsAAAAAQUAAAAHYXNzZXRJZAAAAAZpc3N1ZXIJAQAAABFnZXRCcmVlZGVyQWRkcmVzcwAAAAAGCQAAAAAAAAIICQEAAAAFdmFsdWUAAAABCQAD7AAAAAEFAAAAB2Fzc2V0SWQAAAAGaXNzdWVyCQEAAAATZ2V0SW5jdWJhdG9yQWRkcmVzcwAAAAAEAAAACWFzc2V0TmFtZQgJAQAAAAV2YWx1ZQAAAAEJAAPsAAAAAQUAAAAHYXNzZXRJZAAAAARuYW1lBAAAAApnZW5lcmF0aW9uCQABLwAAAAIJAQAAAAl0YWtlUmlnaHQAAAACBQAAAAlhc3NldE5hbWUAAAAAAAAAAAIAAAAAAAAAAAEEAAAAB2Zhcm1HZW4JAQAAAAhhc1N0cmluZwAAAAEJAAP8AAAABAkBAAAAEWdldEJyZWVkZXJBZGRyZXNzAAAAAAIAAAAOZ2V0R2VuRnJvbU5hbWUJAARMAAAAAgUAAAAJYXNzZXROYW1lBQAAAANuaWwFAAAAA25pbAMJAAAAAAAAAgUAAAAHZmFybUdlbgUAAAAHZmFybUdlbgkABRQAAAACBQAAAAdmYXJtR2VuCQEAAAAOZ2V0QXNzZXRSYXJpdHkAAAACBQAAAAdmYXJtR2VuBQAAAApnZW5lcmF0aW9uCQAAAgAAAAECAAAAJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAAIAAAABAgAAAA1ub3QgdmFsaWQgTkZUAQAAAA9nZXRSYW5kb21OdW1iZXIAAAAEAAAAB29wdGlvbnMAAAAEdHhJZAAAABRoYXRjaGluZ0ZpbmlzaEhlaWdodAAAAAZvZmZzZXQEAAAAD3JhbmRvbVNlZWRCbG9jawkBAAAABXZhbHVlAAAAAQkAA+0AAAABCQAAZQAAAAIFAAAAFGhhdGNoaW5nRmluaXNoSGVpZ2h0AAAAAAAAAAABBAAAAApyYW5kb21IYXNoCQAB9wAAAAEJAADLAAAAAgUAAAAEdHhJZAkBAAAABXZhbHVlAAAAAQgFAAAAD3JhbmRvbVNlZWRCbG9jawAAAAN2cmYJAABqAAAAAgkABLIAAAACBQAAAApyYW5kb21IYXNoCQAAaAAAAAIFAAAABm9mZnNldAAAAAAAAAAACAUAAAAHb3B0aW9ucwEAAAAMZ2V0UmFuZG9tV2luAAAAAwAAAAJ0eAAAAAxmaW5pc2hIZWlnaHQAAAALYXNzZXRSYXJpdHkEAAAADnBob2VuaXhPcHRpb25zCQAAZQAAAAIFAAAAElBIT0VOSVhCQVNFT1BUSU9OUwkAAGsAAAADCQAAaQAAAAIFAAAAElBIT0VOSVhCQVNFT1BUSU9OUwAAAAAAAAAAAgUAAAALYXNzZXRSYXJpdHkAAAAAAAAAAGQEAAAADWphY2twb3RSYW5kb20JAQAAAA9nZXRSYW5kb21OdW1iZXIAAAAEBQAAAA5waG9lbml4T3B0aW9ucwUAAAACdHgFAAAADGZpbmlzaEhlaWdodAAAAAAAAAAAAQQAAAAKaXRlbVJhbmRvbQkBAAAAD2dldFJhbmRvbU51bWJlcgAAAAQFAAAADnBob2VuaXhPcHRpb25zBQAAAAJ0eAUAAAAMZmluaXNoSGVpZ2h0AAAAAAAAAAACAwkAAAAAAAACBQAAAA1qYWNrcG90UmFuZG9tAAAAAAAAAAABAgAAAAdwaG9lbml4AwkAAAAAAAACBQAAAAppdGVtUmFuZG9tAAAAAAAAAAABAgAAABFpdGVtX0FSVC1GUkVFR0VORQQAAAABbgkBAAAAD2dldFJhbmRvbU51bWJlcgAAAAQAAAAAAAAAA+gFAAAAAnR4BQAAAAxmaW5pc2hIZWlnaHQAAAAAAAAAAAADCQAAZgAAAAIAAAAAAAAAAJYFAAAAAW4CAAAACmR1Y2tsaW5nXzIDCQAAZgAAAAIAAAAAAAAAAMgFAAAAAW4CAAAAC2R1Y2tsaW5nXzEwAwkAAGYAAAACAAAAAAAAAADSBQAAAAFuAgAAAAtkdWNrbGluZ18yMAMJAABmAAAAAgAAAAAAAAAA+gUAAAABbgIAAAAJaW5jdWJhdG9yAwkAAGYAAAACAAAAAAAAAAEYBQAAAAFuAgAAAA5pdGVtX0FSVC1TTkFLRQMJAABmAAAAAgAAAAAAAAABmgUAAAABbgIAAAAPaXRlbV9BUlQtS0FUQU5BAwkAAGYAAAACAAAAAAAAAAHMBQAAAAFuAgAAABFpdGVtX0FSVC1ST0JPRFVDSwMJAABmAAAAAgAAAAAAAAAB4AUAAAABbgIAAAAOaXRlbV9BUlQtQ1JPV04DCQAAZgAAAAIAAAAAAAAAAmIFAAAAAW4CAAAAEGl0ZW1fQVJULVNDRVBURVIDCQAAZgAAAAIAAAAAAAAAAuQFAAAAAW4CAAAAEml0ZW1fQVJULUJVSUxUQk9EWQMJAABmAAAAAgAAAAAAAAAC7gUAAAABbgIAAAAPaXRlbV9BUlQtRkVFRDEwAwkAAGYAAAACAAAAAAAAAANrBQAAAAFuAgAAAAJhcgIAAAAEbWV0YQEAAAAJZ2V0T3JpZ2luAAAAAQAAAAdhc3NldElkBAAAAAlhc3NldE5hbWUICQEAAAAFdmFsdWUAAAABCQAD7AAAAAEFAAAAB2Fzc2V0SWQAAAAEbmFtZQQAAAAKZ2VuZXJhdGlvbgkAAS8AAAACCQEAAAAJdGFrZVJpZ2h0AAAAAgUAAAAJYXNzZXROYW1lAAAAAAAAAAACAAAAAAAAAAABAwMJAAAAAAAAAgUAAAAKZ2VuZXJhdGlvbgIAAAABRwYJAAAAAAAAAgUAAAAKZ2VuZXJhdGlvbgIAAAABSgkBAAAAE2dldEluY3ViYXRvckFkZHJlc3MAAAAACQEAAAARZ2V0QnJlZWRlckFkZHJlc3MAAAAAAQAAAAVhc0ludAAAAAEAAAAFdmFsdWUEAAAAByRtYXRjaDAFAAAABXZhbHVlAwkAAAEAAAACBQAAAAckbWF0Y2gwAgAAAANJbnQEAAAAA2ludAUAAAAHJG1hdGNoMAUAAAADaW50AwkAAAEAAAACBQAAAAckbWF0Y2gwAgAAAAZTdHJpbmcEAAAABnN0cmluZwUAAAAHJG1hdGNoMAkAAAIAAAABCQABLAAAAAICAAAAKVJBSTogd3JvbmcgdHlwZSwgZXhwZWN0ZWQ6IEludCwgYnV0IGdvdDogBQAAAAZzdHJpbmcJAAACAAAAAQIAAAAeUkFJOiB3cm9uZyB0eXBlLCBleHBlY3RlZDogSW50AQAAAAdnZXRCb29sAAAAAQAAAANrZXkEAAAAByRtYXRjaDAJAAQbAAAAAgUAAAAEdGhpcwUAAAADa2V5AwkAAAEAAAACBQAAAAckbWF0Y2gwAgAAAAdCb29sZWFuBAAAAAFiBQAAAAckbWF0Y2gwBQAAAAFiBwEAAAAJaXNUZXN0RW52AAAAAAkBAAAAB2dldEJvb2wAAAABAgAAAAdURVNURU5WAAAAAwAAAAFpAQAAAA9jb25maWd1cmVPcmFjbGUAAAABAAAABm9yYWNsZQMJAQAAAAIhPQAAAAIIBQAAAAFpAAAABmNhbGxlcgUAAAAEdGhpcwkAAAIAAAABAgAAAA9SQ1U6IGFkbWluIG9ubHkJAARMAAAAAgkBAAAAC1N0cmluZ0VudHJ5AAAAAgIAAAAUc3RhdGljX29yYWNsZUFkZHJlc3MFAAAABm9yYWNsZQUAAAADbmlsAAAAAWkBAAAAC2luaXRSZWJpcnRoAAAAAQAAAA5yZWZlcmVyQWRkcmVzcwQAAAADcG10CQABkQAAAAIIBQAAAAFpAAAACHBheW1lbnRzAAAAAAAAAAAABAAAAAdhc3NldElkCQEAAAAFdmFsdWUAAAABCAUAAAADcG10AAAAB2Fzc2V0SWQEAAAABmluaXRUeAkAAlgAAAABCAUAAAABaQAAAA10cmFuc2FjdGlvbklkBAAAAAdhZGRyZXNzCQAEJQAAAAEIBQAAAAFpAAAABmNhbGxlcgMJAQAAAAIhPQAAAAIIBQAAAANwbXQAAAAGYW1vdW50AAAAAAAAAAABCQAAAgAAAAECAAAAE05GVCBpcyBub3QgYXR0YWNoZWQEAAAAE2Ftb3VudFBhaWRCeUNvdXBvbnMJAQAAAAVhc0ludAAAAAEJAAP8AAAABAkBAAAAEWdldENvdXBvbnNBZGRyZXNzAAAAAAIAAAAKdXNlQ291cG9ucwkABEwAAAACBQAAAAlmZWVBbW91bnQFAAAAA25pbAUAAAADbmlsAwkAAAAAAAACBQAAABNhbW91bnRQYWlkQnlDb3Vwb25zBQAAABNhbW91bnRQYWlkQnlDb3Vwb25zBAAAAAlsZWZ0VG9QYXkJAABlAAAAAgUAAAAJZmVlQW1vdW50BQAAABNhbW91bnRQYWlkQnlDb3Vwb25zBAAAAAdwYXltZW50AwkBAAAAAiE9AAAAAgUAAAAJbGVmdFRvUGF5AAAAAAAAAAAABAAAAApmZWVQYXltZW50CQEAAAAFdmFsdWUAAAABCQABkQAAAAIIBQAAAAFpAAAACHBheW1lbnRzAAAAAAAAAAABAwkBAAAAAiE9AAAAAggFAAAACmZlZVBheW1lbnQAAAAHYXNzZXRJZAkBAAAADWdldEVnZ0Fzc2V0SWQAAAAACQAAAgAAAAECAAAAJFlvdSBuZWVkIHRvIGF0dGFjaCBFR0cgdG9rZW5zIGFzIGZlZQMJAABmAAAAAgUAAAAJbGVmdFRvUGF5CAUAAAAKZmVlUGF5bWVudAAAAAZhbW91bnQJAAACAAAAAQkAASwAAAACAgAAAEBZb3UgbmVlZCB0byBhdHRhY2ggdGhlIGZvbGxvd2luZyBhbW91bnQgb2YgRUdHIHRva2VucyBhcyBmZWU6IDAuCQABpAAAAAEFAAAACWxlZnRUb1BheQQAAAAVcmVmZXJlclJld2FyZEZvclBlcmNoCQAAawAAAAMFAAAACWxlZnRUb1BheQAAAAAAAAAABQAAAAAAAAAAZAQAAAAHcmVmQ2FsbAkAA/wAAAAECQEAAAAVZ2V0UmVmQ29udHJhY3RBZGRyZXNzAAAAAAIAAAAKcmVmUGF5bWVudAkABEwAAAACBQAAAA5yZWZlcmVyQWRkcmVzcwUAAAADbmlsCQAETAAAAAIJAQAAAA9BdHRhY2hlZFBheW1lbnQAAAACCQEAAAANZ2V0RWdnQXNzZXRJZAAAAAAFAAAAFXJlZmVyZXJSZXdhcmRGb3JQZXJjaAUAAAADbmlsAwkAAAAAAAACBQAAAAdyZWZDYWxsBQAAAAdyZWZDYWxsBAAAAAhidXJuQ2FsbAkAA/wAAAAECQEAAAAOZ2V0QnVybkFkZHJlc3MAAAAAAgAAABRidXJuQXR0YWNoZWRQYXltZW50cwUAAAADbmlsCQAETAAAAAIJAQAAAA9BdHRhY2hlZFBheW1lbnQAAAACCQEAAAANZ2V0RWdnQXNzZXRJZAAAAAAJAABlAAAAAgUAAAAJbGVmdFRvUGF5BQAAABVyZWZlcmVyUmV3YXJkRm9yUGVyY2gFAAAAA25pbAMJAAAAAAAAAgUAAAAIYnVybkNhbGwFAAAACGJ1cm5DYWxsBQAAAAlsZWZ0VG9QYXkJAAACAAAAAQIAAAAkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQAAAgAAAAECAAAAJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgAAAAAAAAAAAAMJAAAAAAAAAgUAAAAHcGF5bWVudAUAAAAHcGF5bWVudAQAAAALJHQwNzA2MzcxMTIJAQAAABRnZXRBc3NldEZhcm1pbmdQb3dlcgAAAAEFAAAAB2Fzc2V0SWQEAAAAA2dlbggFAAAACyR0MDcwNjM3MTEyAAAAAl8xBAAAAAZyYXJpdHkIBQAAAAskdDA3MDYzNzExMgAAAAJfMgQAAAAEY2FsbAkAA/wAAAAECQEAAAAJZ2V0T3JpZ2luAAAAAQUAAAAHYXNzZXRJZAIAAAAMcmVkdWNlUmFyaXR5CQAETAAAAAIJAAJYAAAAAQUAAAAHYXNzZXRJZAkABEwAAAACBQAAAANnZW4FAAAAA25pbAUAAAADbmlsAwkAAAAAAAACBQAAAARjYWxsBQAAAARjYWxsCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACCQABLAAAAAIJAAEsAAAAAgkAASwAAAACCQABLAAAAAICAAAACGFkZHJlc3NfBQAAAAdhZGRyZXNzAgAAAAhfaW5pdFR4XwUAAAAGaW5pdFR4AgAAAAxfZmluaXNoQmxvY2sJAABkAAAAAgUAAAAGaGVpZ2h0BQAAABBkZWxheUZvckhhdGNoaW5nCQAETAAAAAIJAQAAAAtTdHJpbmdFbnRyeQAAAAIJAAEsAAAAAgkAASwAAAACCQABLAAAAAIJAAEsAAAAAgIAAAAIYWRkcmVzc18FAAAAB2FkZHJlc3MCAAAACF9pbml0VHhfBQAAAAZpbml0VHgCAAAAB19zdGF0dXMCAAAABG9wZW4JAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIJAAEsAAAAAgkAASwAAAACCQABLAAAAAIJAAEsAAAAAgIAAAAIYWRkcmVzc18FAAAAB2FkZHJlc3MCAAAACF9pbml0VHhfBQAAAAZpbml0VHgCAAAADF9hc3NldFJhcml0eQUAAAAGcmFyaXR5CQAETAAAAAIJAQAAAAtTdHJpbmdFbnRyeQAAAAIJAAEsAAAAAgkAASwAAAACCQABLAAAAAIJAAEsAAAAAgIAAAAIYWRkcmVzc18FAAAAB2FkZHJlc3MCAAAACF9pbml0VHhfBQAAAAZpbml0VHgCAAAACF9hc3NldElkCQACWAAAAAEFAAAAB2Fzc2V0SWQFAAAAA25pbAkAAAIAAAABAgAAACRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4JAAACAAAAAQIAAAAkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQAAAgAAAAECAAAAJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgAAAAFpAQAAAA1maW5pc2hSZWJpcnRoAAAAAQAAAAZpbml0VHgEAAAAB2FkZHJlc3MJAAQlAAAAAQgFAAAAAWkAAAAGY2FsbGVyBAAAAAtmaW5pc2hCbG9jawkBAAAADXRyeUdldEludGVnZXIAAAABCQABLAAAAAIJAAEsAAAAAgkAASwAAAACCQABLAAAAAICAAAACGFkZHJlc3NfBQAAAAdhZGRyZXNzAgAAAAhfaW5pdFR4XwUAAAAGaW5pdFR4AgAAAAxfZmluaXNoQmxvY2sEAAAAC2Fzc2V0UmFyaXR5CQEAAAANdHJ5R2V0SW50ZWdlcgAAAAEJAAEsAAAAAgkAASwAAAACCQABLAAAAAIJAAEsAAAAAgIAAAAIYWRkcmVzc18FAAAAB2FkZHJlc3MCAAAACF9pbml0VHhfBQAAAAZpbml0VHgCAAAADF9hc3NldFJhcml0eQQAAAAGc3RhdHVzCQEAAAAMdHJ5R2V0U3RyaW5nAAAAAQkAASwAAAACCQABLAAAAAIJAAEsAAAAAgkAASwAAAACAgAAAAhhZGRyZXNzXwUAAAAHYWRkcmVzcwIAAAAIX2luaXRUeF8FAAAABmluaXRUeAIAAAAHX3N0YXR1cwoBAAAAFGdldEFjY2Vzc0l0ZW1Bc3NldElkAAAAAQAAAAdhZGRyZXNzCQACWQAAAAEJAQAAABR0cnlHZXRTdHJpbmdFeHRlcm5hbAAAAAIFAAAAB2FkZHJlc3MCAAAAGHN0YXRpY19hY2Nlc3NJdGVtQXNzZXRJZAoBAAAAEmdldEFjY2Vzc0l0ZW1QcmljZQAAAAEAAAAHYWRkcmVzcwkBAAAAEXRyeUdldEludEV4dGVybmFsAAAAAgUAAAAHYWRkcmVzcwIAAAAWc3RhdGljX2FjY2Vzc0l0ZW1QcmljZQMJAQAAAAIhPQAAAAIFAAAABnN0YXR1cwIAAAAEb3BlbgkAAAIAAAABAgAAAB9yZWJpcnRoIGlzIGZpbmlzaGVkIG9yIG5vdCBvcGVuAwkAAGYAAAACBQAAAAtmaW5pc2hCbG9jawUAAAAGaGVpZ2h0CQAAAgAAAAECAAAAHnlvdSBjYW5ub3QgZmluaXNoIHJlYmlydGgsIHlldAQAAAADd2luCQEAAAAMZ2V0UmFuZG9tV2luAAAAAwkAAlkAAAABBQAAAAZpbml0VHgFAAAAC2ZpbmlzaEJsb2NrBQAAAAthc3NldFJhcml0eQQAAAAEdHhJZAUAAAAGaW5pdFR4BAAAAAZyZXN1bHQDCQEAAAACIT0AAAACCQAEswAAAAIFAAAAA3dpbgIAAAAFcGVyY2gFAAAABHVuaXQEAAAABWNvbG9yCQEAAAAJdGFrZVJpZ2h0AAAAAgUAAAADd2luAAAAAAAAAAABBAAAAARjYWxsCQAD/AAAAAQJAQAAABFnZXRGYXJtaW5nQWRkcmVzcwAAAAACAAAADGFkZEZyZWVQZXJjaAkABEwAAAACBQAAAAdhZGRyZXNzCQAETAAAAAIFAAAABWNvbG9yBQAAAANuaWwFAAAAA25pbAMJAAAAAAAAAgUAAAAEY2FsbAUAAAAEY2FsbAkABEwAAAACCQEAAAALU3RyaW5nRW50cnkAAAACCQABLAAAAAIJAAEsAAAAAgkAASwAAAACCQABLAAAAAICAAAACGFkZHJlc3NfBQAAAAdhZGRyZXNzAgAAAAhfaW5pdFR4XwUAAAAGaW5pdFR4AgAAAAdfcmVzdWx0CQEAAAAIYXNTdHJpbmcAAAABBQAAAARjYWxsBQAAAANuaWwJAAACAAAAAQIAAAAkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuAwkAAAAAAAACBQAAAAN3aW4CAAAACWluY3ViYXRvcgQAAAAEY2FsbAkAA/wAAAAECQEAAAATZ2V0SW5jdWJhdG9yQWRkcmVzcwAAAAACAAAADWlzc3VlRnJlZUR1Y2sJAARMAAAAAgUAAAAHYWRkcmVzcwkABEwAAAACBQAAAAR0eElkBQAAAANuaWwFAAAAA25pbAMJAAAAAAAAAgUAAAAEY2FsbAUAAAAEY2FsbAkABEwAAAACCQEAAAALU3RyaW5nRW50cnkAAAACCQABLAAAAAIJAAEsAAAAAgkAASwAAAACCQABLAAAAAICAAAACGFkZHJlc3NfBQAAAAdhZGRyZXNzAgAAAAhfaW5pdFR4XwUAAAAGaW5pdFR4AgAAAAdfcmVzdWx0CQEAAAAIYXNTdHJpbmcAAAABBQAAAARjYWxsBQAAAANuaWwJAAACAAAAAQIAAAAkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuAwkAAAAAAAACBQAAAAN3aW4CAAAAAmFyBAAAAAdhc3NldElkCQEAAAAUZ2V0QWNjZXNzSXRlbUFzc2V0SWQAAAABCQEAAAAOZ2V0SHVudEFkZHJlc3MAAAAABAAAAAVwcmljZQkBAAAAEmdldEFjY2Vzc0l0ZW1QcmljZQAAAAEJAQAAAA5nZXRIdW50QWRkcmVzcwAAAAAEAAAABGNhbGwJAAP8AAAABAkBAAAADmdldEh1bnRBZGRyZXNzAAAAAAIAAAASYnV5QWNjZXNzSXRlbU90aGVyCQAETAAAAAIFAAAAB2FkZHJlc3MFAAAAA25pbAkABEwAAAACCQEAAAAPQXR0YWNoZWRQYXltZW50AAAAAgUAAAAHYXNzZXRJZAUAAAAFcHJpY2UFAAAAA25pbAMJAAAAAAAAAgUAAAAEY2FsbAUAAAAEY2FsbAkABEwAAAACCQEAAAALU3RyaW5nRW50cnkAAAACCQABLAAAAAIJAAEsAAAAAgkAASwAAAACCQABLAAAAAICAAAACGFkZHJlc3NfBQAAAAdhZGRyZXNzAgAAAAhfaW5pdFR4XwUAAAAGaW5pdFR4AgAAAAdfcmVzdWx0CQEAAAAIYXNTdHJpbmcAAAABBQAAAARjYWxsBQAAAANuaWwJAAACAAAAAQIAAAAkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuAwkAAAAAAAACBQAAAAN3aW4CAAAABG1ldGEEAAAAB2Fzc2V0SWQJAQAAABRnZXRBY2Nlc3NJdGVtQXNzZXRJZAAAAAEJAQAAABJnZXRNZXRhcmFjZUFkZHJlc3MAAAAABAAAAAVwcmljZQkBAAAAEmdldEFjY2Vzc0l0ZW1QcmljZQAAAAEJAQAAABJnZXRNZXRhcmFjZUFkZHJlc3MAAAAABAAAAARjYWxsCQAD/AAAAAQJAQAAABJnZXRNZXRhcmFjZUFkZHJlc3MAAAAAAgAAABJidXlBY2Nlc3NJdGVtT3RoZXIJAARMAAAAAgUAAAAHYWRkcmVzcwUAAAADbmlsCQAETAAAAAIJAQAAAA9BdHRhY2hlZFBheW1lbnQAAAACBQAAAAdhc3NldElkBQAAAAVwcmljZQUAAAADbmlsAwkAAAAAAAACBQAAAARjYWxsBQAAAARjYWxsCQAETAAAAAIJAQAAAAtTdHJpbmdFbnRyeQAAAAIJAAEsAAAAAgkAASwAAAACCQABLAAAAAIJAAEsAAAAAgIAAAAIYWRkcmVzc18FAAAAB2FkZHJlc3MCAAAACF9pbml0VHhfBQAAAAZpbml0VHgCAAAAB19yZXN1bHQJAQAAAAhhc1N0cmluZwAAAAEFAAAABGNhbGwFAAAAA25pbAkAAAIAAAABAgAAACRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4DCQAAAAAAAAIFAAAAA3dpbgIAAAAHcGhvZW5peAQAAAAEY2FsbAkAA/wAAAAECQEAAAATZ2V0SW5jdWJhdG9yQWRkcmVzcwAAAAACAAAADGlzc3VlSmFja3BvdAkABEwAAAACBQAAAAdhZGRyZXNzCQAETAAAAAIFAAAABHR4SWQJAARMAAAAAgIAAAAIV1dXV1dXV1AFAAAAA25pbAUAAAADbmlsAwkAAAAAAAACBQAAAARjYWxsBQAAAARjYWxsCQAETAAAAAIJAQAAAAtTdHJpbmdFbnRyeQAAAAIJAAEsAAAAAgkAASwAAAACCQABLAAAAAIJAAEsAAAAAgIAAAAIYWRkcmVzc18FAAAAB2FkZHJlc3MCAAAACF9pbml0VHhfBQAAAAZpbml0VHgCAAAAB19yZXN1bHQJAQAAAAhhc1N0cmluZwAAAAEFAAAABGNhbGwFAAAAA25pbAkAAAIAAAABAgAAACRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4DCQEAAAACIT0AAAACCQAEswAAAAIFAAAAA3dpbgIAAAAIZHVja2xpbmcFAAAABHVuaXQEAAAABWxldmVsCQEAAAANcGFyc2VJbnRWYWx1ZQAAAAEJAAGRAAAAAgkABLUAAAACBQAAAAN3aW4CAAAAAV8AAAAAAAAAAAEEAAAABGNhbGwJAAP8AAAABAkBAAAAEmdldEJhYnlEdWNrQWRkcmVzcwAAAAACAAAAEWlzc3VlRnJlZUR1Y2tsaW5nCQAETAAAAAIFAAAAB2FkZHJlc3MJAARMAAAAAgUAAAAEdHhJZAkABEwAAAACBQAAAAVsZXZlbAUAAAADbmlsBQAAAANuaWwDCQAAAAAAAAIFAAAABGNhbGwFAAAABGNhbGwJAARMAAAAAgkBAAAAC1N0cmluZ0VudHJ5AAAAAgkAASwAAAACCQABLAAAAAIJAAEsAAAAAgkAASwAAAACAgAAAAhhZGRyZXNzXwUAAAAHYWRkcmVzcwIAAAAIX2luaXRUeF8FAAAABmluaXRUeAIAAAAHX3Jlc3VsdAkBAAAACGFzU3RyaW5nAAAAAQUAAAAEY2FsbAUAAAADbmlsCQAAAgAAAAECAAAAJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgMJAQAAAAIhPQAAAAIJAASzAAAAAgUAAAADd2luAgAAAARpdGVtBQAAAAR1bml0BAAAAAhpdGVtTmFtZQkAAZEAAAACCQAEtQAAAAIFAAAAA3dpbgIAAAABXwAAAAAAAAAAAQQAAAAEY2FsbAkAA/wAAAAECQEAAAAPZ2V0SXRlbXNBZGRyZXNzAAAAAAIAAAANaXNzdWVBcnRlZmFjdAkABEwAAAACBQAAAAhpdGVtTmFtZQkABEwAAAACBQAAAAdhZGRyZXNzBQAAAANuaWwFAAAAA25pbAMJAAAAAAAAAgUAAAAEY2FsbAUAAAAEY2FsbAkABEwAAAACCQEAAAALU3RyaW5nRW50cnkAAAACCQABLAAAAAIJAAEsAAAAAgkAASwAAAACCQABLAAAAAICAAAACGFkZHJlc3NfBQAAAAdhZGRyZXNzAgAAAAhfaW5pdFR4XwUAAAAGaW5pdFR4AgAAAAdfcmVzdWx0CQEAAAAIYXNTdHJpbmcAAAABBQAAAARjYWxsBQAAAANuaWwJAAACAAAAAQIAAAAkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQAAAgAAAAECAAAAM1JGQjogU29tZSBlcnJvciBvY2N1cmVkLCBwbGVhc2UgY29udGFjdCB0aGUgYWRtaW5zIQkABE4AAAACBQAAAAZyZXN1bHQJAARMAAAAAgkBAAAAC1N0cmluZ0VudHJ5AAAAAgkAASwAAAACCQABLAAAAAIJAAEsAAAAAgkAASwAAAACAgAAAAhhZGRyZXNzXwUAAAAHYWRkcmVzcwIAAAAIX2luaXRUeF8FAAAABmluaXRUeAIAAAAEX3dpbgUAAAADd2luCQAETAAAAAIJAQAAAAtTdHJpbmdFbnRyeQAAAAIJAAEsAAAAAgkAASwAAAACCQABLAAAAAIJAAEsAAAAAgIAAAAIYWRkcmVzc18FAAAAB2FkZHJlc3MCAAAACF9pbml0VHhfBQAAAAZpbml0VHgCAAAAB19zdGF0dXMCAAAABmZpbmlzaAUAAAADbmlsAAAAAQAAAAJ0eAEAAAAGdmVyaWZ5AAAAAAMJAQAAAAlpc1Rlc3RFbnYAAAAACQAB9AAAAAMIBQAAAAJ0eAAAAAlib2R5Qnl0ZXMJAAGRAAAAAggFAAAAAnR4AAAABnByb29mcwAAAAAAAAAAAAgFAAAAAnR4AAAAD3NlbmRlclB1YmxpY0tleQQAAAAJZmlyc3RVc2VyAQAAACDe1sZR5FMW0GWA6wGaKgvQ95dR+hx2kX6bjgZDdxe9JQQAAAAKc2Vjb25kVXNlcgEAAAAgwWzfju3TjXOPi6L5+okP9HXNRBtUclKjtJzSVqQt4HUEAAAACXRoaXJkVXNlcgEAAAAg51v0jqrS+UmeboQmuPl+H9xnqH3cK7jU6nvN8mgKwSUEAAAAD2ZpcnN0VXNlclNpZ25lZAMJAAH0AAAAAwgFAAAAAnR4AAAACWJvZHlCeXRlcwkAAZEAAAACCAUAAAACdHgAAAAGcHJvb2ZzAAAAAAAAAAAABQAAAAlmaXJzdFVzZXIAAAAAAAAAAAEDCQAB9AAAAAMIBQAAAAJ0eAAAAAlib2R5Qnl0ZXMJAAGRAAAAAggFAAAAAnR4AAAABnByb29mcwAAAAAAAAAAAQUAAAAJZmlyc3RVc2VyAAAAAAAAAAABAwkAAfQAAAADCAUAAAACdHgAAAAJYm9keUJ5dGVzCQABkQAAAAIIBQAAAAJ0eAAAAAZwcm9vZnMAAAAAAAAAAAIFAAAACWZpcnN0VXNlcgAAAAAAAAAAAQAAAAAAAAAAAAQAAAAQc2Vjb25kVXNlclNpZ25lZAMJAAH0AAAAAwgFAAAAAnR4AAAACWJvZHlCeXRlcwkAAZEAAAACCAUAAAACdHgAAAAGcHJvb2ZzAAAAAAAAAAAABQAAAApzZWNvbmRVc2VyAAAAAAAAAAABAwkAAfQAAAADCAUAAAACdHgAAAAJYm9keUJ5dGVzCQABkQAAAAIIBQAAAAJ0eAAAAAZwcm9vZnMAAAAAAAAAAAEFAAAACnNlY29uZFVzZXIAAAAAAAAAAAEDCQAB9AAAAAMIBQAAAAJ0eAAAAAlib2R5Qnl0ZXMJAAGRAAAAAggFAAAAAnR4AAAABnByb29mcwAAAAAAAAAAAgUAAAAKc2Vjb25kVXNlcgAAAAAAAAAAAQAAAAAAAAAAAAQAAAAPdGhpcmRVc2VyU2lnbmVkAwkAAfQAAAADCAUAAAACdHgAAAAJYm9keUJ5dGVzCQABkQAAAAIIBQAAAAJ0eAAAAAZwcm9vZnMAAAAAAAAAAAAFAAAACXRoaXJkVXNlcgAAAAAAAAAAAQMJAAH0AAAAAwgFAAAAAnR4AAAACWJvZHlCeXRlcwkAAZEAAAACCAUAAAACdHgAAAAGcHJvb2ZzAAAAAAAAAAABBQAAAAl0aGlyZFVzZXIAAAAAAAAAAAEDCQAB9AAAAAMIBQAAAAJ0eAAAAAlib2R5Qnl0ZXMJAAGRAAAAAggFAAAAAnR4AAAABnByb29mcwAAAAAAAAAAAgUAAAAJdGhpcmRVc2VyAAAAAAAAAAABAAAAAAAAAAAABAAAAA9zaWduYXR1cmVzQ291bnQJAABkAAAAAgkAAGQAAAACBQAAAA9maXJzdFVzZXJTaWduZWQFAAAAEHNlY29uZFVzZXJTaWduZWQFAAAAD3RoaXJkVXNlclNpZ25lZAQAAAAHJG1hdGNoMAUAAAACdHgJAABnAAAAAgUAAAAPc2lnbmF0dXJlc0NvdW50AAAAAAAAAAAC4ufs2Q==", "height": 3591726, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: 5tpN7ESNVvNPgF94hafmYLBdn6xe8byzrPivvjXmUs4E Next: GfjSKRN5RaDLyqWUpK67YAzVLg3cJigcZsCYCXXniSmo Diff:
OldNewDifferences
143143 then "duckling_20"
144144 else if ((250 > n))
145145 then "incubator"
146- else if ((375 > n))
147- then "perch_Y"
148- else if ((500 > n))
149- then "perch_G"
150- else if ((625 > n))
151- then "perch_B"
152- else if ((750 > n))
153- then "perch_R"
154- else if ((875 > n))
155- then "ar"
156- else "meta"
146+ else if ((280 > n))
147+ then "item_ART-SNAKE"
148+ else if ((410 > n))
149+ then "item_ART-KATANA"
150+ else if ((460 > n))
151+ then "item_ART-ROBODUCK"
152+ else if ((480 > n))
153+ then "item_ART-CROWN"
154+ else if ((610 > n))
155+ then "item_ART-SCEPTER"
156+ else if ((740 > n))
157+ then "item_ART-BUILTBODY"
158+ else if ((750 > n))
159+ then "item_ART-FEED10"
160+ else if ((875 > n))
161+ then "ar"
162+ else "meta"
157163 }
158164 }
159165
233239 else 0
234240 if ((payment == payment))
235241 then {
236- let $t068846933 = getAssetFarmingPower(assetId)
237- let gen = $t068846933._1
238- let rarity = $t068846933._2
242+ let $t070637112 = getAssetFarmingPower(assetId)
243+ let gen = $t070637112._1
244+ let rarity = $t070637112._2
239245 let call = invoke(getOrigin(assetId), "reduceRarity", [toBase58String(assetId), gen], nil)
240246 if ((call == call))
241247 then [IntegerEntry((((("address_" + address) + "_initTx_") + initTx) + "_finishBlock"), (height + delayForHatching)), StringEntry((((("address_" + address) + "_initTx_") + initTx) + "_status"), "open"), IntegerEntry((((("address_" + address) + "_initTx_") + initTx) + "_assetRarity"), rarity), StringEntry((((("address_" + address) + "_initTx_") + initTx) + "_assetId"), toBase58String(assetId))]
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 5 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 func tryGetStringExternal (address,key) = match getString(address, key) {
55 case a: String =>
66 a
77 case _ =>
88 ""
99 }
1010
1111
1212 func tryGetIntExternal (address,key) = match getInteger(address, key) {
1313 case a: Int =>
1414 a
1515 case _ =>
1616 throw("RTGIE: Something went wrong")
1717 }
1818
1919
2020 func tryGetString (key) = tryGetStringExternal(this, key)
2121
2222
2323 let delayForHatching = 2
2424
2525 func getOracle () = Address(fromBase58String(tryGetString("static_oracleAddress")))
2626
2727
2828 func getEggAssetId () = fromBase58String(tryGetStringExternal(getOracle(), "static_eggAssetId"))
2929
3030
3131 func getIncubatorAddress () = Address(fromBase58String(tryGetStringExternal(getOracle(), "static_incubatorAddress")))
3232
3333
3434 func getBreederAddress () = Address(fromBase58String(tryGetStringExternal(getOracle(), "static_breederAddress")))
3535
3636
3737 func getFarmingAddress () = Address(fromBase58String(tryGetStringExternal(getOracle(), "static_farmingAddress")))
3838
3939
4040 func getBabyDuckAddress () = Address(fromBase58String(tryGetStringExternal(getOracle(), "static_babyDuckAddress")))
4141
4242
4343 func getGameDappAddress () = Address(fromBase58String(tryGetStringExternal(getOracle(), "static_gameDappAddress")))
4444
4545
4646 func getItemsAddress () = Address(fromBase58String(tryGetStringExternal(getOracle(), "static_itemsAddress")))
4747
4848
4949 func getCouponsAddress () = Address(fromBase58String(tryGetStringExternal(getOracle(), "static_couponsAddress")))
5050
5151
5252 func getMetaraceAddress () = Address(fromBase58String(tryGetStringExternal(getOracle(), "static_metaRaceAddress")))
5353
5454
5555 func getHuntAddress () = Address(fromBase58String(tryGetStringExternal(getOracle(), "static_huntAddress")))
5656
5757
5858 func getBurnAddress () = Address(fromBase58String(tryGetStringExternal(getOracle(), "static_burnAddress")))
5959
6060
6161 func getRefContractAddress () = Address(fromBase58String(tryGetStringExternal(getOracle(), "static_refContractAddress")))
6262
6363
6464 let PHOENIXBASEOPTIONS = 1000
6565
6666 func tryGetInteger (key) = match getInteger(this, key) {
6767 case b: Int =>
6868 b
6969 case _ =>
7070 0
7171 }
7272
7373
7474 func asString (value) = match value {
7575 case s: String =>
7676 s
7777 case s: Int =>
7878 throw("wrong type, expected: String, got: Int")
7979 case s: Unit =>
8080 throw("wrong type, expected: String, got: Unit")
8181 case _ =>
8282 throw("wrong type, expected: String")
8383 }
8484
8585
8686 let feeAmount = tryGetInteger("currentPrice")
8787
8888 func getAmountOrClear (amount) = if (contains(amount, "0"))
8989 then ""
9090 else amount
9191
9292
9393 func getAssetOrigin (generation) = if ((generation == "G"))
9494 then getIncubatorAddress()
9595 else getBreederAddress()
9696
9797
9898 func getAssetRarity (genotype,generation) = {
9999 let quantity = getIntegerValue(getAssetOrigin(generation), (("stats_" + genotype) + "_quantity"))
100100 let power = pow((10000 / quantity), 4, 5, 1, 2, FLOOR)
101101 if ((power > 0))
102102 then power
103103 else 2
104104 }
105105
106106
107107 func getAssetFarmingPower (assetId) = if (if ((value(assetInfo(assetId)).issuer == getBreederAddress()))
108108 then true
109109 else (value(assetInfo(assetId)).issuer == getIncubatorAddress()))
110110 then {
111111 let assetName = value(assetInfo(assetId)).name
112112 let generation = take(takeRight(assetName, 2), 1)
113113 let farmGen = asString(invoke(getBreederAddress(), "getGenFromName", [assetName], nil))
114114 if ((farmGen == farmGen))
115115 then $Tuple2(farmGen, getAssetRarity(farmGen, generation))
116116 else throw("Strict value is not equal to itself.")
117117 }
118118 else throw("not valid NFT")
119119
120120
121121 func getRandomNumber (options,txId,hatchingFinishHeight,offset) = {
122122 let randomSeedBlock = value(blockInfoByHeight((hatchingFinishHeight - 1)))
123123 let randomHash = sha256((txId + value(randomSeedBlock.vrf)))
124124 (toInt(randomHash, (offset * 8)) % options)
125125 }
126126
127127
128128 func getRandomWin (tx,finishHeight,assetRarity) = {
129129 let phoenixOptions = (PHOENIXBASEOPTIONS - fraction((PHOENIXBASEOPTIONS / 2), assetRarity, 100))
130130 let jackpotRandom = getRandomNumber(phoenixOptions, tx, finishHeight, 1)
131131 let itemRandom = getRandomNumber(phoenixOptions, tx, finishHeight, 2)
132132 if ((jackpotRandom == 1))
133133 then "phoenix"
134134 else if ((itemRandom == 1))
135135 then "item_ART-FREEGENE"
136136 else {
137137 let n = getRandomNumber(1000, tx, finishHeight, 0)
138138 if ((150 > n))
139139 then "duckling_2"
140140 else if ((200 > n))
141141 then "duckling_10"
142142 else if ((210 > n))
143143 then "duckling_20"
144144 else if ((250 > n))
145145 then "incubator"
146- else if ((375 > n))
147- then "perch_Y"
148- else if ((500 > n))
149- then "perch_G"
150- else if ((625 > n))
151- then "perch_B"
152- else if ((750 > n))
153- then "perch_R"
154- else if ((875 > n))
155- then "ar"
156- else "meta"
146+ else if ((280 > n))
147+ then "item_ART-SNAKE"
148+ else if ((410 > n))
149+ then "item_ART-KATANA"
150+ else if ((460 > n))
151+ then "item_ART-ROBODUCK"
152+ else if ((480 > n))
153+ then "item_ART-CROWN"
154+ else if ((610 > n))
155+ then "item_ART-SCEPTER"
156+ else if ((740 > n))
157+ then "item_ART-BUILTBODY"
158+ else if ((750 > n))
159+ then "item_ART-FEED10"
160+ else if ((875 > n))
161+ then "ar"
162+ else "meta"
157163 }
158164 }
159165
160166
161167 func getOrigin (assetId) = {
162168 let assetName = value(assetInfo(assetId)).name
163169 let generation = take(takeRight(assetName, 2), 1)
164170 if (if ((generation == "G"))
165171 then true
166172 else (generation == "J"))
167173 then getIncubatorAddress()
168174 else getBreederAddress()
169175 }
170176
171177
172178 func asInt (value) = match value {
173179 case int: Int =>
174180 int
175181 case string: String =>
176182 throw(("RAI: wrong type, expected: Int, but got: " + string))
177183 case _ =>
178184 throw("RAI: wrong type, expected: Int")
179185 }
180186
181187
182188 func getBool (key) = match getBoolean(this, key) {
183189 case b: Boolean =>
184190 b
185191 case _ =>
186192 false
187193 }
188194
189195
190196 func isTestEnv () = getBool("TESTENV")
191197
192198
193199 @Callable(i)
194200 func configureOracle (oracle) = if ((i.caller != this))
195201 then throw("RCU: admin only")
196202 else [StringEntry("static_oracleAddress", oracle)]
197203
198204
199205
200206 @Callable(i)
201207 func initRebirth (refererAddress) = {
202208 let pmt = i.payments[0]
203209 let assetId = value(pmt.assetId)
204210 let initTx = toBase58String(i.transactionId)
205211 let address = toString(i.caller)
206212 if ((pmt.amount != 1))
207213 then throw("NFT is not attached")
208214 else {
209215 let amountPaidByCoupons = asInt(invoke(getCouponsAddress(), "useCoupons", [feeAmount], nil))
210216 if ((amountPaidByCoupons == amountPaidByCoupons))
211217 then {
212218 let leftToPay = (feeAmount - amountPaidByCoupons)
213219 let payment = if ((leftToPay != 0))
214220 then {
215221 let feePayment = value(i.payments[1])
216222 if ((feePayment.assetId != getEggAssetId()))
217223 then throw("You need to attach EGG tokens as fee")
218224 else if ((leftToPay > feePayment.amount))
219225 then throw(("You need to attach the following amount of EGG tokens as fee: 0." + toString(leftToPay)))
220226 else {
221227 let refererRewardForPerch = fraction(leftToPay, 5, 100)
222228 let refCall = invoke(getRefContractAddress(), "refPayment", [refererAddress], [AttachedPayment(getEggAssetId(), refererRewardForPerch)])
223229 if ((refCall == refCall))
224230 then {
225231 let burnCall = invoke(getBurnAddress(), "burnAttachedPayments", nil, [AttachedPayment(getEggAssetId(), (leftToPay - refererRewardForPerch))])
226232 if ((burnCall == burnCall))
227233 then leftToPay
228234 else throw("Strict value is not equal to itself.")
229235 }
230236 else throw("Strict value is not equal to itself.")
231237 }
232238 }
233239 else 0
234240 if ((payment == payment))
235241 then {
236- let $t068846933 = getAssetFarmingPower(assetId)
237- let gen = $t068846933._1
238- let rarity = $t068846933._2
242+ let $t070637112 = getAssetFarmingPower(assetId)
243+ let gen = $t070637112._1
244+ let rarity = $t070637112._2
239245 let call = invoke(getOrigin(assetId), "reduceRarity", [toBase58String(assetId), gen], nil)
240246 if ((call == call))
241247 then [IntegerEntry((((("address_" + address) + "_initTx_") + initTx) + "_finishBlock"), (height + delayForHatching)), StringEntry((((("address_" + address) + "_initTx_") + initTx) + "_status"), "open"), IntegerEntry((((("address_" + address) + "_initTx_") + initTx) + "_assetRarity"), rarity), StringEntry((((("address_" + address) + "_initTx_") + initTx) + "_assetId"), toBase58String(assetId))]
242248 else throw("Strict value is not equal to itself.")
243249 }
244250 else throw("Strict value is not equal to itself.")
245251 }
246252 else throw("Strict value is not equal to itself.")
247253 }
248254 }
249255
250256
251257
252258 @Callable(i)
253259 func finishRebirth (initTx) = {
254260 let address = toString(i.caller)
255261 let finishBlock = tryGetInteger((((("address_" + address) + "_initTx_") + initTx) + "_finishBlock"))
256262 let assetRarity = tryGetInteger((((("address_" + address) + "_initTx_") + initTx) + "_assetRarity"))
257263 let status = tryGetString((((("address_" + address) + "_initTx_") + initTx) + "_status"))
258264 func getAccessItemAssetId (address) = fromBase58String(tryGetStringExternal(address, "static_accessItemAssetId"))
259265
260266 func getAccessItemPrice (address) = tryGetIntExternal(address, "static_accessItemPrice")
261267
262268 if ((status != "open"))
263269 then throw("rebirth is finished or not open")
264270 else if ((finishBlock > height))
265271 then throw("you cannot finish rebirth, yet")
266272 else {
267273 let win = getRandomWin(fromBase58String(initTx), finishBlock, assetRarity)
268274 let txId = initTx
269275 let result = if ((indexOf(win, "perch") != unit))
270276 then {
271277 let color = takeRight(win, 1)
272278 let call = invoke(getFarmingAddress(), "addFreePerch", [address, color], nil)
273279 if ((call == call))
274280 then [StringEntry((((("address_" + address) + "_initTx_") + initTx) + "_result"), asString(call))]
275281 else throw("Strict value is not equal to itself.")
276282 }
277283 else if ((win == "incubator"))
278284 then {
279285 let call = invoke(getIncubatorAddress(), "issueFreeDuck", [address, txId], nil)
280286 if ((call == call))
281287 then [StringEntry((((("address_" + address) + "_initTx_") + initTx) + "_result"), asString(call))]
282288 else throw("Strict value is not equal to itself.")
283289 }
284290 else if ((win == "ar"))
285291 then {
286292 let assetId = getAccessItemAssetId(getHuntAddress())
287293 let price = getAccessItemPrice(getHuntAddress())
288294 let call = invoke(getHuntAddress(), "buyAccessItemOther", [address], [AttachedPayment(assetId, price)])
289295 if ((call == call))
290296 then [StringEntry((((("address_" + address) + "_initTx_") + initTx) + "_result"), asString(call))]
291297 else throw("Strict value is not equal to itself.")
292298 }
293299 else if ((win == "meta"))
294300 then {
295301 let assetId = getAccessItemAssetId(getMetaraceAddress())
296302 let price = getAccessItemPrice(getMetaraceAddress())
297303 let call = invoke(getMetaraceAddress(), "buyAccessItemOther", [address], [AttachedPayment(assetId, price)])
298304 if ((call == call))
299305 then [StringEntry((((("address_" + address) + "_initTx_") + initTx) + "_result"), asString(call))]
300306 else throw("Strict value is not equal to itself.")
301307 }
302308 else if ((win == "phoenix"))
303309 then {
304310 let call = invoke(getIncubatorAddress(), "issueJackpot", [address, txId, "WWWWWWWP"], nil)
305311 if ((call == call))
306312 then [StringEntry((((("address_" + address) + "_initTx_") + initTx) + "_result"), asString(call))]
307313 else throw("Strict value is not equal to itself.")
308314 }
309315 else if ((indexOf(win, "duckling") != unit))
310316 then {
311317 let level = parseIntValue(split(win, "_")[1])
312318 let call = invoke(getBabyDuckAddress(), "issueFreeDuckling", [address, txId, level], nil)
313319 if ((call == call))
314320 then [StringEntry((((("address_" + address) + "_initTx_") + initTx) + "_result"), asString(call))]
315321 else throw("Strict value is not equal to itself.")
316322 }
317323 else if ((indexOf(win, "item") != unit))
318324 then {
319325 let itemName = split(win, "_")[1]
320326 let call = invoke(getItemsAddress(), "issueArtefact", [itemName, address], nil)
321327 if ((call == call))
322328 then [StringEntry((((("address_" + address) + "_initTx_") + initTx) + "_result"), asString(call))]
323329 else throw("Strict value is not equal to itself.")
324330 }
325331 else throw("RFB: Some error occured, please contact the admins!")
326332 (result ++ [StringEntry((((("address_" + address) + "_initTx_") + initTx) + "_win"), win), StringEntry((((("address_" + address) + "_initTx_") + initTx) + "_status"), "finish")])
327333 }
328334 }
329335
330336
331337 @Verifier(tx)
332338 func verify () = if (isTestEnv())
333339 then sigVerify(tx.bodyBytes, tx.proofs[0], tx.senderPublicKey)
334340 else {
335341 let firstUser = base58'FzsTVRXqD46KW5yj6qGNVrsouvWjpCQvD1446A96iGt4'
336342 let secondUser = base58'E23yUg8eun5nXB1nZRDf7RTyRADKxQhGNXdpTYonEvtU'
337343 let thirdUser = base58'Ga8WEBTPXbHuoXRD355mQ6ms8PsM2RFYKeA1mEP32CFe'
338344 let firstUserSigned = if (sigVerify(tx.bodyBytes, tx.proofs[0], firstUser))
339345 then 1
340346 else if (sigVerify(tx.bodyBytes, tx.proofs[1], firstUser))
341347 then 1
342348 else if (sigVerify(tx.bodyBytes, tx.proofs[2], firstUser))
343349 then 1
344350 else 0
345351 let secondUserSigned = if (sigVerify(tx.bodyBytes, tx.proofs[0], secondUser))
346352 then 1
347353 else if (sigVerify(tx.bodyBytes, tx.proofs[1], secondUser))
348354 then 1
349355 else if (sigVerify(tx.bodyBytes, tx.proofs[2], secondUser))
350356 then 1
351357 else 0
352358 let thirdUserSigned = if (sigVerify(tx.bodyBytes, tx.proofs[0], thirdUser))
353359 then 1
354360 else if (sigVerify(tx.bodyBytes, tx.proofs[1], thirdUser))
355361 then 1
356362 else if (sigVerify(tx.bodyBytes, tx.proofs[2], thirdUser))
357363 then 1
358364 else 0
359365 let signaturesCount = ((firstUserSigned + secondUserSigned) + thirdUserSigned)
360366 match tx {
361367 case _ =>
362368 (signaturesCount >= 2)
363369 }
364370 }
365371

github/deemru/w8io/3ef1775 
48.99 ms