tx · CG3nXtDMxaCrum246HwTuH2zVJBygrxjyZxHbzeQV6KQ

3MrU8t5Wx9ajfyETieepahKgSCWGtATeh87:  -0.01700000 Waves

2024.10.02 11:17 [3308979] smart account 3MrU8t5Wx9ajfyETieepahKgSCWGtATeh87 > SELF 0.00000000 Waves

{ "type": 13, "id": "CG3nXtDMxaCrum246HwTuH2zVJBygrxjyZxHbzeQV6KQ", "fee": 1700000, "feeAssetId": null, "timestamp": 1727857107172, "version": 2, "chainId": 84, "sender": "3MrU8t5Wx9ajfyETieepahKgSCWGtATeh87", "senderPublicKey": "7WDPUuBC51vQqP8P3ZYMdeVCfeo831UErtgqvbZh39mp", "proofs": [ "4HNQ2PidXVwbiQHiGAJf5bePhMNnZ9W15RMoGeSKa99MZPP2ooqLVLM7eC9kCd9otegZ3UNFtCpsawCGwy28xtvx" ], "script": "base64:BgJACAISAwoBCBIDCgEBEgMKAQESAwoBCBIDCgEIEgMKAQgSBAoCCAgSBQoDCAgIEgUKAwgICBIECgIICBIECgIICCABFHRyeUdldFN0cmluZ0V4dGVybmFsAgdhZGRyZXNzA2tleQQHJG1hdGNoMAkAnQgCBQdhZGRyZXNzBQNrZXkDCQABAgUHJG1hdGNoMAIGU3RyaW5nBAFhBQckbWF0Y2gwBQFhAgABDHRyeUdldFN0cmluZwEDa2V5CQEUdHJ5R2V0U3RyaW5nRXh0ZXJuYWwCBQR0aGlzBQNrZXkBHnN0YXRpY0tleV90dXJ0bGVSZWJpcnRoQWRkcmVzcwACG3N0YXRpY190dXJ0bGVSZWJpcnRoQWRkcmVzcwEJZ2V0T3JhY2xlAAkBB0FkZHJlc3MBCQDZBAEJAQx0cnlHZXRTdHJpbmcBAhRzdGF0aWNfb3JhY2xlQWRkcmVzcwENZ2V0RWdnQXNzZXRJZAAJANkEAQkBFHRyeUdldFN0cmluZ0V4dGVybmFsAgkBCWdldE9yYWNsZQACEXN0YXRpY19lZ2dBc3NldElkARFnZXRSZWJpcnRoQWRkcmVzcwAJAQdBZGRyZXNzAQkA2QQBCQEUdHJ5R2V0U3RyaW5nRXh0ZXJuYWwCCQEJZ2V0T3JhY2xlAAIVc3RhdGljX3JlYmlydGhBZGRyZXNzARJnZXRCYWJ5RHVja0FkZHJlc3MACQEHQWRkcmVzcwEJANkEAQkBFHRyeUdldFN0cmluZ0V4dGVybmFsAgkBCWdldE9yYWNsZQACFnN0YXRpY19iYWJ5RHVja0FkZHJlc3MBFWdldFJlZkNvbnRyYWN0QWRkcmVzcwAJAQdBZGRyZXNzAQkA2QQBCQEUdHJ5R2V0U3RyaW5nRXh0ZXJuYWwCCQEJZ2V0T3JhY2xlAAIZc3RhdGljX3JlZkNvbnRyYWN0QWRkcmVzcwERZ2V0Q291cG9uc0FkZHJlc3MACQEHQWRkcmVzcwEJANkEAQkBFHRyeUdldFN0cmluZ0V4dGVybmFsAgkBCWdldE9yYWNsZQACFXN0YXRpY19jb3Vwb25zQWRkcmVzcwEOZ2V0QnVybkFkZHJlc3MACQEHQWRkcmVzcwEJANkEAQkBFHRyeUdldFN0cmluZ0V4dGVybmFsAgkBCWdldE9yYWNsZQACEnN0YXRpY19idXJuQWRkcmVzcwEXZ2V0VHVydGxlUmViaXJ0aEFkZHJlc3MACQEHQWRkcmVzcwEJANkEAQkBFHRyeUdldFN0cmluZ0V4dGVybmFsAgkBCWdldE9yYWNsZQAJAR5zdGF0aWNLZXlfdHVydGxlUmViaXJ0aEFkZHJlc3MAABBkZWxheUZvckhhdGNoaW5nAAIAC3R5cGVzQW1vdW50AAoADVJlZmVyZXJSZXdhcmQABQAPSGF0Y2hpbmdTdGFydGVkAhBIQVRDSElOR19TVEFSVEVEABBIYXRjaGluZ0ZpbmlzaGVkAhFIQVRDSElOR19GSU5JU0hFRAEIaXNMb2NrZWQABA1tYXN0ZXJBZGRyZXNzCQEHQWRkcmVzcwEBGgFXiLIGIfCAykGiMgAjHv+piSJIOd1wFskJBAckbWF0Y2gwCQCaCAIFDW1hc3RlckFkZHJlc3MCB2VnZ2xvY2sDCQABAgUHJG1hdGNoMAIDSW50BAFiBQckbWF0Y2gwBQFiAAABFGdldEhhdGNoaW5nU3RhdHVzS2V5AgdhZGRyZXNzBHR4SWQJAKwCAgkArAICCQCsAgIFB2FkZHJlc3MCAV8JANgEAQUEdHhJZAIHX3N0YXR1cwEaZ2V0SGF0Y2hpbmdGaW5pc2hIZWlnaHRLZXkCB2FkZHJlc3MEdHhJZAkArAICCQCsAgIJAKwCAgUHYWRkcmVzcwIBXwkA2AQBBQR0eElkAgNfZmgBDGdldER1Y2tJZEtleQIHYWRkcmVzcwR0eElkCQCsAgIJAKwCAgkArAICBQdhZGRyZXNzAgFfCQDYBAEFBHR4SWQCA19kaQEPZ2V0RHVja1N0YXRzS2V5AQlnZW5TdHJpbmcJAKwCAgkArAICAgZzdGF0c18FCWdlblN0cmluZwIHX2Ftb3VudAENdHJ5R2V0SW50ZWdlcgEDa2V5BAN2YWwEByRtYXRjaDAJAJoIAgUEdGhpcwUDa2V5AwkAAQIFByRtYXRjaDACA0ludAQBYgUHJG1hdGNoMAUBYgAABQN2YWwAE2Rpc2NvdW50Q29lZmZpY2llbnQJAQ10cnlHZXRJbnRlZ2VyAQITZGlzY291bnRDb2VmZmljaWVudAAPc2FsZUNvZWZmaWNpZW50CQENdHJ5R2V0SW50ZWdlcgECD3NhbGVDb2VmZmljaWVudAEPZ2V0UmFuZG9tTnVtYmVyBAh2YXJpYW50cwR0eElkFGhhdGNoaW5nRmluaXNoSGVpZ2h0Bm9mZnNldAQPcmFuZG9tU2VlZEJsb2NrCQEFdmFsdWUBCQDtBwEJAGUCBRRoYXRjaGluZ0ZpbmlzaEhlaWdodAABBApyYW5kb21IYXNoCQD3AwEJAMsBAgkAywECAQcTAv2Md8TRBQR0eElkCQEFdmFsdWUBCAUPcmFuZG9tU2VlZEJsb2NrA3ZyZgkAagIJALIJAgUKcmFuZG9tSGFzaAUGb2Zmc2V0BQh2YXJpYW50cwENd2FzVW5pcXVlQm9ybgEDZ2VuCQENdHJ5R2V0SW50ZWdlcgEJAQ9nZXREdWNrU3RhdHNLZXkBBQNnZW4BDWdldFJhbmRvbU5hbWUCBHR4SWQUaGF0Y2hpbmdGaW5pc2hIZWlnaHQEDWphY2twb3RSYW5kb20JAQ9nZXRSYW5kb21OdW1iZXIEAMgBBQR0eElkBRRoYXRjaGluZ0ZpbmlzaEhlaWdodAAEBAVlbnRyeQkBDEludGVnZXJFbnRyeQICE2xhc3RfamFja3BvdF9yYW5kb20FDWphY2twb3RSYW5kb20ECnR5cGVSYW5kb20JAQ9nZXRSYW5kb21OdW1iZXIEAAQFBHR4SWQFFGhhdGNoaW5nRmluaXNoSGVpZ2h0AAUEC2NvbG9yUmFuZG9tCQEPZ2V0UmFuZG9tTnVtYmVyBAAEBQR0eElkBRRoYXRjaGluZ0ZpbmlzaEhlaWdodAAGBAVjb2xvcgMJAAACBQtjb2xvclJhbmRvbQAAAgFZAwkAAAIFC2NvbG9yUmFuZG9tAAECAUcDCQAAAgULY29sb3JSYW5kb20AAgIBQgIBUgMJAAACBQp0eXBlUmFuZG9tAAAJAJUKAwkArAICAg9EVUNLLU1NTU1NTU1NLUcFBWNvbG9yAgQ4TS1HBQVlbnRyeQMJAAACBQp0eXBlUmFuZG9tAAEJAJUKAwkArAICAg9EVUNLLU5OTk5OTk5OLUcFBWNvbG9yAgQ4Ti1HBQVlbnRyeQMJAAACBQp0eXBlUmFuZG9tAAIJAJUKAwkArAICAg9EVUNLLU9PT09PT09PLUcFBWNvbG9yAgQ4Ty1HBQVlbnRyeQkAlQoDCQCsAgICD0RVQ0stUFBQUFBQUFAtRwUFY29sb3ICBDhQLUcFBWVudHJ5ARVjb3VudEVnZ3NOZWVkZWRBbW91bnQBEHRvdGFsRHVja3NBbW91bnQEAW4FEHRvdGFsRHVja3NBbW91bnQEAWcFE2Rpc2NvdW50Q29lZmZpY2llbnQEAXMFD3NhbGVDb2VmZmljaWVudAQBdAULdHlwZXNBbW91bnQEBXByaWNlCQBsBgkAZAIAZAkAaQIJAGgCBQFuBQFnCQBoAgAKBQF0AAIABQABAAIFBERPV04DCQAAAgUPc2FsZUNvZWZmaWNpZW50AAAJAGgCBQVwcmljZQDAhD0JAGgCCQBpAgkAaAIFBXByaWNlAMCEPQBkCQBlAgBkBQ9zYWxlQ29lZmZpY2llbnQBBWFzSW50AQV2YWx1ZQQHJG1hdGNoMAUFdmFsdWUDCQABAgUHJG1hdGNoMAIDSW50BANpbnQFByRtYXRjaDAFA2ludAkAAgECHklBSTogd3JvbmcgdHlwZSwgZXhwZWN0ZWQ6IEludAEWZmluaXNoSGF0Y2hpbmdJbnRlcm5hbAIHdHhJZFN0cgVvd25lcgQEdHhJZAkA2QQBBQd0eElkU3RyBBFoYXRjaGluZ1N0YXR1c0tleQkBFGdldEhhdGNoaW5nU3RhdHVzS2V5AgUFb3duZXIFBHR4SWQED2ZpbmlzaEhlaWdodEtleQkBGmdldEhhdGNoaW5nRmluaXNoSGVpZ2h0S2V5AgUFb3duZXIFBHR4SWQECWR1Y2tJZEtleQkBDGdldER1Y2tJZEtleQIFBW93bmVyBQR0eElkBAxkdWNrRnJvbUJhYnkEByRtYXRjaDAJAKAIAQkArAICCQCsAgICCWhhdGNoaW5nXwUHdHhJZFN0cgIJX2JhYnlEdWNrAwkAAQIFByRtYXRjaDACB0Jvb2xlYW4EAXQFByRtYXRjaDAFAXQHBBBoYXRjaGluZ1R4U3RhdHVzCQERQGV4dHJOYXRpdmUoMTA1MykCBQR0aGlzBRFoYXRjaGluZ1N0YXR1c0tleQQUaGF0Y2hpbmdGaW5pc2hIZWlnaHQJARFAZXh0ck5hdGl2ZSgxMDUwKQIFBHRoaXMFD2ZpbmlzaEhlaWdodEtleQMJAAACBRBoYXRjaGluZ1R4U3RhdHVzBRBIYXRjaGluZ0ZpbmlzaGVkBAZkdWNrSWQJARFAZXh0ck5hdGl2ZSgxMDUzKQIFBHRoaXMJAQxnZXREdWNrSWRLZXkCBQVvd25lcgUEdHhJZAkAAgEJAKwCAgJGSUZESDogVGhlIGR1Y2sgd2FzIGhhdGNoZWQgYW5kIGNsYWltZWQgYWxyZWFkeSwgaGVyZSBpcyB0aGUgZm9sb3dpbmc6IAUGZHVja0lkAwkAZgIFFGhhdGNoaW5nRmluaXNoSGVpZ2h0BQZoZWlnaHQJAAIBCQCsAgIJAKwCAgkArAICCQCsAgICHUhhdGNoaW5nIGlzIG5vdCBmaW5pc2hlZCB5ZXQgCQCkAwEJAGUCBRRoYXRjaGluZ0ZpbmlzaEhlaWdodAUGaGVpZ2h0AicgYmxvY2tzIHJlbWFpbmluZywgaXQgd2lsbCB0YWtlIGFyb3VuZCAJAKQDAQkAZQIFFGhhdGNoaW5nRmluaXNoSGVpZ2h0BQZoZWlnaHQCCCBtaW51dGVzBAskdDA1NTA1NTU5MQkBDWdldFJhbmRvbU5hbWUCBQR0eElkBRRoYXRjaGluZ0ZpbmlzaEhlaWdodAQHZHVja0dlbggFCyR0MDU1MDU1NTkxAl8xBAdmYXJtR2VuCAULJHQwNTUwNTU1OTECXzIEEmphY2twb3RSYW5kb21FbnRyeQgFCyR0MDU1MDU1NTkxAl8zBAtkZXNjcmlwdGlvbgkArAICCQCsAgICDnsiZ2Vub3R5cGUiOiAiBQdkdWNrR2VuAhkiLCAiY3Jvc3NicmVlZGluZyI6IHRydWV9BAVhc3NldAkAwwgHBQdkdWNrR2VuBQtkZXNjcmlwdGlvbgABAAAHBQR1bml0BRRoYXRjaGluZ0ZpbmlzaEhlaWdodAQHYXNzZXRJZAkAuAgBBQVhc3NldAQGYW1vdW50CQBkAgkBDXRyeUdldEludGVnZXIBCQEPZ2V0RHVja1N0YXRzS2V5AQUHZHVja0dlbgABCQDMCAIJAQtTdHJpbmdFbnRyeQIFEWhhdGNoaW5nU3RhdHVzS2V5BRBIYXRjaGluZ0ZpbmlzaGVkCQDMCAIJAQtTdHJpbmdFbnRyeQIFCWR1Y2tJZEtleQkA2AQBBQdhc3NldElkCQDMCAIJAQtTdHJpbmdFbnRyeQIJANgEAQUHYXNzZXRJZAUJZHVja0lkS2V5CQDMCAIJAQxCb29sZWFuRW50cnkCCQCsAgIJAKwCAgIFZHVja18JANgEAQUHYXNzZXRJZAIGX2dyb3duBQxkdWNrRnJvbUJhYnkJAMwIAgkBDEludGVnZXJFbnRyeQIJAQ9nZXREdWNrU3RhdHNLZXkBBQdkdWNrR2VuBQZhbW91bnQJAMwIAgUSamFja3BvdFJhbmRvbUVudHJ5CQDMCAIJAQxJbnRlZ2VyRW50cnkCCQCsAgIJAKwCAgIGc3RhdHNfBQdmYXJtR2VuAglfcXVhbnRpdHkJAGQCCQENdHJ5R2V0SW50ZWdlcgEJAKwCAgkArAICAgZzdGF0c18FB2Zhcm1HZW4CCV9xdWFudGl0eQABCQDMCAIFBWFzc2V0CQDMCAIJAQ5TY3JpcHRUcmFuc2ZlcgMJAQdBZGRyZXNzAQkA2QQBBQVvd25lcgABBQdhc3NldElkBQNuaWwBB2dldEJvb2wBA2tleQQHJG1hdGNoMAkAmwgCBQR0aGlzBQNrZXkDCQABAgUHJG1hdGNoMAIHQm9vbGVhbgQBYgUHJG1hdGNoMAUBYgcBCWlzVGVzdEVudgAJAQdnZXRCb29sAQIHVEVTVEVOVgsBaQEPY29uZmlndXJlT3JhY2xlAQZvcmFjbGUDCQECIT0CCAUBaQZjYWxsZXIFBHRoaXMJAAIBAg9JQ1U6IGFkbWluIG9ubHkJAMwIAgkBC1N0cmluZ0VudHJ5AgIUc3RhdGljX29yYWNsZUFkZHJlc3MFBm9yYWNsZQUDbmlsAWkBC3NldERpc2NvdW50AQN2YWwDCQECIT0CCAUBaQZjYWxsZXIFBHRoaXMJAAIBAg9JU0Q6IGFkbWluX29ubHkJAMwIAgkBDEludGVnZXJFbnRyeQICE2Rpc2NvdW50Q29lZmZpY2llbnQFA3ZhbAUDbmlsAWkBB3NldFNhbGUBA3ZhbAMJAQIhPQIIBQFpBmNhbGxlcgUEdGhpcwkAAgECD0lTUzogYWRtaW5fb25seQkAzAgCCQEMSW50ZWdlckVudHJ5AgIPc2FsZUNvZWZmaWNpZW50BQN2YWwFA25pbAFpARFzdGFydER1Y2tIYXRjaGluZwEOcmVmZXJlckFkZHJlc3MDCQECIT0CCQESZ2V0QmFieUR1Y2tBZGRyZXNzAAgFAWkGY2FsbGVyCQACAQI8SVNESEZBOiBGcm9tIG5vdyBvbiB0aGlzIGlzIG9ubHkgcG9zc2libGUgdGhyb3VnaCBkdWNrbGluZ3MhAwkAZgIJAQhpc0xvY2tlZAAAAAkAAgECK0lTREg6IEVHRyBvcGVyYXRpb25zIGFyZSB0ZW1wb3JhcmlseSBsb2NrZWQEEHRvdGFsRHVja3NBbW91bnQJAQ10cnlHZXRJbnRlZ2VyAQIMZHVja3NfYW1vdW50BAplZ2dzTmVlZGVkCQEVY291bnRFZ2dzTmVlZGVkQW1vdW50AQUQdG90YWxEdWNrc0Ftb3VudAkAzAgCCQELU3RyaW5nRW50cnkCCQEUZ2V0SGF0Y2hpbmdTdGF0dXNLZXkCCQClCAEIBQFpDG9yaWdpbkNhbGxlcggFAWkNdHJhbnNhY3Rpb25JZAUPSGF0Y2hpbmdTdGFydGVkCQDMCAIJAQxJbnRlZ2VyRW50cnkCCQEaZ2V0SGF0Y2hpbmdGaW5pc2hIZWlnaHRLZXkCCQClCAEIBQFpDG9yaWdpbkNhbGxlcggFAWkNdHJhbnNhY3Rpb25JZAkAZAIFBmhlaWdodAUQZGVsYXlGb3JIYXRjaGluZwkAzAgCCQEMSW50ZWdlckVudHJ5AgIMZHVja3NfYW1vdW50CQBkAgUQdG90YWxEdWNrc0Ftb3VudAABCQDMCAIJAQxJbnRlZ2VyRW50cnkCAhBkdWNrc19sYXN0X3ByaWNlCQBpAgUKZWdnc05lZWRlZADAhD0JAMwIAgkBDEJvb2xlYW5FbnRyeQIJAKwCAgkArAICAgloYXRjaGluZ18JANgEAQgFAWkNdHJhbnNhY3Rpb25JZAIJX2JhYnlEdWNrBgUDbmlsAWkBG3N0YXJ0RHVja0hhdGNoaW5nRm9yQWRkcmVzcwEHYWRkcmVzcwMJAGYCCQEIaXNMb2NrZWQAAAAJAAIBAi1JU0RIRkE6IEVHRyBvcGVyYXRpb25zIGFyZSB0ZW1wb3JhcmlseSBsb2NrZWQDCQECIT0CCAUBaQZjYWxsZXIFBHRoaXMJAAIBAhlJU0RIRkE6IFBlcm1pc3Npb24gZGVuaWVkBBB0b3RhbER1Y2tzQW1vdW50CQENdHJ5R2V0SW50ZWdlcgECDGR1Y2tzX2Ftb3VudAQKZWdnc05lZWRlZAkBFWNvdW50RWdnc05lZWRlZEFtb3VudAEFEHRvdGFsRHVja3NBbW91bnQJAMwIAgkBC1N0cmluZ0VudHJ5AgkBFGdldEhhdGNoaW5nU3RhdHVzS2V5AgUHYWRkcmVzcwgFAWkNdHJhbnNhY3Rpb25JZAUPSGF0Y2hpbmdTdGFydGVkCQDMCAIJAQxJbnRlZ2VyRW50cnkCCQEaZ2V0SGF0Y2hpbmdGaW5pc2hIZWlnaHRLZXkCBQdhZGRyZXNzCAUBaQ10cmFuc2FjdGlvbklkCQBkAgUGaGVpZ2h0BRBkZWxheUZvckhhdGNoaW5nCQDMCAIJAQxJbnRlZ2VyRW50cnkCAgxkdWNrc19hbW91bnQJAGQCBRB0b3RhbER1Y2tzQW1vdW50AAEJAMwIAgkBDEludGVnZXJFbnRyeQICEGR1Y2tzX2xhc3RfcHJpY2UJAGkCBQplZ2dzTmVlZGVkAMCEPQkAzAgCCQEMQm9vbGVhbkVudHJ5AgkArAICCQCsAgICCWhhdGNoaW5nXwkA2AQBCAUBaQ10cmFuc2FjdGlvbklkAgZfcHJvbW8GBQNuaWwBaQESZmluaXNoRHVja0hhdGNoaW5nAQd0eElkU3RyBAVvd25lcgkApQgBCAUBaQxvcmlnaW5DYWxsZXIJARZmaW5pc2hIYXRjaGluZ0ludGVybmFsAgUHdHhJZFN0cgUFb3duZXIBaQENaXNzdWVGcmVlRHVjawIHYWRkcmVzcwd0eElkU3RyAwkBAiE9AggFAWkGY2FsbGVyCQERZ2V0UmViaXJ0aEFkZHJlc3MACQACAQISSVNGRDogcmViaXJ0aCBvbmx5BAR0eElkCQDZBAEFB3R4SWRTdHIEEWhhdGNoaW5nU3RhdHVzS2V5CQEUZ2V0SGF0Y2hpbmdTdGF0dXNLZXkCBQdhZGRyZXNzBQR0eElkBA9maW5pc2hIZWlnaHRLZXkJARpnZXRIYXRjaGluZ0ZpbmlzaEhlaWdodEtleQIFB2FkZHJlc3MFBHR4SWQEEHRvdGFsRHVja3NBbW91bnQJAQ10cnlHZXRJbnRlZ2VyAQIMZHVja3NfYW1vdW50BAplZ2dzTmVlZGVkCQEVY291bnRFZ2dzTmVlZGVkQW1vdW50AQUQdG90YWxEdWNrc0Ftb3VudAQLJHQwOTMzNzk0OTkJAQ1nZXRSYW5kb21OYW1lAgUEdHhJZAkAZAIJARN2YWx1ZU9yRXJyb3JNZXNzYWdlAgkA6QcBBQR0eElkCQCsAgIJAKwCAgUHdHhJZFN0cgILIG5vdCBmb3VuZCAJANgEAQUEdHhJZAABBAdkdWNrR2VuCAULJHQwOTMzNzk0OTkCXzEEB2Zhcm1HZW4IBQskdDA5MzM3OTQ5OQJfMgQSamFja3BvdFJhbmRvbUVudHJ5CAULJHQwOTMzNzk0OTkCXzMEC2Rlc2NyaXB0aW9uCQCsAgIJAKwCAgIOeyJnZW5vdHlwZSI6ICIFB2R1Y2tHZW4CGSIsICJjcm9zc2JyZWVkaW5nIjogdHJ1ZX0EBWFzc2V0CQDDCAcFB2R1Y2tHZW4FC2Rlc2NyaXB0aW9uAAEAAAcFBHVuaXQFBmhlaWdodAQHYXNzZXRJZAkAuAgBBQVhc3NldAQGYW1vdW50CQBkAgkBDXRyeUdldEludGVnZXIBCQEPZ2V0RHVja1N0YXRzS2V5AQUHZHVja0dlbgABBAlkdWNrSWRLZXkJAQxnZXREdWNrSWRLZXkCBQdhZGRyZXNzBQR0eElkCQCUCgIJAMwIAgkBDEludGVnZXJFbnRyeQIJARpnZXRIYXRjaGluZ0ZpbmlzaEhlaWdodEtleQIFB2FkZHJlc3MFBHR4SWQFBmhlaWdodAkAzAgCCQEMSW50ZWdlckVudHJ5AgIMZHVja3NfYW1vdW50CQBkAgUQdG90YWxEdWNrc0Ftb3VudAABCQDMCAIJAQxJbnRlZ2VyRW50cnkCAhBkdWNrc19sYXN0X3ByaWNlCQBpAgUKZWdnc05lZWRlZADAhD0JAMwIAgUSamFja3BvdFJhbmRvbUVudHJ5CQDMCAIJAQtTdHJpbmdFbnRyeQIFEWhhdGNoaW5nU3RhdHVzS2V5BRBIYXRjaGluZ0ZpbmlzaGVkCQDMCAIJAQtTdHJpbmdFbnRyeQIFCWR1Y2tJZEtleQkA2AQBBQdhc3NldElkCQDMCAIJAQtTdHJpbmdFbnRyeQIJANgEAQUHYXNzZXRJZAUJZHVja0lkS2V5CQDMCAIJAQxJbnRlZ2VyRW50cnkCCQEPZ2V0RHVja1N0YXRzS2V5AQUHZHVja0dlbgUGYW1vdW50CQDMCAIJAQxJbnRlZ2VyRW50cnkCCQCsAgIJAKwCAgIGc3RhdHNfBQdmYXJtR2VuAglfcXVhbnRpdHkJAGQCCQENdHJ5R2V0SW50ZWdlcgEJAKwCAgkArAICAgZzdGF0c18FB2Zhcm1HZW4CCV9xdWFudGl0eQABCQDMCAIFBWFzc2V0CQDMCAIJAQ5TY3JpcHRUcmFuc2ZlcgMJAQV2YWx1ZQEJAKYIAQUHYWRkcmVzcwABBQdhc3NldElkBQNuaWwJANgEAQUHYXNzZXRJZAFpARlpc3N1ZUZyZWVEdWNrRGVmaW5lZEdlbmVzAwdhZGRyZXNzB3R4SWRTdHIFZ2VuZXMDAwkBAiE9AggFAWkGY2FsbGVyBQR0aGlzCQECIT0CCAUBaQZjYWxsZXIJARdnZXRUdXJ0bGVSZWJpcnRoQWRkcmVzcwAHCQACAQITSUlGRERHOiBBZG1pbiBvbmx5IQQEdHhJZAkA2QQBBQd0eElkU3RyBBFoYXRjaGluZ1N0YXR1c0tleQkBFGdldEhhdGNoaW5nU3RhdHVzS2V5AgUHYWRkcmVzcwUEdHhJZAQPZmluaXNoSGVpZ2h0S2V5CQEaZ2V0SGF0Y2hpbmdGaW5pc2hIZWlnaHRLZXkCBQdhZGRyZXNzBQR0eElkBBB0b3RhbER1Y2tzQW1vdW50CQENdHJ5R2V0SW50ZWdlcgECDGR1Y2tzX2Ftb3VudAQKZWdnc05lZWRlZAkBFWNvdW50RWdnc05lZWRlZEFtb3VudAEFEHRvdGFsRHVja3NBbW91bnQEC2NvbG9yUmFuZG9tCQEPZ2V0UmFuZG9tTnVtYmVyBAAEBQR0eElkBQZoZWlnaHQABgQFY29sb3IDCQAAAgULY29sb3JSYW5kb20AAAIBWQMJAAACBQtjb2xvclJhbmRvbQABAgFHAwkAAAIFC2NvbG9yUmFuZG9tAAICAUICAVIEDSR0MDExMTk2MTEyNzMJAJQKAgkArAICCQCsAgIJAKwCAgIFRFVDSy0FBWdlbmVzAgItRwUFY29sb3IJAKwCAgkArAICAgE4CQCvAgIFBWdlbmVzAAECAi1HBAdkdWNrR2VuCAUNJHQwMTExOTYxMTI3MwJfMQQHZmFybUdlbggFDSR0MDExMTk2MTEyNzMCXzIEC2Rlc2NyaXB0aW9uCQCsAgIJAKwCAgIOeyJnZW5vdHlwZSI6ICIFB2R1Y2tHZW4CGSIsICJjcm9zc2JyZWVkaW5nIjogdHJ1ZX0EBWFzc2V0CQDDCAcFB2R1Y2tHZW4FC2Rlc2NyaXB0aW9uAAEAAAcFBHVuaXQFBmhlaWdodAQHYXNzZXRJZAkAuAgBBQVhc3NldAQGYW1vdW50CQBkAgkBDXRyeUdldEludGVnZXIBCQEPZ2V0RHVja1N0YXRzS2V5AQUHZHVja0dlbgABBAlkdWNrSWRLZXkJAQxnZXREdWNrSWRLZXkCBQdhZGRyZXNzBQR0eElkCQCUCgIJAMwIAgkBDEludGVnZXJFbnRyeQIJARpnZXRIYXRjaGluZ0ZpbmlzaEhlaWdodEtleQIFB2FkZHJlc3MFBHR4SWQFBmhlaWdodAkAzAgCCQEMSW50ZWdlckVudHJ5AgIMZHVja3NfYW1vdW50CQBkAgUQdG90YWxEdWNrc0Ftb3VudAABCQDMCAIJAQxJbnRlZ2VyRW50cnkCAhBkdWNrc19sYXN0X3ByaWNlCQBpAgUKZWdnc05lZWRlZADAhD0JAMwIAgkBC1N0cmluZ0VudHJ5AgURaGF0Y2hpbmdTdGF0dXNLZXkFEEhhdGNoaW5nRmluaXNoZWQJAMwIAgkBC1N0cmluZ0VudHJ5AgUJZHVja0lkS2V5CQDYBAEFB2Fzc2V0SWQJAMwIAgkBC1N0cmluZ0VudHJ5AgkA2AQBBQdhc3NldElkBQlkdWNrSWRLZXkJAMwIAgkBDEludGVnZXJFbnRyeQIJAQ9nZXREdWNrU3RhdHNLZXkBBQdkdWNrR2VuBQZhbW91bnQJAMwIAgkBDEludGVnZXJFbnRyeQIJAKwCAgkArAICAgZzdGF0c18FB2Zhcm1HZW4CCV9xdWFudGl0eQkAZAIJAQ10cnlHZXRJbnRlZ2VyAQkArAICCQCsAgICBnN0YXRzXwUHZmFybUdlbgIJX3F1YW50aXR5AAEJAMwIAgUFYXNzZXQJAMwIAgkBDlNjcmlwdFRyYW5zZmVyAwkBBXZhbHVlAQkApggBBQdhZGRyZXNzAAEFB2Fzc2V0SWQFA25pbAkA2AQBBQdhc3NldElkAWkBDGlzc3VlSmFja3BvdAMHYWRkcmVzcwd0eElkU3RyA2dlbgMDCQECIT0CCAUBaQZjYWxsZXIJARFnZXRSZWJpcnRoQWRkcmVzcwAJAQIhPQIIBQFpBmNhbGxlcgUEdGhpcwcJAAIBAhpJU0o6IGFkbWluIG9yIHJlYmlydGggb25seQQEdHhJZAkA2QQBBQd0eElkU3RyBBFoYXRjaGluZ1N0YXR1c0tleQkBFGdldEhhdGNoaW5nU3RhdHVzS2V5AgUHYWRkcmVzcwUEdHhJZAQPZmluaXNoSGVpZ2h0S2V5CQEaZ2V0SGF0Y2hpbmdGaW5pc2hIZWlnaHRLZXkCBQdhZGRyZXNzBQR0eElkBBB0b3RhbER1Y2tzQW1vdW50CQENdHJ5R2V0SW50ZWdlcgECDGR1Y2tzX2Ftb3VudAQKZWdnc05lZWRlZAkBFWNvdW50RWdnc05lZWRlZEFtb3VudAEFEHRvdGFsRHVja3NBbW91bnQEDSR0MDEyNzIyMTI3NzQJAJQKAgkArAICCQCsAgICBURVQ0stBQNnZW4CAy1KVQIEOFctSgQHZHVja0dlbggFDSR0MDEyNzIyMTI3NzQCXzEEB2Zhcm1HZW4IBQ0kdDAxMjcyMjEyNzc0Al8yBAtkZXNjcmlwdGlvbgkArAICCQCsAgICDnsiZ2Vub3R5cGUiOiAiBQdkdWNrR2VuAhkiLCAiY3Jvc3NicmVlZGluZyI6IHRydWV9BAVhc3NldAkAwwgHBQdkdWNrR2VuBQtkZXNjcmlwdGlvbgABAAAHBQR1bml0BQZoZWlnaHQEB2Fzc2V0SWQJALgIAQUFYXNzZXQECWR1Y2tJZEtleQkBDGdldER1Y2tJZEtleQIFB2FkZHJlc3MFBHR4SWQEE3ZhbHVlRHVja0lkS2V5RXhpdHMJAQx0cnlHZXRTdHJpbmcBBQlkdWNrSWRLZXkDCQECIT0CBRN2YWx1ZUR1Y2tJZEtleUV4aXRzAgAJAAIBCQCsAgIJAKwCAgIpSVNKOiBZb3Ugd2lsbCBvdmVycmlkZSBmb2xsb3dpbmcgZHVja0lkIDoFCWR1Y2tJZEtleQIkIG1ha2Ugc3VyZSB0aGF0IHlvdXIgdHhJZCBpcyB1bmlxdWUhCQCUCgIJAMwIAgkBDEludGVnZXJFbnRyeQIJARpnZXRIYXRjaGluZ0ZpbmlzaEhlaWdodEtleQIFB2FkZHJlc3MFBHR4SWQFBmhlaWdodAkAzAgCCQEMSW50ZWdlckVudHJ5AgIMZHVja3NfYW1vdW50CQBkAgUQdG90YWxEdWNrc0Ftb3VudAABCQDMCAIJAQxJbnRlZ2VyRW50cnkCAhBkdWNrc19sYXN0X3ByaWNlCQBpAgUKZWdnc05lZWRlZADAhD0JAMwIAgkBC1N0cmluZ0VudHJ5AgURaGF0Y2hpbmdTdGF0dXNLZXkFEEhhdGNoaW5nRmluaXNoZWQJAMwIAgkBC1N0cmluZ0VudHJ5AgUJZHVja0lkS2V5CQDYBAEFB2Fzc2V0SWQJAMwIAgkBC1N0cmluZ0VudHJ5AgkA2AQBBQdhc3NldElkBQlkdWNrSWRLZXkJAMwIAgkBDEludGVnZXJFbnRyeQIJAQ9nZXREdWNrU3RhdHNLZXkBBQdkdWNrR2VuCQBkAgkBDXRyeUdldEludGVnZXIBCQEPZ2V0RHVja1N0YXRzS2V5AQUHZHVja0dlbgABCQDMCAIJAQxJbnRlZ2VyRW50cnkCCQCsAgIJAKwCAgIGc3RhdHNfBQdmYXJtR2VuAglfcXVhbnRpdHkJAGQCCQENdHJ5R2V0SW50ZWdlcgEJAKwCAgkArAICAgZzdGF0c18FB2Zhcm1HZW4CCV9xdWFudGl0eQABCQDMCAIFBWFzc2V0CQDMCAIJAQ5TY3JpcHRUcmFuc2ZlcgMJAQV2YWx1ZQEJAKYIAQUHYWRkcmVzcwABBQdhc3NldElkBQNuaWwJANgEAQUHYXNzZXRJZAFpAQxyZWR1Y2VSYXJpdHkCB2Fzc2V0SWQEZkdlbgQFYXNzZXQJANkEAQUHYXNzZXRJZAMDCQECIT0CCAUBaQZjYWxsZXIJARFnZXRSZWJpcnRoQWRkcmVzcwAJAQIhPQIIBQFpBmNhbGxlcgUEdGhpcwcJAAIBAhpJUlI6IGFkbWluIG9yIHJlYmlydGggb25seQQHZHVja0dlbggJAQV2YWx1ZQEJAOwHAQUFYXNzZXQEbmFtZQQGbGV0dGVyCQCyAgIJAK8CAgUHZHVja0dlbgAGAAEEB2Zhcm1HZW4JAKwCAgkArAICAgE4BQZsZXR0ZXICAi1HCQDMCAIJAQxJbnRlZ2VyRW50cnkCCQEPZ2V0RHVja1N0YXRzS2V5AQUHZHVja0dlbgkAZQIJAQ10cnlHZXRJbnRlZ2VyAQkBD2dldER1Y2tTdGF0c0tleQEFB2R1Y2tHZW4AAQkAzAgCCQEMSW50ZWdlckVudHJ5AgkArAICCQCsAgICBnN0YXRzXwUHZmFybUdlbgIJX3F1YW50aXR5CQBlAgkBDXRyeUdldEludGVnZXIBCQCsAgIJAKwCAgIGc3RhdHNfBQdmYXJtR2VuAglfcXVhbnRpdHkAAQUDbmlsAWkBF2ZpbmlzaER1Y2tIYXRjaGluZ0FkbWluAgd0eElkU3RyBW93bmVyAwkBAiE9AggFAWkGY2FsbGVyBQR0aGlzCQACAQIgSUZESEE6IE9ubHkgYWRtaW5zIGNhbiBydW4gdGhpcyEJARZmaW5pc2hIYXRjaGluZ0ludGVybmFsAgUHdHhJZFN0cgUFb3duZXIBAnR4AQZ2ZXJpZnkAAwkBCWlzVGVzdEVudgAJAPQDAwgFAnR4CWJvZHlCeXRlcwkAkQMCCAUCdHgGcHJvb2ZzAAAIBQJ0eA9zZW5kZXJQdWJsaWNLZXkECWZpcnN0VXNlcgEgURzk/Wb/EmnS8VoUnzuy4vQ7f8HLaCeiNF5sONdX3W0ECnNlY29uZFVzZXIBIMFs347t041zj4ui+fqJD/R1zUQbVHJSo7Sc0lakLeB1BAl0aGlyZFVzZXIBIOdb9I6q0vlJnm6EJrj5fh/cZ6h93Cu41Op7zfJoCsElBA9maXJzdFVzZXJTaWduZWQDCQD0AwMIBQJ0eAlib2R5Qnl0ZXMJAJEDAggFAnR4BnByb29mcwAABQlmaXJzdFVzZXIAAQMJAPQDAwgFAnR4CWJvZHlCeXRlcwkAkQMCCAUCdHgGcHJvb2ZzAAEFCWZpcnN0VXNlcgABAwkA9AMDCAUCdHgJYm9keUJ5dGVzCQCRAwIIBQJ0eAZwcm9vZnMAAgUJZmlyc3RVc2VyAAEAAAQQc2Vjb25kVXNlclNpZ25lZAMJAPQDAwgFAnR4CWJvZHlCeXRlcwkAkQMCCAUCdHgGcHJvb2ZzAAAFCnNlY29uZFVzZXIAAQMJAPQDAwgFAnR4CWJvZHlCeXRlcwkAkQMCCAUCdHgGcHJvb2ZzAAEFCnNlY29uZFVzZXIAAQMJAPQDAwgFAnR4CWJvZHlCeXRlcwkAkQMCCAUCdHgGcHJvb2ZzAAIFCnNlY29uZFVzZXIAAQAABA90aGlyZFVzZXJTaWduZWQDCQD0AwMIBQJ0eAlib2R5Qnl0ZXMJAJEDAggFAnR4BnByb29mcwAABQl0aGlyZFVzZXIAAQMJAPQDAwgFAnR4CWJvZHlCeXRlcwkAkQMCCAUCdHgGcHJvb2ZzAAEFCXRoaXJkVXNlcgABAwkA9AMDCAUCdHgJYm9keUJ5dGVzCQCRAwIIBQJ0eAZwcm9vZnMAAgUJdGhpcmRVc2VyAAEAAAQPc2lnbmF0dXJlc0NvdW50CQBkAgkAZAIFD2ZpcnN0VXNlclNpZ25lZAUQc2Vjb25kVXNlclNpZ25lZAUPdGhpcmRVc2VyU2lnbmVkBAckbWF0Y2gwBQJ0eAkAZwIFD3NpZ25hdHVyZXNDb3VudAACjfrPag==", "height": 3308979, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: 7pDAsPFPnWwpdkmbRnooFXLbYBoEczSHD8BEb7KXciz1 Next: none Full:
OldNewDifferences
1-# no script
1+{-# STDLIB_VERSION 6 #-}
2+{-# SCRIPT_TYPE ACCOUNT #-}
3+{-# CONTENT_TYPE DAPP #-}
4+func a (b,c) = {
5+ let d = getString(b, c)
6+ if ($isInstanceOf(d, "String"))
7+ then {
8+ let e = d
9+ e
10+ }
11+ else ""
12+ }
13+
14+
15+func f (c) = a(this, c)
16+
17+
18+func g () = "static_turtleRebirthAddress"
19+
20+
21+func h () = Address(fromBase58String(f("static_oracleAddress")))
22+
23+
24+func i () = fromBase58String(a(h(), "static_eggAssetId"))
25+
26+
27+func j () = Address(fromBase58String(a(h(), "static_rebirthAddress")))
28+
29+
30+func k () = Address(fromBase58String(a(h(), "static_babyDuckAddress")))
31+
32+
33+func l () = Address(fromBase58String(a(h(), "static_refContractAddress")))
34+
35+
36+func m () = Address(fromBase58String(a(h(), "static_couponsAddress")))
37+
38+
39+func n () = Address(fromBase58String(a(h(), "static_burnAddress")))
40+
41+
42+func o () = Address(fromBase58String(a(h(), g())))
43+
44+
45+let p = 2
46+
47+let q = 10
48+
49+let r = 5
50+
51+let s = "HATCHING_STARTED"
52+
53+let t = "HATCHING_FINISHED"
54+
55+func u () = {
56+ let v = Address(base58'3PEPftf2kWZDmAaWBjs6BUJa9957kiA2PkU')
57+ let d = getInteger(v, "egglock")
58+ if ($isInstanceOf(d, "Int"))
59+ then {
60+ let w = d
61+ w
62+ }
63+ else 0
64+ }
65+
66+
67+func x (b,y) = (((b + "_") + toBase58String(y)) + "_status")
68+
69+
70+func z (b,y) = (((b + "_") + toBase58String(y)) + "_fh")
71+
72+
73+func A (b,y) = (((b + "_") + toBase58String(y)) + "_di")
74+
75+
76+func B (C) = (("stats_" + C) + "_amount")
77+
78+
79+func D (c) = {
80+ let E = {
81+ let d = getInteger(this, c)
82+ if ($isInstanceOf(d, "Int"))
83+ then {
84+ let w = d
85+ w
86+ }
87+ else 0
88+ }
89+ E
90+ }
91+
92+
93+let F = D("discountCoefficient")
94+
95+let G = D("saleCoefficient")
96+
97+func H (I,y,J,K) = {
98+ let L = value(blockInfoByHeight((J - 1)))
99+ let M = sha256(((base58'incubator' + y) + value(L.vrf)))
100+ (toInt(M, K) % I)
101+ }
102+
103+
104+func N (O) = D(B(O))
105+
106+
107+func P (y,J) = {
108+ let Q = H(200, y, J, 4)
109+ let R = IntegerEntry("last_jackpot_random", Q)
110+ let S = H(4, y, J, 5)
111+ let T = H(4, y, J, 6)
112+ let U = if ((T == 0))
113+ then "Y"
114+ else if ((T == 1))
115+ then "G"
116+ else if ((T == 2))
117+ then "B"
118+ else "R"
119+ if ((S == 0))
120+ then $Tuple3(("DUCK-MMMMMMMM-G" + U), "8M-G", R)
121+ else if ((S == 1))
122+ then $Tuple3(("DUCK-NNNNNNNN-G" + U), "8N-G", R)
123+ else if ((S == 2))
124+ then $Tuple3(("DUCK-OOOOOOOO-G" + U), "8O-G", R)
125+ else $Tuple3(("DUCK-PPPPPPPP-G" + U), "8P-G", R)
126+ }
127+
128+
129+func V (W) = {
130+ let X = W
131+ let Y = F
132+ let Z = G
133+ let aa = q
134+ let ab = pow((100 + ((X * Y) / (10 * aa))), 2, 5, 1, 2, DOWN)
135+ if ((G == 0))
136+ then (ab * 1000000)
137+ else (((ab * 1000000) / 100) * (100 - G))
138+ }
139+
140+
141+func ac (ad) = {
142+ let d = ad
143+ if ($isInstanceOf(d, "Int"))
144+ then {
145+ let ae = d
146+ ae
147+ }
148+ else throw("IAI: wrong type, expected: Int")
149+ }
150+
151+
152+func af (ag,ah) = {
153+ let y = fromBase58String(ag)
154+ let ai = x(ah, y)
155+ let aj = z(ah, y)
156+ let ak = A(ah, y)
157+ let al = {
158+ let d = getBoolean((("hatching_" + ag) + "_babyDuck"))
159+ if ($isInstanceOf(d, "Boolean"))
160+ then {
161+ let aa = d
162+ aa
163+ }
164+ else false
165+ }
166+ let am = getStringValue(this, ai)
167+ let J = getIntegerValue(this, aj)
168+ if ((am == t))
169+ then {
170+ let an = getStringValue(this, A(ah, y))
171+ throw(("IFDH: The duck was hatched and claimed already, here is the folowing: " + an))
172+ }
173+ else if ((J > height))
174+ then throw((((("Hatching is not finished yet " + toString((J - height))) + " blocks remaining, it will take around ") + toString((J - height))) + " minutes"))
175+ else {
176+ let ao = P(y, J)
177+ let ap = ao._1
178+ let aq = ao._2
179+ let ar = ao._3
180+ let as = (("{\"genotype\": \"" + ap) + "\", \"crossbreeding\": true}")
181+ let at = Issue(ap, as, 1, 0, false, unit, J)
182+ let au = calculateAssetId(at)
183+ let av = (D(B(ap)) + 1)
184+[StringEntry(ai, t), StringEntry(ak, toBase58String(au)), StringEntry(toBase58String(au), ak), BooleanEntry((("duck_" + toBase58String(au)) + "_grown"), al), IntegerEntry(B(ap), av), ar, IntegerEntry((("stats_" + aq) + "_quantity"), (D((("stats_" + aq) + "_quantity")) + 1)), at, ScriptTransfer(Address(fromBase58String(ah)), 1, au)]
185+ }
186+ }
187+
188+
189+func aw (c) = {
190+ let d = getBoolean(this, c)
191+ if ($isInstanceOf(d, "Boolean"))
192+ then {
193+ let w = d
194+ w
195+ }
196+ else false
197+ }
198+
199+
200+func ax () = aw("TESTENV")
201+
202+
203+@Callable(ay)
204+func configureOracle (az) = if ((ay.caller != this))
205+ then throw("ICU: admin only")
206+ else [StringEntry("static_oracleAddress", az)]
207+
208+
209+
210+@Callable(ay)
211+func setDiscount (E) = if ((ay.caller != this))
212+ then throw("ISD: admin_only")
213+ else [IntegerEntry("discountCoefficient", E)]
214+
215+
216+
217+@Callable(ay)
218+func setSale (E) = if ((ay.caller != this))
219+ then throw("ISS: admin_only")
220+ else [IntegerEntry("saleCoefficient", E)]
221+
222+
223+
224+@Callable(ay)
225+func startDuckHatching (aA) = if ((k() != ay.caller))
226+ then throw("ISDHFA: From now on this is only possible through ducklings!")
227+ else if ((u() > 0))
228+ then throw("ISDH: EGG operations are temporarily locked")
229+ else {
230+ let W = D("ducks_amount")
231+ let aB = V(W)
232+[StringEntry(x(toString(ay.originCaller), ay.transactionId), s), IntegerEntry(z(toString(ay.originCaller), ay.transactionId), (height + p)), IntegerEntry("ducks_amount", (W + 1)), IntegerEntry("ducks_last_price", (aB / 1000000)), BooleanEntry((("hatching_" + toBase58String(ay.transactionId)) + "_babyDuck"), true)]
233+ }
234+
235+
236+
237+@Callable(ay)
238+func startDuckHatchingForAddress (b) = if ((u() > 0))
239+ then throw("ISDHFA: EGG operations are temporarily locked")
240+ else if ((ay.caller != this))
241+ then throw("ISDHFA: Permission denied")
242+ else {
243+ let W = D("ducks_amount")
244+ let aB = V(W)
245+[StringEntry(x(b, ay.transactionId), s), IntegerEntry(z(b, ay.transactionId), (height + p)), IntegerEntry("ducks_amount", (W + 1)), IntegerEntry("ducks_last_price", (aB / 1000000)), BooleanEntry((("hatching_" + toBase58String(ay.transactionId)) + "_promo"), true)]
246+ }
247+
248+
249+
250+@Callable(ay)
251+func finishDuckHatching (ag) = {
252+ let ah = toString(ay.originCaller)
253+ af(ag, ah)
254+ }
255+
256+
257+
258+@Callable(ay)
259+func issueFreeDuck (b,ag) = if ((ay.caller != j()))
260+ then throw("ISFD: rebirth only")
261+ else {
262+ let y = fromBase58String(ag)
263+ let ai = x(b, y)
264+ let aj = z(b, y)
265+ let W = D("ducks_amount")
266+ let aB = V(W)
267+ let aC = P(y, (valueOrErrorMessage(transactionHeightById(y), ((ag + " not found ") + toBase58String(y))) + 1))
268+ let ap = aC._1
269+ let aq = aC._2
270+ let ar = aC._3
271+ let as = (("{\"genotype\": \"" + ap) + "\", \"crossbreeding\": true}")
272+ let at = Issue(ap, as, 1, 0, false, unit, height)
273+ let au = calculateAssetId(at)
274+ let av = (D(B(ap)) + 1)
275+ let ak = A(b, y)
276+ $Tuple2([IntegerEntry(z(b, y), height), IntegerEntry("ducks_amount", (W + 1)), IntegerEntry("ducks_last_price", (aB / 1000000)), ar, StringEntry(ai, t), StringEntry(ak, toBase58String(au)), StringEntry(toBase58String(au), ak), IntegerEntry(B(ap), av), IntegerEntry((("stats_" + aq) + "_quantity"), (D((("stats_" + aq) + "_quantity")) + 1)), at, ScriptTransfer(value(addressFromString(b)), 1, au)], toBase58String(au))
277+ }
278+
279+
280+
281+@Callable(ay)
282+func issueFreeDuckDefinedGenes (b,ag,aD) = if (if ((ay.caller != this))
283+ then (ay.caller != o())
284+ else false)
285+ then throw("IIFDDG: Admin only!")
286+ else {
287+ let y = fromBase58String(ag)
288+ let ai = x(b, y)
289+ let aj = z(b, y)
290+ let W = D("ducks_amount")
291+ let aB = V(W)
292+ let T = H(4, y, height, 6)
293+ let U = if ((T == 0))
294+ then "Y"
295+ else if ((T == 1))
296+ then "G"
297+ else if ((T == 2))
298+ then "B"
299+ else "R"
300+ let aE = $Tuple2(((("DUCK-" + aD) + "-G") + U), (("8" + take(aD, 1)) + "-G"))
301+ let ap = aE._1
302+ let aq = aE._2
303+ let as = (("{\"genotype\": \"" + ap) + "\", \"crossbreeding\": true}")
304+ let at = Issue(ap, as, 1, 0, false, unit, height)
305+ let au = calculateAssetId(at)
306+ let av = (D(B(ap)) + 1)
307+ let ak = A(b, y)
308+ $Tuple2([IntegerEntry(z(b, y), height), IntegerEntry("ducks_amount", (W + 1)), IntegerEntry("ducks_last_price", (aB / 1000000)), StringEntry(ai, t), StringEntry(ak, toBase58String(au)), StringEntry(toBase58String(au), ak), IntegerEntry(B(ap), av), IntegerEntry((("stats_" + aq) + "_quantity"), (D((("stats_" + aq) + "_quantity")) + 1)), at, ScriptTransfer(value(addressFromString(b)), 1, au)], toBase58String(au))
309+ }
310+
311+
312+
313+@Callable(ay)
314+func issueJackpot (b,ag,O) = if (if ((ay.caller != j()))
315+ then (ay.caller != this)
316+ else false)
317+ then throw("ISJ: admin or rebirth only")
318+ else {
319+ let y = fromBase58String(ag)
320+ let ai = x(b, y)
321+ let aj = z(b, y)
322+ let W = D("ducks_amount")
323+ let aB = V(W)
324+ let aF = $Tuple2((("DUCK-" + O) + "-JU"), "8W-J")
325+ let ap = aF._1
326+ let aq = aF._2
327+ let as = (("{\"genotype\": \"" + ap) + "\", \"crossbreeding\": true}")
328+ let at = Issue(ap, as, 1, 0, false, unit, height)
329+ let au = calculateAssetId(at)
330+ let ak = A(b, y)
331+ let aG = f(ak)
332+ if ((aG != ""))
333+ then throw((("ISJ: You will override following duckId :" + ak) + " make sure that your txId is unique!"))
334+ else $Tuple2([IntegerEntry(z(b, y), height), IntegerEntry("ducks_amount", (W + 1)), IntegerEntry("ducks_last_price", (aB / 1000000)), StringEntry(ai, t), StringEntry(ak, toBase58String(au)), StringEntry(toBase58String(au), ak), IntegerEntry(B(ap), (D(B(ap)) + 1)), IntegerEntry((("stats_" + aq) + "_quantity"), (D((("stats_" + aq) + "_quantity")) + 1)), at, ScriptTransfer(value(addressFromString(b)), 1, au)], toBase58String(au))
335+ }
336+
337+
338+
339+@Callable(ay)
340+func reduceRarity (au,aH) = {
341+ let at = fromBase58String(au)
342+ if (if ((ay.caller != j()))
343+ then (ay.caller != this)
344+ else false)
345+ then throw("IRR: admin or rebirth only")
346+ else {
347+ let ap = value(assetInfo(at)).name
348+ let aI = takeRight(take(ap, 6), 1)
349+ let aq = (("8" + aI) + "-G")
350+[IntegerEntry(B(ap), (D(B(ap)) - 1)), IntegerEntry((("stats_" + aq) + "_quantity"), (D((("stats_" + aq) + "_quantity")) - 1))]
351+ }
352+ }
353+
354+
355+
356+@Callable(ay)
357+func finishDuckHatchingAdmin (ag,ah) = if ((ay.caller != this))
358+ then throw("IFDHA: Only admins can run this!")
359+ else af(ag, ah)
360+
361+
362+@Verifier(aJ)
363+func aK () = if (ax())
364+ then sigVerify(aJ.bodyBytes, aJ.proofs[0], aJ.senderPublicKey)
365+ else {
366+ let aL = base58'6TdaXEfhnjYquvPf3yV7MFxt2CbgFmaqsvGwkKfXtKi4'
367+ let aM = base58'E23yUg8eun5nXB1nZRDf7RTyRADKxQhGNXdpTYonEvtU'
368+ let aN = base58'Ga8WEBTPXbHuoXRD355mQ6ms8PsM2RFYKeA1mEP32CFe'
369+ let aO = if (sigVerify(aJ.bodyBytes, aJ.proofs[0], aL))
370+ then 1
371+ else if (sigVerify(aJ.bodyBytes, aJ.proofs[1], aL))
372+ then 1
373+ else if (sigVerify(aJ.bodyBytes, aJ.proofs[2], aL))
374+ then 1
375+ else 0
376+ let aP = if (sigVerify(aJ.bodyBytes, aJ.proofs[0], aM))
377+ then 1
378+ else if (sigVerify(aJ.bodyBytes, aJ.proofs[1], aM))
379+ then 1
380+ else if (sigVerify(aJ.bodyBytes, aJ.proofs[2], aM))
381+ then 1
382+ else 0
383+ let aQ = if (sigVerify(aJ.bodyBytes, aJ.proofs[0], aN))
384+ then 1
385+ else if (sigVerify(aJ.bodyBytes, aJ.proofs[1], aN))
386+ then 1
387+ else if (sigVerify(aJ.bodyBytes, aJ.proofs[2], aN))
388+ then 1
389+ else 0
390+ let aR = ((aO + aP) + aQ)
391+ let d = aJ
392+ (aR >= 2)
393+ }
394+

github/deemru/w8io/026f985 
26.48 ms