tx · ADZjjKV8Hr8KmirxkEkmonv52T3c6JTdo1Qw3A3owH6X

3PCMKXu9r2ZNSxuLgnwoPXsWYhq6nMDADNo:  -0.01500000 Waves

2023.12.27 10:40 [3970740] smart account 3PCMKXu9r2ZNSxuLgnwoPXsWYhq6nMDADNo > SELF 0.00000000 Waves

{ "type": 13, "id": "ADZjjKV8Hr8KmirxkEkmonv52T3c6JTdo1Qw3A3owH6X", "fee": 1500000, "feeAssetId": null, "timestamp": 1703662965406, "version": 2, "chainId": 87, "sender": "3PCMKXu9r2ZNSxuLgnwoPXsWYhq6nMDADNo", "senderPublicKey": "DPPK9tZRpiixkYUiW8mPfqsJ1H7X467xygxYUrY8Hjqu", "proofs": [ "2GoDL1SvN7vxg8VvKGEbnumJmEUy1xcKh56nGyEjty8BC2kjaLuREuQd2dVnKLKAvUMgbXN2QTBJDywPjePWpuaG" ], "script": "base64:BgIyCAISAwoBCBIDCgEIEggKBggBBAEBARIDCgEEEgASABIDCgEIEgYKBAgIAQESBAoCCAgoAAtrZXlNQWNjUEtleQIJbWFzdGVyX3BrAA1rZXlCYWNrdXBQS2V5AgdiYWNrX3BrAAh3YXJzUEtleQIHd2Fyc19wawEGZ2V0U3RyAQNrZXkEByRtYXRjaDAJAJ0IAgUEdGhpcwUDa2V5AwkAAQIFByRtYXRjaDACBlN0cmluZwQBYgUHJG1hdGNoMAUBYgIAAA5tQWNjUEtleVN0cmluZwkBBmdldFN0cgEFC2tleU1BY2NQS2V5ABBiYWNrdXBQS2V5U3RyaW5nCQEGZ2V0U3RyAQUNa2V5QmFja3VwUEtleQEMZ2V0QmFja3VwS2V5AAMJAAACBRBiYWNrdXBQS2V5U3RyaW5nAgAIBQR0aGlzBWJ5dGVzCQDZBAEFEGJhY2t1cFBLZXlTdHJpbmcACG1BY2NQS2V5CQDZBAEFDm1BY2NQS2V5U3RyaW5nAAhtQWNjQWRkcgkApwgBBQhtQWNjUEtleQAKZmVlUGVyY2VudAkBEUBleHRyTmF0aXZlKDEwNTApAgUIbUFjY0FkZHIJAKwCAgkArAICAgJmXwkApQgBBQR0aGlzAgRfZmVlAA5zdGFraW5nQWRkcmVzcwkBEUBleHRyTmF0aXZlKDEwNjIpAQkBE3ZhbHVlT3JFcnJvck1lc3NhZ2UCCQCdCAIFCG1BY2NBZGRyCQCsAgIJAKwCAgICZl8JAKUIAQUEdGhpcwIOX3N0YWtlX2FkZHJlc3MJAKwCAgkArAICAgJmXwkApQgBBQR0aGlzAhpfc3Rha2VfYWRkcmVzcyBub3QgZGVmaW5lZAAId0FjY1BLZXkJANkEAQkBE3ZhbHVlT3JFcnJvck1lc3NhZ2UCCQCdCAIFCG1BY2NBZGRyBQh3YXJzUEtleQkArAICBQh3YXJzUEtleQIMIG5vdCBkZWZpbmVkAA9rVG90YWxMaXF1aWRpdHkCD3RvdGFsX2xpcXVpZGl0eQAMa0luaXRpYWxpemVkAgtJTklUSUFMSVpFRAATa0xpcXVpZGl0eVRocmVzaG9sZAITTElRVUlESVRZX1RIUkVTSE9MRAATa1RvdGFsRmFybWluZ1Jld2FyZAIUdG90YWxfZmFybWluZ19yZXdhcmQADWtTaGFyZUFzc2V0SWQCDlNIQVJFX0FTU0VUX0lEAA5rSW5jdWJhdG9yRGFwcAIOSU5DVUJBVE9SX0RBUFAADGtCcmVlZGVyRGFwcAIMQlJFRURFUl9EQVBQAAxrRmFybWluZ0RhcHACDEZBUk1JTkdfREFQUAAQa01hcmtldFByb3h5RGFwcAIWTUFSS0VUUExBQ0VfUFJPWFlfREFQUAAMa0F1Y3Rpb25EYXBwAgxBVUNUSU9OX0RBUFAAB2tMb2NrZWQCBkxPQ0tFRAAQa0Nlb0NvbGxlY3RlZEZlZQIRY2VvX2NvbGxlY3RlZF9mZWUAF2tDZW9Db2xsZWN0ZWRGZWVPdmVyYWxsAg9jZW9fZmVlX292ZXJhbGwAEmtMb2NrZWRJbnZlc3RtZW50cwISbG9ja2VkX2ludmVzdG1lbnRzABBrZXlUb3RhbENvbXBvdW5kAg50b3RhbF9jb21wb3VuZAAPa2V5R2xvYmFsU3Rha2VkAg1nbG9iYWxfc3Rha2VkAQZnZXRJbnQBA2tleQQHJG1hdGNoMAkAmggCBQR0aGlzBQNrZXkDCQABAgUHJG1hdGNoMAIDSW50BAFiBQckbWF0Y2gwBQFiAAABB2dldEJvb2wBA2tleQQHJG1hdGNoMAkAmwgCBQR0aGlzBQNrZXkDCQABAgUHJG1hdGNoMAIHQm9vbGVhbgQBYgUHJG1hdGNoMAUBYgUEdW5pdAEHZ2V0U3RyQQIBYQFrBAckbWF0Y2gwCQCdCAIFAWEFAWsDCQABAgUHJG1hdGNoMAIGU3RyaW5nBAFiBQckbWF0Y2gwBQFiAgABDXRyeUdldEJvb2xlYW4CAWEDa2V5BAckbWF0Y2gwCQCbCAIFAWEFA2tleQMJAAECBQckbWF0Y2gwAgdCb29sZWFuBAFiBQckbWF0Y2gwBQFiBwEHZ2V0SW50QQIHYWRkcmVzcwNrZXkEByRtYXRjaDAJAJoIAgUHYWRkcmVzcwUDa2V5AwkAAQIFByRtYXRjaDACA0ludAQBYgUHJG1hdGNoMAUBYgAAARBnZXRWb3RlSGVpZ2h0S2V5AAIRVk9URV9IRUlHSFRfU1RBUlQBDXJlc3VsdFZvdGVLZXkBBmhlaWdodAkArAICAgtMSVFVSURBVEVEXwUGaGVpZ2h0AQxpc0xpcXVpZGF0ZWQABAp2b3RlSGVpZ2h0CQEHZ2V0SW50QQIFDnN0YWtpbmdBZGRyZXNzCQEQZ2V0Vm90ZUhlaWdodEtleQADCQAAAgUKdm90ZUhlaWdodAAABwkBDXRyeUdldEJvb2xlYW4CBQ5zdGFraW5nQWRkcmVzcwkBDXJlc3VsdFZvdGVLZXkBCQCkAwEFCnZvdGVIZWlnaHQBEmdldE1hcmtldFByb3h5QWRkcgAJAQdnZXRTdHJBAgUIbUFjY0FkZHIFEGtNYXJrZXRQcm94eURhcHABCGdldEVnZ0lkAAkA2QQBCQERQGV4dHJOYXRpdmUoMTA1MykCBQhtQWNjQWRkcgIMRUdHX0FTU0VUX0lEAQ9nZXRTaGFyZUFzc2V0SWQACQDZBAEJAQZnZXRTdHIBBQ1rU2hhcmVBc3NldElkAQVhc0ludAEFdmFsdWUEByRtYXRjaDAFBXZhbHVlAwkAAQIFByRtYXRjaDACA0ludAQDaW50BQckbWF0Y2gwBQNpbnQJAAIBAhl3cm9uZyB0eXBlLCBleHBlY3RlZDogSW50CQFpAQ1pbml0TWFzdGVyS2V5AQlwdWJsaWNLZXkDCQECIT0CCAUBaQZjYWxsZXIFBHRoaXMJAAIBAhlZb3UgY2Fubm90IGRvIHRoaXMgYWN0aW9uAwkBAiE9AgUObUFjY1BLZXlTdHJpbmcCAAkAAgECMk1hc3RlciBwdWJsaWMga2V5IGFscmVhZHkgc2V0LCB5b3UgY2FuJ3Qgb3ZlcnJpZGUhCQDMCAIJAQtTdHJpbmdFbnRyeQIFC2tleU1BY2NQS2V5BQlwdWJsaWNLZXkFA25pbAFpAQ1pbml0QmFja3VwS2V5AQlwdWJsaWNLZXkDCQECIT0CCAUBaQZjYWxsZXIJAKcIAQUIbUFjY1BLZXkJAAIBAhlZb3UgY2Fubm90IGRvIHRoaXMgYWN0aW9uCQDMCAIJAQtTdHJpbmdFbnRyeQIFDWtleUJhY2t1cFBLZXkFCXB1YmxpY0tleQUDbmlsAWkBEmluaXRDb2xsZWN0aXZlRmFybQYEbmFtZRBtaW5pbXVtVGhyZXNob2xkCW1pZ3JhdGlvbhJ0b3RhbEZhcm1pbmdSZXdhcmQOdG90YWxMaXF1aWRpdHkOdG90YWxGYXJtVG9rZW4DCQAAAgUObUFjY1BLZXlTdHJpbmcCAAkAAgECJEZpcnN0IGluaXRpYXRpZSBhIG1hc3RlciBwdWJsaWMga2V5IQMJAQIhPQIIBQFpD2NhbGxlclB1YmxpY0tleQUIbUFjY1BLZXkJAAIBAgJfMQMJAQIhPQIJAQdnZXRCb29sAQUMa0luaXRpYWxpemVkBQR1bml0CQACAQICXzIDAwkAAAIFCW1pZ3JhdGlvbgcDCQECIT0CCAkAkQMCCAUBaQhwYXltZW50cwAABmFtb3VudACAreIEBgkBAiE9AggJAJEDAggFAWkIcGF5bWVudHMAAAdhc3NldElkCQEIZ2V0RWdnSWQABwkAAgECA18yMAQLc2hhcmVUb2tlbnMDBQltaWdyYXRpb24FDnRvdGFsRmFybVRva2VuAICt4gQECnNoYXJlVG9rZW4JAMIIBQUEbmFtZQkArAICCQCsAgICFFRlYW0gdG9rZW4gZm9yIHRoZSAiBQRuYW1lAhEiIGNvbGxlY3RpdmUgZmFybQULc2hhcmVUb2tlbnMACAYEDHRvdExpcXVpZGl0eQMFCW1pZ3JhdGlvbgUOdG90YWxMaXF1aWRpdHkAgK3iBAQQdG90RmFybWluZ1Jld2FyZAMFCW1pZ3JhdGlvbgkAzAgCCQEMSW50ZWdlckVudHJ5AgUTa1RvdGFsRmFybWluZ1Jld2FyZAUSdG90YWxGYXJtaW5nUmV3YXJkBQNuaWwFA25pbAkAzggCCQDMCAIJAQtTdHJpbmdFbnRyeQIFDWtTaGFyZUFzc2V0SWQJANgEAQkAuAgBBQpzaGFyZVRva2VuCQDMCAIJAQxCb29sZWFuRW50cnkCBQxrSW5pdGlhbGl6ZWQGCQDMCAIJAQxJbnRlZ2VyRW50cnkCBQ9rVG90YWxMaXF1aWRpdHkFDHRvdExpcXVpZGl0eQkAzAgCBQpzaGFyZVRva2VuCQDMCAIJAQ5TY3JpcHRUcmFuc2ZlcgMIBQFpBmNhbGxlcgULc2hhcmVUb2tlbnMJALgIAQUKc2hhcmVUb2tlbgkAzAgCCQEMQm9vbGVhbkVudHJ5AgUHa0xvY2tlZAcJAMwIAgkBDEludGVnZXJFbnRyeQIFE2tMaXF1aWRpdHlUaHJlc2hvbGQFEG1pbmltdW1UaHJlc2hvbGQFA25pbAUQdG90RmFybWluZ1Jld2FyZAFpAQdzZXRMb2NrAQFzAwkBAiE9AggFAWkPY2FsbGVyUHVibGljS2V5BQhtQWNjUEtleQkAAgECA18yMQkAzAgCCQEMQm9vbGVhbkVudHJ5AgUHa0xvY2tlZAUBcwUDbmlsAWkBD2xvY2tJbnZlc3RtZW50cwADCQECIT0CCAUBaQZjYWxsZXIFBHRoaXMJAAIBAh1Zb3UgY2Fubm90IGxvY2sgdGhpcyBjb250cmFjdAkAzAgCCQEMQm9vbGVhbkVudHJ5AgUSa0xvY2tlZEludmVzdG1lbnRzBgUDbmlsAWkBEHByb3ZpZGVMaXF1aWRpdHkAAwkBDGlzTGlxdWlkYXRlZAAJAAIBAhZDUEw6IENGIGlzIGxpcXVpZGF0ZWQhBAplZ2dBc3NldElkCQEIZ2V0RWdnSWQAAwMDCQECIT0CCAUBaQ9jYWxsZXJQdWJsaWNLZXkFCHdBY2NQS2V5CQECIT0CCAUBaQ9jYWxsZXJQdWJsaWNLZXkFCG1BY2NQS2V5BwkAAAIJAQdnZXRCb29sAQUSa0xvY2tlZEludmVzdG1lbnRzBgcJAAIBAllDb250cmFjdCBpcyBsb2NrZWQgZm9yIGludmVzdG1lbnRzIGJ5IGl0J3MgQ0VPLiBQbGVhc2UgaW52ZXN0IGluIGFub3RoZXIgY29sbGVjdGl2ZSBmYXJtLgMJAAACCQEHZ2V0Qm9vbAEFB2tMb2NrZWQGCQACAQIDXzIyAwkBAiE9AggJAJEDAggFAWkIcGF5bWVudHMAAAdhc3NldElkBQplZ2dBc3NldElkCQACAQICXzQDCQBmAgDAhD0ICQCRAwIIBQFpCHBheW1lbnRzAAAGYW1vdW50CQACAQIgTWluIGFtb3VudCB0byBpbnZlc3QgaXMgMC4wMSBFR0cEDnRvdGFsTGlxdWlkaXR5CQEGZ2V0SW50AQUPa1RvdGFsTGlxdWlkaXR5BBFzaGFyZVRva2Vuc1RvR2l2ZQgJAJEDAggFAWkIcGF5bWVudHMAAAZhbW91bnQEDXNoYXJlVG9rZW5zSWQJANkEAQkBBmdldFN0cgEFDWtTaGFyZUFzc2V0SWQEB3JlaXNzdWUJAQdSZWlzc3VlAwkBD2dldFNoYXJlQXNzZXRJZAAFEXNoYXJlVG9rZW5zVG9HaXZlBgQNa1BhcnRpY2lwYXRlZAkArAICCQCsAgICCGFjY291bnRfCQClCAEIBQFpBmNhbGxlcgINX3BhcnRpY2lwYXRlZAQTYWxyZWFkeVBhcnRpY2lwYXRlZAkBB2dldEJvb2wBBQ1rUGFydGljaXBhdGVkCQCUCgIJAMwIAgUHcmVpc3N1ZQkAzAgCCQEOU2NyaXB0VHJhbnNmZXIDCAUBaQZjYWxsZXIFEXNoYXJlVG9rZW5zVG9HaXZlBQ1zaGFyZVRva2Vuc0lkCQDMCAIJAQxJbnRlZ2VyRW50cnkCBQ9rVG90YWxMaXF1aWRpdHkJAGQCBQ50b3RhbExpcXVpZGl0eQkBBXZhbHVlAQgJAJEDAggFAWkIcGF5bWVudHMAAAZhbW91bnQJAMwIAgkBDEJvb2xlYW5FbnRyeQIFDWtQYXJ0aWNpcGF0ZWQGBQNuaWwFEXNoYXJlVG9rZW5zVG9HaXZlAWkBF2NsYWltRmFybWluZ1Jld2FyZFByb3h5AQNpZHMDCQEMaXNMaXF1aWRhdGVkAAkAAgECGENDRlJQOiBDRiBpcyBsaXF1aWRhdGVkIQMJAQIhPQIIBQFpD2NhbGxlclB1YmxpY0tleQUIbUFjY1BLZXkJAAIBAgNfMjMECmVnZ0Fzc2V0SWQJAQhnZXRFZ2dJZAAEDHNoYXJlQXNzZXRJZAkBD2dldFNoYXJlQXNzZXRJZAAEC2Zhcm1pbmdEYXBwCQERQGV4dHJOYXRpdmUoMTA2MikBCQEHZ2V0U3RyQQIFCG1BY2NBZGRyBQxrRmFybWluZ0RhcHAKAQtjbGFpbVJld2FyZAIFYWNjdW0FbmZ0SWQEBmludlJlcwkA/AcEBQtmYXJtaW5nRGFwcAILY2xhaW1SZXdhcmQJAMwIAgUFbmZ0SWQFA25pbAUDbmlsAwkAAAIFBmludlJlcwUGaW52UmVzBAckbWF0Y2gwBQZpbnZSZXMDCQABAgUHJG1hdGNoMAIDSW50BANpbnQFByRtYXRjaDAJAGQCBQVhY2N1bQUDaW50CQACAQICXzUJAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4EBm5mdElkcwkAtQkCBQNpZHMCATsECmZvbGRSZXN1bHQKAAIkbAUGbmZ0SWRzCgACJHMJAJADAQUCJGwKAAUkYWNjMAAACgEFJGYwXzECAiRhAiRpAwkAZwIFAiRpBQIkcwUCJGEJAQtjbGFpbVJld2FyZAIFAiRhCQCRAwIFAiRsBQIkaQoBBSRmMF8yAgIkYQIkaQMJAGcCBQIkaQUCJHMFAiRhCQACAQIUTGlzdCBzaXplIGV4Y2VlZHMgMTAJAQUkZjBfMgIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIFBSRhY2MwAAAAAQACAAMABAAFAAYABwAIAAkACgQNY2xhaW1lZFJld2FyZAQHJG1hdGNoMAUKZm9sZFJlc3VsdAMJAAECBQckbWF0Y2gwAgNJbnQEA2ludAUHJG1hdGNoMAUDaW50CQACAQICXzYEEnRvdGFsRmFybWluZ1Jld2FyZAkBBmdldEludAEFE2tUb3RhbEZhcm1pbmdSZXdhcmQEDmZhcm1DZW9GZWVTaXplCQBrAwUNY2xhaW1lZFJld2FyZAUKZmVlUGVyY2VudABkBA1jdXJyZW50Q2VvRmVlCQEGZ2V0SW50AQUQa0Nlb0NvbGxlY3RlZEZlZQQNY2VvRmVlT3ZlcmFsbAkBBmdldEludAEFF2tDZW9Db2xsZWN0ZWRGZWVPdmVyYWxsBAthbW91bnRUb1BheQkAZQIFDWNsYWltZWRSZXdhcmQFDmZhcm1DZW9GZWVTaXplBAV0b3BVcAkA/AcEBQ5zdGFraW5nQWRkcmVzcwILdG9wVXBSZXdhcmQFA25pbAkAzAgCCQEPQXR0YWNoZWRQYXltZW50AgUKZWdnQXNzZXRJZAULYW1vdW50VG9QYXkFA25pbAMJAAACBQV0b3BVcAUFdG9wVXAJAMwIAgkBDEludGVnZXJFbnRyeQIFE2tUb3RhbEZhcm1pbmdSZXdhcmQJAGQCBRJ0b3RhbEZhcm1pbmdSZXdhcmQFC2Ftb3VudFRvUGF5CQDMCAIJAQxJbnRlZ2VyRW50cnkCBRBrQ2VvQ29sbGVjdGVkRmVlCQBkAgUNY3VycmVudENlb0ZlZQUOZmFybUNlb0ZlZVNpemUJAMwIAgkBDEludGVnZXJFbnRyeQIFF2tDZW9Db2xsZWN0ZWRGZWVPdmVyYWxsCQBkAgUNY2VvRmVlT3ZlcmFsbAUOZmFybUNlb0ZlZVNpemUFA25pbAkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgFpAQtjbGFpbUNlb0ZlZQQIYWRkcmVzczEIYWRkcmVzczINYWRkcmVzczFTaGFyZQ1hZGRyZXNzMlNoYXJlAwkBDGlzTGlxdWlkYXRlZAAJAAIBAhdDQ0NGOiBDRiBpcyBsaXF1aWRhdGVkIQMJAGYCAAAFDWFkZHJlc3MxU2hhcmUJAAIBAhlTaGFyZSAxIGNhbid0IGJlIG5lZ2F0aXZlAwkAZgIAAAUNYWRkcmVzczJTaGFyZQkAAgECGVNoYXJlIDIgY2FuJ3QgYmUgbmVnYXRpdmUDCQECIT0CCQBkAgUNYWRkcmVzczFTaGFyZQUNYWRkcmVzczJTaGFyZQBkCQACAQIbU3VtIG9mIHNoYXJlcyBzaG91bGQgYmUgMTAwAwkAAAIJAQdnZXRCb29sAQUHa0xvY2tlZAYJAAIBAgNfMjIDCQAAAggFAWkGY2FsbGVyBQR0aGlzBBZjdXJyZW50Q2VvQ29sbGVjdGVkRmVlCQEGZ2V0SW50AQUQa0Nlb0NvbGxlY3RlZEZlZQQOYWRkcmVzczFSZXdhcmQDCQAAAgUIYWRkcmVzczICAAUWY3VycmVudENlb0NvbGxlY3RlZEZlZQkAawMFFmN1cnJlbnRDZW9Db2xsZWN0ZWRGZWUFDWFkZHJlc3MxU2hhcmUAZAQOYWRkcmVzczJSZXdhcmQDCQAAAgUIYWRkcmVzczICAAAACQBrAwUWY3VycmVudENlb0NvbGxlY3RlZEZlZQUNYWRkcmVzczJTaGFyZQBkBBZzY3JpcHRUcmFuc2ZlckFkZHJlc3MyAwkAAAIFCGFkZHJlc3MyAgAFA25pbAkAzAgCCQEOU2NyaXB0VHJhbnNmZXIDCQERQGV4dHJOYXRpdmUoMTA2MikBBQhhZGRyZXNzMgUOYWRkcmVzczJSZXdhcmQJAQhnZXRFZ2dJZAAFA25pbAkAzggCBRZzY3JpcHRUcmFuc2ZlckFkZHJlc3MyCQDMCAIJAQ5TY3JpcHRUcmFuc2ZlcgMJARFAZXh0ck5hdGl2ZSgxMDYyKQEFCGFkZHJlc3MxBQ5hZGRyZXNzMVJld2FyZAkBCGdldEVnZ0lkAAkAzAgCCQEMSW50ZWdlckVudHJ5AgUQa0Nlb0NvbGxlY3RlZEZlZQAABQNuaWwJAAIBAiJPbmx5IG1hbmFnZXIgY2FuIGNhbGwgdGhlIGNvbnRyYWN0AWkBEGNhbGxVbnN0YWtlUHJveHkCCGZ1bmN0aW9uB2Fzc2V0SWQDCQEMaXNMaXF1aWRhdGVkAAkAAgECF0NDVVA6IENGIGlzIGxpcXVpZGF0ZWQhAwkAAAIJAQdnZXRCb29sAQUHa0xvY2tlZAYJAAIBAhZDb250cmFjdCBpcyBsb2NrZWQgbm93AwMJAQIhPQIFCGZ1bmN0aW9uAgp1bnN0YWtlTkZUCQECIT0CBQhmdW5jdGlvbgIOdW5zdGFrZUphY2twb3QHCQACAQIRQmFkIGZ1bmN0aW9uIG5hbWUDCQECIT0CCAUBaQZjYWxsZXIFBHRoaXMJAAIBAiFDYW4gYmUgY2FsbGVkIG9ubHkgYnkgdGhlIGFjY291bnQECmVnZ0Fzc2V0SWQJAQhnZXRFZ2dJZAAEDHNoYXJlQXNzZXRJZAkBD2dldFNoYXJlQXNzZXRJZAAEEmZhcm1pbmdEYXBwQWRkcmVzcwkBEUBleHRyTmF0aXZlKDEwNjIpAQkBB2dldFN0ckECBQhtQWNjQWRkcgIMRkFSTUlOR19EQVBQBA51bnN0YWtlZFJld2FyZAkA/AcEBRJmYXJtaW5nRGFwcEFkZHJlc3MFCGZ1bmN0aW9uCQDMCAIFB2Fzc2V0SWQFA25pbAkAzAgCCQEPQXR0YWNoZWRQYXltZW50AgUEdW5pdADAhD0FA25pbAMJAAACBQ51bnN0YWtlZFJld2FyZAUOdW5zdGFrZWRSZXdhcmQEBnJld2FyZAQHJG1hdGNoMAUOdW5zdGFrZWRSZXdhcmQDCQABAgUHJG1hdGNoMAIDSW50BANpbnQFByRtYXRjaDAFA2ludAkAAgECFkVycm9yIGR1cmluZyB1bnN0YWtpbmcEDWN1cnJlbnRDZW9GZWUJAQZnZXRJbnQBBRBrQ2VvQ29sbGVjdGVkRmVlBA1jZW9GZWVPdmVyYWxsCQEGZ2V0SW50AQUXa0Nlb0NvbGxlY3RlZEZlZU92ZXJhbGwEDmZhcm1DZW9GZWVTaXplCQBrAwUGcmV3YXJkBQpmZWVQZXJjZW50AGQEC2Ftb3VudFRvUGF5CQBlAgUGcmV3YXJkBQ5mYXJtQ2VvRmVlU2l6ZQQFdG9wVXAJAPwHBAUOc3Rha2luZ0FkZHJlc3MCC3RvcFVwUmV3YXJkBQNuaWwJAMwIAgkBD0F0dGFjaGVkUGF5bWVudAIFCmVnZ0Fzc2V0SWQFC2Ftb3VudFRvUGF5BQNuaWwDCQAAAgUFdG9wVXAFBXRvcFVwCQDMCAIJAQxJbnRlZ2VyRW50cnkCBRBrQ2VvQ29sbGVjdGVkRmVlCQBkAgUNY3VycmVudENlb0ZlZQUOZmFybUNlb0ZlZVNpemUJAMwIAgkBDEludGVnZXJFbnRyeQIFF2tDZW9Db2xsZWN0ZWRGZWVPdmVyYWxsCQBkAgUNY2VvRmVlT3ZlcmFsbAUOZmFybUNlb0ZlZVNpemUFA25pbAkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgECdHgBBnZlcmlmeQAEDGNoZWNrU3RhcnRlZAkAZwIJAQZnZXRJbnQBBQ9rVG90YWxMaXF1aWRpdHkJAQZnZXRJbnQBBRNrTGlxdWlkaXR5VGhyZXNob2xkBAckbWF0Y2gwBQJ0eAMJAAECBQckbWF0Y2gwAhdJbnZva2VTY3JpcHRUcmFuc2FjdGlvbgQDaW52BQckbWF0Y2gwBBRhY2NlcHRlZENhbGxzU3Rha2luZwkAzAgCAg9zdGFrZUZhcm1Ub2tlbnMJAMwIAgILY2xhaW1SZXdhcmQJAMwIAgISd2l0aGRyYXdGYXJtVG9rZW5zCQDMCAICD3ZvdGVUb0xpcXVpZGF0ZQUDbmlsBBFhY2NlcHRlZENhbGxzVGhpcwkAzAgCAhBjYWxsVW5zdGFrZVByb3h5CQDMCAICC2NsYWltQ2VvRmVlCQDMCAICD2xvY2tJbnZlc3RtZW50cwkAzAgCAhF1bmxvY2tJbnZlc3RtZW50cwUDbmlsAwMDCQAAAggFA2ludghmdW5jdGlvbgIKdW5zdGFrZU5GVAYJAAACCAUDaW52CGZ1bmN0aW9uAg51bnN0YWtlSmFja3BvdAkAAAIJAKQIAQgFA2ludgRkQXBwCQERQGV4dHJOYXRpdmUoMTA2MikBCQEHZ2V0U3RyQQIFCG1BY2NBZGRyAgxGQVJNSU5HX0RBUFAHCQACAQIoWW91IGNhbm5vdCBjYWxsIHRoZXNlIGZ1bmN0aW9ucyBkaXJlY3RseQMDAwkAAAIJAKQIAQgFA2ludgRkQXBwBQR0aGlzCQAAAggFA2ludghmdW5jdGlvbgINaW5pdE1hc3RlcktleQcJAAACBQ5tQWNjUEtleVN0cmluZwIABwMJAPQDAwgFAnR4CWJvZHlCeXRlcwkAkQMCCAUCdHgGcHJvb2ZzAAAIBQJ0eA9zZW5kZXJQdWJsaWNLZXkGCQD0AwMIBQJ0eAlib2R5Qnl0ZXMJAJEDAggFAnR4BnByb29mcwAACQEMZ2V0QmFja3VwS2V5AAMDCQAAAgkA9AMDCAUCdHgJYm9keUJ5dGVzCQCRAwIIBQJ0eAZwcm9vZnMAAAgFAnR4D3NlbmRlclB1YmxpY0tleQcJAAACCQD0AwMIBQJ0eAlib2R5Qnl0ZXMJAJEDAggFAnR4BnByb29mcwAACQEMZ2V0QmFja3VwS2V5AAcHCQACAQIEXzEwMAMJAAACBQxjaGVja1N0YXJ0ZWQHCQACAQIDXzE0AwkAAAIJAQdnZXRCb29sAQUHa0xvY2tlZAYJAAIBAgNfMjIDAwkAZgIIBQNpbnYDZmVlAKD3NgYJAQIhPQIIBQNpbnYKZmVlQXNzZXRJZAUEdW5pdAkAAgECEF8xNTogdG8gbXVjaCBmZWUDCQBmAgkAkAMBCAUDaW52CHBheW1lbnRzAAQJAAIBAhhfMTc6IHRvIGJpZyBwYXltZW50IHNpemUDAwkAAAIJAKQIAQgFA2ludgRkQXBwBQR0aGlzCQEPY29udGFpbnNFbGVtZW50AgURYWNjZXB0ZWRDYWxsc1RoaXMIBQNpbnYIZnVuY3Rpb24HAwkA9AMDCAUCdHgJYm9keUJ5dGVzCQCRAwIIBQJ0eAZwcm9vZnMAAAgFAnR4D3NlbmRlclB1YmxpY0tleQYJAPQDAwgFAnR4CWJvZHlCeXRlcwkAkQMCCAUCdHgGcHJvb2ZzAAAJAQxnZXRCYWNrdXBLZXkAAwMJAAACCQCkCAEIBQNpbnYEZEFwcAkBEUBleHRyTmF0aXZlKDEwNjIpAQkBEmdldE1hcmtldFByb3h5QWRkcgAJAAACCAUDaW52CGZ1bmN0aW9uAhRjYWxsTWFya2V0cGxhY2VQcm94eQcDCQD0AwMIBQJ0eAlib2R5Qnl0ZXMJAJEDAggFAnR4BnByb29mcwAACAUCdHgPc2VuZGVyUHVibGljS2V5BgkA9AMDCAUCdHgJYm9keUJ5dGVzCQCRAwIIBQJ0eAZwcm9vZnMAAAkBDGdldEJhY2t1cEtleQADAwkAAAIJAKQIAQgFA2ludgRkQXBwBQ5zdGFraW5nQWRkcmVzcwkBD2NvbnRhaW5zRWxlbWVudAIFFGFjY2VwdGVkQ2FsbHNTdGFraW5nCAUDaW52CGZ1bmN0aW9uBwMJAPQDAwgFAnR4CWJvZHlCeXRlcwkAkQMCCAUCdHgGcHJvb2ZzAAAIBQJ0eA9zZW5kZXJQdWJsaWNLZXkGCQD0AwMIBQJ0eAlib2R5Qnl0ZXMJAJEDAggFAnR4BnByb29mcwAACQEMZ2V0QmFja3VwS2V5AAQKZGFwcFRvQ2FsbAkApQgBCQCkCAEIBQNpbnYEZEFwcAQPYWxsb3dlZENvbnRyYWN0CQEHZ2V0U3RyQQIFCG1BY2NBZGRyCQCsAgICEWFsbG93ZWRfY29udHJhY3RfBQpkYXBwVG9DYWxsAwMJAAACBQ9hbGxvd2VkQ29udHJhY3QCB0ZBUk1JTkcJAAACCAUDaW52CGZ1bmN0aW9uAgtjbGFpbVJld2FyZAcHCQECIT0CBQ9hbGxvd2VkQ29udHJhY3QCAAMJAAECBQckbWF0Y2gwAhRTZXRTY3JpcHRUcmFuc2FjdGlvbgQCc3MFByRtYXRjaDAJAPQDAwgFAnR4CWJvZHlCeXRlcwkAkQMCCAUCdHgGcHJvb2ZzAAAFCG1BY2NQS2V5AwkAAQIFByRtYXRjaDACF01hc3NUcmFuc2ZlclRyYW5zYWN0aW9uBAJtdAUHJG1hdGNoMAkA9AMDCAUCdHgJYm9keUJ5dGVzCQCRAwIIBQJ0eAZwcm9vZnMAAAUIbUFjY1BLZXkHKTy0jQ==", "height": 3970740, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: 3Z11nNvJBV7Nk6iUa8yhcBJy6QLXDLjBF77nCqQxNfx2 Next: none Diff:
OldNewDifferences
214214 func lockInvestments () = if ((Y.caller != this))
215215 then throw("You cannot lock this contract")
216216 else [BooleanEntry(C, true)]
217-
218-
219-
220-@Callable(Y)
221-func unlockInvestments () = if ((Y.caller != this))
222- then throw("You cannot lock this contract")
223- else [BooleanEntry(C, false)]
224217
225218
226219
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 6 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 let a = "master_pk"
55
66 let b = "back_pk"
77
88 let c = "wars_pk"
99
1010 func d (e) = {
1111 let f = getString(this, e)
1212 if ($isInstanceOf(f, "String"))
1313 then {
1414 let g = f
1515 g
1616 }
1717 else ""
1818 }
1919
2020
2121 let h = d(a)
2222
2323 let i = d(b)
2424
2525 func j () = if ((i == ""))
2626 then this.bytes
2727 else fromBase58String(i)
2828
2929
3030 let k = fromBase58String(h)
3131
3232 let l = addressFromPublicKey(k)
3333
3434 let m = getIntegerValue(l, (("f_" + toString(this)) + "_fee"))
3535
3636 let n = addressFromStringValue(valueOrErrorMessage(getString(l, (("f_" + toString(this)) + "_stake_address")), (("f_" + toString(this)) + "_stake_address not defined")))
3737
3838 let o = fromBase58String(valueOrErrorMessage(getString(l, c), (c + " not defined")))
3939
4040 let p = "total_liquidity"
4141
4242 let q = "INITIALIZED"
4343
4444 let r = "LIQUIDITY_THRESHOLD"
4545
4646 let s = "total_farming_reward"
4747
4848 let t = "SHARE_ASSET_ID"
4949
5050 let u = "INCUBATOR_DAPP"
5151
5252 let v = "BREEDER_DAPP"
5353
5454 let w = "FARMING_DAPP"
5555
5656 let x = "MARKETPLACE_PROXY_DAPP"
5757
5858 let y = "AUCTION_DAPP"
5959
6060 let z = "LOCKED"
6161
6262 let A = "ceo_collected_fee"
6363
6464 let B = "ceo_fee_overall"
6565
6666 let C = "locked_investments"
6767
6868 let D = "total_compound"
6969
7070 let E = "global_staked"
7171
7272 func F (e) = {
7373 let f = getInteger(this, e)
7474 if ($isInstanceOf(f, "Int"))
7575 then {
7676 let g = f
7777 g
7878 }
7979 else 0
8080 }
8181
8282
8383 func G (e) = {
8484 let f = getBoolean(this, e)
8585 if ($isInstanceOf(f, "Boolean"))
8686 then {
8787 let g = f
8888 g
8989 }
9090 else unit
9191 }
9292
9393
9494 func H (I,J) = {
9595 let f = getString(I, J)
9696 if ($isInstanceOf(f, "String"))
9797 then {
9898 let g = f
9999 g
100100 }
101101 else ""
102102 }
103103
104104
105105 func K (I,e) = {
106106 let f = getBoolean(I, e)
107107 if ($isInstanceOf(f, "Boolean"))
108108 then {
109109 let g = f
110110 g
111111 }
112112 else false
113113 }
114114
115115
116116 func L (M,e) = {
117117 let f = getInteger(M, e)
118118 if ($isInstanceOf(f, "Int"))
119119 then {
120120 let g = f
121121 g
122122 }
123123 else 0
124124 }
125125
126126
127127 func N () = "VOTE_HEIGHT_START"
128128
129129
130130 func O (P) = ("LIQUIDATED_" + P)
131131
132132
133133 func Q () = {
134134 let R = L(n, N())
135135 if ((R == 0))
136136 then false
137137 else K(n, O(toString(R)))
138138 }
139139
140140
141141 func S () = H(l, x)
142142
143143
144144 func T () = fromBase58String(getStringValue(l, "EGG_ASSET_ID"))
145145
146146
147147 func U () = fromBase58String(d(t))
148148
149149
150150 func V (W) = {
151151 let f = W
152152 if ($isInstanceOf(f, "Int"))
153153 then {
154154 let X = f
155155 X
156156 }
157157 else throw("wrong type, expected: Int")
158158 }
159159
160160
161161 @Callable(Y)
162162 func initMasterKey (Z) = if ((Y.caller != this))
163163 then throw("You cannot do this action")
164164 else if ((h != ""))
165165 then throw("Master public key already set, you can't override!")
166166 else [StringEntry(a, Z)]
167167
168168
169169
170170 @Callable(Y)
171171 func initBackupKey (Z) = if ((Y.caller != addressFromPublicKey(k)))
172172 then throw("You cannot do this action")
173173 else [StringEntry(b, Z)]
174174
175175
176176
177177 @Callable(Y)
178178 func initCollectiveFarm (aa,ab,ac,ad,ae,af) = if ((h == ""))
179179 then throw("First initiatie a master public key!")
180180 else if ((Y.callerPublicKey != k))
181181 then throw("_1")
182182 else if ((G(q) != unit))
183183 then throw("_2")
184184 else if (if ((ac == false))
185185 then if ((Y.payments[0].amount != 10000000))
186186 then true
187187 else (Y.payments[0].assetId != T())
188188 else false)
189189 then throw("_20")
190190 else {
191191 let ag = if (ac)
192192 then af
193193 else 10000000
194194 let ah = Issue(aa, (("Team token for the \"" + aa) + "\" collective farm"), ag, 8, true)
195195 let ai = if (ac)
196196 then ae
197197 else 10000000
198198 let aj = if (ac)
199199 then [IntegerEntry(s, ad)]
200200 else nil
201201 ([StringEntry(t, toBase58String(calculateAssetId(ah))), BooleanEntry(q, true), IntegerEntry(p, ai), ah, ScriptTransfer(Y.caller, ag, calculateAssetId(ah)), BooleanEntry(z, false), IntegerEntry(r, ab)] ++ aj)
202202 }
203203
204204
205205
206206 @Callable(Y)
207207 func setLock (ak) = if ((Y.callerPublicKey != k))
208208 then throw("_21")
209209 else [BooleanEntry(z, ak)]
210210
211211
212212
213213 @Callable(Y)
214214 func lockInvestments () = if ((Y.caller != this))
215215 then throw("You cannot lock this contract")
216216 else [BooleanEntry(C, true)]
217-
218-
219-
220-@Callable(Y)
221-func unlockInvestments () = if ((Y.caller != this))
222- then throw("You cannot lock this contract")
223- else [BooleanEntry(C, false)]
224217
225218
226219
227220 @Callable(Y)
228221 func provideLiquidity () = if (Q())
229222 then throw("CPL: CF is liquidated!")
230223 else {
231224 let al = T()
232225 if (if (if ((Y.callerPublicKey != o))
233226 then (Y.callerPublicKey != k)
234227 else false)
235228 then (G(C) == true)
236229 else false)
237230 then throw("Contract is locked for investments by it's CEO. Please invest in another collective farm.")
238231 else if ((G(z) == true))
239232 then throw("_22")
240233 else if ((Y.payments[0].assetId != al))
241234 then throw("_4")
242235 else if ((1000000 > Y.payments[0].amount))
243236 then throw("Min amount to invest is 0.01 EGG")
244237 else {
245238 let ae = F(p)
246239 let am = Y.payments[0].amount
247240 let an = fromBase58String(d(t))
248241 let ao = Reissue(U(), am, true)
249242 let ap = (("account_" + toString(Y.caller)) + "_participated")
250243 let aq = G(ap)
251244 $Tuple2([ao, ScriptTransfer(Y.caller, am, an), IntegerEntry(p, (ae + value(Y.payments[0].amount))), BooleanEntry(ap, true)], am)
252245 }
253246 }
254247
255248
256249
257250 @Callable(Y)
258251 func claimFarmingRewardProxy (ar) = if (Q())
259252 then throw("CCFRP: CF is liquidated!")
260253 else if ((Y.callerPublicKey != k))
261254 then throw("_23")
262255 else {
263256 let al = T()
264257 let as = U()
265258 let at = addressFromStringValue(H(l, w))
266259 func au (av,aw) = {
267260 let ax = invoke(at, "claimReward", [aw], nil)
268261 if ((ax == ax))
269262 then {
270263 let f = ax
271264 if ($isInstanceOf(f, "Int"))
272265 then {
273266 let X = f
274267 (av + X)
275268 }
276269 else throw("_5")
277270 }
278271 else throw("Strict value is not equal to itself.")
279272 }
280273
281274 let ay = split(ar, ";")
282275 let az = {
283276 let aA = ay
284277 let aB = size(aA)
285278 let aC = 0
286279 func aD (aE,aF) = if ((aF >= aB))
287280 then aE
288281 else au(aE, aA[aF])
289282
290283 func aG (aE,aF) = if ((aF >= aB))
291284 then aE
292285 else throw("List size exceeds 10")
293286
294287 aG(aD(aD(aD(aD(aD(aD(aD(aD(aD(aD(aC, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10)
295288 }
296289 let aH = {
297290 let f = az
298291 if ($isInstanceOf(f, "Int"))
299292 then {
300293 let X = f
301294 X
302295 }
303296 else throw("_6")
304297 }
305298 let ad = F(s)
306299 let aI = fraction(aH, m, 100)
307300 let aJ = F(A)
308301 let aK = F(B)
309302 let aL = (aH - aI)
310303 let aM = invoke(n, "topUpReward", nil, [AttachedPayment(al, aL)])
311304 if ((aM == aM))
312305 then [IntegerEntry(s, (ad + aL)), IntegerEntry(A, (aJ + aI)), IntegerEntry(B, (aK + aI))]
313306 else throw("Strict value is not equal to itself.")
314307 }
315308
316309
317310
318311 @Callable(Y)
319312 func claimCeoFee (aN,aO,aP,aQ) = if (Q())
320313 then throw("CCCF: CF is liquidated!")
321314 else if ((0 > aP))
322315 then throw("Share 1 can't be negative")
323316 else if ((0 > aQ))
324317 then throw("Share 2 can't be negative")
325318 else if (((aP + aQ) != 100))
326319 then throw("Sum of shares should be 100")
327320 else if ((G(z) == true))
328321 then throw("_22")
329322 else if ((Y.caller == this))
330323 then {
331324 let aR = F(A)
332325 let aS = if ((aO == ""))
333326 then aR
334327 else fraction(aR, aP, 100)
335328 let aT = if ((aO == ""))
336329 then 0
337330 else fraction(aR, aQ, 100)
338331 let aU = if ((aO == ""))
339332 then nil
340333 else [ScriptTransfer(addressFromStringValue(aO), aT, T())]
341334 (aU ++ [ScriptTransfer(addressFromStringValue(aN), aS, T()), IntegerEntry(A, 0)])
342335 }
343336 else throw("Only manager can call the contract")
344337
345338
346339
347340 @Callable(Y)
348341 func callUnstakeProxy (aV,aW) = if (Q())
349342 then throw("CCUP: CF is liquidated!")
350343 else if ((G(z) == true))
351344 then throw("Contract is locked now")
352345 else if (if ((aV != "unstakeNFT"))
353346 then (aV != "unstakeJackpot")
354347 else false)
355348 then throw("Bad function name")
356349 else if ((Y.caller != this))
357350 then throw("Can be called only by the account")
358351 else {
359352 let al = T()
360353 let as = U()
361354 let aX = addressFromStringValue(H(l, "FARMING_DAPP"))
362355 let aY = invoke(aX, aV, [aW], [AttachedPayment(unit, 1000000)])
363356 if ((aY == aY))
364357 then {
365358 let aZ = {
366359 let f = aY
367360 if ($isInstanceOf(f, "Int"))
368361 then {
369362 let X = f
370363 X
371364 }
372365 else throw("Error during unstaking")
373366 }
374367 let aJ = F(A)
375368 let aK = F(B)
376369 let aI = fraction(aZ, m, 100)
377370 let aL = (aZ - aI)
378371 let aM = invoke(n, "topUpReward", nil, [AttachedPayment(al, aL)])
379372 if ((aM == aM))
380373 then [IntegerEntry(A, (aJ + aI)), IntegerEntry(B, (aK + aI))]
381374 else throw("Strict value is not equal to itself.")
382375 }
383376 else throw("Strict value is not equal to itself.")
384377 }
385378
386379
387380 @Verifier(ba)
388381 func bb () = {
389382 let bc = (F(p) >= F(r))
390383 let f = ba
391384 if ($isInstanceOf(f, "InvokeScriptTransaction"))
392385 then {
393386 let bd = f
394387 let be = ["stakeFarmTokens", "claimReward", "withdrawFarmTokens", "voteToLiquidate"]
395388 let bf = ["callUnstakeProxy", "claimCeoFee", "lockInvestments", "unlockInvestments"]
396389 if (if (if ((bd.function == "unstakeNFT"))
397390 then true
398391 else (bd.function == "unstakeJackpot"))
399392 then (addressFromRecipient(bd.dApp) == addressFromStringValue(H(l, "FARMING_DAPP")))
400393 else false)
401394 then throw("You cannot call these functions directly")
402395 else if (if (if ((addressFromRecipient(bd.dApp) == this))
403396 then (bd.function == "initMasterKey")
404397 else false)
405398 then (h == "")
406399 else false)
407400 then if (sigVerify(ba.bodyBytes, ba.proofs[0], ba.senderPublicKey))
408401 then true
409402 else sigVerify(ba.bodyBytes, ba.proofs[0], j())
410403 else if (if ((sigVerify(ba.bodyBytes, ba.proofs[0], ba.senderPublicKey) == false))
411404 then (sigVerify(ba.bodyBytes, ba.proofs[0], j()) == false)
412405 else false)
413406 then throw("_100")
414407 else if ((bc == false))
415408 then throw("_14")
416409 else if ((G(z) == true))
417410 then throw("_22")
418411 else if (if ((bd.fee > 900000))
419412 then true
420413 else (bd.feeAssetId != unit))
421414 then throw("_15: to much fee")
422415 else if ((size(bd.payments) > 4))
423416 then throw("_17: to big payment size")
424417 else if (if ((addressFromRecipient(bd.dApp) == this))
425418 then containsElement(bf, bd.function)
426419 else false)
427420 then if (sigVerify(ba.bodyBytes, ba.proofs[0], ba.senderPublicKey))
428421 then true
429422 else sigVerify(ba.bodyBytes, ba.proofs[0], j())
430423 else if (if ((addressFromRecipient(bd.dApp) == addressFromStringValue(S())))
431424 then (bd.function == "callMarketplaceProxy")
432425 else false)
433426 then if (sigVerify(ba.bodyBytes, ba.proofs[0], ba.senderPublicKey))
434427 then true
435428 else sigVerify(ba.bodyBytes, ba.proofs[0], j())
436429 else if (if ((addressFromRecipient(bd.dApp) == n))
437430 then containsElement(be, bd.function)
438431 else false)
439432 then if (sigVerify(ba.bodyBytes, ba.proofs[0], ba.senderPublicKey))
440433 then true
441434 else sigVerify(ba.bodyBytes, ba.proofs[0], j())
442435 else {
443436 let bg = toString(addressFromRecipient(bd.dApp))
444437 let bh = H(l, ("allowed_contract_" + bg))
445438 if (if ((bh == "FARMING"))
446439 then (bd.function == "claimReward")
447440 else false)
448441 then false
449442 else (bh != "")
450443 }
451444 }
452445 else if ($isInstanceOf(f, "SetScriptTransaction"))
453446 then {
454447 let bi = f
455448 sigVerify(ba.bodyBytes, ba.proofs[0], k)
456449 }
457450 else if ($isInstanceOf(f, "MassTransferTransaction"))
458451 then {
459452 let bj = f
460453 sigVerify(ba.bodyBytes, ba.proofs[0], k)
461454 }
462455 else false
463456 }
464457

github/deemru/w8io/6500d08 
98.67 ms