tx · CfG3QU1BHJTxY3eFZXD6iJpZ5wRLn7DtG5qhJR6YPHvm

3N1oZwpYE3p4x63jWiKpszmfLU3Lk3KtSWe:  -0.01500000 Waves

2025.01.03 22:10 [3443416] smart account 3N1oZwpYE3p4x63jWiKpszmfLU3Lk3KtSWe > SELF 0.00000000 Waves

{ "type": 13, "id": "CfG3QU1BHJTxY3eFZXD6iJpZ5wRLn7DtG5qhJR6YPHvm", "fee": 1500000, "feeAssetId": null, "timestamp": 1735931416872, "version": 2, "chainId": 84, "sender": "3N1oZwpYE3p4x63jWiKpszmfLU3Lk3KtSWe", "senderPublicKey": "CqqNd9FdJdY64okp1oAAQ8z3kyrEcd6UKxtboqZgrSaP", "proofs": [ "4w69io9TTs6eersuqWnzq8VSv4araCr4JDTU7zFr8gZEWVh5bALbCHLE6xZ1YUFKSCy8ev6DiZtCMUW9nk8o4bFU" ], "script": "base64:BgIWCAISAwoBCBIAEgQKAgQIEgASAwoBCCEBB2dldEJvb2wBA2tleQQHJG1hdGNoMAkAmwgCBQR0aGlzBQNrZXkDCQABAgUHJG1hdGNoMAIHQm9vbGVhbgQBYgUHJG1hdGNoMAUBYgcBCWlzVGVzdEVudgAJAQdnZXRCb29sAQIHVEVTVEVOVgEXc3RhdGljS2V5X29yYWNsZUFkZHJlc3MAAhRzdGF0aWNfb3JhY2xlQWRkcmVzcwEYc3RhdGljS2V5X2JyZWVkZXJBZGRyZXNzAAIVc3RhdGljX2JyZWVkZXJBZGRyZXNzARZzdGF0aWNLZXlfaXRlbXNBZGRyZXNzAAITc3RhdGljX2l0ZW1zQWRkcmVzcwESc3RhdGljS2V5X2V4dHJhRmVlAAIPc3RhdGljX2V4dHJhRmVlARhzdGF0aWNLZXlfZXh0cmFGZWVSZW1vdmUAAhVzdGF0aWNfZXh0cmFGZWVSZW1vdmUBF3N0YXRpY0tleV9mZWVBZ2dyZWdhdG9yAAIUc3RhdGljX2ZlZUFnZ3JlZ2F0b3IACXdlYXJhYmxlcwkAzAgCAghBUlQtQ0FQRQkAzAgCAgdBUlQtSEFUCQDMCAICCkFSVC1YU0NBUkYJAMwIAgIMQVJULVhTV0VBVEVSBQNuaWwBD2tleUFydGVmYWN0RHVjawIGZHVja0lkCHdlYXJhYmxlCQCsAgIJAKwCAgUGZHVja0lkAgFfBQh3ZWFyYWJsZQEMa2V5VHlwZXNEdWNrAgZkdWNrSWQEdHlwZQkArAICCQCsAgIFBmR1Y2tJZAIBXwUEdHlwZQEUdHJ5R2V0U3RyaW5nRXh0ZXJuYWwCB2FkZHJlc3MDa2V5BAckbWF0Y2gwCQCdCAIFB2FkZHJlc3MFA2tleQMJAAECBQckbWF0Y2gwAgZTdHJpbmcEAWEFByRtYXRjaDAFAWECAAEMdHJ5R2V0U3RyaW5nAQNrZXkJARR0cnlHZXRTdHJpbmdFeHRlcm5hbAIFBHRoaXMFA2tleQEFYXNJbnQBBXZhbHVlBAckbWF0Y2gwBQV2YWx1ZQMJAAECBQckbWF0Y2gwAgNJbnQEA2ludAUHJG1hdGNoMAUDaW50CQACAQIZd3JvbmcgdHlwZSwgZXhwZWN0ZWQ6IEludAEIYXNTdHJpbmcBBXZhbHVlBAckbWF0Y2gwBQV2YWx1ZQMJAAECBQckbWF0Y2gwAgZTdHJpbmcEBnN0cmluZwUHJG1hdGNoMAUGc3RyaW5nCQACAQIcd3JvbmcgdHlwZSwgZXhwZWN0ZWQ6IFN0cmluZwEJZ2V0T3JhY2xlAAkBB0FkZHJlc3MBCQDZBAEJAQx0cnlHZXRTdHJpbmcBCQEXc3RhdGljS2V5X29yYWNsZUFkZHJlc3MAARFnZXRCcmVlZGVyQWRkcmVzcwAJAQdBZGRyZXNzAQkA2QQBCQEUdHJ5R2V0U3RyaW5nRXh0ZXJuYWwCCQEJZ2V0T3JhY2xlAAkBGHN0YXRpY0tleV9icmVlZGVyQWRkcmVzcwABD2dldEl0ZW1zQWRkcmVzcwAJAQdBZGRyZXNzAQkA2QQBCQEUdHJ5R2V0U3RyaW5nRXh0ZXJuYWwCCQEJZ2V0T3JhY2xlAAkBFnN0YXRpY0tleV9pdGVtc0FkZHJlc3MAARBnZXRGZWVBZ2dyZWdhdG9yAAkBB0FkZHJlc3MBCQDZBAEJARR0cnlHZXRTdHJpbmdFeHRlcm5hbAIJAQlnZXRPcmFjbGUACQEXc3RhdGljS2V5X2ZlZUFnZ3JlZ2F0b3IAARlnZXRUdXJ0bGVJbmN1YmF0b3JBZGRyZXNzAAkBB0FkZHJlc3MBCQDZBAEJARR0cnlHZXRTdHJpbmdFeHRlcm5hbAIJAQlnZXRPcmFjbGUAAh1zdGF0aWNfdHVydGxlSW5jdWJhdG9yQWRkcmVzcwEXZ2V0VHVydGxlQnJlZWRlckFkZHJlc3MACQEHQWRkcmVzcwEJANkEAQkBFHRyeUdldFN0cmluZ0V4dGVybmFsAgkBCWdldE9yYWNsZQACG3N0YXRpY190dXJ0bGVCcmVlZGVyQWRkcmVzcwETZ2V0SW5jdWJhdG9yQWRkcmVzcwAJAQdBZGRyZXNzAQkA2QQBCQEUdHJ5R2V0U3RyaW5nRXh0ZXJuYWwCCQEJZ2V0T3JhY2xlAAIXc3RhdGljX2luY3ViYXRvckFkZHJlc3MBGWdldENhbmluZUluY3ViYXRvckFkZHJlc3MACQEHQWRkcmVzcwEJANkEAQkBFHRyeUdldFN0cmluZ0V4dGVybmFsAgkBCWdldE9yYWNsZQACHXN0YXRpY19jYW5pbmVJbmN1YmF0b3JBZGRyZXNzARdnZXRDYW5pbmVCcmVlZGVyQWRkcmVzcwAJAQdBZGRyZXNzAQkA2QQBCQEUdHJ5R2V0U3RyaW5nRXh0ZXJuYWwCCQEJZ2V0T3JhY2xlAAIbc3RhdGljX2NhbmluZUJyZWVkZXJBZGRyZXNzARlnZXRGZWxpbmVJbmN1YmF0b3JBZGRyZXNzAAkBB0FkZHJlc3MBCQDZBAEJARR0cnlHZXRTdHJpbmdFeHRlcm5hbAIJAQlnZXRPcmFjbGUAAh1zdGF0aWNfZmVsaW5lSW5jdWJhdG9yQWRkcmVzcwEXZ2V0RmVsaW5lQnJlZWRlckFkZHJlc3MACQEHQWRkcmVzcwEJANkEAQkBFHRyeUdldFN0cmluZ0V4dGVybmFsAgkBCWdldE9yYWNsZQACG3N0YXRpY19mZWxpbmVCcmVlZGVyQWRkcmVzcwEXZ2V0TXV0YW50QnJlZWRlckFkZHJlc3MACQEHQWRkcmVzcwEJANkEAQkBFHRyeUdldFN0cmluZ0V4dGVybmFsAgkBCWdldE9yYWNsZQACHXN0YXRpY19tdXRhbnRJbmN1YmF0b3JBZGRyZXNzARZjaGVja0FkZGl0aW9uYWxQYXltZW50AgdwYXltZW50DmFtb3VudE92ZXJyaWRlAwkBCWlzRGVmaW5lZAEIBQdwYXltZW50B2Fzc2V0SWQJAAIBAhlXQ0FQOiBQbGVhc2UgYXR0YWNoIHdhdmVzBAlmZWVBbW91bnQDCQECIT0CBQ5hbW91bnRPdmVycmlkZQAABQ5hbW91bnRPdmVycmlkZQkBEUBleHRyTmF0aXZlKDEwNTApAgkBCWdldE9yYWNsZQAJARJzdGF0aWNLZXlfZXh0cmFGZWUAAwkBAiE9AggFB3BheW1lbnQGYW1vdW50BQlmZWVBbW91bnQJAAIBCQCsAgIJAKwCAgIcV0NBUDogUGxlYXNlIGF0dGFjaCBleGFjdGx5IAkApAMBBQlmZWVBbW91bnQCEyBhbW91bnQgb2Ygd2F2ZWxldHMJAMwIAgkBDlNjcmlwdFRyYW5zZmVyAwkBEGdldEZlZUFnZ3JlZ2F0b3IABQlmZWVBbW91bnQFBHVuaXQFA25pbAESdHJ5R2V0Q29zbWV0aWNJdGVtAQRpdGVtBANrZXkJAKwCAgIQZGlyZWN0X2Nvc21ldGljXwUEaXRlbQQHJG1hdGNoMAkAmggCCQEPZ2V0SXRlbXNBZGRyZXNzAAUDa2V5AwkAAQIFByRtYXRjaDACA0ludAQBYQUHJG1hdGNoMAUBYQUEdW5pdAEKdHJ5R2V0VHlwZQEId2VhcmFibGUJARR0cnlHZXRTdHJpbmdFeHRlcm5hbAIJAQ9nZXRJdGVtc0FkZHJlc3MACQCsAgICDnR5cGVfY29zbWV0aWNfBQh3ZWFyYWJsZQEId2Vhckl0ZW0DD2Fzc2V0SWRXZWFyQWJsZQZkdWNrSWQIYWxsVHlwZXMEDGFydGVmYWN0TmFtZQkBCGFzU3RyaW5nAQkA/AcECQEPZ2V0SXRlbXNBZGRyZXNzAAIUY2hlY2tBcnRlZmFjdERldGFpbHMJAMwIAgUPYXNzZXRJZFdlYXJBYmxlBQNuaWwFA25pbAMJAAACBQxhcnRlZmFjdE5hbWUFDGFydGVmYWN0TmFtZQMDCQEBIQEJAQ9jb250YWluc0VsZW1lbnQCBQl3ZWFyYWJsZXMFDGFydGVmYWN0TmFtZQkBASEBCQEJaXNEZWZpbmVkAQkBEnRyeUdldENvc21ldGljSXRlbQEFDGFydGVmYWN0TmFtZQcJAAIBAhtXUklURDogVW5zdXBwb3J0ZWQgd2VhcmFibGUECmFydGVmYWN0SWQJAQx0cnlHZXRTdHJpbmcBCQEPa2V5QXJ0ZWZhY3REdWNrAgUGZHVja0lkBQxhcnRlZmFjdE5hbWUECWJvb3N0RHVjawMJAAACBQxhcnRlZmFjdE5hbWUCCkFSVC1YU0NBUkYJAPwHBAkBD2dldEl0ZW1zQWRkcmVzcwACD21hbmlwdWxhdGVCb29zdAkAzAgCAEUJAMwIAgUGZHVja0lkBQNuaWwFA25pbAUDbmlsAwkAAAIFCWJvb3N0RHVjawUJYm9vc3REdWNrAwkBAiE9AgUKYXJ0ZWZhY3RJZAIACQACAQkArAICAhpEdWNrIGlzIGFscmVhZHkgd2VhcmluZyBhIAUMYXJ0ZWZhY3ROYW1lBAR0eXBlCQEKdHJ5R2V0VHlwZQEFDGFydGVmYWN0TmFtZQMDCQEBIQEFCGFsbFR5cGVzCQEBIQEJAQ9jb250YWluc0VsZW1lbnQCCQDMCAICA1BFVAkAzAgCAgRCQUNLCQDMCAICBFRBSUwJAMwIAgIJQUNDRVNTT1JZCQDMCAICBEhFQUQFA25pbAUEdHlwZQcJAAIBAjJZb3UgY2FuJ3QgYXR0YWNoIHRoaXMgaXRlbSB0byB5b3VyIE5GVCEgUGV0cyBvbmx5IQQKdHlwZU9uRHVjawMJAQIhPQIFBHR5cGUCAAkBAiE9AgkBDHRyeUdldFN0cmluZwEJAQxrZXlUeXBlc0R1Y2sCBQZkdWNrSWQFBHR5cGUCAAkAAgEJAKwCAgImVHlwZSB1bmRlZmluZWQsIHBsZWFzZSBjb250YWN0IGFkbWlucyAFDGFydGVmYWN0TmFtZQMFCnR5cGVPbkR1Y2sJAAIBAjJZb3UgY2FuIG9ubHkgYXR0YWNoIDEgZnJvbSBlYWNoIHR5cGUgdG8geW91ciBkdWNrIQQKdHlwZVJlc3VsdAMJAQIhPQIFBHR5cGUCAAkAzAgCCQELU3RyaW5nRW50cnkCCQEMa2V5VHlwZXNEdWNrAgUGZHVja0lkBQR0eXBlBQ9hc3NldElkV2VhckFibGUFA25pbAUDbmlsCQDOCAIJAMwIAgkBC1N0cmluZ0VudHJ5AgkBD2tleUFydGVmYWN0RHVjawIFBmR1Y2tJZAUMYXJ0ZWZhY3ROYW1lBQ9hc3NldElkV2VhckFibGUFA25pbAUKdHlwZVJlc3VsdAkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgEVdHJ5R2V0Qm9vbGVhbkV4dGVybmFsAgdhZGRyZXNzA2tleQQHJG1hdGNoMAkAmwgCBQdhZGRyZXNzBQNrZXkDCQABAgUHJG1hdGNoMAIHQm9vbGVhbgQBYgUHJG1hdGNoMAUBYgcBFGdldElmQWxsVHlwZXNBbGxvd2VkAQdhc3NldElkBAZpc3N1ZXIICQEFdmFsdWUBCQDsBwEFB2Fzc2V0SWQGaXNzdWVyBAtibGFja2xpc3RlZAkBFXRyeUdldEJvb2xlYW5FeHRlcm5hbAIFBmlzc3VlcgkArAICCQDYBAEFB2Fzc2V0SWQCDF9ibGFja2xpc3RlZAMFC2JsYWNrbGlzdGVkCQACAQIQR08gRlVDSyBZT1VSU0VMRgQEbmFtZQgJAQV2YWx1ZQEJAOwHAQUHYXNzZXRJZARuYW1lAwMJAAACBQZpc3N1ZXIJARNnZXRJbmN1YmF0b3JBZGRyZXNzAAYJAAACBQZpc3N1ZXIJARFnZXRCcmVlZGVyQWRkcmVzcwAGAwMJAAACBQZpc3N1ZXIJARlnZXRUdXJ0bGVJbmN1YmF0b3JBZGRyZXNzAAYJAAACBQZpc3N1ZXIJARdnZXRUdXJ0bGVCcmVlZGVyQWRkcmVzcwAHAwMJAAACBQZpc3N1ZXIJARlnZXRDYW5pbmVJbmN1YmF0b3JBZGRyZXNzAAYJAAACBQZpc3N1ZXIJARdnZXRDYW5pbmVCcmVlZGVyQWRkcmVzcwAHAwMJAAACBQZpc3N1ZXIJARlnZXRGZWxpbmVJbmN1YmF0b3JBZGRyZXNzAAYJAAACBQZpc3N1ZXIJARdnZXRGZWxpbmVCcmVlZGVyQWRkcmVzcwAHAwkAAAIFBmlzc3VlcgkBF2dldE11dGFudEJyZWVkZXJBZGRyZXNzAAcJAAIBAhtNQUc6IEFzc2V0IGlzIG5vdCBzdXBwb3J0ZWQFAWkBD2NvbmZpZ3VyZU9yYWNsZQEGb3JhY2xlAwkBAiE9AggFAWkGY2FsbGVyBQR0aGlzCQACAQIKYWRtaW4gb25seQkAzAgCCQELU3RyaW5nRW50cnkCCQEXc3RhdGljS2V5X29yYWNsZUFkZHJlc3MABQZvcmFjbGUFA25pbAFpAQ53ZWFySXRlbVRvRHVjawAEDGZpcnN0UGF5bWVudAkBBXZhbHVlAQkAkQMCCAUBaQhwYXltZW50cwAABA1zZWNvbmRQYXltZW50CQEFdmFsdWUBCQCRAwIIBQFpCHBheW1lbnRzAAEEDHZhbGlkUGF5bWVudAkBFmNoZWNrQWRkaXRpb25hbFBheW1lbnQCCQCRAwIIBQFpCHBheW1lbnRzAAIAAAQGZHVja0lkCQDYBAEJAQV2YWx1ZQEIBQxmaXJzdFBheW1lbnQHYXNzZXRJZAQNc2Vjb25kQXNzZXRJZAkA2AQBCQEFdmFsdWUBCAUNc2Vjb25kUGF5bWVudAdhc3NldElkAwMJAQIhPQIIBQxmaXJzdFBheW1lbnQGYW1vdW50AAEGCQECIT0CCAUNc2Vjb25kUGF5bWVudAZhbW91bnQAAQkAAgECGldSSVREOiBORlQgaXMgbm90IGF0dGFjaGVkBAhhbGxUeXBlcwkBFGdldElmQWxsVHlwZXNBbGxvd2VkAQkBBXZhbHVlAQgFDGZpcnN0UGF5bWVudAdhc3NldElkCQDOCAIJAM4IAgkBCHdlYXJJdGVtAwUNc2Vjb25kQXNzZXRJZAUGZHVja0lkBQhhbGxUeXBlcwkAzAgCCQEOU2NyaXB0VHJhbnNmZXIDCAUBaQZjYWxsZXIAAQgFDGZpcnN0UGF5bWVudAdhc3NldElkBQNuaWwFDHZhbGlkUGF5bWVudAFpARJyZW1vdmVJdGVtRnJvbUR1Y2sCCGJ1cm5JdGVtDGFydGVmYWN0TmFtZQQId2F2ZXNGZWUDBQhidXJuSXRlbQAACQERQGV4dHJOYXRpdmUoMTA1MCkCCQEJZ2V0T3JhY2xlAAkBGHN0YXRpY0tleV9leHRyYUZlZVJlbW92ZQAEC2R1Y2tQYXltZW50CQEFdmFsdWUBCQCRAwIIBQFpCHBheW1lbnRzAAAED3JvYm9EdWNrUGF5bWVudAkBBXZhbHVlAQkAkQMCCAUBaQhwYXltZW50cwABBAx2YWxpZFBheW1lbnQJARZjaGVja0FkZGl0aW9uYWxQYXltZW50AgkAkQMCCAUBaQhwYXltZW50cwACBQh3YXZlc0ZlZQQGZHVja0lkCQDYBAEJAQV2YWx1ZQEIBQtkdWNrUGF5bWVudAdhc3NldElkBApyb2JvRHVja0lkCQDYBAEJAQV2YWx1ZQEIBQ9yb2JvRHVja1BheW1lbnQHYXNzZXRJZAMDCQECIT0CCAULZHVja1BheW1lbnQGYW1vdW50AAEGCQECIT0CCAUPcm9ib0R1Y2tQYXltZW50BmFtb3VudAABCQACAQIaV1JJVEQ6IE5GVCBpcyBub3QgYXR0YWNoZWQECGNoaWxkcmVuCQEFYXNJbnQBCQD8BwQJARFnZXRCcmVlZGVyQWRkcmVzcwACFnZhbGlkYXRlQW5kR2V0Q2hpbGRyZW4JAMwIAgUGZHVja0lkBQNuaWwFA25pbAMJAAACBQhjaGlsZHJlbgUIY2hpbGRyZW4EFGFydGVmYWN0TmFtZVJvYm9kdWNrCQEIYXNTdHJpbmcBCQD8BwQJAQ9nZXRJdGVtc0FkZHJlc3MAAhRjaGVja0FydGVmYWN0RGV0YWlscwkAzAgCBQpyb2JvRHVja0lkBQNuaWwFA25pbAMJAAACBRRhcnRlZmFjdE5hbWVSb2JvZHVjawUUYXJ0ZWZhY3ROYW1lUm9ib2R1Y2sDCQECIT0CBRRhcnRlZmFjdE5hbWVSb2JvZHVjawIMQVJULVJPQk9EVUNLCQACAQIfT25seSByb2RvZHVjayBjYW4gcmVtb3ZlIGl0ZW1zIQMDCQEBIQEJAQ9jb250YWluc0VsZW1lbnQCBQl3ZWFyYWJsZXMFDGFydGVmYWN0TmFtZQkBASEBCQEJaXNEZWZpbmVkAQkBEnRyeUdldENvc21ldGljSXRlbQEFDGFydGVmYWN0TmFtZQcJAAIBAhtXUklURDogVW5zdXBwb3J0ZWQgd2VhcmFibGUECmFydGVmYWN0SWQJAQx0cnlHZXRTdHJpbmcBCQEPa2V5QXJ0ZWZhY3REdWNrAgUGZHVja0lkBQxhcnRlZmFjdE5hbWUECWJvb3N0RHVjawMJAAACBQxhcnRlZmFjdE5hbWUCCkFSVC1YU0NBUkYJAPwHBAkBD2dldEl0ZW1zQWRkcmVzcwACD21hbmlwdWxhdGVCb29zdAkAzAgCAEUJAMwIAgUGZHVja0lkBQNuaWwFA25pbAUDbmlsAwkAAAIFCWJvb3N0RHVjawUJYm9vc3REdWNrAwkAAAIFCmFydGVmYWN0SWQCAAkAAgEJAKwCAgITRHVjayBub3Qgd2VhcmluZyBhIAUMYXJ0ZWZhY3ROYW1lBAR0eXBlCQEKdHJ5R2V0VHlwZQEFDGFydGVmYWN0TmFtZQQKdHlwZVJlc3VsdAMJAQIhPQIFBHR5cGUCAAkAzAgCCQELRGVsZXRlRW50cnkBCQEMa2V5VHlwZXNEdWNrAgUGZHVja0lkBQR0eXBlBQNuaWwFA25pbAQEYnVybgMFCGJ1cm5JdGVtCQDMCAIJAQRCdXJuAgkA2QQBBQphcnRlZmFjdElkAAEFA25pbAkAzAgCCQEOU2NyaXB0VHJhbnNmZXIDCAUBaQZjYWxsZXIAAQkA2QQBBQphcnRlZmFjdElkBQNuaWwJAM4IAgkAzggCCQDOCAIJAMwIAgkBC0RlbGV0ZUVudHJ5AQkBD2tleUFydGVmYWN0RHVjawIFBmR1Y2tJZAUMYXJ0ZWZhY3ROYW1lCQDMCAIJAQ5TY3JpcHRUcmFuc2ZlcgMIBQFpBmNhbGxlcgABCAULZHVja1BheW1lbnQHYXNzZXRJZAkAzAgCCQEEQnVybgIJANkEAQUKcm9ib0R1Y2tJZAABBQNuaWwFBGJ1cm4FDHZhbGlkUGF5bWVudAUKdHlwZVJlc3VsdAkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgFpARB3ZWFyWEl0ZW1zVG9EdWNrAAQMdmFsaWRQYXltZW50CQEWY2hlY2tBZGRpdGlvbmFsUGF5bWVudAIJAJEDAggFAWkIcGF5bWVudHMAAQAAAwkAZgIAAwkAkAMBCAUBaQhwYXltZW50cwkAAgECMVdXWElURDogUGxlYXNlIGF0dGFjaCBhdCBsZWFzdCAxIGl0ZW0gYW5kIDEgZHVjayEDCQBmAgkAkAMBCAUBaQhwYXltZW50cwAHCQACAQIxV1dYSVREOiBZb3UgY2FuIG9ubHkgYXR0YWNoIDUgaXRlbXMgYW5kIG9uZSBkdWNrIQoBCmhhbmRsZUl0ZW0CA2FjYwdwYXltZW50BAVpbmRleAkAzwgCCAUBaQhwYXltZW50cwUHcGF5bWVudAMJAAACBQVpbmRleAAABAZkdWNrSWQJANgEAQkBBXZhbHVlAQgFB3BheW1lbnQHYXNzZXRJZAMJAQIhPQIIBQdwYXltZW50BmFtb3VudAABCQACAQIbV1JJVEQ6IER1Y2sgaXMgbm90IGF0dGFjaGVkBAhjaGlsZHJlbgkBBWFzSW50AQkA/AcECQERZ2V0QnJlZWRlckFkZHJlc3MAAhZ2YWxpZGF0ZUFuZEdldENoaWxkcmVuCQDMCAIFBmR1Y2tJZAUDbmlsBQNuaWwDCQAAAgUIY2hpbGRyZW4FCGNoaWxkcmVuCQDOCAIFA2FjYwkAzAgCCQEOU2NyaXB0VHJhbnNmZXIDCAUBaQZjYWxsZXIAAQgFB3BheW1lbnQHYXNzZXRJZAUDbmlsCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQDOCAIFA2FjYwkBCHdlYXJJdGVtAwkA2AQBCQEFdmFsdWUBCAUHcGF5bWVudAdhc3NldElkCQDYBAEJAQV2YWx1ZQEICQCRAwIIBQFpCHBheW1lbnRzAAEHYXNzZXRJZAYJAM4IAgoAAiRsCAUBaQhwYXltZW50cwoAAiRzCQCQAwEFAiRsCgAFJGFjYzAFA25pbAoBBSRmMF8xAgIkYQIkaQMJAGcCBQIkaQUCJHMFAiRhCQEKaGFuZGxlSXRlbQIFAiRhCQCRAwIFAiRsBQIkaQoBBSRmMF8yAgIkYQIkaQMJAGcCBQIkaQUCJHMFAiRhCQACAQITTGlzdCBzaXplIGV4Y2VlZHMgNgkBBSRmMF8yAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgUFJGFjYzAAAAABAAIAAwAEAAUABgUMdmFsaWRQYXltZW50AWkBFmNhbGN1bGF0ZVdlYXJibGVzQm9vc3QBBmR1Y2tJZAQEYmFjawkBDHRyeUdldFN0cmluZwEJAQxrZXlUeXBlc0R1Y2sCBQZkdWNrSWQCBEJBQ0sEBGhlYWQJAQx0cnlHZXRTdHJpbmcBCQEMa2V5VHlwZXNEdWNrAgUGZHVja0lkAgRIRUFEBAlsZWZ0X3dpbmcJAQx0cnlHZXRTdHJpbmcBCQEMa2V5VHlwZXNEdWNrAgUGZHVja0lkAglMRUZUX1dJTkcECnJpZ2h0X3dpbmcJAQx0cnlHZXRTdHJpbmcBCQEMa2V5VHlwZXNEdWNrAgUGZHVja0lkAgpSSUdIVF9XSU5HBAN0b3AJAQx0cnlHZXRTdHJpbmcBCQEMa2V5VHlwZXNEdWNrAgUGZHVja0lkAgNUT1AEA3BldAkBDHRyeUdldFN0cmluZwEJAQxrZXlUeXBlc0R1Y2sCBQZkdWNrSWQCA1BFVAQEdGFpbAkBDHRyeUdldFN0cmluZwEJAQxrZXlUeXBlc0R1Y2sCBQZkdWNrSWQCBFRBSUwECWFjY2Vzc29yeQkBDHRyeUdldFN0cmluZwEJAQxrZXlUeXBlc0R1Y2sCBQZkdWNrSWQCCUFDQ0VTU09SWQQMYXNzZXRJZEFycmF5CQDMCAIFBGJhY2sJAMwIAgUEaGVhZAkAzAgCBQlsZWZ0X3dpbmcJAMwIAgUKcmlnaHRfd2luZwkAzAgCBQN0b3AJAMwIAgUDcGV0CQDMCAIFBHRhaWwJAMwIAgUJYWNjZXNzb3J5BQNuaWwKAQ9jb3VudFRvdGFsQm9vc3QCA2FjYwdhc3NldElkAwkBAiE9AgUHYXNzZXRJZAIABAxhcnRlZmFjdE5hbWUJAQhhc1N0cmluZwEJAPwHBAkBD2dldEl0ZW1zQWRkcmVzcwACFGNoZWNrQXJ0ZWZhY3REZXRhaWxzCQDMCAIFB2Fzc2V0SWQFA25pbAUDbmlsAwkAAAIFDGFydGVmYWN0TmFtZQUMYXJ0ZWZhY3ROYW1lBAVib29zdAkBE3ZhbHVlT3JFcnJvck1lc3NhZ2UCCQCfCAEJAKwCAgIGYm9vc3RfBQxhcnRlZmFjdE5hbWUJAKwCAgITTm8gYm9vc3QgZm91bmQgZm9yIAUMYXJ0ZWZhY3ROYW1lCQBkAgUDYWNjBQVib29zdAkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgUDYWNjBAp0b3RhbEJvb3N0CgACJGwFDGFzc2V0SWRBcnJheQoAAiRzCQCQAwEFAiRsCgAFJGFjYzAAAAoBBSRmMF8xAgIkYQIkaQMJAGcCBQIkaQUCJHMFAiRhCQEPY291bnRUb3RhbEJvb3N0AgUCJGEJAJEDAgUCJGwFAiRpCgEFJGYwXzICAiRhAiRpAwkAZwIFAiRpBQIkcwUCJGEJAAIBAhNMaXN0IHNpemUgZXhjZWVkcyA4CQEFJGYwXzICCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECBQUkYWNjMAAAAAEAAgADAAQABQAGAAcACAkAlAoCCQDMCAIJAQxJbnRlZ2VyRW50cnkCCQCsAgIFBmR1Y2tJZAIKX2xhc3RCb29zdAUKdG90YWxCb29zdAUDbmlsBQp0b3RhbEJvb3N0AQJ0eAEGdmVyaWZ5AAMJAQlpc1Rlc3RFbnYACQD0AwMIBQJ0eAlib2R5Qnl0ZXMJAJEDAggFAnR4BnByb29mcwAACAUCdHgPc2VuZGVyUHVibGljS2V5BAlmaXJzdFVzZXIBIFEc5P1m/xJp0vFaFJ87suL0O3/By2gnojRebDjXV91tBApzZWNvbmRVc2VyASBccg5LrvEhT2bmGUX6aqKx7bE2KVlfGczMsOFNQYhqfQQJdGhpcmRVc2VyASCgr5HlLXlDYWEyEq2OufoYWVGdLVNJNsPQo/eoYBk7TgQPZmlyc3RVc2VyU2lnbmVkAwkA9AMDCAUCdHgJYm9keUJ5dGVzCQCRAwIIBQJ0eAZwcm9vZnMAAAUJZmlyc3RVc2VyAAEDCQD0AwMIBQJ0eAlib2R5Qnl0ZXMJAJEDAggFAnR4BnByb29mcwABBQlmaXJzdFVzZXIAAQMJAPQDAwgFAnR4CWJvZHlCeXRlcwkAkQMCCAUCdHgGcHJvb2ZzAAIFCWZpcnN0VXNlcgABAAAEEHNlY29uZFVzZXJTaWduZWQDCQD0AwMIBQJ0eAlib2R5Qnl0ZXMJAJEDAggFAnR4BnByb29mcwAABQpzZWNvbmRVc2VyAAEDCQD0AwMIBQJ0eAlib2R5Qnl0ZXMJAJEDAggFAnR4BnByb29mcwABBQpzZWNvbmRVc2VyAAEDCQD0AwMIBQJ0eAlib2R5Qnl0ZXMJAJEDAggFAnR4BnByb29mcwACBQpzZWNvbmRVc2VyAAEAAAQPdGhpcmRVc2VyU2lnbmVkAwkA9AMDCAUCdHgJYm9keUJ5dGVzCQCRAwIIBQJ0eAZwcm9vZnMAAAUJdGhpcmRVc2VyAAEDCQD0AwMIBQJ0eAlib2R5Qnl0ZXMJAJEDAggFAnR4BnByb29mcwABBQl0aGlyZFVzZXIAAQMJAPQDAwgFAnR4CWJvZHlCeXRlcwkAkQMCCAUCdHgGcHJvb2ZzAAIFCXRoaXJkVXNlcgABAAAED3NpZ25hdHVyZXNDb3VudAkAZAIJAGQCBQ9maXJzdFVzZXJTaWduZWQFEHNlY29uZFVzZXJTaWduZWQFD3RoaXJkVXNlclNpZ25lZAQHJG1hdGNoMAUCdHgJAGcCBQ9zaWduYXR1cmVzQ291bnQAAhqBqHg=", "height": 3443416, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: 973cNKYfrjYVZRqwRzvBsFQhs89yrFPHsiNkfgPUaf8i Next: none Diff:
OldNewDifferences
158158 else {
159159 let q = S(W)
160160 if (if (!(V))
161- then !(containsElement(["PET", "BACK", "TAIL", "ACCESSORY"], q))
161+ then !(containsElement(["PET", "BACK", "TAIL", "ACCESSORY", "HEAD"], q))
162162 else false)
163163 then throw("You can't attach this item to your NFT! Pets only!")
164164 else {
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 6 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 func a (b) = {
55 let c = getBoolean(this, b)
66 if ($isInstanceOf(c, "Boolean"))
77 then {
88 let d = c
99 d
1010 }
1111 else false
1212 }
1313
1414
1515 func e () = a("TESTENV")
1616
1717
1818 func f () = "static_oracleAddress"
1919
2020
2121 func g () = "static_breederAddress"
2222
2323
2424 func h () = "static_itemsAddress"
2525
2626
2727 func i () = "static_extraFee"
2828
2929
3030 func j () = "static_extraFeeRemove"
3131
3232
3333 func k () = "static_feeAggregator"
3434
3535
3636 let l = ["ART-CAPE", "ART-HAT", "ART-XSCARF", "ART-XSWEATER"]
3737
3838 func m (n,o) = ((n + "_") + o)
3939
4040
4141 func p (n,q) = ((n + "_") + q)
4242
4343
4444 func r (s,b) = {
4545 let c = getString(s, b)
4646 if ($isInstanceOf(c, "String"))
4747 then {
4848 let t = c
4949 t
5050 }
5151 else ""
5252 }
5353
5454
5555 func u (b) = r(this, b)
5656
5757
5858 func v (w) = {
5959 let c = w
6060 if ($isInstanceOf(c, "Int"))
6161 then {
6262 let x = c
6363 x
6464 }
6565 else throw("wrong type, expected: Int")
6666 }
6767
6868
6969 func y (w) = {
7070 let c = w
7171 if ($isInstanceOf(c, "String"))
7272 then {
7373 let z = c
7474 z
7575 }
7676 else throw("wrong type, expected: String")
7777 }
7878
7979
8080 func A () = Address(fromBase58String(u(f())))
8181
8282
8383 func B () = Address(fromBase58String(r(A(), g())))
8484
8585
8686 func C () = Address(fromBase58String(r(A(), h())))
8787
8888
8989 func D () = Address(fromBase58String(r(A(), k())))
9090
9191
9292 func E () = Address(fromBase58String(r(A(), "static_turtleIncubatorAddress")))
9393
9494
9595 func F () = Address(fromBase58String(r(A(), "static_turtleBreederAddress")))
9696
9797
9898 func G () = Address(fromBase58String(r(A(), "static_incubatorAddress")))
9999
100100
101101 func H () = Address(fromBase58String(r(A(), "static_canineIncubatorAddress")))
102102
103103
104104 func I () = Address(fromBase58String(r(A(), "static_canineBreederAddress")))
105105
106106
107107 func J () = Address(fromBase58String(r(A(), "static_felineIncubatorAddress")))
108108
109109
110110 func K () = Address(fromBase58String(r(A(), "static_felineBreederAddress")))
111111
112112
113113 func L () = Address(fromBase58String(r(A(), "static_mutantIncubatorAddress")))
114114
115115
116116 func M (N,O) = if (isDefined(N.assetId))
117117 then throw("WCAP: Please attach waves")
118118 else {
119119 let P = if ((O != 0))
120120 then O
121121 else getIntegerValue(A(), i())
122122 if ((N.amount != P))
123123 then throw((("WCAP: Please attach exactly " + toString(P)) + " amount of wavelets"))
124124 else [ScriptTransfer(D(), P, unit)]
125125 }
126126
127127
128128 func Q (R) = {
129129 let b = ("direct_cosmetic_" + R)
130130 let c = getInteger(C(), b)
131131 if ($isInstanceOf(c, "Int"))
132132 then {
133133 let t = c
134134 t
135135 }
136136 else unit
137137 }
138138
139139
140140 func S (o) = r(C(), ("type_cosmetic_" + o))
141141
142142
143143 func T (U,n,V) = {
144144 let W = y(invoke(C(), "checkArtefactDetails", [U], nil))
145145 if ((W == W))
146146 then if (if (!(containsElement(l, W)))
147147 then !(isDefined(Q(W)))
148148 else false)
149149 then throw("WRITD: Unsupported wearable")
150150 else {
151151 let X = u(m(n, W))
152152 let Y = if ((W == "ART-XSCARF"))
153153 then invoke(C(), "manipulateBoost", [69, n], nil)
154154 else nil
155155 if ((Y == Y))
156156 then if ((X != ""))
157157 then throw(("Duck is already wearing a " + W))
158158 else {
159159 let q = S(W)
160160 if (if (!(V))
161- then !(containsElement(["PET", "BACK", "TAIL", "ACCESSORY"], q))
161+ then !(containsElement(["PET", "BACK", "TAIL", "ACCESSORY", "HEAD"], q))
162162 else false)
163163 then throw("You can't attach this item to your NFT! Pets only!")
164164 else {
165165 let Z = if ((q != ""))
166166 then (u(p(n, q)) != "")
167167 else throw(("Type undefined, please contact admins " + W))
168168 if (Z)
169169 then throw("You can only attach 1 from each type to your duck!")
170170 else {
171171 let aa = if ((q != ""))
172172 then [StringEntry(p(n, q), U)]
173173 else nil
174174 ([StringEntry(m(n, W), U)] ++ aa)
175175 }
176176 }
177177 }
178178 else throw("Strict value is not equal to itself.")
179179 }
180180 else throw("Strict value is not equal to itself.")
181181 }
182182
183183
184184 func ab (s,b) = {
185185 let c = getBoolean(s, b)
186186 if ($isInstanceOf(c, "Boolean"))
187187 then {
188188 let d = c
189189 d
190190 }
191191 else false
192192 }
193193
194194
195195 func ac (ad) = {
196196 let ae = value(assetInfo(ad)).issuer
197197 let af = ab(ae, (toBase58String(ad) + "_blacklisted"))
198198 if (af)
199199 then throw("GO FUCK YOURSELF")
200200 else {
201201 let ag = value(assetInfo(ad)).name
202202 if (if ((ae == G()))
203203 then true
204204 else (ae == B()))
205205 then true
206206 else if (if ((ae == E()))
207207 then true
208208 else (ae == F()))
209209 then false
210210 else if (if ((ae == H()))
211211 then true
212212 else (ae == I()))
213213 then false
214214 else if (if ((ae == J()))
215215 then true
216216 else (ae == K()))
217217 then false
218218 else if ((ae == L()))
219219 then false
220220 else throw("MAG: Asset is not supported")
221221 }
222222 }
223223
224224
225225 @Callable(ah)
226226 func configureOracle (ai) = if ((ah.caller != this))
227227 then throw("admin only")
228228 else [StringEntry(f(), ai)]
229229
230230
231231
232232 @Callable(ah)
233233 func wearItemToDuck () = {
234234 let aj = value(ah.payments[0])
235235 let ak = value(ah.payments[1])
236236 let al = M(ah.payments[2], 0)
237237 let n = toBase58String(value(aj.assetId))
238238 let am = toBase58String(value(ak.assetId))
239239 if (if ((aj.amount != 1))
240240 then true
241241 else (ak.amount != 1))
242242 then throw("WRITD: NFT is not attached")
243243 else {
244244 let V = ac(value(aj.assetId))
245245 ((T(am, n, V) ++ [ScriptTransfer(ah.caller, 1, aj.assetId)]) ++ al)
246246 }
247247 }
248248
249249
250250
251251 @Callable(ah)
252252 func removeItemFromDuck (an,W) = {
253253 let ao = if (an)
254254 then 0
255255 else getIntegerValue(A(), j())
256256 let ap = value(ah.payments[0])
257257 let aq = value(ah.payments[1])
258258 let al = M(ah.payments[2], ao)
259259 let n = toBase58String(value(ap.assetId))
260260 let ar = toBase58String(value(aq.assetId))
261261 if (if ((ap.amount != 1))
262262 then true
263263 else (aq.amount != 1))
264264 then throw("WRITD: NFT is not attached")
265265 else {
266266 let as = v(invoke(B(), "validateAndGetChildren", [n], nil))
267267 if ((as == as))
268268 then {
269269 let at = y(invoke(C(), "checkArtefactDetails", [ar], nil))
270270 if ((at == at))
271271 then if ((at != "ART-ROBODUCK"))
272272 then throw("Only rododuck can remove items!")
273273 else if (if (!(containsElement(l, W)))
274274 then !(isDefined(Q(W)))
275275 else false)
276276 then throw("WRITD: Unsupported wearable")
277277 else {
278278 let X = u(m(n, W))
279279 let Y = if ((W == "ART-XSCARF"))
280280 then invoke(C(), "manipulateBoost", [69, n], nil)
281281 else nil
282282 if ((Y == Y))
283283 then if ((X == ""))
284284 then throw(("Duck not wearing a " + W))
285285 else {
286286 let q = S(W)
287287 let aa = if ((q != ""))
288288 then [DeleteEntry(p(n, q))]
289289 else nil
290290 let au = if (an)
291291 then [Burn(fromBase58String(X), 1)]
292292 else [ScriptTransfer(ah.caller, 1, fromBase58String(X))]
293293 ((([DeleteEntry(m(n, W)), ScriptTransfer(ah.caller, 1, ap.assetId), Burn(fromBase58String(ar), 1)] ++ au) ++ al) ++ aa)
294294 }
295295 else throw("Strict value is not equal to itself.")
296296 }
297297 else throw("Strict value is not equal to itself.")
298298 }
299299 else throw("Strict value is not equal to itself.")
300300 }
301301 }
302302
303303
304304
305305 @Callable(ah)
306306 func wearXItemsToDuck () = {
307307 let al = M(ah.payments[1], 0)
308308 if ((3 > size(ah.payments)))
309309 then throw("WWXITD: Please attach at least 1 item and 1 duck!")
310310 else if ((size(ah.payments) > 7))
311311 then throw("WWXITD: You can only attach 5 items and one duck!")
312312 else {
313313 func av (aw,N) = {
314314 let ax = indexOf(ah.payments, N)
315315 if ((ax == 0))
316316 then {
317317 let n = toBase58String(value(N.assetId))
318318 if ((N.amount != 1))
319319 then throw("WRITD: Duck is not attached")
320320 else {
321321 let as = v(invoke(B(), "validateAndGetChildren", [n], nil))
322322 if ((as == as))
323323 then (aw ++ [ScriptTransfer(ah.caller, 1, N.assetId)])
324324 else throw("Strict value is not equal to itself.")
325325 }
326326 }
327327 else (aw ++ T(toBase58String(value(N.assetId)), toBase58String(value(ah.payments[1].assetId)), true))
328328 }
329329
330330 ({
331331 let ay = ah.payments
332332 let az = size(ay)
333333 let aA = nil
334334 func aB (aC,aD) = if ((aD >= az))
335335 then aC
336336 else av(aC, ay[aD])
337337
338338 func aE (aC,aD) = if ((aD >= az))
339339 then aC
340340 else throw("List size exceeds 6")
341341
342342 aE(aB(aB(aB(aB(aB(aB(aA, 0), 1), 2), 3), 4), 5), 6)
343343 } ++ al)
344344 }
345345 }
346346
347347
348348
349349 @Callable(ah)
350350 func calculateWearblesBoost (n) = {
351351 let aF = u(p(n, "BACK"))
352352 let aG = u(p(n, "HEAD"))
353353 let aH = u(p(n, "LEFT_WING"))
354354 let aI = u(p(n, "RIGHT_WING"))
355355 let aJ = u(p(n, "TOP"))
356356 let aK = u(p(n, "PET"))
357357 let aL = u(p(n, "TAIL"))
358358 let aM = u(p(n, "ACCESSORY"))
359359 let aN = [aF, aG, aH, aI, aJ, aK, aL, aM]
360360 func aO (aw,ad) = if ((ad != ""))
361361 then {
362362 let W = y(invoke(C(), "checkArtefactDetails", [ad], nil))
363363 if ((W == W))
364364 then {
365365 let aP = valueOrErrorMessage(getInteger(("boost_" + W)), ("No boost found for " + W))
366366 (aw + aP)
367367 }
368368 else throw("Strict value is not equal to itself.")
369369 }
370370 else aw
371371
372372 let aQ = {
373373 let ay = aN
374374 let az = size(ay)
375375 let aA = 0
376376 func aB (aC,aD) = if ((aD >= az))
377377 then aC
378378 else aO(aC, ay[aD])
379379
380380 func aE (aC,aD) = if ((aD >= az))
381381 then aC
382382 else throw("List size exceeds 8")
383383
384384 aE(aB(aB(aB(aB(aB(aB(aB(aB(aA, 0), 1), 2), 3), 4), 5), 6), 7), 8)
385385 }
386386 $Tuple2([IntegerEntry((n + "_lastBoost"), aQ)], aQ)
387387 }
388388
389389
390390 @Verifier(aR)
391391 func aS () = if (e())
392392 then sigVerify(aR.bodyBytes, aR.proofs[0], aR.senderPublicKey)
393393 else {
394394 let aT = base58'6TdaXEfhnjYquvPf3yV7MFxt2CbgFmaqsvGwkKfXtKi4'
395395 let aU = base58'7DsP2WaMLocbHuUxux7pbXRjTrrZ1TFQPsi5QumS3gr8'
396396 let aV = base58'BpFWP3p3JgYrrP45xfrKzeMcWMEXoinj4FVPPkUiA8D3'
397397 let aW = if (sigVerify(aR.bodyBytes, aR.proofs[0], aT))
398398 then 1
399399 else if (sigVerify(aR.bodyBytes, aR.proofs[1], aT))
400400 then 1
401401 else if (sigVerify(aR.bodyBytes, aR.proofs[2], aT))
402402 then 1
403403 else 0
404404 let aX = if (sigVerify(aR.bodyBytes, aR.proofs[0], aU))
405405 then 1
406406 else if (sigVerify(aR.bodyBytes, aR.proofs[1], aU))
407407 then 1
408408 else if (sigVerify(aR.bodyBytes, aR.proofs[2], aU))
409409 then 1
410410 else 0
411411 let aY = if (sigVerify(aR.bodyBytes, aR.proofs[0], aV))
412412 then 1
413413 else if (sigVerify(aR.bodyBytes, aR.proofs[1], aV))
414414 then 1
415415 else if (sigVerify(aR.bodyBytes, aR.proofs[2], aV))
416416 then 1
417417 else 0
418418 let aZ = ((aW + aX) + aY)
419419 let c = aR
420420 (aZ >= 2)
421421 }
422422

github/deemru/w8io/169f3d6 
42.11 ms