tx · j97xUAmGW9RbRxMxfnuZFV2eBCY9tWu4BjTcF3x6gbM 3MwHAghvVSNQUvsYHsHSR4tAEYiVarQRrtG: -0.01000000 Waves 2019.10.14 15:57 [719634] smart account 3MwHAghvVSNQUvsYHsHSR4tAEYiVarQRrtG > SELF 0.00000000 Waves
{ "type": 13, "id": "j97xUAmGW9RbRxMxfnuZFV2eBCY9tWu4BjTcF3x6gbM", "fee": 1000000, "feeAssetId": null, "timestamp": 1571057937430, "version": 1, "sender": "3MwHAghvVSNQUvsYHsHSR4tAEYiVarQRrtG", "senderPublicKey": "HSPAMMmqM219QKYupVfBAUubjhXRzmEkPKqGvZWJykXU", "proofs": [ "2H5DoGPdKTRf5Xn4BJT3Yviv1rJbUz6FvMemj2YnQaYdykRsnRGEJWrwSnevnSMmZXfcMtF59sWGkF3Lj9cy5VPY" ], "script": "base64:AAIDAAAAAAAAAEEIARIMCgoICAgBAQEBAQEBEgoKCAgBAQEBAQEBEgASABIDCgEIEgASAwoBCBIAEgMKAQQSABIAEgMKAQQSAwoBBAAAAD0AAAAADGRlcG9zaXRUb2tlbgUAAAAEdW5pdAAAAAANb3JhY2xlRGF0YUtleQIAAAALd2F2ZXNfYnRjXzgAAAAABHRlbjgJAABoAAAAAgkAAGgAAAACAAAAAAAAAABkAAAAAAAAAAPoAAAAAAAAAAPoAAAAAApsZW5kZXJzS2V5AgAAAAdsZW5kZXJzAAAAABFlbmFibGVkTGVuZGVyc0tleQIAAAAOZW5hYmxlZExlbmRlcnMAAAAADmdyYWNlUGVyaW9kS2V5AgAAAAtncmFjZVBlcmlvZAAAAAARaW50ZXJlc3RQZXJpb2RLZXkCAAAADmludGVyZXN0UGVyaW9kAAAAABFidXJuZG93blBlcmlvZEtleQIAAAAOYnVybmRvd25QZXJpb2QAAAAACW9yYWNsZUtleQIAAAAGb3JhY2xlAAAAABVkaXNjb3VudFBlcmNlbnRpbGVLZXkCAAAAEmRpc2NvdW50UGVyY2VudGlsZQAAAAAKbWF4UmF0ZUtleQIAAAAHbWF4UmF0ZQAAAAANYXNzZXRUb2tlbktleQIAAAAKYXNzZXRUb2tlbgAAAAAIYWRtaW5LZXkCAAAABW93bmVyAAAAABdzZXJ2aWNlRmVlUGVyY2VudGlsZUtleQIAAAALc2VydmljZV9mZWUAAAAAC2xlbmRTaXplS2V5AgAAAAlsZW5kX3NpemUAAAAAE2VuYWJsZURlcG9zaXRCdGNLZXkCAAAAEmVuYWJsZV9kZXBvc2l0X2J0YwAAAAARZW5hYmxlTmV3TG9hbnNLZXkCAAAAEGVuYWJsZV9uZXdfbG9hbnMBAAAACnN0YXJ0T2ZLZXkAAAABAAAABnJlbnRlcgkAASwAAAACAgAAAAlzdGFydF9vZl8FAAAABnJlbnRlcgEAAAAPZW5kT2ZHcmFjZU9mS2V5AAAAAQAAAAZyZW50ZXIJAAEsAAAAAgIAAAAQZW5kX29mX2dyYWNlX29mXwUAAAAGcmVudGVyAQAAABJlbmRPZkludGVyZXN0T2ZLZXkAAAABAAAABnJlbnRlcgkAASwAAAACAgAAABNlbmRfb2ZfaW50ZXJlc3Rfb2ZfBQAAAAZyZW50ZXIBAAAAEmVuZE9mQnVybmRvd25PZktleQAAAAEAAAAGcmVudGVyCQABLAAAAAICAAAAE2VuZF9vZl9idXJuZG93bl9vZl8FAAAABnJlbnRlcgEAAAAJcmF0ZU9mS2V5AAAAAQAAAAZyZW50ZXIJAAEsAAAAAgIAAAAIcmF0ZV9vZl8FAAAABnJlbnRlcgEAAAAMZGVwb3NpdE9mS2V5AAAAAQAAAAZyZW50ZXIJAAEsAAAAAgIAAAALZGVwb3NpdF9vZl8FAAAABnJlbnRlcgEAAAAJbGVuZE9mS2V5AAAAAQAAAAZyZW50ZXIJAAEsAAAAAgIAAAAIbGVuZF9vZl8FAAAABnJlbnRlcgEAAAAMbGVuZGVyc09mS2V5AAAAAQAAAAZyZW50ZXIJAAEsAAAAAgIAAAALbGVuZGVyc19vZl8FAAAABnJlbnRlcgEAAAAUY2lyY3VsYXRpbmdBc3NldHNLZXkAAAABAAAABmxlbmRlcgkAASwAAAACAgAAABZjdXJjdWxhdGluZ19hc3NldHNfb2ZfBQAAAAZsZW5kZXIBAAAADm9wZW5MZW5kc09mS2V5AAAAAQAAAAZsZW5kZXIJAAEsAAAAAgIAAAAOb3Blbl9sZW5kc19vZl8FAAAABmxlbmRlcgAAAAAIbGVuZFNpemUJAABoAAAAAgkBAAAAE3ZhbHVlT3JFcnJvck1lc3NhZ2UAAAACCQAEGgAAAAIFAAAABHRoaXMFAAAAC2xlbmRTaXplS2V5AgAAAAtubyBsZW5kU2l6ZQUAAAAEdGVuOAAAAAAUbmV3RGVwb3NpdEJ0Y0VuYWJsZWQEAAAAByRtYXRjaDAJAAQbAAAAAgUAAAAEdGhpcwUAAAATZW5hYmxlRGVwb3NpdEJ0Y0tleQMJAAABAAAAAgUAAAAHJG1hdGNoMAIAAAAHQm9vbGVhbgQAAAABYgUAAAAHJG1hdGNoMAUAAAABYgYAAAAAD25ld0xvYW5zRW5hYmxlZAQAAAAHJG1hdGNoMAkABBsAAAACBQAAAAR0aGlzBQAAABFlbmFibGVOZXdMb2Fuc0tleQMJAAABAAAAAgUAAAAHJG1hdGNoMAIAAAAHQm9vbGVhbgQAAAABYgUAAAAHJG1hdGNoMAUAAAABYgYAAAAADWFsbExlbmRlcnNTdHIEAAAAByRtYXRjaDAJAAQdAAAAAgUAAAAEdGhpcwUAAAAKbGVuZGVyc0tleQMJAAABAAAAAgUAAAAHJG1hdGNoMAIAAAAGU3RyaW5nBAAAAAF4BQAAAAckbWF0Y2gwBQAAAAF4AgAAAAAAAAAAEWVuYWJsZWRMZW5kZXJzU3RyBAAAAAckbWF0Y2gwCQAEHQAAAAIFAAAABHRoaXMFAAAAEWVuYWJsZWRMZW5kZXJzS2V5AwkAAAEAAAACBQAAAAckbWF0Y2gwAgAAAAZTdHJpbmcEAAAAAXgFAAAAByRtYXRjaDAFAAAAAXgCAAAAAAAAAAAIb3duZXJTdHIJAQAAABN2YWx1ZU9yRXJyb3JNZXNzYWdlAAAAAgkABB0AAAACBQAAAAR0aGlzBQAAAAhhZG1pbktleQIAAAAITm8gb3duZXIAAAAABW93bmVyCQEAAAATdmFsdWVPckVycm9yTWVzc2FnZQAAAAIJAQAAABFhZGRyZXNzRnJvbVN0cmluZwAAAAEFAAAACG93bmVyU3RyAgAAAAhObyBvd25lcgAAAAAKYXNzZXRUb2tlbgkAAlkAAAABCQEAAAATdmFsdWVPckVycm9yTWVzc2FnZQAAAAIJAAQdAAAAAgUAAAAEdGhpcwUAAAANYXNzZXRUb2tlbktleQIAAAAKTm8gYXNzZXRJZAAAAAALZ3JhY2VQZXJpb2QJAQAAABN2YWx1ZU9yRXJyb3JNZXNzYWdlAAAAAgkABBoAAAACBQAAAAR0aGlzBQAAAA5ncmFjZVBlcmlvZEtleQIAAAAPTm8gZ3JhY2UgcGVyaW9kAAAAAA5pbnRlcmVzdFBlcmlvZAkBAAAAE3ZhbHVlT3JFcnJvck1lc3NhZ2UAAAACCQAEGgAAAAIFAAAABHRoaXMFAAAAEWludGVyZXN0UGVyaW9kS2V5AgAAABJObyBpbnRlcmVzdCBwZXJpb2QAAAAADmJ1cm5kb3duUGVyaW9kCQEAAAATdmFsdWVPckVycm9yTWVzc2FnZQAAAAIJAAQaAAAAAgUAAAAEdGhpcwUAAAARYnVybmRvd25QZXJpb2RLZXkCAAAAEk5vIGJ1cm5kb3duIHBlcmlvZAAAAAAHbWF4UmF0ZQkBAAAAE3ZhbHVlT3JFcnJvck1lc3NhZ2UAAAACCQAEGgAAAAIFAAAABHRoaXMFAAAACm1heFJhdGVLZXkCAAAAE05vIG9yYWNsZSBtYXggdmFsdWUAAAAABm9yYWNsZQkBAAAAE3ZhbHVlT3JFcnJvck1lc3NhZ2UAAAACCQAEHQAAAAIFAAAABHRoaXMFAAAACW9yYWNsZUtleQIAAAAJTm8gb3JhY2xlAAAAAAtvcmFjbGVWYWx1ZQkBAAAAE3ZhbHVlT3JFcnJvck1lc3NhZ2UAAAACCQAEGgAAAAIJAQAAABN2YWx1ZU9yRXJyb3JNZXNzYWdlAAAAAgkBAAAAEWFkZHJlc3NGcm9tU3RyaW5nAAAAAQUAAAAGb3JhY2xlAgAAABJiYWQgb3JhY2xlIGFkZHJlc3MFAAAADW9yYWNsZURhdGFLZXkCAAAAD05vIG9yYWNsZSB2YWx1ZQAAAAASZGlzY291bnRQZXJjZW50aWxlCQEAAAATdmFsdWVPckVycm9yTWVzc2FnZQAAAAIJAAQaAAAAAgUAAAAEdGhpcwUAAAAVZGlzY291bnRQZXJjZW50aWxlS2V5AgAAABZObyBkaXNjb3VudCBwZXJjZW50aWxlAAAAABRzZXJ2aWNlRmVlUGVyY2VudGlsZQkBAAAAE3ZhbHVlT3JFcnJvck1lc3NhZ2UAAAACCQAEGgAAAAIFAAAABHRoaXMFAAAAF3NlcnZpY2VGZWVQZXJjZW50aWxlS2V5AgAAABlObyBzZXJ2aWNlIGZlZSBwZXJjZW50aWxlAAAAAARyYXRlAwkAAGcAAAACBQAAAAdtYXhSYXRlBQAAAAtvcmFjbGVWYWx1ZQUAAAALb3JhY2xlVmFsdWUJAAACAAAAAQkAASwAAAACCQABLAAAAAIJAAEsAAAAAgIAAAAfU3VzcGljaW91cyByYXRlIHZhbHVlOiBhY3R1YWw6IAkAAaQAAAABBQAAAAtvcmFjbGVWYWx1ZQIAAAAHLCBtYXg6IAkAAaQAAAABBQAAAAdtYXhSYXRlAAAAABFtaW5pbWFsTGVuZEFtb3VudAkAAGQAAAACCQAAaQAAAAIJAABoAAAAAgAAAAAAAAAAZAUAAAAEdGVuOAkAAGgAAAACBQAAABJkaXNjb3VudFBlcmNlbnRpbGUFAAAABHJhdGUDCQAAZgAAAAIJAABqAAAAAgkAAGgAAAACAAAAAAAAAABkBQAAAAR0ZW44CQAAaAAAAAIFAAAAEmRpc2NvdW50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AQAAAAhmb2xkRnVuYwAAAAIFAAAADiRhY2MyMDUzMTU1Mzk3CQABkQAAAAIFAAAADSRsaXN0NTMxNTUzOTcAAAAAAAAAABQJAAACAAAAAQIAAAATTGlzdCBzaXplIGV4Y2VlZCAyMAEAAAAVdW5jbGFpbWVkRGlzdHJpYnV0aW9uAAAAAwAAAAV3YXZlcwAAAANidGMAAAAHbGVuZGVycwQAAAAQd2F2ZXNTZXJ2aWNlUGFydAkAAGsAAAADBQAAAAV3YXZlcwUAAAAUc2VydmljZUZlZVBlcmNlbnRpbGUAAAAAAAAAJxAEAAAAD3dhdmVzRGlzdHJpYnV0ZQkAAGUAAAACBQAAAAV3YXZlcwUAAAAQd2F2ZXNTZXJ2aWNlUGFydAQAAAAYbmV3V2F2ZXNTZXJ2aWNlVW5jbGFpbWVkCQAAZAAAAAIJAQAAABN1bmNsYWltZWREZXBvc2l0Rm9yAAAAAQUAAAAIb3duZXJTdHIFAAAAEHdhdmVzU2VydmljZVBhcnQEAAAACmxlbmRlcnNBbXQJAAGQAAAAAQUAAAAHbGVuZGVycwoBAAAACGZvbGRGdW5jAAAAAgAAAAFsAAAABmxlbmRlcgQAAAAMbmV3VW5jbGFpbWVkCQAAZAAAAAIJAQAAABN1bmNsYWltZWREZXBvc2l0Rm9yAAAAAQUAAAAGbGVuZGVyCQAAaQAAAAIFAAAAD3dhdmVzRGlzdHJpYnV0ZQUAAAAKbGVuZGVyc0FtdAQAAAAPbmV3RGVwb3NpdFZhbHVlCQAAZQAAAAIJAQAAABFAZXh0ck5hdGl2ZSgxMDUwKQAAAAIFAAAABHRoaXMJAQAAABRjaXJjdWxhdGluZ0Fzc2V0c0tleQAAAAEFAAAABmxlbmRlcgkAAGkAAAACBQAAAANidGMFAAAACmxlbmRlcnNBbXQJAARMAAAAAgkBAAAACURhdGFFbnRyeQAAAAIJAQAAABZ1bmNsYWltZWREZXBvc2l0Rm9yS2V5AAAAAQUAAAAGbGVuZGVyBQAAAAxuZXdVbmNsYWltZWQJAARMAAAAAgkBAAAACURhdGFFbnRyeQAAAAIJAQAAABRjaXJjdWxhdGluZ0Fzc2V0c0tleQAAAAEFAAAABmxlbmRlcgUAAAAPbmV3RGVwb3NpdFZhbHVlCQAETAAAAAIJAQAAABhkZWNyZW1lbnRPcGVuTGVuZHNBbW91bnQAAAABBQAAAAZsZW5kZXIFAAAAAWwEAAAADSRsaXN0NjE1NzYyNTcFAAAAB2xlbmRlcnMEAAAADSRzaXplNjE1NzYyNTcJAAGQAAAAAQUAAAANJGxpc3Q2MTU3NjI1NwQAAAANJGFjYzA2MTU3NjI1NwkABEwAAAACCQEAAAAJRGF0YUVudHJ5AAAAAgkBAAAAFnVuY2xhaW1lZERlcG9zaXRGb3JLZXkAAAABBQAAAAhvd25lclN0cgUAAAAYbmV3V2F2ZXNTZXJ2aWNlVW5jbGFpbWVkBQAAAANuaWwDCQAAAAAAAAIFAAAADSRzaXplNjE1NzYyNTcAAAAAAAAAAAAFAAAADSRhY2MwNjE1NzYyNTcEAAAADSRhY2MxNjE1NzYyNTcJAQAAAAhmb2xkRnVuYwAAAAIFAAAADSRhY2MwNjE1NzYyNTcJAAGRAAAAAgUAAAANJGxpc3Q2MTU3NjI1NwAAAAAAAAAAAAMJAAAAAAAAAgUAAAANJHNpemU2MTU3NjI1NwAAAAAAAAAAAQUAAAANJGFjYzE2MTU3NjI1NwQAAAANJGFjYzI2MTU3NjI1NwkBAAAACGZvbGRGdW5jAAAAAgUAAAANJGFjYzE2MTU3NjI1NwkAAZEAAAACBQAAAA0kbGlzdDYxNTc2MjU3AAAAAAAAAAABAwkAAAAAAAACBQAAAA0kc2l6ZTYxNTc2MjU3AAAAAAAAAAACBQAAAA0kYWNjMjYxNTc2MjU3BAAAAA0kYWNjMzYxNTc2MjU3CQEAAAAIZm9sZEZ1bmMAAAACBQAAAA0kYWNjMjYxNTc2MjU3CQABkQAAAAIFAAAADSRsaXN0NjE1NzYyNTcAAAAAAAAAAAIDCQAAAAAAAAIFAAAADSRzaXplNjE1NzYyNTcAAAAAAAAAAAMFAAAADSRhY2MzNjE1NzYyNTcEAAAADSRhY2M0NjE1NzYyNTcJAQAAAAhmb2xkRnVuYwAAAAIFAAAADSRhY2MzNjE1NzYyNTcJAAGRAAAAAgUAAAANJGxpc3Q2MTU3NjI1NwAAAAAAAAAAAwMJAAAAAAAAAgUAAAANJHNpemU2MTU3NjI1NwAAAAAAAAAABAUAAAANJGFjYzQ2MTU3NjI1NwQAAAANJGFjYzU2MTU3NjI1NwkBAAAACGZvbGRGdW5jAAAA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dFRva2VuBAAAAApsb2FuQW1vdW50CQEAAAARQGV4dHJOYXRpdmUoMTA1MCkAAAACBQAAAAR0aGlzCQEAAAAJbGVuZE9mS2V5AAAAAQUAAAAJcmVudGVyU3RyBAAAAA5kZXBvc2l0ZWRWYWx1ZQkBAAAAEUBleHRyTmF0aXZlKDEwNTApAAAAAgUAAAAEdGhpcwkBAAAADGRlcG9zaXRPZktleQAAAAEFAAAACXJlbnRlclN0cgMJAQAAAAEhAAAAAQUAAAALaGFzT3BlbkxvYW4JAAACAAAAAQIAAAAXTm8gb3BlbiBsb2FuIGZvciBjYWxsZXIDCQEAAAABIQAAAAEFAAAADmlzVG9rZW5Db3JyZWN0CQAAAgAAAAEJAAEsAAAAAgkAASwAAAACCQABLAAAAAICAAAAF1VzZXIgbXVzdCByZXR1cm4gV0JUQzogCQACWAAAAAEFAAAACmFzc2V0VG9rZW4CAAAAECBidXQgcmV0dXJuaW5nOiAJAAJYAAAAAQUAAAANcmV0dXJuQXNzZXRJZAQAAAAKZW5kT2ZHcmFjZQkBAAAAEUBleHRyTmF0aXZlKDEwNTApAAAAAgUAAAAEdGhpcwkBAAAAD2VuZE9mR3JhY2VPZktleQAAAAEFAAAACXJlbnRlclN0cgQAAAANZW5kT2ZCdXJuZG93bgkBAAAAEUBleHRyTmF0aXZlKDEwNTApAAAAAgUAAAAEdGhpcwkBAAAAEmVuZE9mQnVybmRvd25PZktleQAAAAEFAAAACXJlbnRlclN0cgQAAAANZW5kT2ZJbnRlcmVzdAkBAAAAEUBleHRyTmF0aXZlKDEwNTApAAAAAgUAAAAEdGhpcwkBAAAAEmVuZE9mSW50ZXJlc3RPZktleQAAAAEFAAAACXJlbnRlclN0cgQAAAATY2FuUmV0dXJuRnVsbEFtb3VudAkAAGcAAAACBQAAAAplbmRPZkdyYWNlBQAAAAZoZWlnaHQEAAAAFHJldHVybnNUaGVTYW1lQW1vdW50CQAAZwAAAAIFAAAACmVuZE9mR3JhY2UFAAAABmhlaWdodAMJAABnAAAAAgUAAAAGaGVpZ2h0BQAAAA1lbmRPZkludGVyZXN0CQAAAgAAAAECAAAAFXlvdXIgbG9hbiBoYXMgZXhwaXJlZAQAAAANbGVuZGVyc1Byb2ZpdAMJAABmAAAAAgUAAAAGaGVpZ2h0BQAAAAplbmRPZkdyYWNlCQAAawAAAAMFAAAACmxvYW5BbW91bnQJAABlAAAAAgUAAAAGaGVpZ2h0BQAAAAplbmRPZkdyYWNlCQAAZQAAAAIFAAAADWVuZE9mQnVybmRvd24FAAAACmVuZE9mR3JhY2UAAAAAAAAAAAAEAAAADnJlcXVpcmVkQW1vdW50AwUAAAAUcmV0dXJuc1RoZVNhbWVBbW91bnQFAAAACmxvYW5BbW91bnQJAABkAAAAAgUAAAAKbG9hbkFtb3VudAUAAAANbGVuZGVyc1Byb2ZpdAQAAAAVaXNSZXR1cm5BbW91bnRDb3JyZWN0CQAAZwAAAAIFAAAACXJldHVybkFtdAUAAAAOcmVxdWlyZWRBbW91bnQEAAAAE2lzUmV0dXJuQW1vdW50RXhhY3QJAAAAAAAAAgUAAAAJcmV0dXJuQW10BQAAAA5yZXF1aXJlZEFtb3VudAMJAQAAAAEhAAAAAQUAAAAVaXNSZXR1cm5BbW91bnRDb3JyZWN0CQAAAgAAAAEJAAEsAAAAAgkAASwAAAACCQABLAAAAAICAAAAEVVzZXIgbXVzdCByZXR1cm4gCQABpAAAAAEFAAAACmxvYW5BbW91bnQCAAAAGSBzYXRvc2hpcywgYnV0IHJldHVybmluZyAJAAGkAAAAAQUAAAAJcmV0dXJuQW10BAAAAAtkZXBvc2l0QmFjawkBAAAADlNjcmlwdFRyYW5zZmVyAAAAAwUAAAAGcmVudGVyBQAAAA5kZXBvc2l0ZWRWYWx1ZQUAAAAMZGVwb3NpdFRva2VuBAAAABJleGNlc3NSZXR1cm5BbW91bnQJAQAAAA5TY3JpcHRUcmFuc2ZlcgAAAAMFAAAABnJlbnRlcgkAAGUAAAACBQAAAAlyZXR1cm5BbXQFAAAADnJlcXVpcmVkQW1vdW50BQAAAAphc3NldFRva2VuBAAAAAl0cmFuc2ZlcnMDBQAAABNpc1JldHVybkFtb3VudEV4YWN0CQAETAAAAAIFAAAAC2RlcG9zaXRCYWNrBQAAAANuaWwJAARMAAAAAgUAAAALZGVwb3NpdEJhY2sJAARMAAAAAgUAAAASZXhjZXNzUmV0dXJuQW1vdW50BQAAAANuaWwEAAAAB2xlbmRlcnMJAAS1AAAAAgkBAAAAE3ZhbHVlT3JFcnJvck1lc3NhZ2UAAAACCQAEHQAAAAIFAAAABHRoaXMJAQAAAAxsZW5kZXJzT2ZLZXkAAAABBQAAAAlyZW50ZXJTdHICAAAAG05vIGxlbmRlcnMgZm9yIGFuIG9wZW4gbG9hbgIAAAABfAkBAAAADFNjcmlwdFJlc3VsdAAAAAIJAQAAAAdjbG9zaW5nAAAABQUAAAAJcmVudGVyU3RyAAAAAAAAAAAABQAAAA1sZW5kZXJzUHJvZml0BgUAAAAHbGVuZGVycwkBAAAAC1RyYW5zZmVyU2V0AAAAAQUAAAAJdHJhbnNmZXJzAQAAAANhZGQAAAACAAAAB2xlbmRlcnMAAAAGbGVuZGVyAwkAAAAAAAACBQAAAAdsZW5kZXJzAgAAAAAFAAAABmxlbmRlcgkAASwAAAACCQABLAAAAAIFAAAAB2xlbmRlcnMCAAAAAXwFAAAABmxlbmRlcgEAAAAGcmVtb3ZlAAAAAgAAAAdsZW5kZXJzAAAABmxlbmRlcgQAAAADYXJyCQAEtQAAAAIFAAAAB2xlbmRlcnMCAAAAAXwKAQAAAAhmb2xkRnVuYwAAAAIAAAADYWNjAAAABGl0ZW0DCQAAAAAAAAIFAAAABGl0ZW0FAAAABmxlbmRlcgUAAAADYWNjCQEAAAADYWRkAAAAAgUAAAADYWNjBQAAAARpdGVtBAAAAA8kbGlzdDEwMDI4MTAwNTUFAAAAA2FycgQAAAAPJHNpemUxMDAyODEwMDU1CQABkAAAAAEFAAAADyRsaXN0MTAwMjgxMDA1NQQAAAAPJGFjYzAxMDAyODEwMDU1AgAAAAADCQAAAAAAAAIFAAAADyRzaXplMTAwMjgxMDA1NQAAAAAAAAAAAAUAAAAPJGFjYzAxMDAyODEwMDU1BAAAAA8kYWNjMTEwMDI4MTAwNTUJAQAAAAhmb2xkRnVuYwAAAAIFAAAADyRhY2MwMTAwMjgxMDA1NQkAAZEAAAACBQAAAA8kbGlzdDEwMDI4MTAwNTUAAAAAAAAAAAADCQAAAAAAAAIFAAAADyRzaXplMTAwMjgxMDA1NQAAAAAAAAAAAQUAAAAPJGFjYzExMDAyODEwMDU1BAAAAA8kYWNjMjEwMDI4MTAwNTUJAQAAAAhmb2xkRnVuYwAAAAIFAAAADyRhY2MxMTAwMjgxMDA1NQkAAZEAAAACBQAAAA8kbGlzdDEwMDI4MTAwNTUAAAAAAAAAAAEDCQAAAAAAAAIFAAAADyRzaXplMTAwMjgxMDA1NQAAAAAAAAAAAgUAAAAPJGFjYzIxMDAyODEwMDU1BAAAAA8kYWNjMzEwMDI4MTAwNTUJAQAAAAhmb2xkRnVuYwAAAAIFAAAADyRhY2MyMTAwMjgxMDA1NQkAAZEAAAACBQAAAA8kbGlzdDEwMDI4MTAwNTUAAAAAAAAAAAIDCQAAAAAAAAIFAAAADyRzaXplMTAwMjgxMDA1NQAAAAAAAAAAAwUAAAAPJGFjYzMxMDAyODEwMDU1BAAAAA8kYWNjNDEwMDI4MTAwNTUJAQAAAAhmb2xkRnVuYwAAAAIFAAAADyRhY2MzMTAwMjgxMDA1NQkAAZEAAAACBQAAAA8kbGlzdDEwMDI4MTAwNTUAAAAAAAAAAAMDCQAAAAAAAAIFAAAADyRzaXplMTAwMjgxMDA1NQAAAAAAAAAABAUAAAAPJGFjYzQxMDAyODEwMDU1BAAAAA8kYWNjNTEwMDI4MTAwNTUJAQAAAAhmb2xkRnVuYwAAAAIFAAAADyRhY2M0MTAwMjgxMDA1NQkAAZEAAAACBQAAAA8kbGlzdDEwMDI4MTAwNTUAAAAAAAAAAAQDCQAAAAAAAAIFAAAADyRzaXplMTAwMjgxMDA1NQAAAAAAAAAABQUAAAAPJGFjYzUxMDAyODEwMDU1BAAAAA8kYWNjNjEwMDI4MTAwNTUJAQAAAAhmb2xkRnVuYwAAAAIFAAAADyRhY2M1MTAwMjgxMDA1NQkAAZEAAAACBQAAAA8kbGlzdDEwMDI4MTAwNTUAAAAAAAAAAAUDCQAAAAAAAAIFAAAADyRzaXplMTAwMjgxMDA1NQAAAAAAAAAABgUAAAAPJGFjYzYxMDAyODEwMDU1BAAAAA8kYWNjNzEwMDI4MTAwNTUJAQAAAAhmb2xkRnVuYwAAAAIFAAAADyRhY2M2MTAwMjgxMDA1NQkAAZEAAAACBQAAAA8kbGlzdDEwMDI4MTAwNTUAAAAAAAAAAAYDCQAAAAAAAAIFAAAADyRzaXplMTAwMjgxMDA1NQAAAAAAAAAABwUAAAAPJGFjYzcxMDAyODEwMDU1BAAAAA8kYWNjODEwMDI4MTAwNTUJAQAAAAhmb2xkRnVuYwAAAAIFAAAADyRhY2M3MTAwMjgxMDA1NQkAAZEAAAACBQAAAA8kbGlzdDEwMDI4MTAwNTUAAAAAAAAAAAcDCQAAAAAAAAIFAAAADyRzaXplMTAwMjgxMDA1NQAAAAAAAAAACAUAAAAPJGFjYzgxMDAyODEwMDU1BAAAAA8kYWNjOTEwMDI4MTAwNTUJAQAAAAhmb2xkRnVuYwAAAAIFAAAADyRhY2M4MTAwMjgxMDA1NQkAAZEAAAACBQAAAA8kbGlzdDEwMDI4MTAwNTUAAAAAAAAAAAgDCQAAAAAAAAIFAAAADyRzaXplMTAwMjgxMDA1NQAAAAAAAAAACQUAAAAPJGFjYzkxMDAyODEwMDU1BAAAABAkYWNjMTAxMDAyODEwMDU1CQEAAAAIZm9sZEZ1bmMAAAACBQAAAA8kYWNjOTEwMDI4MTAwNTUJAAGRAAAAAgUAAAAPJGxpc3QxMDAyODEwMDU1AAAAAAAAAAAJAwkAAAAAAAACBQAAAA8kc2l6ZTEwMDI4MTAwNTUAAAAAAAAAAAoFAAAAECRhY2MxMDEwMDI4MTAwNTUEAAAAECRhY2MxMTEwMDI4MTAwNTUJAQAAAAhmb2xkRnVuYwAAAAIFAAAAECRhY2MxMDEwMDI4MTAwNTUJAAGRAAAAAgUAAAAPJGxpc3QxMDAyODEwMDU1AAAAAAAAAAAKAwkAAAAAAAACBQAAAA8kc2l6ZTEwMDI4MTAwNTUAAAAAAAAAAAsFAAAAECRhY2MxMTEwMDI4MTAwNTUEAAAAECRhY2MxMjEwMDI4MTAwNTUJAQAAAAhmb2xkRnVuYwAAAAIFAAAAECRhY2MxMTEwMDI4MTAwNTUJAAGRAAAAAgUAAAAPJGxpc3QxMDAyODEwMDU1AAAAAAAAAAALAwkAAAAAAAACBQAAAA8kc2l6ZTEwMDI4MTAwNTUAAAAAAAAAAAwFAAAAECRhY2MxMjEwMDI4MTAwNTUEAAAAECRhY2MxMzEwMDI4MTAwNTUJAQAAAAhmb2xkRnVuYwAAAAIFAAAAECRhY2MxMjEwMDI4MTAwNTUJAAGRAAAAAgUAAAAPJGxpc3QxMDAyODEwMDU1AAAAAAAAAAAMAwkAAAAAAAACBQAAAA8kc2l6ZTEwMDI4MTAwNTUAAAAAAAAAAA0FAAAAECRhY2MxMzEwMDI4MTAwNTUEAAAAECRhY2MxNDEwMDI4MTAwNTUJAQAAAAhmb2xkRnVuYwAAAAIFAAAAECRhY2MxMzEwMDI4MTAwNTUJAAGRAAAAAgUAAAAPJGxpc3QxMDAyODEwMDU1AAAAAAAAAAANAwkAAAAAAAACBQAAAA8kc2l6ZTEwMDI4MTAwNTUAAAAAAAAAAA4FAAAAECRhY2MxNDEwMDI4MTAwNTUEAAAAECRhY2MxNTEwMDI4MTAwNTUJAQAAAAhmb2xkRnVuYwAAAAIFAAAAECRhY2MxNDEwMDI4MTAwNTUJAAGRAAAAAgUAAAAPJGxpc3QxMDAyODEwMDU1AAAAAAAAAAAOAwkAAAAAAAACBQAAAA8kc2l6ZTEwMDI4MTAwNTUAAAAAAAAAAA8FAAAAECRhY2MxNTEwMDI4MTAwNTUEAAAAECRhY2MxNjEwMDI4MTAwNTUJAQAAAAhmb2xkRnVuYwAAAAIFAAAAECRhY2MxNTEwMDI4MTAwNTUJAAGRAAAAAgUAAAAPJGxpc3QxMDAyODEwMDU1AAAAAAAAAAAPAwkAAAAAAAACBQAAAA8kc2l6ZTEwMDI4MTAwNTUAAAAAAAAAABAFAAAAECRhY2MxNjEwMDI4MTAwNTUEAAAAECRhY2MxNzEwMDI4MTAwNTUJAQAAAAhmb2xkRnVuYwAAAAIFAAAAECRhY2MxNjEwMDI4MTAwNTUJAAGRAAAAAgUAAAAPJGxpc3QxMDAyODEwMDU1AAAAAAAAAAAQAwkAAAAAAAACBQAAAA8kc2l6ZTEwMDI4MTAwNTUAAAAAAAAAABEFAAAAECRhY2MxNzEwMDI4MTAwNTUEAAAAECRhY2MxODEwMDI4MTAwNTUJAQAAAAhmb2xkRnVuYwAAAAIFAAAAECRhY2MxNzEwMDI4MTAwNTUJAAGRAAAAAgUAAAAPJGxpc3QxMDAyODEwMDU1AAAAAAAAAAARAwkAAAAAAAACBQAAAA8kc2l6ZTEwMDI4MTAwNTUAAAAAAAAAABIFAAAAECRhY2MxODEwMDI4MTAwNTUEAAAAECRhY2MxOTEwMDI4MTAwNTUJAQAAAAhmb2xkRnVuYwAAAAIFAAAAECRhY2MxODEwMDI4MTAwNTUJAAGRAAAAAgUAAAAPJGxpc3QxMDAyODEwMDU1AAAAAAAAAAASAwkAAAAAAAACBQAAAA8kc2l6ZTEwMDI4MTAwNTUAAAAAAAAAABMFAAAAECRhY2MxOTEwMDI4MTAwNTUEAAAAECRhY2MyMDEwMDI4MTAwNTUJAQAAAAhmb2xkRnVuYwAAAAIFAAAAECRhY2MxOTEwMDI4MTAwNTUJAAGRAAAAAgUAAAAPJGxpc3QxMDAyODEwMDU1AAAAAAAAAAATAwkAAAAAAAACBQAAAA8kc2l6ZTEwMDI4MTAwNTUAAAAAAAAAABQFAAAAECRhY2MyMDEwMDI4MTAwNTUEAAAAECRhY2MyMTEwMDI4MTAwNTUJAQAAAAhmb2xkRnVuYwAAAAIFAAAAECRhY2MyMDEwMDI4MTAwNTUJAAGRAAAAAgUAAAAPJGxpc3QxMDAyODEwMDU1AAAAAAAAAAAUCQAAAgAAAAECAAAAE0xpc3Qgc2l6ZSBleGNlZWQgMjABAAAADGRvVGFrZVByb2ZpdAAAAAEAAAAGbGVuZGVyBAAAAANzdHIJAAJYAAAAAQgFAAAABmxlbmRlcgAAAAVieXRlcwkBAAAADFNjcmlwdFJlc3VsdAAAAAIJAQAAAAhXcml0ZVNldAAAAAEJAARMAAAAAgkBAAAACURhdGFFbnRyeQAAAAIJAQAAAAxwcm9maXRGb3JLZXkAAAABBQAAAANzdHIAAAAAAAAAAAAJAARMAAAAAgkBAAAACURhdGFFbnRyeQAAAAIJAQAAABZ1bmNsYWltZWREZXBvc2l0Rm9yS2V5AAAAAQUAAAADc3RyAAAAAAAAAAAABQAAAANuaWwJAQAAAAtUcmFuc2ZlclNldAAAAAEJAARMAAAAAgkBAAAADlNjcmlwdFRyYW5zZmVyAAAAAwUAAAAGbGVuZGVyCQEAAAAJcHJvZml0Rm9yAAAAAQUAAAADc3RyBQAAAAphc3NldFRva2VuCQAETAAAAAIJAQAAAA5TY3JpcHRUcmFuc2ZlcgAAAAMFAAAABmxlbmRlcgkBAAAAE3VuY2xhaW1lZERlcG9zaXRGb3IAAAABBQAAAANzdHIFAAAADGRlcG9zaXRUb2tlbgUAAAADbmlsAAAADQAAAAFpAQAAAARpbml0AAAACgAAAAVvd25lcgAAAAV0b2tlbgAAAAZvcmFjbGUAAAAHbWF4UmF0ZQAAAAhkaXNjb3VudAAAAAVncmFjZQAAAAhpbnRlcmVzdAAAAAhidXJuZG93bgAAAApzZXJ2aWNlRmVlAAAACGxlbmRTaXplAwkAAGYAAAACBQAAAAhpbnRlcmVzdAUAAAAIYnVybmRvd24JAAACAAAAAQIAAAAqaW50ZXJlc3QgbXVzdCBiZSBsZXNzIG9yIGVxdWFsIHRvIGJ1cm5kb3duAwkBAAAAAiE9AAAAAggFAAAAAWkAAAAGY2FsbGVyBQAAAAR0aGlzCQAAAgAAAAECAAAAGW9ubHkgZGFwcCBpdHNlbGYgY2FuIGluaXQJAQAAAAhXcml0ZVNldAAAAAEJAARMAAAAAgkBAAAACURhdGFFbnRyeQAAAAIFAAAACGFkbWluS2V5BQAAAAVvd25lcgkABEwAAAACCQEAAAAJRGF0YUVudHJ5AAAAAgUAAAANYXNzZXRUb2tlbktleQUAAAAFdG9rZW4JAARMAAAAAgkBAAAACURhdGFFbnRyeQAAAAIFAAAACW9yYWNsZUtleQUAAAAGb3JhY2xlCQAETAAAAAIJAQAAAAlEYXRhRW50cnkAAAACBQAAAAptYXhSYXRlS2V5BQAAAAdtYXhSYXRlCQAETAAAAAIJAQAAAAlEYXRhRW50cnkAAAACBQAAABVkaXNjb3VudFBlcmNlbnRpbGVLZXkFAAAACGRpc2NvdW50CQAETAAAAAIJAQAAAAlEYXRhRW50cnkAAAACBQAAAA5ncmFjZVBlcmlvZEtleQUAAAAFZ3JhY2UJAARMAAAAAgkBAAAACURhdGFFbnRyeQAAAAIFAAAAEWludGVyZXN0UGVyaW9kS2V5BQAAAAhpbnRlcmVzdAkABEwAAAACCQEAAAAJRGF0YUVudHJ5AAAAAgUAAAARYnVybmRvd25QZXJpb2RLZXkFAAAACGJ1cm5kb3duCQAETAAAAAIJAQAAAAlEYXRhRW50cnkAAAACBQAAABdzZXJ2aWNlRmVlUGVyY2VudGlsZUtleQUAAAAKc2VydmljZUZlZQkABEwAAAACCQEAAAAJRGF0YUVudHJ5AAAAAgUAAAALbGVuZFNpemVLZXkFAAAACGxlbmRTaXplBQAAAANuaWwAAAABaQEAAAAMdXBkYXRlUGFyYW1zAAAACAAAAAZvcmFjbGUAAAAHbWF4UmF0ZQAAAAhkaXNjb3VudAAAAAVncmFjZQAAAAhpbnRlcmVzdAAAAAhidXJuZG93bgAAAApzZXJ2aWNlRmVlAAAACGxlbmRTaXplAwkAAGYAAAACBQAAAAhpbnRlcmVzdAUAAAAIYnVybmRvd24JAAACAAAAAQIAAAAqaW50ZXJlc3QgbXVzdCBiZSBsZXNzIG9yIGVxdWFsIHRvIGJ1cm5kb3duAwkBAAAAAiE9AAAAAggFAAAAAWkAAAAGY2FsbGVyBQAAAAVvd25lcgkAAAIAAAABAgAAABxvbmx5IG93bmVyIGNhbiB1cGRhdGUgcGFyYW1zCQEAAAAIV3JpdGVTZXQAAAABCQAETAAAAAIJAQAAAAlEYXRhRW50cnkAAAACBQAAAAlvcmFjbGVLZXkFAAAABm9yYWNsZQkABEwAAAACCQEAAAAJRGF0YUVudHJ5AAAAAgUAAAAKbWF4UmF0ZUtleQUAAAAHbWF4UmF0ZQkABEwAAAACCQEAAAAJRGF0YUVudHJ5AAAAAgUAAAAVZGlzY291bnRQZXJjZW50aWxlS2V5BQAAAAhkaXNjb3VudAkABEwAAAACCQEAAAAJRGF0YUVudHJ5AAAAAgUAAAAOZ3JhY2VQZXJpb2RLZXkFAAAABWdyYWNlCQAETAAAAAIJAQAAAAlEYXRhRW50cnkAAAACBQAAABFpbnRlcmVzdFBlcmlvZEtleQUAAAAIaW50ZXJlc3QJAARMAAAAAgkBAAAACURhdGFFbnRyeQAAAAIFAAAAEWJ1cm5kb3duUGVyaW9kS2V5BQAAAAhidXJuZG93bgkABEwAAAACCQEAAAAJRGF0YUVudHJ5AAAAAgUAAAAXc2VydmljZUZlZVBlcmNlbnRpbGVLZXkFAAAACnNlcnZpY2VGZWUJAARMAAAAAgkBAAAACURhdGFFbnRyeQAAAAIFAAAAC2xlbmRTaXplS2V5BQAAAAhsZW5kU2l6ZQUAAAADbmlsAAAAAWkBAAAABmJvcnJvdwAAAAAEAAAABnJlbnRlcgkAAlgAAAABCAgFAAAAAWkAAAAGY2FsbGVyAAAABWJ5dGVzAwkBAAAAASEAAAABBQAAAA9uZXdMb2Fuc0VuYWJsZWQJAAACAAAAAQIAAAAeTmV3IGxvYW5zIHRlbXBvcmFyaWx5IGRpc2FibGVkAwkBAAAACmlzTGVuZE9wZW4AAAABBQAAAAZyZW50ZXIJAAACAAAAAQkAASwAAAACBQAAAAZyZW50ZXICAAAAGSBhbHJlYWR5IGhhcyBhbiBvcGVuIGxvYW4EAAAAByRtYXRjaDAIBQAAAAFpAAAAB3BheW1lbnQDCQAAAQAAAAIFAAAAByRtYXRjaDACAAAAD0F0dGFjaGVkUGF5bWVudAQAAAABYQUAAAAHJG1hdGNoMAMJAAAAAAAAAggFAAAAAWEAAAAHYXNzZXRJZAUAAAAMZGVwb3NpdFRva2VuBAAAAA1jdXJyZW50SGVpZ2h0BQAAAAZoZWlnaHQEAAAACmVuZE9mR3JhY2UJAABkAAAAAgUAAAAGaGVpZ2h0BQAAAAtncmFjZVBlcmlvZAQAAAANZW5kT2ZJbnRlcmVzdAkAAGQAAAACBQAAAAplbmRPZkdyYWNlBQAAAA5pbnRlcmVzdFBlcmlvZAQAAAANZW5kT2ZCdXJuZG93bgkAAGQAAAACBQAAAAplbmRPZkdyYWNlBQAAAA5idXJuZG93blBlcmlvZAQAAAANZGVwb3NpdEFtb3VudAgFAAAAAWEAAAAGYW1vdW50BAAAAA9hc3NldFRva2Vuc0xlbnQJAABrAAAAAwUAAAANZGVwb3NpdEFtb3VudAkAAGgAAAACBQAAAARyYXRlBQAAABJkaXNjb3VudFBlcmNlbnRpbGUJAABoAAAAAgUAAAAEdGVuOAAAAAAAAAAAZAMJAABmAAAAAgUAAAAPYXNzZXRUb2tlbnNMZW50AAAAAAAAAAAABAAAAAVkYXRhcwkBAAAACFdyaXRlU2V0AAAAAQkABEwAAAACCQEAAAAJRGF0YUVudHJ5AAAAAgkBAAAACnN0YXJ0T2ZLZXkAAAABBQAAAAZyZW50ZXIFAAAADWN1cnJlbnRIZWlnaHQJAARMAAAAAgkBAAAACURhdGFFbnRyeQAAAAIJAQAAAA9lbmRPZkdyYWNlT2ZLZXkAAAABBQAAAAZyZW50ZXIFAAAACmVuZE9mR3JhY2UJAARMAAAAAgkBAAAACURhdGFFbnRyeQAAAAIJAQAAABJlbmRPZkludGVyZXN0T2ZLZXkAAAABBQAAAAZyZW50ZXIFAAAADWVuZE9mSW50ZXJlc3QJAARMAAAAAgkBAAAACURhdGFFbnRyeQAAAAIJAQAAABJlbmRPZkJ1cm5kb3duT2ZLZXkAAAABBQAAAAZyZW50ZXIFAAAADWVuZE9mQnVybmRvd24JAARMAAAAAgkBAAAACURhdGFFbnRyeQAAAAIJ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", "chainId": 84, "height": 719634, "spentComplexity": 0 } View: original | compacted Prev: none Next: 5SszvmW9JPJ6wRwx158JBG2RzUDSMdvVR8zaAZ8R5Kdi Full:
Old | New | Differences | |
---|---|---|---|
1 | - | # no script | |
1 | + | {-# STDLIB_VERSION 3 #-} | |
2 | + | {-# SCRIPT_TYPE ACCOUNT #-} | |
3 | + | {-# CONTENT_TYPE DAPP #-} | |
4 | + | let a = unit | |
5 | + | ||
6 | + | let b = "waves_btc_8" | |
7 | + | ||
8 | + | let c = ((100 * 1000) * 1000) | |
9 | + | ||
10 | + | let d = "lenders" | |
11 | + | ||
12 | + | let e = "enabledLenders" | |
13 | + | ||
14 | + | let f = "gracePeriod" | |
15 | + | ||
16 | + | let g = "interestPeriod" | |
17 | + | ||
18 | + | let h = "burndownPeriod" | |
19 | + | ||
20 | + | let i = "oracle" | |
21 | + | ||
22 | + | let j = "discountPercentile" | |
23 | + | ||
24 | + | let k = "maxRate" | |
25 | + | ||
26 | + | let l = "assetToken" | |
27 | + | ||
28 | + | let m = "owner" | |
29 | + | ||
30 | + | let n = "service_fee" | |
31 | + | ||
32 | + | let o = "lend_size" | |
33 | + | ||
34 | + | let p = "enable_deposit_btc" | |
35 | + | ||
36 | + | let q = "enable_new_loans" | |
37 | + | ||
38 | + | func r (s) = ("start_of_" + s) | |
39 | + | ||
40 | + | ||
41 | + | func t (s) = ("end_of_grace_of_" + s) | |
42 | + | ||
43 | + | ||
44 | + | func u (s) = ("end_of_interest_of_" + s) | |
45 | + | ||
46 | + | ||
47 | + | func v (s) = ("end_of_burndown_of_" + s) | |
48 | + | ||
49 | + | ||
50 | + | func w (s) = ("rate_of_" + s) | |
51 | + | ||
52 | + | ||
53 | + | func x (s) = ("deposit_of_" + s) | |
54 | + | ||
55 | + | ||
56 | + | func y (s) = ("lend_of_" + s) | |
57 | + | ||
58 | + | ||
59 | + | func z (s) = ("lenders_of_" + s) | |
60 | + | ||
61 | + | ||
62 | + | func A (B) = ("curculating_assets_of_" + B) | |
63 | + | ||
64 | + | ||
65 | + | func C (B) = ("open_lends_of_" + B) | |
66 | + | ||
67 | + | ||
68 | + | let D = (valueOrErrorMessage(getInteger(this, o), "no lendSize") * c) | |
69 | + | ||
70 | + | let E = { | |
71 | + | let F = getBoolean(this, p) | |
72 | + | if ($isInstanceOf(F, "Boolean")) | |
73 | + | then { | |
74 | + | let G = F | |
75 | + | G | |
76 | + | } | |
77 | + | else true | |
78 | + | } | |
79 | + | ||
80 | + | let H = { | |
81 | + | let F = getBoolean(this, q) | |
82 | + | if ($isInstanceOf(F, "Boolean")) | |
83 | + | then { | |
84 | + | let G = F | |
85 | + | G | |
86 | + | } | |
87 | + | else true | |
88 | + | } | |
89 | + | ||
90 | + | let I = { | |
91 | + | let F = getString(this, d) | |
92 | + | if ($isInstanceOf(F, "String")) | |
93 | + | then { | |
94 | + | let J = F | |
95 | + | J | |
96 | + | } | |
97 | + | else "" | |
98 | + | } | |
99 | + | ||
100 | + | let K = { | |
101 | + | let F = getString(this, e) | |
102 | + | if ($isInstanceOf(F, "String")) | |
103 | + | then { | |
104 | + | let J = F | |
105 | + | J | |
106 | + | } | |
107 | + | else "" | |
108 | + | } | |
109 | + | ||
110 | + | let L = valueOrErrorMessage(getString(this, m), "No owner") | |
111 | + | ||
112 | + | let M = valueOrErrorMessage(addressFromString(L), "No owner") | |
113 | + | ||
114 | + | let N = fromBase58String(valueOrErrorMessage(getString(this, l), "No assetId")) | |
115 | + | ||
116 | + | let O = valueOrErrorMessage(getInteger(this, f), "No grace period") | |
117 | + | ||
118 | + | let P = valueOrErrorMessage(getInteger(this, g), "No interest period") | |
119 | + | ||
120 | + | let Q = valueOrErrorMessage(getInteger(this, h), "No burndown period") | |
121 | + | ||
122 | + | let R = valueOrErrorMessage(getInteger(this, k), "No oracle max value") | |
123 | + | ||
124 | + | let S = valueOrErrorMessage(getString(this, i), "No oracle") | |
125 | + | ||
126 | + | let T = valueOrErrorMessage(getInteger(valueOrErrorMessage(addressFromString(S), "bad oracle address"), b), "No oracle value") | |
127 | + | ||
128 | + | let U = valueOrErrorMessage(getInteger(this, j), "No discount percentile") | |
129 | + | ||
130 | + | let V = valueOrErrorMessage(getInteger(this, n), "No service fee percentile") | |
131 | + | ||
132 | + | let W = if ((R >= T)) | |
133 | + | then T | |
134 | + | else throw(((("Suspicious rate value: actual: " + toString(T)) + ", max: ") + toString(R))) | |
135 | + | ||
136 | + | let X = (((100 * c) / (U * W)) + (if ((((100 * c) % (U * W)) > 0)) | |
137 | + | then 1 | |
138 | + | else 0)) | |
139 | + | ||
140 | + | let Y = isDefined(getString(this, l)) | |
141 | + | ||
142 | + | func Z (s) = { | |
143 | + | let F = getInteger(this, r(s)) | |
144 | + | if ($isInstanceOf(F, "Int")) | |
145 | + | then { | |
146 | + | let aa = F | |
147 | + | (aa > 0) | |
148 | + | } | |
149 | + | else false | |
150 | + | } | |
151 | + | ||
152 | + | ||
153 | + | func ab (aa) = ("profit_for_" + aa) | |
154 | + | ||
155 | + | ||
156 | + | func ac (ad) = { | |
157 | + | let F = getInteger(this, ab(ad)) | |
158 | + | if ($isInstanceOf(F, "Int")) | |
159 | + | then { | |
160 | + | let ae = F | |
161 | + | ae | |
162 | + | } | |
163 | + | else 0 | |
164 | + | } | |
165 | + | ||
166 | + | ||
167 | + | func af (aa) = ("unclaimied_for_" + aa) | |
168 | + | ||
169 | + | ||
170 | + | func ag (ad) = { | |
171 | + | let F = getInteger(this, af(ad)) | |
172 | + | if ($isInstanceOf(F, "Int")) | |
173 | + | then { | |
174 | + | let ae = F | |
175 | + | ae | |
176 | + | } | |
177 | + | else 0 | |
178 | + | } | |
179 | + | ||
180 | + | ||
181 | + | func ah (B) = { | |
182 | + | let ai = valueOrErrorMessage(getInteger(this, C(B)), "must have open lends at the moment") | |
183 | + | DataEntry(C(B), (ai - 1)) | |
184 | + | } | |
185 | + | ||
186 | + | ||
187 | + | func aj () = { | |
188 | + | func ak (al,aa) = { | |
189 | + | let ai = { | |
190 | + | let F = getInteger(this, C(aa)) | |
191 | + | if ($isInstanceOf(F, "Int")) | |
192 | + | then { | |
193 | + | let J = F | |
194 | + | J | |
195 | + | } | |
196 | + | else 0 | |
197 | + | } | |
198 | + | DataEntry(C(aa), (ai + 1)) :: al | |
199 | + | } | |
200 | + | ||
201 | + | let am = split(K, "|") | |
202 | + | let an = size(am) | |
203 | + | let ao = nil | |
204 | + | if ((an == 0)) | |
205 | + | then ao | |
206 | + | else { | |
207 | + | let ap = ak(ao, am[0]) | |
208 | + | if ((an == 1)) | |
209 | + | then ap | |
210 | + | else { | |
211 | + | let aq = ak(ap, am[1]) | |
212 | + | if ((an == 2)) | |
213 | + | then aq | |
214 | + | else { | |
215 | + | let ar = ak(aq, am[2]) | |
216 | + | if ((an == 3)) | |
217 | + | then ar | |
218 | + | else { | |
219 | + | let as = ak(ar, am[3]) | |
220 | + | if ((an == 4)) | |
221 | + | then as | |
222 | + | else { | |
223 | + | let at = ak(as, am[4]) | |
224 | + | if ((an == 5)) | |
225 | + | then at | |
226 | + | else { | |
227 | + | let au = ak(at, am[5]) | |
228 | + | if ((an == 6)) | |
229 | + | then au | |
230 | + | else { | |
231 | + | let av = ak(au, am[6]) | |
232 | + | if ((an == 7)) | |
233 | + | then av | |
234 | + | else { | |
235 | + | let aw = ak(av, am[7]) | |
236 | + | if ((an == 8)) | |
237 | + | then aw | |
238 | + | else { | |
239 | + | let ax = ak(aw, am[8]) | |
240 | + | if ((an == 9)) | |
241 | + | then ax | |
242 | + | else { | |
243 | + | let ay = ak(ax, am[9]) | |
244 | + | if ((an == 10)) | |
245 | + | then ay | |
246 | + | else { | |
247 | + | let az = ak(ay, am[10]) | |
248 | + | if ((an == 11)) | |
249 | + | then az | |
250 | + | else { | |
251 | + | let aA = ak(az, am[11]) | |
252 | + | if ((an == 12)) | |
253 | + | then aA | |
254 | + | else { | |
255 | + | let aB = ak(aA, am[12]) | |
256 | + | if ((an == 13)) | |
257 | + | then aB | |
258 | + | else { | |
259 | + | let aC = ak(aB, am[13]) | |
260 | + | if ((an == 14)) | |
261 | + | then aC | |
262 | + | else { | |
263 | + | let aD = ak(aC, am[14]) | |
264 | + | if ((an == 15)) | |
265 | + | then aD | |
266 | + | else { | |
267 | + | let aE = ak(aD, am[15]) | |
268 | + | if ((an == 16)) | |
269 | + | then aE | |
270 | + | else { | |
271 | + | let aF = ak(aE, am[16]) | |
272 | + | if ((an == 17)) | |
273 | + | then aF | |
274 | + | else { | |
275 | + | let aG = ak(aF, am[17]) | |
276 | + | if ((an == 18)) | |
277 | + | then aG | |
278 | + | else { | |
279 | + | let aH = ak(aG, am[18]) | |
280 | + | if ((an == 19)) | |
281 | + | then aH | |
282 | + | else { | |
283 | + | let aI = ak(aH, am[19]) | |
284 | + | if ((an == 20)) | |
285 | + | then aI | |
286 | + | else { | |
287 | + | let aJ = ak(aI, am[20]) | |
288 | + | throw("List size exceed 20") | |
289 | + | } | |
290 | + | } | |
291 | + | } | |
292 | + | } | |
293 | + | } | |
294 | + | } | |
295 | + | } | |
296 | + | } | |
297 | + | } | |
298 | + | } | |
299 | + | } | |
300 | + | } | |
301 | + | } | |
302 | + | } | |
303 | + | } | |
304 | + | } | |
305 | + | } | |
306 | + | } | |
307 | + | } | |
308 | + | } | |
309 | + | } | |
310 | + | } | |
311 | + | ||
312 | + | ||
313 | + | func aK (aL,aM) = { | |
314 | + | let aN = fraction(aL, V, 10000) | |
315 | + | let aO = (aL - aN) | |
316 | + | let aP = (ac(L) + aN) | |
317 | + | let aQ = size(aM) | |
318 | + | func ak (aR,B) = { | |
319 | + | let aS = (ac(B) + (aO / aQ)) | |
320 | + | [DataEntry(ab(B), aS), ah(B)] :: aR | |
321 | + | } | |
322 | + | ||
323 | + | let aT = aM | |
324 | + | let aU = size(aT) | |
325 | + | let aV = [DataEntry(ab(L), aP)] | |
326 | + | if ((aU == 0)) | |
327 | + | then aV | |
328 | + | else { | |
329 | + | let aW = ak(aV, aT[0]) | |
330 | + | if ((aU == 1)) | |
331 | + | then aW | |
332 | + | else { | |
333 | + | let aX = ak(aW, aT[1]) | |
334 | + | if ((aU == 2)) | |
335 | + | then aX | |
336 | + | else { | |
337 | + | let aY = ak(aX, aT[2]) | |
338 | + | if ((aU == 3)) | |
339 | + | then aY | |
340 | + | else { | |
341 | + | let aZ = ak(aY, aT[3]) | |
342 | + | if ((aU == 4)) | |
343 | + | then aZ | |
344 | + | else { | |
345 | + | let ba = ak(aZ, aT[4]) | |
346 | + | if ((aU == 5)) | |
347 | + | then ba | |
348 | + | else { | |
349 | + | let bb = ak(ba, aT[5]) | |
350 | + | if ((aU == 6)) | |
351 | + | then bb | |
352 | + | else { | |
353 | + | let bc = ak(bb, aT[6]) | |
354 | + | if ((aU == 7)) | |
355 | + | then bc | |
356 | + | else { | |
357 | + | let bd = ak(bc, aT[7]) | |
358 | + | if ((aU == 8)) | |
359 | + | then bd | |
360 | + | else { | |
361 | + | let be = ak(bd, aT[8]) | |
362 | + | if ((aU == 9)) | |
363 | + | then be | |
364 | + | else { | |
365 | + | let bf = ak(be, aT[9]) | |
366 | + | if ((aU == 10)) | |
367 | + | then bf | |
368 | + | else { | |
369 | + | let bg = ak(bf, aT[10]) | |
370 | + | if ((aU == 11)) | |
371 | + | then bg | |
372 | + | else { | |
373 | + | let bh = ak(bg, aT[11]) | |
374 | + | if ((aU == 12)) | |
375 | + | then bh | |
376 | + | else { | |
377 | + | let bi = ak(bh, aT[12]) | |
378 | + | if ((aU == 13)) | |
379 | + | then bi | |
380 | + | else { | |
381 | + | let bj = ak(bi, aT[13]) | |
382 | + | if ((aU == 14)) | |
383 | + | then bj | |
384 | + | else { | |
385 | + | let bk = ak(bj, aT[14]) | |
386 | + | if ((aU == 15)) | |
387 | + | then bk | |
388 | + | else { | |
389 | + | let bl = ak(bk, aT[15]) | |
390 | + | if ((aU == 16)) | |
391 | + | then bl | |
392 | + | else { | |
393 | + | let bm = ak(bl, aT[16]) | |
394 | + | if ((aU == 17)) | |
395 | + | then bm | |
396 | + | else { | |
397 | + | let bn = ak(bm, aT[17]) | |
398 | + | if ((aU == 18)) | |
399 | + | then bn | |
400 | + | else { | |
401 | + | let bo = ak(bn, aT[18]) | |
402 | + | if ((aU == 19)) | |
403 | + | then bo | |
404 | + | else { | |
405 | + | let bp = ak(bo, aT[19]) | |
406 | + | if ((aU == 20)) | |
407 | + | then bp | |
408 | + | else { | |
409 | + | let bq = ak(bp, aT[20]) | |
410 | + | throw("List size exceed 20") | |
411 | + | } | |
412 | + | } | |
413 | + | } | |
414 | + | } | |
415 | + | } | |
416 | + | } | |
417 | + | } | |
418 | + | } | |
419 | + | } | |
420 | + | } | |
421 | + | } | |
422 | + | } | |
423 | + | } | |
424 | + | } | |
425 | + | } | |
426 | + | } | |
427 | + | } | |
428 | + | } | |
429 | + | } | |
430 | + | } | |
431 | + | } | |
432 | + | } | |
433 | + | ||
434 | + | ||
435 | + | func br (bs,aL,aM) = { | |
436 | + | let bt = fraction(bs, V, 10000) | |
437 | + | let bu = (bs - bt) | |
438 | + | let bv = (ag(L) + bt) | |
439 | + | let aQ = size(aM) | |
440 | + | func ak (aR,B) = { | |
441 | + | let bw = (ag(B) + (bu / aQ)) | |
442 | + | let bx = (getIntegerValue(this, A(B)) - (aL / aQ)) | |
443 | + | [DataEntry(af(B), bw), DataEntry(A(B), bx), ah(B)] :: aR | |
444 | + | } | |
445 | + | ||
446 | + | let by = aM | |
447 | + | let bz = size(by) | |
448 | + | let bA = [DataEntry(af(L), bv)] | |
449 | + | if ((bz == 0)) | |
450 | + | then bA | |
451 | + | else { | |
452 | + | let bB = ak(bA, by[0]) | |
453 | + | if ((bz == 1)) | |
454 | + | then bB | |
455 | + | else { | |
456 | + | let bC = ak(bB, by[1]) | |
457 | + | if ((bz == 2)) | |
458 | + | then bC | |
459 | + | else { | |
460 | + | let bD = ak(bC, by[2]) | |
461 | + | if ((bz == 3)) | |
462 | + | then bD | |
463 | + | else { | |
464 | + | let bE = ak(bD, by[3]) | |
465 | + | if ((bz == 4)) | |
466 | + | then bE | |
467 | + | else { | |
468 | + | let bF = ak(bE, by[4]) | |
469 | + | if ((bz == 5)) | |
470 | + | then bF | |
471 | + | else { | |
472 | + | let bG = ak(bF, by[5]) | |
473 | + | if ((bz == 6)) | |
474 | + | then bG | |
475 | + | else { | |
476 | + | let bH = ak(bG, by[6]) | |
477 | + | if ((bz == 7)) | |
478 | + | then bH | |
479 | + | else { | |
480 | + | let bI = ak(bH, by[7]) | |
481 | + | if ((bz == 8)) | |
482 | + | then bI | |
483 | + | else { | |
484 | + | let bJ = ak(bI, by[8]) | |
485 | + | if ((bz == 9)) | |
486 | + | then bJ | |
487 | + | else { | |
488 | + | let bK = ak(bJ, by[9]) | |
489 | + | if ((bz == 10)) | |
490 | + | then bK | |
491 | + | else { | |
492 | + | let bL = ak(bK, by[10]) | |
493 | + | if ((bz == 11)) | |
494 | + | then bL | |
495 | + | else { | |
496 | + | let bM = ak(bL, by[11]) | |
497 | + | if ((bz == 12)) | |
498 | + | then bM | |
499 | + | else { | |
500 | + | let bN = ak(bM, by[12]) | |
501 | + | if ((bz == 13)) | |
502 | + | then bN | |
503 | + | else { | |
504 | + | let bO = ak(bN, by[13]) | |
505 | + | if ((bz == 14)) | |
506 | + | then bO | |
507 | + | else { | |
508 | + | let bP = ak(bO, by[14]) | |
509 | + | if ((bz == 15)) | |
510 | + | then bP | |
511 | + | else { | |
512 | + | let bQ = ak(bP, by[15]) | |
513 | + | if ((bz == 16)) | |
514 | + | then bQ | |
515 | + | else { | |
516 | + | let bR = ak(bQ, by[16]) | |
517 | + | if ((bz == 17)) | |
518 | + | then bR | |
519 | + | else { | |
520 | + | let bS = ak(bR, by[17]) | |
521 | + | if ((bz == 18)) | |
522 | + | then bS | |
523 | + | else { | |
524 | + | let bT = ak(bS, by[18]) | |
525 | + | if ((bz == 19)) | |
526 | + | then bT | |
527 | + | else { | |
528 | + | let bU = ak(bT, by[19]) | |
529 | + | if ((bz == 20)) | |
530 | + | then bU | |
531 | + | else { | |
532 | + | let bV = ak(bU, by[20]) | |
533 | + | throw("List size exceed 20") | |
534 | + | } | |
535 | + | } | |
536 | + | } | |
537 | + | } | |
538 | + | } | |
539 | + | } | |
540 | + | } | |
541 | + | } | |
542 | + | } | |
543 | + | } | |
544 | + | } | |
545 | + | } | |
546 | + | } | |
547 | + | } | |
548 | + | } | |
549 | + | } | |
550 | + | } | |
551 | + | } | |
552 | + | } | |
553 | + | } | |
554 | + | } | |
555 | + | } | |
556 | + | ||
557 | + | ||
558 | + | func bW (s,bs,aL,bX,aM) = WriteSet([DataEntry(r(s), 0), DataEntry(t(s), 0), DataEntry(u(s), 0), DataEntry(v(s), 0), DataEntry(w(s), 0), DataEntry(x(s), 0), DataEntry(y(s), 0), DataEntry(z(s), ""), if (bX) | |
559 | + | then aK(aL, aM) | |
560 | + | else br(bs, aL, aM)]) | |
561 | + | ||
562 | + | ||
563 | + | func bY (bZ,bs,aL,aM) = { | |
564 | + | let ca = valueOrErrorMessage(getInteger(this, x(bZ)), "No loan size for address") | |
565 | + | bW(bZ, bs, aL, false, aM) | |
566 | + | } | |
567 | + | ||
568 | + | ||
569 | + | func cb (s,cc,cd) = { | |
570 | + | let ce = toString(s) | |
571 | + | let cf = Z(ce) | |
572 | + | let cg = (cc == N) | |
573 | + | let ch = getIntegerValue(this, y(ce)) | |
574 | + | let ci = getIntegerValue(this, x(ce)) | |
575 | + | if (!(cf)) | |
576 | + | then throw("No open loan for caller") | |
577 | + | else if (!(cg)) | |
578 | + | then throw(((("User must return WBTC: " + toBase58String(N)) + " but returning: ") + toBase58String(cc))) | |
579 | + | else { | |
580 | + | let cj = getIntegerValue(this, t(ce)) | |
581 | + | let ck = getIntegerValue(this, v(ce)) | |
582 | + | let cl = getIntegerValue(this, u(ce)) | |
583 | + | let cm = (cj >= height) | |
584 | + | let cn = (cj >= height) | |
585 | + | if ((height >= cl)) | |
586 | + | then throw("your loan has expired") | |
587 | + | else { | |
588 | + | let co = if ((height > cj)) | |
589 | + | then fraction(ch, (height - cj), (ck - cj)) | |
590 | + | else 0 | |
591 | + | let cp = if (cn) | |
592 | + | then ch | |
593 | + | else (ch + co) | |
594 | + | let cq = (cd >= cp) | |
595 | + | let cr = (cd == cp) | |
596 | + | if (!(cq)) | |
597 | + | then throw(((("User must return " + toString(ch)) + " satoshis, but returning ") + toString(cd))) | |
598 | + | else { | |
599 | + | let cs = ScriptTransfer(s, ci, a) | |
600 | + | let ct = ScriptTransfer(s, (cd - cp), N) | |
601 | + | let cu = if (cr) | |
602 | + | then [cs] | |
603 | + | else [cs, ct] | |
604 | + | let aM = split(valueOrErrorMessage(getString(this, z(ce)), "No lenders for an open loan"), "|") | |
605 | + | ScriptResult(bW(ce, 0, co, true, aM), TransferSet(cu)) | |
606 | + | } | |
607 | + | } | |
608 | + | } | |
609 | + | } | |
610 | + | ||
611 | + | ||
612 | + | func cv (aM,B) = if ((aM == "")) | |
613 | + | then B | |
614 | + | else ((aM + "|") + B) | |
615 | + | ||
616 | + | ||
617 | + | func cw (aM,B) = { | |
618 | + | let cx = split(aM, "|") | |
619 | + | func ak (al,cy) = if ((cy == B)) | |
620 | + | then al | |
621 | + | else cv(al, cy) | |
622 | + | ||
623 | + | let cz = cx | |
624 | + | let cA = size(cz) | |
625 | + | let cB = "" | |
626 | + | if ((cA == 0)) | |
627 | + | then cB | |
628 | + | else { | |
629 | + | let cC = ak(cB, cz[0]) | |
630 | + | if ((cA == 1)) | |
631 | + | then cC | |
632 | + | else { | |
633 | + | let cD = ak(cC, cz[1]) | |
634 | + | if ((cA == 2)) | |
635 | + | then cD | |
636 | + | else { | |
637 | + | let cE = ak(cD, cz[2]) | |
638 | + | if ((cA == 3)) | |
639 | + | then cE | |
640 | + | else { | |
641 | + | let cF = ak(cE, cz[3]) | |
642 | + | if ((cA == 4)) | |
643 | + | then cF | |
644 | + | else { | |
645 | + | let cG = ak(cF, cz[4]) | |
646 | + | if ((cA == 5)) | |
647 | + | then cG | |
648 | + | else { | |
649 | + | let cH = ak(cG, cz[5]) | |
650 | + | if ((cA == 6)) | |
651 | + | then cH | |
652 | + | else { | |
653 | + | let cI = ak(cH, cz[6]) | |
654 | + | if ((cA == 7)) | |
655 | + | then cI | |
656 | + | else { | |
657 | + | let cJ = ak(cI, cz[7]) | |
658 | + | if ((cA == 8)) | |
659 | + | then cJ | |
660 | + | else { | |
661 | + | let cK = ak(cJ, cz[8]) | |
662 | + | if ((cA == 9)) | |
663 | + | then cK | |
664 | + | else { | |
665 | + | let cL = ak(cK, cz[9]) | |
666 | + | if ((cA == 10)) | |
667 | + | then cL | |
668 | + | else { | |
669 | + | let cM = ak(cL, cz[10]) | |
670 | + | if ((cA == 11)) | |
671 | + | then cM | |
672 | + | else { | |
673 | + | let cN = ak(cM, cz[11]) | |
674 | + | if ((cA == 12)) | |
675 | + | then cN | |
676 | + | else { | |
677 | + | let cO = ak(cN, cz[12]) | |
678 | + | if ((cA == 13)) | |
679 | + | then cO | |
680 | + | else { | |
681 | + | let cP = ak(cO, cz[13]) | |
682 | + | if ((cA == 14)) | |
683 | + | then cP | |
684 | + | else { | |
685 | + | let cQ = ak(cP, cz[14]) | |
686 | + | if ((cA == 15)) | |
687 | + | then cQ | |
688 | + | else { | |
689 | + | let cR = ak(cQ, cz[15]) | |
690 | + | if ((cA == 16)) | |
691 | + | then cR | |
692 | + | else { | |
693 | + | let cS = ak(cR, cz[16]) | |
694 | + | if ((cA == 17)) | |
695 | + | then cS | |
696 | + | else { | |
697 | + | let cT = ak(cS, cz[17]) | |
698 | + | if ((cA == 18)) | |
699 | + | then cT | |
700 | + | else { | |
701 | + | let cU = ak(cT, cz[18]) | |
702 | + | if ((cA == 19)) | |
703 | + | then cU | |
704 | + | else { | |
705 | + | let cV = ak(cU, cz[19]) | |
706 | + | if ((cA == 20)) | |
707 | + | then cV | |
708 | + | else { | |
709 | + | let cW = ak(cV, cz[20]) | |
710 | + | throw("List size exceed 20") | |
711 | + | } | |
712 | + | } | |
713 | + | } | |
714 | + | } | |
715 | + | } | |
716 | + | } | |
717 | + | } | |
718 | + | } | |
719 | + | } | |
720 | + | } | |
721 | + | } | |
722 | + | } | |
723 | + | } | |
724 | + | } | |
725 | + | } | |
726 | + | } | |
727 | + | } | |
728 | + | } | |
729 | + | } | |
730 | + | } | |
731 | + | } | |
732 | + | } | |
733 | + | ||
734 | + | ||
735 | + | func cX (B) = { | |
736 | + | let cY = toBase58String(B.bytes) | |
737 | + | ScriptResult(WriteSet([DataEntry(ab(cY), 0), DataEntry(af(cY), 0)]), TransferSet([ScriptTransfer(B, ac(cY), N), ScriptTransfer(B, ag(cY), a)])) | |
738 | + | } | |
739 | + | ||
740 | + | ||
741 | + | @Callable(ae) | |
742 | + | func init (M,cZ,S,R,da,db,dc,dd,de,D) = if ((dc > dd)) | |
743 | + | then throw("interest must be less or equal to burndown") | |
744 | + | else if ((ae.caller != this)) | |
745 | + | then throw("only dapp itself can init") | |
746 | + | else WriteSet([DataEntry(m, M), DataEntry(l, cZ), DataEntry(i, S), DataEntry(k, R), DataEntry(j, da), DataEntry(f, db), DataEntry(g, dc), DataEntry(h, dd), DataEntry(n, de), DataEntry(o, D)]) | |
747 | + | ||
748 | + | ||
749 | + | ||
750 | + | @Callable(ae) | |
751 | + | func updateParams (S,R,da,db,dc,dd,de,D) = if ((dc > dd)) | |
752 | + | then throw("interest must be less or equal to burndown") | |
753 | + | else if ((ae.caller != M)) | |
754 | + | then throw("only owner can update params") | |
755 | + | else WriteSet([DataEntry(i, S), DataEntry(k, R), DataEntry(j, da), DataEntry(f, db), DataEntry(g, dc), DataEntry(h, dd), DataEntry(n, de), DataEntry(o, D)]) | |
756 | + | ||
757 | + | ||
758 | + | ||
759 | + | @Callable(ae) | |
760 | + | func borrow () = { | |
761 | + | let s = toBase58String(ae.caller.bytes) | |
762 | + | if (!(H)) | |
763 | + | then throw("New loans temporarily disabled") | |
764 | + | else if (Z(s)) | |
765 | + | then throw((s + " already has an open loan")) | |
766 | + | else { | |
767 | + | let F = ae.payment | |
768 | + | if ($isInstanceOf(F, "AttachedPayment")) | |
769 | + | then { | |
770 | + | let df = F | |
771 | + | if ((df.assetId == a)) | |
772 | + | then { | |
773 | + | let dg = height | |
774 | + | let cj = (height + O) | |
775 | + | let cl = (cj + P) | |
776 | + | let ck = (cj + Q) | |
777 | + | let dh = df.amount | |
778 | + | let di = fraction(dh, (W * U), (c * 100)) | |
779 | + | if ((di > 0)) | |
780 | + | then { | |
781 | + | let dj = WriteSet([DataEntry(r(s), dg), DataEntry(t(s), cj), DataEntry(u(s), cl), DataEntry(v(s), ck), DataEntry(w(s), fraction(W, U, 100)), DataEntry(x(s), dh), DataEntry(y(s), di), DataEntry(z(s), K), aj()]) | |
782 | + | ScriptResult(dj, TransferSet([ScriptTransfer(ae.caller, di, N)])) | |
783 | + | } | |
784 | + | else throw((("payment can't be less than " + toString(X)) + " wavelets (price of 1 satoshi)")) | |
785 | + | } | |
786 | + | else throw(("can only lend WBTC for WAVES, but got " + toBase58String(valueOrErrorMessage(df.assetId, "No asset provided")))) | |
787 | + | } | |
788 | + | else throw("payment in assetTokens must be attached") | |
789 | + | } | |
790 | + | } | |
791 | + | ||
792 | + | ||
793 | + | ||
794 | + | @Callable(ae) | |
795 | + | func buyBack () = { | |
796 | + | let dk = valueOrErrorMessage(ae.payment, "payment must be attached") | |
797 | + | cb(ae.caller, valueOrErrorMessage(dk.assetId, "payment in WBTC must be attached"), dk.amount) | |
798 | + | } | |
799 | + | ||
800 | + | ||
801 | + | ||
802 | + | @Callable(ae) | |
803 | + | func closeExpiredFor (bZ) = { | |
804 | + | let cl = valueOrErrorMessage(getInteger(this, u(bZ)), "no end of interest") | |
805 | + | let dl = (height > cl) | |
806 | + | if (!(dl)) | |
807 | + | then throw(((("Owner can only close expired rents. Expiring on height " + toString(cl)) + ", current height") + toString(height))) | |
808 | + | else bY(bZ, getIntegerValue(this, x(bZ)), getIntegerValue(this, y(bZ)), split(getStringValue(this, z(bZ)), "|")) | |
809 | + | } | |
810 | + | ||
811 | + | ||
812 | + | ||
813 | + | @Callable(ae) | |
814 | + | func discard () = { | |
815 | + | let bZ = toBase58String(ae.caller.bytes) | |
816 | + | bY(bZ, getIntegerValue(this, x(bZ)), getIntegerValue(this, y(bZ)), split(getStringValue(this, z(bZ)), "|")) | |
817 | + | } | |
818 | + | ||
819 | + | ||
820 | + | ||
821 | + | @Callable(ae) | |
822 | + | func sendProfit (B) = cX(valueOrErrorMessage(addressFromString(B), "incorrect address")) | |
823 | + | ||
824 | + | ||
825 | + | ||
826 | + | @Callable(ae) | |
827 | + | func takeProfit () = cX(ae.caller) | |
828 | + | ||
829 | + | ||
830 | + | ||
831 | + | @Callable(ae) | |
832 | + | func enableLending (G) = { | |
833 | + | let B = toBase58String(ae.caller.bytes) | |
834 | + | let dm = isDefined(indexOf(I, B)) | |
835 | + | let dn = isDefined(indexOf(K, B)) | |
836 | + | if (!(dm)) | |
837 | + | then throw("is not lender") | |
838 | + | else { | |
839 | + | let ad = if (dn) | |
840 | + | then if (G) | |
841 | + | then throw("is already active lender") | |
842 | + | else cw(K, B) | |
843 | + | else if (!(G)) | |
844 | + | then throw("is already disabled lender") | |
845 | + | else cv(K, B) | |
846 | + | WriteSet([DataEntry(e, ad)]) | |
847 | + | } | |
848 | + | } | |
849 | + | ||
850 | + | ||
851 | + | ||
852 | + | @Callable(ae) | |
853 | + | func depositBtc () = { | |
854 | + | let B = toBase58String(ae.caller.bytes) | |
855 | + | let do = (20 > size(split(I, "|"))) | |
856 | + | let dp = isDefined(indexOf(I, B)) | |
857 | + | if (!(E)) | |
858 | + | then throw("New deposits temporarily disabled") | |
859 | + | else if (!(do)) | |
860 | + | then throw("too much lenders already") | |
861 | + | else if (dp) | |
862 | + | then throw((("lender " + B) + " already participates in the dApp")) | |
863 | + | else { | |
864 | + | let dq = (("exactly" + toString(D)) + " BTC must be attached") | |
865 | + | let dk = valueOrErrorMessage(ae.payment, dq) | |
866 | + | if (if ((dk.assetId != N)) | |
867 | + | then true | |
868 | + | else (dk.amount != D)) | |
869 | + | then throw(dq) | |
870 | + | else WriteSet([DataEntry(A(B), D), DataEntry(d, cv(I, B)), DataEntry(e, cv(K, B))]) | |
871 | + | } | |
872 | + | } | |
873 | + | ||
874 | + | ||
875 | + | ||
876 | + | @Callable(ae) | |
877 | + | func withdrawBtc () = { | |
878 | + | let B = toBase58String(ae.caller.bytes) | |
879 | + | let dr = { | |
880 | + | let F = getInteger(this, C(B)) | |
881 | + | if ($isInstanceOf(F, "Int")) | |
882 | + | then { | |
883 | + | let df = F | |
884 | + | (df == 0) | |
885 | + | } | |
886 | + | else true | |
887 | + | } | |
888 | + | if (!(dr)) | |
889 | + | then throw("withdraw not allowed, you have open lends. invoke enableLending(false) and wait for loans to be closed") | |
890 | + | else ScriptResult(WriteSet([DataEntry(A(B), 0), DataEntry(d, cw(I, B)), DataEntry(e, cw(K, B))]), TransferSet([ScriptTransfer(ae.caller, getIntegerValue(this, A(B)), N)])) | |
891 | + | } | |
892 | + | ||
893 | + | ||
894 | + | ||
895 | + | @Callable(ae) | |
896 | + | func enableDepositBtc (G) = if ((ae.caller != M)) | |
897 | + | then throw("admin permissions required") | |
898 | + | else if ((G == E)) | |
899 | + | then throw("the value already set") | |
900 | + | else WriteSet([DataEntry(p, G)]) | |
901 | + | ||
902 | + | ||
903 | + | ||
904 | + | @Callable(ae) | |
905 | + | func enableNewLoans (G) = if ((ae.caller != M)) | |
906 | + | then throw("admin permissions required") | |
907 | + | else if ((G == H)) | |
908 | + | then throw("the value already set") | |
909 | + | else WriteSet([DataEntry(q, G)]) | |
910 | + | ||
911 | + |
github/deemru/w8io/169f3d6 61.52 ms ◑