tx · 9wZRxJJs8sKk8MtLPUGqNTbW3aVKVzGecNjXqkPMqECN

3N2eA4yzXa4wTj7pP8r6G144RRxZW7cmq4p:  -0.01500000 Waves

2022.11.30 07:18 [2339357] smart account 3N2eA4yzXa4wTj7pP8r6G144RRxZW7cmq4p > SELF 0.00000000 Waves

{ "type": 13, "id": "9wZRxJJs8sKk8MtLPUGqNTbW3aVKVzGecNjXqkPMqECN", "fee": 1500000, "feeAssetId": null, "timestamp": 1669781909424, "version": 2, "chainId": 84, "sender": "3N2eA4yzXa4wTj7pP8r6G144RRxZW7cmq4p", "senderPublicKey": "Hh3eFP2XFetZSfTxQiM1Ps96f68zi8Zh5ghhCZdjgdFs", "proofs": [ "4wZokJWFBhKtmdsFYZXWMtjPSyvB5qGTeSPjcB3mnq3efdLoKVF67ak66aDq7zS78HUvCPFETiktx3iPwdrfiaGG" ], "script": "base64:BgI5CAISBAoCCAgSBAoCBAgSBAoCAQgSBQoDCAEIEgMKAQgSAwoBCBIDCgEIEgUKAwgICBIGCgQICAgINAEJZ2V0U3RyQnlLAQNrZXkJAQt2YWx1ZU9yRWxzZQIJAJ0IAgUEdGhpcwUDa2V5AgAACHVuaXRUZXN0BwAJb3JhY2xlRmVlCQEFdmFsdWUBCQCmCAEJAQlnZXRTdHJCeUsBAg9jb25mX29yYWNsZV9mZWUAC2ZlZVJlY2VpdmVyCQEJZ2V0U3RyQnlLAQIRY29uZl9mZWVfcmVjZWl2ZXIADGFydHdvcmtzRGFwcAkBBXZhbHVlAQkApggBCQEJZ2V0U3RyQnlLAQISY29uZl9hcnR3b3Jrc19kYXBwAAh1c2VyRGFwcAMFCHVuaXRUZXN0CQEFdmFsdWUBCQCmCAECIzNNdDRSR01FeWpTV1lBb2NUUHFkNTV3ZEhRUUIzUFUyVUNtCQEFdmFsdWUBCQCmCAEJAQlnZXRTdHJCeUsBAg9jb25mX3VzZXJzX2RhcHAAC3NpZ25Bc3NldElkCQDZBAEJAQlnZXRTdHJCeUsBAhhjb25mX2FjY2VwdGVkX2Fzc2V0X1NJR04AC3VzZG5Bc3NldElkCQDZBAEJAQlnZXRTdHJCeUsBAhhjb25mX2FjY2VwdGVkX2Fzc2V0X1VTRE4AC3VzZHRBc3NldElkCQDZBAEJAQlnZXRTdHJCeUsBAhhjb25mX2FjY2VwdGVkX2Fzc2V0X1VTRFQADHdhdmVzQXNzZXRJZAEAAAVjaHJpcwkBCWdldFN0ckJ5SwECDGNvbmZfYWRtaW5fMQAHc2lnbkN1dAADAA11c2VyU3VzcGVuZGVkAglTVVNQRU5ERUQAC3VzZXJSZW1vdmVkAgdSRU1PVkVEAAphcnRJbGxlZ2FsAgdJTExFR0FMAAxhcnRTdXNwZW5kZWQCCVNVU1BFTkRFRAAOZGFwcFJ1bm5pbmdLZXkCFGNvbmZfZGFwcF9pc19ydW5uaW5nABFtYWludGVuYW5jZU1TR0tleQIUY29uZl9tYWludGVuYW5jZV9tc2cAC2RhcHBSdW5uaW5nCQELdmFsdWVPckVsc2UCCQCbCAIFBHRoaXMFDmRhcHBSdW5uaW5nS2V5BgAObWFpbnRlbmFuY2VNU0cJAQt2YWx1ZU9yRWxzZQIJAJ0IAgUEdGhpcwURbWFpbnRlbmFuY2VNU0dLZXkCAAAJbnVtU2FsZXNLAgludW1fc2FsZXMBDWdldFVzZXJTdHJCeUsBA2tleQkBC3ZhbHVlT3JFbHNlAgkAnQgCBQh1c2VyRGFwcAUDa2V5AgVFcnJvcgETZ2V0QXJ0d29ya1JveWFsdGllcwEDa2V5CQELdmFsdWVPckVsc2UCCQCaCAIFDGFydHdvcmtzRGFwcAUDa2V5AOgHAQxnZXRBcnRTdHJCeUsBA2tleQkBC3ZhbHVlT3JFbHNlAgkAnQgCBQxhcnR3b3Jrc0RhcHAFA2tleQIAAQlnZXRJbnRCeUsBA2tleQkBC3ZhbHVlT3JFbHNlAgkAmggCBQR0aGlzBQNrZXkAAAENa2V5VXNlclN0YXR1cwEEYWRkcgkArAICAgx1c2VyX3N0YXR1c18FBGFkZHIBE2tleUFydHdvcmtSb3lhbHRpZXMCBmNhbGxlcgVhcnRJZAkArAICCQCsAgIJAKwCAgIOYXJ0X3JveWFsdGllc18FBWFydElkAgFfBQZjYWxsZXIBCWtleVNpZ25JRAIKYXJ0aXN0QWRkcgVhcnRJZAkArAICCQCsAgIJAKwCAgILYXJ0X3NpZ25pZF8FBWFydElkAgFfBQphcnRpc3RBZGRyAQdrZXlGbGFnAgphcnRpc3RBZGRyBWFydElkCQCsAgIJAKwCAgkArAICAglhcnRfZmxhZ18FBWFydElkAgFfBQphcnRpc3RBZGRyAQprZXlORlREYXRhAQJpZAkArAICAgRuZnRfBQJpZAEKZ2V0U2FsZUtleQQGY2FsbGVyBW5mdElkBWFydElkC2NyZWF0b3JBZGRyCQCsAgIJAKwCAgkArAICCQCsAgIJAKwCAgkArAICCQCsAgICDXNhbGUybmRfaW5mb18FBmNhbGxlcgIBXwUFbmZ0SWQCAV8FBWFydElkAgFfBQtjcmVhdG9yQWRkcgEJZ2V0QmlkS2V5BApvZmZlck93bmVyBW5mdElkCXNhbGVPd25lcgdvZmZlcklkCQCsAgIJAKwCAgkArAICCQCsAgIJAKwCAgkArAICCQCsAgICCW9mZmVyMm5kXwUKb2ZmZXJPd25lcgIBXwUFbmZ0SWQCAV8FCXNhbGVPd25lcgIBXwUHb2ZmZXJJZAETZ2V0SW50QnlLRnJvbU9yYWNsZQEDa2V5CQETdmFsdWVPckVycm9yTWVzc2FnZQIJAJoIAgUJb3JhY2xlRmVlBQNrZXkCH0ludGVnZXIgdW5kZWZpbmUgb3IgMCBpbiBvcmFjbGUAGWN1cnJlbnRDZXJ0aWZpY2F0aW9uUHJpY2UJARNnZXRJbnRCeUtGcm9tT3JhY2xlAQkArAICAhJjZXJ0aWZpY2F0aW9uX2ZlZV8JANgEAQULc2lnbkFzc2V0SWQBEmtleUFydGlzdEFnZW50QWRkcgEKYXJ0aXN0QWRkcgkArAICAg1hcnRpc3RfYWdlbnRfBQphcnRpc3RBZGRyARFrZXlTZWNvbmRhcnlTaGFyZQEKYXJ0aXN0QWRkcgkArAICAhdhcnRpc3RfYWdlbnRfc2Vjb25kYXJ5XwUKYXJ0aXN0QWRkcgEMaWRDYWxsZXJEYXRlAQFpAwkBASEBBQtkYXBwUnVubmluZwkAAgEFDm1haW50ZW5hbmNlTVNHCQCVCgMJANgEAQgFAWkNdHJhbnNhY3Rpb25JZAkA2AQBCAgFAWkGY2FsbGVyBWJ5dGVzCAUJbGFzdEJsb2NrCXRpbWVzdGFtcAEJaXNQYXltZW50AQFpAwkAAAIJAJADAQgFAWkIcGF5bWVudHMAAAkAAgECE05vIHBheW1lbnQgYXR0YWNoZWQEB3BheW1lbnQJAQV2YWx1ZQEJAJEDAggFAWkIcGF5bWVudHMAAAQGYW1vdW50CQEFdmFsdWUBCAUHcGF5bWVudAZhbW91bnQJAJQKAgUHcGF5bWVudAUGYW1vdW50AQxhc3NldElzVmFsaWQBDGFzc2V0RGV0YWlscwMDAwkAAAIIBQxhc3NldERldGFpbHMIcXVhbnRpdHkAAQkAAAIIBQxhc3NldERldGFpbHMIZGVjaW1hbHMAAAcJAAACCAUMYXNzZXREZXRhaWxzCnJlaXNzdWFibGUHBwkAAAIIBQxhc3NldERldGFpbHMGaXNzdWVyBQxhcnR3b3Jrc0RhcHAHAQxpc1NpZ25BcnRORlQBAmlkBAxhc3NldERldGFpbHMJAQV2YWx1ZQEJAOwHAQUCaWQJAQxhc3NldElzVmFsaWQBBQxhc3NldERldGFpbHMBEGFjY2VwdGVkQXNzZXRJZHMBB2Fzc2V0SWQDAwMDAwkBAiE9AgUHYXNzZXRJZAkA2AQBBQtzaWduQXNzZXRJZAkBAiE9AgUHYXNzZXRJZAkA2AQBBQx3YXZlc0Fzc2V0SWQHCQECIT0CBQdhc3NldElkAgVXQVZFUwcJAQIhPQIFB2Fzc2V0SWQJANgEAQULdXNkbkFzc2V0SWQHCQECIT0CBQdhc3NldElkCQDYBAEFC3VzZHRBc3NldElkBwcGAQ1nZXRCaWRBc3NldElkAQdhc3NldElkAwkAAAIFB2Fzc2V0SWQCBVdBVkVTBQR1bml0CQDZBAEFB2Fzc2V0SWQBFWdldFNhbGVPd25lckFuZFN0YXR1cwEFbmZ0aWQECXNhbGVPd25lcgkBCWdldFN0ckJ5SwEJAKwCAgIWY3VycmVudF9vd25lcl9vbl9kYXBwXwUFbmZ0aWQDCQAAAgkAsQIBBQlzYWxlT3duZXIAAAkAAgECDU5GVCBub3QgZm91bmQECnNhbGVTdGF0dXMJAQlnZXRTdHJCeUsBCQCsAgIJAKwCAgkArAICAg9zYWxlMm5kX3N0YXR1c18FCXNhbGVPd25lcgIBXwUFbmZ0aWQDCQECIT0CBQpzYWxlU3RhdHVzAgRPUEVOCQACAQIQTkZUIG5vdCBmb3Igc2FsZQUJc2FsZU93bmVyAQpnZXRCaWREYXRhAQNrZXkEB2JpZERhdGEJAQlnZXRTdHJCeUsBCQCsAgIFA2tleQIFX09QRU4DCQAAAgUHYmlkRGF0YQIACQACAQIPT2ZmZXIgbm90IGZvdW5kBApiaWREYXRhQXJyCQC1CQIFB2JpZERhdGECAV8EB2Fzc2V0SWQJAQ1nZXRCaWRBc3NldElkAQkAkQMCBQpiaWREYXRhQXJyAAIJAJUKAwUKYmlkRGF0YUFycgUHYXNzZXRJZAUHYmlkRGF0YQEKYXJ0SXNWYWxpZAEJYXJ0U3RhdHVzAwkBAiE9AgUJYXJ0U3RhdHVzBQphcnRJbGxlZ2FsCQECIT0CBQlhcnRTdGF0dXMFDGFydFN1c3BlbmRlZAcBDmNoZWNrQXJ0U3RhdHVzAgRhZGRyAmlkBAlhcnRTdGF0dXMJAQxnZXRBcnRTdHJCeUsBCQEHa2V5RmxhZwIFBGFkZHIFAmlkAwkBCmFydElzVmFsaWQBBQlhcnRTdGF0dXMGCQACAQkArAICAhxPcmlnaW5hbCBBcnR3b3JrIGZsYWdnZWQgYXMgBQlhcnRTdGF0dXMBEWNoZWNrQXJ0aXN0U3RhdHVzAQRhZGRyBAxhcnRpc3RTdGF0dXMJAQ1nZXRVc2VyU3RyQnlLAQkBDWtleVVzZXJTdGF0dXMBBQRhZGRyAwkBD2NvbnRhaW5zRWxlbWVudAIJAMwIAgUNdXNlclN1c3BlbmRlZAkAzAgCBQt1c2VyUmVtb3ZlZAUDbmlsBQxhcnRpc3RTdGF0dXMJAAIBCQCsAgICEE9yaWdpbmFsIEFydGlzdCAFDGFydGlzdFN0YXR1cwYBDGNoZWNrTkZUSW5mbwEHYXNzZXRJZAQHbmZ0RGF0YQkAtQkCCQEMZ2V0QXJ0U3RyQnlLAQkBCmtleU5GVERhdGEBBQdhc3NldElkAgFfBAlhcnRTaWduSUQJAQxnZXRBcnRTdHJCeUsBCQEJa2V5U2lnbklEAgkAkQMCBQduZnREYXRhAAYJAJEDAgUHbmZ0RGF0YQAFAwMJAQEhAQkBDmNoZWNrQXJ0U3RhdHVzAgkAkQMCBQduZnREYXRhAAYJAJEDAgUHbmZ0RGF0YQAFCQEBIQEJARFjaGVja0FydGlzdFN0YXR1cwEJAJEDAgUHbmZ0RGF0YQAGBwkAlgoEBwkAkQMCBQduZnREYXRhAAUJAJEDAgUHbmZ0RGF0YQAGBQlhcnRTaWduSUQJAJYKBAYJAJEDAgUHbmZ0RGF0YQAFCQCRAwIFB25mdERhdGEABgUJYXJ0U2lnbklEAQxzZXRUcmFuc2ZlcnMHBmFtb3VudAdhc3NldElkBW5mdGlkC2NyZWF0b3JBZGRyCXNhbGVPd25lcgZjYWxsZXIFYXJ0SWQECmNyZWF0b3JDdXQJARNnZXRBcnR3b3JrUm95YWx0aWVzAQkBE2tleUFydHdvcmtSb3lhbHRpZXMCBQtjcmVhdG9yQWRkcgUFYXJ0SWQEBWFnZW50CQELdmFsdWVPckVsc2UCCQCdCAIFCHVzZXJEYXBwCQESa2V5QXJ0aXN0QWdlbnRBZGRyAQULY3JlYXRvckFkZHIFC2ZlZVJlY2VpdmVyBAphZ2VudFNoYXJlCQELdmFsdWVPckVsc2UCCQCaCAIFCHVzZXJEYXBwCQERa2V5U2Vjb25kYXJ5U2hhcmUBBQtjcmVhdG9yQWRkcgAABA1hbW91bnRGb3JTaWduCQBrAwUGYW1vdW50BQdzaWduQ3V0AGQEEGFtb3VudEZvckNyZWF0b3IJAGsDBQZhbW91bnQFCmNyZWF0b3JDdXQAkE4EDmFtb3VudEZvck93bmVyCQBlAgUGYW1vdW50CQBkAgUNYW1vdW50Rm9yU2lnbgUQYW1vdW50Rm9yQ3JlYXRvcgQOYW1vdW50Rm9yQWdlbnQDAwkBAiE9AgUFYWdlbnQFC2ZlZVJlY2VpdmVyCQBmAgUKYWdlbnRTaGFyZQAABwkAawMFBmFtb3VudAUKYWdlbnRTaGFyZQBkAAAEC2NvbW1pc3Npb25zAwkBAiE9AgUOYW1vdW50Rm9yQWdlbnQAAAkAzAgCCQEOU2NyaXB0VHJhbnNmZXIDCQEHQWRkcmVzcwEJANkEAQULZmVlUmVjZWl2ZXIJAGUCBQ1hbW91bnRGb3JTaWduBQ5hbW91bnRGb3JBZ2VudAUHYXNzZXRJZAkAzAgCCQEOU2NyaXB0VHJhbnNmZXIDCQEHQWRkcmVzcwEJANkEAQUFYWdlbnQFDmFtb3VudEZvckFnZW50BQdhc3NldElkBQNuaWwJAMwIAgkBDlNjcmlwdFRyYW5zZmVyAwkBB0FkZHJlc3MBCQDZBAEFC2ZlZVJlY2VpdmVyBQ1hbW91bnRGb3JTaWduBQdhc3NldElkBQNuaWwECmNyZWF0b3JGZWUJAQ5TY3JpcHRUcmFuc2ZlcgMJAQdBZGRyZXNzAQkA2QQBBQtjcmVhdG9yQWRkcgUQYW1vdW50Rm9yQ3JlYXRvcgUHYXNzZXRJZAQIb3duZXJGZWUJAQ5TY3JpcHRUcmFuc2ZlcgMJAQdBZGRyZXNzAQkA2QQBBQlzYWxlT3duZXIFDmFtb3VudEZvck93bmVyBQdhc3NldElkBAxjb2xsZWN0b3JORlQJAQ5TY3JpcHRUcmFuc2ZlcgMJAQdBZGRyZXNzAQkA2QQBBQZjYWxsZXIAAQkA2QQBBQVuZnRpZAkAlgoEBQtjb21taXNzaW9ucwUKY3JlYXRvckZlZQUIb3duZXJGZWUFDGNvbGxlY3Rvck5GVAEPdmFsaWRhdGVNaW5TZWxsAgdhc3NldElkBXByaWNlBAxtaW5TZWxsV2F2ZXMDBQh1bml0VGVzdAAKCQETZ2V0SW50QnlLRnJvbU9yYWNsZQECDndhdmVzX21pbl9zZWxsBAttaW5TZWxsVXNkbgDAhD0EC21pblNlbGxTaWduAwUIdW5pdFRlc3QAAQkAaAIFGWN1cnJlbnRDZXJ0aWZpY2F0aW9uUHJpY2UAAgMDAwMDAwkAAAIFB2Fzc2V0SWQJANgEAQULdXNkbkFzc2V0SWQJAGYCBQttaW5TZWxsVXNkbgUFcHJpY2UHCQECIT0CBQVwcmljZQAABwYDAwkAAAIFB2Fzc2V0SWQJANgEAQULdXNkdEFzc2V0SWQJAGYCBQttaW5TZWxsVXNkbgUFcHJpY2UHCQECIT0CBQVwcmljZQAABwYDAwkAAAIFB2Fzc2V0SWQJANgEAQULc2lnbkFzc2V0SWQJAGYCBQttaW5TZWxsU2lnbgUFcHJpY2UHCQECIT0CBQVwcmljZQAABwYDAwMJAAACBQdhc3NldElkCQDYBAEFDHdhdmVzQXNzZXRJZAYJAAACBQdhc3NldElkAgVXQVZFUwkAZgIFDG1pblNlbGxXYXZlcwUFcHJpY2UHCQECIT0CBQVwcmljZQAABwcGAQ9wcm92aWRlQmFzZURhdGECAWkFbmZ0SWQECyR0MDk4NDE5ODgxCQEMaWRDYWxsZXJEYXRlAQUBaQQCaWQIBQskdDA5ODQxOTg4MQJfMQQGY2FsbGVyCAULJHQwOTg0MTk4ODECXzIEBGRhdGUIBQskdDA5ODQxOTg4MQJfMwQLJHQwOTg4NTk5NTQJAQxjaGVja05GVEluZm8BBQVuZnRJZAQKaXNWYWxpZE5GVAgFCyR0MDk4ODU5OTU0Al8xBAVhcnRJZAgFCyR0MDk4ODU5OTU0Al8yBAtjcmVhdG9yQWRkcggFCyR0MDk4ODU5OTU0Al8zBAlhcnRTaWduSUQIBQskdDA5ODg1OTk1NAJfNAkAmQoHBQJpZAUGY2FsbGVyBQRkYXRlBQppc1ZhbGlkTkZUBQVhcnRJZAULY3JlYXRvckFkZHIFCWFydFNpZ25JRAEOdXBkYXRlTnVtU2FsZXMABAhudW1TYWxlcwkBCWdldEludEJ5SwEFCW51bVNhbGVzSwkBDEludGVnZXJFbnRyeQIFCW51bVNhbGVzSwkAZAIFCG51bVNhbGVzAAEJBmludm9rZQEHc2V0Q29uZgIDa2V5A3ZhbAQGY2FsbGVyCQClCAEIBQZpbnZva2UGY2FsbGVyAwkBD2NvbnRhaW5zRWxlbWVudAIJAMwIAgUFY2hyaXMJAMwIAgkApQgBBQR0aGlzBQNuaWwFBmNhbGxlcgMJAQhjb250YWlucwIFA2tleQIFY29uZl8JAMwIAgkBC1N0cmluZ0VudHJ5AgUDa2V5BQN2YWwFA25pbAkAAgECIEVudHJpZXMgc3RhcnRpbmcgd2l0aCBjb25mXyBvbmx5CQACAQIiWW91IGFyZSBub3QgYWxsb3dlZCB0byBjaGFuZ2UgdGhpcwZpbnZva2UBCmFwcFJ1bm5pbmcCBmlzTGl2ZQdtZXNzYWdlBAZjYWxsZXIJAKUIAQgFBmludm9rZQZjYWxsZXIEAmlkCQDYBAEIBQZpbnZva2UNdHJhbnNhY3Rpb25JZAMJAQ9jb250YWluc0VsZW1lbnQCCQDMCAIFBWNocmlzCQDMCAIJAKUIAQUEdGhpcwUDbmlsBQZjYWxsZXIJAMwIAgkBDEJvb2xlYW5FbnRyeQIFDmRhcHBSdW5uaW5nS2V5BQZpc0xpdmUJAMwIAgkBC1N0cmluZ0VudHJ5AgURbWFpbnRlbmFuY2VNU0dLZXkFB21lc3NhZ2UFA25pbAkAAgECIllvdSBhcmUgbm90IGFsbG93ZWQgdG8gY2hhbmdlIHRoaXMBaQEHc2VsbE5GVAIFcHJpY2UFYXNzZXQEDSR0MDExMDU5MTEwOTUJAQlpc1BheW1lbnQBBQFpBAdwYXltZW50CAUNJHQwMTEwNTkxMTA5NQJfMQQGYW1vdW50CAUNJHQwMTEwNTkxMTA5NQJfMgMJAQIhPQIFBmFtb3VudAABCQACAQIPTm8gTkZUIGF0dGFjaGVkBAVuZnRJZAMDCQEJaXNEZWZpbmVkAQgFB3BheW1lbnQHYXNzZXRJZAkBDGlzU2lnbkFydE5GVAEJAQV2YWx1ZQEIBQdwYXltZW50B2Fzc2V0SWQHCQDYBAEJAQV2YWx1ZQEIBQdwYXltZW50B2Fzc2V0SWQJAAIBAhtPbmx5IFNJR04gQXJ0IE5GVCBhY2NlcHRlZC4EDSR0MDExMzMzMTE0MjYJAQ9wcm92aWRlQmFzZURhdGECBQFpBQVuZnRJZAQCaWQIBQ0kdDAxMTMzMzExNDI2Al8xBAZjYWxsZXIIBQ0kdDAxMTMzMzExNDI2Al8yBARkYXRlCAUNJHQwMTEzMzMxMTQyNgJfMwQKaXNWYWxpZE5GVAgFDSR0MDExMzMzMTE0MjYCXzQEBWFydElkCAUNJHQwMTEzMzMxMTQyNgJfNQQLY3JlYXRvckFkZHIIBQ0kdDAxMTMzMzExNDI2Al82BAlhcnRTaWduSUQIBQ0kdDAxMTMzMzExNDI2Al83AwkAAAIJALECAQUJYXJ0U2lnbklEAAAJAAIBAh1BcnR3b3JrIG5vdCBmb3VuZCBvbiBTSUdOIEFydAMJAQEhAQUKaXNWYWxpZE5GVAkAAgECD05vdCBhIHZhbGlkIG5mdAMJAQEhAQkBEGFjY2VwdGVkQXNzZXRJZHMBBQVhc3NldAkAAgECJ09ubHkgU0lHTiwgVVNETiwgVVNEVCBvciBXQVZFUyBhY2NlcHRlZAMJAQEhAQkBD3ZhbGlkYXRlTWluU2VsbAIFBWFzc2V0BQVwcmljZQkAAgECGFdyb25nIG1pbmltdW0gc2VsbCBwcmljZQkAzAgCCQELU3RyaW5nRW50cnkCCQCsAgIJAQpnZXRTYWxlS2V5BAUGY2FsbGVyBQVuZnRJZAUFYXJ0SWQFC2NyZWF0b3JBZGRyAgVfT1BFTgkArAICCQCsAgIJAKwCAgkArAICCQCsAgIJAKwCAgkArAICCQCsAgIJAKwCAgkArAICCQCsAgIJAKwCAgkApAMBBQRkYXRlAgFfCQCkAwEFBXByaWNlAgFfBQVhc3NldAIBXwUFbmZ0SWQCAV8FBWFydElkAgFfBQtjcmVhdG9yQWRkcgIBXwUCaWQJAMwIAgkBC1N0cmluZ0VudHJ5AgkArAICCQCsAgIJAKwCAgIPc2FsZTJuZF9zdGF0dXNfBQZjYWxsZXICAV8FBW5mdElkAgRPUEVOCQDMCAIJAQtTdHJpbmdFbnRyeQIJAKwCAgIWY3VycmVudF9vd25lcl9vbl9kYXBwXwUFbmZ0SWQFBmNhbGxlcgUDbmlsAWkBD3VwZGF0ZVNhbGVQcmljZQMFbmZ0SWQFcHJpY2UFYXNzZXQEDSR0MDEyMzMwMTI0MjMJAQ9wcm92aWRlQmFzZURhdGECBQFpBQVuZnRJZAQCaWQIBQ0kdDAxMjMzMDEyNDIzAl8xBAZjYWxsZXIIBQ0kdDAxMjMzMDEyNDIzAl8yBARkYXRlCAUNJHQwMTIzMzAxMjQyMwJfMwQKaXNWYWxpZE5GVAgFDSR0MDEyMzMwMTI0MjMCXzQEBWFydElkCAUNJHQwMTIzMzAxMjQyMwJfNQQLY3JlYXRvckFkZHIIBQ0kdDAxMjMzMDEyNDIzAl82BAlhcnRTaWduSUQIBQ0kdDAxMjMzMDEyNDIzAl83AwkAAAIJALECAQUJYXJ0U2lnbklEAAAJAAIBAjBBcnR3b3JrIG5vdCBmb3VuZCBvbiBTSUdOIEFydCwgY2FuY2VsIHlvdXIgc2FsZS4DCQEBIQEFCmlzVmFsaWRORlQJAAIBAg9Ob3QgYSB2YWxpZCBuZnQECXNhbGVPd25lcgkBCWdldFN0ckJ5SwEJAKwCAgIWY3VycmVudF9vd25lcl9vbl9kYXBwXwUFbmZ0SWQDCQECIT0CBQlzYWxlT3duZXIFBmNhbGxlcgkAAgECFllvdSBkb24ndCBvd24gdGhpcyBORlQECnNhbGVTdGF0dXMJAQlnZXRTdHJCeUsBCQCsAgIJAKwCAgkArAICAg9zYWxlMm5kX3N0YXR1c18FBmNhbGxlcgIBXwUFbmZ0SWQDCQECIT0CBQpzYWxlU3RhdHVzAgRPUEVOCQACAQIPU2FsZSBub3QgYWN0aXZlAwkBASEBCQEQYWNjZXB0ZWRBc3NldElkcwEFBWFzc2V0CQACAQInT25seSBTSUdOLCBVU0ROLCBVU0RUIG9yIFdBVkVTIGFjY2VwdGVkAwkBASEBCQEPdmFsaWRhdGVNaW5TZWxsAgUFYXNzZXQFBXByaWNlCQACAQIYV3JvbmcgbWluaW11bSBzZWxsIHByaWNlBAdzYWxlS2V5CQEKZ2V0U2FsZUtleQQFBmNhbGxlcgUFbmZ0SWQFBWFydElkBQtjcmVhdG9yQWRkcgQIc2FsZUluZm8JALUJAgkBCWdldFN0ckJ5SwEJAKwCAgUHc2FsZUtleQIFX09QRU4CAV8JAMwIAgkBC1N0cmluZ0VudHJ5AgkArAICBQdzYWxlS2V5AgVfT1BFTgkArAICCQCsAgIJAKwCAgkArAICCQCsAgIJAKwCAgkArAICCQCsAgIJAKwCAgkArAICCQCsAgIJAKwCAgkAkQMCBQhzYWxlSW5mbwAAAgFfCQCkAwEFBXByaWNlAgFfBQVhc3NldAIBXwkAkQMCBQhzYWxlSW5mbwADAgFfCQCRAwIFCHNhbGVJbmZvAAQCAV8JAJEDAgUIc2FsZUluZm8ABQIBXwkAkQMCBQhzYWxlSW5mbwAGBQNuaWwBaQEKY2FuY2VsU2FsZQEFbmZ0SWQEDSR0MDEzNjAwMTM4NDQJAQ9wcm92aWRlQmFzZURhdGECBQFpBQVuZnRJZAQCaWQIBQ0kdDAxMzYwMDEzODQ0Al8xBAZjYWxsZXIIBQ0kdDAxMzYwMDEzODQ0Al8yBARkYXRlCAUNJHQwMTM2MDAxMzg0NAJfMwQKaXNWYWxpZE5GVAgFDSR0MDEzNjAwMTM4NDQCXzQEBWFydElkCAUNJHQwMTM2MDAxMzg0NAJfNQQLY3JlYXRvckFkZHIIBQ0kdDAxMzYwMDEzODQ0Al82BAlhcnRTaWduSUQIBQ0kdDAxMzYwMDEzODQ0Al83BAlzYWxlT3duZXIJAQlnZXRTdHJCeUsBCQCsAgICFmN1cnJlbnRfb3duZXJfb25fZGFwcF8FBW5mdElkAwkBAiE9AgUJc2FsZU93bmVyBQZjYWxsZXIJAAIBAhZZb3UgZG9uJ3Qgb3duIHRoaXMgTkZUBApzYWxlU3RhdHVzCQEJZ2V0U3RyQnlLAQkArAICCQCsAgIJAKwCAgIPc2FsZTJuZF9zdGF0dXNfBQZjYWxsZXICAV8FBW5mdElkAwkBAiE9AgUKc2FsZVN0YXR1cwIET1BFTgkAAgECD1NhbGUgbm90IGFjdGl2ZQQHc2FsZUtleQkBCmdldFNhbGVLZXkEBQZjYWxsZXIFBW5mdElkBQVhcnRJZAULY3JlYXRvckFkZHIECHNhbGVJbmZvCQEJZ2V0U3RyQnlLAQkArAICBQdzYWxlS2V5AgVfT1BFTgkAzAgCCQELRGVsZXRlRW50cnkBCQCsAgIFB3NhbGVLZXkCBV9PUEVOCQDMCAIJAQtEZWxldGVFbnRyeQEJAKwCAgkArAICCQCsAgICD3NhbGUybmRfc3RhdHVzXwUGY2FsbGVyAgFfBQVuZnRJZAkAzAgCCQELRGVsZXRlRW50cnkBCQCsAgICFmN1cnJlbnRfb3duZXJfb25fZGFwcF8FBW5mdElkCQDMCAIJAQtTdHJpbmdFbnRyeQIJAKwCAgkArAICCQCsAgIFB3NhbGVLZXkCAV8FAmlkAgpfQ0FOQ0VMTEVECQCsAgIJAKwCAgkArAICCQCsAgIFCHNhbGVJbmZvAgtfQ0FOQ0VMTEVEXwkApAMBBQRkYXRlAgFfBQJpZAkAzAgCCQEOU2NyaXB0VHJhbnNmZXIDCQEHQWRkcmVzcwEJANkEAQUGY2FsbGVyAAEJANkEAQUFbmZ0SWQFA25pbAFpAQZidXlORlQBBW5mdElkBA0kdDAxNDY5ODE0NzkxCQEPcHJvdmlkZUJhc2VEYXRhAgUBaQUFbmZ0SWQEAmlkCAUNJHQwMTQ2OTgxNDc5MQJfMQQGY2FsbGVyCAUNJHQwMTQ2OTgxNDc5MQJfMgQEZGF0ZQgFDSR0MDE0Njk4MTQ3OTECXzMECmlzVmFsaWRORlQIBQ0kdDAxNDY5ODE0NzkxAl80BAVhcnRJZAgFDSR0MDE0Njk4MTQ3OTECXzUEC2NyZWF0b3JBZGRyCAUNJHQwMTQ2OTgxNDc5MQJfNgQJYXJ0U2lnbklECAUNJHQwMTQ2OTgxNDc5MQJfNwMJAAACCQCxAgEFCWFydFNpZ25JRAAACQACAQIwQXJ0d29yayBub3QgZm91bmQgb24gU0lHTiBBcnQsIGNhbmNlbCB5b3VyIHNhbGUuAwkBASEBBQppc1ZhbGlkTkZUCQACAQIPTm90IGEgdmFsaWQgbmZ0BAlzYWxlT3duZXIJARVnZXRTYWxlT3duZXJBbmRTdGF0dXMBBQVuZnRJZAQHc2FsZUtleQkBCmdldFNhbGVLZXkEBQlzYWxlT3duZXIFBW5mdElkBQVhcnRJZAULY3JlYXRvckFkZHIECHNhbGVJbmZvCQEJZ2V0U3RyQnlLAQkArAICBQdzYWxlS2V5AgVfT1BFTgMJAAACCQCxAgEFCHNhbGVJbmZvAAAJAAIBAg9TYWxlIE5vdCBmb3VuZCEEDXNhbGVJbmZvQXJyYXkJALUJAgUIc2FsZUluZm8CAV8DCQAAAgkAtgkBCQCRAwIFDXNhbGVJbmZvQXJyYXkAAQAACQACAQIKT2ZmZXIgb25seQQNJHQwMTUzMDAxNTMzNgkBCWlzUGF5bWVudAEFAWkEB3BheW1lbnQIBQ0kdDAxNTMwMDE1MzM2Al8xBAZhbW91bnQIBQ0kdDAxNTMwMDE1MzM2Al8yBA9wYXltZW50QXNzZXRTdHIDCQEJaXNEZWZpbmVkAQgFB3BheW1lbnQHYXNzZXRJZAkA2AQBCQEFdmFsdWUBCAUHcGF5bWVudAdhc3NldElkAgADAwkBAiE9AgkAkQMCBQ1zYWxlSW5mb0FycmF5AAEJAKQDAQUGYW1vdW50BgkBAiE9AgkAkQMCBQ1zYWxlSW5mb0FycmF5AAIFD3BheW1lbnRBc3NldFN0cgkAAgECGlBheW1lbnQgaW5mb3MgZG9uJ3QgbWF0Y2guBA0kdDAxNTg1MDE1OTg5CQEMc2V0VHJhbnNmZXJzBwUGYW1vdW50CAUHcGF5bWVudAdhc3NldElkBQVuZnRJZAULY3JlYXRvckFkZHIFCXNhbGVPd25lcgUGY2FsbGVyBQVhcnRJZAQLY29tbWlzc2lvbnMIBQ0kdDAxNTg1MDE1OTg5Al8xBApjcmVhdG9yRmVlCAUNJHQwMTU4NTAxNTk4OQJfMgQIb3duZXJGZWUIBQ0kdDAxNTg1MDE1OTg5Al8zBAxjb2xsZWN0b3JORlQIBQ0kdDAxNTg1MDE1OTg5Al80CQDOCAIJAMwIAgkBC0RlbGV0ZUVudHJ5AQkArAICBQdzYWxlS2V5AgVfT1BFTgkAzAgCCQELRGVsZXRlRW50cnkBCQCsAgIJAKwCAgkArAICAg9zYWxlMm5kX3N0YXR1c18FCXNhbGVPd25lcgIBXwUFbmZ0SWQJAMwIAgkBC0RlbGV0ZUVudHJ5AQkArAICAhZjdXJyZW50X293bmVyX29uX2RhcHBfBQVuZnRJZAkAzAgCCQELU3RyaW5nRW50cnkCCQCsAgIJAKwCAgkArAICBQdzYWxlS2V5AgFfBQJpZAIHX0NMT1NFRAkArAICCQCsAgIJAKwCAgkArAICCQCsAgIJAKwCAgUIc2FsZUluZm8CCF9DTE9TRURfCQCkAwEFBGRhdGUCAV8FAmlkAgFfBQZjYWxsZXIJAMwIAgkBDnVwZGF0ZU51bVNhbGVzAAkAzAgCBQpjcmVhdG9yRmVlCQDMCAIFCG93bmVyRmVlCQDMCAIFDGNvbGxlY3Rvck5GVAUDbmlsBQtjb21taXNzaW9ucwFpAQhzZXRPZmZlcgEFbmZ0SWQEDSR0MDE2NDE3MTY1MTQJAQ9wcm92aWRlQmFzZURhdGECBQFpBQVuZnRJZAQCaWQIBQ0kdDAxNjQxNzE2NTE0Al8xBApvZmZlck93bmVyCAUNJHQwMTY0MTcxNjUxNAJfMgQEZGF0ZQgFDSR0MDE2NDE3MTY1MTQCXzMECmlzVmFsaWRORlQIBQ0kdDAxNjQxNzE2NTE0Al80BAVhcnRJZAgFDSR0MDE2NDE3MTY1MTQCXzUEC2NyZWF0b3JBZGRyCAUNJHQwMTY0MTcxNjUxNAJfNgQJYXJ0U2lnbklECAUNJHQwMTY0MTcxNjUxNAJfNwMJAQEhAQUKaXNWYWxpZE5GVAkAAgECD05vdCBhIHZhbGlkIG5mdAQNJHQwMTY1NzgxNjYxNAkBCWlzUGF5bWVudAEFAWkEB3BheW1lbnQIBQ0kdDAxNjU3ODE2NjE0Al8xBAZhbW91bnQIBQ0kdDAxNjU3ODE2NjE0Al8yBAdhc3NldElkAwkBASEBCQEJaXNEZWZpbmVkAQgFB3BheW1lbnQHYXNzZXRJZAIFV0FWRVMJANgEAQkBBXZhbHVlAQgFB3BheW1lbnQHYXNzZXRJZAMJAQEhAQkBEGFjY2VwdGVkQXNzZXRJZHMBBQdhc3NldElkCQACAQISYXNzZXQgbm90IGFjY2VwdGVkAwkAAAIFBmFtb3VudAAACQACAQIWT2ZmZXIgb2YgMCBub3QgYWxsb3dlZAMJAQEhAQkBD3ZhbGlkYXRlTWluU2VsbAIFB2Fzc2V0SWQFBmFtb3VudAkAAgECGFdyb25nIG1pbmltdW0gc2VsbCBwcmljZQQJc2FsZU93bmVyCQEVZ2V0U2FsZU93bmVyQW5kU3RhdHVzAQUFbmZ0SWQJAMwIAgkBC1N0cmluZ0VudHJ5AgkArAICCQEJZ2V0QmlkS2V5BAUKb2ZmZXJPd25lcgUFbmZ0SWQFCXNhbGVPd25lcgUCaWQCBV9PUEVOCQCsAgIJAKwCAgkArAICCQCsAgIJAKwCAgkArAICCQCsAgIJAKwCAgkArAICCQCsAgIJAKwCAgkArAICCQCsAgIJAKwCAgkApAMBBQRkYXRlAgFfCQCkAwEFBmFtb3VudAIBXwUHYXNzZXRJZAIBXwUFbmZ0SWQCAV8FBWFydElkAgFfBQtjcmVhdG9yQWRkcgIBXwUKb2ZmZXJPd25lcgIBXwUCaWQFA25pbAFpAQthY2NlcHRPZmZlcgMFbmZ0SWQHb2ZmZXJJZApvZmZlck93bmVyBA0kdDAxNzQzNTE3NTI4CQEPcHJvdmlkZUJhc2VEYXRhAgUBaQUFbmZ0SWQEAmlkCAUNJHQwMTc0MzUxNzUyOAJfMQQGY2FsbGVyCAUNJHQwMTc0MzUxNzUyOAJfMgQEZGF0ZQgFDSR0MDE3NDM1MTc1MjgCXzMECmlzVmFsaWRORlQIBQ0kdDAxNzQzNTE3NTI4Al80BAVhcnRJZAgFDSR0MDE3NDM1MTc1MjgCXzUEC2NyZWF0b3JBZGRyCAUNJHQwMTc0MzUxNzUyOAJfNgQJYXJ0U2lnbklECAUNJHQwMTc0MzUxNzUyOAJfNwMJAQEhAQUKaXNWYWxpZE5GVAkAAgECD05vdCBhIHZhbGlkIG5mdAQJc2FsZU93bmVyCQEVZ2V0U2FsZU93bmVyQW5kU3RhdHVzAQUFbmZ0SWQDCQECIT0CBQZjYWxsZXIFCXNhbGVPd25lcgkAAgECIE9ubHkgc2FsZSBvd25lciBjYW4gYWNjZXB0IG9mZmVyBAZiaWRLZXkJAQlnZXRCaWRLZXkEBQpvZmZlck93bmVyBQVuZnRJZAUJc2FsZU93bmVyBQdvZmZlcklkBA0kdDAxNzc4OTE3ODQ0CQEKZ2V0QmlkRGF0YQEFBmJpZEtleQQKYmlkRGF0YUFycggFDSR0MDE3Nzg5MTc4NDQCXzEEB2Fzc2V0SWQIBQ0kdDAxNzc4OTE3ODQ0Al8yBAdiaWREYXRhCAUNJHQwMTc3ODkxNzg0NAJfMwQHc2FsZUtleQkBCmdldFNhbGVLZXkEBQlzYWxlT3duZXIFBW5mdElkBQVhcnRJZAULY3JlYXRvckFkZHIECHNhbGVJbmZvCQEJZ2V0U3RyQnlLAQkArAICBQdzYWxlS2V5AgVfT1BFTgMJAAACCQCxAgEFCHNhbGVJbmZvAAAJAAIBAg9TYWxlIE5vdCBmb3VuZCEEBmFtb3VudAkBBXZhbHVlAQkAtgkBCQCRAwIFCmJpZERhdGFBcnIAAQQNJHQwMTgwODcxODIyNQkBDHNldFRyYW5zZmVycwcFBmFtb3VudAUHYXNzZXRJZAUFbmZ0SWQFC2NyZWF0b3JBZGRyBQlzYWxlT3duZXIJAJEDAgUKYmlkRGF0YUFycgAGBQVhcnRJZAQLY29tbWlzc2lvbnMIBQ0kdDAxODA4NzE4MjI1Al8xBApjcmVhdG9yRmVlCAUNJHQwMTgwODcxODIyNQJfMgQIb3duZXJGZWUIBQ0kdDAxODA4NzE4MjI1Al8zBAxjb2xsZWN0b3JORlQIBQ0kdDAxODA4NzE4MjI1Al80BAphc3NldElkU3RyAwkBCWlzRGVmaW5lZAEFB2Fzc2V0SWQJANgEAQkBBXZhbHVlAQUHYXNzZXRJZAIFV0FWRVMJAM4IAgkAzAgCCQELRGVsZXRlRW50cnkBCQCsAgIFB3NhbGVLZXkCBV9PUEVOCQDMCAIJAQtEZWxldGVFbnRyeQEJAKwCAgUGYmlkS2V5AgVfT1BFTgkAzAgCCQELRGVsZXRlRW50cnkBCQCsAgIJAKwCAgkArAICAg9zYWxlMm5kX3N0YXR1c18FCXNhbGVPd25lcgIBXwUFbmZ0SWQJAMwIAgkBC0RlbGV0ZUVudHJ5AQkArAICAhZjdXJyZW50X293bmVyX29uX2RhcHBfBQVuZnRJZAkAzAgCCQELU3RyaW5nRW50cnkCCQCsAgIFBmJpZEtleQIHX0NMT1NFRAkArAICCQCsAgIJAKwCAgkArAICBQdiaWREYXRhAghfQ0xPU0VEXwkApAMBBQRkYXRlAgFfBQJpZAkAzAgCCQELU3RyaW5nRW50cnkCCQCsAgIJAKwCAgkArAICBQdzYWxlS2V5AgFfBQJpZAIHX0NMT1NFRAkArAICCQCsAgIJAKwCAgkArAICCQCsAgIJAKwCAgkArAICCQCsAgIJAKwCAgkArAICBQhzYWxlSW5mbwIOX0NMT1NFRC1PRkZFUl8JAKQDAQUEZGF0ZQIBXwUCaWQCAV8FCm9mZmVyT3duZXICAV8JAKQDAQUGYW1vdW50AgFfBQphc3NldElkU3RyCQDMCAIJAQ51cGRhdGVOdW1TYWxlcwAJAMwIAgUKY3JlYXRvckZlZQkAzAgCBQhvd25lckZlZQkAzAgCBQxjb2xsZWN0b3JORlQFA25pbAULY29tbWlzc2lvbnMBaQELY2FuY2VsT2ZmZXIEBW5mdElkB29mZmVySWQKb2ZmZXJPd25lcglzYWxlT3duZXIEDSR0MDE5MDQ1MTkxMjAJAQxpZENhbGxlckRhdGUBBQFpBAJpZAgFDSR0MDE5MDQ1MTkxMjACXzEEBmNhbGxlcggFDSR0MDE5MDQ1MTkxMjACXzIEBGRhdGUIBQ0kdDAxOTA0NTE5MTIwAl8zAwMJAQIhPQIFBmNhbGxlcgUKb2ZmZXJPd25lcgkBAiE9AgUGY2FsbGVyBQlzYWxlT3duZXIHCQACAQIdWW91IGNhbm5vdCBjYW5jZWwgdGhpcyBvZmZlci4EBmJpZEtleQkBCWdldEJpZEtleQQFCm9mZmVyT3duZXIFBW5mdElkBQlzYWxlT3duZXIFB29mZmVySWQEDSR0MDE5Mjk0MTkzNDkJAQpnZXRCaWREYXRhAQUGYmlkS2V5BApiaWREYXRhQXJyCAUNJHQwMTkyOTQxOTM0OQJfMQQHYXNzZXRJZAgFDSR0MDE5Mjk0MTkzNDkCXzIEB2JpZERhdGEIBQ0kdDAxOTI5NDE5MzQ5Al8zCQDMCAIJAQtEZWxldGVFbnRyeQEJAKwCAgUGYmlkS2V5AgVfT1BFTgkAzAgCCQELU3RyaW5nRW50cnkCCQCsAgIFBmJpZEtleQIKX0NBTkNFTExFRAkArAICCQCsAgIJAKwCAgkArAICBQdiaWREYXRhAgtfQ0FOQ0VMTEVEXwkApAMBBQRkYXRlAgFfBQJpZAkAzAgCCQEOU2NyaXB0VHJhbnNmZXIDCQEHQWRkcmVzcwEJANkEAQUGY2FsbGVyCQENcGFyc2VJbnRWYWx1ZQEJAJEDAgUKYmlkRGF0YUFycgABBQdhc3NldElkBQNuaWwA0jx8rg==", "height": 2339357, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: 5Lcsh7p6YFtDxz5fktwyXHhWZqkXsW9NVQVSofdENWbR Next: 8XJcRSSKPzAJGhVTbMxdopfJM3XvLhLDgBEqCyjNq8hJ Diff:
OldNewDifferences
196196
197197 func au (Z,ae,ah,M,P,D,E) = {
198198 let av = x(C(M, E))
199- if (true)
200- then throw(((((C(M, ah) + " / ") + toString(Z)) + " / ") + toString(av)))
201- else {
202- let aw = valueOrElse(getString(g, T(M)), e)
203- let ax = valueOrElse(getInteger(g, U(M)), 0)
204- let ay = fraction(Z, m, 100)
205- let az = fraction(Z, av, 10000)
206- let aA = (Z - (ay + az))
207- let aB = if (if ((aw != e))
208- then (ax > 0)
209- else false)
210- then fraction(Z, ax, 100)
211- else 0
212- let aC = if ((aB != 0))
213- then [ScriptTransfer(Address(fromBase58String(e)), (ay - aB), ae), ScriptTransfer(Address(fromBase58String(aw)), aB, ae)]
214- else [ScriptTransfer(Address(fromBase58String(e)), ay, ae)]
215- let aD = ScriptTransfer(Address(fromBase58String(M)), az, ae)
216- let aE = ScriptTransfer(Address(fromBase58String(P)), aA, ae)
217- let aF = ScriptTransfer(Address(fromBase58String(D)), 1, fromBase58String(ah))
218- $Tuple4(aC, aD, aE, aF)
219- }
199+ let aw = valueOrElse(getString(g, T(M)), e)
200+ let ax = valueOrElse(getInteger(g, U(M)), 0)
201+ let ay = fraction(Z, m, 100)
202+ let az = fraction(Z, av, 10000)
203+ let aA = (Z - (ay + az))
204+ let aB = if (if ((aw != e))
205+ then (ax > 0)
206+ else false)
207+ then fraction(Z, ax, 100)
208+ else 0
209+ let aC = if ((aB != 0))
210+ then [ScriptTransfer(Address(fromBase58String(e)), (ay - aB), ae), ScriptTransfer(Address(fromBase58String(aw)), aB, ae)]
211+ else [ScriptTransfer(Address(fromBase58String(e)), ay, ae)]
212+ let aD = ScriptTransfer(Address(fromBase58String(M)), az, ae)
213+ let aE = ScriptTransfer(Address(fromBase58String(P)), aA, ae)
214+ let aF = ScriptTransfer(Address(fromBase58String(D)), 1, fromBase58String(ah))
215+ $Tuple4(aC, aD, aE, aF)
220216 }
221217
222218
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 6 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 func a (b) = valueOrElse(getString(this, b), "")
55
66
77 let c = false
88
99 let d = value(addressFromString(a("conf_oracle_fee")))
1010
1111 let e = a("conf_fee_receiver")
1212
1313 let f = value(addressFromString(a("conf_artworks_dapp")))
1414
1515 let g = if (c)
1616 then value(addressFromString("3Mt4RGMEyjSWYAocTPqd55wdHQQB3PU2UCm"))
1717 else value(addressFromString(a("conf_users_dapp")))
1818
1919 let h = fromBase58String(a("conf_accepted_asset_SIGN"))
2020
2121 let i = fromBase58String(a("conf_accepted_asset_USDN"))
2222
2323 let j = fromBase58String(a("conf_accepted_asset_USDT"))
2424
2525 let k = base58''
2626
2727 let l = a("conf_admin_1")
2828
2929 let m = 3
3030
3131 let n = "SUSPENDED"
3232
3333 let o = "REMOVED"
3434
3535 let p = "ILLEGAL"
3636
3737 let q = "SUSPENDED"
3838
3939 let r = "conf_dapp_is_running"
4040
4141 let s = "conf_maintenance_msg"
4242
4343 let t = valueOrElse(getBoolean(this, r), true)
4444
4545 let u = valueOrElse(getString(this, s), "")
4646
4747 let v = "num_sales"
4848
4949 func w (b) = valueOrElse(getString(g, b), "Error")
5050
5151
5252 func x (b) = valueOrElse(getInteger(f, b), 1000)
5353
5454
5555 func y (b) = valueOrElse(getString(f, b), "")
5656
5757
5858 func z (b) = valueOrElse(getInteger(this, b), 0)
5959
6060
6161 func A (B) = ("user_status_" + B)
6262
6363
6464 func C (D,E) = ((("art_royalties_" + E) + "_") + D)
6565
6666
6767 func F (G,E) = ((("art_signid_" + E) + "_") + G)
6868
6969
7070 func H (G,E) = ((("art_flag_" + E) + "_") + G)
7171
7272
7373 func I (J) = ("nft_" + J)
7474
7575
7676 func K (D,L,E,M) = ((((((("sale2nd_info_" + D) + "_") + L) + "_") + E) + "_") + M)
7777
7878
7979 func N (O,L,P,Q) = ((((((("offer2nd_" + O) + "_") + L) + "_") + P) + "_") + Q)
8080
8181
8282 func R (b) = valueOrErrorMessage(getInteger(d, b), "Integer undefine or 0 in oracle")
8383
8484
8585 let S = R(("certification_fee_" + toBase58String(h)))
8686
8787 func T (G) = ("artist_agent_" + G)
8888
8989
9090 func U (G) = ("artist_agent_secondary_" + G)
9191
9292
9393 func V (W) = if (!(t))
9494 then throw(u)
9595 else $Tuple3(toBase58String(W.transactionId), toBase58String(W.caller.bytes), lastBlock.timestamp)
9696
9797
9898 func X (W) = if ((size(W.payments) == 0))
9999 then throw("No payment attached")
100100 else {
101101 let Y = value(W.payments[0])
102102 let Z = value(Y.amount)
103103 $Tuple2(Y, Z)
104104 }
105105
106106
107107 func aa (ab) = if (if (if ((ab.quantity == 1))
108108 then (ab.decimals == 0)
109109 else false)
110110 then (ab.reissuable == false)
111111 else false)
112112 then (ab.issuer == f)
113113 else false
114114
115115
116116 func ac (J) = {
117117 let ab = value(assetInfo(J))
118118 aa(ab)
119119 }
120120
121121
122122 func ad (ae) = if (if (if (if (if ((ae != toBase58String(h)))
123123 then (ae != toBase58String(k))
124124 else false)
125125 then (ae != "WAVES")
126126 else false)
127127 then (ae != toBase58String(i))
128128 else false)
129129 then (ae != toBase58String(j))
130130 else false)
131131 then false
132132 else true
133133
134134
135135 func af (ae) = if ((ae == "WAVES"))
136136 then unit
137137 else fromBase58String(ae)
138138
139139
140140 func ag (ah) = {
141141 let P = a(("current_owner_on_dapp_" + ah))
142142 if ((size(P) == 0))
143143 then throw("NFT not found")
144144 else {
145145 let ai = a(((("sale2nd_status_" + P) + "_") + ah))
146146 if ((ai != "OPEN"))
147147 then throw("NFT not for sale")
148148 else P
149149 }
150150 }
151151
152152
153153 func aj (b) = {
154154 let ak = a((b + "_OPEN"))
155155 if ((ak == ""))
156156 then throw("Offer not found")
157157 else {
158158 let al = split(ak, "_")
159159 let ae = af(al[2])
160160 $Tuple3(al, ae, ak)
161161 }
162162 }
163163
164164
165165 func am (an) = if ((an != p))
166166 then (an != q)
167167 else false
168168
169169
170170 func ao (B,J) = {
171171 let an = y(H(B, J))
172172 if (am(an))
173173 then true
174174 else throw(("Original Artwork flagged as " + an))
175175 }
176176
177177
178178 func ap (B) = {
179179 let aq = w(A(B))
180180 if (containsElement([n, o], aq))
181181 then throw(("Original Artist " + aq))
182182 else true
183183 }
184184
185185
186186 func ar (ae) = {
187187 let as = split(y(I(ae)), "_")
188188 let at = y(F(as[6], as[5]))
189189 if (if (!(ao(as[6], as[5])))
190190 then !(ap(as[6]))
191191 else false)
192192 then $Tuple4(false, as[5], as[6], at)
193193 else $Tuple4(true, as[5], as[6], at)
194194 }
195195
196196
197197 func au (Z,ae,ah,M,P,D,E) = {
198198 let av = x(C(M, E))
199- if (true)
200- then throw(((((C(M, ah) + " / ") + toString(Z)) + " / ") + toString(av)))
201- else {
202- let aw = valueOrElse(getString(g, T(M)), e)
203- let ax = valueOrElse(getInteger(g, U(M)), 0)
204- let ay = fraction(Z, m, 100)
205- let az = fraction(Z, av, 10000)
206- let aA = (Z - (ay + az))
207- let aB = if (if ((aw != e))
208- then (ax > 0)
209- else false)
210- then fraction(Z, ax, 100)
211- else 0
212- let aC = if ((aB != 0))
213- then [ScriptTransfer(Address(fromBase58String(e)), (ay - aB), ae), ScriptTransfer(Address(fromBase58String(aw)), aB, ae)]
214- else [ScriptTransfer(Address(fromBase58String(e)), ay, ae)]
215- let aD = ScriptTransfer(Address(fromBase58String(M)), az, ae)
216- let aE = ScriptTransfer(Address(fromBase58String(P)), aA, ae)
217- let aF = ScriptTransfer(Address(fromBase58String(D)), 1, fromBase58String(ah))
218- $Tuple4(aC, aD, aE, aF)
219- }
199+ let aw = valueOrElse(getString(g, T(M)), e)
200+ let ax = valueOrElse(getInteger(g, U(M)), 0)
201+ let ay = fraction(Z, m, 100)
202+ let az = fraction(Z, av, 10000)
203+ let aA = (Z - (ay + az))
204+ let aB = if (if ((aw != e))
205+ then (ax > 0)
206+ else false)
207+ then fraction(Z, ax, 100)
208+ else 0
209+ let aC = if ((aB != 0))
210+ then [ScriptTransfer(Address(fromBase58String(e)), (ay - aB), ae), ScriptTransfer(Address(fromBase58String(aw)), aB, ae)]
211+ else [ScriptTransfer(Address(fromBase58String(e)), ay, ae)]
212+ let aD = ScriptTransfer(Address(fromBase58String(M)), az, ae)
213+ let aE = ScriptTransfer(Address(fromBase58String(P)), aA, ae)
214+ let aF = ScriptTransfer(Address(fromBase58String(D)), 1, fromBase58String(ah))
215+ $Tuple4(aC, aD, aE, aF)
220216 }
221217
222218
223219 func aG (ae,aH) = {
224220 let aI = if (c)
225221 then 10
226222 else R("waves_min_sell")
227223 let aJ = 1000000
228224 let aK = if (c)
229225 then 1
230226 else (S * 2)
231227 if (if (if (if (if (if ((ae == toBase58String(i)))
232228 then (aJ > aH)
233229 else false)
234230 then (aH != 0)
235231 else false)
236232 then true
237233 else if (if ((ae == toBase58String(j)))
238234 then (aJ > aH)
239235 else false)
240236 then (aH != 0)
241237 else false)
242238 then true
243239 else if (if ((ae == toBase58String(h)))
244240 then (aK > aH)
245241 else false)
246242 then (aH != 0)
247243 else false)
248244 then true
249245 else if (if (if ((ae == toBase58String(k)))
250246 then true
251247 else (ae == "WAVES"))
252248 then (aI > aH)
253249 else false)
254250 then (aH != 0)
255251 else false)
256252 then false
257253 else true
258254 }
259255
260256
261257 func aL (W,L) = {
262258 let aM = V(W)
263259 let J = aM._1
264260 let D = aM._2
265261 let aN = aM._3
266262 let aO = ar(L)
267263 let aP = aO._1
268264 let E = aO._2
269265 let M = aO._3
270266 let at = aO._4
271267 $Tuple7(J, D, aN, aP, E, M, at)
272268 }
273269
274270
275271 func aQ () = {
276272 let aR = z(v)
277273 IntegerEntry(v, (aR + 1))
278274 }
279275
280276
281277 @Callable(aS)
282278 func setConf (b,aT) = {
283279 let D = toString(aS.caller)
284280 if (containsElement([l, toString(this)], D))
285281 then if (contains(b, "conf_"))
286282 then [StringEntry(b, aT)]
287283 else throw("Entries starting with conf_ only")
288284 else throw("You are not allowed to change this")
289285 }
290286
291287
292288
293289 @Callable(aS)
294290 func appRunning (aU,aV) = {
295291 let D = toString(aS.caller)
296292 let J = toBase58String(aS.transactionId)
297293 if (containsElement([l, toString(this)], D))
298294 then [BooleanEntry(r, aU), StringEntry(s, aV)]
299295 else throw("You are not allowed to change this")
300296 }
301297
302298
303299
304300 @Callable(W)
305301 func sellNFT (aH,aW) = {
306302 let aX = X(W)
307303 let Y = aX._1
308304 let Z = aX._2
309305 if ((Z != 1))
310306 then throw("No NFT attached")
311307 else {
312308 let L = if (if (isDefined(Y.assetId))
313309 then ac(value(Y.assetId))
314310 else false)
315311 then toBase58String(value(Y.assetId))
316312 else throw("Only SIGN Art NFT accepted.")
317313 let aY = aL(W, L)
318314 let J = aY._1
319315 let D = aY._2
320316 let aN = aY._3
321317 let aP = aY._4
322318 let E = aY._5
323319 let M = aY._6
324320 let at = aY._7
325321 if ((size(at) == 0))
326322 then throw("Artwork not found on SIGN Art")
327323 else if (!(aP))
328324 then throw("Not a valid nft")
329325 else if (!(ad(aW)))
330326 then throw("Only SIGN, USDN, USDT or WAVES accepted")
331327 else if (!(aG(aW, aH)))
332328 then throw("Wrong minimum sell price")
333329 else [StringEntry((K(D, L, E, M) + "_OPEN"), ((((((((((((toString(aN) + "_") + toString(aH)) + "_") + aW) + "_") + L) + "_") + E) + "_") + M) + "_") + J)), StringEntry(((("sale2nd_status_" + D) + "_") + L), "OPEN"), StringEntry(("current_owner_on_dapp_" + L), D)]
334330 }
335331 }
336332
337333
338334
339335 @Callable(W)
340336 func updateSalePrice (L,aH,aW) = {
341337 let aZ = aL(W, L)
342338 let J = aZ._1
343339 let D = aZ._2
344340 let aN = aZ._3
345341 let aP = aZ._4
346342 let E = aZ._5
347343 let M = aZ._6
348344 let at = aZ._7
349345 if ((size(at) == 0))
350346 then throw("Artwork not found on SIGN Art, cancel your sale.")
351347 else if (!(aP))
352348 then throw("Not a valid nft")
353349 else {
354350 let P = a(("current_owner_on_dapp_" + L))
355351 if ((P != D))
356352 then throw("You don't own this NFT")
357353 else {
358354 let ai = a(((("sale2nd_status_" + D) + "_") + L))
359355 if ((ai != "OPEN"))
360356 then throw("Sale not active")
361357 else if (!(ad(aW)))
362358 then throw("Only SIGN, USDN, USDT or WAVES accepted")
363359 else if (!(aG(aW, aH)))
364360 then throw("Wrong minimum sell price")
365361 else {
366362 let ba = K(D, L, E, M)
367363 let bb = split(a((ba + "_OPEN")), "_")
368364 [StringEntry((ba + "_OPEN"), ((((((((((((bb[0] + "_") + toString(aH)) + "_") + aW) + "_") + bb[3]) + "_") + bb[4]) + "_") + bb[5]) + "_") + bb[6]))]
369365 }
370366 }
371367 }
372368 }
373369
374370
375371
376372 @Callable(W)
377373 func cancelSale (L) = {
378374 let bc = aL(W, L)
379375 let J = bc._1
380376 let D = bc._2
381377 let aN = bc._3
382378 let aP = bc._4
383379 let E = bc._5
384380 let M = bc._6
385381 let at = bc._7
386382 let P = a(("current_owner_on_dapp_" + L))
387383 if ((P != D))
388384 then throw("You don't own this NFT")
389385 else {
390386 let ai = a(((("sale2nd_status_" + D) + "_") + L))
391387 if ((ai != "OPEN"))
392388 then throw("Sale not active")
393389 else {
394390 let ba = K(D, L, E, M)
395391 let bb = a((ba + "_OPEN"))
396392 [DeleteEntry((ba + "_OPEN")), DeleteEntry(((("sale2nd_status_" + D) + "_") + L)), DeleteEntry(("current_owner_on_dapp_" + L)), StringEntry((((ba + "_") + J) + "_CANCELLED"), ((((bb + "_CANCELLED_") + toString(aN)) + "_") + J)), ScriptTransfer(Address(fromBase58String(D)), 1, fromBase58String(L))]
397393 }
398394 }
399395 }
400396
401397
402398
403399 @Callable(W)
404400 func buyNFT (L) = {
405401 let bd = aL(W, L)
406402 let J = bd._1
407403 let D = bd._2
408404 let aN = bd._3
409405 let aP = bd._4
410406 let E = bd._5
411407 let M = bd._6
412408 let at = bd._7
413409 if ((size(at) == 0))
414410 then throw("Artwork not found on SIGN Art, cancel your sale.")
415411 else if (!(aP))
416412 then throw("Not a valid nft")
417413 else {
418414 let P = ag(L)
419415 let ba = K(P, L, E, M)
420416 let bb = a((ba + "_OPEN"))
421417 if ((size(bb) == 0))
422418 then throw("Sale Not found!")
423419 else {
424420 let be = split(bb, "_")
425421 if ((parseInt(be[1]) == 0))
426422 then throw("Offer only")
427423 else {
428424 let bf = X(W)
429425 let Y = bf._1
430426 let Z = bf._2
431427 let bg = if (isDefined(Y.assetId))
432428 then toBase58String(value(Y.assetId))
433429 else ""
434430 if (if ((be[1] != toString(Z)))
435431 then true
436432 else (be[2] != bg))
437433 then throw("Payment infos don't match.")
438434 else {
439435 let bh = au(Z, Y.assetId, L, M, P, D, E)
440436 let aC = bh._1
441437 let aD = bh._2
442438 let aE = bh._3
443439 let aF = bh._4
444440 ([DeleteEntry((ba + "_OPEN")), DeleteEntry(((("sale2nd_status_" + P) + "_") + L)), DeleteEntry(("current_owner_on_dapp_" + L)), StringEntry((((ba + "_") + J) + "_CLOSED"), ((((((bb + "_CLOSED_") + toString(aN)) + "_") + J) + "_") + D)), aQ(), aD, aE, aF] ++ aC)
445441 }
446442 }
447443 }
448444 }
449445 }
450446
451447
452448
453449 @Callable(W)
454450 func setOffer (L) = {
455451 let bi = aL(W, L)
456452 let J = bi._1
457453 let O = bi._2
458454 let aN = bi._3
459455 let aP = bi._4
460456 let E = bi._5
461457 let M = bi._6
462458 let at = bi._7
463459 if (!(aP))
464460 then throw("Not a valid nft")
465461 else {
466462 let bj = X(W)
467463 let Y = bj._1
468464 let Z = bj._2
469465 let ae = if (!(isDefined(Y.assetId)))
470466 then "WAVES"
471467 else toBase58String(value(Y.assetId))
472468 if (!(ad(ae)))
473469 then throw("asset not accepted")
474470 else if ((Z == 0))
475471 then throw("Offer of 0 not allowed")
476472 else if (!(aG(ae, Z)))
477473 then throw("Wrong minimum sell price")
478474 else {
479475 let P = ag(L)
480476 [StringEntry((N(O, L, P, J) + "_OPEN"), ((((((((((((((toString(aN) + "_") + toString(Z)) + "_") + ae) + "_") + L) + "_") + E) + "_") + M) + "_") + O) + "_") + J))]
481477 }
482478 }
483479 }
484480
485481
486482
487483 @Callable(W)
488484 func acceptOffer (L,Q,O) = {
489485 let bk = aL(W, L)
490486 let J = bk._1
491487 let D = bk._2
492488 let aN = bk._3
493489 let aP = bk._4
494490 let E = bk._5
495491 let M = bk._6
496492 let at = bk._7
497493 if (!(aP))
498494 then throw("Not a valid nft")
499495 else {
500496 let P = ag(L)
501497 if ((D != P))
502498 then throw("Only sale owner can accept offer")
503499 else {
504500 let bl = N(O, L, P, Q)
505501 let bm = aj(bl)
506502 let al = bm._1
507503 let ae = bm._2
508504 let ak = bm._3
509505 let ba = K(P, L, E, M)
510506 let bb = a((ba + "_OPEN"))
511507 if ((size(bb) == 0))
512508 then throw("Sale Not found!")
513509 else {
514510 let Z = value(parseInt(al[1]))
515511 let bn = au(Z, ae, L, M, P, al[6], E)
516512 let aC = bn._1
517513 let aD = bn._2
518514 let aE = bn._3
519515 let aF = bn._4
520516 let bo = if (isDefined(ae))
521517 then toBase58String(value(ae))
522518 else "WAVES"
523519 ([DeleteEntry((ba + "_OPEN")), DeleteEntry((bl + "_OPEN")), DeleteEntry(((("sale2nd_status_" + P) + "_") + L)), DeleteEntry(("current_owner_on_dapp_" + L)), StringEntry((bl + "_CLOSED"), ((((ak + "_CLOSED_") + toString(aN)) + "_") + J)), StringEntry((((ba + "_") + J) + "_CLOSED"), ((((((((((bb + "_CLOSED-OFFER_") + toString(aN)) + "_") + J) + "_") + O) + "_") + toString(Z)) + "_") + bo)), aQ(), aD, aE, aF] ++ aC)
524520 }
525521 }
526522 }
527523 }
528524
529525
530526
531527 @Callable(W)
532528 func cancelOffer (L,Q,O,P) = {
533529 let bp = V(W)
534530 let J = bp._1
535531 let D = bp._2
536532 let aN = bp._3
537533 if (if ((D != O))
538534 then (D != P)
539535 else false)
540536 then throw("You cannot cancel this offer.")
541537 else {
542538 let bl = N(O, L, P, Q)
543539 let bq = aj(bl)
544540 let al = bq._1
545541 let ae = bq._2
546542 let ak = bq._3
547543 [DeleteEntry((bl + "_OPEN")), StringEntry((bl + "_CANCELLED"), ((((ak + "_CANCELLED_") + toString(aN)) + "_") + J)), ScriptTransfer(Address(fromBase58String(D)), parseIntValue(al[1]), ae)]
548544 }
549545 }
550546
551547

github/deemru/w8io/026f985 
63.60 ms