tx · 5id7EACYnNq3sazZhRv5wmPx8uh1wJdz5HF3uPHuan3J

3P7aVqHv6fXkYuS4sRW2K17ENZMsbXi3sPV:  -0.01000000 Waves

2023.10.19 19:13 [3871569] smart account 3P7aVqHv6fXkYuS4sRW2K17ENZMsbXi3sPV > SELF 0.00000000 Waves

{ "type": 13, "id": "5id7EACYnNq3sazZhRv5wmPx8uh1wJdz5HF3uPHuan3J", "fee": 1000000, "feeAssetId": null, "timestamp": 1697732113990, "version": 2, "chainId": 87, "sender": "3P7aVqHv6fXkYuS4sRW2K17ENZMsbXi3sPV", "senderPublicKey": "5SevHzYFiymbFWe1GPt6nNYccPnfTbMft1DqZWfRH8GN", "proofs": [ "WV57mncPhYWS1nQXmbuDzYLxweXQVGj1RqFv1tEM4tWuYsb67ojEjUmAG55NV76tsQqQnZgk9zAGuvp9hucQ8fc" ], "script": "base64:BgIiCAISAwoBCBIECgIIARIDCgEIEgQKAggBEgMKAQESAwoBCCkBFHRyeUdldFN0cmluZ0V4dGVybmFsAgdhZGRyZXNzA2tleQQHJG1hdGNoMAkAnQgCBQdhZGRyZXNzBQNrZXkDCQABAgUHJG1hdGNoMAIGU3RyaW5nBAFhBQckbWF0Y2gwBQFhAgABDXRyeUdldEJvb2xlYW4BA2tleQQHJG1hdGNoMAkAoAgBBQNrZXkDCQABAgUHJG1hdGNoMAIHQm9vbGVhbgQBYgUHJG1hdGNoMAUBYgcBDHRyeUdldFN0cmluZwEDa2V5CQEUdHJ5R2V0U3RyaW5nRXh0ZXJuYWwCBQR0aGlzBQNrZXkBDXRyeUdldEludGVnZXIBA2tleQQHJG1hdGNoMAkAmggCBQR0aGlzBQNrZXkDCQABAgUHJG1hdGNoMAIDSW50BAFiBQckbWF0Y2gwBQFiAAABCWdldE9yYWNsZQAJAQdBZGRyZXNzAQkA2QQBCQEMdHJ5R2V0U3RyaW5nAQIUc3RhdGljX29yYWNsZUFkZHJlc3MBHnN0YXRpY0tleV90dXJ0bGVTdGFraW5nQWRkcmVzcwACG3N0YXRpY190dXJ0bGVTdGFraW5nQWRkcmVzcwEec3RhdGljS2V5X3R1cnRsZVJlYmlydGhBZGRyZXNzAAIbc3RhdGljX3R1cnRsZVJlYmlydGhBZGRyZXNzARVzdGF0aWNLZXlfcm9wZUFkZHJlc3MAAhJzdGF0aWNfcm9wZUFkZHJlc3MBHHN0YXRpY0tleV9sZXZlbFN5c3RlbUFkZHJlc3MAAhlzdGF0aWNfbGV2ZWxTeXN0ZW1BZGRyZXNzARZzdGF0aWNLZXlfc3BpY2VBc3NldElkAAITc3RhdGljX3NwaWNlQXNzZXRJZAEVc3RhdGljS2V5X21hcmtldHBsYWNlAAIZc3RhdGljX21hcmtldHBsYWNlQWRkcmVzcwERZ2V0UmViaXJ0aEFkZHJlc3MACQEHQWRkcmVzcwEJANkEAQkBFHRyeUdldFN0cmluZ0V4dGVybmFsAgkBCWdldE9yYWNsZQACFXN0YXRpY19yZWJpcnRoQWRkcmVzcwETZ2V0SW5jdWJhdG9yQWRkcmVzcwAJAQdBZGRyZXNzAQkA2QQBCQEUdHJ5R2V0U3RyaW5nRXh0ZXJuYWwCCQEJZ2V0T3JhY2xlAAIXc3RhdGljX2luY3ViYXRvckFkZHJlc3MBEWdldEZhcm1pbmdBZGRyZXNzAAkBB0FkZHJlc3MBCQDZBAEJARR0cnlHZXRTdHJpbmdFeHRlcm5hbAIJAQlnZXRPcmFjbGUAAhVzdGF0aWNfZmFybWluZ0FkZHJlc3MBEmdldEdhbWVEYXBwQWRkcmVzcwAJAQdBZGRyZXNzAQkA2QQBCQEUdHJ5R2V0U3RyaW5nRXh0ZXJuYWwCCQEJZ2V0T3JhY2xlAAIWc3RhdGljX2dhbWVEYXBwQWRkcmVzcwEOZ2V0QnVybkFkZHJlc3MACQEHQWRkcmVzcwEJANkEAQkBFHRyeUdldFN0cmluZ0V4dGVybmFsAgkBCWdldE9yYWNsZQACEnN0YXRpY19idXJuQWRkcmVzcwESZ2V0QmFieWR1Y2tBZGRyZXNzAAkBB0FkZHJlc3MBCQDZBAEJARR0cnlHZXRTdHJpbmdFeHRlcm5hbAIJAQlnZXRPcmFjbGUAAhZzdGF0aWNfYmFieUR1Y2tBZGRyZXNzARJnZXRCcmVlZGluZ0FkZHJlc3MACQEHQWRkcmVzcwEJANkEAQkBFHRyeUdldFN0cmluZ0V4dGVybmFsAgkBCWdldE9yYWNsZQACFXN0YXRpY19icmVlZGVyQWRkcmVzcwEQZ2V0TWFzdGVyQWRkcmVzcwAJAQdBZGRyZXNzAQkA2QQBCQEUdHJ5R2V0U3RyaW5nRXh0ZXJuYWwCCQEJZ2V0T3JhY2xlAAIWc3RhdGljX2NmTWFzdGVyQWRkcmVzcwEXZ2V0VHVydGxlU3Rha2luZ0FkZHJlc3MACQEHQWRkcmVzcwEJANkEAQkBFHRyeUdldFN0cmluZ0V4dGVybmFsAgkBCWdldE9yYWNsZQAJAR5zdGF0aWNLZXlfdHVydGxlU3Rha2luZ0FkZHJlc3MAARdnZXRUdXJ0bGVSZWJpcnRoQWRkcmVzcwAJAQdBZGRyZXNzAQkA2QQBCQEUdHJ5R2V0U3RyaW5nRXh0ZXJuYWwCCQEJZ2V0T3JhY2xlAAkBHnN0YXRpY0tleV90dXJ0bGVSZWJpcnRoQWRkcmVzcwABDmdldFJvcGVBZGRyZXNzAAkBB0FkZHJlc3MBCQDZBAEJARR0cnlHZXRTdHJpbmdFeHRlcm5hbAIJAQlnZXRPcmFjbGUACQEVc3RhdGljS2V5X3JvcGVBZGRyZXNzAAEPZ2V0U3BpY2VBc3NldElkAAkA2QQBCQEUdHJ5R2V0U3RyaW5nRXh0ZXJuYWwCCQEJZ2V0T3JhY2xlAAkBFnN0YXRpY0tleV9zcGljZUFzc2V0SWQAARVnZXRMZXZlbFN5c3RlbUFkZHJlc3MACQEHQWRkcmVzcwEJANkEAQkBFHRyeUdldFN0cmluZ0V4dGVybmFsAgkBCWdldE9yYWNsZQAJARxzdGF0aWNLZXlfbGV2ZWxTeXN0ZW1BZGRyZXNzAAEVZ2V0TWFya2V0UGxhY2VBZGRyZXNzAAkBB0FkZHJlc3MBCQDZBAEJARR0cnlHZXRTdHJpbmdFeHRlcm5hbAIJAQlnZXRPcmFjbGUACQEVc3RhdGljS2V5X21hcmtldHBsYWNlAAAId0FjY1BLZXkJANkEAQkBE3ZhbHVlT3JFcnJvck1lc3NhZ2UCCQCdCAIJAQlnZXRPcmFjbGUAAg9zdGF0aWNfd2Fyc1BLZXkCG3N0YXRpY193YXJzUEtleSBub3QgZGVmaW5lZAAPc2NDYW5Vc2VDb3Vwb25zCQDMCAIJARFnZXRSZWJpcnRoQWRkcmVzcwAJAMwIAgkBE2dldEluY3ViYXRvckFkZHJlc3MACQDMCAIJARFnZXRGYXJtaW5nQWRkcmVzcwAJAMwIAgkBEmdldEdhbWVEYXBwQWRkcmVzcwAJAMwIAgkBEmdldEJhYnlkdWNrQWRkcmVzcwAJAMwIAgkBEmdldEJyZWVkaW5nQWRkcmVzcwAJAMwIAgkBF2dldFR1cnRsZVN0YWtpbmdBZGRyZXNzAAkAzAgCCQEXZ2V0VHVydGxlUmViaXJ0aEFkZHJlc3MACQDMCAIJAQ5nZXRSb3BlQWRkcmVzcwAJAMwIAgkBFWdldExldmVsU3lzdGVtQWRkcmVzcwAJAMwIAgkBFWdldE1hcmtldFBsYWNlQWRkcmVzcwAJAMwIAgUEdGhpcwUDbmlsARBjb3Vwb25zVXNlclNwZW5kAQR1c2VyCQCsAgIFBHVzZXICBl9zcGVuZAERY291cG9uc1VzZXJBY3RpdmUBBHVzZXIJAKwCAgUEdXNlcgIHX2FjdGl2ZQEUY291cG9uc1VzZXJBY3RpdmVPbGQBBHVzZXIJAKwCAgkBEWNvdXBvbnNVc2VyQWN0aXZlAQUEdXNlcgIEX29sZAEQY291cG9uc1NwZW5kT25TYwECc2MJAKwCAgUCc2MCD19zcGVuZF9ieV91c2luZwEdYWN0aW9uUGVyQWRkcmVzc1BlclVzZXJQZXJEYXkEBHVzZXIGYWN0aW9uC2RhcHBBZGRyZXNzA2RheQkArAICCQCsAgIJAKwCAgkArAICCQCsAgIJAKwCAgkArAICBQtkYXBwQWRkcmVzcwIBXwUGYWN0aW9uAgFfBQR1c2VyAgFfBQNkYXkCCF9hY3Rpb25zASNhY3Rpb25QZXJBZGRyZXNzUGVyVXNlckxhc3RDaGVja0RheQIEdXNlcgZhY3Rpb24JAKwCAgkArAICCQCsAgIFBmFjdGlvbgIBXwUEdXNlcgISX2FjdGlvbnNfY2hlY2tfZGF5ASNhY3Rpb25QZXJBZGRyZXNzUGVyVXNlckFtb3VudEluQVJvdwIEdXNlcgZhY3Rpb24JAKwCAgkArAICCQCsAgIFBmFjdGlvbgIBXwUEdXNlcgIWX2FjdGlvbnNfYW1vdW50X2luX3JvdwEOdXNlckV4cGVyaWVuY2UBBHVzZXIJAKwCAgUEdXNlcgILX2V4cGVyaWVuY2UBEmFkZENvdXBvbnNJbnRlcm5hbAIEdXNlcgZhbW91bnQEBmtleU9sZAkBFGNvdXBvbnNVc2VyQWN0aXZlT2xkAQUEdXNlcgQDa2V5CQERY291cG9uc1VzZXJBY3RpdmUBBQR1c2VyBApjb3Vwb25zT2xkCQENdHJ5R2V0SW50ZWdlcgEFA2tleQQHY291cG9ucwkAZAIFCmNvdXBvbnNPbGQFBmFtb3VudAkAzAgCCQEMSW50ZWdlckVudHJ5AgUGa2V5T2xkBQpjb3Vwb25zT2xkCQDMCAIJAQxJbnRlZ2VyRW50cnkCBQNrZXkFB2NvdXBvbnMFA25pbAAJc3RhcnRUc01zAICI2PqrMQEXY2FsY3VsYXRlRGF5c1NpbmNlU3RhcnQABARkaWZmCQBlAggFCWxhc3RCbG9jawl0aW1lc3RhbXAFCXN0YXJ0VHNNcwQKZGF5c1Bhc3NlZAkAaQIFBGRpZmYJAGgCAICjBQDoBwUKZGF5c1Bhc3NlZAEQaGFzRG9uZVRhc2s3RGF5cwUDZGF5B2FkZHJlc3MKYWN0aW9uTmFtZQxyZXdhcmRBbW91bnQScmV3YXJkQW1vdW50V2Vla2x5BBF1c2VyRXhwZXJpZW5jZUtleQkBDnVzZXJFeHBlcmllbmNlAQUHYWRkcmVzcwQPdXNlckV4cFRpbGxkYXRlCQENdHJ5R2V0SW50ZWdlcgEFEXVzZXJFeHBlcmllbmNlS2V5BAtjaGVja0RheUtleQkBI2FjdGlvblBlckFkZHJlc3NQZXJVc2VyTGFzdENoZWNrRGF5AgUHYWRkcmVzcwUKYWN0aW9uTmFtZQQMZGF5c0luUm93S2V5CQEjYWN0aW9uUGVyQWRkcmVzc1BlclVzZXJBbW91bnRJbkFSb3cCBQdhZGRyZXNzBQphY3Rpb25OYW1lBAxsYXN0Q2hlY2tEYXkJAQ10cnlHZXRJbnRlZ2VyAQULY2hlY2tEYXlLZXkECWRheXNJblJvdwkBDXRyeUdldEludGVnZXIBBQxkYXlzSW5Sb3dLZXkED2RheXNJblJvd1VwZGF0ZQMJAAACBQxsYXN0Q2hlY2tEYXkJAGUCBQNkYXkAAQkAZAIFCWRheXNJblJvdwABAwkAZgIJAGUCBQNkYXkAAQUMbGFzdENoZWNrRGF5AAEAAAQSbGFzdENoZWNrRGF5VXBkYXRlBQNkYXkEBnJld2FyZAMJAAACBQ9kYXlzSW5Sb3dVcGRhdGUABwkAzAgCCQEOU2NyaXB0VHJhbnNmZXIDCQERQGV4dHJOYXRpdmUoMTA2MikBBQdhZGRyZXNzBRJyZXdhcmRBbW91bnRXZWVrbHkJAQ9nZXRTcGljZUFzc2V0SWQACQDMCAIJAQxJbnRlZ2VyRW50cnkCBQxkYXlzSW5Sb3dLZXkAAAUDbmlsCQDMCAIJAQxJbnRlZ2VyRW50cnkCBQxkYXlzSW5Sb3dLZXkFD2RheXNJblJvd1VwZGF0ZQUDbmlsCQDOCAIJAMwIAgkBDEludGVnZXJFbnRyeQIFC2NoZWNrRGF5S2V5BRJsYXN0Q2hlY2tEYXlVcGRhdGUJAMwIAgkBDlNjcmlwdFRyYW5zZmVyAwkBEUBleHRyTmF0aXZlKDEwNjIpAQUHYWRkcmVzcwUMcmV3YXJkQW1vdW50CQEPZ2V0U3BpY2VBc3NldElkAAkAzAgCCQEMSW50ZWdlckVudHJ5AgURdXNlckV4cGVyaWVuY2VLZXkJAGQCBQ91c2VyRXhwVGlsbGRhdGUAAQUDbmlsBQZyZXdhcmQBCXBheUFjdGlvbgQKYWN0aW9uTmFtZQt1c2VyQWRkcmVzcwZhbW91bnQDZGF5BAtjb21wb3NlZEtleQMJAQ10cnlHZXRCb29sZWFuAQkArAICCQCsAgICBVRBU0tfBQphY3Rpb25OYW1lAgZfRVZFUlkFCmFjdGlvbk5hbWUJAKwCAgkArAICBQphY3Rpb25OYW1lAgFfCQCkAwEFBmFtb3VudAMJAQ10cnlHZXRCb29sZWFuAQkArAICAgVUQVNLXwULY29tcG9zZWRLZXkJARBoYXNEb25lVGFzazdEYXlzBQUDZGF5CQClCAEFC3VzZXJBZGRyZXNzBQtjb21wb3NlZEtleQkBDXRyeUdldEludGVnZXIBCQCsAgIJAKwCAgIFVEFTS18FC2NvbXBvc2VkS2V5Ag1fUkVXQVJEX0RBSUxZCQENdHJ5R2V0SW50ZWdlcgEJAKwCAgkArAICAgVUQVNLXwULY29tcG9zZWRLZXkCDl9SRVdBUkRfV0VFS0xZBQNuaWwBFHJlY29yZEFjdGlvbkludGVybmFsAwphY3Rpb25OYW1lDWFkZHJlc3NDYWxsZXIHYWRkcmVzcwMJAQEhAQkBD2NvbnRhaW5zRWxlbWVudAIFD3NjQ2FuVXNlQ291cG9ucwUNYWRkcmVzc0NhbGxlcgkAAgECPUNSQTogT25seSBjZXJ0YWluIHNtYXJ0IGNvbnRyYWN0cyBjYW4gdXNlIHRoaXMgcmV3YXJkIG1vZHVsZSEEA2RheQkBF2NhbGN1bGF0ZURheXNTaW5jZVN0YXJ0AAQJYWN0aW9uS2V5CQEdYWN0aW9uUGVyQWRkcmVzc1BlclVzZXJQZXJEYXkECQClCAEFB2FkZHJlc3MFCmFjdGlvbk5hbWUJAKUIAQUNYWRkcmVzc0NhbGxlcgkApAMBBQNkYXkEDHRvdGFsQWN0aW9ucwkAZAIJAQ10cnlHZXRJbnRlZ2VyAQUJYWN0aW9uS2V5AAEJAM4IAgkAzAgCCQEMSW50ZWdlckVudHJ5AgUJYWN0aW9uS2V5BQx0b3RhbEFjdGlvbnMFA25pbAkBCXBheUFjdGlvbgQFCmFjdGlvbk5hbWUFB2FkZHJlc3MFDHRvdGFsQWN0aW9ucwUDZGF5BgFpAQ9jb25maWd1cmVPcmFjbGUBBm9yYWNsZQMJAQIhPQIIBQFpBmNhbGxlcgUEdGhpcwkAAgECD0NDTzogYWRtaW4gb25seQkAzAgCCQELU3RyaW5nRW50cnkCAhRzdGF0aWNfb3JhY2xlQWRkcmVzcwUGb3JhY2xlBQNuaWwBaQEKYWRkQ291cG9ucwIEdXNlcgZhbW91bnQDAwkBAiE9AggFAWkGY2FsbGVyBQR0aGlzCQECIT0CCAUBaQ9jYWxsZXJQdWJsaWNLZXkFCHdBY2NQS2V5BwkAAgECD0NBQzogYWRtaW4gb25seQMJAGcCBQZhbW91bnQAgK3iBAkAzggCCQEUcmVjb3JkQWN0aW9uSW50ZXJuYWwDAgxWRUdHMTAwMDAwMDAFBHRoaXMJARFAZXh0ck5hdGl2ZSgxMDYyKQEFBHVzZXIJARJhZGRDb3Vwb25zSW50ZXJuYWwCBQR1c2VyBQZhbW91bnQDCQBnAgUGYW1vdW50AKDCHgkAzggCCQEUcmVjb3JkQWN0aW9uSW50ZXJuYWwDAgpWRUdHNTAwMDAwBQR0aGlzCQERQGV4dHJOYXRpdmUoMTA2MikBBQR1c2VyCQESYWRkQ291cG9uc0ludGVybmFsAgUEdXNlcgUGYW1vdW50CQESYWRkQ291cG9uc0ludGVybmFsAgUEdXNlcgUGYW1vdW50AWkBD2FkZENvdXBvbnNCYXRjaAEFYmF0Y2gDAwkBAiE9AggFAWkGY2FsbGVyBQR0aGlzCQECIT0CCAUBaQ9jYWxsZXJQdWJsaWNLZXkFCHdBY2NQS2V5BwkAAgECD0NBQzogYWRtaW4gb25seQQLY291cG9uc0xpc3QJALUJAgUFYmF0Y2gCATsKAQxoYW5kbGVDb3Vwb24CA2FjYwZjb3Vwb24ECnNwbGl0QXJyYXkJALUJAgUGY291cG9uAgE6BAR1c2VyCQCRAwIFCnNwbGl0QXJyYXkAAAQGYW1vdW50CQENcGFyc2VJbnRWYWx1ZQEJAJEDAgUKc3BsaXRBcnJheQABBAhidXJuQ2FsbAkA/AcECQEOZ2V0QnVybkFkZHJlc3MAAgxidXJuQnlJbnZva2UJAMwIAgUGYW1vdW50BQNuaWwFA25pbAMJAAACBQhidXJuQ2FsbAUIYnVybkNhbGwDCQBnAgUGYW1vdW50AKDCHgkAzggCCQDOCAIFA2FjYwkBFHJlY29yZEFjdGlvbkludGVybmFsAwIKVkVHRzUwMDAwMAUEdGhpcwkBEUBleHRyTmF0aXZlKDEwNjIpAQUEdXNlcgkBEmFkZENvdXBvbnNJbnRlcm5hbAIFBHVzZXIFBmFtb3VudAkAzggCBQNhY2MJARJhZGRDb3Vwb25zSW50ZXJuYWwCBQR1c2VyBQZhbW91bnQJAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4KAAIkbAULY291cG9uc0xpc3QKAAIkcwkAkAMBBQIkbAoABSRhY2MwBQNuaWwKAQUkZjBfMQICJGECJGkDCQBnAgUCJGkFAiRzBQIkYQkBDGhhbmRsZUNvdXBvbgIFAiRhCQCRAwIFAiRsBQIkaQoBBSRmMF8yAgIkYQIkaQMJAGcCBQIkaQUCJHMFAiRhCQACAQIUTGlzdCBzaXplIGV4Y2VlZHMgMjAJAQUkZjBfMgIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIFBSRhY2MwAAAAAQACAAMABAAFAAYABwAIAAkACgALAAwADQAOAA8AEAARABIAEwAUAWkBCENGUmVmdW5kAglyZWNpcGllbnQGYW1vdW50BAljZkFkZHJlc3MJARFAZXh0ck5hdGl2ZSgxMDUzKQIIBQFpBmNhbGxlcgIKQ0ZfQUREUkVTUwQDa2V5CQCsAgIJAKwCAgICZl8FCWNmQWRkcmVzcwIOX3N0YWtlX2FkZHJlc3MEDHN0YWtlQWRkcmVzcwkBEUBleHRyTmF0aXZlKDEwNTMpAgkBEGdldE1hc3RlckFkZHJlc3MABQNrZXkDCQECIT0CBQxzdGFrZUFkZHJlc3MJAKUIAQgFAWkGY2FsbGVyCQACAQImQ0NSOiBUaGlzIGlzIHNvbWV0aGluZyBmaXNoeSBnb2luZyBvbiEJARJhZGRDb3Vwb25zSW50ZXJuYWwCBQlyZWNpcGllbnQFBmFtb3VudAFpAQp1c2VDb3Vwb25zARFhbW91bnRUcnlpbmdUb1BheQQKaW52b2tpbmdTYwgFAWkGY2FsbGVyAwkAZgIAAAURYW1vdW50VHJ5aW5nVG9QYXkJAAIBAi9DVUM6IE9ubHkgcG9zaXRpdmUgYW1vdW50IG9mIG1vbmV5IGNhbiBiZSBwYWlkIQMJAQEhAQkBD2NvbnRhaW5zRWxlbWVudAIFD3NjQ2FuVXNlQ291cG9ucwUKaW52b2tpbmdTYwkAAgECPUNVQzogT25seSBjZXJ0YWluIHNtYXJ0IGNvbnRyYWN0cyBjYW4gdXNlIHRoaXMgY291cG9uIG1vZHVsZSEEBHVzZXIJAKUIAQgFAWkMb3JpZ2luQ2FsbGVyBAlrZXlBY3RpdmUJARFjb3Vwb25zVXNlckFjdGl2ZQEFBHVzZXIEEGF2YWlsYWJsZUNvdXBvbnMJAQ10cnlHZXRJbnRlZ2VyAQUJa2V5QWN0aXZlAwkAZgIAAAUQYXZhaWxhYmxlQ291cG9ucwkAAgECDkNVQzogR2V0IHJla3QhBAlsZWZ0VG9QYXkDCQBmAgURYW1vdW50VHJ5aW5nVG9QYXkFEGF2YWlsYWJsZUNvdXBvbnMJAGUCBRFhbW91bnRUcnlpbmdUb1BheQUQYXZhaWxhYmxlQ291cG9ucwAABAphbW91bnRQYWlkCQBlAgURYW1vdW50VHJ5aW5nVG9QYXkFCWxlZnRUb1BheQQUYXZhaWxhYmxlQ291cG9uc0xlZnQJAGUCBRBhdmFpbGFibGVDb3Vwb25zBQphbW91bnRQYWlkAwkAZgIAAAUUYXZhaWxhYmxlQ291cG9uc0xlZnQJAAIBAhpDVUM6IFlvdSB0cnkgdG8gb3ZlcnNwZW5kIQQIa2V5U3BlbmQJARBjb3Vwb25zVXNlclNwZW5kAQUEdXNlcgQGa2V5T2xkCQEUY291cG9uc1VzZXJBY3RpdmVPbGQBBQR1c2VyBAprZXlTcGVuZFNjCQEQY291cG9uc1NwZW5kT25TYwEJAKUIAQgFAWkGY2FsbGVyBAp0b3RhbFNwZW5kCQBkAgkBDXRyeUdldEludGVnZXIBBQhrZXlTcGVuZAUKYW1vdW50UGFpZAQMdG90YWxTcGVuZFNjCQBkAgkBDXRyeUdldEludGVnZXIBBQprZXlTcGVuZFNjBQphbW91bnRQYWlkCQCUCgIJAMwIAgkBDEludGVnZXJFbnRyeQIFCGtleVNwZW5kBQp0b3RhbFNwZW5kCQDMCAIJAQxJbnRlZ2VyRW50cnkCBQZrZXlPbGQFEGF2YWlsYWJsZUNvdXBvbnMJAMwIAgkBDEludGVnZXJFbnRyeQIFCWtleUFjdGl2ZQUUYXZhaWxhYmxlQ291cG9uc0xlZnQJAMwIAgkBDEludGVnZXJFbnRyeQIFCmtleVNwZW5kU2MFDHRvdGFsU3BlbmRTYwUDbmlsBQphbW91bnRQYWlkAWkBDHJlY29yZEFjdGlvbgEKYWN0aW9uTmFtZQkBFHJlY29yZEFjdGlvbkludGVybmFsAwUKYWN0aW9uTmFtZQgFAWkGY2FsbGVyCAUBaQxvcmlnaW5DYWxsZXIA50BsJw==", "height": 3871569, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: AsiaHK4WQTFzVqzRBh6n5QBdbfWtym9zSCWV71aH9XkW Next: F2sPGJy1VJnaLDBq5p7GM8AstjgquH8YiKemdV3hJsrM Diff:
OldNewDifferences
176176 }
177177
178178
179-func as (ad,at,b) = if (!(containsElement(F, at.caller)))
179+func as (ad,at,b) = if (!(containsElement(F, at)))
180180 then throw("CRA: Only certain smart contracts can use this reward module!")
181181 else {
182182 let P = Z()
183- let au = M(toString(b), ad, toString(at.caller), toString(P))
183+ let au = M(toString(b), ad, toString(at), toString(P))
184184 let av = (i(au) + 1)
185185 ([IntegerEntry(au, av)] ++ ap(ad, b, av, P))
186186 }
187187
188188
189-@Callable(at)
190-func configureOracle (aw) = if ((at.caller != this))
189+@Callable(aw)
190+func configureOracle (ax) = if ((aw.caller != this))
191191 then throw("CCO: admin only")
192- else [StringEntry("static_oracleAddress", aw)]
192+ else [StringEntry("static_oracleAddress", ax)]
193193
194194
195195
196-@Callable(at)
197-func addCoupons (H,U) = if (if ((at.caller != this))
198- then (at.callerPublicKey != E)
196+@Callable(aw)
197+func addCoupons (H,U) = if (if ((aw.caller != this))
198+ then (aw.callerPublicKey != E)
199199 else false)
200200 then throw("CAC: admin only")
201- else if ((U >= 500000))
202- then (as("VEGG500000", at, addressFromStringValue(H)) ++ T(H, U))
203- else T(H, U)
201+ else if ((U >= 10000000))
202+ then (as("VEGG10000000", this, addressFromStringValue(H)) ++ T(H, U))
203+ else if ((U >= 500000))
204+ then (as("VEGG500000", this, addressFromStringValue(H)) ++ T(H, U))
205+ else T(H, U)
204206
205207
206208
207-@Callable(at)
208-func addCouponsBatch (ax) = if (if ((at.caller != this))
209- then (at.callerPublicKey != E)
209+@Callable(aw)
210+func addCouponsBatch (ay) = if (if ((aw.caller != this))
211+ then (aw.callerPublicKey != E)
210212 else false)
211213 then throw("CAC: admin only")
212214 else {
213- let ay = split(ax, ";")
214- func az (aA,aB) = {
215- let aC = split(aB, ":")
216- let H = aC[0]
217- let U = parseIntValue(aC[1])
218- let aD = invoke(u(), "burnByInvoke", [U], nil)
219- if ((aD == aD))
215+ let az = split(ay, ";")
216+ func aA (aB,aC) = {
217+ let aD = split(aC, ":")
218+ let H = aD[0]
219+ let U = parseIntValue(aD[1])
220+ let aE = invoke(u(), "burnByInvoke", [U], nil)
221+ if ((aE == aE))
220222 then if ((U >= 500000))
221- then ((aA ++ as("VEGG500000", at, addressFromStringValue(H))) ++ T(H, U))
222- else (aA ++ T(H, U))
223+ then ((aB ++ as("VEGG500000", this, addressFromStringValue(H))) ++ T(H, U))
224+ else (aB ++ T(H, U))
223225 else throw("Strict value is not equal to itself.")
224226 }
225227
226- let aE = ay
227- let aF = size(aE)
228- let aG = nil
229- func aH (aI,aJ) = if ((aJ >= aF))
230- then aI
231- else az(aI, aE[aJ])
228+ let aF = az
229+ let aG = size(aF)
230+ let aH = nil
231+ func aI (aJ,aK) = if ((aK >= aG))
232+ then aJ
233+ else aA(aJ, aF[aK])
232234
233- func aK (aI,aJ) = if ((aJ >= aF))
234- then aI
235+ func aL (aJ,aK) = if ((aK >= aG))
236+ then aJ
235237 else throw("List size exceeds 20")
236238
237- aK(aH(aH(aH(aH(aH(aH(aH(aH(aH(aH(aH(aH(aH(aH(aH(aH(aH(aH(aH(aH(aG, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10), 11), 12), 13), 14), 15), 16), 17), 18), 19), 20)
239+ aL(aI(aI(aI(aI(aI(aI(aI(aI(aI(aI(aI(aI(aI(aI(aI(aI(aI(aI(aI(aI(aH, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10), 11), 12), 13), 14), 15), 16), 17), 18), 19), 20)
238240 }
239241
240242
241243
242-@Callable(at)
243-func CFRefund (aL,U) = {
244- let aM = getStringValue(at.caller, "CF_ADDRESS")
245- let c = (("f_" + aM) + "_stake_address")
246- let aN = getStringValue(x(), c)
247- if ((aN != toString(at.caller)))
244+@Callable(aw)
245+func CFRefund (aM,U) = {
246+ let aN = getStringValue(aw.caller, "CF_ADDRESS")
247+ let c = (("f_" + aN) + "_stake_address")
248+ let aO = getStringValue(x(), c)
249+ if ((aO != toString(aw.caller)))
248250 then throw("CCR: This is something fishy going on!")
249- else T(aL, U)
251+ else T(aM, U)
250252 }
251253
252254
253255
254-@Callable(at)
255-func useCoupons (aO) = {
256- let aP = at.caller
257- if ((0 > aO))
256+@Callable(aw)
257+func useCoupons (aP) = {
258+ let aQ = aw.caller
259+ if ((0 > aP))
258260 then throw("CUC: Only positive amount of money can be paid!")
259- else if (!(containsElement(F, aP)))
261+ else if (!(containsElement(F, aQ)))
260262 then throw("CUC: Only certain smart contracts can use this coupon module!")
261263 else {
262- let H = toString(at.originCaller)
263- let aQ = I(H)
264- let aR = i(aQ)
265- if ((0 > aR))
264+ let H = toString(aw.originCaller)
265+ let aR = I(H)
266+ let aS = i(aR)
267+ if ((0 > aS))
266268 then throw("CUC: Get rekt!")
267269 else {
268- let aS = if ((aO > aR))
269- then (aO - aR)
270+ let aT = if ((aP > aS))
271+ then (aP - aS)
270272 else 0
271- let aT = (aO - aS)
272- let aU = (aR - aT)
273- if ((0 > aU))
273+ let aU = (aP - aT)
274+ let aV = (aS - aU)
275+ if ((0 > aV))
274276 then throw("CUC: You try to overspend!")
275277 else {
276- let aV = G(H)
278+ let aW = G(H)
277279 let V = J(H)
278- let aW = K(toString(at.caller))
279- let aX = (i(aV) + aT)
280- let aY = (i(aW) + aT)
281- $Tuple2([IntegerEntry(aV, aX), IntegerEntry(V, aR), IntegerEntry(aQ, aU), IntegerEntry(aW, aY)], aT)
280+ let aX = K(toString(aw.caller))
281+ let aY = (i(aW) + aU)
282+ let aZ = (i(aX) + aU)
283+ $Tuple2([IntegerEntry(aW, aY), IntegerEntry(V, aS), IntegerEntry(aR, aV), IntegerEntry(aX, aZ)], aU)
282284 }
283285 }
284286 }
286288
287289
288290
289-@Callable(at)
290-func recordAction (ad) = as(ad, at, at.originCaller)
291+@Callable(aw)
292+func recordAction (ad) = as(ad, aw.caller, aw.originCaller)
291293
292294
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 6 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 func a (b,c) = {
55 let d = getString(b, c)
66 if ($isInstanceOf(d, "String"))
77 then {
88 let e = d
99 e
1010 }
1111 else ""
1212 }
1313
1414
1515 func f (c) = {
1616 let d = getBoolean(c)
1717 if ($isInstanceOf(d, "Boolean"))
1818 then {
1919 let g = d
2020 g
2121 }
2222 else false
2323 }
2424
2525
2626 func h (c) = a(this, c)
2727
2828
2929 func i (c) = {
3030 let d = getInteger(this, c)
3131 if ($isInstanceOf(d, "Int"))
3232 then {
3333 let g = d
3434 g
3535 }
3636 else 0
3737 }
3838
3939
4040 func j () = Address(fromBase58String(h("static_oracleAddress")))
4141
4242
4343 func k () = "static_turtleStakingAddress"
4444
4545
4646 func l () = "static_turtleRebirthAddress"
4747
4848
4949 func m () = "static_ropeAddress"
5050
5151
5252 func n () = "static_levelSystemAddress"
5353
5454
5555 func o () = "static_spiceAssetId"
5656
5757
5858 func p () = "static_marketplaceAddress"
5959
6060
6161 func q () = Address(fromBase58String(a(j(), "static_rebirthAddress")))
6262
6363
6464 func r () = Address(fromBase58String(a(j(), "static_incubatorAddress")))
6565
6666
6767 func s () = Address(fromBase58String(a(j(), "static_farmingAddress")))
6868
6969
7070 func t () = Address(fromBase58String(a(j(), "static_gameDappAddress")))
7171
7272
7373 func u () = Address(fromBase58String(a(j(), "static_burnAddress")))
7474
7575
7676 func v () = Address(fromBase58String(a(j(), "static_babyDuckAddress")))
7777
7878
7979 func w () = Address(fromBase58String(a(j(), "static_breederAddress")))
8080
8181
8282 func x () = Address(fromBase58String(a(j(), "static_cfMasterAddress")))
8383
8484
8585 func y () = Address(fromBase58String(a(j(), k())))
8686
8787
8888 func z () = Address(fromBase58String(a(j(), l())))
8989
9090
9191 func A () = Address(fromBase58String(a(j(), m())))
9292
9393
9494 func B () = fromBase58String(a(j(), o()))
9595
9696
9797 func C () = Address(fromBase58String(a(j(), n())))
9898
9999
100100 func D () = Address(fromBase58String(a(j(), p())))
101101
102102
103103 let E = fromBase58String(valueOrErrorMessage(getString(j(), "static_warsPKey"), "static_warsPKey not defined"))
104104
105105 let F = [q(), r(), s(), t(), v(), w(), y(), z(), A(), C(), D(), this]
106106
107107 func G (H) = (H + "_spend")
108108
109109
110110 func I (H) = (H + "_active")
111111
112112
113113 func J (H) = (I(H) + "_old")
114114
115115
116116 func K (L) = (L + "_spend_by_using")
117117
118118
119119 func M (H,N,O,P) = (((((((O + "_") + N) + "_") + H) + "_") + P) + "_actions")
120120
121121
122122 func Q (H,N) = (((N + "_") + H) + "_actions_check_day")
123123
124124
125125 func R (H,N) = (((N + "_") + H) + "_actions_amount_in_row")
126126
127127
128128 func S (H) = (H + "_experience")
129129
130130
131131 func T (H,U) = {
132132 let V = J(H)
133133 let c = I(H)
134134 let W = i(c)
135135 let X = (W + U)
136136 [IntegerEntry(V, W), IntegerEntry(c, X)]
137137 }
138138
139139
140140 let Y = 1695427200000
141141
142142 func Z () = {
143143 let aa = (lastBlock.timestamp - Y)
144144 let ab = (aa / (86400 * 1000))
145145 ab
146146 }
147147
148148
149149 func ac (P,b,ad,ae,af) = {
150150 let ag = S(b)
151151 let ah = i(ag)
152152 let ai = Q(b, ad)
153153 let aj = R(b, ad)
154154 let ak = i(ai)
155155 let al = i(aj)
156156 let am = if ((ak == (P - 1)))
157157 then (al + 1)
158158 else if (((P - 1) > ak))
159159 then 1
160160 else 0
161161 let an = P
162162 let ao = if ((am == 7))
163163 then [ScriptTransfer(addressFromStringValue(b), af, B()), IntegerEntry(aj, 0)]
164164 else [IntegerEntry(aj, am)]
165165 ([IntegerEntry(ai, an), ScriptTransfer(addressFromStringValue(b), ae, B()), IntegerEntry(ag, (ah + 1))] ++ ao)
166166 }
167167
168168
169169 func ap (ad,aq,U,P) = {
170170 let ar = if (f((("TASK_" + ad) + "_EVERY")))
171171 then ad
172172 else ((ad + "_") + toString(U))
173173 if (f(("TASK_" + ar)))
174174 then ac(P, toString(aq), ar, i((("TASK_" + ar) + "_REWARD_DAILY")), i((("TASK_" + ar) + "_REWARD_WEEKLY")))
175175 else nil
176176 }
177177
178178
179-func as (ad,at,b) = if (!(containsElement(F, at.caller)))
179+func as (ad,at,b) = if (!(containsElement(F, at)))
180180 then throw("CRA: Only certain smart contracts can use this reward module!")
181181 else {
182182 let P = Z()
183- let au = M(toString(b), ad, toString(at.caller), toString(P))
183+ let au = M(toString(b), ad, toString(at), toString(P))
184184 let av = (i(au) + 1)
185185 ([IntegerEntry(au, av)] ++ ap(ad, b, av, P))
186186 }
187187
188188
189-@Callable(at)
190-func configureOracle (aw) = if ((at.caller != this))
189+@Callable(aw)
190+func configureOracle (ax) = if ((aw.caller != this))
191191 then throw("CCO: admin only")
192- else [StringEntry("static_oracleAddress", aw)]
192+ else [StringEntry("static_oracleAddress", ax)]
193193
194194
195195
196-@Callable(at)
197-func addCoupons (H,U) = if (if ((at.caller != this))
198- then (at.callerPublicKey != E)
196+@Callable(aw)
197+func addCoupons (H,U) = if (if ((aw.caller != this))
198+ then (aw.callerPublicKey != E)
199199 else false)
200200 then throw("CAC: admin only")
201- else if ((U >= 500000))
202- then (as("VEGG500000", at, addressFromStringValue(H)) ++ T(H, U))
203- else T(H, U)
201+ else if ((U >= 10000000))
202+ then (as("VEGG10000000", this, addressFromStringValue(H)) ++ T(H, U))
203+ else if ((U >= 500000))
204+ then (as("VEGG500000", this, addressFromStringValue(H)) ++ T(H, U))
205+ else T(H, U)
204206
205207
206208
207-@Callable(at)
208-func addCouponsBatch (ax) = if (if ((at.caller != this))
209- then (at.callerPublicKey != E)
209+@Callable(aw)
210+func addCouponsBatch (ay) = if (if ((aw.caller != this))
211+ then (aw.callerPublicKey != E)
210212 else false)
211213 then throw("CAC: admin only")
212214 else {
213- let ay = split(ax, ";")
214- func az (aA,aB) = {
215- let aC = split(aB, ":")
216- let H = aC[0]
217- let U = parseIntValue(aC[1])
218- let aD = invoke(u(), "burnByInvoke", [U], nil)
219- if ((aD == aD))
215+ let az = split(ay, ";")
216+ func aA (aB,aC) = {
217+ let aD = split(aC, ":")
218+ let H = aD[0]
219+ let U = parseIntValue(aD[1])
220+ let aE = invoke(u(), "burnByInvoke", [U], nil)
221+ if ((aE == aE))
220222 then if ((U >= 500000))
221- then ((aA ++ as("VEGG500000", at, addressFromStringValue(H))) ++ T(H, U))
222- else (aA ++ T(H, U))
223+ then ((aB ++ as("VEGG500000", this, addressFromStringValue(H))) ++ T(H, U))
224+ else (aB ++ T(H, U))
223225 else throw("Strict value is not equal to itself.")
224226 }
225227
226- let aE = ay
227- let aF = size(aE)
228- let aG = nil
229- func aH (aI,aJ) = if ((aJ >= aF))
230- then aI
231- else az(aI, aE[aJ])
228+ let aF = az
229+ let aG = size(aF)
230+ let aH = nil
231+ func aI (aJ,aK) = if ((aK >= aG))
232+ then aJ
233+ else aA(aJ, aF[aK])
232234
233- func aK (aI,aJ) = if ((aJ >= aF))
234- then aI
235+ func aL (aJ,aK) = if ((aK >= aG))
236+ then aJ
235237 else throw("List size exceeds 20")
236238
237- aK(aH(aH(aH(aH(aH(aH(aH(aH(aH(aH(aH(aH(aH(aH(aH(aH(aH(aH(aH(aH(aG, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10), 11), 12), 13), 14), 15), 16), 17), 18), 19), 20)
239+ aL(aI(aI(aI(aI(aI(aI(aI(aI(aI(aI(aI(aI(aI(aI(aI(aI(aI(aI(aI(aI(aH, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10), 11), 12), 13), 14), 15), 16), 17), 18), 19), 20)
238240 }
239241
240242
241243
242-@Callable(at)
243-func CFRefund (aL,U) = {
244- let aM = getStringValue(at.caller, "CF_ADDRESS")
245- let c = (("f_" + aM) + "_stake_address")
246- let aN = getStringValue(x(), c)
247- if ((aN != toString(at.caller)))
244+@Callable(aw)
245+func CFRefund (aM,U) = {
246+ let aN = getStringValue(aw.caller, "CF_ADDRESS")
247+ let c = (("f_" + aN) + "_stake_address")
248+ let aO = getStringValue(x(), c)
249+ if ((aO != toString(aw.caller)))
248250 then throw("CCR: This is something fishy going on!")
249- else T(aL, U)
251+ else T(aM, U)
250252 }
251253
252254
253255
254-@Callable(at)
255-func useCoupons (aO) = {
256- let aP = at.caller
257- if ((0 > aO))
256+@Callable(aw)
257+func useCoupons (aP) = {
258+ let aQ = aw.caller
259+ if ((0 > aP))
258260 then throw("CUC: Only positive amount of money can be paid!")
259- else if (!(containsElement(F, aP)))
261+ else if (!(containsElement(F, aQ)))
260262 then throw("CUC: Only certain smart contracts can use this coupon module!")
261263 else {
262- let H = toString(at.originCaller)
263- let aQ = I(H)
264- let aR = i(aQ)
265- if ((0 > aR))
264+ let H = toString(aw.originCaller)
265+ let aR = I(H)
266+ let aS = i(aR)
267+ if ((0 > aS))
266268 then throw("CUC: Get rekt!")
267269 else {
268- let aS = if ((aO > aR))
269- then (aO - aR)
270+ let aT = if ((aP > aS))
271+ then (aP - aS)
270272 else 0
271- let aT = (aO - aS)
272- let aU = (aR - aT)
273- if ((0 > aU))
273+ let aU = (aP - aT)
274+ let aV = (aS - aU)
275+ if ((0 > aV))
274276 then throw("CUC: You try to overspend!")
275277 else {
276- let aV = G(H)
278+ let aW = G(H)
277279 let V = J(H)
278- let aW = K(toString(at.caller))
279- let aX = (i(aV) + aT)
280- let aY = (i(aW) + aT)
281- $Tuple2([IntegerEntry(aV, aX), IntegerEntry(V, aR), IntegerEntry(aQ, aU), IntegerEntry(aW, aY)], aT)
280+ let aX = K(toString(aw.caller))
281+ let aY = (i(aW) + aU)
282+ let aZ = (i(aX) + aU)
283+ $Tuple2([IntegerEntry(aW, aY), IntegerEntry(V, aS), IntegerEntry(aR, aV), IntegerEntry(aX, aZ)], aU)
282284 }
283285 }
284286 }
285287 }
286288
287289
288290
289-@Callable(at)
290-func recordAction (ad) = as(ad, at, at.originCaller)
291+@Callable(aw)
292+func recordAction (ad) = as(ad, aw.caller, aw.originCaller)
291293
292294

github/deemru/w8io/3ef1775 
72.34 ms