tx · CHAkh6qCam3S3soooSMjRHdYEbMdNS4QFo9dKpHqs5Za

3MtC32eAy42jhwnHpfYCbUj11iUkXDQdYpt:  -0.00900000 Waves

2022.11.20 17:07 [2325527] smart account 3MtC32eAy42jhwnHpfYCbUj11iUkXDQdYpt > SELF 0.00000000 Waves

{ "type": 13, "id": "CHAkh6qCam3S3soooSMjRHdYEbMdNS4QFo9dKpHqs5Za", "fee": 900000, "feeAssetId": null, "timestamp": 1668953285728, "version": 1, "sender": "3MtC32eAy42jhwnHpfYCbUj11iUkXDQdYpt", "senderPublicKey": "3xUNfrYKuaZmnMzb6e9tKC4azGnvWZyLzeKdUgAeFFpV", "proofs": [ "56KgCurouWQeNBRAFCWWCzZyTtUAm8xMq8Je32tV76ZScf8ypkjzyk7LxcjgLDX2EyETmYFM9H742Hrb6f7mzSvR" ], "script": "base64:BgIVCAISAwoBCBIDCgEIEgcKBQEICAEBHgABUwICX18AA0RFQwDAhD0ACVNDSEVEVUxFRAIJU0NIRURVTEVEAAZQTEFZRUQCBlBMQVlFRAEMZ2V0SW50T3JGYWlsAgdhZGRyZXNzA2tleQkBE3ZhbHVlT3JFcnJvck1lc3NhZ2UCCQCaCAIFB2FkZHJlc3MFA2tleQkArAICCQCsAgIJAKwCAgkApQgBBQdhZGRyZXNzAgEuBQNrZXkCDyBpcyBub3QgZGVmaW5lZAEMZ2V0U3RyT3JGYWlsAgdhZGRyZXNzA2tleQkBE3ZhbHVlT3JFcnJvck1lc3NhZ2UCCQCdCAIFB2FkZHJlc3MFA2tleQkArAICCQCsAgIJAKwCAgkApQgBBQdhZGRyZXNzAgEuBQNrZXkCDyBpcyBub3QgZGVmaW5lZAEGZ2V0SW50AwdhZGRyZXNzA2tleQdkZWZhdWx0CQELdmFsdWVPckVsc2UCCQCaCAIFB2FkZHJlc3MFA2tleQUHZGVmYXVsdAEGZ2V0U3RyAwdhZGRyZXNzA2tleQdkZWZhdWx0CQELdmFsdWVPckVsc2UCCQCdCAIFB2FkZHJlc3MFA2tleQUHZGVmYXVsdAESa2V5Q2ZnUHJpY2VBc3NldElkAAIVJXMlc19fY2ZnX19wcmljZUFzc2V0AAZ1c2RuSWQJANkEAQkBBmdldFN0cgMFBHRoaXMJARJrZXlDZmdQcmljZUFzc2V0SWQAAixIZXpzZFF1UkR0emtzQVlVeTk3Z2ZoS3k3WjFOVzJ1WFlTSEEzYmdxZW5OWgEKa2V5VGVhbUNhcAEIdGVhbUNvZGUJALkJAgkAzAgCAhglcyVzX190ZWFtQ2FwaXRhbGl6YXRpb24JAMwIAgUIdGVhbUNvZGUFA25pbAUBUwEKa2V5VGVhbVRrbgEIdGVhbUNvZGUJALkJAgkAzAgCAhAlcyVzX190ZWFtVG9rZW5zCQDMCAIFCHRlYW1Db2RlBQNuaWwFAVMBCmtleVRlYW1SbmQBCHRlYW1Db2RlCQC5CQIJAMwIAgIPJXMlc19fdGVhbVJvdW5kCQDMCAIFCHRlYW1Db2RlBQNuaWwFAVMBDGtleVRlYW1SaXNrcwEIdGVhbUNvZGUJALkJAgkAzAgCAg8lcyVzX190ZWFtUmlza3MJAMwIAgUIdGVhbUNvZGUFA25pbAUBUwEPa2V5VGVhbVNjaGVkdWxlAQh0ZWFtQ29kZQkAuQkCCQDMCAICEiVzJXNfX3RlYW1TY2hlZHVsZQkAzAgCBQh0ZWFtQ29kZQUDbmlsBQFTAQxrZXlUZWFtU3RhdHMBCHRlYW1Db2RlCQC5CQIJAMwIAgIPJXMlc19fdGVhbVN0YXRzCQDMCAIFCHRlYW1Db2RlBQNuaWwFAVMBC2tleVVzZXJUZWFtAgR1c2VyCHRlYW1Db2RlCQC5CQIJAMwIAgIQJXMlcyVzX191c2VyVGVhbQkAzAgCBQh0ZWFtQ29kZQkAzAgCBQR1c2VyBQNuaWwFAVMBCGtleU1hdGNoAwVyb3VuZAxob21lVGVhbUNvZGUMYXdheVRlYW1Db2RlCQC5CQIJAMwIAgIPJXMlZCVzJXNfX21hdGNoCQDMCAIJAKQDAQUFcm91bmQJAMwIAgUMaG9tZVRlYW1Db2RlCQDMCAIFDGF3YXlUZWFtQ29kZQUDbmlsBQFTAQ1kYXRhVGVhbVJpc2tzBAVyaXNrMQVyaXNrMgVyaXNrMwVyaXNrNAkAuQkCCQDMCAICCCVkJWQlZCVkCQDMCAIFBXJpc2sxCQDMCAIFBXJpc2syCQDMCAIFBXJpc2szCQDMCAIFBXJpc2s0BQNuaWwFAVMBCWRhdGFNYXRjaAMEZGF0YQ1ob21lVGVhbUdvYWxzDWF3YXlUZWFtR29hbHMJALkJAgkAzAgCAgolZCVkJXMlZCVkCQDMCAIJAJEDAgUEZGF0YQABCQDMCAIJAJEDAgUEZGF0YQACCQDMCAIFBlBMQVlFRAkAzAgCCQCkAwEFDWhvbWVUZWFtR29hbHMJAMwIAgkApAMBBQ1hd2F5VGVhbUdvYWxzBQNuaWwFAVMBC3JlYWRUZWFtUm5kAQh0ZWFtQ29kZQkBBmdldEludAMFBHRoaXMJAQprZXlUZWFtUm5kAQUIdGVhbUNvZGUAAQENdXBkYXRlVGVhbVJuZAEIdGVhbUNvZGUEAXIJAQtyZWFkVGVhbVJuZAEFCHRlYW1Db2RlCQEMSW50ZWdlckVudHJ5AgkBCmtleVRlYW1SbmQBBQh0ZWFtQ29kZQkAZAIFAXIAAQEEaXNNZQEBaQMJAQIhPQIFBHRoaXMIBQFpBmNhbGxlcgkAAgECC25vdCBhbGxvd2VkBgEJY2FsY1Jpc2tzAgVyb3VuZANwbXQDCQAAAgUFcm91bmQAAQkAlgoECQBpAgUDcG10AAMJAGkCBQNwbXQAAwkAaQIFA3BtdAADAAADCQAAAgUFcm91bmQAAgkAlgoEAAAJAGkCBQNwbXQAAgkAaQIFA3BtdAACAAADCQAAAgUFcm91bmQAAwkAlgoEAAAAAAUDcG10AAAJAJYKBAAAAAAAAAUDcG10ARN1cGRhdGVUZWFtUmlza09uQnV5Agh0ZWFtQ29kZQNwbXQECHJpc2tzS2V5CQEMa2V5VGVhbVJpc2tzAQUIdGVhbUNvZGUECHJpc2tzU3RyCQEGZ2V0U3RyAwUEdGhpcwUIcmlza3NLZXkJAQ1kYXRhVGVhbVJpc2tzBAIBMAIBMAIBMAIBMAQIcmlza3NEYXQJALUJAgUIcmlza3NTdHIFAVMECXRlYW1Sb3VuZAkBC3JlYWRUZWFtUm5kAQUIdGVhbUNvZGUECHBsdXNSaXNrCQEJY2FsY1Jpc2tzAgUJdGVhbVJvdW5kBQNwbXQEBXJpc2sxCQCkAwEJAGQCCQENcGFyc2VJbnRWYWx1ZQEJAJEDAgUIcmlza3NEYXQAAQgFCHBsdXNSaXNrAl8xBAVyaXNrMgkApAMBCQBkAgkBDXBhcnNlSW50VmFsdWUBCQCRAwIFCHJpc2tzRGF0AAIIBQhwbHVzUmlzawJfMgQFcmlzazMJAKQDAQkAZAIJAQ1wYXJzZUludFZhbHVlAQkAkQMCBQhyaXNrc0RhdAADCAUIcGx1c1Jpc2sCXzMEBXJpc2s0CQCkAwEJAGQCCQENcGFyc2VJbnRWYWx1ZQEJAJEDAgUIcmlza3NEYXQABAgFCHBsdXNSaXNrAl80CQELU3RyaW5nRW50cnkCBQhyaXNrc0tleQkBDWRhdGFUZWFtUmlza3MEBQVyaXNrMQUFcmlzazIFBXJpc2szBQVyaXNrNAEVdXBkYXRlVXNlclNoYXJlSW5UZWFtBAt1c2VyQWRkcmVzcwh0ZWFtQ29kZQt0ZWFtVGtuRGlmZgNwbXQEA2tleQkBC2tleVVzZXJUZWFtAgULdXNlckFkZHJlc3MFCHRlYW1Db2RlBARkYXRhCQC1CQIJAQZnZXRTdHIDBQR0aGlzBQNrZXkCCiVkJWRfXzBfXzAFAVMEDXRlYW1Ua25BbXROZXcJAKQDAQkAZAIJAQ1wYXJzZUludFZhbHVlAQkAkQMCBQRkYXRhAAEFC3RlYW1Ua25EaWZmBA1pbnZlc3RVc2RuTmV3CQCkAwEJAGQCCQENcGFyc2VJbnRWYWx1ZQEJAJEDAgUEZGF0YQACBQNwbXQJAQtTdHJpbmdFbnRyeQIFA2tleQkAuQkCCQDMCAICBCVkJWQJAMwIAgUNdGVhbVRrbkFtdE5ldwkAzAgCBQ1pbnZlc3RVc2RuTmV3BQNuaWwFAVMBDWRhdGFUZWFtU3RhdHMHB2dhbWVOdW0Ed2lucwVkcmF3cwVsb3Nlcwhnb2Fsc0Zvcgxnb2Fsc0FnYWluc3QGcG9pbnRzCQC5CQIJAMwIAgIOJWQlZCVkJWQlZCVkJWQJAMwIAgkApAMBBQdnYW1lTnVtCQDMCAIJAKQDAQUEd2lucwkAzAgCCQCkAwEFBWRyYXdzCQDMCAIJAKQDAQUFbG9zZXMJAMwIAgkApAMBBQhnb2Fsc0ZvcgkAzAgCCQCkAwEFDGdvYWxzQWdhaW5zdAkAzAgCCQCkAwEFBnBvaW50cwUDbmlsBQFTARV1cGRhdGVTaW5nbGVUZWFtU3RhdHMCCHRlYW1Db2RlCHRlYW1EaWZmBANrZXkJAQxrZXlUZWFtU3RhdHMBBQh0ZWFtQ29kZQQEZGF0YQkAtQkCCQEGZ2V0U3RyAwUEdGhpcwUDa2V5CQENZGF0YVRlYW1TdGF0cwcAAAAAAAAAAAAAAAAAAAUBUwkBC1N0cmluZ0VudHJ5AgUDa2V5CQENZGF0YVRlYW1TdGF0cwcJAGQCCQENcGFyc2VJbnRWYWx1ZQEJAJEDAgUEZGF0YQABCAUIdGVhbURpZmYCXzEJAGQCCQENcGFyc2VJbnRWYWx1ZQEJAJEDAgUEZGF0YQACCAUIdGVhbURpZmYCXzIJAGQCCQENcGFyc2VJbnRWYWx1ZQEJAJEDAgUEZGF0YQADCAUIdGVhbURpZmYCXzMJAGQCCQENcGFyc2VJbnRWYWx1ZQEJAJEDAgUEZGF0YQAECAUIdGVhbURpZmYCXzQJAGQCCQENcGFyc2VJbnRWYWx1ZQEJAJEDAgUEZGF0YQAFCAUIdGVhbURpZmYCXzUJAGQCCQENcGFyc2VJbnRWYWx1ZQEJAJEDAgUEZGF0YQAGCAUIdGVhbURpZmYCXzYJAGQCCQENcGFyc2VJbnRWYWx1ZQEJAJEDAgUEZGF0YQAHCAUIdGVhbURpZmYCXzcBFHVwZGF0ZUJvdGhUZWFtc1N0YXRzBAxob21lVGVhbUNvZGUMYXdheVRlYW1Db2RlDWhvbWVUZWFtR29hbHMNYXdheVRlYW1Hb2FscwQKc3RhdHNBcnJheQMJAGYCBQ1ob21lVGVhbUdvYWxzBQ1hd2F5VGVhbUdvYWxzCQDMCAIJAJkKBwABAAEAAAAABQ1ob21lVGVhbUdvYWxzBQ1hd2F5VGVhbUdvYWxzAAMJAMwIAgkAmQoHAAEAAAAAAAEFDWF3YXlUZWFtR29hbHMFDWhvbWVUZWFtR29hbHMAAAUDbmlsAwkAZgIFDWF3YXlUZWFtR29hbHMFDWhvbWVUZWFtR29hbHMJAMwIAgkAmQoHAAEAAAAAAAEFDWhvbWVUZWFtR29hbHMFDWF3YXlUZWFtR29hbHMAAAkAzAgCCQCZCgcAAQABAAAAAAUNYXdheVRlYW1Hb2FscwUNaG9tZVRlYW1Hb2FscwADBQNuaWwJAMwIAgkAmQoHAAEAAAABAAAFDWhvbWVUZWFtR29hbHMFDWF3YXlUZWFtR29hbHMAAQkAzAgCCQCZCgcAAQAAAAEAAAUNYXdheVRlYW1Hb2FscwUNaG9tZVRlYW1Hb2FscwABBQNuaWwEDGhvbWVUZWFtRGlmZgkAkQMCBQpzdGF0c0FycmF5AAAEDGF3YXlUZWFtRGlmZgkAkQMCBQpzdGF0c0FycmF5AAEJAMwIAgkBFXVwZGF0ZVNpbmdsZVRlYW1TdGF0cwIFDGhvbWVUZWFtQ29kZQUMaG9tZVRlYW1EaWZmCQDMCAIJARV1cGRhdGVTaW5nbGVUZWFtU3RhdHMCBQxhd2F5VGVhbUNvZGUFDGF3YXlUZWFtRGlmZgUDbmlsARd1cGRhdGVUZWFtc0NhcHNBbmRSaXNrcwQMaG9tZVRlYW1Db2RlDGF3YXlUZWFtQ29kZQ1ob21lVGVhbUdvYWxzDWF3YXlUZWFtR29hbHMEDWhvbWVUZWFtUm91bmQJAQtyZWFkVGVhbVJuZAEFDGhvbWVUZWFtQ29kZQQNYXdheVRlYW1Sb3VuZAkBC3JlYWRUZWFtUm5kAQUMYXdheVRlYW1Db2RlAwkBAiE9AgUNaG9tZVRlYW1Sb3VuZAUNYXdheVRlYW1Sb3VuZAkAAgECG1RlYW1zIHJvdW5kcyBhcmUgbm90IGVxdWFscwQMaG9tZVJpc2tzS2V5CQEMa2V5VGVhbVJpc2tzAQUMaG9tZVRlYW1Db2RlBAxob21lUmlza3NEYXQJALUJAgkBBmdldFN0cgMFBHRoaXMFDGhvbWVSaXNrc0tleQkBDWRhdGFUZWFtUmlza3MEAgEwAgEwAgEwAgEwBQFTBAxhd2F5Umlza3NLZXkJAQxrZXlUZWFtUmlza3MBBQxhd2F5VGVhbUNvZGUEDGF3YXlSaXNrc0RhdAkAtQkCCQEGZ2V0U3RyAwUEdGhpcwUMYXdheVJpc2tzS2V5CQENZGF0YVRlYW1SaXNrcwQCATACATACATACATAFAVMECGhvbWVSaXNrCQENcGFyc2VJbnRWYWx1ZQEJAJEDAgUMaG9tZVJpc2tzRGF0BQ1ob21lVGVhbVJvdW5kBAhhd2F5UmlzawkBDXBhcnNlSW50VmFsdWUBCQCRAwIFDGF3YXlSaXNrc0RhdAUNYXdheVRlYW1Sb3VuZAQKaG9tZUNhcEtleQkBCmtleVRlYW1DYXABBQxob21lVGVhbUNvZGUEB2hvbWVDYXAJAQxnZXRJbnRPckZhaWwCBQR0aGlzBQpob21lQ2FwS2V5BAphd2F5Q2FwS2V5CQEKa2V5VGVhbUNhcAEFDGF3YXlUZWFtQ29kZQQHYXdheUNhcAkBDGdldEludE9yRmFpbAIFBHRoaXMFCmF3YXlDYXBLZXkEBGRpZmYDCQBmAgUNaG9tZVRlYW1Hb2FscwUNYXdheVRlYW1Hb2FscwkAzAgCCQCUCgIJAGQCBQhob21lUmlzawUIYXdheVJpc2sFCGF3YXlSaXNrCQDMCAIJAJQKAgAACQEBLQEFCGF3YXlSaXNrBQNuaWwDCQBmAgUNYXdheVRlYW1Hb2FscwUNaG9tZVRlYW1Hb2FscwkAzAgCCQCUCgIAAAkBAS0BBQhob21lUmlzawkAzAgCCQCUCgIJAGQCBQhob21lUmlzawUIYXdheVJpc2sFCGhvbWVSaXNrBQNuaWwJAMwIAgkAlAoCBQhob21lUmlzawAACQDMCAIJAJQKAgUIYXdheVJpc2sAAAUDbmlsBAhob21lRGlmZgkAkQMCBQRkaWZmAAAECGF3YXlEaWZmCQCRAwIFBGRpZmYAAQoBHHJlZnJlc2hUZWFtUmlza09uTWF0Y2hQbGF5ZWQDBGRhdGEFcm91bmQJcmlzazRkaWZmBAVyaXNrMQMJAAACAAEFBXJvdW5kAgEwCQCRAwIFBGRhdGEAAQQFcmlzazIDCQAAAgACBQVyb3VuZAIBMAkAkQMCBQRkYXRhAAIEBXJpc2szAwkAAAIAAwUFcm91bmQCATAJAJEDAgUEZGF0YQADBAVyaXNrNAkApAMBCQBkAgkBDXBhcnNlSW50VmFsdWUBCQCRAwIFBGRhdGEABAUJcmlzazRkaWZmCQENZGF0YVRlYW1SaXNrcwQFBXJpc2sxBQVyaXNrMgUFcmlzazMFBXJpc2s0CQDMCAIJAQtTdHJpbmdFbnRyeQIFDGhvbWVSaXNrc0tleQkBHHJlZnJlc2hUZWFtUmlza09uTWF0Y2hQbGF5ZWQDBQxob21lUmlza3NEYXQFDWhvbWVUZWFtUm91bmQIBQhob21lRGlmZgJfMQkAzAgCCQELU3RyaW5nRW50cnkCBQxhd2F5Umlza3NLZXkJARxyZWZyZXNoVGVhbVJpc2tPbk1hdGNoUGxheWVkAwUMYXdheVJpc2tzRGF0BQ1hd2F5VGVhbVJvdW5kCAUIYXdheURpZmYCXzEJAMwIAgkBDEludGVnZXJFbnRyeQIFCmhvbWVDYXBLZXkJAGQCBQdob21lQ2FwCAUIaG9tZURpZmYCXzIJAMwIAgkBDEludGVnZXJFbnRyeQIFCmF3YXlDYXBLZXkJAGQCBQdhd2F5Q2FwCAUIYXdheURpZmYCXzIFA25pbAMBaQEEaW5pdAEMcHJpY2VBc3NldElkBAZjaGVja3MJAMwIAgkBBGlzTWUBBQFpBQNuaWwDCQAAAgUGY2hlY2tzBQZjaGVja3MJAMwIAgkBC1N0cmluZ0VudHJ5AgkBEmtleUNmZ1ByaWNlQXNzZXRJZAAFDHByaWNlQXNzZXRJZAUDbmlsCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuAWkBB2J1eVRlYW0BCHRlYW1Db2RlBAR1c2VyCQClCAEIBQFpBmNhbGxlcgQDcG10CQCRAwIIBQFpCHBheW1lbnRzAAAEBnBtdEFtdAgFA3BtdAZhbW91bnQECnBtdEFzc2V0SWQIBQNwbXQHYXNzZXRJZAMJAQIhPQIJAJADAQgFAWkIcGF5bWVudHMAAQkAAgECFTEgcGF5bWVudCBpcyBleHBlY3RlZAMJAQIhPQIFCnBtdEFzc2V0SWQFBnVzZG5JZAkAAgECGGludmFsaWQgcGF5bWVudCBhc3NldCBpZAQMdGVhbVNjaGVkdWxlCQEMZ2V0U3RyT3JGYWlsAgUEdGhpcwkBD2tleVRlYW1TY2hlZHVsZQEFCHRlYW1Db2RlBAVyb3VuZAkBC3JlYWRUZWFtUm5kAQUIdGVhbUNvZGUEDm1hdGNoVGltZXN0YW1wCQENcGFyc2VJbnRWYWx1ZQEJAJEDAgkAtQkCBQx0ZWFtU2NoZWR1bGUFAVMFBXJvdW5kAwkAZgIJAGgCCQBoAgAeADwA6AcJAGUCBQ5tYXRjaFRpbWVzdGFtcAgFCWxhc3RCbG9jawl0aW1lc3RhbXAJAAIBAk5JbXBvc3NpYmxlIHRvIGJ1eSBzaGFyZSAtIG1hdGNoIGlzIGluIHByb2dyZXNzLiBQbGVhc2Ugd2FpdCBzY29yZSBmaW5hbGl6YXRpb24EB3RlYW1DYXAJAQxnZXRJbnRPckZhaWwCBQR0aGlzCQEKa2V5VGVhbUNhcAEFCHRlYW1Db2RlBAd0ZWFtVGtuCQEMZ2V0SW50T3JGYWlsAgUEdGhpcwkBCmtleVRlYW1Ua24BBQh0ZWFtQ29kZQQFcHJpY2UDCQECIT0CBQd0ZWFtVGtuAAAJAGsDBQd0ZWFtQ2FwBQNERUMFB3RlYW1Ua24FA0RFQwQOdGVhbVRrbkZvclVzZXIJAGsDBQZwbXRBbXQFA0RFQwUFcHJpY2UJAMwIAgkBDEludGVnZXJFbnRyeQIJAQprZXlUZWFtQ2FwAQUIdGVhbUNvZGUJAGQCBQd0ZWFtQ2FwBQZwbXRBbXQJAMwIAgkBDEludGVnZXJFbnRyeQIJAQprZXlUZWFtVGtuAQUIdGVhbUNvZGUJAGQCBQd0ZWFtVGtuBQ50ZWFtVGtuRm9yVXNlcgkAzAgCCQEVdXBkYXRlVXNlclNoYXJlSW5UZWFtBAUEdXNlcgUIdGVhbUNvZGUFDnRlYW1Ua25Gb3JVc2VyBQZwbXRBbXQJAMwIAgkBE3VwZGF0ZVRlYW1SaXNrT25CdXkCBQh0ZWFtQ29kZQUGcG10QW10BQNuaWwBaQEFc2NvcmUFBXJvdW5kDGhvbWVUZWFtQ29kZQxhd2F5VGVhbUNvZGUNaG9tZVRlYW1Hb2Fscw1hd2F5VGVhbUdvYWxzBAZjaGVja3MJAMwIAgkBBGlzTWUBBQFpBQNuaWwDCQAAAgUGY2hlY2tzBQZjaGVja3MEA2tleQkBCGtleU1hdGNoAwUFcm91bmQFDGhvbWVUZWFtQ29kZQUMYXdheVRlYW1Db2RlBARkYXRhCQC1CQIJAQxnZXRTdHJPckZhaWwCBQR0aGlzBQNrZXkFAVMEBHRpbWUJAQ1wYXJzZUludFZhbHVlAQkAkQMCBQRkYXRhAAIEBnN0YXR1cwkAkQMCBQRkYXRhAAMEDWhvbWVUZWFtUm91bmQJAQtyZWFkVGVhbVJuZAEFDGhvbWVUZWFtQ29kZQQNYXdheVRlYW1Sb3VuZAkBC3JlYWRUZWFtUm5kAQUMYXdheVRlYW1Db2RlAwkBAiE9AgUGc3RhdHVzBQlTQ0hFRFVMRUQJAAIBAiBNYXRjaCBpcyBub3QgaW4gU0NIRURVTEVEIHN0YXR1cwMJAGYCCQBkAgUEdGltZQkAaAIJAGgCCQBoAgADADwAPADoBwgFCWxhc3RCbG9jawl0aW1lc3RhbXAJAAIBAi1XYWl0IDNoIGFmdGVyIG1hdGNoIHN0YXJ0IGJlZm9yZSBzY29yZSB1cGRhdGUDCQECIT0CBQ1ob21lVGVhbVJvdW5kBQVyb3VuZAkAAgEJAKwCAgkArAICCQCsAgICLkhvbWUgdGVhbSdzIHJvdW5kIGRvZXNuJ3QgbWF0Y2ggcGFzc2VkIHJvdW5kOiAJAKQDAQUFcm91bmQCBCAhPSAJAKQDAQUNaG9tZVRlYW1Sb3VuZAMJAQIhPQIFDWF3YXlUZWFtUm91bmQFBXJvdW5kCQACAQkArAICCQCsAgIJAKwCAgIuQXdheSB0ZWFtJ3Mgcm91bmQgZG9lc24ndCBtYXRjaCBwYXNzZWQgcm91bmQ6IAkApAMBBQVyb3VuZAIEICE9IAkApAMBBQ1hd2F5VGVhbVJvdW5kCQDNCAIJAM0IAgkAzQgCCQDOCAIJARR1cGRhdGVCb3RoVGVhbXNTdGF0cwQFDGhvbWVUZWFtQ29kZQUMYXdheVRlYW1Db2RlBQ1ob21lVGVhbUdvYWxzBQ1hd2F5VGVhbUdvYWxzCQEXdXBkYXRlVGVhbXNDYXBzQW5kUmlza3MEBQxob21lVGVhbUNvZGUFDGF3YXlUZWFtQ29kZQUNaG9tZVRlYW1Hb2FscwUNYXdheVRlYW1Hb2FscwkBC1N0cmluZ0VudHJ5AgUDa2V5CQEJZGF0YU1hdGNoAwUEZGF0YQUNaG9tZVRlYW1Hb2FscwUNYXdheVRlYW1Hb2FscwkBDXVwZGF0ZVRlYW1SbmQBBQxob21lVGVhbUNvZGUJAQ11cGRhdGVUZWFtUm5kAQUMYXdheVRlYW1Db2RlCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuAIY5k4A=", "chainId": 84, "height": 2325527, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: 6z9Cgr8TuTMgUjKTpFiE9G5FZTvs8NxdokNtxJLcx5xA Next: E6HT1GeG28UodNYppePkzEsYNzKyBjMuXwrcCFCF9mAr Diff:
OldNewDifferences
55
66 let b = 1000000
77
8-func c (d,e) = valueOrErrorMessage(getInteger(d, e), (((toString(d) + ".") + e) + " is not defined"))
8+let c = "SCHEDULED"
9+
10+let d = "PLAYED"
11+
12+func e (f,g) = valueOrErrorMessage(getInteger(f, g), (((toString(f) + ".") + g) + " is not defined"))
913
1014
11-func f (d,e) = valueOrErrorMessage(getString(d, e), (((toString(d) + ".") + e) + " is not defined"))
15+func h (f,g) = valueOrErrorMessage(getString(f, g), (((toString(f) + ".") + g) + " is not defined"))
1216
1317
14-func g (d,e,h) = valueOrElse(getInteger(d, e), h)
18+func i (f,g,j) = valueOrElse(getInteger(f, g), j)
1519
1620
17-func i (d,e,h) = valueOrElse(getString(d, e), h)
21+func k (f,g,j) = valueOrElse(getString(f, g), j)
1822
1923
20-func j () = "%s%s__cfg__priceAsset"
24+func l () = "%s%s__cfg__priceAsset"
2125
2226
23-let k = fromBase58String(i(this, j(), "HezsdQuRDtzksAYUy97gfhKy7Z1NW2uXYSHA3bgqenNZ"))
27+let m = fromBase58String(k(this, l(), "HezsdQuRDtzksAYUy97gfhKy7Z1NW2uXYSHA3bgqenNZ"))
2428
25-func l (m) = makeString(["%s%s__teamCapitalization", m], a)
29+func n (o) = makeString(["%s%s__teamCapitalization", o], a)
2630
2731
28-func n (m) = makeString(["%s%s__teamTokens", m], a)
32+func p (o) = makeString(["%s%s__teamTokens", o], a)
2933
3034
31-func o (m) = makeString(["%s%s__teamRound", m], a)
35+func q (o) = makeString(["%s%s__teamRound", o], a)
3236
3337
34-func p (m) = makeString(["%s%s__teamRisks", m], a)
38+func r (o) = makeString(["%s%s__teamRisks", o], a)
3539
3640
37-func q (r,m) = makeString(["%s%s%s__userTeam", m, r], a)
41+func s (o) = makeString(["%s%s__teamSchedule", o], a)
3842
3943
40-func s (t,u,v,w) = makeString(["%d%d%d%d", t, u, v, w], a)
44+func t (o) = makeString(["%s%s__teamStats", o], a)
4145
4246
43-func x (m) = g(this, o(m), 1)
47+func u (v,o) = makeString(["%s%s%s__userTeam", o, v], a)
4448
4549
46-func y (z) = if ((this != z.caller))
50+func w (x,y,z) = makeString(["%s%d%s%s__match", toString(x), y, z], a)
51+
52+
53+func A (B,C,D,E) = makeString(["%d%d%d%d", B, C, D, E], a)
54+
55+
56+func F (G,H,I) = makeString(["%d%d%s%d%d", G[1], G[2], d, toString(H), toString(I)], a)
57+
58+
59+func J (o) = i(this, q(o), 1)
60+
61+
62+func K (o) = {
63+ let L = J(o)
64+ IntegerEntry(q(o), (L + 1))
65+ }
66+
67+
68+func M (N) = if ((this != N.caller))
4769 then throw("not allowed")
4870 else true
4971
5072
51-func A (B,C) = if ((B == 1))
52- then $Tuple4((C / 3), (C / 3), (C / 3), 0)
53- else if ((B == 2))
54- then $Tuple4(0, (C / 2), (C / 2), 0)
55- else if ((B == 3))
56- then $Tuple4(0, 0, C, 0)
57- else $Tuple4(0, 0, 0, C)
73+func O (x,P) = if ((x == 1))
74+ then $Tuple4((P / 3), (P / 3), (P / 3), 0)
75+ else if ((x == 2))
76+ then $Tuple4(0, (P / 2), (P / 2), 0)
77+ else if ((x == 3))
78+ then $Tuple4(0, 0, P, 0)
79+ else $Tuple4(0, 0, 0, P)
5880
5981
60-func D (m,C) = {
61- let E = p(m)
62- let F = i(this, E, s("0", "0", "0", "0"))
63- let G = split(F, a)
64- let H = x(m)
65- let I = A(H, C)
66- let t = toString((parseIntValue(G[1]) + I._1))
67- let u = toString((parseIntValue(G[2]) + I._2))
68- let v = toString((parseIntValue(G[3]) + I._3))
69- let w = toString((parseIntValue(G[4]) + I._4))
70- StringEntry(E, s(t, u, v, w))
82+func Q (o,P) = {
83+ let R = r(o)
84+ let S = k(this, R, A("0", "0", "0", "0"))
85+ let T = split(S, a)
86+ let U = J(o)
87+ let V = O(U, P)
88+ let B = toString((parseIntValue(T[1]) + V._1))
89+ let C = toString((parseIntValue(T[2]) + V._2))
90+ let D = toString((parseIntValue(T[3]) + V._3))
91+ let E = toString((parseIntValue(T[4]) + V._4))
92+ StringEntry(R, A(B, C, D, E))
7193 }
7294
7395
74-func J (K,m,L,C) = {
75- let e = q(K, m)
76- let M = split(i(this, e, "%d%d__0__0"), a)
77- let N = toString((parseIntValue(M[1]) + L))
78- let O = toString((parseIntValue(M[2]) + C))
79- StringEntry(e, makeString(["%d%d", N, O], a))
96+func W (X,o,Y,P) = {
97+ let g = u(X, o)
98+ let G = split(k(this, g, "%d%d__0__0"), a)
99+ let Z = toString((parseIntValue(G[1]) + Y))
100+ let aa = toString((parseIntValue(G[2]) + P))
101+ StringEntry(g, makeString(["%d%d", Z, aa], a))
80102 }
81103
82104
83-@Callable(z)
84-func init (P) = {
85- let Q = [y(z)]
86- if ((Q == Q))
87- then [StringEntry(j(), P)]
105+func ab (ac,ad,ae,af,ag,ah,ai) = makeString(["%d%d%d%d%d%d%d", toString(ac), toString(ad), toString(ae), toString(af), toString(ag), toString(ah), toString(ai)], a)
106+
107+
108+func aj (o,ak) = {
109+ let g = t(o)
110+ let G = split(k(this, g, ab(0, 0, 0, 0, 0, 0, 0)), a)
111+ StringEntry(g, ab((parseIntValue(G[1]) + ak._1), (parseIntValue(G[2]) + ak._2), (parseIntValue(G[3]) + ak._3), (parseIntValue(G[4]) + ak._4), (parseIntValue(G[5]) + ak._5), (parseIntValue(G[6]) + ak._6), (parseIntValue(G[7]) + ak._7)))
112+ }
113+
114+
115+func al (y,z,H,I) = {
116+ let am = if ((H > I))
117+ then [$Tuple7(1, 1, 0, 0, H, I, 3), $Tuple7(1, 0, 0, 1, I, H, 0)]
118+ else if ((I > H))
119+ then [$Tuple7(1, 0, 0, 1, H, I, 0), $Tuple7(1, 1, 0, 0, I, H, 3)]
120+ else [$Tuple7(1, 0, 1, 0, H, I, 1), $Tuple7(1, 0, 1, 0, I, H, 1)]
121+ let an = am[0]
122+ let ao = am[1]
123+[aj(y, an), aj(z, ao)]
124+ }
125+
126+
127+func ap (y,z,H,I) = {
128+ let aq = J(y)
129+ let ar = J(z)
130+ if ((aq != ar))
131+ then throw("Teams rounds are not equals")
132+ else {
133+ let as = r(y)
134+ let at = split(k(this, as, A("0", "0", "0", "0")), a)
135+ let au = r(z)
136+ let av = split(k(this, au, A("0", "0", "0", "0")), a)
137+ let aw = parseIntValue(at[aq])
138+ let ax = parseIntValue(av[ar])
139+ let ay = n(y)
140+ let az = e(this, ay)
141+ let aA = n(z)
142+ let aB = e(this, aA)
143+ let aC = if ((H > I))
144+ then [$Tuple2((aw + ax), ax), $Tuple2(0, -(ax))]
145+ else if ((I > H))
146+ then [$Tuple2(0, -(aw)), $Tuple2((aw + ax), aw)]
147+ else [$Tuple2(aw, 0), $Tuple2(ax, 0)]
148+ let aD = aC[0]
149+ let aE = aC[1]
150+ func aF (G,x,aG) = {
151+ let B = if ((1 == x))
152+ then "0"
153+ else G[1]
154+ let C = if ((2 == x))
155+ then "0"
156+ else G[2]
157+ let D = if ((3 == x))
158+ then "0"
159+ else G[3]
160+ let E = toString((parseIntValue(G[4]) + aG))
161+ A(B, C, D, E)
162+ }
163+
164+[StringEntry(as, aF(at, aq, aD._1)), StringEntry(au, aF(av, ar, aE._1)), IntegerEntry(ay, (az + aD._2)), IntegerEntry(aA, (aB + aE._2))]
165+ }
166+ }
167+
168+
169+@Callable(N)
170+func init (aH) = {
171+ let aI = [M(N)]
172+ if ((aI == aI))
173+ then [StringEntry(l(), aH)]
88174 else throw("Strict value is not equal to itself.")
89175 }
90176
91177
92178
93-@Callable(z)
94-func buyTeam (m) = {
95- let r = toString(z.caller)
96- let C = z.payments[0]
97- let R = C.amount
98- let S = C.assetId
99- if ((size(z.payments) != 1))
179+@Callable(N)
180+func buyTeam (o) = {
181+ let v = toString(N.caller)
182+ let P = N.payments[0]
183+ let aJ = P.amount
184+ let aK = P.assetId
185+ if ((size(N.payments) != 1))
100186 then throw("1 payment is expected")
101- else if ((S != k))
187+ else if ((aK != m))
102188 then throw("invalid payment asset id")
103189 else {
104- let T = c(this, l(m))
105- let U = c(this, n(m))
106- let V = if ((U != 0))
107- then fraction(T, b, U)
108- else b
109- let W = fraction(R, b, V)
110-[IntegerEntry(l(m), (T + R)), IntegerEntry(n(m), (U + W)), J(r, m, W, R), D(m, R)]
190+ let aL = h(this, s(o))
191+ let x = J(o)
192+ let aM = parseIntValue(split(aL, a)[x])
193+ if ((((30 * 60) * 1000) > (aM - lastBlock.timestamp)))
194+ then throw("Impossible to buy share - match is in progress. Please wait score finalization")
195+ else {
196+ let aN = e(this, n(o))
197+ let aO = e(this, p(o))
198+ let aP = if ((aO != 0))
199+ then fraction(aN, b, aO)
200+ else b
201+ let aQ = fraction(aJ, b, aP)
202+[IntegerEntry(n(o), (aN + aJ)), IntegerEntry(p(o), (aO + aQ)), W(v, o, aQ, aJ), Q(o, aJ)]
203+ }
111204 }
112205 }
113206
114207
115208
116-@Callable(z)
117-func score (B,X,Y,Z,aa) = nil
209+@Callable(N)
210+func score (x,y,z,H,I) = {
211+ let aI = [M(N)]
212+ if ((aI == aI))
213+ then {
214+ let g = w(x, y, z)
215+ let G = split(h(this, g), a)
216+ let aR = parseIntValue(G[2])
217+ let aS = G[3]
218+ let aq = J(y)
219+ let ar = J(z)
220+ if ((aS != c))
221+ then throw("Match is not in SCHEDULED status")
222+ else if (((aR + (((3 * 60) * 60) * 1000)) > lastBlock.timestamp))
223+ then throw("Wait 3h after match start before score update")
224+ else if ((aq != x))
225+ then throw(((("Home team's round doesn't match passed round: " + toString(x)) + " != ") + toString(aq)))
226+ else if ((ar != x))
227+ then throw(((("Away team's round doesn't match passed round: " + toString(x)) + " != ") + toString(ar)))
228+ else ((((al(y, z, H, I) ++ ap(y, z, H, I)) :+ StringEntry(g, F(G, H, I))) :+ K(y)) :+ K(z))
229+ }
230+ else throw("Strict value is not equal to itself.")
231+ }
118232
119233
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 6 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 let a = "__"
55
66 let b = 1000000
77
8-func c (d,e) = valueOrErrorMessage(getInteger(d, e), (((toString(d) + ".") + e) + " is not defined"))
8+let c = "SCHEDULED"
9+
10+let d = "PLAYED"
11+
12+func e (f,g) = valueOrErrorMessage(getInteger(f, g), (((toString(f) + ".") + g) + " is not defined"))
913
1014
11-func f (d,e) = valueOrErrorMessage(getString(d, e), (((toString(d) + ".") + e) + " is not defined"))
15+func h (f,g) = valueOrErrorMessage(getString(f, g), (((toString(f) + ".") + g) + " is not defined"))
1216
1317
14-func g (d,e,h) = valueOrElse(getInteger(d, e), h)
18+func i (f,g,j) = valueOrElse(getInteger(f, g), j)
1519
1620
17-func i (d,e,h) = valueOrElse(getString(d, e), h)
21+func k (f,g,j) = valueOrElse(getString(f, g), j)
1822
1923
20-func j () = "%s%s__cfg__priceAsset"
24+func l () = "%s%s__cfg__priceAsset"
2125
2226
23-let k = fromBase58String(i(this, j(), "HezsdQuRDtzksAYUy97gfhKy7Z1NW2uXYSHA3bgqenNZ"))
27+let m = fromBase58String(k(this, l(), "HezsdQuRDtzksAYUy97gfhKy7Z1NW2uXYSHA3bgqenNZ"))
2428
25-func l (m) = makeString(["%s%s__teamCapitalization", m], a)
29+func n (o) = makeString(["%s%s__teamCapitalization", o], a)
2630
2731
28-func n (m) = makeString(["%s%s__teamTokens", m], a)
32+func p (o) = makeString(["%s%s__teamTokens", o], a)
2933
3034
31-func o (m) = makeString(["%s%s__teamRound", m], a)
35+func q (o) = makeString(["%s%s__teamRound", o], a)
3236
3337
34-func p (m) = makeString(["%s%s__teamRisks", m], a)
38+func r (o) = makeString(["%s%s__teamRisks", o], a)
3539
3640
37-func q (r,m) = makeString(["%s%s%s__userTeam", m, r], a)
41+func s (o) = makeString(["%s%s__teamSchedule", o], a)
3842
3943
40-func s (t,u,v,w) = makeString(["%d%d%d%d", t, u, v, w], a)
44+func t (o) = makeString(["%s%s__teamStats", o], a)
4145
4246
43-func x (m) = g(this, o(m), 1)
47+func u (v,o) = makeString(["%s%s%s__userTeam", o, v], a)
4448
4549
46-func y (z) = if ((this != z.caller))
50+func w (x,y,z) = makeString(["%s%d%s%s__match", toString(x), y, z], a)
51+
52+
53+func A (B,C,D,E) = makeString(["%d%d%d%d", B, C, D, E], a)
54+
55+
56+func F (G,H,I) = makeString(["%d%d%s%d%d", G[1], G[2], d, toString(H), toString(I)], a)
57+
58+
59+func J (o) = i(this, q(o), 1)
60+
61+
62+func K (o) = {
63+ let L = J(o)
64+ IntegerEntry(q(o), (L + 1))
65+ }
66+
67+
68+func M (N) = if ((this != N.caller))
4769 then throw("not allowed")
4870 else true
4971
5072
51-func A (B,C) = if ((B == 1))
52- then $Tuple4((C / 3), (C / 3), (C / 3), 0)
53- else if ((B == 2))
54- then $Tuple4(0, (C / 2), (C / 2), 0)
55- else if ((B == 3))
56- then $Tuple4(0, 0, C, 0)
57- else $Tuple4(0, 0, 0, C)
73+func O (x,P) = if ((x == 1))
74+ then $Tuple4((P / 3), (P / 3), (P / 3), 0)
75+ else if ((x == 2))
76+ then $Tuple4(0, (P / 2), (P / 2), 0)
77+ else if ((x == 3))
78+ then $Tuple4(0, 0, P, 0)
79+ else $Tuple4(0, 0, 0, P)
5880
5981
60-func D (m,C) = {
61- let E = p(m)
62- let F = i(this, E, s("0", "0", "0", "0"))
63- let G = split(F, a)
64- let H = x(m)
65- let I = A(H, C)
66- let t = toString((parseIntValue(G[1]) + I._1))
67- let u = toString((parseIntValue(G[2]) + I._2))
68- let v = toString((parseIntValue(G[3]) + I._3))
69- let w = toString((parseIntValue(G[4]) + I._4))
70- StringEntry(E, s(t, u, v, w))
82+func Q (o,P) = {
83+ let R = r(o)
84+ let S = k(this, R, A("0", "0", "0", "0"))
85+ let T = split(S, a)
86+ let U = J(o)
87+ let V = O(U, P)
88+ let B = toString((parseIntValue(T[1]) + V._1))
89+ let C = toString((parseIntValue(T[2]) + V._2))
90+ let D = toString((parseIntValue(T[3]) + V._3))
91+ let E = toString((parseIntValue(T[4]) + V._4))
92+ StringEntry(R, A(B, C, D, E))
7193 }
7294
7395
74-func J (K,m,L,C) = {
75- let e = q(K, m)
76- let M = split(i(this, e, "%d%d__0__0"), a)
77- let N = toString((parseIntValue(M[1]) + L))
78- let O = toString((parseIntValue(M[2]) + C))
79- StringEntry(e, makeString(["%d%d", N, O], a))
96+func W (X,o,Y,P) = {
97+ let g = u(X, o)
98+ let G = split(k(this, g, "%d%d__0__0"), a)
99+ let Z = toString((parseIntValue(G[1]) + Y))
100+ let aa = toString((parseIntValue(G[2]) + P))
101+ StringEntry(g, makeString(["%d%d", Z, aa], a))
80102 }
81103
82104
83-@Callable(z)
84-func init (P) = {
85- let Q = [y(z)]
86- if ((Q == Q))
87- then [StringEntry(j(), P)]
105+func ab (ac,ad,ae,af,ag,ah,ai) = makeString(["%d%d%d%d%d%d%d", toString(ac), toString(ad), toString(ae), toString(af), toString(ag), toString(ah), toString(ai)], a)
106+
107+
108+func aj (o,ak) = {
109+ let g = t(o)
110+ let G = split(k(this, g, ab(0, 0, 0, 0, 0, 0, 0)), a)
111+ StringEntry(g, ab((parseIntValue(G[1]) + ak._1), (parseIntValue(G[2]) + ak._2), (parseIntValue(G[3]) + ak._3), (parseIntValue(G[4]) + ak._4), (parseIntValue(G[5]) + ak._5), (parseIntValue(G[6]) + ak._6), (parseIntValue(G[7]) + ak._7)))
112+ }
113+
114+
115+func al (y,z,H,I) = {
116+ let am = if ((H > I))
117+ then [$Tuple7(1, 1, 0, 0, H, I, 3), $Tuple7(1, 0, 0, 1, I, H, 0)]
118+ else if ((I > H))
119+ then [$Tuple7(1, 0, 0, 1, H, I, 0), $Tuple7(1, 1, 0, 0, I, H, 3)]
120+ else [$Tuple7(1, 0, 1, 0, H, I, 1), $Tuple7(1, 0, 1, 0, I, H, 1)]
121+ let an = am[0]
122+ let ao = am[1]
123+[aj(y, an), aj(z, ao)]
124+ }
125+
126+
127+func ap (y,z,H,I) = {
128+ let aq = J(y)
129+ let ar = J(z)
130+ if ((aq != ar))
131+ then throw("Teams rounds are not equals")
132+ else {
133+ let as = r(y)
134+ let at = split(k(this, as, A("0", "0", "0", "0")), a)
135+ let au = r(z)
136+ let av = split(k(this, au, A("0", "0", "0", "0")), a)
137+ let aw = parseIntValue(at[aq])
138+ let ax = parseIntValue(av[ar])
139+ let ay = n(y)
140+ let az = e(this, ay)
141+ let aA = n(z)
142+ let aB = e(this, aA)
143+ let aC = if ((H > I))
144+ then [$Tuple2((aw + ax), ax), $Tuple2(0, -(ax))]
145+ else if ((I > H))
146+ then [$Tuple2(0, -(aw)), $Tuple2((aw + ax), aw)]
147+ else [$Tuple2(aw, 0), $Tuple2(ax, 0)]
148+ let aD = aC[0]
149+ let aE = aC[1]
150+ func aF (G,x,aG) = {
151+ let B = if ((1 == x))
152+ then "0"
153+ else G[1]
154+ let C = if ((2 == x))
155+ then "0"
156+ else G[2]
157+ let D = if ((3 == x))
158+ then "0"
159+ else G[3]
160+ let E = toString((parseIntValue(G[4]) + aG))
161+ A(B, C, D, E)
162+ }
163+
164+[StringEntry(as, aF(at, aq, aD._1)), StringEntry(au, aF(av, ar, aE._1)), IntegerEntry(ay, (az + aD._2)), IntegerEntry(aA, (aB + aE._2))]
165+ }
166+ }
167+
168+
169+@Callable(N)
170+func init (aH) = {
171+ let aI = [M(N)]
172+ if ((aI == aI))
173+ then [StringEntry(l(), aH)]
88174 else throw("Strict value is not equal to itself.")
89175 }
90176
91177
92178
93-@Callable(z)
94-func buyTeam (m) = {
95- let r = toString(z.caller)
96- let C = z.payments[0]
97- let R = C.amount
98- let S = C.assetId
99- if ((size(z.payments) != 1))
179+@Callable(N)
180+func buyTeam (o) = {
181+ let v = toString(N.caller)
182+ let P = N.payments[0]
183+ let aJ = P.amount
184+ let aK = P.assetId
185+ if ((size(N.payments) != 1))
100186 then throw("1 payment is expected")
101- else if ((S != k))
187+ else if ((aK != m))
102188 then throw("invalid payment asset id")
103189 else {
104- let T = c(this, l(m))
105- let U = c(this, n(m))
106- let V = if ((U != 0))
107- then fraction(T, b, U)
108- else b
109- let W = fraction(R, b, V)
110-[IntegerEntry(l(m), (T + R)), IntegerEntry(n(m), (U + W)), J(r, m, W, R), D(m, R)]
190+ let aL = h(this, s(o))
191+ let x = J(o)
192+ let aM = parseIntValue(split(aL, a)[x])
193+ if ((((30 * 60) * 1000) > (aM - lastBlock.timestamp)))
194+ then throw("Impossible to buy share - match is in progress. Please wait score finalization")
195+ else {
196+ let aN = e(this, n(o))
197+ let aO = e(this, p(o))
198+ let aP = if ((aO != 0))
199+ then fraction(aN, b, aO)
200+ else b
201+ let aQ = fraction(aJ, b, aP)
202+[IntegerEntry(n(o), (aN + aJ)), IntegerEntry(p(o), (aO + aQ)), W(v, o, aQ, aJ), Q(o, aJ)]
203+ }
111204 }
112205 }
113206
114207
115208
116-@Callable(z)
117-func score (B,X,Y,Z,aa) = nil
209+@Callable(N)
210+func score (x,y,z,H,I) = {
211+ let aI = [M(N)]
212+ if ((aI == aI))
213+ then {
214+ let g = w(x, y, z)
215+ let G = split(h(this, g), a)
216+ let aR = parseIntValue(G[2])
217+ let aS = G[3]
218+ let aq = J(y)
219+ let ar = J(z)
220+ if ((aS != c))
221+ then throw("Match is not in SCHEDULED status")
222+ else if (((aR + (((3 * 60) * 60) * 1000)) > lastBlock.timestamp))
223+ then throw("Wait 3h after match start before score update")
224+ else if ((aq != x))
225+ then throw(((("Home team's round doesn't match passed round: " + toString(x)) + " != ") + toString(aq)))
226+ else if ((ar != x))
227+ then throw(((("Away team's round doesn't match passed round: " + toString(x)) + " != ") + toString(ar)))
228+ else ((((al(y, z, H, I) ++ ap(y, z, H, I)) :+ StringEntry(g, F(G, H, I))) :+ K(y)) :+ K(z))
229+ }
230+ else throw("Strict value is not equal to itself.")
231+ }
118232
119233

github/deemru/w8io/169f3d6 
56.57 ms