tx · Azp733djjyp4fqLyUQYeHSrJ33CbnW4SDQ1SpM4KfEXp 3MxVJox4gUBhTYKrzK458PLEwbnhsijAihN: -0.01200000 Waves 2024.10.07 20:27 [3316721] smart account 3MxVJox4gUBhTYKrzK458PLEwbnhsijAihN > SELF 0.00000000 Waves
{ "type": 13, "id": "Azp733djjyp4fqLyUQYeHSrJ33CbnW4SDQ1SpM4KfEXp", "fee": 1200000, "feeAssetId": null, "timestamp": 1728322064424, "version": 2, "chainId": 84, "sender": "3MxVJox4gUBhTYKrzK458PLEwbnhsijAihN", "senderPublicKey": "6aKE4Qk85jkJi2fPfWV4HG1XuygMnFL6uw2YZC6uvTJU", "proofs": [ "RDywJ478VSToeWpbWxfDeD2gugipboi5iYLnjEuaGL6vgkbwn3zwPnG1H3vEAGGkQ57a3svp5UiKhDD3WxTGDQA" ], "script": "base64:BgIfCAISAwoBCBIDCgEBEgQKAgEBEgQKAgEIEgUKAwgBCB8ACWJhc2VQcmljZQCAiXoACGluY3JlYXNlAAEAEGluY3JlYXNlRGVjaW1hbHMAAwEJaXNUZXN0RW52AAQHdGVzdGVudgQHJG1hdGNoMAkAmwgCBQR0aGlzAgdURVNURU5WAwkAAQIFByRtYXRjaDACB0Jvb2xlYW4EAXgFByRtYXRjaDAFAXgHBQd0ZXN0ZW52AQ9kdWNrQ2FwYWNpdHlLZXkBBmR1Y2tJZAkArAICAg9hZGRlZF9jYXBhY2l0eV8FBmR1Y2tJZAEUdHJ5R2V0U3RyaW5nRXh0ZXJuYWwCB2FkZHJlc3MDa2V5BAckbWF0Y2gwCQCdCAIFB2FkZHJlc3MFA2tleQMJAAECBQckbWF0Y2gwAgZTdHJpbmcEAWEFByRtYXRjaDAFAWECAAEMdHJ5R2V0U3RyaW5nAQNrZXkJARR0cnlHZXRTdHJpbmdFeHRlcm5hbAIFBHRoaXMFA2tleQENdHJ5R2V0SW50ZWdlcgEDa2V5BAckbWF0Y2gwCQCaCAIFBHRoaXMFA2tleQMJAAECBQckbWF0Y2gwAgNJbnQEAWIFByRtYXRjaDAFAWIAAAEFYXNJbnQBBXZhbHVlBAckbWF0Y2gwBQV2YWx1ZQMJAAECBQckbWF0Y2gwAgNJbnQEA2ludAUHJG1hdGNoMAUDaW50CQACAQIZd3JvbmcgdHlwZSwgZXhwZWN0ZWQ6IEludAEJYXNCb29sZWFuAQV2YWx1ZQQHJG1hdGNoMAUFdmFsdWUDCQABAgUHJG1hdGNoMAIHQm9vbGVhbgQHYm9vbGVhbgUHJG1hdGNoMAUHYm9vbGVhbgkAAgECIkNBQjogd3JvbmcgdHlwZSwgZXhwZWN0ZWQ6IEJvb2xlYW4BF3N0YXRpY0tleV9vcmFjbGVBZGRyZXNzAAIUc3RhdGljX29yYWNsZUFkZHJlc3MBEnN0YXRpY0tleV9leHRyYUZlZQACD3N0YXRpY19leHRyYUZlZQEYc3RhdGljS2V5X2JyZWVkZXJBZGRyZXNzAAIVc3RhdGljX2JyZWVkZXJBZGRyZXNzARVzdGF0aWNLZXlfaHVudEFkZHJlc3MAAhJzdGF0aWNfaHVudEFkZHJlc3MBFHN0YXRpY0tleV9lZ2dBc3NldElkAAIRc3RhdGljX2VnZ0Fzc2V0SWQBF3N0YXRpY0tleV9mZWVBZ2dyZWdhdG9yAAIUc3RhdGljX2ZlZUFnZ3JlZ2F0b3IBGHN0YXRpY0tleV9jb3Vwb25zQWRkcmVzcwACFXN0YXRpY19jb3Vwb25zQWRkcmVzcwEcc3RhdGljS2V5X3JlZkNvbnRyYWN0QWRkcmVzcwACGXN0YXRpY19yZWZDb250cmFjdEFkZHJlc3MBFXN0YXRpY0tleV9idXJuQWRkcmVzcwACEnN0YXRpY19idXJuQWRkcmVzcwEJZ2V0T3JhY2xlAAkBB0FkZHJlc3MBCQDZBAEJAQx0cnlHZXRTdHJpbmcBCQEXc3RhdGljS2V5X29yYWNsZUFkZHJlc3MAARFnZXRDb3Vwb25zQWRkcmVzcwAJAQdBZGRyZXNzAQkA2QQBCQEUdHJ5R2V0U3RyaW5nRXh0ZXJuYWwCCQEJZ2V0T3JhY2xlAAkBGHN0YXRpY0tleV9jb3Vwb25zQWRkcmVzcwABDWdldEVnZ0Fzc2V0SWQACQDZBAEJARR0cnlHZXRTdHJpbmdFeHRlcm5hbAIJAQlnZXRPcmFjbGUACQEUc3RhdGljS2V5X2VnZ0Fzc2V0SWQAAQ9nZXREdWNrQ2FwYWNpdHkBBmR1Y2tJZAkBDXRyeUdldEludGVnZXIBCQEPZHVja0NhcGFjaXR5S2V5AQUGZHVja0lkARFnZXRCcmVlZGVyQWRkcmVzcwAJAQdBZGRyZXNzAQkA2QQBCQEUdHJ5R2V0U3RyaW5nRXh0ZXJuYWwCCQEJZ2V0T3JhY2xlAAkBGHN0YXRpY0tleV9icmVlZGVyQWRkcmVzcwABDmdldEh1bnRBZGRyZXNzAAkBB0FkZHJlc3MBCQDZBAEJARR0cnlHZXRTdHJpbmdFeHRlcm5hbAIJAQlnZXRPcmFjbGUACQEVc3RhdGljS2V5X2h1bnRBZGRyZXNzAAEQZ2V0RmVlQWdncmVnYXRvcgAJAQdBZGRyZXNzAQkA2QQBCQEUdHJ5R2V0U3RyaW5nRXh0ZXJuYWwCCQEJZ2V0T3JhY2xlAAkBF3N0YXRpY0tleV9mZWVBZ2dyZWdhdG9yAAEVZ2V0UmVmQ29udHJhY3RBZGRyZXNzAAkBB0FkZHJlc3MBCQDZBAEJARR0cnlHZXRTdHJpbmdFeHRlcm5hbAIJAQlnZXRPcmFjbGUACQEcc3RhdGljS2V5X3JlZkNvbnRyYWN0QWRkcmVzcwABDmdldEJ1cm5BZGRyZXNzAAkBB0FkZHJlc3MBCQDZBAEJARR0cnlHZXRTdHJpbmdFeHRlcm5hbAIJAQlnZXRPcmFjbGUACQEVc3RhdGljS2V5X2J1cm5BZGRyZXNzAAEMa2V5RHVja093bmVyAQdhc3NldElkCQCsAgIJAKwCAgIFZHVja18FB2Fzc2V0SWQCBl9vd25lcgEGY29tbW9uBAVuZnRJZAhwYXltZW50cw1hZGRlZENhcGFjaXR5DnJlZmVyZXJBZGRyZXNzBAhjaGlsZHJlbgkBBWFzSW50AQkA/AcECQERZ2V0QnJlZWRlckFkZHJlc3MAAhZ2YWxpZGF0ZUFuZEdldENoaWxkcmVuCQDMCAIFBW5mdElkBQNuaWwFA25pbAMJAAACBQhjaGlsZHJlbgUIY2hpbGRyZW4ECGNhcGFjaXR5CQEPZ2V0RHVja0NhcGFjaXR5AQUFbmZ0SWQEDXRvdGFsQ2FwYWNpdHkJAGQCBQhjYXBhY2l0eQUNYWRkZWRDYXBhY2l0eQQEZGlmZgkBBWFzSW50AQkA/AcEBQR0aGlzAhFjYWxjdWxhdGVEaWZmRWdncwkAzAgCBQhjYXBhY2l0eQkAzAgCBQ10b3RhbENhcGFjaXR5BQNuaWwFA25pbAMJAAACBQRkaWZmBQRkaWZmBBNhbW91bnRQYWlkQnlDb3Vwb25zCQEFYXNJbnQBCQD8BwQJARFnZXRDb3Vwb25zQWRkcmVzcwACCnVzZUNvdXBvbnMJAMwIAgUEZGlmZgUDbmlsBQNuaWwDCQAAAgUTYW1vdW50UGFpZEJ5Q291cG9ucwUTYW1vdW50UGFpZEJ5Q291cG9ucwQJbGVmdFRvUGF5CQBlAgUEZGlmZgUTYW1vdW50UGFpZEJ5Q291cG9ucwQLcGF5bWVudExlZnQDCQECIT0CBQlsZWZ0VG9QYXkAAAQKZWdnUGF5bWVudAkBBXZhbHVlAQkAkQMCBQhwYXltZW50cwkAZQIJAJADAQUIcGF5bWVudHMAAQMJAQIhPQIIBQplZ2dQYXltZW50B2Fzc2V0SWQJAQ1nZXRFZ2dBc3NldElkAAkAAgEJAKwCAgJBQ0JSOiBZb3UgY2FuIGF0dGFjaCBvbmx5IEVHRyB0b2tlbnMgd2l0aCB0aGUgZm9sbG93aW5nIGFzc2V0IGlkOiAJANgEAQkBDWdldEVnZ0Fzc2V0SWQAAwkBAiE9AggFCmVnZ1BheW1lbnQGYW1vdW50BQlsZWZ0VG9QYXkJAAIBCQCsAgICQkNCUjogVG8gYnJlZWQgeW91IGN1cnJlbnRseSBuZWVkIHRoZSBmb2xsb3dpbmcgYW1vdW50IG9mIEVHR2xldHM6IAkApAMBBQlsZWZ0VG9QYXkEFXJlZmVyZXJSZXdhcmRGb3JQZXJjaAkAawMFCWxlZnRUb1BheQAFAGQEB3JlZkNhbGwJAQlhc0Jvb2xlYW4BCQD8BwQJARVnZXRSZWZDb250cmFjdEFkZHJlc3MAAgpyZWZQYXltZW50CQDMCAIFDnJlZmVyZXJBZGRyZXNzBQNuaWwJAMwIAgkBD0F0dGFjaGVkUGF5bWVudAIJAQ1nZXRFZ2dBc3NldElkAAUVcmVmZXJlclJld2FyZEZvclBlcmNoBQNuaWwDCQAAAgUHcmVmQ2FsbAUHcmVmQ2FsbAQGdG9CdXJuAwUHcmVmQ2FsbAkAZQIFCWxlZnRUb1BheQUVcmVmZXJlclJld2FyZEZvclBlcmNoBQlsZWZ0VG9QYXkECGJ1cm5DYWxsCQD8BwQJAQ5nZXRCdXJuQWRkcmVzcwACFGJ1cm5BdHRhY2hlZFBheW1lbnRzBQNuaWwJAMwIAgkBD0F0dGFjaGVkUGF5bWVudAIJAQ1nZXRFZ2dBc3NldElkAAUGdG9CdXJuBQNuaWwDCQAAAgUIYnVybkNhbGwFCGJ1cm5DYWxsBQlsZWZ0VG9QYXkJAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4JAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4AAAMJAAACBQtwYXltZW50TGVmdAULcGF5bWVudExlZnQEBWRlYnVnCQC5CQIJAMwIAgkArAICAgxvbGRDYXBhY2l0eT0JAKQDAQUIY2FwYWNpdHkJAMwIAgkArAICAgxuZXdDYXBhY2l0eT0JAKQDAQUNdG90YWxDYXBhY2l0eQkAzAgCCQCsAgICDWRpZmZDYXBhY2l0eT0JAKQDAQUNYWRkZWRDYXBhY2l0eQkAzAgCCQCsAgICCWRpZmZQYWlkPQkApAMBBQRkaWZmBQNuaWwCATsJAMwIAgkBDEludGVnZXJFbnRyeQIJAQ9kdWNrQ2FwYWNpdHlLZXkBBQVuZnRJZAUNdG90YWxDYXBhY2l0eQkAzAgCCQELU3RyaW5nRW50cnkCCQCsAgIJAKwCAgkBD2R1Y2tDYXBhY2l0eUtleQEFBW5mdElkAgdfZGVidWdfCQCkAwEFBmhlaWdodAUFZGVidWcFA25pbAkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgEWY2hlY2tBZGRpdGlvbmFsUGF5bWVudAEHcGF5bWVudAMJAQlpc0RlZmluZWQBCAUHcGF5bWVudAdhc3NldElkCQACAQIZQ0NBUDogUGxlYXNlIGF0dGFjaCB3YXZlcwQJZmVlQW1vdW50CQERQGV4dHJOYXRpdmUoMTA1MCkCCQEJZ2V0T3JhY2xlAAkBEnN0YXRpY0tleV9leHRyYUZlZQADCQECIT0CCAUHcGF5bWVudAZhbW91bnQFCWZlZUFtb3VudAkAAgEJAKwCAgkArAICAhxDQ0FQOiBQbGVhc2UgYXR0YWNoIGV4YWN0bHkgCQCkAwEFCWZlZUFtb3VudAITIGFtb3VudCBvZiB3YXZlbGV0cwkAzAgCCQEOU2NyaXB0VHJhbnNmZXIDCQEQZ2V0RmVlQWdncmVnYXRvcgAFCWZlZUFtb3VudAUEdW5pdAUDbmlsBQFpAQ9jb25maWd1cmVPcmFjbGUBBm9yYWNsZQMJAQIhPQIIBQFpBmNhbGxlcgUEdGhpcwkAAgECD0NDTzogYWRtaW4gb25seQkAzAgCCQELU3RyaW5nRW50cnkCCQEXc3RhdGljS2V5X29yYWNsZUFkZHJlc3MABQZvcmFjbGUFA25pbAFpARdjYWxjdWxhdGVUb3RhbFByaWNlRWdncwEEZWdncwQHcG93UGFydAkAZQIJAGwGCQBkAgDoBwUIaW5jcmVhc2UFEGluY3JlYXNlRGVjaW1hbHMJAGQCBQRlZ2dzAAEAAAAIBQZIQUxGVVAAgMLXLwQFcHJpY2UJAGkCCQBpAgkAaAIFCWJhc2VQcmljZQUHcG93UGFydAUIaW5jcmVhc2UAoI0GCQCUCgIJAMwIAgkBDEludGVnZXJFbnRyeQIJAKwCAgIWUFJJQ0VfQ0FMQ1VMQVRJT05fUE9XXwkApAMBBQRlZ2dzBQdwb3dQYXJ0CQDMCAIJAQxJbnRlZ2VyRW50cnkCCQCsAgICElBSSUNFX0NBTENVTEFUSU9OXwkApAMBBQRlZ2dzBQVwcmljZQUDbmlsBQVwcmljZQFpARFjYWxjdWxhdGVEaWZmRWdncwIHb2xkRWdncwduZXdFZ2dzBAthbHJlYWR5UGFpZAkBBWFzSW50AQkA/AcEBQR0aGlzAhdjYWxjdWxhdGVUb3RhbFByaWNlRWdncwkAzAgCBQdvbGRFZ2dzBQNuaWwFA25pbAMJAAACBQthbHJlYWR5UGFpZAULYWxyZWFkeVBhaWQECnRvdGFsVG9QYXkJAQVhc0ludAEJAPwHBAUEdGhpcwIXY2FsY3VsYXRlVG90YWxQcmljZUVnZ3MJAMwIAgUHbmV3RWdncwUDbmlsBQNuaWwDCQAAAgUKdG90YWxUb1BheQUKdG90YWxUb1BheQQEZGlmZgkAZQIFCnRvdGFsVG9QYXkFC2FscmVhZHlQYWlkBAVkZWJ1ZwkAuQkCCQDMCAIJAKwCAgIIb2xkUGFpZD0JAKQDAQULYWxyZWFkeVBhaWQJAMwIAgkArAICAghuZXdQYWlkPQkApAMBBQp0b3RhbFRvUGF5BQNuaWwCATsJAJQKAgkAzAgCCQELU3RyaW5nRW50cnkCAhJERUJVR19DQUxDVUxBVElPTlMFBWRlYnVnBQNuaWwFBGRpZmYJAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4JAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4BaQERYWRkQ2FwYWNpdHlUb0R1Y2sCDWFkZGVkQ2FwYWNpdHkOcmVmZXJlckFkZHJlc3MECm5mdFBheW1lbnQJAQV2YWx1ZQEJAJEDAggFAWkIcGF5bWVudHMAAAQMdmFsaWRQYXltZW50CQEWY2hlY2tBZGRpdGlvbmFsUGF5bWVudAEJAJEDAggFAWkIcGF5bWVudHMAAQQLZHVja0Fzc2V0SWQJANgEAQkBBXZhbHVlAQgFCm5mdFBheW1lbnQHYXNzZXRJZAQMcmVjb3JkQWN0aW9uCQD8BwQJARFnZXRDb3Vwb25zQWRkcmVzcwACDHJlY29yZEFjdGlvbgkAzAgCAghSRUNIQVJHRQUDbmlsBQNuaWwDCQAAAgUMcmVjb3JkQWN0aW9uBQxyZWNvcmRBY3Rpb24DCQECIT0CCAUKbmZ0UGF5bWVudAZhbW91bnQAAQkAAgECE05GVCBpcyBub3QgYXR0YWNoZWQJAM4IAgkAzggCCQEGY29tbW9uBAULZHVja0Fzc2V0SWQIBQFpCHBheW1lbnRzBQ1hZGRlZENhcGFjaXR5BQ5yZWZlcmVyQWRkcmVzcwkAzAgCCQEOU2NyaXB0VHJhbnNmZXIDCAUBaQZjYWxsZXIAAQkBBXZhbHVlAQgFCm5mdFBheW1lbnQHYXNzZXRJZAUDbmlsBQx2YWxpZFBheW1lbnQJAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4BaQEXYWRkQ2FwYWNpdHlUb0R1Y2tJbkh1bnQDBW5mdElkDWFkZGVkQ2FwYWNpdHkOcmVmZXJlckFkZHJlc3MEC293bmVySW5IdW50CQEUdHJ5R2V0U3RyaW5nRXh0ZXJuYWwCCQEOZ2V0SHVudEFkZHJlc3MACQEMa2V5RHVja093bmVyAQUFbmZ0SWQEDHZhbGlkUGF5bWVudAkBFmNoZWNrQWRkaXRpb25hbFBheW1lbnQBCQCRAwIIBQFpCHBheW1lbnRzAAAEDHJlY29yZEFjdGlvbgkA/AcECQERZ2V0Q291cG9uc0FkZHJlc3MAAgxyZWNvcmRBY3Rpb24JAMwIAgIIUkVDSEFSR0UFA25pbAUDbmlsAwkAAAIFDHJlY29yZEFjdGlvbgUMcmVjb3JkQWN0aW9uAwkBAiE9AgULb3duZXJJbkh1bnQJAKUIAQgFAWkGY2FsbGVyCQACAQIsQ0JSOiBZb3UgY2FuIG9ubHkgYWRkIGNhcGFjaXR5IHRvIG93biBkdWNrcyEJAM4IAgkBBmNvbW1vbgQFBW5mdElkCAUBaQhwYXltZW50cwUNYWRkZWRDYXBhY2l0eQUOcmVmZXJlckFkZHJlc3MFDHZhbGlkUGF5bWVudAkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgECdHgBBnZlcmlmeQADCQEJaXNUZXN0RW52AAkA9AMDCAUCdHgJYm9keUJ5dGVzCQCRAwIIBQJ0eAZwcm9vZnMAAAgFAnR4D3NlbmRlclB1YmxpY0tleQQJZmlyc3RVc2VyASBRHOT9Zv8SadLxWhSfO7Li9Dt/wctoJ6I0Xmw411fdbQQKc2Vjb25kVXNlcgEgXHIOS67xIU9m5hlF+mqise2xNilZXxnMzLDhTUGIan0ECXRoaXJkVXNlcgEgoK+R5S15Q2FhMhKtjrn6GFlRnS1TSTbD0KP3qGAZO04ED2ZpcnN0VXNlclNpZ25lZAMJAPQDAwgFAnR4CWJvZHlCeXRlcwkAkQMCCAUCdHgGcHJvb2ZzAAAFCWZpcnN0VXNlcgABAwkA9AMDCAUCdHgJYm9keUJ5dGVzCQCRAwIIBQJ0eAZwcm9vZnMAAQUJZmlyc3RVc2VyAAEDCQD0AwMIBQJ0eAlib2R5Qnl0ZXMJAJEDAggFAnR4BnByb29mcwACBQlmaXJzdFVzZXIAAQAABBBzZWNvbmRVc2VyU2lnbmVkAwkA9AMDCAUCdHgJYm9keUJ5dGVzCQCRAwIIBQJ0eAZwcm9vZnMAAAUKc2Vjb25kVXNlcgABAwkA9AMDCAUCdHgJYm9keUJ5dGVzCQCRAwIIBQJ0eAZwcm9vZnMAAQUKc2Vjb25kVXNlcgABAwkA9AMDCAUCdHgJYm9keUJ5dGVzCQCRAwIIBQJ0eAZwcm9vZnMAAgUKc2Vjb25kVXNlcgABAAAED3RoaXJkVXNlclNpZ25lZAMJAPQDAwgFAnR4CWJvZHlCeXRlcwkAkQMCCAUCdHgGcHJvb2ZzAAAFCXRoaXJkVXNlcgABAwkA9AMDCAUCdHgJYm9keUJ5dGVzCQCRAwIIBQJ0eAZwcm9vZnMAAQUJdGhpcmRVc2VyAAEDCQD0AwMIBQJ0eAlib2R5Qnl0ZXMJAJEDAggFAnR4BnByb29mcwACBQl0aGlyZFVzZXIAAQAABA9zaWduYXR1cmVzQ291bnQJAGQCCQBkAgUPZmlyc3RVc2VyU2lnbmVkBRBzZWNvbmRVc2VyU2lnbmVkBQ90aGlyZFVzZXJTaWduZWQEByRtYXRjaDAFAnR4CQBnAgUPc2lnbmF0dXJlc0NvdW50AAJhC62i", "height": 3316721, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: none Next: none Full:
Old | New | Differences | |
---|---|---|---|
1 | - | # no script | |
1 | + | {-# STDLIB_VERSION 6 #-} | |
2 | + | {-# SCRIPT_TYPE ACCOUNT #-} | |
3 | + | {-# CONTENT_TYPE DAPP #-} | |
4 | + | let a = 2000000 | |
5 | + | ||
6 | + | let b = 1 | |
7 | + | ||
8 | + | let c = 3 | |
9 | + | ||
10 | + | func d () = { | |
11 | + | let e = { | |
12 | + | let f = getBoolean(this, "TESTENV") | |
13 | + | if ($isInstanceOf(f, "Boolean")) | |
14 | + | then { | |
15 | + | let g = f | |
16 | + | g | |
17 | + | } | |
18 | + | else false | |
19 | + | } | |
20 | + | e | |
21 | + | } | |
22 | + | ||
23 | + | ||
24 | + | func h (i) = ("added_capacity_" + i) | |
25 | + | ||
26 | + | ||
27 | + | func j (k,l) = { | |
28 | + | let f = getString(k, l) | |
29 | + | if ($isInstanceOf(f, "String")) | |
30 | + | then { | |
31 | + | let m = f | |
32 | + | m | |
33 | + | } | |
34 | + | else "" | |
35 | + | } | |
36 | + | ||
37 | + | ||
38 | + | func n (l) = j(this, l) | |
39 | + | ||
40 | + | ||
41 | + | func o (l) = { | |
42 | + | let f = getInteger(this, l) | |
43 | + | if ($isInstanceOf(f, "Int")) | |
44 | + | then { | |
45 | + | let p = f | |
46 | + | p | |
47 | + | } | |
48 | + | else 0 | |
49 | + | } | |
50 | + | ||
51 | + | ||
52 | + | func q (r) = { | |
53 | + | let f = r | |
54 | + | if ($isInstanceOf(f, "Int")) | |
55 | + | then { | |
56 | + | let s = f | |
57 | + | s | |
58 | + | } | |
59 | + | else throw("wrong type, expected: Int") | |
60 | + | } | |
61 | + | ||
62 | + | ||
63 | + | func t (r) = { | |
64 | + | let f = r | |
65 | + | if ($isInstanceOf(f, "Boolean")) | |
66 | + | then { | |
67 | + | let u = f | |
68 | + | u | |
69 | + | } | |
70 | + | else throw("CAB: wrong type, expected: Boolean") | |
71 | + | } | |
72 | + | ||
73 | + | ||
74 | + | func v () = "static_oracleAddress" | |
75 | + | ||
76 | + | ||
77 | + | func w () = "static_extraFee" | |
78 | + | ||
79 | + | ||
80 | + | func x () = "static_breederAddress" | |
81 | + | ||
82 | + | ||
83 | + | func y () = "static_huntAddress" | |
84 | + | ||
85 | + | ||
86 | + | func z () = "static_eggAssetId" | |
87 | + | ||
88 | + | ||
89 | + | func A () = "static_feeAggregator" | |
90 | + | ||
91 | + | ||
92 | + | func B () = "static_couponsAddress" | |
93 | + | ||
94 | + | ||
95 | + | func C () = "static_refContractAddress" | |
96 | + | ||
97 | + | ||
98 | + | func D () = "static_burnAddress" | |
99 | + | ||
100 | + | ||
101 | + | func E () = Address(fromBase58String(n(v()))) | |
102 | + | ||
103 | + | ||
104 | + | func F () = Address(fromBase58String(j(E(), B()))) | |
105 | + | ||
106 | + | ||
107 | + | func G () = fromBase58String(j(E(), z())) | |
108 | + | ||
109 | + | ||
110 | + | func H (i) = o(h(i)) | |
111 | + | ||
112 | + | ||
113 | + | func I () = Address(fromBase58String(j(E(), x()))) | |
114 | + | ||
115 | + | ||
116 | + | func J () = Address(fromBase58String(j(E(), y()))) | |
117 | + | ||
118 | + | ||
119 | + | func K () = Address(fromBase58String(j(E(), A()))) | |
120 | + | ||
121 | + | ||
122 | + | func L () = Address(fromBase58String(j(E(), C()))) | |
123 | + | ||
124 | + | ||
125 | + | func M () = Address(fromBase58String(j(E(), D()))) | |
126 | + | ||
127 | + | ||
128 | + | func N (O) = (("duck_" + O) + "_owner") | |
129 | + | ||
130 | + | ||
131 | + | func P (Q,R,S,T) = { | |
132 | + | let U = q(invoke(I(), "validateAndGetChildren", [Q], nil)) | |
133 | + | if ((U == U)) | |
134 | + | then { | |
135 | + | let V = H(Q) | |
136 | + | let W = (V + S) | |
137 | + | let X = q(invoke(this, "calculateDiffEggs", [V, W], nil)) | |
138 | + | if ((X == X)) | |
139 | + | then { | |
140 | + | let Y = q(invoke(F(), "useCoupons", [X], nil)) | |
141 | + | if ((Y == Y)) | |
142 | + | then { | |
143 | + | let Z = (X - Y) | |
144 | + | let aa = if ((Z != 0)) | |
145 | + | then { | |
146 | + | let ab = value(R[(size(R) - 1)]) | |
147 | + | if ((ab.assetId != G())) | |
148 | + | then throw(("CBR: You can attach only EGG tokens with the following asset id: " + toBase58String(G()))) | |
149 | + | else if ((ab.amount != Z)) | |
150 | + | then throw(("CBR: To breed you currently need the following amount of EGGlets: " + toString(Z))) | |
151 | + | else { | |
152 | + | let ac = fraction(Z, 5, 100) | |
153 | + | let ad = t(invoke(L(), "refPayment", [T], [AttachedPayment(G(), ac)])) | |
154 | + | if ((ad == ad)) | |
155 | + | then { | |
156 | + | let ae = if (ad) | |
157 | + | then (Z - ac) | |
158 | + | else Z | |
159 | + | let af = invoke(M(), "burnAttachedPayments", nil, [AttachedPayment(G(), ae)]) | |
160 | + | if ((af == af)) | |
161 | + | then Z | |
162 | + | else throw("Strict value is not equal to itself.") | |
163 | + | } | |
164 | + | else throw("Strict value is not equal to itself.") | |
165 | + | } | |
166 | + | } | |
167 | + | else 0 | |
168 | + | if ((aa == aa)) | |
169 | + | then { | |
170 | + | let ag = makeString([("oldCapacity=" + toString(V)), ("newCapacity=" + toString(W)), ("diffCapacity=" + toString(S)), ("diffPaid=" + toString(X))], ";") | |
171 | + | [IntegerEntry(h(Q), W), StringEntry(((h(Q) + "_debug_") + toString(height)), ag)] | |
172 | + | } | |
173 | + | else throw("Strict value is not equal to itself.") | |
174 | + | } | |
175 | + | else throw("Strict value is not equal to itself.") | |
176 | + | } | |
177 | + | else throw("Strict value is not equal to itself.") | |
178 | + | } | |
179 | + | else throw("Strict value is not equal to itself.") | |
180 | + | } | |
181 | + | ||
182 | + | ||
183 | + | func ah (ai) = if (isDefined(ai.assetId)) | |
184 | + | then throw("CCAP: Please attach waves") | |
185 | + | else { | |
186 | + | let aj = getIntegerValue(E(), w()) | |
187 | + | if ((ai.amount != aj)) | |
188 | + | then throw((("CCAP: Please attach exactly " + toString(aj)) + " amount of wavelets")) | |
189 | + | else [ScriptTransfer(K(), aj, unit)] | |
190 | + | } | |
191 | + | ||
192 | + | ||
193 | + | @Callable(ak) | |
194 | + | func configureOracle (al) = if ((ak.caller != this)) | |
195 | + | then throw("CCO: admin only") | |
196 | + | else [StringEntry(v(), al)] | |
197 | + | ||
198 | + | ||
199 | + | ||
200 | + | @Callable(ak) | |
201 | + | func calculateTotalPriceEggs (am) = { | |
202 | + | let an = (pow((1000 + b), c, (am + 1), 0, 8, HALFUP) - 100000000) | |
203 | + | let ao = (((a * an) / b) / 100000) | |
204 | + | $Tuple2([IntegerEntry(("PRICE_CALCULATION_POW_" + toString(am)), an), IntegerEntry(("PRICE_CALCULATION_" + toString(am)), ao)], ao) | |
205 | + | } | |
206 | + | ||
207 | + | ||
208 | + | ||
209 | + | @Callable(ak) | |
210 | + | func calculateDiffEggs (ap,aq) = { | |
211 | + | let ar = q(invoke(this, "calculateTotalPriceEggs", [ap], nil)) | |
212 | + | if ((ar == ar)) | |
213 | + | then { | |
214 | + | let as = q(invoke(this, "calculateTotalPriceEggs", [aq], nil)) | |
215 | + | if ((as == as)) | |
216 | + | then { | |
217 | + | let X = (as - ar) | |
218 | + | let ag = makeString([("oldPaid=" + toString(ar)), ("newPaid=" + toString(as))], ";") | |
219 | + | $Tuple2([StringEntry("DEBUG_CALCULATIONS", ag)], X) | |
220 | + | } | |
221 | + | else throw("Strict value is not equal to itself.") | |
222 | + | } | |
223 | + | else throw("Strict value is not equal to itself.") | |
224 | + | } | |
225 | + | ||
226 | + | ||
227 | + | ||
228 | + | @Callable(ak) | |
229 | + | func addCapacityToDuck (S,T) = { | |
230 | + | let at = value(ak.payments[0]) | |
231 | + | let au = ah(ak.payments[1]) | |
232 | + | let av = toBase58String(value(at.assetId)) | |
233 | + | let aw = invoke(F(), "recordAction", ["RECHARGE"], nil) | |
234 | + | if ((aw == aw)) | |
235 | + | then if ((at.amount != 1)) | |
236 | + | then throw("NFT is not attached") | |
237 | + | else ((P(av, ak.payments, S, T) ++ [ScriptTransfer(ak.caller, 1, value(at.assetId))]) ++ au) | |
238 | + | else throw("Strict value is not equal to itself.") | |
239 | + | } | |
240 | + | ||
241 | + | ||
242 | + | ||
243 | + | @Callable(ak) | |
244 | + | func addCapacityToDuckInHunt (Q,S,T) = { | |
245 | + | let ax = j(J(), N(Q)) | |
246 | + | let au = ah(ak.payments[0]) | |
247 | + | let aw = invoke(F(), "recordAction", ["RECHARGE"], nil) | |
248 | + | if ((aw == aw)) | |
249 | + | then if ((ax != toString(ak.caller))) | |
250 | + | then throw("CBR: You can only add capacity to own ducks!") | |
251 | + | else (P(Q, ak.payments, S, T) ++ au) | |
252 | + | else throw("Strict value is not equal to itself.") | |
253 | + | } | |
254 | + | ||
255 | + | ||
256 | + | @Verifier(ay) | |
257 | + | func az () = if (d()) | |
258 | + | then sigVerify(ay.bodyBytes, ay.proofs[0], ay.senderPublicKey) | |
259 | + | else { | |
260 | + | let aA = base58'6TdaXEfhnjYquvPf3yV7MFxt2CbgFmaqsvGwkKfXtKi4' | |
261 | + | let aB = base58'7DsP2WaMLocbHuUxux7pbXRjTrrZ1TFQPsi5QumS3gr8' | |
262 | + | let aC = base58'BpFWP3p3JgYrrP45xfrKzeMcWMEXoinj4FVPPkUiA8D3' | |
263 | + | let aD = if (sigVerify(ay.bodyBytes, ay.proofs[0], aA)) | |
264 | + | then 1 | |
265 | + | else if (sigVerify(ay.bodyBytes, ay.proofs[1], aA)) | |
266 | + | then 1 | |
267 | + | else if (sigVerify(ay.bodyBytes, ay.proofs[2], aA)) | |
268 | + | then 1 | |
269 | + | else 0 | |
270 | + | let aE = if (sigVerify(ay.bodyBytes, ay.proofs[0], aB)) | |
271 | + | then 1 | |
272 | + | else if (sigVerify(ay.bodyBytes, ay.proofs[1], aB)) | |
273 | + | then 1 | |
274 | + | else if (sigVerify(ay.bodyBytes, ay.proofs[2], aB)) | |
275 | + | then 1 | |
276 | + | else 0 | |
277 | + | let aF = if (sigVerify(ay.bodyBytes, ay.proofs[0], aC)) | |
278 | + | then 1 | |
279 | + | else if (sigVerify(ay.bodyBytes, ay.proofs[1], aC)) | |
280 | + | then 1 | |
281 | + | else if (sigVerify(ay.bodyBytes, ay.proofs[2], aC)) | |
282 | + | then 1 | |
283 | + | else 0 | |
284 | + | let aG = ((aD + aE) + aF) | |
285 | + | let f = ay | |
286 | + | (aG >= 2) | |
287 | + | } | |
288 | + |
github/deemru/w8io/c3f4982 15.31 ms ◑