tx · FdwuGHCoYnXwiGMvnvDUz9ePGA24hsURG8Hm8L2q5uf6

3N5UweaCwk6K5PZ2g8nfVuK4zDnpayfoHLD:  -0.01300000 Waves

2024.10.07 20:23 [3316718] smart account 3N5UweaCwk6K5PZ2g8nfVuK4zDnpayfoHLD > SELF 0.00000000 Waves

{ "type": 13, "id": "FdwuGHCoYnXwiGMvnvDUz9ePGA24hsURG8Hm8L2q5uf6", "fee": 1300000, "feeAssetId": null, "timestamp": 1728321815751, "version": 2, "chainId": 84, "sender": "3N5UweaCwk6K5PZ2g8nfVuK4zDnpayfoHLD", "senderPublicKey": "4BC9YSFztjgMg9nqBHTu2DiSzyLSUbmnBYgW5DSRwctE", "proofs": [ "LD7zCu6dF4MwsZLcEPHUkUBFvwGh47vv2UF54uRePqfCkPdxVC8M7ztQSdtGt82KvRPuTsk2aAE8ooCNRCdYiBG" ], "script": "base64:BgIWCAISAwoBCBIGCgQICAEIEgMKAQgSACIBF3N0YXRpY0tleV9vcmFjbGVBZGRyZXNzAAIUc3RhdGljX29yYWNsZUFkZHJlc3MBEnN0YXRpY0tleV9leHRyYUZlZQACD3N0YXRpY19leHRyYUZlZQEWc3RhdGljS2V5X3NwaWNlQXNzZXRJZAACE3N0YXRpY19zcGljZUFzc2V0SWQBGHN0YXRpY0tleV9icmVlZGVyQWRkcmVzcwACFXN0YXRpY19icmVlZGVyQWRkcmVzcwEXc3RhdGljS2V5X2ZlZUFnZ3JlZ2F0b3IAAhRzdGF0aWNfZmVlQWdncmVnYXRvcgEec3RhdGljS2V5X3R1cnRsZVN0YWtpbmdBZGRyZXNzAAIbc3RhdGljX3R1cnRsZVN0YWtpbmdBZGRyZXNzARR0cnlHZXRTdHJpbmdFeHRlcm5hbAIHYWRkcmVzcwNrZXkEByRtYXRjaDAJAJ0IAgUHYWRkcmVzcwUDa2V5AwkAAQIFByRtYXRjaDACBlN0cmluZwQBYQUHJG1hdGNoMAUBYQIAAQ5rZXlCbGFja2xpc3RlZAEKZHVja2xpbmdJZAkArAICCQCsAgICCWR1Y2tsaW5nXwUKZHVja2xpbmdJZAIMX2JsYWNrbGlzdGVkARV0cnlHZXRJbnRlZ2VyRXh0ZXJuYWwCB2FkZHJlc3MDa2V5BAckbWF0Y2gwCQCaCAIFB2FkZHJlc3MFA2tleQMJAAECBQckbWF0Y2gwAgNJbnQEAWIFByRtYXRjaDAFAWIAAAEMdHJ5R2V0U3RyaW5nAQNrZXkJARR0cnlHZXRTdHJpbmdFeHRlcm5hbAIFBHRoaXMFA2tleQEJZ2V0T3JhY2xlAAkBB0FkZHJlc3MBCQDZBAEJAQx0cnlHZXRTdHJpbmcBCQEXc3RhdGljS2V5X29yYWNsZUFkZHJlc3MAAQ9nZXRTcGljZUFzc2V0SWQACQDZBAEJARR0cnlHZXRTdHJpbmdFeHRlcm5hbAIJAQlnZXRPcmFjbGUACQEWc3RhdGljS2V5X3NwaWNlQXNzZXRJZAABEWdldEJyZWVkZXJBZGRyZXNzAAkBB0FkZHJlc3MBCQDZBAEJARR0cnlHZXRTdHJpbmdFeHRlcm5hbAIJAQlnZXRPcmFjbGUACQEYc3RhdGljS2V5X2JyZWVkZXJBZGRyZXNzAAEQZ2V0RmVlQWdncmVnYXRvcgAJAQdBZGRyZXNzAQkA2QQBCQEUdHJ5R2V0U3RyaW5nRXh0ZXJuYWwCCQEJZ2V0T3JhY2xlAAkBF3N0YXRpY0tleV9mZWVBZ2dyZWdhdG9yAAEXZ2V0VHVydGxlU3Rha2luZ0FkZHJlc3MACQEHQWRkcmVzcwEJANkEAQkBFHRyeUdldFN0cmluZ0V4dGVybmFsAgkBCWdldE9yYWNsZQAJAR5zdGF0aWNLZXlfdHVydGxlU3Rha2luZ0FkZHJlc3MAARZjaGVja0FkZGl0aW9uYWxQYXltZW50AQdwYXltZW50AwkBCWlzRGVmaW5lZAEIBQdwYXltZW50B2Fzc2V0SWQJAAIBAhpCRENBUDogUGxlYXNlIGF0dGFjaCB3YXZlcwQJZmVlQW1vdW50CQERQGV4dHJOYXRpdmUoMTA1MCkCCQEJZ2V0T3JhY2xlAAkBEnN0YXRpY0tleV9leHRyYUZlZQADCQECIT0CCAUHcGF5bWVudAZhbW91bnQFCWZlZUFtb3VudAkAAgEJAKwCAgkArAICAh1CRENBUDogUGxlYXNlIGF0dGFjaCBleGFjdGx5IAkApAMBBQlmZWVBbW91bnQCEyBhbW91bnQgb2Ygd2F2ZWxldHMJAMwIAgkBDlNjcmlwdFRyYW5zZmVyAwkBEGdldEZlZUFnZ3JlZ2F0b3IABQlmZWVBbW91bnQFBHVuaXQFA25pbAAWS0dsb2JhbElzc3VlZFRpbWVzdGFtcAIXZ2xvYmFsX2lzc3VlZF90aW1lc3RhbXABDGtleVRvdGFsRmVlZAEKZHVja2xpbmdJZAkArAICCQCsAgICCWR1Y2tsaW5nXwUKZHVja2xpbmdJZAIFX2ZlZWQBBmtleUdlbgEKZHVja2xpbmdJZAkArAICCQCsAgICCWR1Y2tsaW5nXwUKZHVja2xpbmdJZAIEX2dlbgENa2V5RmVlZE5lZWRlZAEKZHVja2xpbmdJZAkArAICCQCsAgICCWR1Y2tsaW5nXwUKZHVja2xpbmdJZAILX2ZlZWROZWVkZWQBEGdldER1Y2tsaW5nUHJpY2UBCmR1Y2tsaW5nSWQEA2tleQkBDWtleUZlZWROZWVkZWQBBQpkdWNrbGluZ0lkBAckbWF0Y2gwCQCaCAIFBHRoaXMFA2tleQMJAAECBQckbWF0Y2gwAgNJbnQEAWIFByRtYXRjaDAJAGgCBQFiAIDC1y8AgKDZ5h0BG2tleUR1Y2tsaW5nRmVkTGFzdFRpbWVzdGFtcAEKZHVja2xpbmdJZAkArAICCQCsAgICCWR1Y2tsaW5nXwUKZHVja2xpbmdJZAIKX2ZlZExhc3RUcwEQa2V5RHVja2xpbmdMZXZlbAEKZHVja2xpbmdJZAkArAICCQCsAgICCWR1Y2tsaW5nXwUKZHVja2xpbmdJZAIGX2xldmVsARBrZXlEdWNrbGluZ0dyb3duAQpkdWNrbGluZ0lkCQCsAgIJAKwCAgIJZHVja2xpbmdfBQpkdWNrbGluZ0lkAgZfZ3Jvd24BEmtleVN0YXJ0UGVyY2VudGFnZQEKZHVja2xpbmdJZAkArAICCQCsAgICCWR1Y2tsaW5nXwUKZHVja2xpbmdJZAIQX3N0YXJ0UGVyY2VudGFnZQEIa2V5T3duZXIBCmR1Y2tsaW5nSWQJAKwCAgkArAICAglkdWNrbGluZ18FCmR1Y2tsaW5nSWQCBl9vd25lcgENdHJ5R2V0SW50ZWdlcgEDa2V5BAN2YWwEByRtYXRjaDAJAJoIAgUEdGhpcwUDa2V5AwkAAQIFByRtYXRjaDACA0ludAQBYgUHJG1hdGNoMAUBYgAABQN2YWwBB2dldEJvb2wBA2tleQQHJG1hdGNoMAkAmwgCBQR0aGlzBQNrZXkDCQABAgUHJG1hdGNoMAIHQm9vbGVhbgQBYgUHJG1hdGNoMAUBYgcBEmdldEN1cnJlbnRMZXZlbEludAEKZHVja2xpbmdJZAQKa0R1Y2tMZXZlbAkBEGtleUR1Y2tsaW5nTGV2ZWwBBQpkdWNrbGluZ0lkBAckbWF0Y2gwCQCiCAEFCmtEdWNrTGV2ZWwDCQABAgUHJG1hdGNoMAIGU3RyaW5nBAFzBQckbWF0Y2gwCQENcGFyc2VJbnRWYWx1ZQEFAXMDCQABAgUHJG1hdGNoMAIEVW5pdAQBdQUHJG1hdGNoMAAACQACAQIdQkdDTEJJOiBXZWlyZCB2YWx1ZSBkZXRlY3RlZCEBE2dldExhc3RGZWRUaW1lc3RhbXABCmR1Y2tsaW5nSWQEEGxhc3RGZWRUaW1lc3RhbXAJAQ10cnlHZXRJbnRlZ2VyAQkBG2tleUR1Y2tsaW5nRmVkTGFzdFRpbWVzdGFtcAEFCmR1Y2tsaW5nSWQDCQBmAgUQbGFzdEZlZFRpbWVzdGFtcAAABRBsYXN0RmVkVGltZXN0YW1wCAUJbGFzdEJsb2NrCXRpbWVzdGFtcAEZY2FsY3VsYXRlTmV3RHVja2xpbmdMZXZlbAIKZHVja2xpbmdJZA1wYXltZW50QW1vdW50BAljdXJyZW50VHMIBQlsYXN0QmxvY2sJdGltZXN0YW1wBBdsYXN0RmVkVGltZXN0YW1wQ2hlY2tlZAkBE2dldExhc3RGZWRUaW1lc3RhbXABBQpkdWNrbGluZ0lkBAdmZWREaWZmCQBlAgUJY3VycmVudFRzBRdsYXN0RmVkVGltZXN0YW1wQ2hlY2tlZAQGZ3Jvd3RoBQ1wYXltZW50QW1vdW50BAxjdXJyZW50TGV2ZWwJARJnZXRDdXJyZW50TGV2ZWxJbnQBBQpkdWNrbGluZ0lkBAhuZXdMZXZlbAkAZAIFDGN1cnJlbnRMZXZlbAUNcGF5bWVudEFtb3VudAMJAGYCBQhuZXdMZXZlbAkBEGdldER1Y2tsaW5nUHJpY2UBBQpkdWNrbGluZ0lkCQACAQkArAICCQCsAgICM0JDTkRMOiBZb3UgYXJlIGZlZWRpbmcgeW91ciBkdWNrbGluZyB0byBtdWNoISBPbmx5IAkApAMBCQBlAgkBEGdldER1Y2tsaW5nUHJpY2UBBQpkdWNrbGluZ0lkBQxjdXJyZW50TGV2ZWwCB25lZWRlZCEEBnJlc3VsdAkApAMBBQhuZXdMZXZlbAkAlAoCBQZyZXN1bHQJAMwIAgkArAICAg1jdXJyZW50TGV2ZWw9CQCkAwEFDGN1cnJlbnRMZXZlbAkAzAgCCQCsAgICCW5ld0xldmVsPQkApAMBBQhuZXdMZXZlbAkAzAgCCQCsAgICB2dyb3d0aD0JAKQDAQUGZ3Jvd3RoCQDMCAIJAKwCAgIKbGFzdEZlZFRzPQkApAMBBRdsYXN0RmVkVGltZXN0YW1wQ2hlY2tlZAkAzAgCCQCsAgICCGZlZERpZmY9CQCkAwEFB2ZlZERpZmYFA25pbAEFYXNJbnQBBXZhbHVlBAckbWF0Y2gwBQV2YWx1ZQMJAAECBQckbWF0Y2gwAgNJbnQEA2ludAUHJG1hdGNoMAUDaW50CQACAQIeQkFJOiB3cm9uZyB0eXBlLCBleHBlY3RlZDogSW50AQ10cnlHZXRCb29sZWFuAQNrZXkEByRtYXRjaDAJAKAIAQUDa2V5AwkAAQIFByRtYXRjaDACB0Jvb2xlYW4EAWIFByRtYXRjaDAFAWIHAQlpc1Rlc3RFbnYACQEHZ2V0Qm9vbAECB1RFU1RFTlYEAWkBD2NvbmZpZ3VyZU9yYWNsZQEGb3JhY2xlAwkBAiE9AggFAWkGY2FsbGVyBQR0aGlzCQACAQIPQkNPOiBhZG1pbiBvbmx5CQDMCAIJAQtTdHJpbmdFbnRyeQICFHN0YXRpY19vcmFjbGVBZGRyZXNzBQZvcmFjbGUFA25pbAFpAQ1pc3N1ZUR1Y2tsaW5nBAdhZGRyZXNzB3R4SWRTdHILc3BpY2VBbW91bnQDZ2VuAwkBAiE9AggFAWkGY2FsbGVyCQERZ2V0QnJlZWRlckFkZHJlc3MACQACAQIiQklEOiBZb3UgY2FuJ3QgaXNzdWUgZnJlZSBkdWNrbGluZwQFYXNzZXQJAMMIBwIQQkFCWS0xMTExMTExMS1IWgIAAAEAAAcFBHVuaXQFBmhlaWdodAQHYXNzZXRJZAkAuAgBBQVhc3NldAkAlAoCCQDMCAIJAQtTdHJpbmdFbnRyeQIJAKwCAgkArAICCQCsAgIFB2FkZHJlc3MCAV8FB3R4SWRTdHICA19kaQkA2AQBBQdhc3NldElkCQDMCAIJAQxJbnRlZ2VyRW50cnkCAgxzdGF0c19hbW91bnQJAGQCCQENdHJ5R2V0SW50ZWdlcgECDHN0YXRzX2Ftb3VudAABCQDMCAIJAQxCb29sZWFuRW50cnkCCQCsAgIJAKwCAgIJZHVja2xpbmdfCQDYBAEFB2Fzc2V0SWQCEV9pc3N1ZWRCeUZlZWRDYWxsCQAAAggFAWkGY2FsbGVyBQR0aGlzCQDMCAIJAQxJbnRlZ2VyRW50cnkCCQESa2V5U3RhcnRQZXJjZW50YWdlAQkA2AQBBQdhc3NldElkAAAJAMwIAgkBC1N0cmluZ0VudHJ5AgkBCGtleU93bmVyAQkA2AQBBQdhc3NldElkBQdhZGRyZXNzCQDMCAIJAQtTdHJpbmdFbnRyeQIJAQZrZXlHZW4BCQDYBAEFB2Fzc2V0SWQFA2dlbgkAzAgCCQEMSW50ZWdlckVudHJ5AgkBDWtleUZlZWROZWVkZWQBCQDYBAEFB2Fzc2V0SWQFC3NwaWNlQW1vdW50CQDMCAIFBWFzc2V0CQDMCAIJAQ5TY3JpcHRUcmFuc2ZlcgMJAQV2YWx1ZQEJAKYIAQUHYWRkcmVzcwABBQdhc3NldElkBQNuaWwJANgEAQUHYXNzZXRJZAFpAQxmZWVkRHVja2xpbmcBCmR1Y2tsaW5nSWQEDWFkZHJlc3NTdHJpbmcJAKUIAQgFAWkGY2FsbGVyBA5yZWFsRHVja2xpbmdJZAMDCQECIT0CCQCQAwEIBQFpCHBheW1lbnRzAAIGCQECIT0CCAkBBXZhbHVlAQkAkQMCCAUBaQhwYXltZW50cwAAB2Fzc2V0SWQJAQ9nZXRTcGljZUFzc2V0SWQACQACAQIuQkZEOiBCYWQgcGF5bWVudCBhdHRhY2hlZCAoYXNzZXRbc10gb3IgYW1vdW50KQQLYmxhY2tMaXN0ZWQJAQ10cnlHZXRCb29sZWFuAQkBDmtleUJsYWNrbGlzdGVkAQUKZHVja2xpbmdJZAMFC2JsYWNrTGlzdGVkCQACAQInQkZEOiBDYW4gbm90IGZlZWQgYmxhY2tsaXN0ZWQgZHVja2xpbmchAwkBB2dldEJvb2wBCQEQa2V5RHVja2xpbmdHcm93bgEFCmR1Y2tsaW5nSWQJAAIBAh5CRkQ6IER1Y2tsaW5nIGlzIGFscmVhZHkgZ3Jvd24DCQAAAgUKZHVja2xpbmdJZAIACQACAQIjQkZEOiBQbGVhc2UgaGF0Y2ggYSBkdWNrbGluZyBmaXJzdCEEDWR1Y2tsaW5nT3duZXIJAQx0cnlHZXRTdHJpbmcBCQEIa2V5T3duZXIBBQpkdWNrbGluZ0lkBA9kdWNrbGluZ0lkQ2hlY2sJAQV2YWx1ZQEJAOwHAQkA2QQBBQpkdWNrbGluZ0lkAwkBAiE9AgkA8AcCCAUBaQZjYWxsZXIIBQ9kdWNrbGluZ0lkQ2hlY2sCaWQAAQkAAgECKUJGRDogWW91J3JlIG5vdCB0aGUgb3duZXIgb2YgdGhlIGR1Y2tsaW5nAwkBAiE9AgUNZHVja2xpbmdPd25lcgkApQgBCAUBaQZjYWxsZXIJAAIBAj5CRkQ6IFlvdSBjYW4gb25seSBmZWVkIGR1Y2tsaW5ncyB0aGF0IHlvdSB3b24vYm91Z2h0IHlvdXJzZWxmIQMJAQIhPQIIBQ9kdWNrbGluZ0lkQ2hlY2sGaXNzdWVyBQR0aGlzCQACAQIkQkZEOiBDYW50IGZpbmQgZHVja2xpbmcgd2l0aCBzdWNoIGlkBBBkdWNrbGluZ0lkU3RyaW5nCQDYBAEIBQ9kdWNrbGluZ0lkQ2hlY2sCaWQFEGR1Y2tsaW5nSWRTdHJpbmcEEmtEdWNrbGluZ0xhc3RGZWRUcwkBG2tleUR1Y2tsaW5nRmVkTGFzdFRpbWVzdGFtcAEFCmR1Y2tsaW5nSWQEDmN1cnJlbnRQYXltZW50CAkBBXZhbHVlAQkAkQMCCAUBaQhwYXltZW50cwAABmFtb3VudAQJa05ld0xldmVsCQEQa2V5RHVja2xpbmdMZXZlbAEFDnJlYWxEdWNrbGluZ0lkBAprVG90YWxGZWVkCQEMa2V5VG90YWxGZWVkAQUOcmVhbER1Y2tsaW5nSWQECXRvdGFsRmVlZAkBDXRyeUdldEludGVnZXIBBQprVG90YWxGZWVkBAxrRmVlZFR4U3RhdHMJAKwCAgkArAICCQCsAgICCWR1Y2tsaW5nXwUOcmVhbER1Y2tsaW5nSWQCBl9zdGF0XwkApAMBCAUJbGFzdEJsb2NrCXRpbWVzdGFtcAQNdmFsaWRQYXltZW50cwkBFmNoZWNrQWRkaXRpb25hbFBheW1lbnQBCQCRAwIIBQFpCHBheW1lbnRzAAEDCQAAAgUNdmFsaWRQYXltZW50cwUNdmFsaWRQYXltZW50cwQQY2FsY3VsYXRlUmVzdWx0cwkBGWNhbGN1bGF0ZU5ld0R1Y2tsaW5nTGV2ZWwCBQ5yZWFsRHVja2xpbmdJZAUOY3VycmVudFBheW1lbnQEBXRvcHVwCQD8BwQJARdnZXRUdXJ0bGVTdGFraW5nQWRkcmVzcwACC3RvcFVwUmV3YXJkBQNuaWwJAMwIAgkBD0F0dGFjaGVkUGF5bWVudAIJAQ9nZXRTcGljZUFzc2V0SWQACQBpAgUOY3VycmVudFBheW1lbnQAAgUDbmlsAwkAAAIFBXRvcHVwBQV0b3B1cAkAzggCCQDMCAIJAQxJbnRlZ2VyRW50cnkCBRJrRHVja2xpbmdMYXN0RmVkVHMIBQlsYXN0QmxvY2sJdGltZXN0YW1wCQDMCAIJAQxJbnRlZ2VyRW50cnkCBQprVG90YWxGZWVkCQBkAgUJdG90YWxGZWVkBQ5jdXJyZW50UGF5bWVudAkAzAgCCQEMSW50ZWdlckVudHJ5AgUMa0ZlZWRUeFN0YXRzBQ5jdXJyZW50UGF5bWVudAkAzAgCCQELU3RyaW5nRW50cnkCBQlrTmV3TGV2ZWwIBRBjYWxjdWxhdGVSZXN1bHRzAl8xCQDMCAIJAQtTdHJpbmdFbnRyeQIJAKwCAgUMa0ZlZWRUeFN0YXRzAgZfZGVidWcJALkJAggFEGNhbGN1bGF0ZVJlc3VsdHMCXzICATsJAMwIAgkBBEJ1cm4CCQEPZ2V0U3BpY2VBc3NldElkAAkAaQIFDmN1cnJlbnRQYXltZW50AAIFA25pbAUNdmFsaWRQYXltZW50cwkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgFpARR0dXJuRHVja2xpbmdJbnRvRHVjawAEDXZhbGlkUGF5bWVudHMJARZjaGVja0FkZGl0aW9uYWxQYXltZW50AQkAkQMCCAUBaQhwYXltZW50cwABAwkAAAIFDXZhbGlkUGF5bWVudHMFDXZhbGlkUGF5bWVudHMDCQECIT0CCAUBaQZjYWxsZXIJARFnZXRCcmVlZGVyQWRkcmVzcwAJAAIBAh5CVERJVDogWW91IGNhbid0IHR1cm4gZHVja2xpbmcEB2FkZHJlc3MJAKUIAQgFAWkGY2FsbGVyBAR0eElkCQDYBAEIBQFpDXRyYW5zYWN0aW9uSWQEFGxhc3RJc3N1ZWREdWNrbGluZ1RzCQENdHJ5R2V0SW50ZWdlcgEFFktHbG9iYWxJc3N1ZWRUaW1lc3RhbXAEC2ZpdmVNaW5Jbk1zCQBoAgkAaAIAAQA8AOgHBAh0aW1lRGlmZgkAZQIIBQlsYXN0QmxvY2sJdGltZXN0YW1wCQBkAgUUbGFzdElzc3VlZER1Y2tsaW5nVHMFC2ZpdmVNaW5Jbk1zAwMJAGYCBRRsYXN0SXNzdWVkRHVja2xpbmdUcwAACQBmAgAABQh0aW1lRGlmZgcJAAIBCQCsAgIJAKwCAgJEQlRESVQ6IENhbiBpc3N1ZSBkdWNrbGluZ3Mgb25seSBvbmNlIHBlciAxIG1pbnV0ZXMsIHBsZWFzZSB3YWl0IGZvciAJAKQDAQkAawMFCHRpbWVEaWZmAAEA6AcCBSBzZWMuAwkBAiE9AgkAkAMBCAUBaQhwYXltZW50cwACCQACAQIwQlRESVQ6IEJhZCBwYXltZW50IGF0dGFjaGVkIChhc3NldFtzXSBvciBhbW91bnQpAwkBAiE9AggJAJEDAggFAWkIcGF5bWVudHMAAAZhbW91bnQAAQkAAgECG0JURElUOiBQbGVhc2UgYXR0YWNoIGEgbmZ0IQQDcG10CQEFdmFsdWUBCQDsBwEJAQV2YWx1ZQEICQEFdmFsdWUBCQCRAwIIBQFpCHBheW1lbnRzAAAHYXNzZXRJZAQFcHJpY2UJARBnZXREdWNrbGluZ1ByaWNlAQkA2AQBCAUDcG10AmlkAwkAZgIFBXByaWNlCQESZ2V0Q3VycmVudExldmVsSW50AQkA2AQBCAUDcG10AmlkCQACAQkArAICCQCsAgIJAKwCAgIjQlRESVQ6IER1Y2tsaW5nIGlzIG5vdCBncm93biB5ZXQuLi4JAKQDAQkBEmdldEN1cnJlbnRMZXZlbEludAEJANgEAQgFA3BtdAJpZAIBIAkApAMBBQVwcmljZQMJAQIhPQIIBQNwbXQGaXNzdWVyBQR0aGlzCQACAQIsQlRESVQ6IENhbiB1c2Ugb25seSBkdWNrbGluZ3MgZnJvbSB0aGlzIGRBcHAEDmtEdWNrbGluZ0dyb3duCQEQa2V5RHVja2xpbmdHcm93bgEJANgEAQgFA3BtdAJpZAkAlAoCCQDOCAIJAMwIAgkBDEJvb2xlYW5FbnRyeQIFDmtEdWNrbGluZ0dyb3duBgkAzAgCCQEMSW50ZWdlckVudHJ5AgUWS0dsb2JhbElzc3VlZFRpbWVzdGFtcAgFCWxhc3RCbG9jawl0aW1lc3RhbXAFA25pbAUNdmFsaWRQYXltZW50cwkA2AQBCAUDcG10AmlkCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuAQJ0eAEGdmVyaWZ5AAMJAQlpc1Rlc3RFbnYACQD0AwMIBQJ0eAlib2R5Qnl0ZXMJAJEDAggFAnR4BnByb29mcwAACAUCdHgPc2VuZGVyUHVibGljS2V5BAlmaXJzdFVzZXIBIFEc5P1m/xJp0vFaFJ87suL0O3/By2gnojRebDjXV91tBApzZWNvbmRVc2VyASBccg5LrvEhT2bmGUX6aqKx7bE2KVlfGczMsOFNQYhqfQQJdGhpcmRVc2VyASCgr5HlLXlDYWEyEq2OufoYWVGdLVNJNsPQo/eoYBk7TgQPZmlyc3RVc2VyU2lnbmVkAwkA9AMDCAUCdHgJYm9keUJ5dGVzCQCRAwIIBQJ0eAZwcm9vZnMAAAUJZmlyc3RVc2VyAAEDCQD0AwMIBQJ0eAlib2R5Qnl0ZXMJAJEDAggFAnR4BnByb29mcwABBQlmaXJzdFVzZXIAAQMJAPQDAwgFAnR4CWJvZHlCeXRlcwkAkQMCCAUCdHgGcHJvb2ZzAAIFCWZpcnN0VXNlcgABAAAEEHNlY29uZFVzZXJTaWduZWQDCQD0AwMIBQJ0eAlib2R5Qnl0ZXMJAJEDAggFAnR4BnByb29mcwAABQpzZWNvbmRVc2VyAAEDCQD0AwMIBQJ0eAlib2R5Qnl0ZXMJAJEDAggFAnR4BnByb29mcwABBQpzZWNvbmRVc2VyAAEDCQD0AwMIBQJ0eAlib2R5Qnl0ZXMJAJEDAggFAnR4BnByb29mcwACBQpzZWNvbmRVc2VyAAEAAAQPdGhpcmRVc2VyU2lnbmVkAwkA9AMDCAUCdHgJYm9keUJ5dGVzCQCRAwIIBQJ0eAZwcm9vZnMAAAUJdGhpcmRVc2VyAAEDCQD0AwMIBQJ0eAlib2R5Qnl0ZXMJAJEDAggFAnR4BnByb29mcwABBQl0aGlyZFVzZXIAAQMJAPQDAwgFAnR4CWJvZHlCeXRlcwkAkQMCCAUCdHgGcHJvb2ZzAAIFCXRoaXJkVXNlcgABAAAED3NpZ25hdHVyZXNDb3VudAkAZAIJAGQCBQ9maXJzdFVzZXJTaWduZWQFEHNlY29uZFVzZXJTaWduZWQFD3RoaXJkVXNlclNpZ25lZAQHJG1hdGNoMAUCdHgJAGcCBQ9zaWduYXR1cmVzQ291bnQAAgj3pOQ=", "height": 3316718, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: none Next: none Full:
OldNewDifferences
1-# no script
1+{-# STDLIB_VERSION 6 #-}
2+{-# SCRIPT_TYPE ACCOUNT #-}
3+{-# CONTENT_TYPE DAPP #-}
4+func a () = "static_oracleAddress"
5+
6+
7+func b () = "static_extraFee"
8+
9+
10+func c () = "static_spiceAssetId"
11+
12+
13+func d () = "static_breederAddress"
14+
15+
16+func e () = "static_feeAggregator"
17+
18+
19+func f () = "static_turtleStakingAddress"
20+
21+
22+func g (h,i) = {
23+ let j = getString(h, i)
24+ if ($isInstanceOf(j, "String"))
25+ then {
26+ let k = j
27+ k
28+ }
29+ else ""
30+ }
31+
32+
33+func l (m) = (("duckling_" + m) + "_blacklisted")
34+
35+
36+func n (h,i) = {
37+ let j = getInteger(h, i)
38+ if ($isInstanceOf(j, "Int"))
39+ then {
40+ let o = j
41+ o
42+ }
43+ else 0
44+ }
45+
46+
47+func p (i) = g(this, i)
48+
49+
50+func q () = Address(fromBase58String(p(a())))
51+
52+
53+func r () = fromBase58String(g(q(), c()))
54+
55+
56+func s () = Address(fromBase58String(g(q(), d())))
57+
58+
59+func t () = Address(fromBase58String(g(q(), e())))
60+
61+
62+func u () = Address(fromBase58String(g(q(), f())))
63+
64+
65+func v (w) = if (isDefined(w.assetId))
66+ then throw("BDCAP: Please attach waves")
67+ else {
68+ let x = getIntegerValue(q(), b())
69+ if ((w.amount != x))
70+ then throw((("BDCAP: Please attach exactly " + toString(x)) + " amount of wavelets"))
71+ else [ScriptTransfer(t(), x, unit)]
72+ }
73+
74+
75+let y = "global_issued_timestamp"
76+
77+func z (m) = (("duckling_" + m) + "_feed")
78+
79+
80+func A (m) = (("duckling_" + m) + "_gen")
81+
82+
83+func B (m) = (("duckling_" + m) + "_feedNeeded")
84+
85+
86+func C (m) = {
87+ let i = B(m)
88+ let j = getInteger(this, i)
89+ if ($isInstanceOf(j, "Int"))
90+ then {
91+ let o = j
92+ (o * 100000000)
93+ }
94+ else 8000000000
95+ }
96+
97+
98+func D (m) = (("duckling_" + m) + "_fedLastTs")
99+
100+
101+func E (m) = (("duckling_" + m) + "_level")
102+
103+
104+func F (m) = (("duckling_" + m) + "_grown")
105+
106+
107+func G (m) = (("duckling_" + m) + "_startPercentage")
108+
109+
110+func H (m) = (("duckling_" + m) + "_owner")
111+
112+
113+func I (i) = {
114+ let J = {
115+ let j = getInteger(this, i)
116+ if ($isInstanceOf(j, "Int"))
117+ then {
118+ let o = j
119+ o
120+ }
121+ else 0
122+ }
123+ J
124+ }
125+
126+
127+func K (i) = {
128+ let j = getBoolean(this, i)
129+ if ($isInstanceOf(j, "Boolean"))
130+ then {
131+ let o = j
132+ o
133+ }
134+ else false
135+ }
136+
137+
138+func L (m) = {
139+ let M = E(m)
140+ let j = getString(M)
141+ if ($isInstanceOf(j, "String"))
142+ then {
143+ let N = j
144+ parseIntValue(N)
145+ }
146+ else if ($isInstanceOf(j, "Unit"))
147+ then {
148+ let O = j
149+ 0
150+ }
151+ else throw("BGCLBI: Weird value detected!")
152+ }
153+
154+
155+func P (m) = {
156+ let Q = I(D(m))
157+ if ((Q > 0))
158+ then Q
159+ else lastBlock.timestamp
160+ }
161+
162+
163+func R (m,S) = {
164+ let T = lastBlock.timestamp
165+ let U = P(m)
166+ let V = (T - U)
167+ let W = S
168+ let X = L(m)
169+ let Y = (X + S)
170+ if ((Y > C(m)))
171+ then throw((("BCNDL: You are feeding your duckling to much! Only " + toString((C(m) - X))) + "needed!"))
172+ else {
173+ let Z = toString(Y)
174+ $Tuple2(Z, [("currentLevel=" + toString(X)), ("newLevel=" + toString(Y)), ("growth=" + toString(W)), ("lastFedTs=" + toString(U)), ("fedDiff=" + toString(V))])
175+ }
176+ }
177+
178+
179+func aa (ab) = {
180+ let j = ab
181+ if ($isInstanceOf(j, "Int"))
182+ then {
183+ let ac = j
184+ ac
185+ }
186+ else throw("BAI: wrong type, expected: Int")
187+ }
188+
189+
190+func ad (i) = {
191+ let j = getBoolean(i)
192+ if ($isInstanceOf(j, "Boolean"))
193+ then {
194+ let o = j
195+ o
196+ }
197+ else false
198+ }
199+
200+
201+func ae () = K("TESTENV")
202+
203+
204+@Callable(af)
205+func configureOracle (ag) = if ((af.caller != this))
206+ then throw("BCO: admin only")
207+ else [StringEntry("static_oracleAddress", ag)]
208+
209+
210+
211+@Callable(af)
212+func issueDuckling (h,ah,ai,aj) = if ((af.caller != s()))
213+ then throw("BID: You can't issue free duckling")
214+ else {
215+ let ak = Issue("BABY-11111111-HZ", "", 1, 0, false, unit, height)
216+ let al = calculateAssetId(ak)
217+ $Tuple2([StringEntry((((h + "_") + ah) + "_di"), toBase58String(al)), IntegerEntry("stats_amount", (I("stats_amount") + 1)), BooleanEntry((("duckling_" + toBase58String(al)) + "_issuedByFeedCall"), (af.caller == this)), IntegerEntry(G(toBase58String(al)), 0), StringEntry(H(toBase58String(al)), h), StringEntry(A(toBase58String(al)), aj), IntegerEntry(B(toBase58String(al)), ai), ak, ScriptTransfer(value(addressFromString(h)), 1, al)], toBase58String(al))
218+ }
219+
220+
221+
222+@Callable(af)
223+func feedDuckling (m) = {
224+ let am = toString(af.caller)
225+ let an = if (if ((size(af.payments) != 2))
226+ then true
227+ else (value(af.payments[0]).assetId != r()))
228+ then throw("BFD: Bad payment attached (asset[s] or amount)")
229+ else {
230+ let ao = ad(l(m))
231+ if (ao)
232+ then throw("BFD: Can not feed blacklisted duckling!")
233+ else if (K(F(m)))
234+ then throw("BFD: Duckling is already grown")
235+ else if ((m == ""))
236+ then throw("BFD: Please hatch a duckling first!")
237+ else {
238+ let ap = p(H(m))
239+ let aq = value(assetInfo(fromBase58String(m)))
240+ if ((assetBalance(af.caller, aq.id) != 1))
241+ then throw("BFD: You're not the owner of the duckling")
242+ else if ((ap != toString(af.caller)))
243+ then throw("BFD: You can only feed ducklings that you won/bought yourself!")
244+ else if ((aq.issuer != this))
245+ then throw("BFD: Cant find duckling with such id")
246+ else {
247+ let ar = toBase58String(aq.id)
248+ ar
249+ }
250+ }
251+ }
252+ let as = D(m)
253+ let at = value(af.payments[0]).amount
254+ let au = E(an)
255+ let av = z(an)
256+ let aw = I(av)
257+ let ax = ((("duckling_" + an) + "_stat_") + toString(lastBlock.timestamp))
258+ let ay = v(af.payments[1])
259+ if ((ay == ay))
260+ then {
261+ let az = R(an, at)
262+ let aA = invoke(u(), "topUpReward", nil, [AttachedPayment(r(), (at / 2))])
263+ if ((aA == aA))
264+ then ([IntegerEntry(as, lastBlock.timestamp), IntegerEntry(av, (aw + at)), IntegerEntry(ax, at), StringEntry(au, az._1), StringEntry((ax + "_debug"), makeString(az._2, ";")), Burn(r(), (at / 2))] ++ ay)
265+ else throw("Strict value is not equal to itself.")
266+ }
267+ else throw("Strict value is not equal to itself.")
268+ }
269+
270+
271+
272+@Callable(af)
273+func turnDucklingIntoDuck () = {
274+ let ay = v(af.payments[1])
275+ if ((ay == ay))
276+ then if ((af.caller != s()))
277+ then throw("BTDIT: You can't turn duckling")
278+ else {
279+ let h = toString(af.caller)
280+ let aB = toBase58String(af.transactionId)
281+ let aC = I(y)
282+ let aD = ((1 * 60) * 1000)
283+ let aE = (lastBlock.timestamp - (aC + aD))
284+ if (if ((aC > 0))
285+ then (0 > aE)
286+ else false)
287+ then throw((("BTDIT: Can issue ducklings only once per 1 minutes, please wait for " + toString(fraction(aE, 1, 1000))) + " sec."))
288+ else if ((size(af.payments) != 2))
289+ then throw("BTDIT: Bad payment attached (asset[s] or amount)")
290+ else if ((af.payments[0].amount != 1))
291+ then throw("BTDIT: Please attach a nft!")
292+ else {
293+ let aF = value(assetInfo(value(value(af.payments[0]).assetId)))
294+ let aG = C(toBase58String(aF.id))
295+ if ((aG > L(toBase58String(aF.id))))
296+ then throw(((("BTDIT: Duckling is not grown yet..." + toString(L(toBase58String(aF.id)))) + " ") + toString(aG)))
297+ else if ((aF.issuer != this))
298+ then throw("BTDIT: Can use only ducklings from this dApp")
299+ else {
300+ let aH = F(toBase58String(aF.id))
301+ $Tuple2(([BooleanEntry(aH, true), IntegerEntry(y, lastBlock.timestamp)] ++ ay), toBase58String(aF.id))
302+ }
303+ }
304+ }
305+ else throw("Strict value is not equal to itself.")
306+ }
307+
308+
309+@Verifier(aI)
310+func aJ () = if (ae())
311+ then sigVerify(aI.bodyBytes, aI.proofs[0], aI.senderPublicKey)
312+ else {
313+ let aK = base58'6TdaXEfhnjYquvPf3yV7MFxt2CbgFmaqsvGwkKfXtKi4'
314+ let aL = base58'7DsP2WaMLocbHuUxux7pbXRjTrrZ1TFQPsi5QumS3gr8'
315+ let aM = base58'BpFWP3p3JgYrrP45xfrKzeMcWMEXoinj4FVPPkUiA8D3'
316+ let aN = if (sigVerify(aI.bodyBytes, aI.proofs[0], aK))
317+ then 1
318+ else if (sigVerify(aI.bodyBytes, aI.proofs[1], aK))
319+ then 1
320+ else if (sigVerify(aI.bodyBytes, aI.proofs[2], aK))
321+ then 1
322+ else 0
323+ let aO = if (sigVerify(aI.bodyBytes, aI.proofs[0], aL))
324+ then 1
325+ else if (sigVerify(aI.bodyBytes, aI.proofs[1], aL))
326+ then 1
327+ else if (sigVerify(aI.bodyBytes, aI.proofs[2], aL))
328+ then 1
329+ else 0
330+ let aP = if (sigVerify(aI.bodyBytes, aI.proofs[0], aM))
331+ then 1
332+ else if (sigVerify(aI.bodyBytes, aI.proofs[1], aM))
333+ then 1
334+ else if (sigVerify(aI.bodyBytes, aI.proofs[2], aM))
335+ then 1
336+ else 0
337+ let aQ = ((aN + aO) + aP)
338+ let j = aI
339+ (aQ >= 2)
340+ }
341+

github/deemru/w8io/c3f4982 
16.87 ms