tx · HWQ5bBtUFi2Bh4KswDryoi3JKQzz9Sjn15FwnWG2A4dX

3P3VTtUiwJ91Ly7vwtRVKv5NkNNiPoWe7oP:  -0.00700000 Waves

2022.08.05 12:39 [3236525] smart account 3P3VTtUiwJ91Ly7vwtRVKv5NkNNiPoWe7oP > SELF 0.00000000 Waves

{ "type": 13, "id": "HWQ5bBtUFi2Bh4KswDryoi3JKQzz9Sjn15FwnWG2A4dX", "fee": 700000, "feeAssetId": null, "timestamp": 1659692352236, "version": 1, "sender": "3P3VTtUiwJ91Ly7vwtRVKv5NkNNiPoWe7oP", "senderPublicKey": "5q25v77G7b2qAcdzH88H2Y7mxXnddbN9ZYKCn3Q8W6Pi", "proofs": [ "BBDvzrnUxJ8UsGCXSZyskHCak89W5Ns8oec5KWjFtcUZidqY1Ksbzkre6tMsqecVy7WCuBurrxxbNsjZzW8weze" ], "script": "base64:BgIVCAISBgoECAgICBIAEgASBQoDCAgBHgEQd3JpdGVDb25zdFN0cmluZwIDa2V5BXZhbHVlAwkBASEBCQEJaXNEZWZpbmVkAQkAnQgCBQR0aGlzBQNrZXkJAQtTdHJpbmdFbnRyeQIFA2tleQUFdmFsdWUJAAIBCQCsAgICFWFscmVhZHkgaW5pdGlhbGl6ZWQ6IAUDa2V5AQ13cml0ZUNvbnN0SW50AgNrZXkFdmFsdWUDCQEBIQEJAQlpc0RlZmluZWQBCQCaCAIFBHRoaXMFA2tleQkBDEludGVnZXJFbnRyeQIFA2tleQUFdmFsdWUJAAIBCQCsAgICFWFscmVhZHkgaW5pdGlhbGl6ZWQ6IAUDa2V5AQh3cml0ZUludAIDa2V5BXZhbHVlAwkAZgIAAAUFdmFsdWUJAAIBCQCsAgIJAKwCAgkArAICAhd3cml0aW5nIG5lZ2F0aXZlIHZhbHVlIAkApAMBBQV2YWx1ZQIJIGZvciBrZXkgBQNrZXkJAQxJbnRlZ2VyRW50cnkCBQNrZXkFBXZhbHVlAQhjaGFuZ2VCeQIDa2V5BXZhbHVlCQEId3JpdGVJbnQCBQNrZXkJAGQCCQELdmFsdWVPckVsc2UCCQCaCAIFBHRoaXMFA2tleQAABQV2YWx1ZQALY29uZmlnU3RvcmUCBmNvbmZpZwANY29uZmlnQWRkcmVzcwkBEUBleHRyTmF0aXZlKDEwNjIpAQkBEUBleHRyTmF0aXZlKDEwNTMpAgUEdGhpcwULY29uZmlnU3RvcmUAEm1heWJlT3JhY2xlQWRkcmVzcwQHJG1hdGNoMAkAnQgCBQ1jb25maWdBZGRyZXNzAg5vcmFjbGVfYWRkcmVzcwMJAAECBQckbWF0Y2gwAgZTdHJpbmcEAXMFByRtYXRjaDAJAKYIAQUBcwUEdW5pdAAGSEVJR0hUBQZoZWlnaHQBCW9wQWxsb3dlZAECb3AEByRtYXRjaDAJAPwHBAUNY29uZmlnQWRkcmVzcwIJb3BBbGxvd2VkCQDMCAICBHVzZG4JAMwIAgUCb3AFA25pbAUDbmlsAwkAAQIFByRtYXRjaDACB0Jvb2xlYW4EAWIFByRtYXRjaDADBQFiBgkAAgECC25vdCBhbGxvd2VkCQACAQIhb3BBbGxvd2VkOiB1bmV4cGVjdGVkIHJlc3VsdCB0eXBlAQhtYWluT25seQEBaQMJAQhjb250YWlucwIJARFAZXh0ck5hdGl2ZSgxMDUzKQIFDWNvbmZpZ0FkZHJlc3MCBG1haW4JAKUIAQgFAWkGY2FsbGVyBgkAAgECEG9ubHkgbWFpbiBjYW4gZG8BB3Rocm93SWYCCWNvbmRpdGlvbgVlcnJvcgMFCWNvbmRpdGlvbgkAAgEFBWVycm9yBgAJVElNRUZSQU1FAKALAAR1c2RjCQERQGV4dHJOYXRpdmUoMTA1MykCBQR0aGlzAgR1c2RjAAR1c2R0CQERQGV4dHJOYXRpdmUoMTA1MykCBQR0aGlzAgR1c2R0AAR1c2RuCQERQGV4dHJOYXRpdmUoMTA1MykCBQR0aGlzAgR1c2RuARFhZGRyZXNzQXNzZXRTdG9yZQIHYWRkcmVzcwdhc3NldElkCQCsAgIJAKwCAgUHYWRkcmVzcwIBXwUHYXNzZXRJZAEVYWRkcmVzc0Fzc2V0VVNETlN0b3JlAgdhZGRyZXNzB2Fzc2V0SWQJAKwCAgkArAICCQCsAgIFB2FkZHJlc3MCAV8FB2Fzc2V0SWQCBV91c2RuARVhZGRyZXNzVG90YWxVU0ROU3RvcmUBB2FkZHJlc3MJAKwCAgUHYWRkcmVzcwIFX3VzZG4BD3RvdGFsQXNzZXRTdG9yZQEHYXNzZXRJZAkArAICAgZ0b3RhbF8FB2Fzc2V0SWQBEXZlc3RpbmdTdGFydFN0b3JlAQdhZGRyZXNzCQCsAgIFB2FkZHJlc3MCDl92ZXN0aW5nX3N0YXJ0ARN2ZXN0aW5nQ2xhaW1lZFN0b3JlAQdhZGRyZXNzCQCsAgIFB2FkZHJlc3MCCF9jbGFpbWVkARl3aXRoZHJhd25XaXRoaW5FcG9jaFN0b3JlAwplcG9jaFN0YXJ0B2FkZHJlc3MHYXNzZXRJZAkArAICCQCsAgIJAKwCAgkArAICCQCsAgIFB2FkZHJlc3MCAV8FB2Fzc2V0SWQCAV8JAKQDAQUKZXBvY2hTdGFydAIXX3dpdGhkcmF3bl93aXRoaW5fZXBvY2gAEWN1cnJlbnRFcG9jaFN0YXJ0CQBoAgkAaQIFBkhFSUdIVAUJVElNRUZSQU1FBQlUSU1FRlJBTUUAEG1pbmlNYXhDbGFpbVVzZG4JAQt2YWx1ZU9yRWxzZQIJAJoIAgUNY29uZmlnQWRkcmVzcwISbWluaW1heFZlc3RpbmdVc2RuCQBoAgDoBwDAhD0ADnRvdGFsVVNETlN0b3JlAgp0b3RhbF91c2RuAA12ZXN0aW5nUGVyaW9kCQBoAgCgCwDtAgETd2l0aGRyYXduVG9kYXlTdG9yZQEHYWRkcmVzcwkBGXdpdGhkcmF3bldpdGhpbkVwb2NoU3RvcmUDBRFjdXJyZW50RXBvY2hTdGFydAUHYWRkcmVzcwUEdXNkbgEOd2l0aGRyYXduVG9kYXkBB2FkZHJlc3MJAQt2YWx1ZU9yRWxzZQIJAJ8IAQkBE3dpdGhkcmF3blRvZGF5U3RvcmUBBQdhZGRyZXNzAAABEnVzZXJWZXN0aW5nQmFsYW5jZQEHYWRkcmVzcwQFY1VTRE4JAQt2YWx1ZU9yRWxzZQIJAJ8IAQkBFWFkZHJlc3NBc3NldFVTRE5TdG9yZQIFB2FkZHJlc3MFBHVzZGMAAAQFdFVTRE4JAQt2YWx1ZU9yRWxzZQIJAJ8IAQkBFWFkZHJlc3NBc3NldFVTRE5TdG9yZQIFB2FkZHJlc3MFBHVzZHQAAAQMdG90YWxWZXN0aW5nCQBkAgUFY1VTRE4FBXRVU0ROBA5hbHJlYWR5Q2xhaW1lZAkBC3ZhbHVlT3JFbHNlAgkAnwgBCQETdmVzdGluZ0NsYWltZWRTdG9yZQEFB2FkZHJlc3MAAAQMY2xhaW1lZFRvZGF5CQEOd2l0aGRyYXduVG9kYXkBBQdhZGRyZXNzBAckbWF0Y2gwCQCaCAIFBHRoaXMJARF2ZXN0aW5nU3RhcnRTdG9yZQEFB2FkZHJlc3MDCQABAgUHJG1hdGNoMAIDSW50BAx2ZXN0aW5nU3RhcnQFByRtYXRjaDAECGVsaWdpYmxlAwkAZgIFBkhFSUdIVAkAZAIFDHZlc3RpbmdTdGFydAUNdmVzdGluZ1BlcmlvZAUMdG90YWxWZXN0aW5nCQBrAwUMdG90YWxWZXN0aW5nCQBlAgUGSEVJR0hUBQx2ZXN0aW5nU3RhcnQFDXZlc3RpbmdQZXJpb2QEDmF2YWlsYWJsZVRvZGF5CQCXAwEJAMwIAgkAZQIFCGVsaWdpYmxlBQ5hbHJlYWR5Q2xhaW1lZAkAzAgCCQBlAgkAlgMBCQDMCAIFEG1pbmlNYXhDbGFpbVVzZG4JAMwIAgkAaQIFDHRvdGFsVmVzdGluZwDtAgUDbmlsBQxjbGFpbWVkVG9kYXkFA25pbAkAmQoHBQx0b3RhbFZlc3RpbmcFDmFscmVhZHlDbGFpbWVkBQhlbGlnaWJsZQUMdmVzdGluZ1N0YXJ0CQBkAgUMdmVzdGluZ1N0YXJ0BQ12ZXN0aW5nUGVyaW9kBQxjbGFpbWVkVG9kYXkFDmF2YWlsYWJsZVRvZGF5CQCZCgcFDHRvdGFsVmVzdGluZwAAAP///////////wEA////////////AQD///////////8BAP///////////wEA////////////AQEKYWR2aXNlVXNlcgEHYWRkcmVzcwQLJHQwMzYyOTM3NDUJARJ1c2VyVmVzdGluZ0JhbGFuY2UBBQdhZGRyZXNzBAx0b3RhbFZlc3RpbmcIBQskdDAzNjI5Mzc0NQJfMQQOYWxyZWFkeUNsYWltZWQIBQskdDAzNjI5Mzc0NQJfMgQIZWxpZ2libGUIBQskdDAzNjI5Mzc0NQJfMwQFc3RhcnQIBQskdDAzNjI5Mzc0NQJfNAQDZW5kCAULJHQwMzYyOTM3NDUCXzUEDGNsYWltZWRUb2RheQgFCyR0MDM2MjkzNzQ1Al82BA5hdmFpbGFibGVUb2RheQgFCyR0MDM2MjkzNzQ1Al83BAFjCQELdmFsdWVPckVsc2UCCQCfCAEJARFhZGRyZXNzQXNzZXRTdG9yZQIFB2FkZHJlc3MFBHVzZGMAAAQBdAkBC3ZhbHVlT3JFbHNlAgkAnwgBCQERYWRkcmVzc0Fzc2V0U3RvcmUCBQdhZGRyZXNzBQR1c2R0AAAJAKwCAgkArAICCQCsAgIJAKwCAgkArAICCQCsAgIJAKwCAgkArAICCQCsAgIJAKwCAgkArAICCQCsAgIJAKwCAgkArAICCQCsAgIJAKwCAgkArAICCQCsAgIJAKwCAgkArAICCQCsAgIJAKwCAgkArAICCQCsAgIJAKwCAgkArAICCQCsAgICCWFkZHJlc3M6IAUHYWRkcmVzcwIQLCB0b3RhbFZlc3Rpbmc6IAkApAMBBQx0b3RhbFZlc3RpbmcCEiwgYWxyZWFkeUNsYWltZWQ6IAkApAMBBQ5hbHJlYWR5Q2xhaW1lZAIMLCBlbGlnaWJsZTogCQCkAwEFCGVsaWdpYmxlAg8sIHN0YXJ0SGVpZ2h0OiAJAKQDAQUFc3RhcnQCDSwgZW5kSGVpZ2h0OiAJAKQDAQUDZW5kAg0sIG5vd0hlaWdodDogCQCkAwEFBkhFSUdIVAIRLCB1c2RjX21pZ3JhdGVkOiAJAKQDAQUBYwIRLCB1c2R0X21pZ3JhdGVkOiAJAKQDAQUBdAIQLCB1c2RjX2Fzc2V0SWQ6IAUEdXNkYwIQLCB1c2R0X2Fzc2V0SWQ6IAUEdXNkdAIOLCBkYWlseUxpbWl0OiAJAKQDAQkAlgMBCQDMCAIJAGkCBQx0b3RhbFZlc3RpbmcA7QIJAMwIAgUQbWluaU1heENsYWltVXNkbgUDbmlsAhAsIGNsYWltZWRUb2RheTogCQCkAwEFDGNsYWltZWRUb2RheQISLCBhdmFpbGFibGVUb2RheTogCQCkAwEFDmF2YWlsYWJsZVRvZGF5BAFpAQRpbml0BARjb25mA3RJZANjSWQDbklkAwkBAiE9AggFAWkGY2FsbGVyBQR0aGlzCQACAQISb25seSBzZWxmIGNhbiBpbml0CQDMCAIJARB3cml0ZUNvbnN0U3RyaW5nAgULY29uZmlnU3RvcmUFBGNvbmYJAMwIAgkBEHdyaXRlQ29uc3RTdHJpbmcCAgR1c2R0BQN0SWQJAMwIAgkBEHdyaXRlQ29uc3RTdHJpbmcCAgR1c2RjBQNjSWQJAMwIAgkBEHdyaXRlQ29uc3RTdHJpbmcCAgR1c2RuBQNuSWQFA25pbAFpAQ9zdGFydFZlc3RpbmdBbGwABAdhZGRyZXNzCQClCAEIBQFpBmNhbGxlcgQGY2hlY2tzCQEJb3BBbGxvd2VkAQIVbGlxdWlkYW9fc3RhcnRWZXN0aW5nAwkAAAIFBmNoZWNrcwUGY2hlY2tzBAp1c2VyVFN0b3JlCQERYWRkcmVzc0Fzc2V0U3RvcmUCBQdhZGRyZXNzBQR1c2R0BAp1c2VyQ1N0b3JlCQERYWRkcmVzc0Fzc2V0U3RvcmUCBQdhZGRyZXNzBQR1c2RjBApjb252ZXJ0ZWRDCQELdmFsdWVPckVsc2UCCQCaCAIFBHRoaXMFCnVzZXJDU3RvcmUAAAQKY29udmVydGVkVAkBC3ZhbHVlT3JFbHNlAgkAmggCBQR0aGlzBQp1c2VyVFN0b3JlAAAEDnN0YXJ0ZWRWZXN0aW5nCQETdmFsdWVPckVycm9yTWVzc2FnZQIJAJoIAgUEdGhpcwkBFWFkZHJlc3NUb3RhbFVTRE5TdG9yZQEFB2FkZHJlc3MCFW5vIGFjY291bnRlZCBmb3IgdXNlcgkAzAgCCQEIY2hhbmdlQnkCAg1jb21taXR0ZWRVU0ROBQ5zdGFydGVkVmVzdGluZwkAzAgCCQENd3JpdGVDb25zdEludAIJARF2ZXN0aW5nU3RhcnRTdG9yZQEFB2FkZHJlc3MFBkhFSUdIVAkAzAgCCQEIY2hhbmdlQnkCCQEPdG90YWxBc3NldFN0b3JlAQUEdXNkYwkBAS0BBQpjb252ZXJ0ZWRDCQDMCAIJAQtEZWxldGVFbnRyeQEFCnVzZXJDU3RvcmUJAMwIAgkBCGNoYW5nZUJ5AgkBD3RvdGFsQXNzZXRTdG9yZQEFBHVzZHQJAQEtAQUKY29udmVydGVkVAkAzAgCCQELRGVsZXRlRW50cnkBBQp1c2VyVFN0b3JlBQNuaWwJAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4BaQEOd2l0aGRyYXdWZXN0ZWQABAZjaGVja3MJAQlvcEFsbG93ZWQBAhdsaXF1aWRhb193aXRoZHJhd1Zlc3RlZAMJAAACBQZjaGVja3MFBmNoZWNrcwQHYWRkcmVzcwkApQgBCAUBaQZjYWxsZXIECyR0MDYwNDM2MTU5CQESdXNlclZlc3RpbmdCYWxhbmNlAQUHYWRkcmVzcwQMdG90YWxWZXN0aW5nCAULJHQwNjA0MzYxNTkCXzEEDmFscmVhZHlDbGFpbWVkCAULJHQwNjA0MzYxNTkCXzIECGVsaWdpYmxlCAULJHQwNjA0MzYxNTkCXzMEBXN0YXJ0CAULJHQwNjA0MzYxNTkCXzQEA2VuZAgFCyR0MDYwNDM2MTU5Al81BAxjbGFpbWVkVG9kYXkIBQskdDA2MDQzNjE1OQJfNgQOYXZhaWxhYmxlVG9kYXkIBQskdDA2MDQzNjE1OQJfNwMJAGYCAAAFBXN0YXJ0CQACAQISbm8gdmVzdGluZyBlbmFibGVkAwkAZwIAAAUOYXZhaWxhYmxlVG9kYXkJAAIBAhFub3RoaW5nIGF2YWlsYWJsZQkAlAoCCQDMCAIJAQ5TY3JpcHRUcmFuc2ZlcgMIBQFpBmNhbGxlcgUOYXZhaWxhYmxlVG9kYXkJANkEAQUEdXNkbgkAzAgCCQEMSW50ZWdlckVudHJ5AgkBE3Zlc3RpbmdDbGFpbWVkU3RvcmUBBQdhZGRyZXNzCQBkAgUOYWxyZWFkeUNsYWltZWQFDmF2YWlsYWJsZVRvZGF5CQDMCAIJAQhjaGFuZ2VCeQIJARN3aXRoZHJhd25Ub2RheVN0b3JlAQUHYWRkcmVzcwUOYXZhaWxhYmxlVG9kYXkFA25pbAUOYXZhaWxhYmxlVG9kYXkJAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4BaQEKYWNjb3VudEZvcgMHYWRkcmVzcwdhc3NldElkBmFtb3VudAQIYXR0YWNoZWQJAJEDAggFAWkIcGF5bWVudHMAAAQGY2hlY2tzAwMDAwkBCG1haW5Pbmx5AQUBaQkBCW9wQWxsb3dlZAECDWxpcXVpZGFvX21vdmUHCQEHdGhyb3dJZgIJAQIhPQIJANgEAQkBBXZhbHVlAQgFCGF0dGFjaGVkB2Fzc2V0SWQFBHVzZG4CFXVzZG4gbXVzdCBiZSBhdHRhY2hlZAcJAQd0aHJvd0lmAgkAZgIFBmFtb3VudAgFCGF0dGFjaGVkBmFtb3VudAITbm90IGVub3VnaCBzdXBwbGllZAcJAQd0aHJvd0lmAgMJAQIhPQIFB2Fzc2V0SWQFBHVzZGMJAQIhPQIFB2Fzc2V0SWQFBHVzZHQHAgtvbmx5IHQgb3IgYwcDCQAAAgUGY2hlY2tzBQZjaGVja3MJAMwIAgkBDXdyaXRlQ29uc3RJbnQCCQERYWRkcmVzc0Fzc2V0U3RvcmUCBQdhZGRyZXNzBQdhc3NldElkBQZhbW91bnQJAMwIAgkBCGNoYW5nZUJ5AgkBFWFkZHJlc3NBc3NldFVTRE5TdG9yZQIFB2FkZHJlc3MFB2Fzc2V0SWQIBQhhdHRhY2hlZAZhbW91bnQJAMwIAgkBCGNoYW5nZUJ5AgkBFWFkZHJlc3NUb3RhbFVTRE5TdG9yZQEFB2FkZHJlc3MIBQhhdHRhY2hlZAZhbW91bnQJAMwIAgkBCGNoYW5nZUJ5AgkBD3RvdGFsQXNzZXRTdG9yZQEFB2Fzc2V0SWQFBmFtb3VudAkAzAgCCQEIY2hhbmdlQnkCBQ50b3RhbFVTRE5TdG9yZQgFCGF0dGFjaGVkBmFtb3VudAUDbmlsCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuAKG832w=", "chainId": 87, "height": 3236525, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: 7rotTFSzFy2o2Q4PVnSTbhKtVoDxY2KNC5cnVLf9jKik Next: c9okMe8f9WB98km9MkqULxiBt4M2WYrzNreEdzQSFY2 Diff:
OldNewDifferences
5858 else true
5959
6060
61-let u = getStringValue(this, "usdc")
61+let u = 1440
6262
63-let v = getStringValue(this, "usdt")
63+let v = getStringValue(this, "usdc")
6464
65-let w = getStringValue(this, "usdn")
65+let w = getStringValue(this, "usdt")
6666
67-func x (y,z) = ((y + "_") + z)
67+let x = getStringValue(this, "usdn")
68+
69+func y (z,A) = ((z + "_") + A)
6870
6971
70-func A (y,z) = (((y + "_") + z) + "_usdn")
72+func B (z,A) = (((z + "_") + A) + "_usdn")
7173
7274
73-func B (y) = (y + "_usdn")
75+func C (z) = (z + "_usdn")
7476
7577
76-func C (z) = ("total_" + z)
78+func D (A) = ("total_" + A)
7779
7880
79-func D (y) = (y + "_vesting_start")
81+func E (z) = (z + "_vesting_start")
8082
8183
82-func E (y) = (y + "_claimed")
84+func F (z) = (z + "_claimed")
8385
8486
85-let F = "total_usdn"
87+func G (H,z,A) = (((((z + "_") + A) + "_") + toString(H)) + "_withdrawn_within_epoch")
8688
87-let G = (1440 * 365)
8889
89-func H (y) = {
90- let I = valueOrElse(getInteger(A(y, u)), 0)
91- let J = valueOrElse(getInteger(A(y, v)), 0)
92- let K = (I + J)
93- let L = valueOrElse(getInteger(E(y)), 0)
94- let j = getInteger(this, D(y))
90+let I = ((l / u) * u)
91+
92+let J = valueOrElse(getInteger(h, "minimaxVestingUsdn"), (1000 * 1000000))
93+
94+let K = "total_usdn"
95+
96+let L = (1440 * 365)
97+
98+func M (z) = G(I, z, x)
99+
100+
101+func N (z) = valueOrElse(getInteger(M(z)), 0)
102+
103+
104+func O (z) = {
105+ let P = valueOrElse(getInteger(B(z, v)), 0)
106+ let Q = valueOrElse(getInteger(B(z, w)), 0)
107+ let R = (P + Q)
108+ let S = valueOrElse(getInteger(F(z)), 0)
109+ let T = N(z)
110+ let j = getInteger(this, E(z))
95111 if ($isInstanceOf(j, "Int"))
96112 then {
97- let M = j
98- let N = if ((l > (M + G)))
99- then K
100- else fraction(K, (l - M), G)
101- $Tuple5(K, L, N, M, (M + G))
113+ let U = j
114+ let V = if ((l > (U + L)))
115+ then R
116+ else fraction(R, (l - U), L)
117+ let W = min([(V - S), (max([J, (R / 365)]) - T)])
118+ $Tuple7(R, S, V, U, (U + L), T, W)
102119 }
103- else $Tuple5(K, 0, -1, -1, -1)
120+ else $Tuple7(R, 0, -1, -1, -1, -1, -1)
104121 }
105122
106123
107-func O (y) = {
108- let P = H(y)
109- let K = P._1
110- let L = P._2
111- let N = P._3
112- let Q = P._4
113- let R = P._5
114- let S = valueOrElse(getInteger(x(y, u)), 0)
115- let T = valueOrElse(getInteger(x(y, v)), 0)
116- ((((((((((((((((((((("address: " + y) + ", totalVesting: ") + toString(K)) + ", alreadyClaimed: ") + toString(L)) + ", eligible: ") + toString(N)) + ", startHeight: ") + toString(Q)) + ", endHeight: ") + toString(R)) + ", nowHeight: ") + toString(l)) + ", usdc_migrated: ") + toString(S)) + ", usdt_migrated: ") + toString(T)) + ", usdc_assetId: ") + u) + ", usdt_assetId: ") + v)
124+func X (z) = {
125+ let Y = O(z)
126+ let R = Y._1
127+ let S = Y._2
128+ let V = Y._3
129+ let Z = Y._4
130+ let aa = Y._5
131+ let T = Y._6
132+ let W = Y._7
133+ let ab = valueOrElse(getInteger(y(z, v)), 0)
134+ let ac = valueOrElse(getInteger(y(z, w)), 0)
135+ ((((((((((((((((((((((((((("address: " + z) + ", totalVesting: ") + toString(R)) + ", alreadyClaimed: ") + toString(S)) + ", eligible: ") + toString(V)) + ", startHeight: ") + toString(Z)) + ", endHeight: ") + toString(aa)) + ", nowHeight: ") + toString(l)) + ", usdc_migrated: ") + toString(ab)) + ", usdt_migrated: ") + toString(ac)) + ", usdc_assetId: ") + v) + ", usdt_assetId: ") + w) + ", dailyLimit: ") + toString(max([(R / 365), J]))) + ", claimedToday: ") + toString(T)) + ", availableToday: ") + toString(W))
117136 }
118137
119138
120139 @Callable(q)
121-func init (U,V,W,X) = if ((q.caller != this))
140+func init (ad,ae,af,ag) = if ((q.caller != this))
122141 then throw("only self can init")
123- else [a(g, U), a("usdt", V), a("usdc", W), a("usdn", X)]
142+ else [a(g, ad), a("usdt", ae), a("usdc", af), a("usdn", ag)]
124143
125144
126145
127146 @Callable(q)
128147 func startVestingAll () = {
129- let y = toString(q.caller)
130- let Y = m("liquidao_startVesting")
131- if ((Y == Y))
148+ let z = toString(q.caller)
149+ let ah = m("liquidao_startVesting")
150+ if ((ah == ah))
132151 then {
133- let Z = x(y, v)
134- let aa = x(y, u)
135- let ab = valueOrElse(getInteger(this, aa), 0)
136- let ac = valueOrElse(getInteger(this, Z), 0)
137- let ad = valueOrErrorMessage(getInteger(this, B(y)), "no accounted for user")
138-[f("committedUSDN", ad), d(D(y), l), f(C(u), -(ab)), DeleteEntry(aa), f(C(v), -(ac)), DeleteEntry(Z)]
152+ let ai = y(z, w)
153+ let aj = y(z, v)
154+ let ak = valueOrElse(getInteger(this, aj), 0)
155+ let al = valueOrElse(getInteger(this, ai), 0)
156+ let am = valueOrErrorMessage(getInteger(this, C(z)), "no accounted for user")
157+[f("committedUSDN", am), d(E(z), l), f(D(v), -(ak)), DeleteEntry(aj), f(D(w), -(al)), DeleteEntry(ai)]
139158 }
140159 else throw("Strict value is not equal to itself.")
141160 }
144163
145164 @Callable(q)
146165 func withdrawVested () = {
147- let Y = m("liquidao_withdrawVested")
148- if ((Y == Y))
166+ let ah = m("liquidao_withdrawVested")
167+ if ((ah == ah))
149168 then {
150- let y = toString(q.caller)
151- let ae = H(y)
152- let K = ae._1
153- let L = ae._2
154- let N = ae._3
155- let Q = ae._4
156- let R = ae._5
157- let af = (N - L)
158- if ((0 > Q))
169+ let z = toString(q.caller)
170+ let an = O(z)
171+ let R = an._1
172+ let S = an._2
173+ let V = an._3
174+ let Z = an._4
175+ let aa = an._5
176+ let T = an._6
177+ let W = an._7
178+ if ((0 > Z))
159179 then throw("no vesting enabled")
160- else if ((af == 0))
161- then $Tuple2(nil, 0)
162- else $Tuple2([ScriptTransfer(q.caller, af, fromBase58String(w)), IntegerEntry(E(y), (L + af))], af)
180+ else if ((0 >= W))
181+ then throw("nothing available")
182+ else $Tuple2([ScriptTransfer(q.caller, W, fromBase58String(x)), IntegerEntry(F(z), (S + W)), f(M(z), W)], W)
163183 }
164184 else throw("Strict value is not equal to itself.")
165185 }
167187
168188
169189 @Callable(q)
170-func accountFor (y,z,ag) = {
171- let ah = q.payments[0]
172- let Y = if (if (if (if (p(q))
190+func accountFor (z,A,ao) = {
191+ let ap = q.payments[0]
192+ let ah = if (if (if (if (p(q))
173193 then m("liquidao_move")
174194 else false)
175- then r((toBase58String(value(ah.assetId)) != w), "usdn must be attached")
195+ then r((toBase58String(value(ap.assetId)) != x), "usdn must be attached")
176196 else false)
177- then r((ag > ah.amount), "not enough supplied")
197+ then r((ao > ap.amount), "not enough supplied")
178198 else false)
179- then r(if ((z != u))
180- then (z != v)
199+ then r(if ((A != v))
200+ then (A != w)
181201 else false, "only t or c")
182202 else false
183- if ((Y == Y))
184- then [d(x(y, z), ag), f(A(y, z), ah.amount), f(B(y), ah.amount), f(C(z), ag), f(F, ah.amount)]
203+ if ((ah == ah))
204+ then [d(y(z, A), ao), f(B(z, A), ap.amount), f(C(z), ap.amount), f(D(A), ao), f(K, ap.amount)]
185205 else throw("Strict value is not equal to itself.")
186206 }
187207
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 6 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 func a (b,c) = if (!(isDefined(getString(this, b))))
55 then StringEntry(b, c)
66 else throw(("already initialized: " + b))
77
88
99 func d (b,c) = if (!(isDefined(getInteger(this, b))))
1010 then IntegerEntry(b, c)
1111 else throw(("already initialized: " + b))
1212
1313
1414 func e (b,c) = if ((0 > c))
1515 then throw(((("writing negative value " + toString(c)) + " for key ") + b))
1616 else IntegerEntry(b, c)
1717
1818
1919 func f (b,c) = e(b, (valueOrElse(getInteger(this, b), 0) + c))
2020
2121
2222 let g = "config"
2323
2424 let h = addressFromStringValue(getStringValue(this, g))
2525
2626 let i = {
2727 let j = getString(h, "oracle_address")
2828 if ($isInstanceOf(j, "String"))
2929 then {
3030 let k = j
3131 addressFromString(k)
3232 }
3333 else unit
3434 }
3535
3636 let l = height
3737
3838 func m (n) = {
3939 let j = invoke(h, "opAllowed", ["usdn", n], nil)
4040 if ($isInstanceOf(j, "Boolean"))
4141 then {
4242 let o = j
4343 if (o)
4444 then true
4545 else throw("not allowed")
4646 }
4747 else throw("opAllowed: unexpected result type")
4848 }
4949
5050
5151 func p (q) = if (contains(getStringValue(h, "main"), toString(q.caller)))
5252 then true
5353 else throw("only main can do")
5454
5555
5656 func r (s,t) = if (s)
5757 then throw(t)
5858 else true
5959
6060
61-let u = getStringValue(this, "usdc")
61+let u = 1440
6262
63-let v = getStringValue(this, "usdt")
63+let v = getStringValue(this, "usdc")
6464
65-let w = getStringValue(this, "usdn")
65+let w = getStringValue(this, "usdt")
6666
67-func x (y,z) = ((y + "_") + z)
67+let x = getStringValue(this, "usdn")
68+
69+func y (z,A) = ((z + "_") + A)
6870
6971
70-func A (y,z) = (((y + "_") + z) + "_usdn")
72+func B (z,A) = (((z + "_") + A) + "_usdn")
7173
7274
73-func B (y) = (y + "_usdn")
75+func C (z) = (z + "_usdn")
7476
7577
76-func C (z) = ("total_" + z)
78+func D (A) = ("total_" + A)
7779
7880
79-func D (y) = (y + "_vesting_start")
81+func E (z) = (z + "_vesting_start")
8082
8183
82-func E (y) = (y + "_claimed")
84+func F (z) = (z + "_claimed")
8385
8486
85-let F = "total_usdn"
87+func G (H,z,A) = (((((z + "_") + A) + "_") + toString(H)) + "_withdrawn_within_epoch")
8688
87-let G = (1440 * 365)
8889
89-func H (y) = {
90- let I = valueOrElse(getInteger(A(y, u)), 0)
91- let J = valueOrElse(getInteger(A(y, v)), 0)
92- let K = (I + J)
93- let L = valueOrElse(getInteger(E(y)), 0)
94- let j = getInteger(this, D(y))
90+let I = ((l / u) * u)
91+
92+let J = valueOrElse(getInteger(h, "minimaxVestingUsdn"), (1000 * 1000000))
93+
94+let K = "total_usdn"
95+
96+let L = (1440 * 365)
97+
98+func M (z) = G(I, z, x)
99+
100+
101+func N (z) = valueOrElse(getInteger(M(z)), 0)
102+
103+
104+func O (z) = {
105+ let P = valueOrElse(getInteger(B(z, v)), 0)
106+ let Q = valueOrElse(getInteger(B(z, w)), 0)
107+ let R = (P + Q)
108+ let S = valueOrElse(getInteger(F(z)), 0)
109+ let T = N(z)
110+ let j = getInteger(this, E(z))
95111 if ($isInstanceOf(j, "Int"))
96112 then {
97- let M = j
98- let N = if ((l > (M + G)))
99- then K
100- else fraction(K, (l - M), G)
101- $Tuple5(K, L, N, M, (M + G))
113+ let U = j
114+ let V = if ((l > (U + L)))
115+ then R
116+ else fraction(R, (l - U), L)
117+ let W = min([(V - S), (max([J, (R / 365)]) - T)])
118+ $Tuple7(R, S, V, U, (U + L), T, W)
102119 }
103- else $Tuple5(K, 0, -1, -1, -1)
120+ else $Tuple7(R, 0, -1, -1, -1, -1, -1)
104121 }
105122
106123
107-func O (y) = {
108- let P = H(y)
109- let K = P._1
110- let L = P._2
111- let N = P._3
112- let Q = P._4
113- let R = P._5
114- let S = valueOrElse(getInteger(x(y, u)), 0)
115- let T = valueOrElse(getInteger(x(y, v)), 0)
116- ((((((((((((((((((((("address: " + y) + ", totalVesting: ") + toString(K)) + ", alreadyClaimed: ") + toString(L)) + ", eligible: ") + toString(N)) + ", startHeight: ") + toString(Q)) + ", endHeight: ") + toString(R)) + ", nowHeight: ") + toString(l)) + ", usdc_migrated: ") + toString(S)) + ", usdt_migrated: ") + toString(T)) + ", usdc_assetId: ") + u) + ", usdt_assetId: ") + v)
124+func X (z) = {
125+ let Y = O(z)
126+ let R = Y._1
127+ let S = Y._2
128+ let V = Y._3
129+ let Z = Y._4
130+ let aa = Y._5
131+ let T = Y._6
132+ let W = Y._7
133+ let ab = valueOrElse(getInteger(y(z, v)), 0)
134+ let ac = valueOrElse(getInteger(y(z, w)), 0)
135+ ((((((((((((((((((((((((((("address: " + z) + ", totalVesting: ") + toString(R)) + ", alreadyClaimed: ") + toString(S)) + ", eligible: ") + toString(V)) + ", startHeight: ") + toString(Z)) + ", endHeight: ") + toString(aa)) + ", nowHeight: ") + toString(l)) + ", usdc_migrated: ") + toString(ab)) + ", usdt_migrated: ") + toString(ac)) + ", usdc_assetId: ") + v) + ", usdt_assetId: ") + w) + ", dailyLimit: ") + toString(max([(R / 365), J]))) + ", claimedToday: ") + toString(T)) + ", availableToday: ") + toString(W))
117136 }
118137
119138
120139 @Callable(q)
121-func init (U,V,W,X) = if ((q.caller != this))
140+func init (ad,ae,af,ag) = if ((q.caller != this))
122141 then throw("only self can init")
123- else [a(g, U), a("usdt", V), a("usdc", W), a("usdn", X)]
142+ else [a(g, ad), a("usdt", ae), a("usdc", af), a("usdn", ag)]
124143
125144
126145
127146 @Callable(q)
128147 func startVestingAll () = {
129- let y = toString(q.caller)
130- let Y = m("liquidao_startVesting")
131- if ((Y == Y))
148+ let z = toString(q.caller)
149+ let ah = m("liquidao_startVesting")
150+ if ((ah == ah))
132151 then {
133- let Z = x(y, v)
134- let aa = x(y, u)
135- let ab = valueOrElse(getInteger(this, aa), 0)
136- let ac = valueOrElse(getInteger(this, Z), 0)
137- let ad = valueOrErrorMessage(getInteger(this, B(y)), "no accounted for user")
138-[f("committedUSDN", ad), d(D(y), l), f(C(u), -(ab)), DeleteEntry(aa), f(C(v), -(ac)), DeleteEntry(Z)]
152+ let ai = y(z, w)
153+ let aj = y(z, v)
154+ let ak = valueOrElse(getInteger(this, aj), 0)
155+ let al = valueOrElse(getInteger(this, ai), 0)
156+ let am = valueOrErrorMessage(getInteger(this, C(z)), "no accounted for user")
157+[f("committedUSDN", am), d(E(z), l), f(D(v), -(ak)), DeleteEntry(aj), f(D(w), -(al)), DeleteEntry(ai)]
139158 }
140159 else throw("Strict value is not equal to itself.")
141160 }
142161
143162
144163
145164 @Callable(q)
146165 func withdrawVested () = {
147- let Y = m("liquidao_withdrawVested")
148- if ((Y == Y))
166+ let ah = m("liquidao_withdrawVested")
167+ if ((ah == ah))
149168 then {
150- let y = toString(q.caller)
151- let ae = H(y)
152- let K = ae._1
153- let L = ae._2
154- let N = ae._3
155- let Q = ae._4
156- let R = ae._5
157- let af = (N - L)
158- if ((0 > Q))
169+ let z = toString(q.caller)
170+ let an = O(z)
171+ let R = an._1
172+ let S = an._2
173+ let V = an._3
174+ let Z = an._4
175+ let aa = an._5
176+ let T = an._6
177+ let W = an._7
178+ if ((0 > Z))
159179 then throw("no vesting enabled")
160- else if ((af == 0))
161- then $Tuple2(nil, 0)
162- else $Tuple2([ScriptTransfer(q.caller, af, fromBase58String(w)), IntegerEntry(E(y), (L + af))], af)
180+ else if ((0 >= W))
181+ then throw("nothing available")
182+ else $Tuple2([ScriptTransfer(q.caller, W, fromBase58String(x)), IntegerEntry(F(z), (S + W)), f(M(z), W)], W)
163183 }
164184 else throw("Strict value is not equal to itself.")
165185 }
166186
167187
168188
169189 @Callable(q)
170-func accountFor (y,z,ag) = {
171- let ah = q.payments[0]
172- let Y = if (if (if (if (p(q))
190+func accountFor (z,A,ao) = {
191+ let ap = q.payments[0]
192+ let ah = if (if (if (if (p(q))
173193 then m("liquidao_move")
174194 else false)
175- then r((toBase58String(value(ah.assetId)) != w), "usdn must be attached")
195+ then r((toBase58String(value(ap.assetId)) != x), "usdn must be attached")
176196 else false)
177- then r((ag > ah.amount), "not enough supplied")
197+ then r((ao > ap.amount), "not enough supplied")
178198 else false)
179- then r(if ((z != u))
180- then (z != v)
199+ then r(if ((A != v))
200+ then (A != w)
181201 else false, "only t or c")
182202 else false
183- if ((Y == Y))
184- then [d(x(y, z), ag), f(A(y, z), ah.amount), f(B(y), ah.amount), f(C(z), ag), f(F, ah.amount)]
203+ if ((ah == ah))
204+ then [d(y(z, A), ao), f(B(z, A), ap.amount), f(C(z), ap.amount), f(D(A), ao), f(K, ap.amount)]
185205 else throw("Strict value is not equal to itself.")
186206 }
187207
188208

github/deemru/w8io/6500d08 
199.72 ms