tx · 3oPjj9c4aP3rnWAptswrsJ8VP9JLiujiPtLpQXrUBbp5

3P3ohGCRmJzjTsP7RQ7jZV7QNw76wB1Nsnn:  -0.01500000 Waves

2023.10.08 14:38 [3855444] smart account 3P3ohGCRmJzjTsP7RQ7jZV7QNw76wB1Nsnn > SELF 0.00000000 Waves

{ "type": 13, "id": "3oPjj9c4aP3rnWAptswrsJ8VP9JLiujiPtLpQXrUBbp5", "fee": 1500000, "feeAssetId": null, "timestamp": 1696765091457, "version": 2, "chainId": 87, "sender": "3P3ohGCRmJzjTsP7RQ7jZV7QNw76wB1Nsnn", "senderPublicKey": "4VbrQipmZPdnspDL7qvREPopho2QYYX2MzEkz8vYqYvT", "proofs": [ "2ruDEBaw4NL6XsQGjdFQwyKYwYAwegXX9RLCzEWLUQ4EWbXXHA39raLZYdQExeELtFmYfQCoR7ektErytsuphrGH" ], "script": "base64:BgI0CAISAwoBCBIDCgEIEggKBggBBAEBARIDCgEEEgASABIAEgMKAQgSBgoECAgBARIECgIICCgAC2tleU1BY2NQS2V5AgltYXN0ZXJfcGsADWtleUJhY2t1cFBLZXkCB2JhY2tfcGsACHdhcnNQS2V5Agd3YXJzX3BrAQZnZXRTdHIBA2tleQQHJG1hdGNoMAkAnQgCBQR0aGlzBQNrZXkDCQABAgUHJG1hdGNoMAIGU3RyaW5nBAFiBQckbWF0Y2gwBQFiAgAADm1BY2NQS2V5U3RyaW5nCQEGZ2V0U3RyAQULa2V5TUFjY1BLZXkAEGJhY2t1cFBLZXlTdHJpbmcJAQZnZXRTdHIBBQ1rZXlCYWNrdXBQS2V5AQxnZXRCYWNrdXBLZXkAAwkAAAIFEGJhY2t1cFBLZXlTdHJpbmcCAAgFBHRoaXMFYnl0ZXMJANkEAQUQYmFja3VwUEtleVN0cmluZwAIbUFjY1BLZXkJANkEAQUObUFjY1BLZXlTdHJpbmcACG1BY2NBZGRyCQCnCAEFCG1BY2NQS2V5AApmZWVQZXJjZW50CQERQGV4dHJOYXRpdmUoMTA1MCkCBQhtQWNjQWRkcgkArAICCQCsAgICAmZfCQClCAEFBHRoaXMCBF9mZWUADnN0YWtpbmdBZGRyZXNzCQERQGV4dHJOYXRpdmUoMTA2MikBCQETdmFsdWVPckVycm9yTWVzc2FnZQIJAJ0IAgUIbUFjY0FkZHIJAKwCAgkArAICAgJmXwkApQgBBQR0aGlzAg5fc3Rha2VfYWRkcmVzcwkArAICCQCsAgICAmZfCQClCAEFBHRoaXMCGl9zdGFrZV9hZGRyZXNzIG5vdCBkZWZpbmVkAAh3QWNjUEtleQkA2QQBCQETdmFsdWVPckVycm9yTWVzc2FnZQIJAJ0IAgUIbUFjY0FkZHIFCHdhcnNQS2V5CQCsAgIFCHdhcnNQS2V5Agwgbm90IGRlZmluZWQAD2tUb3RhbExpcXVpZGl0eQIPdG90YWxfbGlxdWlkaXR5AAxrSW5pdGlhbGl6ZWQCC0lOSVRJQUxJWkVEABNrTGlxdWlkaXR5VGhyZXNob2xkAhNMSVFVSURJVFlfVEhSRVNIT0xEABNrVG90YWxGYXJtaW5nUmV3YXJkAhR0b3RhbF9mYXJtaW5nX3Jld2FyZAANa1NoYXJlQXNzZXRJZAIOU0hBUkVfQVNTRVRfSUQADmtJbmN1YmF0b3JEYXBwAg5JTkNVQkFUT1JfREFQUAAMa0JyZWVkZXJEYXBwAgxCUkVFREVSX0RBUFAADGtGYXJtaW5nRGFwcAIMRkFSTUlOR19EQVBQABBrTWFya2V0UHJveHlEYXBwAhZNQVJLRVRQTEFDRV9QUk9YWV9EQVBQAAxrQXVjdGlvbkRhcHACDEFVQ1RJT05fREFQUAAHa0xvY2tlZAIGTE9DS0VEABBrQ2VvQ29sbGVjdGVkRmVlAhFjZW9fY29sbGVjdGVkX2ZlZQAXa0Nlb0NvbGxlY3RlZEZlZU92ZXJhbGwCD2Nlb19mZWVfb3ZlcmFsbAASa0xvY2tlZEludmVzdG1lbnRzAhJsb2NrZWRfaW52ZXN0bWVudHMAEGtleVRvdGFsQ29tcG91bmQCDnRvdGFsX2NvbXBvdW5kAA9rZXlHbG9iYWxTdGFrZWQCDWdsb2JhbF9zdGFrZWQBBmdldEludAEDa2V5BAckbWF0Y2gwCQCaCAIFBHRoaXMFA2tleQMJAAECBQckbWF0Y2gwAgNJbnQEAWIFByRtYXRjaDAFAWIAAAEHZ2V0Qm9vbAEDa2V5BAckbWF0Y2gwCQCbCAIFBHRoaXMFA2tleQMJAAECBQckbWF0Y2gwAgdCb29sZWFuBAFiBQckbWF0Y2gwBQFiBQR1bml0AQdnZXRTdHJBAgFhAWsEByRtYXRjaDAJAJ0IAgUBYQUBawMJAAECBQckbWF0Y2gwAgZTdHJpbmcEAWIFByRtYXRjaDAFAWICAAENdHJ5R2V0Qm9vbGVhbgIBYQNrZXkEByRtYXRjaDAJAJsIAgUBYQUDa2V5AwkAAQIFByRtYXRjaDACB0Jvb2xlYW4EAWIFByRtYXRjaDAFAWIHAQdnZXRJbnRBAgdhZGRyZXNzA2tleQQHJG1hdGNoMAkAmggCBQdhZGRyZXNzBQNrZXkDCQABAgUHJG1hdGNoMAIDSW50BAFiBQckbWF0Y2gwBQFiAAABEGdldFZvdGVIZWlnaHRLZXkAAhFWT1RFX0hFSUdIVF9TVEFSVAENcmVzdWx0Vm90ZUtleQEGaGVpZ2h0CQCsAgICC0xJUVVJREFURURfBQZoZWlnaHQBDGlzTGlxdWlkYXRlZAAECnZvdGVIZWlnaHQJAQdnZXRJbnRBAgUOc3Rha2luZ0FkZHJlc3MJARBnZXRWb3RlSGVpZ2h0S2V5AAMJAAACBQp2b3RlSGVpZ2h0AAAHCQENdHJ5R2V0Qm9vbGVhbgIFDnN0YWtpbmdBZGRyZXNzCQENcmVzdWx0Vm90ZUtleQEJAKQDAQUKdm90ZUhlaWdodAESZ2V0TWFya2V0UHJveHlBZGRyAAkBB2dldFN0ckECBQhtQWNjQWRkcgUQa01hcmtldFByb3h5RGFwcAEIZ2V0RWdnSWQACQDZBAEJARFAZXh0ck5hdGl2ZSgxMDUzKQIFCG1BY2NBZGRyAgxFR0dfQVNTRVRfSUQBD2dldFNoYXJlQXNzZXRJZAAJANkEAQkBBmdldFN0cgEFDWtTaGFyZUFzc2V0SWQBBWFzSW50AQV2YWx1ZQQHJG1hdGNoMAUFdmFsdWUDCQABAgUHJG1hdGNoMAIDSW50BANpbnQFByRtYXRjaDAFA2ludAkAAgECGXdyb25nIHR5cGUsIGV4cGVjdGVkOiBJbnQKAWkBDWluaXRNYXN0ZXJLZXkBCXB1YmxpY0tleQMJAQIhPQIIBQFpBmNhbGxlcgUEdGhpcwkAAgECGVlvdSBjYW5ub3QgZG8gdGhpcyBhY3Rpb24DCQECIT0CBQ5tQWNjUEtleVN0cmluZwIACQACAQIyTWFzdGVyIHB1YmxpYyBrZXkgYWxyZWFkeSBzZXQsIHlvdSBjYW4ndCBvdmVycmlkZSEJAMwIAgkBC1N0cmluZ0VudHJ5AgULa2V5TUFjY1BLZXkFCXB1YmxpY0tleQUDbmlsAWkBDWluaXRCYWNrdXBLZXkBCXB1YmxpY0tleQMJAQIhPQIIBQFpBmNhbGxlcgkApwgBBQhtQWNjUEtleQkAAgECGVlvdSBjYW5ub3QgZG8gdGhpcyBhY3Rpb24JAMwIAgkBC1N0cmluZ0VudHJ5AgUNa2V5QmFja3VwUEtleQUJcHVibGljS2V5BQNuaWwBaQESaW5pdENvbGxlY3RpdmVGYXJtBgRuYW1lEG1pbmltdW1UaHJlc2hvbGQJbWlncmF0aW9uEnRvdGFsRmFybWluZ1Jld2FyZA50b3RhbExpcXVpZGl0eQ50b3RhbEZhcm1Ub2tlbgMJAAACBQ5tQWNjUEtleVN0cmluZwIACQACAQIkRmlyc3QgaW5pdGlhdGllIGEgbWFzdGVyIHB1YmxpYyBrZXkhAwkBAiE9AggFAWkPY2FsbGVyUHVibGljS2V5BQhtQWNjUEtleQkAAgECAl8xAwkBAiE9AgkBB2dldEJvb2wBBQxrSW5pdGlhbGl6ZWQFBHVuaXQJAAIBAgJfMgMDCQAAAgUJbWlncmF0aW9uBwMJAQIhPQIICQCRAwIIBQFpCHBheW1lbnRzAAAGYW1vdW50AICt4gQGCQECIT0CCAkAkQMCCAUBaQhwYXltZW50cwAAB2Fzc2V0SWQJAQhnZXRFZ2dJZAAHCQACAQIDXzIwBAtzaGFyZVRva2VucwMFCW1pZ3JhdGlvbgUOdG90YWxGYXJtVG9rZW4AgK3iBAQKc2hhcmVUb2tlbgkAwggFBQRuYW1lCQCsAgIJAKwCAgIUVGVhbSB0b2tlbiBmb3IgdGhlICIFBG5hbWUCESIgY29sbGVjdGl2ZSBmYXJtBQtzaGFyZVRva2VucwAIBgQMdG90TGlxdWlkaXR5AwUJbWlncmF0aW9uBQ50b3RhbExpcXVpZGl0eQCAreIEBBB0b3RGYXJtaW5nUmV3YXJkAwUJbWlncmF0aW9uCQDMCAIJAQxJbnRlZ2VyRW50cnkCBRNrVG90YWxGYXJtaW5nUmV3YXJkBRJ0b3RhbEZhcm1pbmdSZXdhcmQFA25pbAUDbmlsCQDOCAIJAMwIAgkBC1N0cmluZ0VudHJ5AgUNa1NoYXJlQXNzZXRJZAkA2AQBCQC4CAEFCnNoYXJlVG9rZW4JAMwIAgkBDEJvb2xlYW5FbnRyeQIFDGtJbml0aWFsaXplZAYJAMwIAgkBDEludGVnZXJFbnRyeQIFD2tUb3RhbExpcXVpZGl0eQUMdG90TGlxdWlkaXR5CQDMCAIFCnNoYXJlVG9rZW4JAMwIAgkBDlNjcmlwdFRyYW5zZmVyAwgFAWkGY2FsbGVyBQtzaGFyZVRva2VucwkAuAgBBQpzaGFyZVRva2VuCQDMCAIJAQxCb29sZWFuRW50cnkCBQdrTG9ja2VkBwkAzAgCCQEMSW50ZWdlckVudHJ5AgUTa0xpcXVpZGl0eVRocmVzaG9sZAUQbWluaW11bVRocmVzaG9sZAUDbmlsBRB0b3RGYXJtaW5nUmV3YXJkAWkBB3NldExvY2sBAXMDCQECIT0CCAUBaQ9jYWxsZXJQdWJsaWNLZXkFCG1BY2NQS2V5CQACAQIDXzIxCQDMCAIJAQxCb29sZWFuRW50cnkCBQdrTG9ja2VkBQFzBQNuaWwBaQEPbG9ja0ludmVzdG1lbnRzAAMJAQIhPQIIBQFpBmNhbGxlcgUEdGhpcwkAAgECHVlvdSBjYW5ub3QgbG9jayB0aGlzIGNvbnRyYWN0CQDMCAIJAQxCb29sZWFuRW50cnkCBRJrTG9ja2VkSW52ZXN0bWVudHMGBQNuaWwBaQERdW5sb2NrSW52ZXN0bWVudHMAAwkBAiE9AggFAWkGY2FsbGVyBQR0aGlzCQACAQIdWW91IGNhbm5vdCBsb2NrIHRoaXMgY29udHJhY3QJAMwIAgkBDEJvb2xlYW5FbnRyeQIFEmtMb2NrZWRJbnZlc3RtZW50cwcFA25pbAFpARBwcm92aWRlTGlxdWlkaXR5AAMJAQxpc0xpcXVpZGF0ZWQACQACAQIWQ1BMOiBDRiBpcyBsaXF1aWRhdGVkIQQKZWdnQXNzZXRJZAkBCGdldEVnZ0lkAAMDAwkBAiE9AggFAWkPY2FsbGVyUHVibGljS2V5BQh3QWNjUEtleQkBAiE9AggFAWkPY2FsbGVyUHVibGljS2V5BQhtQWNjUEtleQcJAAACCQEHZ2V0Qm9vbAEFEmtMb2NrZWRJbnZlc3RtZW50cwYHCQACAQJZQ29udHJhY3QgaXMgbG9ja2VkIGZvciBpbnZlc3RtZW50cyBieSBpdCdzIENFTy4gUGxlYXNlIGludmVzdCBpbiBhbm90aGVyIGNvbGxlY3RpdmUgZmFybS4DCQAAAgkBB2dldEJvb2wBBQdrTG9ja2VkBgkAAgECA18yMgMJAQIhPQIICQCRAwIIBQFpCHBheW1lbnRzAAAHYXNzZXRJZAUKZWdnQXNzZXRJZAkAAgECAl80AwkAZgIAwIQ9CAkAkQMCCAUBaQhwYXltZW50cwAABmFtb3VudAkAAgECIE1pbiBhbW91bnQgdG8gaW52ZXN0IGlzIDAuMDEgRUdHBA50b3RhbExpcXVpZGl0eQkBBmdldEludAEFD2tUb3RhbExpcXVpZGl0eQQRc2hhcmVUb2tlbnNUb0dpdmUICQCRAwIIBQFpCHBheW1lbnRzAAAGYW1vdW50BA1zaGFyZVRva2Vuc0lkCQDZBAEJAQZnZXRTdHIBBQ1rU2hhcmVBc3NldElkBAdyZWlzc3VlCQEHUmVpc3N1ZQMJAQ9nZXRTaGFyZUFzc2V0SWQABRFzaGFyZVRva2Vuc1RvR2l2ZQYEDWtQYXJ0aWNpcGF0ZWQJAKwCAgkArAICAghhY2NvdW50XwkApQgBCAUBaQZjYWxsZXICDV9wYXJ0aWNpcGF0ZWQEE2FscmVhZHlQYXJ0aWNpcGF0ZWQJAQdnZXRCb29sAQUNa1BhcnRpY2lwYXRlZAkAlAoCCQDMCAIFB3JlaXNzdWUJAMwIAgkBDlNjcmlwdFRyYW5zZmVyAwgFAWkGY2FsbGVyBRFzaGFyZVRva2Vuc1RvR2l2ZQUNc2hhcmVUb2tlbnNJZAkAzAgCCQEMSW50ZWdlckVudHJ5AgUPa1RvdGFsTGlxdWlkaXR5CQBkAgUOdG90YWxMaXF1aWRpdHkJAQV2YWx1ZQEICQCRAwIIBQFpCHBheW1lbnRzAAAGYW1vdW50CQDMCAIJAQxCb29sZWFuRW50cnkCBQ1rUGFydGljaXBhdGVkBgUDbmlsBRFzaGFyZVRva2Vuc1RvR2l2ZQFpARdjbGFpbUZhcm1pbmdSZXdhcmRQcm94eQEDaWRzAwkBDGlzTGlxdWlkYXRlZAAJAAIBAhhDQ0ZSUDogQ0YgaXMgbGlxdWlkYXRlZCEDCQECIT0CCAUBaQ9jYWxsZXJQdWJsaWNLZXkFCG1BY2NQS2V5CQACAQIDXzIzBAplZ2dBc3NldElkCQEIZ2V0RWdnSWQABAxzaGFyZUFzc2V0SWQJAQ9nZXRTaGFyZUFzc2V0SWQABAtmYXJtaW5nRGFwcAkBEUBleHRyTmF0aXZlKDEwNjIpAQkBB2dldFN0ckECBQhtQWNjQWRkcgUMa0Zhcm1pbmdEYXBwCgELY2xhaW1SZXdhcmQCBWFjY3VtBW5mdElkBAZpbnZSZXMJAPwHBAULZmFybWluZ0RhcHACC2NsYWltUmV3YXJkCQDMCAIFBW5mdElkBQNuaWwFA25pbAMJAAACBQZpbnZSZXMFBmludlJlcwQHJG1hdGNoMAUGaW52UmVzAwkAAQIFByRtYXRjaDACA0ludAQDaW50BQckbWF0Y2gwCQBkAgUFYWNjdW0FA2ludAkAAgECAl81CQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuBAZuZnRJZHMJALUJAgUDaWRzAgE7BApmb2xkUmVzdWx0CgACJGwFBm5mdElkcwoAAiRzCQCQAwEFAiRsCgAFJGFjYzAAAAoBBSRmMF8xAgIkYQIkaQMJAGcCBQIkaQUCJHMFAiRhCQELY2xhaW1SZXdhcmQCBQIkYQkAkQMCBQIkbAUCJGkKAQUkZjBfMgICJGECJGkDCQBnAgUCJGkFAiRzBQIkYQkAAgECFExpc3Qgc2l6ZSBleGNlZWRzIDEwCQEFJGYwXzICCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECBQUkYWNjMAAAAAEAAgADAAQABQAGAAcACAAJAAoEDWNsYWltZWRSZXdhcmQEByRtYXRjaDAFCmZvbGRSZXN1bHQDCQABAgUHJG1hdGNoMAIDSW50BANpbnQFByRtYXRjaDAFA2ludAkAAgECAl82BBJ0b3RhbEZhcm1pbmdSZXdhcmQJAQZnZXRJbnQBBRNrVG90YWxGYXJtaW5nUmV3YXJkBA5mYXJtQ2VvRmVlU2l6ZQkAawMFDWNsYWltZWRSZXdhcmQFCmZlZVBlcmNlbnQAZAQNY3VycmVudENlb0ZlZQkBBmdldEludAEFEGtDZW9Db2xsZWN0ZWRGZWUEDWNlb0ZlZU92ZXJhbGwJAQZnZXRJbnQBBRdrQ2VvQ29sbGVjdGVkRmVlT3ZlcmFsbAQLYW1vdW50VG9QYXkJAGUCBQ1jbGFpbWVkUmV3YXJkBQ5mYXJtQ2VvRmVlU2l6ZQQFdG9wVXAJAPwHBAUOc3Rha2luZ0FkZHJlc3MCC3RvcFVwUmV3YXJkBQNuaWwJAMwIAgkBD0F0dGFjaGVkUGF5bWVudAIFCmVnZ0Fzc2V0SWQFC2Ftb3VudFRvUGF5BQNuaWwDCQAAAgUFdG9wVXAFBXRvcFVwCQDMCAIJAQxJbnRlZ2VyRW50cnkCBRNrVG90YWxGYXJtaW5nUmV3YXJkCQBkAgUSdG90YWxGYXJtaW5nUmV3YXJkBQthbW91bnRUb1BheQkAzAgCCQEMSW50ZWdlckVudHJ5AgUQa0Nlb0NvbGxlY3RlZEZlZQkAZAIFDWN1cnJlbnRDZW9GZWUFDmZhcm1DZW9GZWVTaXplCQDMCAIJAQxJbnRlZ2VyRW50cnkCBRdrQ2VvQ29sbGVjdGVkRmVlT3ZlcmFsbAkAZAIFDWNlb0ZlZU92ZXJhbGwFDmZhcm1DZW9GZWVTaXplBQNuaWwJAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4BaQELY2xhaW1DZW9GZWUECGFkZHJlc3MxCGFkZHJlc3MyDWFkZHJlc3MxU2hhcmUNYWRkcmVzczJTaGFyZQMJAQxpc0xpcXVpZGF0ZWQACQACAQIXQ0NDRjogQ0YgaXMgbGlxdWlkYXRlZCEDCQBmAgAABQ1hZGRyZXNzMVNoYXJlCQACAQIZU2hhcmUgMSBjYW4ndCBiZSBuZWdhdGl2ZQMJAGYCAAAFDWFkZHJlc3MyU2hhcmUJAAIBAhlTaGFyZSAyIGNhbid0IGJlIG5lZ2F0aXZlAwkBAiE9AgkAZAIFDWFkZHJlc3MxU2hhcmUFDWFkZHJlc3MyU2hhcmUAZAkAAgECG1N1bSBvZiBzaGFyZXMgc2hvdWxkIGJlIDEwMAMJAAACCQEHZ2V0Qm9vbAEFB2tMb2NrZWQGCQACAQIDXzIyAwkAAAIIBQFpBmNhbGxlcgUEdGhpcwQWY3VycmVudENlb0NvbGxlY3RlZEZlZQkBBmdldEludAEFEGtDZW9Db2xsZWN0ZWRGZWUEDmFkZHJlc3MxUmV3YXJkAwkAAAIFCGFkZHJlc3MyAgAFFmN1cnJlbnRDZW9Db2xsZWN0ZWRGZWUJAGsDBRZjdXJyZW50Q2VvQ29sbGVjdGVkRmVlBQ1hZGRyZXNzMVNoYXJlAGQEDmFkZHJlc3MyUmV3YXJkAwkAAAIFCGFkZHJlc3MyAgAAAAkAawMFFmN1cnJlbnRDZW9Db2xsZWN0ZWRGZWUFDWFkZHJlc3MyU2hhcmUAZAQWc2NyaXB0VHJhbnNmZXJBZGRyZXNzMgMJAAACBQhhZGRyZXNzMgIABQNuaWwJAMwIAgkBDlNjcmlwdFRyYW5zZmVyAwkBEUBleHRyTmF0aXZlKDEwNjIpAQUIYWRkcmVzczIFDmFkZHJlc3MyUmV3YXJkCQEIZ2V0RWdnSWQABQNuaWwJAM4IAgUWc2NyaXB0VHJhbnNmZXJBZGRyZXNzMgkAzAgCCQEOU2NyaXB0VHJhbnNmZXIDCQERQGV4dHJOYXRpdmUoMTA2MikBBQhhZGRyZXNzMQUOYWRkcmVzczFSZXdhcmQJAQhnZXRFZ2dJZAAJAMwIAgkBDEludGVnZXJFbnRyeQIFEGtDZW9Db2xsZWN0ZWRGZWUAAAUDbmlsCQACAQIiT25seSBtYW5hZ2VyIGNhbiBjYWxsIHRoZSBjb250cmFjdAFpARBjYWxsVW5zdGFrZVByb3h5AghmdW5jdGlvbgdhc3NldElkAwkBDGlzTGlxdWlkYXRlZAAJAAIBAhdDQ1VQOiBDRiBpcyBsaXF1aWRhdGVkIQMJAAACCQEHZ2V0Qm9vbAEFB2tMb2NrZWQGCQACAQIWQ29udHJhY3QgaXMgbG9ja2VkIG5vdwMDCQECIT0CBQhmdW5jdGlvbgIKdW5zdGFrZU5GVAkBAiE9AgUIZnVuY3Rpb24CDnVuc3Rha2VKYWNrcG90BwkAAgECEUJhZCBmdW5jdGlvbiBuYW1lAwkBAiE9AggFAWkGY2FsbGVyBQR0aGlzCQACAQIhQ2FuIGJlIGNhbGxlZCBvbmx5IGJ5IHRoZSBhY2NvdW50BAplZ2dBc3NldElkCQEIZ2V0RWdnSWQABAxzaGFyZUFzc2V0SWQJAQ9nZXRTaGFyZUFzc2V0SWQABBJmYXJtaW5nRGFwcEFkZHJlc3MJARFAZXh0ck5hdGl2ZSgxMDYyKQEJAQdnZXRTdHJBAgUIbUFjY0FkZHICDEZBUk1JTkdfREFQUAQOdW5zdGFrZWRSZXdhcmQJAPwHBAUSZmFybWluZ0RhcHBBZGRyZXNzBQhmdW5jdGlvbgkAzAgCBQdhc3NldElkBQNuaWwJAMwIAgkBD0F0dGFjaGVkUGF5bWVudAIFBHVuaXQAwIQ9BQNuaWwDCQAAAgUOdW5zdGFrZWRSZXdhcmQFDnVuc3Rha2VkUmV3YXJkBAZyZXdhcmQEByRtYXRjaDAFDnVuc3Rha2VkUmV3YXJkAwkAAQIFByRtYXRjaDACA0ludAQDaW50BQckbWF0Y2gwBQNpbnQJAAIBAhZFcnJvciBkdXJpbmcgdW5zdGFraW5nBA1jdXJyZW50Q2VvRmVlCQEGZ2V0SW50AQUQa0Nlb0NvbGxlY3RlZEZlZQQNY2VvRmVlT3ZlcmFsbAkBBmdldEludAEFF2tDZW9Db2xsZWN0ZWRGZWVPdmVyYWxsBA5mYXJtQ2VvRmVlU2l6ZQkAawMFBnJld2FyZAUKZmVlUGVyY2VudABkBAthbW91bnRUb1BheQkAZQIFBnJld2FyZAUOZmFybUNlb0ZlZVNpemUEBXRvcFVwCQD8BwQFDnN0YWtpbmdBZGRyZXNzAgt0b3BVcFJld2FyZAUDbmlsCQDMCAIJAQ9BdHRhY2hlZFBheW1lbnQCBQplZ2dBc3NldElkBQthbW91bnRUb1BheQUDbmlsAwkAAAIFBXRvcFVwBQV0b3BVcAkAzAgCCQEMSW50ZWdlckVudHJ5AgUQa0Nlb0NvbGxlY3RlZEZlZQkAZAIFDWN1cnJlbnRDZW9GZWUFDmZhcm1DZW9GZWVTaXplCQDMCAIJAQxJbnRlZ2VyRW50cnkCBRdrQ2VvQ29sbGVjdGVkRmVlT3ZlcmFsbAkAZAIFDWNlb0ZlZU92ZXJhbGwFDmZhcm1DZW9GZWVTaXplBQNuaWwJAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4JAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4BAnR4AQZ2ZXJpZnkABAxjaGVja1N0YXJ0ZWQJAGcCCQEGZ2V0SW50AQUPa1RvdGFsTGlxdWlkaXR5CQEGZ2V0SW50AQUTa0xpcXVpZGl0eVRocmVzaG9sZAQHJG1hdGNoMAUCdHgDCQABAgUHJG1hdGNoMAIXSW52b2tlU2NyaXB0VHJhbnNhY3Rpb24EA2ludgUHJG1hdGNoMAQUYWNjZXB0ZWRDYWxsc1N0YWtpbmcJAMwIAgIPc3Rha2VGYXJtVG9rZW5zCQDMCAICC2NsYWltUmV3YXJkCQDMCAICEndpdGhkcmF3RmFybVRva2VucwkAzAgCAg92b3RlVG9MaXF1aWRhdGUFA25pbAQRYWNjZXB0ZWRDYWxsc1RoaXMJAMwIAgIQY2FsbFVuc3Rha2VQcm94eQkAzAgCAgtjbGFpbUNlb0ZlZQkAzAgCAg9sb2NrSW52ZXN0bWVudHMJAMwIAgIRdW5sb2NrSW52ZXN0bWVudHMFA25pbAMDAwkAAAIIBQNpbnYIZnVuY3Rpb24CCnVuc3Rha2VORlQGCQAAAggFA2ludghmdW5jdGlvbgIOdW5zdGFrZUphY2twb3QJAAACCQCkCAEIBQNpbnYEZEFwcAkBEUBleHRyTmF0aXZlKDEwNjIpAQkBB2dldFN0ckECBQhtQWNjQWRkcgIMRkFSTUlOR19EQVBQBwkAAgECKFlvdSBjYW5ub3QgY2FsbCB0aGVzZSBmdW5jdGlvbnMgZGlyZWN0bHkDAwMJAAACCQCkCAEIBQNpbnYEZEFwcAUEdGhpcwkAAAIIBQNpbnYIZnVuY3Rpb24CDWluaXRNYXN0ZXJLZXkHCQAAAgUObUFjY1BLZXlTdHJpbmcCAAcDCQD0AwMIBQJ0eAlib2R5Qnl0ZXMJAJEDAggFAnR4BnByb29mcwAACAUCdHgPc2VuZGVyUHVibGljS2V5BgkA9AMDCAUCdHgJYm9keUJ5dGVzCQCRAwIIBQJ0eAZwcm9vZnMAAAkBDGdldEJhY2t1cEtleQADAwkAAAIJAPQDAwgFAnR4CWJvZHlCeXRlcwkAkQMCCAUCdHgGcHJvb2ZzAAAIBQJ0eA9zZW5kZXJQdWJsaWNLZXkHCQAAAgkA9AMDCAUCdHgJYm9keUJ5dGVzCQCRAwIIBQJ0eAZwcm9vZnMAAAkBDGdldEJhY2t1cEtleQAHBwkAAgECBF8xMDADCQAAAgUMY2hlY2tTdGFydGVkBwkAAgECA18xNAMJAAACCQEHZ2V0Qm9vbAEFB2tMb2NrZWQGCQACAQIDXzIyAwMJAGYCCAUDaW52A2ZlZQCg9zYGCQECIT0CCAUDaW52CmZlZUFzc2V0SWQFBHVuaXQJAAIBAhBfMTU6IHRvIG11Y2ggZmVlAwkAZgIJAJADAQgFA2ludghwYXltZW50cwAECQACAQIYXzE3OiB0byBiaWcgcGF5bWVudCBzaXplAwMJAAACCQCkCAEIBQNpbnYEZEFwcAUEdGhpcwkBD2NvbnRhaW5zRWxlbWVudAIFEWFjY2VwdGVkQ2FsbHNUaGlzCAUDaW52CGZ1bmN0aW9uBwMJAPQDAwgFAnR4CWJvZHlCeXRlcwkAkQMCCAUCdHgGcHJvb2ZzAAAIBQJ0eA9zZW5kZXJQdWJsaWNLZXkGCQD0AwMIBQJ0eAlib2R5Qnl0ZXMJAJEDAggFAnR4BnByb29mcwAACQEMZ2V0QmFja3VwS2V5AAMDCQAAAgkApAgBCAUDaW52BGRBcHAJARFAZXh0ck5hdGl2ZSgxMDYyKQEJARJnZXRNYXJrZXRQcm94eUFkZHIACQAAAggFA2ludghmdW5jdGlvbgIUY2FsbE1hcmtldHBsYWNlUHJveHkHAwkA9AMDCAUCdHgJYm9keUJ5dGVzCQCRAwIIBQJ0eAZwcm9vZnMAAAgFAnR4D3NlbmRlclB1YmxpY0tleQYJAPQDAwgFAnR4CWJvZHlCeXRlcwkAkQMCCAUCdHgGcHJvb2ZzAAAJAQxnZXRCYWNrdXBLZXkAAwMJAAACCQCkCAEIBQNpbnYEZEFwcAUOc3Rha2luZ0FkZHJlc3MJAQ9jb250YWluc0VsZW1lbnQCBRRhY2NlcHRlZENhbGxzU3Rha2luZwgFA2ludghmdW5jdGlvbgcDCQD0AwMIBQJ0eAlib2R5Qnl0ZXMJAJEDAggFAnR4BnByb29mcwAACAUCdHgPc2VuZGVyUHVibGljS2V5BgkA9AMDCAUCdHgJYm9keUJ5dGVzCQCRAwIIBQJ0eAZwcm9vZnMAAAkBDGdldEJhY2t1cEtleQAECmRhcHBUb0NhbGwJAKUIAQkApAgBCAUDaW52BGRBcHAED2FsbG93ZWRDb250cmFjdAkBB2dldFN0ckECBQhtQWNjQWRkcgkArAICAhFhbGxvd2VkX2NvbnRyYWN0XwUKZGFwcFRvQ2FsbAMDCQAAAgUPYWxsb3dlZENvbnRyYWN0AgdGQVJNSU5HCQAAAggFA2ludghmdW5jdGlvbgILY2xhaW1SZXdhcmQHBwkBAiE9AgUPYWxsb3dlZENvbnRyYWN0AgADCQABAgUHJG1hdGNoMAIUU2V0U2NyaXB0VHJhbnNhY3Rpb24EAnNzBQckbWF0Y2gwCQD0AwMIBQJ0eAlib2R5Qnl0ZXMJAJEDAggFAnR4BnByb29mcwAABQhtQWNjUEtleQMJAAECBQckbWF0Y2gwAhdNYXNzVHJhbnNmZXJUcmFuc2FjdGlvbgQCbXQFByRtYXRjaDAJAPQDAwgFAnR4CWJvZHlCeXRlcwkAkQMCCAUCdHgGcHJvb2ZzAAAFCG1BY2NQS2V5BzsLFow=", "height": 3855444, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: DaUJXgHW2u6JtpT1CNHHAguV3DLyhRbR6QQQxRetMjGY Next: AeQjZfhAmBDGVUtLENZzxV7wW3C2idJf6sowtp7RXaM1 Diff:
OldNewDifferences
391391 if ($isInstanceOf(f, "InvokeScriptTransaction"))
392392 then {
393393 let bd = f
394- let be = ["stakeFarmTokens", "claimReward", "withdrawFarmTokens"]
394+ let be = ["stakeFarmTokens", "claimReward", "withdrawFarmTokens", "voteToLiquidate"]
395395 let bf = ["callUnstakeProxy", "claimCeoFee", "lockInvestments", "unlockInvestments"]
396396 if (if (if ((bd.function == "unstakeNFT"))
397397 then true
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)]
217217
218218
219219
220220 @Callable(Y)
221221 func unlockInvestments () = if ((Y.caller != this))
222222 then throw("You cannot lock this contract")
223223 else [BooleanEntry(C, false)]
224224
225225
226226
227227 @Callable(Y)
228228 func provideLiquidity () = if (Q())
229229 then throw("CPL: CF is liquidated!")
230230 else {
231231 let al = T()
232232 if (if (if ((Y.callerPublicKey != o))
233233 then (Y.callerPublicKey != k)
234234 else false)
235235 then (G(C) == true)
236236 else false)
237237 then throw("Contract is locked for investments by it's CEO. Please invest in another collective farm.")
238238 else if ((G(z) == true))
239239 then throw("_22")
240240 else if ((Y.payments[0].assetId != al))
241241 then throw("_4")
242242 else if ((1000000 > Y.payments[0].amount))
243243 then throw("Min amount to invest is 0.01 EGG")
244244 else {
245245 let ae = F(p)
246246 let am = Y.payments[0].amount
247247 let an = fromBase58String(d(t))
248248 let ao = Reissue(U(), am, true)
249249 let ap = (("account_" + toString(Y.caller)) + "_participated")
250250 let aq = G(ap)
251251 $Tuple2([ao, ScriptTransfer(Y.caller, am, an), IntegerEntry(p, (ae + value(Y.payments[0].amount))), BooleanEntry(ap, true)], am)
252252 }
253253 }
254254
255255
256256
257257 @Callable(Y)
258258 func claimFarmingRewardProxy (ar) = if (Q())
259259 then throw("CCFRP: CF is liquidated!")
260260 else if ((Y.callerPublicKey != k))
261261 then throw("_23")
262262 else {
263263 let al = T()
264264 let as = U()
265265 let at = addressFromStringValue(H(l, w))
266266 func au (av,aw) = {
267267 let ax = invoke(at, "claimReward", [aw], nil)
268268 if ((ax == ax))
269269 then {
270270 let f = ax
271271 if ($isInstanceOf(f, "Int"))
272272 then {
273273 let X = f
274274 (av + X)
275275 }
276276 else throw("_5")
277277 }
278278 else throw("Strict value is not equal to itself.")
279279 }
280280
281281 let ay = split(ar, ";")
282282 let az = {
283283 let aA = ay
284284 let aB = size(aA)
285285 let aC = 0
286286 func aD (aE,aF) = if ((aF >= aB))
287287 then aE
288288 else au(aE, aA[aF])
289289
290290 func aG (aE,aF) = if ((aF >= aB))
291291 then aE
292292 else throw("List size exceeds 10")
293293
294294 aG(aD(aD(aD(aD(aD(aD(aD(aD(aD(aD(aC, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10)
295295 }
296296 let aH = {
297297 let f = az
298298 if ($isInstanceOf(f, "Int"))
299299 then {
300300 let X = f
301301 X
302302 }
303303 else throw("_6")
304304 }
305305 let ad = F(s)
306306 let aI = fraction(aH, m, 100)
307307 let aJ = F(A)
308308 let aK = F(B)
309309 let aL = (aH - aI)
310310 let aM = invoke(n, "topUpReward", nil, [AttachedPayment(al, aL)])
311311 if ((aM == aM))
312312 then [IntegerEntry(s, (ad + aL)), IntegerEntry(A, (aJ + aI)), IntegerEntry(B, (aK + aI))]
313313 else throw("Strict value is not equal to itself.")
314314 }
315315
316316
317317
318318 @Callable(Y)
319319 func claimCeoFee (aN,aO,aP,aQ) = if (Q())
320320 then throw("CCCF: CF is liquidated!")
321321 else if ((0 > aP))
322322 then throw("Share 1 can't be negative")
323323 else if ((0 > aQ))
324324 then throw("Share 2 can't be negative")
325325 else if (((aP + aQ) != 100))
326326 then throw("Sum of shares should be 100")
327327 else if ((G(z) == true))
328328 then throw("_22")
329329 else if ((Y.caller == this))
330330 then {
331331 let aR = F(A)
332332 let aS = if ((aO == ""))
333333 then aR
334334 else fraction(aR, aP, 100)
335335 let aT = if ((aO == ""))
336336 then 0
337337 else fraction(aR, aQ, 100)
338338 let aU = if ((aO == ""))
339339 then nil
340340 else [ScriptTransfer(addressFromStringValue(aO), aT, T())]
341341 (aU ++ [ScriptTransfer(addressFromStringValue(aN), aS, T()), IntegerEntry(A, 0)])
342342 }
343343 else throw("Only manager can call the contract")
344344
345345
346346
347347 @Callable(Y)
348348 func callUnstakeProxy (aV,aW) = if (Q())
349349 then throw("CCUP: CF is liquidated!")
350350 else if ((G(z) == true))
351351 then throw("Contract is locked now")
352352 else if (if ((aV != "unstakeNFT"))
353353 then (aV != "unstakeJackpot")
354354 else false)
355355 then throw("Bad function name")
356356 else if ((Y.caller != this))
357357 then throw("Can be called only by the account")
358358 else {
359359 let al = T()
360360 let as = U()
361361 let aX = addressFromStringValue(H(l, "FARMING_DAPP"))
362362 let aY = invoke(aX, aV, [aW], [AttachedPayment(unit, 1000000)])
363363 if ((aY == aY))
364364 then {
365365 let aZ = {
366366 let f = aY
367367 if ($isInstanceOf(f, "Int"))
368368 then {
369369 let X = f
370370 X
371371 }
372372 else throw("Error during unstaking")
373373 }
374374 let aJ = F(A)
375375 let aK = F(B)
376376 let aI = fraction(aZ, m, 100)
377377 let aL = (aZ - aI)
378378 let aM = invoke(n, "topUpReward", nil, [AttachedPayment(al, aL)])
379379 if ((aM == aM))
380380 then [IntegerEntry(A, (aJ + aI)), IntegerEntry(B, (aK + aI))]
381381 else throw("Strict value is not equal to itself.")
382382 }
383383 else throw("Strict value is not equal to itself.")
384384 }
385385
386386
387387 @Verifier(ba)
388388 func bb () = {
389389 let bc = (F(p) >= F(r))
390390 let f = ba
391391 if ($isInstanceOf(f, "InvokeScriptTransaction"))
392392 then {
393393 let bd = f
394- let be = ["stakeFarmTokens", "claimReward", "withdrawFarmTokens"]
394+ let be = ["stakeFarmTokens", "claimReward", "withdrawFarmTokens", "voteToLiquidate"]
395395 let bf = ["callUnstakeProxy", "claimCeoFee", "lockInvestments", "unlockInvestments"]
396396 if (if (if ((bd.function == "unstakeNFT"))
397397 then true
398398 else (bd.function == "unstakeJackpot"))
399399 then (addressFromRecipient(bd.dApp) == addressFromStringValue(H(l, "FARMING_DAPP")))
400400 else false)
401401 then throw("You cannot call these functions directly")
402402 else if (if (if ((addressFromRecipient(bd.dApp) == this))
403403 then (bd.function == "initMasterKey")
404404 else false)
405405 then (h == "")
406406 else false)
407407 then if (sigVerify(ba.bodyBytes, ba.proofs[0], ba.senderPublicKey))
408408 then true
409409 else sigVerify(ba.bodyBytes, ba.proofs[0], j())
410410 else if (if ((sigVerify(ba.bodyBytes, ba.proofs[0], ba.senderPublicKey) == false))
411411 then (sigVerify(ba.bodyBytes, ba.proofs[0], j()) == false)
412412 else false)
413413 then throw("_100")
414414 else if ((bc == false))
415415 then throw("_14")
416416 else if ((G(z) == true))
417417 then throw("_22")
418418 else if (if ((bd.fee > 900000))
419419 then true
420420 else (bd.feeAssetId != unit))
421421 then throw("_15: to much fee")
422422 else if ((size(bd.payments) > 4))
423423 then throw("_17: to big payment size")
424424 else if (if ((addressFromRecipient(bd.dApp) == this))
425425 then containsElement(bf, bd.function)
426426 else false)
427427 then if (sigVerify(ba.bodyBytes, ba.proofs[0], ba.senderPublicKey))
428428 then true
429429 else sigVerify(ba.bodyBytes, ba.proofs[0], j())
430430 else if (if ((addressFromRecipient(bd.dApp) == addressFromStringValue(S())))
431431 then (bd.function == "callMarketplaceProxy")
432432 else false)
433433 then if (sigVerify(ba.bodyBytes, ba.proofs[0], ba.senderPublicKey))
434434 then true
435435 else sigVerify(ba.bodyBytes, ba.proofs[0], j())
436436 else if (if ((addressFromRecipient(bd.dApp) == n))
437437 then containsElement(be, bd.function)
438438 else false)
439439 then if (sigVerify(ba.bodyBytes, ba.proofs[0], ba.senderPublicKey))
440440 then true
441441 else sigVerify(ba.bodyBytes, ba.proofs[0], j())
442442 else {
443443 let bg = toString(addressFromRecipient(bd.dApp))
444444 let bh = H(l, ("allowed_contract_" + bg))
445445 if (if ((bh == "FARMING"))
446446 then (bd.function == "claimReward")
447447 else false)
448448 then false
449449 else (bh != "")
450450 }
451451 }
452452 else if ($isInstanceOf(f, "SetScriptTransaction"))
453453 then {
454454 let bi = f
455455 sigVerify(ba.bodyBytes, ba.proofs[0], k)
456456 }
457457 else if ($isInstanceOf(f, "MassTransferTransaction"))
458458 then {
459459 let bj = f
460460 sigVerify(ba.bodyBytes, ba.proofs[0], k)
461461 }
462462 else false
463463 }
464464

github/deemru/w8io/6500d08 
880.97 ms