tx · 4bVVeqWJeJp2Ki1nJPcMurvpDiHMLUgcmabayyP3wcAc

3PCbvPVQfSvVu88ip8Fm5YjwJhjEYk1Txhk:  -0.01800000 Waves

2023.07.28 14:44 [3751350] smart account 3PCbvPVQfSvVu88ip8Fm5YjwJhjEYk1Txhk > SELF 0.00000000 Waves

{ "type": 13, "id": "4bVVeqWJeJp2Ki1nJPcMurvpDiHMLUgcmabayyP3wcAc", "fee": 1800000, "feeAssetId": null, "timestamp": 1690544641009, "version": 1, "sender": "3PCbvPVQfSvVu88ip8Fm5YjwJhjEYk1Txhk", "senderPublicKey": "FwXAX9xcWiwbCejtdF8q1Nz8NpJqaVxXKnKK6JoR24pZ", "proofs": [ "51JkA5D4wDyh8CPzFDuM8bDzJ6ic4Ekqb2q7tJ2U9ykx5ZaTd23QstNF75yqy8Mw3Dy3YsPCqp9ZmUSTDy8VRkr7" ], "script": "base64:BgI5CAISCwoJCAgICAgICAEIEgUKAwgIARIAEgQKAgQEEgQKAgQEEgUKAwEBBBIECgIEBBIECgIBARIAIgALZmFjdG9yc0Jhc2UA6AcBEHdyaXRlQ29uc3RTdHJpbmcCA2tleQV2YWx1ZQMJAQEhAQkBCWlzRGVmaW5lZAEJAJ0IAgUEdGhpcwUDa2V5CQELU3RyaW5nRW50cnkCBQNrZXkFBXZhbHVlCQACAQkArAICAhVhbHJlYWR5IGluaXRpYWxpemVkOiAFA2tleQENd3JpdGVDb25zdEludAIDa2V5BXZhbHVlAwkBASEBCQEJaXNEZWZpbmVkAQkAmggCBQR0aGlzBQNrZXkJAQxJbnRlZ2VyRW50cnkCBQNrZXkFBXZhbHVlCQACAQkArAICAhVhbHJlYWR5IGluaXRpYWxpemVkOiAFA2tleQEId3JpdGVJbnQCA2tleQV2YWx1ZQMJAGYCAAAFBXZhbHVlCQACAQkArAICCQCsAgIJAKwCAgIXd3JpdGluZyBuZWdhdGl2ZSB2YWx1ZSAJAKQDAQUFdmFsdWUCCSBmb3Iga2V5IAUDa2V5CQEMSW50ZWdlckVudHJ5AgUDa2V5BQV2YWx1ZQEIYXNTdHJpbmcBBXZhbHVlBAckbWF0Y2gwBQV2YWx1ZQMJAAECBQckbWF0Y2gwAgZTdHJpbmcEAXMFByRtYXRjaDAFAXMJAAIBAhx3cm9uZyB0eXBlLCBleHBlY3RlZDogU3RyaW5nAQVhc0ludAEFdmFsdWUEByRtYXRjaDAFBXZhbHVlAwkAAQIFByRtYXRjaDACA0ludAQDaW50BQckbWF0Y2gwBQNpbnQJAAIBAgRzbToxAQZhc0ludDIBBXZhbHVlBAckbWF0Y2gwBQV2YWx1ZQMJAAECBQckbWF0Y2gwAgooSW50LCBJbnQpBAF4BQckbWF0Y2gwBQF4BAF0BQckbWF0Y2gwCQACAQIad3JvbmcgdHlwZSwgZXhwZWN0ZWQ6IEludDIBEWFzVXNlckJhbGFuY2VEYXRhAQV2YWx1ZQQHJG1hdGNoMAUFdmFsdWUDCQABAgUHJG1hdGNoMAIiKEludCwgSW50LCBJbnQsIEludCwgSW50LCBCb29sZWFuKQQBeAUHJG1hdGNoMAUBeAQBdAUHJG1hdGNoMAkAAgECATMBC3VzZXJCYWxhbmNlAgNyc3IEdXNlcgkBEWFzVXNlckJhbGFuY2VEYXRhAQkA/AcEBQNyc3ICC3VzZXJCYWxhbmNlCQDMCAIFBHVzZXIFA25pbAUDbmlsAQd0aHJvd0lmAgljb25kaXRpb24FZXJyb3IDBQljb25kaXRpb24JAAIBBQVlcnJvcgYBCGNoYW5nZUJ5AgNrZXkFdmFsdWUJAQh3cml0ZUludAIFA2tleQkAZAIJAQt2YWx1ZU9yRWxzZQIJAJoIAgUEdGhpcwUDa2V5AAAFBXZhbHVlAAtjb25maWdTdG9yZQIGY29uZmlnAA1jb25maWdBZGRyZXNzCQERQGV4dHJOYXRpdmUoMTA2MikBCQERQGV4dHJOYXRpdmUoMTA1MykCBQR0aGlzBQtjb25maWdTdG9yZQAVdmlyZXNWZXN0ZWRVc2RuTHBEYXBwCQERQGV4dHJOYXRpdmUoMTA2MikBAiMzUEpGdThNbVZhMnJTVkdNNDh3ZExtNGpoTHpuRWd1NlhTZQASbWF5YmVPcmFjbGVBZGRyZXNzBAckbWF0Y2gwCQCdCAIFDWNvbmZpZ0FkZHJlc3MCDm9yYWNsZV9hZGRyZXNzAwkAAQIFByRtYXRjaDACBlN0cmluZwQBcwUHJG1hdGNoMAkApggBBQFzBQR1bml0AAZIRUlHSFQFBmhlaWdodAACdmQJARFAZXh0ck5hdGl2ZSgxMDYyKQEJARN2YWx1ZU9yRXJyb3JNZXNzYWdlAgkAnQgCBQ1jb25maWdBZGRyZXNzAhF2aXJlc19kaXN0cmlidXRvcgIVYmFkIHZpcmVzIGRpc3RyaWJ1dG9yABBwcm90ZWN0ZWRSZXNlcnZlCQERQGV4dHJOYXRpdmUoMTA2MikBCQERQGV4dHJOYXRpdmUoMTA1MykCBQ1jb25maWdBZGRyZXNzAhFwcm90ZWN0ZWRfcmVzZXJ2ZQAFbWFpbjEJARFAZXh0ck5hdGl2ZSgxMDYyKQEJARFAZXh0ck5hdGl2ZSgxMDUzKQIFBHRoaXMCBW1haW4xAAt1c2R0UmVzZXJ2ZQkBEUBleHRyTmF0aXZlKDEwNjIpAQkBEUBleHRyTmF0aXZlKDEwNTMpAgUEdGhpcwILdXNkdFJlc2VydmUAC3VzZGNSZXNlcnZlCQERQGV4dHJOYXRpdmUoMTA2MikBCQERQGV4dHJOYXRpdmUoMTA1MykCBQR0aGlzAgt1c2RjUmVzZXJ2ZQADYWNjCQERQGV4dHJOYXRpdmUoMTA1MykCBQR0aGlzAgNhY2MADnVzZG5WZXN0aW5nQWxsCQERQGV4dHJOYXRpdmUoMTA2MikBCQERQGV4dHJOYXRpdmUoMTA1MykCBQR0aGlzAg51c2RuVmVzdGluZ0FsbAALdXNkblZlc3RpbmcJARFAZXh0ck5hdGl2ZSgxMDYyKQEJARFAZXh0ck5hdGl2ZSgxMDUzKQIFBHRoaXMCC3VzZG5WZXN0aW5nAAt1c2RuQXNzZXRJZAkBEUBleHRyTmF0aXZlKDEwNTMpAgUEdGhpcwILdXNkbkFzc2V0SWQACXVzZG5Cb251cwkBEUBleHRyTmF0aXZlKDEwNTApAgUEdGhpcwIFYm9udXMBCm1vdmVTdHJlYW0FA3JzcgZhY3Rpb24EZnJvbQZzdHJpbmcDYW10CQD8BwQFAnZkAgRtb3ZlCQDMCAIFA3JzcgkAzAgCBQZhY3Rpb24JAMwIAgUEZnJvbQkAzAgCBQZzdHJpbmcJAMwIAgUDYW10BQNuaWwFA25pbAEJb3BBbGxvd2VkAgJvcAphc3NldElkU3RyBAckbWF0Y2gwCQD8BwQFDWNvbmZpZ0FkZHJlc3MCCW9wQWxsb3dlZAkAzAgCBQphc3NldElkU3RyCQDMCAIFAm9wBQNuaWwFA25pbAMJAAECBQckbWF0Y2gwAgdCb29sZWFuBAFiBQckbWF0Y2gwAwUBYgYJAAIBAgtub3QgYWxsb3dlZAkAAgECIW9wQWxsb3dlZDogdW5leHBlY3RlZCByZXN1bHQgdHlwZQEIbWFpbk9ubHkBAWkDCQEIY29udGFpbnMCCQERQGV4dHJOYXRpdmUoMTA1MykCBQ1jb25maWdBZGRyZXNzAgRtYWluCQClCAEIBQFpBmNhbGxlcgYJAAIBAhBvbmx5IG1haW4gY2FuIGRvAQphZHZpc2VVc2VyAQNhY2MECWRhdGFXaGFsZQkBCGFzU3RyaW5nAQkA/AcEBQt1c2RuVmVzdGluZwIHYWR2aXNlVQkAzAgCBQNhY2MFA25pbAUDbmlsAwkAAAIFCWRhdGFXaGFsZQUJZGF0YVdoYWxlBAdkYXRhQWxsCQEIYXNTdHJpbmcBCQD8BwQFDnVzZG5WZXN0aW5nQWxsAgdhZHZpc2VVCQDMCAIFA2FjYwUDbmlsBQNuaWwDCQAAAgUHZGF0YUFsbAUHZGF0YUFsbAkArAICCQCsAgIFCWRhdGFXaGFsZQIDIHwgBQdkYXRhQWxsCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuAAtzdXJmQWRkcmVzcwkBEUBleHRyTmF0aXZlKDEwNjIpAQIjM1BHMnZNaEs1Q1Bxc0NEb2R2TEd6UTg0UWtvSFhDSjNvTlAAEHN1cmZTdGFrZUFkZHJlc3MJARFAZXh0ck5hdGl2ZSgxMDYyKQECIzNQQmlvdEZwcWpSTWtrZUZCY2NuUU5VWFVvcHk3S0ZlejVDAAtzdXJmQXNzZXRJZAkA2QQBAixBdDhENk5GRnBoZUNidktWbmpWb2VMTDg0RW84TlpuNm92TWFueGZMYUZXTAEHYnV5U3VyZgMGY2FsbGVyBXdoYWxlB3JlZ3VsYXIEB2FkZHJlc3MJAKUIAQUGY2FsbGVyBAdyZWdQYXJ0AwUHcmVndWxhcgkBBWFzSW50AQkA/AcEBQ51c2RuVmVzdGluZ0FsbAIWd2l0aGRyYXdBbGxWZXN0ZWRGb3JUbwkAzAgCBQdhZGRyZXNzCQDMCAIJAKUIAQUEdGhpcwUDbmlsBQNuaWwAAAMJAAACBQdyZWdQYXJ0BQdyZWdQYXJ0BAl3aGFsZVBhcnQDBQV3aGFsZQkAAgECD25vdCBpbXBsZW1lbnRlZAAAAwkAAAIFCXdoYWxlUGFydAUJd2hhbGVQYXJ0BAV0b3RhbAkAZAIFCXdoYWxlUGFydAUHcmVnUGFydAQDYnV5CQD8BwQFC3N1cmZBZGRyZXNzAgdidXlTdXJmCQDMCAIAwIQ9CQDMCAIAwIQ9CQDMCAIHBQNuaWwJAMwIAgkBD0F0dGFjaGVkUGF5bWVudAIJANkEAQULdXNkbkFzc2V0SWQFBXRvdGFsBQNuaWwDCQAAAgUDYnV5BQNidXkJAPAHAgUEdGhpcwULc3VyZkFzc2V0SWQJAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4JAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4JAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4JAWkBBGluaXQJBGNvbmYBdAFjCHZlc3RuQWxsB2FjY291bnQEbWFpbgl1c2RuQXNzZXQFYm9udXMFdmVzdG4DCQECIT0CCAUBaQZjYWxsZXIFBHRoaXMJAAIBAhJvbmx5IHNlbGYgY2FuIGluaXQJAMwIAgkBEHdyaXRlQ29uc3RTdHJpbmcCBQtjb25maWdTdG9yZQUEY29uZgkAzAgCCQEQd3JpdGVDb25zdFN0cmluZwICC3VzZHRSZXNlcnZlBQF0CQDMCAIJARB3cml0ZUNvbnN0U3RyaW5nAgILdXNkY1Jlc2VydmUFAWMJAMwIAgkBEHdyaXRlQ29uc3RTdHJpbmcCAg51c2RuVmVzdGluZ0FsbAUIdmVzdG5BbGwJAMwIAgkBEHdyaXRlQ29uc3RTdHJpbmcCAgt1c2RuVmVzdGluZwUFdmVzdG4JAMwIAgkBEHdyaXRlQ29uc3RTdHJpbmcCAgNhY2MFB2FjY291bnQJAMwIAgkBEHdyaXRlQ29uc3RTdHJpbmcCAgVtYWluMQUEbWFpbgkAzAgCCQEQd3JpdGVDb25zdFN0cmluZwICC3VzZG5Bc3NldElkBQl1c2RuQXNzZXQJAMwIAgkBDEludGVnZXJFbnRyeQICBWJvbnVzBQVib251cwUDbmlsAWkBD3N0YXJ0VmVzdGluZ0ZvcgMHYWRkcmVzcwNyc3IGYW1vdW50BAFtCQEIbWFpbk9ubHkBBQFpAwkAAAIFAW0FAW0EB3Jlc2VydmUJARFAZXh0ck5hdGl2ZSgxMDYyKQEFA3JzcgQHYXNzZXRJZAkBEUBleHRyTmF0aXZlKDEwNTMpAgUHcmVzZXJ2ZQIHYXNzZXRJZAQCbXcJAPwHBAULdXNkblZlc3RpbmcCEnN0YXJ0VmVzdGluZ0FsbEZvcgkAzAgCBQdhZGRyZXNzBQNuaWwFA25pbAMJAAACBQJtdwUCbXcEBmNoZWNrcwkBCW9wQWxsb3dlZAICDm9wZW5Db2xsYXRlcmFsBQdhc3NldElkAwkAAAIFBmNoZWNrcwUGY2hlY2tzBAJzMwkBBWFzSW50AQkA/AcEBQdyZXNlcnZlAhJ0cmFuc2ZlckFUb2tlbnNGb3IJAMwIAgUHYWRkcmVzcwkAzAgCBQNhY2MJAMwIAgUGYW1vdW50BQNuaWwFA25pbAMJAAACBQJzMwUCczMEDHJlc2VydmVWYWx1ZQkBE3ZhbHVlT3JFcnJvck1lc3NhZ2UCCQCaCAIFDWNvbmZpZ0FkZHJlc3MJAKwCAgUDcnNyAhFfdG9fdmVzdGluZ192YWx1ZQIdbm8gW3Jlc2VydmVdX3RvX3Zlc3RpbmdfdmFsdWUEB3VzZG5BbXQJAGsDBQJzMwUMcmVzZXJ2ZVZhbHVlBQtmYWN0b3JzQmFzZQQFcmVoYWIEAndkCQD8BwQFEHByb3RlY3RlZFJlc2VydmUCD3dpdGhkcmF3VG9NYWluMgkAzAgCBQNhY2MJAMwIAgULdXNkbkFzc2V0SWQJAMwIAgUHdXNkbkFtdAUDbmlsBQNuaWwDCQAAAgUCd2QFAndkBAVyZWhhYgkA/AcEBQ51c2RuVmVzdGluZ0FsbAIKYWNjb3VudEZvcgkAzAgCBQdhZGRyZXNzBQNuaWwJAMwIAgkBD0F0dGFjaGVkUGF5bWVudAIJANkEAQULdXNkbkFzc2V0SWQFB3VzZG5BbXQFA25pbAMJAAACBQVyZWhhYgUFcmVoYWIFBHVuaXQJAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4JAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4DCQAAAgUFcmVoYWIFBXJlaGFiBAskdDA1OTEyNTk3NAkBBmFzSW50MgEJAPwHBAUFbWFpbjECCGhlYWx0aE9mCQDMCAIFB2FkZHJlc3MFA25pbAUDbmlsBAJicAgFCyR0MDU5MTI1OTc0Al8xBANicHUIBQskdDA1OTEyNTk3NAJfMgMJAGYCBQJicAkAaAIAZAkAZQIFAmJwBQNicHUJAAIBAipub3QgZW5vdWdoIGFkZHJlc3MgaGVhbHRoIGFmdGVyIG1vdmU6IDwgMSUJAMwIAgkBCGNoYW5nZUJ5AgkArAICCQCsAgIFB2FkZHJlc3MCCl9taWdyYXRlZF8FB2Fzc2V0SWQFAnMzBQNuaWwJAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4JAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4JAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4JAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4JAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4BaQENY29udmVydFRvVVNETgAEB2FkZHJlc3MJAKUIAQgFAWkGY2FsbGVyCgEHbW92ZVJzcgEDcnNyBAdyZXNlcnZlCQERQGV4dHJOYXRpdmUoMTA2MikBBQNyc3IEB2Fzc2V0SWQJARFAZXh0ck5hdGl2ZSgxMDUzKQIFB3Jlc2VydmUCB2Fzc2V0SWQEBmNoZWNrcwkBCW9wQWxsb3dlZAICDm9wZW5Db2xsYXRlcmFsBQdhc3NldElkAwkAAAIFBmNoZWNrcwUGY2hlY2tzAwMJAQIhPQIFA3JzcgkApQgBBQt1c2R0UmVzZXJ2ZQkBAiE9AgUDcnNyCQClCAEFC3VzZGNSZXNlcnZlBwkAAgECD2ludmFsaWQgcmVzZXJ2ZQQDc2hDCQD8BwQFAnZkAgpzeW5jSGVpZ2h0CQDMCAIFA3JzcgUDbmlsBQNuaWwDCQAAAgUDc2hDBQNzaEMECyR0MDY1ODE2NjY1CQEGYXNJbnQyAQkA/AcEBQdyZXNlcnZlAhNzdG9yZWREZXBvc2l0Qm9ycm93BQNuaWwFA25pbAQMdG90YWxEZXBvc2l0CAULJHQwNjU4MTY2NjUCXzEECXRvdGFsRGVidAgFCyR0MDY1ODE2NjY1Al8yBAR1dGlsAwkAZgIFDHRvdGFsRGVwb3NpdAAACQCXAwEJAMwIAgULZmFjdG9yc0Jhc2UJAMwIAgkAawMFCXRvdGFsRGVidAULZmFjdG9yc0Jhc2UFDHRvdGFsRGVwb3NpdAUDbmlsAAAEDXV0aWxUaHJlc2hvbGQJAQt2YWx1ZU9yRWxzZQIJAJoIAgUNY29uZmlnQWRkcmVzcwkArAICBQdhc3NldElkAhlfb3Blbl9jb2xsYXRlcmFsX3RocmVzb2xkAOgHAwkAZgIFDXV0aWxUaHJlc2hvbGQFBHV0aWwJAAIBAh1ub3QgYWxsb3dlZDogdXRpbCA8IHRocmVzaG9sZAQDZGVwCQEFYXNJbnQBCQD8BwQFB3Jlc2VydmUCDnVzZXJEZXBvc2l0VVNECQDMCAIFB2FkZHJlc3MFA25pbAUDbmlsAwkAAAIFA2RlcAUDZGVwBAJzMwkBBWFzSW50AQkA/AcEBQdyZXNlcnZlAhJ0cmFuc2ZlckFUb2tlbnNGb3IJAMwIAgUHYWRkcmVzcwkAzAgCBQNhY2MJAMwIAgUDZGVwBQNuaWwFA25pbAMJAAACBQJzMwUCczMEBHBSdzMJAQptb3ZlU3RyZWFtBQUDcnNyAgdkZXBvc2l0BQdhZGRyZXNzBQNhY2MFAnMzAwkAAAIFBHBSdzMFBHBSdzMFAnMzCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuBAJtdwkA/AcEBQt1c2RuVmVzdGluZwISc3RhcnRWZXN0aW5nQWxsRm9yCQDMCAIJAKUIAQgFAWkGY2FsbGVyBQNuaWwFA25pbAMJAAACBQJtdwUCbXcEAm10CQEFYXNJbnQBCQEHbW92ZVJzcgEJAKUIAQULdXNkdFJlc2VydmUDCQAAAgUCbXQFAm10BAJtYwkBBWFzSW50AQkBB21vdmVSc3IBCQClCAEFC3VzZGNSZXNlcnZlAwkAAAIFAm1jBQJtYwQIZGVwVG90YWwJAGQCBQJtdAUCbWMEBXJlaGFiBAd1c2RuQW10CQBrAwUIZGVwVG90YWwJAGQCBQtmYWN0b3JzQmFzZQUJdXNkbkJvbnVzBQtmYWN0b3JzQmFzZQQCd2QJAPwHBAUQcHJvdGVjdGVkUmVzZXJ2ZQIPd2l0aGRyYXdUb01haW4yCQDMCAIFA2FjYwkAzAgCBQt1c2RuQXNzZXRJZAkAzAgCBQd1c2RuQW10BQNuaWwFA25pbAMJAAACBQJ3ZAUCd2QEBXJlaGFiCQD8BwQFDnVzZG5WZXN0aW5nQWxsAgphY2NvdW50Rm9yCQDMCAIFB2FkZHJlc3MFA25pbAkAzAgCCQEPQXR0YWNoZWRQYXltZW50AgkA2QQBBQt1c2RuQXNzZXRJZAUHdXNkbkFtdAUDbmlsAwkAAAIFBXJlaGFiBQVyZWhhYgUEdW5pdAkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgMJAAACBQVyZWhhYgUFcmVoYWIECyR0MDc4MTk3ODgxCQEGYXNJbnQyAQkA/AcEBQVtYWluMQIIaGVhbHRoT2YJAMwIAgUHYWRkcmVzcwUDbmlsBQNuaWwEAmJwCAULJHQwNzgxOTc4ODECXzEEA2JwdQgFCyR0MDc4MTk3ODgxAl8yAwkAZgIFAmJwCQBoAgBkCQBlAgUCYnAFA2JwdQkAAgECKm5vdCBlbm91Z2ggYWRkcmVzcyBoZWFsdGggYWZ0ZXIgbW92ZTogPCAxJQkAzAgCCQEIY2hhbmdlQnkCCQCsAgIJAKwCAgUHYWRkcmVzcwIKX21pZ3JhdGVkXwkBEUBleHRyTmF0aXZlKDEwNTMpAgULdXNkdFJlc2VydmUCB2Fzc2V0SWQFAm10CQDMCAIJAQhjaGFuZ2VCeQIJAKwCAgkArAICBQdhZGRyZXNzAgpfbWlncmF0ZWRfCQERQGV4dHJOYXRpdmUoMTA1MykCBQt1c2RjUmVzZXJ2ZQIHYXNzZXRJZAUCbWMFA25pbAkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgFpARV3aXRoZHJhd1Zlc3RlZEFsbFVTRE4CBXdoYWxlB3JlZ3VsYXIEB2FkZHJlc3MJAKUIAQgFAWkGY2FsbGVyBAdyZWdQYXJ0AwUHcmVndWxhcgkBBWFzSW50AQkA/AcEBQ51c2RuVmVzdGluZ0FsbAITd2l0aGRyYXdWZXN0ZWRGb3JUbwkAzAgCBQdhZGRyZXNzCQDMCAIFB2FkZHJlc3MFA25pbAUDbmlsAAADCQAAAgUHcmVnUGFydAUHcmVnUGFydAQJd2hhbGVQYXJ0AwUFd2hhbGUJAQVhc0ludAEJAPwHBAULdXNkblZlc3RpbmcCE3dpdGhkcmF3VmVzdGVkRm9yVG8JAMwIAgUHYWRkcmVzcwkAzAgCBQdhZGRyZXNzBQNuaWwFA25pbAAAAwkAAAIFCXdoYWxlUGFydAUJd2hhbGVQYXJ0CQCUCgIFA25pbAkAZAIFCXdoYWxlUGFydAUHcmVnUGFydAkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgFpARV3aXRoZHJhd1Zlc3RlZEFsbFNVUkYCBXdoYWxlB3JlZ3VsYXIEBmNoZWNrcwkBCW9wQWxsb3dlZAICIWxpcXVpZGFvX2FsbF93aXRoZHJhd1Zlc3RlZEFzU3VyZgkA2AQBBQtzdXJmQXNzZXRJZAMJAAACBQZjaGVja3MFBmNoZWNrcwQLc3VyZkJhbGFuY2UJAQdidXlTdXJmAwgFAWkGY2FsbGVyBQV3aGFsZQUHcmVndWxhcgMJAAACBQtzdXJmQmFsYW5jZQULc3VyZkJhbGFuY2UJAJQKAgkAzAgCCQEOU2NyaXB0VHJhbnNmZXIDCAUBaQZjYWxsZXIFC3N1cmZCYWxhbmNlBQtzdXJmQXNzZXRJZAUDbmlsBQtzdXJmQmFsYW5jZQkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgFpARN3aXRoZHJhd1Zlc3RlZFNVUkYyAwV3aGFsZQdyZWd1bGFyBXN0YWtlBAdhZGRyZXNzCQClCAEIBQFpBmNhbGxlcgQGY2hlY2tzCQEJb3BBbGxvd2VkAgIhbGlxdWlkYW9fYWxsX3dpdGhkcmF3VmVzdGVkQXNTdXJmCQDYBAEFC3N1cmZBc3NldElkAwkAAAIFBmNoZWNrcwUGY2hlY2tzBAdyZWdQYXJ0AwkAZgIFB3JlZ3VsYXIAAAkBBWFzSW50AQkA/AcEBQ51c2RuVmVzdGluZ0FsbAIacGFydGlhbFdpdGhkcmF3VmVzdGVkRm9yVG8JAMwIAgUHYWRkcmVzcwkAzAgCCQClCAEFBHRoaXMJAMwIAgUHcmVndWxhcgUDbmlsBQNuaWwAAAMJAAACBQdyZWdQYXJ0BQdyZWdQYXJ0BAl3aGFsZVBhcnQDCQBmAgUFd2hhbGUAAAkBBWFzSW50AQkA/AcEBQt1c2RuVmVzdGluZwIacGFydGlhbFdpdGhkcmF3VmVzdGVkRm9yVG8JAMwIAgUHYWRkcmVzcwkAzAgCCQClCAEFBHRoaXMJAMwIAgUFd2hhbGUFA25pbAUDbmlsAAADCQAAAgUJd2hhbGVQYXJ0BQl3aGFsZVBhcnQEBXRvdGFsCQBkAgUJd2hhbGVQYXJ0BQdyZWdQYXJ0BANidXkJAPwHBAULc3VyZkFkZHJlc3MCB2J1eVN1cmYJAMwIAgDAhD0JAMwIAgDAhD0JAMwIAgcFA25pbAkAzAgCCQEPQXR0YWNoZWRQYXltZW50AgkA2QQBBQt1c2RuQXNzZXRJZAUFdG90YWwFA25pbAMJAAACBQNidXkFA2J1eQQLc3VyZkJhbGFuY2UJAPAHAgUEdGhpcwULc3VyZkFzc2V0SWQDCQAAAgULc3VyZkJhbGFuY2UFC3N1cmZCYWxhbmNlAwUFc3Rha2UECXN0YWtlU3VyZgkA/AcEBRBzdXJmU3Rha2VBZGRyZXNzAhNzdGFrZUJ5T3JpZ2luQ2FsbGVyBQNuaWwJAMwIAgkBD0F0dGFjaGVkUGF5bWVudAIFC3N1cmZBc3NldElkBQtzdXJmQmFsYW5jZQUDbmlsAwkAAAIFCXN0YWtlU3VyZgUJc3Rha2VTdXJmCQCUCgIFA25pbAULc3VyZkJhbGFuY2UJAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4JAJQKAgkAzAgCCQEOU2NyaXB0VHJhbnNmZXIDCAUBaQZjYWxsZXIFC3N1cmZCYWxhbmNlBQtzdXJmQXNzZXRJZAUDbmlsBQtzdXJmQmFsYW5jZQkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgFpAR13aXRoZHJhd1Zlc3RlZEFsbFNVUkZBbmRTdGFrZQIFd2hhbGUHcmVndWxhcgQGY2hlY2tzCQEJb3BBbGxvd2VkAgIhbGlxdWlkYW9fYWxsX3dpdGhkcmF3VmVzdGVkQXNTdXJmCQDYBAEFC3N1cmZBc3NldElkAwkAAAIFBmNoZWNrcwUGY2hlY2tzBAtzdXJmQmFsYW5jZQkBB2J1eVN1cmYDCAUBaQZjYWxsZXIFBXdoYWxlBQdyZWd1bGFyAwkAAAIFC3N1cmZCYWxhbmNlBQtzdXJmQmFsYW5jZQQJc3Rha2VTdXJmCQD8BwQFEHN1cmZTdGFrZUFkZHJlc3MCE3N0YWtlQnlPcmlnaW5DYWxsZXIFA25pbAkAzAgCCQEPQXR0YWNoZWRQYXltZW50AgULc3VyZkFzc2V0SWQFC3N1cmZCYWxhbmNlBQNuaWwDCQAAAgUJc3Rha2VTdXJmBQlzdGFrZVN1cmYJAJQKAgUDbmlsBQtzdXJmQmFsYW5jZQkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgFpAQx3aXRoZHJhd0FzTFACBXdoYWxlB3JlZ3VsYXIEB2FkZHJlc3MJAKUIAQgFAWkGY2FsbGVyBAdyZWdQYXJ0AwkAZgIFB3JlZ3VsYXIAAAkBBWFzSW50AQkA/AcEBQ51c2RuVmVzdGluZ0FsbAIacGFydGlhbFdpdGhkcmF3VmVzdGVkRm9yVG8JAMwIAgUHYWRkcmVzcwkAzAgCCQClCAEFBHRoaXMJAMwIAgUHcmVndWxhcgUDbmlsBQNuaWwAAAMJAAACBQdyZWdQYXJ0BQdyZWdQYXJ0BAl3aGFsZVBhcnQDCQBmAgUFd2hhbGUAAAkBBWFzSW50AQkA/AcEBQt1c2RuVmVzdGluZwIacGFydGlhbFdpdGhkcmF3VmVzdGVkRm9yVG8JAMwIAgUHYWRkcmVzcwkAzAgCCQClCAEFBHRoaXMJAMwIAgUFd2hhbGUFA25pbAUDbmlsAAADCQAAAgUJd2hhbGVQYXJ0BQl3aGFsZVBhcnQEBXRvdGFsCQBkAgUJd2hhbGVQYXJ0BQdyZWdQYXJ0BAR0b0xwCQD8BwQFFXZpcmVzVmVzdGVkVXNkbkxwRGFwcAIGbWludFRvCQDMCAIFB2FkZHJlc3MFA25pbAkAzAgCCQEPQXR0YWNoZWRQYXltZW50AgkA2QQBBQt1c2RuQXNzZXRJZAUFdG90YWwFA25pbAMJAAACBQR0b0xwBQR0b0xwCQCUCgIFA25pbAUFdG90YWwJAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4JAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4JAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4BaQEIaW1wb3J0TFAABAdhZGRyZXNzCQClCAEIBQFpBmNhbGxlcgQHdXNkbkFtdAkBBWFzSW50AQkA/AcEBRV2aXJlc1Zlc3RlZFVzZG5McERhcHACBmltcG9ydAUDbmlsCAUBaQhwYXltZW50cwMJAAACBQd1c2RuQW10BQd1c2RuQW10BAphY2NvdW50Rm9yCQD8BwQFDnVzZG5WZXN0aW5nQWxsAgphY2NvdW50Rm9yCQDMCAIFB2FkZHJlc3MFA25pbAkAzAgCCQEPQXR0YWNoZWRQYXltZW50AgkA2QQBBQt1c2RuQXNzZXRJZAUHdXNkbkFtdAUDbmlsAwkAAAIFCmFjY291bnRGb3IFCmFjY291bnRGb3IJAJQKAgUDbmlsBQd1c2RuQW10CQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuAQJ0eAEGdmVyaWZ5AAQEQkFTRQDoBwQLcXVvcnVtUmF0aW8JARN2YWx1ZU9yRXJyb3JNZXNzYWdlAgkAmggCBQ1jb25maWdBZGRyZXNzAhVwcm9wb3NhbF9xdW9ydW1fcmF0aW8CInByb3Bvc2FsUXVvcnVtUmF0aW8gaXMgbm90IGRlZmluZWQEC3Bhc3NlZFJhdGlvCQETdmFsdWVPckVycm9yTWVzc2FnZQIJAJoIAgUNY29uZmlnQWRkcmVzcwIVcHJvcG9zYWxfcGFzc2VkX3JhdGlvAiVwcm9wb3NhbFRocmVzaG9sZFJhdGlvIGlzIG5vdCBkZWZpbmVkBA5nVmlyZXNDb250cmFjdAkBE3ZhbHVlT3JFcnJvck1lc3NhZ2UCCQCmCAEJARN2YWx1ZU9yRXJyb3JNZXNzYWdlAgkAnQgCBQ1jb25maWdBZGRyZXNzAhJkaXZpZGVuZHNfY29udHJhY3QCFW5vIGRpdmlkZW5kc19jb250cmFjdAIaaW52YWxpZCBkaXZpZGVuZHNfY29udHJhY3QEDnZvdGluZ0NvbnRyYWN0CQETdmFsdWVPckVycm9yTWVzc2FnZQIJAKYIAQkBE3ZhbHVlT3JFcnJvck1lc3NhZ2UCCQCdCAIFDWNvbmZpZ0FkZHJlc3MCD3ZvdGluZ19jb250cmFjdAISbm8gdm90aW5nX2NvbnRyYWN0AhdpbnZhbGlkIHZvdGluZ19jb250cmFjdAQCaWQJANgEAQgFAnR4AmlkBAh2b3Rlc1llcwkBC3ZhbHVlT3JFbHNlAgkAmggCBQ52b3RpbmdDb250cmFjdAkArAICAg1wcm9wb3NhbF95ZXNfBQJpZAAABAd2b3Rlc05vCQELdmFsdWVPckVsc2UCCQCaCAIFDnZvdGluZ0NvbnRyYWN0CQCsAgICDHByb3Bvc2FsX25vXwUCaWQAAAQOcHJvcG9zYWxIZWlnaHQJARN2YWx1ZU9yRXJyb3JNZXNzYWdlAgkAmggCBQ52b3RpbmdDb250cmFjdAkArAICAhBwcm9wb3NhbF9oZWlnaHRfBQJpZAIXcHJvcG9zYWwgbm90IHJlZ2lzdGVyZWQECmFwcGx5U3RhcnQJAQt2YWx1ZU9yRWxzZQIJAJoIAgUOdm90aW5nQ29udHJhY3QJAKwCAgIUcHJvcG9zYWxfYXBwbHlzdGFydF8FAmlkAAAECGFwcGx5RW5kCQELdmFsdWVPckVsc2UCCQCaCAIFDnZvdGluZ0NvbnRyYWN0CQCsAgICEnByb3Bvc2FsX2FwcGx5ZW5kXwUCaWQAAAQLdG90YWxHVmlyZXMJAQt2YWx1ZU9yRWxzZQIJAJoIAgUOdm90aW5nQ29udHJhY3QJAKwCAgIQcHJvcG9zYWxfZ3ZpcmVzXwUCaWQAAAQHZW5hYmxlZAkBC3ZhbHVlT3JFbHNlAgkAmwgCBQ1jb25maWdBZGRyZXNzAh1vcF9nb3Zlcm5hbmNlX2FwcGx5X3R4X3BhdXNlZAcEB3ZvdGVZZXMFCHZvdGVzWWVzBAZ2b3RlTm8FB3ZvdGVzTm8ECnRvdGFsVm90ZXMJAGQCBQd2b3RlWWVzBQZ2b3RlTm8ECWhhc1F1b3J1bQkAZwIJAGkCCQBoAgUKdG90YWxWb3RlcwUEQkFTRQULdG90YWxHVmlyZXMFC3F1b3J1bVJhdGlvBAloYXNQYXNzZWQJAGcCCQBpAgkAaAIFB3ZvdGVZZXMFBEJBU0UFCnRvdGFsVm90ZXMFC3Bhc3NlZFJhdGlvBAh0b29FYXJseQkAZwIFCmFwcGx5U3RhcnQFBkhFSUdIVAQHdG9vTGF0ZQkAZwIFBkhFSUdIVAUIYXBwbHlFbmQECXRpbWVEZWJ1ZwkArAICCQCsAgIJAKwCAgkArAICCQCsAgIJAKwCAgkArAICAhFwcm9wb3NhbEhlaWdodCA9IAkApAMBBQ5wcm9wb3NhbEhlaWdodAIPLCBhcHBseVN0YXJ0ID0gCQCkAwEFCmFwcGx5U3RhcnQCDSwgYXBwbHlFbmQgPSAJAKQDAQUIYXBwbHlFbmQCCywgSEVJR0hUID0gCQCkAwEFBkhFSUdIVAQIYnlWb3RpbmcDCQEBIQEFB2VuYWJsZWQJAAIBAit0eCBhcHBsaWNhdGlvbiB0aHJvdyBnb3Zlcm5hbmNlIG5vdCBlbmFibGVkAwUIdG9vRWFybHkJAAIBCQCsAgICLnByb3Bvc2FsIGNhbid0IGJlIGV4ZWN1dGVkIGFzIGl0J3MgdG9vIGVhcmx5OiAFCXRpbWVEZWJ1ZwMFB3Rvb0xhdGUJAAIBCQCsAgICLHByb3Bvc2FsIGNhbid0IGJlIGV4ZWN1dGVkIGFzIGl0J3MgdG9vIGxhdGU6BQl0aW1lRGVidWcDCQEBIQEFCWhhc1F1b3J1bQkAAgEJAKwCAgkArAICCQCsAgIJAKwCAgkArAICCQCsAgICC25vIHF1b3J1bTogAgx0b3RhbFZvdGVzOiAJAKQDAQUKdG90YWxWb3RlcwIPLCB0b3RhbEdWaXJlczogCQCkAwEFC3RvdGFsR1ZpcmVzAg8sIHF1b3J1bVJhdGlvOiAJAKQDAQULcXVvcnVtUmF0aW8DCQEBIQEFCWhhc1Bhc3NlZAkAAgEJAKwCAgkArAICCQCsAgIJAKwCAgkArAICCQCsAgICF25vIHRocmVzaG9sZCBhY2hpZXZlZDogAgl2b3RlWWVzOiAJAKQDAQUHdm90ZVllcwIKLCB2b3RlTm86IAkApAMBBQZ2b3RlTm8CDywgcGFzc2VkUmF0aW86IAkApAMBBQtwYXNzZWRSYXRpbwYDCQD0AwMIBQJ0eAlib2R5Qnl0ZXMJAJEDAggFAnR4BnByb29mcwAACAUCdHgPc2VuZGVyUHVibGljS2V5BgUIYnlWb3RpbmfyEwiF", "chainId": 87, "height": 3751350, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: 9KKXygCn8yTXbco4EXUiaqF2DBmeLURNGtcoooJCLcYy Next: 4DPEh5hT3peWGWNUxEd5UXzB2daWLY3Q6ge9tPzvPS2J Full:
OldNewDifferences
11 {-# STDLIB_VERSION 6 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 let a = 1000
55
66 func b (c,d) = if (!(isDefined(getString(this, c))))
77 then StringEntry(c, d)
88 else throw(("already initialized: " + c))
99
1010
1111 func e (c,d) = if (!(isDefined(getInteger(this, c))))
1212 then IntegerEntry(c, d)
1313 else throw(("already initialized: " + c))
1414
1515
1616 func f (c,d) = if ((0 > d))
1717 then throw(((("writing negative value " + toString(d)) + " for key ") + c))
1818 else IntegerEntry(c, d)
1919
2020
2121 func g (d) = {
2222 let h = d
2323 if ($isInstanceOf(h, "String"))
2424 then {
2525 let i = h
2626 i
2727 }
2828 else throw("wrong type, expected: String")
2929 }
3030
3131
3232 func j (d) = {
3333 let h = d
3434 if ($isInstanceOf(h, "Int"))
3535 then {
3636 let k = h
3737 k
3838 }
3939 else throw("sm:1")
4040 }
4141
4242
4343 func l (d) = {
4444 let h = d
4545 if ($isInstanceOf(h, "(Int, Int)"))
4646 then {
4747 let m = h
4848 m
4949 }
5050 else {
5151 let n = h
5252 throw("wrong type, expected: Int2")
5353 }
5454 }
5555
5656
5757 func o (d) = {
5858 let h = d
5959 if ($isInstanceOf(h, "(Int, Int, Int, Int, Int, Boolean)"))
6060 then {
6161 let m = h
6262 m
6363 }
6464 else {
6565 let n = h
6666 throw("3")
6767 }
6868 }
6969
7070
7171 func p (q,r) = o(invoke(q, "userBalance", [r], nil))
7272
7373
7474 func s (t,u) = if (t)
7575 then throw(u)
7676 else true
7777
7878
7979 func v (c,d) = f(c, (valueOrElse(getInteger(this, c), 0) + d))
8080
8181
8282 let w = "config"
8383
8484 let x = addressFromStringValue(getStringValue(this, w))
8585
8686 let y = addressFromStringValue("3PJFu8MmVa2rSVGM48wdLm4jhLznEgu6XSe")
8787
8888 let z = {
8989 let h = getString(x, "oracle_address")
9090 if ($isInstanceOf(h, "String"))
9191 then {
9292 let i = h
9393 addressFromString(i)
9494 }
9595 else unit
9696 }
9797
9898 let A = height
9999
100100 let B = addressFromStringValue(valueOrErrorMessage(getString(x, "vires_distributor"), "bad vires distributor"))
101101
102102 let C = addressFromStringValue(getStringValue(x, "protected_reserve"))
103103
104104 let D = addressFromStringValue(getStringValue(this, "main1"))
105105
106106 let E = addressFromStringValue(getStringValue(this, "usdtReserve"))
107107
108108 let F = addressFromStringValue(getStringValue(this, "usdcReserve"))
109109
110110 let G = getStringValue(this, "acc")
111111
112112 let H = addressFromStringValue(getStringValue(this, "usdnVestingAll"))
113113
114114 let I = addressFromStringValue(getStringValue(this, "usdnVesting"))
115115
116116 let J = getStringValue(this, "usdnAssetId")
117117
118118 let K = getIntegerValue(this, "bonus")
119119
120120 func L (q,M,N,O,P) = invoke(B, "move", [q, M, N, O, P], nil)
121121
122122
123123 func Q (R,S) = {
124124 let h = invoke(x, "opAllowed", [S, R], nil)
125125 if ($isInstanceOf(h, "Boolean"))
126126 then {
127127 let T = h
128128 if (T)
129129 then true
130130 else throw("not allowed")
131131 }
132132 else throw("opAllowed: unexpected result type")
133133 }
134134
135135
136136 func U (V) = if (contains(getStringValue(x, "main"), toString(V.caller)))
137137 then true
138138 else throw("only main can do")
139139
140140
141141 func W (G) = {
142142 let X = g(invoke(I, "adviseU", [G], nil))
143143 if ((X == X))
144144 then {
145145 let Y = g(invoke(H, "adviseU", [G], nil))
146146 if ((Y == Y))
147147 then ((X + " | ") + Y)
148148 else throw("Strict value is not equal to itself.")
149149 }
150150 else throw("Strict value is not equal to itself.")
151151 }
152152
153153
154154 let Z = addressFromStringValue("3PG2vMhK5CPqsCDodvLGzQ84QkoHXCJ3oNP")
155155
156156 let aa = addressFromStringValue("3PBiotFpqjRMkkeFBccnQNUXUopy7KFez5C")
157157
158158 let ab = fromBase58String("At8D6NFFpheCbvKVnjVoeLL84Eo8NZn6ovManxfLaFWL")
159159
160160 func ac (ad,ae,af) = {
161161 let ag = toString(ad)
162162 let ah = if (af)
163163 then j(invoke(H, "withdrawAllVestedForTo", [ag, toString(this)], nil))
164164 else 0
165165 if ((ah == ah))
166166 then {
167167 let ai = if (ae)
168168 then throw("not implemented")
169169 else 0
170170 if ((ai == ai))
171171 then {
172172 let aj = (ai + ah)
173173 let ak = invoke(Z, "buySurf", [1000000, 1000000, false], [AttachedPayment(fromBase58String(J), aj)])
174174 if ((ak == ak))
175175 then assetBalance(this, ab)
176176 else throw("Strict value is not equal to itself.")
177177 }
178178 else throw("Strict value is not equal to itself.")
179179 }
180180 else throw("Strict value is not equal to itself.")
181181 }
182182
183183
184184 @Callable(V)
185185 func init (al,n,am,an,ao,ap,aq,ar,as) = if ((V.caller != this))
186186 then throw("only self can init")
187187 else [b(w, al), b("usdtReserve", n), b("usdcReserve", am), b("usdnVestingAll", an), b("usdnVesting", as), b("acc", ao), b("main1", ap), b("usdnAssetId", aq), IntegerEntry("bonus", ar)]
188188
189189
190190
191191 @Callable(V)
192192 func startVestingFor (ag,q,at) = {
193193 let au = U(V)
194194 if ((au == au))
195195 then {
196196 let av = addressFromStringValue(q)
197197 let aw = getStringValue(av, "assetId")
198198 let ax = invoke(I, "startVestingAllFor", [ag], nil)
199199 if ((ax == ax))
200200 then {
201201 let ay = Q("openCollateral", aw)
202202 if ((ay == ay))
203203 then {
204204 let az = j(invoke(av, "transferATokensFor", [ag, G, at], nil))
205205 if ((az == az))
206206 then {
207207 let aA = valueOrErrorMessage(getInteger(x, (q + "_to_vesting_value")), "no [reserve]_to_vesting_value")
208208 let aB = fraction(az, aA, a)
209209 let aC = {
210210 let aD = invoke(C, "withdrawToMain2", [G, J, aB], nil)
211211 if ((aD == aD))
212212 then {
213213 let aC = invoke(H, "accountFor", [ag], [AttachedPayment(fromBase58String(J), aB)])
214214 if ((aC == aC))
215215 then unit
216216 else throw("Strict value is not equal to itself.")
217217 }
218218 else throw("Strict value is not equal to itself.")
219219 }
220220 if ((aC == aC))
221221 then {
222222 let aE = l(invoke(D, "healthOf", [ag], nil))
223223 let aF = aE._1
224224 let aG = aE._2
225225 if ((aF > (100 * (aF - aG))))
226226 then throw("not enough address health after move: < 1%")
227227 else [v(((ag + "_migrated_") + aw), az)]
228228 }
229229 else throw("Strict value is not equal to itself.")
230230 }
231231 else throw("Strict value is not equal to itself.")
232232 }
233233 else throw("Strict value is not equal to itself.")
234234 }
235235 else throw("Strict value is not equal to itself.")
236236 }
237237 else throw("Strict value is not equal to itself.")
238238 }
239239
240240
241241
242242 @Callable(V)
243243 func convertToUSDN () = {
244244 let ag = toString(V.caller)
245245 func aH (q) = {
246246 let av = addressFromStringValue(q)
247247 let aw = getStringValue(av, "assetId")
248248 let ay = Q("openCollateral", aw)
249249 if ((ay == ay))
250250 then if (if ((q != toString(E)))
251251 then (q != toString(F))
252252 else false)
253253 then throw("invalid reserve")
254254 else {
255255 let aI = invoke(B, "syncHeight", [q], nil)
256256 if ((aI == aI))
257257 then {
258258 let aJ = l(invoke(av, "storedDepositBorrow", nil, nil))
259259 let aK = aJ._1
260260 let aL = aJ._2
261261 let aM = if ((aK > 0))
262262 then min([a, fraction(aL, a, aK)])
263263 else 0
264264 let aN = valueOrElse(getInteger(x, (aw + "_open_collateral_thresold")), 1000)
265265 if ((aN > aM))
266266 then throw("not allowed: util < threshold")
267267 else {
268268 let aO = j(invoke(av, "userDepositUSD", [ag], nil))
269269 if ((aO == aO))
270270 then {
271271 let az = j(invoke(av, "transferATokensFor", [ag, G, aO], nil))
272272 if ((az == az))
273273 then {
274274 let aP = L(q, "deposit", ag, G, az)
275275 if ((aP == aP))
276276 then az
277277 else throw("Strict value is not equal to itself.")
278278 }
279279 else throw("Strict value is not equal to itself.")
280280 }
281281 else throw("Strict value is not equal to itself.")
282282 }
283283 }
284284 else throw("Strict value is not equal to itself.")
285285 }
286286 else throw("Strict value is not equal to itself.")
287287 }
288288
289289 let ax = invoke(I, "startVestingAllFor", [toString(V.caller)], nil)
290290 if ((ax == ax))
291291 then {
292292 let aQ = j(aH(toString(E)))
293293 if ((aQ == aQ))
294294 then {
295295 let aR = j(aH(toString(F)))
296296 if ((aR == aR))
297297 then {
298298 let aS = (aQ + aR)
299299 let aC = {
300300 let aB = fraction(aS, (a + K), a)
301301 let aD = invoke(C, "withdrawToMain2", [G, J, aB], nil)
302302 if ((aD == aD))
303303 then {
304304 let aC = invoke(H, "accountFor", [ag], [AttachedPayment(fromBase58String(J), aB)])
305305 if ((aC == aC))
306306 then unit
307307 else throw("Strict value is not equal to itself.")
308308 }
309309 else throw("Strict value is not equal to itself.")
310310 }
311311 if ((aC == aC))
312312 then {
313313 let aT = l(invoke(D, "healthOf", [ag], nil))
314314 let aF = aT._1
315315 let aG = aT._2
316316 if ((aF > (100 * (aF - aG))))
317317 then throw("not enough address health after move: < 1%")
318318 else [v(((ag + "_migrated_") + getStringValue(E, "assetId")), aQ), v(((ag + "_migrated_") + getStringValue(F, "assetId")), aR)]
319319 }
320320 else throw("Strict value is not equal to itself.")
321321 }
322322 else throw("Strict value is not equal to itself.")
323323 }
324324 else throw("Strict value is not equal to itself.")
325325 }
326326 else throw("Strict value is not equal to itself.")
327327 }
328328
329329
330330
331331 @Callable(V)
332332 func withdrawVestedAllUSDN (ae,af) = {
333333 let ag = toString(V.caller)
334334 let ah = if (af)
335335 then j(invoke(H, "withdrawVestedForTo", [ag, ag], nil))
336336 else 0
337337 if ((ah == ah))
338338 then {
339339 let ai = if (ae)
340340 then j(invoke(I, "withdrawVestedForTo", [ag, ag], nil))
341341 else 0
342342 if ((ai == ai))
343343 then $Tuple2(nil, (ai + ah))
344344 else throw("Strict value is not equal to itself.")
345345 }
346346 else throw("Strict value is not equal to itself.")
347347 }
348348
349349
350350
351351 @Callable(V)
352352 func withdrawVestedAllSURF (ae,af) = {
353353 let ay = Q("liquidao_all_withdrawVestedAsSurf", toBase58String(ab))
354354 if ((ay == ay))
355355 then {
356356 let aU = ac(V.caller, ae, af)
357357 if ((aU == aU))
358358 then $Tuple2([ScriptTransfer(V.caller, aU, ab)], aU)
359359 else throw("Strict value is not equal to itself.")
360360 }
361361 else throw("Strict value is not equal to itself.")
362362 }
363363
364364
365365
366366 @Callable(V)
367367 func withdrawVestedSURF2 (ae,af,aV) = {
368368 let ag = toString(V.caller)
369369 let ay = Q("liquidao_all_withdrawVestedAsSurf", toBase58String(ab))
370370 if ((ay == ay))
371371 then {
372372 let ah = if ((af > 0))
373373 then j(invoke(H, "partialWithdrawVestedForTo", [ag, toString(this), af], nil))
374374 else 0
375375 if ((ah == ah))
376376 then {
377377 let ai = if ((ae > 0))
378378 then j(invoke(I, "partialWithdrawVestedForTo", [ag, toString(this), ae], nil))
379379 else 0
380380 if ((ai == ai))
381381 then {
382382 let aj = (ai + ah)
383383 let ak = invoke(Z, "buySurf", [1000000, 1000000, false], [AttachedPayment(fromBase58String(J), aj)])
384384 if ((ak == ak))
385385 then {
386386 let aU = assetBalance(this, ab)
387387 if ((aU == aU))
388388 then if (aV)
389389 then {
390390 let aW = invoke(aa, "stakeByOriginCaller", nil, [AttachedPayment(ab, aU)])
391391 if ((aW == aW))
392392 then $Tuple2(nil, aU)
393393 else throw("Strict value is not equal to itself.")
394394 }
395395 else $Tuple2([ScriptTransfer(V.caller, aU, ab)], aU)
396396 else throw("Strict value is not equal to itself.")
397397 }
398398 else throw("Strict value is not equal to itself.")
399399 }
400400 else throw("Strict value is not equal to itself.")
401401 }
402402 else throw("Strict value is not equal to itself.")
403403 }
404404 else throw("Strict value is not equal to itself.")
405405 }
406406
407407
408408
409409 @Callable(V)
410410 func withdrawVestedAllSURFAndStake (ae,af) = {
411411 let ay = Q("liquidao_all_withdrawVestedAsSurf", toBase58String(ab))
412412 if ((ay == ay))
413413 then {
414414 let aU = ac(V.caller, ae, af)
415415 if ((aU == aU))
416416 then {
417417 let aW = invoke(aa, "stakeByOriginCaller", nil, [AttachedPayment(ab, aU)])
418418 if ((aW == aW))
419419 then $Tuple2(nil, aU)
420420 else throw("Strict value is not equal to itself.")
421421 }
422422 else throw("Strict value is not equal to itself.")
423423 }
424424 else throw("Strict value is not equal to itself.")
425425 }
426426
427427
428428
429429 @Callable(V)
430430 func withdrawAsLP (ae,af) = {
431431 let ag = toString(V.caller)
432432 let ah = if ((af > 0))
433433 then j(invoke(H, "partialWithdrawVestedForTo", [ag, toString(this), af], nil))
434434 else 0
435435 if ((ah == ah))
436436 then {
437437 let ai = if ((ae > 0))
438438 then j(invoke(I, "partialWithdrawVestedForTo", [ag, toString(this), ae], nil))
439439 else 0
440440 if ((ai == ai))
441441 then {
442442 let aj = (ai + ah)
443443 let aX = invoke(y, "mintTo", [ag], [AttachedPayment(fromBase58String(J), aj)])
444444 if ((aX == aX))
445445 then $Tuple2(nil, aj)
446446 else throw("Strict value is not equal to itself.")
447447 }
448448 else throw("Strict value is not equal to itself.")
449449 }
450450 else throw("Strict value is not equal to itself.")
451451 }
452452
453453
454454
455455 @Callable(V)
456456 func importLP () = {
457457 let ag = toString(V.caller)
458458 let aB = j(invoke(y, "import", nil, V.payments))
459459 if ((aB == aB))
460460 then {
461461 let aY = invoke(H, "accountFor", [ag], [AttachedPayment(fromBase58String(J), aB)])
462462 if ((aY == aY))
463463 then $Tuple2(nil, aB)
464464 else throw("Strict value is not equal to itself.")
465465 }
466466 else throw("Strict value is not equal to itself.")
467467 }
468468
469469
470470 @Verifier(aZ)
471471 func ba () = {
472472 let bb = 1000
473473 let bc = valueOrErrorMessage(getInteger(x, "proposal_quorum_ratio"), "proposalQuorumRatio is not defined")
474474 let bd = valueOrErrorMessage(getInteger(x, "proposal_passed_ratio"), "proposalThresholdRatio is not defined")
475475 let be = valueOrErrorMessage(addressFromString(valueOrErrorMessage(getString(x, "dividends_contract"), "no dividends_contract")), "invalid dividends_contract")
476476 let bf = valueOrErrorMessage(addressFromString(valueOrErrorMessage(getString(x, "voting_contract"), "no voting_contract")), "invalid voting_contract")
477477 let bg = toBase58String(aZ.id)
478478 let bh = valueOrElse(getInteger(bf, ("proposal_yes_" + bg)), 0)
479479 let bi = valueOrElse(getInteger(bf, ("proposal_no_" + bg)), 0)
480480 let bj = valueOrErrorMessage(getInteger(bf, ("proposal_height_" + bg)), "proposal not registered")
481481 let bk = valueOrElse(getInteger(bf, ("proposal_applystart_" + bg)), 0)
482482 let bl = valueOrElse(getInteger(bf, ("proposal_applyend_" + bg)), 0)
483483 let bm = valueOrElse(getInteger(bf, ("proposal_gvires_" + bg)), 0)
484484 let bn = valueOrElse(getBoolean(x, "op_governance_apply_tx_paused"), false)
485485 let bo = bh
486486 let bp = bi
487487 let bq = (bo + bp)
488488 let br = (((bq * bb) / bm) >= bc)
489489 let bs = (((bo * bb) / bq) >= bd)
490490 let bt = (bk >= A)
491491 let bu = (A >= bl)
492492 let bv = ((((((("proposalHeight = " + toString(bj)) + ", applyStart = ") + toString(bk)) + ", applyEnd = ") + toString(bl)) + ", HEIGHT = ") + toString(A))
493493 let bw = if (!(bn))
494494 then throw("tx application throw governance not enabled")
495495 else if (bt)
496496 then throw(("proposal can't be executed as it's too early: " + bv))
497497 else if (bu)
498498 then throw(("proposal can't be executed as it's too late:" + bv))
499499 else if (!(br))
500500 then throw((((((("no quorum: " + "totalVotes: ") + toString(bq)) + ", totalGVires: ") + toString(bm)) + ", quorumRatio: ") + toString(bc)))
501501 else if (!(bs))
502502 then throw((((((("no threshold achieved: " + "voteYes: ") + toString(bo)) + ", voteNo: ") + toString(bp)) + ", passedRatio: ") + toString(bd)))
503503 else true
504504 if (sigVerify(aZ.bodyBytes, aZ.proofs[0], aZ.senderPublicKey))
505505 then true
506506 else bw
507507 }
508508

github/deemru/w8io/3ef1775 
48.39 ms