tx · 6RZiqs7RERs6TSjcGiamz6UN24nST3SuSnMvVVT6YW4q

3N9tKixzqTYWnEXQxrDQ5pBTGvQd6sFsvmV:  -0.01000000 Waves

2023.09.08 11:37 [2746183] smart account 3N9tKixzqTYWnEXQxrDQ5pBTGvQd6sFsvmV > SELF 0.00000000 Waves

{ "type": 13, "id": "6RZiqs7RERs6TSjcGiamz6UN24nST3SuSnMvVVT6YW4q", "fee": 1000000, "feeAssetId": null, "timestamp": 1694162349521, "version": 2, "chainId": 84, "sender": "3N9tKixzqTYWnEXQxrDQ5pBTGvQd6sFsvmV", "senderPublicKey": "DS6HkopS9zypvxX6VhkdNvv6v4wcPZuChRvTwKJeacxE", "proofs": [ "5urT4p21ZmwRTxVffrJ9yUGmeMyfokY5Qj3a2cnaPAy61y13fnWZho1s1kpuHCvSzFztbwcNYgE15Db57CyqJ9xJ" ], "script": "base64:BgIdCAISBAoCCAgSBQoDCAgIEgQKAggIEgQKAggIEgAMABFBSV9UT0tFTl9BU1NFVF9JRAEgk+FyOHEEm2rommMfBCS3ZFOXLD68ZguDdK9ouySN4kIAC1NUQVRVU19PUEVOAgRvcGVuABJTVEFUVVNfQ0hFQ0tFRF9PVVQCC2NoZWNrZWRfb3V0AAtTVEFUVVNfRE9ORQIEZG9uZQAOQ0hFQ0tFRF9PVVRfQlkCEF9jaGVja2VkX291dF9ieV8AE1NJTVBMRV9DSEFUR1BUX1RBU0sCE3NpbXBsZV9DaGF0R1BUX3Rhc2sAEENIRUNLX09VVF9IRUlHSFQCEl9jaGVja19vdXRfaGVpZ2h0XwAPUkVHSVNURVJfSEVJR0hUAhFfcmVnaXN0ZXJfaGVpZ2h0XwANQ09NTUlUX0hFSUdIVAIPX2NvbW1pdF9oZWlnaHRfAQ9jYW5CZUNoZWNrZWRPdXQCBnRhc2tJZAR0eXBlBAZzdGF0dXMJAJ0IAgUEdGhpcwkArAICCQCsAgIFBnRhc2tJZAIIX3N0YXR1c18FBHR5cGUJAAACBQZzdGF0dXMFC1NUQVRVU19PUEVOAQ5pc0NvcnJlY3RBZ2VudAMGdGFza0lkB2FnZW50SWQEdHlwZQQPY2hlY2tvdXRBZ2VudElkCQCdCAIFBHRoaXMJAKwCAgkArAICBQZ0YXNrSWQFDkNIRUNLRURfT1VUX0JZBQR0eXBlCQAAAgUPY2hlY2tvdXRBZ2VudElkBQdhZ2VudElkAQ9nZXRQcmljZUZvclR5cGUBBHR5cGUEByRtYXRjaDAJAJoIAgUEdGhpcwkArAICAgZwcmljZV8FBHR5cGUDCQABAgUHJG1hdGNoMAIDSW50BAFpBQckbWF0Y2gwBQFpAP///////////wEFAWkBDHJlZ2lzdGVyVGFzawILZGVzY3JpcHRpb24EdHlwZQQQbnVtYmVyT2ZQYXltZW50cwkAkAMBCAUBaQhwYXltZW50cwMJAQIhPQIFEG51bWJlck9mUGF5bWVudHMAAQkAAgECElBheW1lbnQgbmVjZXNzYXJ5IQQPY2FsbGVyUHVibGljS2V5CQDYBAEIBQFpD2NhbGxlclB1YmxpY0tleQQEdHhJZAkA2AQBCAUBaQ10cmFuc2FjdGlvbklkBAdwYXltZW50CQCRAwIIBQFpCHBheW1lbnRzAAAEA2ZlZQgFB3BheW1lbnQGYW1vdW50BApmZWVBc3NldElkCAUHcGF5bWVudAdhc3NldElkBAZ0YXNrSWQJAKwCAgkArAICBQR0eElkAgFfBQ9jYWxsZXJQdWJsaWNLZXkECXRpbWVzdGFtcAgFCWxhc3RCbG9jawl0aW1lc3RhbXAEBm1pbkZlZQkBD2dldFByaWNlRm9yVHlwZQEFBHR5cGUDCQECIT0CBQpmZWVBc3NldElkBRFBSV9UT0tFTl9BU1NFVF9JRAkAAgECJlBheW1lbnQgb25seSBwb3NzaWJsZSBpbiB0aGUgQUkgVG9rZW4hAwkAAAIFBm1pbkZlZQD///////////8BCQACAQIYVGFzayB0eXBlIG5vdCBzdXBwb3J0ZWQhAwkAZgIFBm1pbkZlZQUDZmVlCQACAQkArAICCQCsAgICHVBheW1lbnQgbmVlZHMgdG8gYmUgYXQgbGVhc3QgCQCkAwEFBm1pbkZlZQIKIEFJIFRva2VuIQkAzAgCCQELU3RyaW5nRW50cnkCCQCsAgIJAKwCAgUGdGFza0lkAg1fZGVzY3JpcHRpb25fBQR0eXBlBQtkZXNjcmlwdGlvbgkAzAgCCQELU3RyaW5nRW50cnkCCQCsAgIJAKwCAgUEdHhJZAINX2luaXRpYWxpemVyXwUEdHlwZQUPY2FsbGVyUHVibGljS2V5CQDMCAIJAQtTdHJpbmdFbnRyeQIJAKwCAgkArAICBQZ0YXNrSWQCCF9zdGF0dXNfBQR0eXBlBQtTVEFUVVNfT1BFTgkAzAgCCQELU3RyaW5nRW50cnkCCQCsAgIFBnRhc2tJZAIFX3R5cGUFBHR5cGUJAMwIAgkBDEludGVnZXJFbnRyeQIJAKwCAgkArAICBQZ0YXNrSWQFD1JFR0lTVEVSX0hFSUdIVAUEdHlwZQUGaGVpZ2h0CQDMCAIJAQxJbnRlZ2VyRW50cnkCCQCsAgIJAKwCAgUGdGFza0lkAhRfcmVnaXN0ZXJfdGltZXN0YW1wXwUEdHlwZQUJdGltZXN0YW1wCQDMCAIJAQxCb29sZWFuRW50cnkCCQCsAgIJAKwCAgkArAICAgVvcGVuXwUEdHlwZQIBXwUGdGFza0lkBgUDbmlsAWkBFHJlZ2lzdGVyVGFza0NhbGxiYWNrAwtkZXNjcmlwdGlvbgR0eXBlCGNhbGxiYWNrBBBudW1iZXJPZlBheW1lbnRzCQCQAwEIBQFpCHBheW1lbnRzAwkBAiE9AgUQbnVtYmVyT2ZQYXltZW50cwABCQACAQISUGF5bWVudCBuZWNlc3NhcnkhBA9jYWxsZXJQdWJsaWNLZXkJANgEAQgFAWkPY2FsbGVyUHVibGljS2V5BAZjYWxsZXIJAKUIAQgFAWkGY2FsbGVyBAR0eElkCQDYBAEIBQFpDXRyYW5zYWN0aW9uSWQEB3BheW1lbnQJAJEDAggFAWkIcGF5bWVudHMAAAQDZmVlCAUHcGF5bWVudAZhbW91bnQECmZlZUFzc2V0SWQIBQdwYXltZW50B2Fzc2V0SWQEBnRhc2tJZAkArAICCQCsAgIFBHR4SWQCAV8FD2NhbGxlclB1YmxpY0tleQQJdGltZXN0YW1wCAUJbGFzdEJsb2NrCXRpbWVzdGFtcAQGbWluRmVlCQEPZ2V0UHJpY2VGb3JUeXBlAQUEdHlwZQMJAQIhPQIFCmZlZUFzc2V0SWQFEUFJX1RPS0VOX0FTU0VUX0lECQACAQImUGF5bWVudCBvbmx5IHBvc3NpYmxlIGluIHRoZSBBSSBUb2tlbiEDCQAAAgUGbWluRmVlAP///////////wEJAAIBAhhUYXNrIHR5cGUgbm90IHN1cHBvcnRlZCEDCQBmAgUGbWluRmVlBQNmZWUJAAIBCQCsAgIJAKwCAgIdUGF5bWVudCBuZWVkcyB0byBiZSBhdCBsZWFzdCAJAKQDAQUGbWluRmVlAgogQUkgVG9rZW4hCQDMCAIJAQtTdHJpbmdFbnRyeQIJAKwCAgkArAICBQZ0YXNrSWQCDV9kZXNjcmlwdGlvbl8FBHR5cGUFC2Rlc2NyaXB0aW9uCQDMCAIJAQtTdHJpbmdFbnRyeQIJAKwCAgkArAICBQR0eElkAg1faW5pdGlhbGl6ZXJfBQR0eXBlBQ9jYWxsZXJQdWJsaWNLZXkJAMwIAgkBC1N0cmluZ0VudHJ5AgkArAICCQCsAgIFBHR4SWQCCl9jYWxsYmFja18FBHR5cGUFCGNhbGxiYWNrCQDMCAIJAQtTdHJpbmdFbnRyeQIJAKwCAgkArAICBQR0eElkAghfY2FsbGVyXwUEdHlwZQUGY2FsbGVyCQDMCAIJAQtTdHJpbmdFbnRyeQIJAKwCAgkArAICBQZ0YXNrSWQCCF9zdGF0dXNfBQR0eXBlBQtTVEFUVVNfT1BFTgkAzAgCCQELU3RyaW5nRW50cnkCCQCsAgIFBnRhc2tJZAIFX3R5cGUFBHR5cGUJAMwIAgkBDEludGVnZXJFbnRyeQIJAKwCAgkArAICBQZ0YXNrSWQFD1JFR0lTVEVSX0hFSUdIVAUEdHlwZQUGaGVpZ2h0CQDMCAIJAQxJbnRlZ2VyRW50cnkCCQCsAgIJAKwCAgUGdGFza0lkAhRfcmVnaXN0ZXJfdGltZXN0YW1wXwUEdHlwZQUJdGltZXN0YW1wCQDMCAIJAQxCb29sZWFuRW50cnkCCQCsAgIJAKwCAgkArAICAgVvcGVuXwUEdHlwZQIBXwUGdGFza0lkBgkAzAgCCQELU3RyaW5nRW50cnkCCQCsAgICFGNhbGxiYWNrX2FjY291bnRpbmdfCQCkAwEFBmhlaWdodAUGdGFza0lkBQNuaWwBaQEMY2hlY2tvdXRUYXNrAgZ0YXNrSWQEdHlwZQQPY2FsbGVyUHVibGljS2V5CQDYBAEIBQFpD2NhbGxlclB1YmxpY0tleQQNdGFza1N0aWxsT3BlbgkBD2NhbkJlQ2hlY2tlZE91dAIFBnRhc2tJZAUEdHlwZQQJdGltZXN0YW1wCAUJbGFzdEJsb2NrCXRpbWVzdGFtcAMJAQEhAQUNdGFza1N0aWxsT3BlbgkAAgECG1Rhc2sgbm90IG9wZW4gZm9yIGNoZWNrb3V0IQkAzAgCCQELU3RyaW5nRW50cnkCCQCsAgIJAKwCAgUGdGFza0lkBQ5DSEVDS0VEX09VVF9CWQUEdHlwZQUPY2FsbGVyUHVibGljS2V5CQDMCAIJAQtTdHJpbmdFbnRyeQIJAKwCAgkArAICBQZ0YXNrSWQCCF9zdGF0dXNfBQR0eXBlBRJTVEFUVVNfQ0hFQ0tFRF9PVVQJAMwIAgkBDEludGVnZXJFbnRyeQIJAKwCAgkArAICBQZ0YXNrSWQFEENIRUNLX09VVF9IRUlHSFQFBHR5cGUFBmhlaWdodAkAzAgCCQEMSW50ZWdlckVudHJ5AgkArAICCQCsAgIFBnRhc2tJZAIVX2NoZWNrX291dF90aW1lc3RhbXBfBQR0eXBlBQl0aW1lc3RhbXAJAMwIAgkBDEJvb2xlYW5FbnRyeQIJAKwCAgkArAICCQCsAgIJAKwCAgkArAICAg9jaGVja2VkX291dF9ieV8FD2NhbGxlclB1YmxpY0tleQIBXwUEdHlwZQIBXwUGdGFza0lkBgkAzAgCCQELRGVsZXRlRW50cnkBCQCsAgIJAKwCAgkArAICAgVvcGVuXwUEdHlwZQIBXwUGdGFza0lkBQNuaWwBaQEKY29tbWl0VGFzawIGdGFza0lkCHJlc3BvbnNlBA9jYWxsZXJQdWJsaWNLZXkJANgEAQgFAWkPY2FsbGVyUHVibGljS2V5BAR0eXBlBAckbWF0Y2gwCQCiCAEJAKwCAgUGdGFza0lkAgVfdHlwZQMJAAECBQckbWF0Y2gwAgZTdHJpbmcEAXMFByRtYXRjaDAFAXMCB25vdCBzZXQEDGNvcnJlY3RBZ2VudAkBDmlzQ29ycmVjdEFnZW50AwUGdGFza0lkBQ9jYWxsZXJQdWJsaWNLZXkFBHR5cGUECXRpbWVzdGFtcAgFCWxhc3RCbG9jawl0aW1lc3RhbXAECGNhbGxiYWNrBAckbWF0Y2gwCQCiCAEJAKwCAgUGdGFza0lkAglfY2FsbGJhY2sDCQABAgUHJG1hdGNoMAIGU3RyaW5nBAFzBQckbWF0Y2gwBQFzAgtubyBjYWxsYmFjawQGY2FsbGVyBAckbWF0Y2gwCQCiCAEJAKwCAgUGdGFza0lkAgdfY2FsbGVyAwkAAQIFByRtYXRjaDACBlN0cmluZwQBcwUHJG1hdGNoMAUBcwILbm8gY2FsbGJhY2sDCQEBIQEFDGNvcnJlY3RBZ2VudAkAAgECQVRhc2sgbWF5IG9ubHkgYmUgc3VibWl0dGVkIGJ5IHRoZSBhZ2VudCB3aG8gY2hlY2tlZCB0aGUgdGFzayBvdXQhAwkAAAIFBHR5cGUCB25vdCBzZXQJAAIBAiBDYW4gbm90IGlkZW50aWZ5IHR5cGUgb2YgdGFzayBpZAMJAQIhPQIFCGNhbGxiYWNrAgtubyBjYWxsYmFjawQGcmVzdWx0CQD8BwQJAQdBZGRyZXNzAQkA2QQBBQZjYWxsZXIFCGNhbGxiYWNrCQDMCAIFCHJlc3BvbnNlBQNuaWwFA25pbAkAzAgCCQELU3RyaW5nRW50cnkCCQCsAgIJAKwCAgUGdGFza0lkAghfc3RhdHVzXwUEdHlwZQULU1RBVFVTX0RPTkUJAMwIAgkBC1N0cmluZ0VudHJ5AgkArAICCQCsAgIFBnRhc2tJZAIIX3Jlc3VsdF8FBHR5cGUFCHJlc3BvbnNlCQDMCAIJAQxJbnRlZ2VyRW50cnkCCQCsAgIJAKwCAgUGdGFza0lkBQ1DT01NSVRfSEVJR0hUBQR0eXBlBQZoZWlnaHQJAMwIAgkBDEludGVnZXJFbnRyeQIJAKwCAgkArAICBQZ0YXNrSWQCEl9jb21taXRfdGltZXN0YW1wXwUEdHlwZQUJdGltZXN0YW1wCQDMCAIJAQtEZWxldGVFbnRyeQEJAKwCAgkArAICCQCsAgIJAKwCAgkArAICAg9jaGVja2VkX291dF9ieV8FD2NhbGxlclB1YmxpY0tleQIBXwUEdHlwZQIBXwUGdGFza0lkBQNuaWwJAMwIAgkBC1N0cmluZ0VudHJ5AgkArAICCQCsAgIFBnRhc2tJZAIIX3N0YXR1c18FBHR5cGUFC1NUQVRVU19ET05FCQDMCAIJAQtTdHJpbmdFbnRyeQIJAKwCAgkArAICBQZ0YXNrSWQCCF9yZXN1bHRfBQR0eXBlBQhyZXNwb25zZQkAzAgCCQEMSW50ZWdlckVudHJ5AgkArAICCQCsAgIFBnRhc2tJZAUNQ09NTUlUX0hFSUdIVAUEdHlwZQUGaGVpZ2h0CQDMCAIJAQxJbnRlZ2VyRW50cnkCCQCsAgIJAKwCAgUGdGFza0lkAhJfY29tbWl0X3RpbWVzdGFtcF8FBHR5cGUFCXRpbWVzdGFtcAkAzAgCCQELRGVsZXRlRW50cnkBCQCsAgIJAKwCAgkArAICCQCsAgIJAKwCAgIPY2hlY2tlZF9vdXRfYnlfBQ9jYWxsZXJQdWJsaWNLZXkCAV8FBHR5cGUCAV8FBnRhc2tJZAUDbmlsAWkBA2J1eQAEEVdBVkVTX1VTRFRfT1JBQ0xFCQERQGV4dHJOYXRpdmUoMTA2MikBAiMzTjFXamhtRjNFeXV0dnJ2dHNmc1NMYmhtaUxVOEJjMVRveQQVV0FWRVNfVVNEVF9PUkFDTEVfS0VZAhclcyVzX19wcmljZV9fV0FWRVMtVVNEVAQNVVNEVF9BU1NFVF9JRAIsOThEM3BrS3ZmclhFblhtUXFLR1dndG9HdlZoMWFUZjRDUER0dHFHOWNzdW0EDVVTRENfQVNTRVRfSUQCLDk4RDNwa0t2ZnJYRW5YbVFxS0dXZ3RvR3ZWaDFhVGY0Q1BEdHRxRzljc3VtBAxCQUlfQVNTRVRfSUQCLEF4R0tRUnhLbzRGMkViaHJScTZOMnRkTHN4dE1ucHpRc1M0UWVtVjZWMVcxBBBudW1iZXJPZlBheW1lbnRzCQCQAwEIBQFpCHBheW1lbnRzAwkBAiE9AgUQbnVtYmVyT2ZQYXltZW50cwABCQACAQISUGF5bWVudCBuZWNlc3NhcnkhBAdwYXltZW50CQCRAwIIBQFpCHBheW1lbnRzAAAECmZlZUFzc2V0SWQIBQdwYXltZW50B2Fzc2V0SWQEEGZlZUFzc2V0SWRTdHJpbmcEByRtYXRjaDAFCmZlZUFzc2V0SWQDCQABAgUHJG1hdGNoMAIKQnl0ZVZlY3RvcgQBYgUHJG1hdGNoMAkA2AQBBQFiAgAEDXBheW1lbnRBbW91bnQIBQdwYXltZW50BmFtb3VudAQGYW1vdW50AwkBASEBCQEJaXNEZWZpbmVkAQUKZmVlQXNzZXRJZAQOd2F2ZXNVc2R0UHJpY2UEByRtYXRjaDAJAJoIAgURV0FWRVNfVVNEVF9PUkFDTEUFFVdBVkVTX1VTRFRfT1JBQ0xFX0tFWQMJAAECBQckbWF0Y2gwAgNJbnQEAW4FByRtYXRjaDAFAW4AAAkAaAIJAGsDBQ1wYXltZW50QW1vdW50BQ53YXZlc1VzZHRQcmljZQCAwtcvAGQDCQAAAgUQZmVlQXNzZXRJZFN0cmluZwUNVVNEVF9BU1NFVF9JRAkAaAIFDXBheW1lbnRBbW91bnQAZAMJAAACBRBmZWVBc3NldElkU3RyaW5nBQ1VU0RDX0FTU0VUX0lECQBoAgUNcGF5bWVudEFtb3VudABkCQACAQIpcGF5bWVudCBuZWNlc3NhcnkgaW4gV2F2ZXMsIFVTREMgb3IgVVNEVCEJAMwIAgkBDlNjcmlwdFRyYW5zZmVyAwgFAWkGY2FsbGVyBQZhbW91bnQJANkEAQUMQkFJX0FTU0VUX0lEBQNuaWwBAnR4AQZ2ZXJpZnkACQD0AwMIBQJ0eAlib2R5Qnl0ZXMJAJEDAggFAnR4BnByb29mcwAACAUCdHgPc2VuZGVyUHVibGljS2V5njKkCQ==", "height": 2746183, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: ChGeWu4zwoRH9YgcF3C8QqCqokWcUAHYELf7j2GEmzQv Next: GuBAA5ssjAH5r85FUMHyfU6H5J2Qw3iLZ8gMWYM3wJSZ Diff:
OldNewDifferences
3131 }
3232
3333
34-func q (r,l) = {
35- let s = {
36- let t = getString(this, ((r + "_initializer_") + l))
37- if ($isInstanceOf(t, "String"))
38- then {
39- let u = t
40- u
41- }
42- else ""
43- }
44- let t = getString(this, ((r + "_") + s))
45- if ($isInstanceOf(t, "String"))
34+func q (l) = {
35+ let r = getInteger(this, ("price_" + l))
36+ if ($isInstanceOf(r, "Int"))
4637 then {
47- let u = t
48- u
49- }
50- else ""
51- }
52-
53-
54-func v (l) = {
55- let t = getInteger(this, ("price_" + l))
56- if ($isInstanceOf(t, "Int"))
57- then {
58- let w = t
59- w
38+ let s = r
39+ s
6040 }
6141 else -1
6242 }
6343
6444
65-@Callable(w)
66-func registerTask (x,l) = {
67- let y = size(w.payments)
68- if ((y != 1))
45+@Callable(s)
46+func registerTask (t,l) = {
47+ let u = size(s.payments)
48+ if ((u != 1))
6949 then throw("Payment necessary!")
7050 else {
71- let s = toBase58String(w.callerPublicKey)
72- let r = toBase58String(w.transactionId)
73- let z = w.payments[0]
74- let A = z.amount
75- let B = z.assetId
76- let k = ((r + "_") + s)
77- let C = lastBlock.timestamp
78- let D = v(l)
79- if ((B != a))
51+ let v = toBase58String(s.callerPublicKey)
52+ let w = toBase58String(s.transactionId)
53+ let x = s.payments[0]
54+ let y = x.amount
55+ let z = x.assetId
56+ let k = ((w + "_") + v)
57+ let A = lastBlock.timestamp
58+ let B = q(l)
59+ if ((z != a))
8060 then throw("Payment only possible in the AI Token!")
81- else if ((D == -1))
61+ else if ((B == -1))
8262 then throw("Task type not supported!")
83- else if ((D > A))
84- then throw((("Payment needs to be at least " + toString(D)) + " AI Token!"))
85- else [StringEntry(((k + "_description_") + l), x), StringEntry(((r + "_initializer_") + l), s), StringEntry(((k + "_status_") + l), b), StringEntry((k + "_type"), l), IntegerEntry(((k + h) + l), height), IntegerEntry(((k + "_register_timestamp_") + l), C), BooleanEntry(((("open_" + l) + "_") + k), true)]
63+ else if ((B > y))
64+ then throw((("Payment needs to be at least " + toString(B)) + " AI Token!"))
65+ else [StringEntry(((k + "_description_") + l), t), StringEntry(((w + "_initializer_") + l), v), StringEntry(((k + "_status_") + l), b), StringEntry((k + "_type"), l), IntegerEntry(((k + h) + l), height), IntegerEntry(((k + "_register_timestamp_") + l), A), BooleanEntry(((("open_" + l) + "_") + k), true)]
8666 }
8767 }
8868
8969
9070
91-@Callable(w)
92-func registerTaskCallback (x,l,E) = {
93- let y = size(w.payments)
94- if ((y != 1))
71+@Callable(s)
72+func registerTaskCallback (t,l,C) = {
73+ let u = size(s.payments)
74+ if ((u != 1))
9575 then throw("Payment necessary!")
9676 else {
97- let s = toBase58String(w.callerPublicKey)
98- let F = toString(w.caller)
99- let r = toBase58String(w.transactionId)
100- let z = w.payments[0]
101- let A = z.amount
102- let B = z.assetId
103- let k = ((r + "_") + s)
104- let C = lastBlock.timestamp
105- let D = v(l)
106- if ((B != a))
77+ let v = toBase58String(s.callerPublicKey)
78+ let D = toString(s.caller)
79+ let w = toBase58String(s.transactionId)
80+ let x = s.payments[0]
81+ let y = x.amount
82+ let z = x.assetId
83+ let k = ((w + "_") + v)
84+ let A = lastBlock.timestamp
85+ let B = q(l)
86+ if ((z != a))
10787 then throw("Payment only possible in the AI Token!")
108- else if ((D == -1))
88+ else if ((B == -1))
10989 then throw("Task type not supported!")
110- else if ((D > A))
111- then throw((("Payment needs to be at least " + toString(D)) + " AI Token!"))
112- else [StringEntry(((k + "_description_") + l), x), StringEntry(((r + "_initializer_") + l), s), StringEntry(((r + "_callback_") + l), E), StringEntry(((r + "_caller_") + l), F), StringEntry(((k + "_status_") + l), b), StringEntry((k + "_type"), l), IntegerEntry(((k + h) + l), height), IntegerEntry(((k + "_register_timestamp_") + l), C), BooleanEntry(((("open_" + l) + "_") + k), true)]
90+ else if ((B > y))
91+ then throw((("Payment needs to be at least " + toString(B)) + " AI Token!"))
92+ else [StringEntry(((k + "_description_") + l), t), StringEntry(((w + "_initializer_") + l), v), StringEntry(((w + "_callback_") + l), C), StringEntry(((w + "_caller_") + l), D), StringEntry(((k + "_status_") + l), b), StringEntry((k + "_type"), l), IntegerEntry(((k + h) + l), height), IntegerEntry(((k + "_register_timestamp_") + l), A), BooleanEntry(((("open_" + l) + "_") + k), true), StringEntry(("callback_accounting_" + toString(height)), k)]
11393 }
11494 }
11595
11696
11797
118-@Callable(w)
98+@Callable(s)
11999 func checkoutTask (k,l) = {
120- let s = toBase58String(w.callerPublicKey)
121- let G = j(k, l)
122- let C = lastBlock.timestamp
123- if (!(G))
100+ let v = toBase58String(s.callerPublicKey)
101+ let E = j(k, l)
102+ let A = lastBlock.timestamp
103+ if (!(E))
124104 then throw("Task not open for checkout!")
125- else [StringEntry(((k + e) + l), s), StringEntry(((k + "_status_") + l), c), IntegerEntry(((k + g) + l), height), IntegerEntry(((k + "_check_out_timestamp_") + l), C), BooleanEntry(((((("checked_out_by_" + s) + "_") + l) + "_") + k), true), DeleteEntry(((("open_" + l) + "_") + k))]
105+ else [StringEntry(((k + e) + l), v), StringEntry(((k + "_status_") + l), c), IntegerEntry(((k + g) + l), height), IntegerEntry(((k + "_check_out_timestamp_") + l), A), BooleanEntry(((((("checked_out_by_" + v) + "_") + l) + "_") + k), true), DeleteEntry(((("open_" + l) + "_") + k))]
126106 }
127107
128108
129109
130-@Callable(w)
131-func commitTask (k,H) = {
132- let s = toBase58String(w.callerPublicKey)
110+@Callable(s)
111+func commitTask (k,F) = {
112+ let v = toBase58String(s.callerPublicKey)
133113 let l = {
134- let t = getString((k + "_type"))
135- if ($isInstanceOf(t, "String"))
114+ let r = getString((k + "_type"))
115+ if ($isInstanceOf(r, "String"))
136116 then {
137- let I = t
138- I
117+ let G = r
118+ G
139119 }
140120 else "not set"
141121 }
142- let J = n(k, s, l)
143- let C = lastBlock.timestamp
144- let E = {
145- let t = getString((k + "_callback"))
146- if ($isInstanceOf(t, "String"))
122+ let H = n(k, v, l)
123+ let A = lastBlock.timestamp
124+ let C = {
125+ let r = getString((k + "_callback"))
126+ if ($isInstanceOf(r, "String"))
147127 then {
148- let I = t
149- I
128+ let G = r
129+ G
150130 }
151131 else "no callback"
152132 }
153- let F = {
154- let t = getString((k + "_caller"))
155- if ($isInstanceOf(t, "String"))
133+ let D = {
134+ let r = getString((k + "_caller"))
135+ if ($isInstanceOf(r, "String"))
156136 then {
157- let I = t
158- I
137+ let G = r
138+ G
159139 }
160140 else "no callback"
161141 }
162- if (!(J))
142+ if (!(H))
163143 then throw("Task may only be submitted by the agent who checked the task out!")
164144 else if ((l == "not set"))
165145 then throw("Can not identify type of task id")
166- else if ((E != "no callback"))
146+ else if ((C != "no callback"))
167147 then {
168- let K = invoke(Address(fromBase58String(F)), E, [H], nil)
169-[StringEntry(((k + "_status_") + l), d), StringEntry(((k + "_result_") + l), H), IntegerEntry(((k + i) + l), height), IntegerEntry(((k + "_commit_timestamp_") + l), C), DeleteEntry(((((("checked_out_by_" + s) + "_") + l) + "_") + k))]
148+ let I = invoke(Address(fromBase58String(D)), C, [F], nil)
149+[StringEntry(((k + "_status_") + l), d), StringEntry(((k + "_result_") + l), F), IntegerEntry(((k + i) + l), height), IntegerEntry(((k + "_commit_timestamp_") + l), A), DeleteEntry(((((("checked_out_by_" + v) + "_") + l) + "_") + k))]
170150 }
171- else [StringEntry(((k + "_status_") + l), d), StringEntry(((k + "_result_") + l), H), IntegerEntry(((k + i) + l), height), IntegerEntry(((k + "_commit_timestamp_") + l), C), DeleteEntry(((((("checked_out_by_" + s) + "_") + l) + "_") + k))]
151+ else [StringEntry(((k + "_status_") + l), d), StringEntry(((k + "_result_") + l), F), IntegerEntry(((k + i) + l), height), IntegerEntry(((k + "_commit_timestamp_") + l), A), DeleteEntry(((((("checked_out_by_" + v) + "_") + l) + "_") + k))]
172152 }
173153
174154
175155
176-@Callable(w)
156+@Callable(s)
177157 func buy () = {
178- let L = addressFromStringValue("3N1WjhmF3EyutvrvtsfsSLbhmiLU8Bc1Toy")
179- let M = "%s%s__price__WAVES-USDT"
180- let N = "98D3pkKvfrXEnXmQqKGWgtoGvVh1aTf4CPDttqG9csum"
181- let O = "98D3pkKvfrXEnXmQqKGWgtoGvVh1aTf4CPDttqG9csum"
182- let P = "AxGKQRxKo4F2EbhrRq6N2tdLsxtMnpzQsS4QemV6V1W1"
183- let y = size(w.payments)
184- if ((y != 1))
158+ let J = addressFromStringValue("3N1WjhmF3EyutvrvtsfsSLbhmiLU8Bc1Toy")
159+ let K = "%s%s__price__WAVES-USDT"
160+ let L = "98D3pkKvfrXEnXmQqKGWgtoGvVh1aTf4CPDttqG9csum"
161+ let M = "98D3pkKvfrXEnXmQqKGWgtoGvVh1aTf4CPDttqG9csum"
162+ let N = "AxGKQRxKo4F2EbhrRq6N2tdLsxtMnpzQsS4QemV6V1W1"
163+ let u = size(s.payments)
164+ if ((u != 1))
185165 then throw("Payment necessary!")
186166 else {
187- let z = w.payments[0]
188- let B = z.assetId
189- let Q = {
190- let t = B
191- if ($isInstanceOf(t, "ByteVector"))
167+ let x = s.payments[0]
168+ let z = x.assetId
169+ let O = {
170+ let r = z
171+ if ($isInstanceOf(r, "ByteVector"))
192172 then {
193- let R = t
194- toBase58String(R)
173+ let P = r
174+ toBase58String(P)
195175 }
196176 else ""
197177 }
198- let S = z.amount
199- let T = if (!(isDefined(B)))
178+ let Q = x.amount
179+ let R = if (!(isDefined(z)))
200180 then {
201- let U = {
202- let t = getInteger(L, M)
203- if ($isInstanceOf(t, "Int"))
181+ let S = {
182+ let r = getInteger(J, K)
183+ if ($isInstanceOf(r, "Int"))
204184 then {
205- let V = t
206- V
185+ let T = r
186+ T
207187 }
208188 else 0
209189 }
210- (fraction(S, U, 100000000) * 100)
190+ (fraction(Q, S, 100000000) * 100)
211191 }
212- else if ((Q == N))
213- then (S * 100)
214- else if ((Q == O))
215- then (S * 100)
192+ else if ((O == L))
193+ then (Q * 100)
194+ else if ((O == M))
195+ then (Q * 100)
216196 else throw("payment necessary in Waves, USDC or USDT!")
217-[ScriptTransfer(w.caller, T, fromBase58String(P))]
197+[ScriptTransfer(s.caller, R, fromBase58String(N))]
218198 }
219199 }
220200
221201
222-@Verifier(W)
223-func X () = sigVerify(W.bodyBytes, W.proofs[0], W.senderPublicKey)
202+@Verifier(U)
203+func V () = sigVerify(U.bodyBytes, U.proofs[0], U.senderPublicKey)
224204
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 6 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 let a = base58'AxGKQRxKo4F2EbhrRq6N2tdLsxtMnpzQsS4QemV6V1W1'
55
66 let b = "open"
77
88 let c = "checked_out"
99
1010 let d = "done"
1111
1212 let e = "_checked_out_by_"
1313
1414 let f = "simple_ChatGPT_task"
1515
1616 let g = "_check_out_height_"
1717
1818 let h = "_register_height_"
1919
2020 let i = "_commit_height_"
2121
2222 func j (k,l) = {
2323 let m = getString(this, ((k + "_status_") + l))
2424 (m == b)
2525 }
2626
2727
2828 func n (k,o,l) = {
2929 let p = getString(this, ((k + e) + l))
3030 (p == o)
3131 }
3232
3333
34-func q (r,l) = {
35- let s = {
36- let t = getString(this, ((r + "_initializer_") + l))
37- if ($isInstanceOf(t, "String"))
38- then {
39- let u = t
40- u
41- }
42- else ""
43- }
44- let t = getString(this, ((r + "_") + s))
45- if ($isInstanceOf(t, "String"))
34+func q (l) = {
35+ let r = getInteger(this, ("price_" + l))
36+ if ($isInstanceOf(r, "Int"))
4637 then {
47- let u = t
48- u
49- }
50- else ""
51- }
52-
53-
54-func v (l) = {
55- let t = getInteger(this, ("price_" + l))
56- if ($isInstanceOf(t, "Int"))
57- then {
58- let w = t
59- w
38+ let s = r
39+ s
6040 }
6141 else -1
6242 }
6343
6444
65-@Callable(w)
66-func registerTask (x,l) = {
67- let y = size(w.payments)
68- if ((y != 1))
45+@Callable(s)
46+func registerTask (t,l) = {
47+ let u = size(s.payments)
48+ if ((u != 1))
6949 then throw("Payment necessary!")
7050 else {
71- let s = toBase58String(w.callerPublicKey)
72- let r = toBase58String(w.transactionId)
73- let z = w.payments[0]
74- let A = z.amount
75- let B = z.assetId
76- let k = ((r + "_") + s)
77- let C = lastBlock.timestamp
78- let D = v(l)
79- if ((B != a))
51+ let v = toBase58String(s.callerPublicKey)
52+ let w = toBase58String(s.transactionId)
53+ let x = s.payments[0]
54+ let y = x.amount
55+ let z = x.assetId
56+ let k = ((w + "_") + v)
57+ let A = lastBlock.timestamp
58+ let B = q(l)
59+ if ((z != a))
8060 then throw("Payment only possible in the AI Token!")
81- else if ((D == -1))
61+ else if ((B == -1))
8262 then throw("Task type not supported!")
83- else if ((D > A))
84- then throw((("Payment needs to be at least " + toString(D)) + " AI Token!"))
85- else [StringEntry(((k + "_description_") + l), x), StringEntry(((r + "_initializer_") + l), s), StringEntry(((k + "_status_") + l), b), StringEntry((k + "_type"), l), IntegerEntry(((k + h) + l), height), IntegerEntry(((k + "_register_timestamp_") + l), C), BooleanEntry(((("open_" + l) + "_") + k), true)]
63+ else if ((B > y))
64+ then throw((("Payment needs to be at least " + toString(B)) + " AI Token!"))
65+ else [StringEntry(((k + "_description_") + l), t), StringEntry(((w + "_initializer_") + l), v), StringEntry(((k + "_status_") + l), b), StringEntry((k + "_type"), l), IntegerEntry(((k + h) + l), height), IntegerEntry(((k + "_register_timestamp_") + l), A), BooleanEntry(((("open_" + l) + "_") + k), true)]
8666 }
8767 }
8868
8969
9070
91-@Callable(w)
92-func registerTaskCallback (x,l,E) = {
93- let y = size(w.payments)
94- if ((y != 1))
71+@Callable(s)
72+func registerTaskCallback (t,l,C) = {
73+ let u = size(s.payments)
74+ if ((u != 1))
9575 then throw("Payment necessary!")
9676 else {
97- let s = toBase58String(w.callerPublicKey)
98- let F = toString(w.caller)
99- let r = toBase58String(w.transactionId)
100- let z = w.payments[0]
101- let A = z.amount
102- let B = z.assetId
103- let k = ((r + "_") + s)
104- let C = lastBlock.timestamp
105- let D = v(l)
106- if ((B != a))
77+ let v = toBase58String(s.callerPublicKey)
78+ let D = toString(s.caller)
79+ let w = toBase58String(s.transactionId)
80+ let x = s.payments[0]
81+ let y = x.amount
82+ let z = x.assetId
83+ let k = ((w + "_") + v)
84+ let A = lastBlock.timestamp
85+ let B = q(l)
86+ if ((z != a))
10787 then throw("Payment only possible in the AI Token!")
108- else if ((D == -1))
88+ else if ((B == -1))
10989 then throw("Task type not supported!")
110- else if ((D > A))
111- then throw((("Payment needs to be at least " + toString(D)) + " AI Token!"))
112- else [StringEntry(((k + "_description_") + l), x), StringEntry(((r + "_initializer_") + l), s), StringEntry(((r + "_callback_") + l), E), StringEntry(((r + "_caller_") + l), F), StringEntry(((k + "_status_") + l), b), StringEntry((k + "_type"), l), IntegerEntry(((k + h) + l), height), IntegerEntry(((k + "_register_timestamp_") + l), C), BooleanEntry(((("open_" + l) + "_") + k), true)]
90+ else if ((B > y))
91+ then throw((("Payment needs to be at least " + toString(B)) + " AI Token!"))
92+ else [StringEntry(((k + "_description_") + l), t), StringEntry(((w + "_initializer_") + l), v), StringEntry(((w + "_callback_") + l), C), StringEntry(((w + "_caller_") + l), D), StringEntry(((k + "_status_") + l), b), StringEntry((k + "_type"), l), IntegerEntry(((k + h) + l), height), IntegerEntry(((k + "_register_timestamp_") + l), A), BooleanEntry(((("open_" + l) + "_") + k), true), StringEntry(("callback_accounting_" + toString(height)), k)]
11393 }
11494 }
11595
11696
11797
118-@Callable(w)
98+@Callable(s)
11999 func checkoutTask (k,l) = {
120- let s = toBase58String(w.callerPublicKey)
121- let G = j(k, l)
122- let C = lastBlock.timestamp
123- if (!(G))
100+ let v = toBase58String(s.callerPublicKey)
101+ let E = j(k, l)
102+ let A = lastBlock.timestamp
103+ if (!(E))
124104 then throw("Task not open for checkout!")
125- else [StringEntry(((k + e) + l), s), StringEntry(((k + "_status_") + l), c), IntegerEntry(((k + g) + l), height), IntegerEntry(((k + "_check_out_timestamp_") + l), C), BooleanEntry(((((("checked_out_by_" + s) + "_") + l) + "_") + k), true), DeleteEntry(((("open_" + l) + "_") + k))]
105+ else [StringEntry(((k + e) + l), v), StringEntry(((k + "_status_") + l), c), IntegerEntry(((k + g) + l), height), IntegerEntry(((k + "_check_out_timestamp_") + l), A), BooleanEntry(((((("checked_out_by_" + v) + "_") + l) + "_") + k), true), DeleteEntry(((("open_" + l) + "_") + k))]
126106 }
127107
128108
129109
130-@Callable(w)
131-func commitTask (k,H) = {
132- let s = toBase58String(w.callerPublicKey)
110+@Callable(s)
111+func commitTask (k,F) = {
112+ let v = toBase58String(s.callerPublicKey)
133113 let l = {
134- let t = getString((k + "_type"))
135- if ($isInstanceOf(t, "String"))
114+ let r = getString((k + "_type"))
115+ if ($isInstanceOf(r, "String"))
136116 then {
137- let I = t
138- I
117+ let G = r
118+ G
139119 }
140120 else "not set"
141121 }
142- let J = n(k, s, l)
143- let C = lastBlock.timestamp
144- let E = {
145- let t = getString((k + "_callback"))
146- if ($isInstanceOf(t, "String"))
122+ let H = n(k, v, l)
123+ let A = lastBlock.timestamp
124+ let C = {
125+ let r = getString((k + "_callback"))
126+ if ($isInstanceOf(r, "String"))
147127 then {
148- let I = t
149- I
128+ let G = r
129+ G
150130 }
151131 else "no callback"
152132 }
153- let F = {
154- let t = getString((k + "_caller"))
155- if ($isInstanceOf(t, "String"))
133+ let D = {
134+ let r = getString((k + "_caller"))
135+ if ($isInstanceOf(r, "String"))
156136 then {
157- let I = t
158- I
137+ let G = r
138+ G
159139 }
160140 else "no callback"
161141 }
162- if (!(J))
142+ if (!(H))
163143 then throw("Task may only be submitted by the agent who checked the task out!")
164144 else if ((l == "not set"))
165145 then throw("Can not identify type of task id")
166- else if ((E != "no callback"))
146+ else if ((C != "no callback"))
167147 then {
168- let K = invoke(Address(fromBase58String(F)), E, [H], nil)
169-[StringEntry(((k + "_status_") + l), d), StringEntry(((k + "_result_") + l), H), IntegerEntry(((k + i) + l), height), IntegerEntry(((k + "_commit_timestamp_") + l), C), DeleteEntry(((((("checked_out_by_" + s) + "_") + l) + "_") + k))]
148+ let I = invoke(Address(fromBase58String(D)), C, [F], nil)
149+[StringEntry(((k + "_status_") + l), d), StringEntry(((k + "_result_") + l), F), IntegerEntry(((k + i) + l), height), IntegerEntry(((k + "_commit_timestamp_") + l), A), DeleteEntry(((((("checked_out_by_" + v) + "_") + l) + "_") + k))]
170150 }
171- else [StringEntry(((k + "_status_") + l), d), StringEntry(((k + "_result_") + l), H), IntegerEntry(((k + i) + l), height), IntegerEntry(((k + "_commit_timestamp_") + l), C), DeleteEntry(((((("checked_out_by_" + s) + "_") + l) + "_") + k))]
151+ else [StringEntry(((k + "_status_") + l), d), StringEntry(((k + "_result_") + l), F), IntegerEntry(((k + i) + l), height), IntegerEntry(((k + "_commit_timestamp_") + l), A), DeleteEntry(((((("checked_out_by_" + v) + "_") + l) + "_") + k))]
172152 }
173153
174154
175155
176-@Callable(w)
156+@Callable(s)
177157 func buy () = {
178- let L = addressFromStringValue("3N1WjhmF3EyutvrvtsfsSLbhmiLU8Bc1Toy")
179- let M = "%s%s__price__WAVES-USDT"
180- let N = "98D3pkKvfrXEnXmQqKGWgtoGvVh1aTf4CPDttqG9csum"
181- let O = "98D3pkKvfrXEnXmQqKGWgtoGvVh1aTf4CPDttqG9csum"
182- let P = "AxGKQRxKo4F2EbhrRq6N2tdLsxtMnpzQsS4QemV6V1W1"
183- let y = size(w.payments)
184- if ((y != 1))
158+ let J = addressFromStringValue("3N1WjhmF3EyutvrvtsfsSLbhmiLU8Bc1Toy")
159+ let K = "%s%s__price__WAVES-USDT"
160+ let L = "98D3pkKvfrXEnXmQqKGWgtoGvVh1aTf4CPDttqG9csum"
161+ let M = "98D3pkKvfrXEnXmQqKGWgtoGvVh1aTf4CPDttqG9csum"
162+ let N = "AxGKQRxKo4F2EbhrRq6N2tdLsxtMnpzQsS4QemV6V1W1"
163+ let u = size(s.payments)
164+ if ((u != 1))
185165 then throw("Payment necessary!")
186166 else {
187- let z = w.payments[0]
188- let B = z.assetId
189- let Q = {
190- let t = B
191- if ($isInstanceOf(t, "ByteVector"))
167+ let x = s.payments[0]
168+ let z = x.assetId
169+ let O = {
170+ let r = z
171+ if ($isInstanceOf(r, "ByteVector"))
192172 then {
193- let R = t
194- toBase58String(R)
173+ let P = r
174+ toBase58String(P)
195175 }
196176 else ""
197177 }
198- let S = z.amount
199- let T = if (!(isDefined(B)))
178+ let Q = x.amount
179+ let R = if (!(isDefined(z)))
200180 then {
201- let U = {
202- let t = getInteger(L, M)
203- if ($isInstanceOf(t, "Int"))
181+ let S = {
182+ let r = getInteger(J, K)
183+ if ($isInstanceOf(r, "Int"))
204184 then {
205- let V = t
206- V
185+ let T = r
186+ T
207187 }
208188 else 0
209189 }
210- (fraction(S, U, 100000000) * 100)
190+ (fraction(Q, S, 100000000) * 100)
211191 }
212- else if ((Q == N))
213- then (S * 100)
214- else if ((Q == O))
215- then (S * 100)
192+ else if ((O == L))
193+ then (Q * 100)
194+ else if ((O == M))
195+ then (Q * 100)
216196 else throw("payment necessary in Waves, USDC or USDT!")
217-[ScriptTransfer(w.caller, T, fromBase58String(P))]
197+[ScriptTransfer(s.caller, R, fromBase58String(N))]
218198 }
219199 }
220200
221201
222-@Verifier(W)
223-func X () = sigVerify(W.bodyBytes, W.proofs[0], W.senderPublicKey)
202+@Verifier(U)
203+func V () = sigVerify(U.bodyBytes, U.proofs[0], U.senderPublicKey)
224204

github/deemru/w8io/03bedc9 
92.08 ms