tx · 5Zwn6GtspPedj3aLDUbwhdSf9yMXMwgVKyjwzWyPQX8C 3N3QBerUq9f9YXjAszVRZAiAj5bgaGcMwYr: -0.00500000 Waves 2023.08.21 10:57 [2720123] smart account 3N3QBerUq9f9YXjAszVRZAiAj5bgaGcMwYr > SELF 0.00000000 Waves
{ "type": 13, "id": "5Zwn6GtspPedj3aLDUbwhdSf9yMXMwgVKyjwzWyPQX8C", "fee": 500000, "feeAssetId": null, "timestamp": 1692604629063, "version": 2, "chainId": 84, "sender": "3N3QBerUq9f9YXjAszVRZAiAj5bgaGcMwYr", "senderPublicKey": "BqjwtF4hAZNR68Wv67xxQpdJM85NYAUPYZqhDJJJ9Mw1", "proofs": [ "3WjperNQyK2uvXBjFm847xhF682omKvJ2y99zXBjdfBqmUMux11epmuMkVWR3oWFyHcuTQ9Gcadqa8kxvRZhMuet" ], "script": "base64:BgIKCAISABIAEgASAA0ACXdhdmVzMUxJZAkBB0FkZHJlc3MBASCx9eRWoz/T7on2QCucPEyACTagmHhap+TFH25bD+lGhQAJd2F2ZXMzTElkCQEHQWRkcmVzcwEBIHdXDDXqNpTfTtMV3HoBAJm7TRBH1wyKq1fh63GL4LhkAAl3YXZlczVMSWQJAQdBZGRyZXNzAQEgG0ZokmU5WBTQbm1EIuXU3iDl1u675ol+F8RLM/XoZqQAA2FycgkAzAgCAAEJAMwIAgACCQDMCAIAAwkAzAgCAAQJAMwIAgAFBQNuaWwABGFycjIJAMwIAgABCQDMCAIAAgUDbmlsAARhcnIzCQDMCAIAAQkAzAgCAAIJAMwIAgADBQNuaWwBA3N1bQIBYQFiCQD8BwQJARFAZXh0ck5hdGl2ZSgxMDYyKQECIzNOM0RuVmZmblV5WnR6Mk1SYms1VTdnaU4xMTJXZW1wTU5kAgZib3Jyb3cJAMwIAgIsMjVGRXFFalJrcUs2eUNraVQ3THo2U0FZejdnVUZDdHhmQ0NobnJWRkQ1QVQJAMwIAgDAhD0FA25pbAUDbmlsAQpnZXRCYWxhbmNlAgphc3NldElkU3RyB2FkZHJlc3MDCQAAAgUKYXNzZXRJZFN0cgIFV0FWRVMICQDvBwEFB2FkZHJlc3MJYXZhaWxhYmxlCQDwBwIFB2FkZHJlc3MJANkEAQUKYXNzZXRJZFN0cgEPZ2V0Q3VycmVudFByaWNlAQphc3NldElkU3RyAwkAAAIFCmFzc2V0SWRTdHICBVdBVkVTAAIJAAIBAgVFcnJvcgEUZ2V0V2F2ZXNDdXJyZW50UHJpY2UAAICJegEQZ2V0V2F2ZXNOZXdQcmljZQAAwI23AQEWZ2V0V2F2ZXMzTEN1cnJlbnRQcmljZQAAgJ9JARJnZXRXYXZlczNMTmV3UHJpY2UAAICJegQBaQEObWludFdhdmVzM0xfdjEAAwMJAQIhPQIJAJADAQgFAWkIcGF5bWVudHMAAQYJAAACCAkAkQMCCAUBaQhwYXltZW50cwAABmFtb3VudAAACQACAQIcMSBwYXltZW50IGhhcyB0byBiZSBhdHRhY2hlZAQHYWRkcmVzcwkApQgBCAUBaQZjYWxsZXIEEHN0YWJsZUNvaW5BbW91bnQICQCRAwIIBQFpCHBheW1lbnRzAAAGYW1vdW50BBRjb252ZXJ0ZWRXYXZlc0Ftb3VudAkAaAIJAGkCBRBzdGFibGVDb2luQW1vdW50CQEUZ2V0V2F2ZXNDdXJyZW50UHJpY2UAAIDC1y8ED3VzZXJXYXZlc0Ftb3VudAkBCmdldEJhbGFuY2UCAgVXQVZFUwgFAWkGY2FsbGVyAwkAZgIFD3VzZXJXYXZlc0Ftb3VudAUUY29udmVydGVkV2F2ZXNBbW91bnQEDWRlcG9zaXRSZXN1bHQJAPwHBAkBEUBleHRyTmF0aXZlKDEwNjIpAQIjM04zRG5WZmZuVXladHoyTVJiazVVN2dpTjExMldlbXBNTmQCBnN1cHBseQUDbmlsCQDMCAIJAQ9BdHRhY2hlZFBheW1lbnQCBQR1bml0BRRjb252ZXJ0ZWRXYXZlc0Ftb3VudAUDbmlsAwkAAAIFDWRlcG9zaXRSZXN1bHQFDWRlcG9zaXRSZXN1bHQKAQpyZXBlYXRGdW5jAgVhY2N1bQRuZXh0BAxib3Jyb3dSZXN1bHQJAPwHBAkBEUBleHRyTmF0aXZlKDEwNjIpAQIjM04zRG5WZmZuVXladHoyTVJiazVVN2dpTjExMldlbXBNTmQCBmJvcnJvdwkAzAgCAiwyNUZFcUVqUmtxSzZ5Q2tpVDdMejZTQVl6N2dVRkN0eGZDQ2huclZGRDVBVAkAzAgCBRBzdGFibGVDb2luQW1vdW50BQNuaWwFA25pbAMJAAACBQxib3Jyb3dSZXN1bHQFDGJvcnJvd1Jlc3VsdAkAZAIFBWFjY3VtBQRuZXh0CQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuBAVhcnJheQkAzAgCBRBzdGFibGVDb2luQW1vdW50CQDMCAIFEHN0YWJsZUNvaW5BbW91bnQJAMwIAgUQc3RhYmxlQ29pbkFtb3VudAUDbmlsBANyZXMKAAIkbAUFYXJyYXkKAAIkcwkAkAMBBQIkbAoABSRhY2MwAAAKAQUkZjBfMQICJGECJGkDCQBnAgUCJGkFAiRzBQIkYQkBCnJlcGVhdEZ1bmMCBQIkYQkAkQMCBQIkbAUCJGkKAQUkZjBfMgICJGECJGkDCQBnAgUCJGkFAiRzBQIkYQkAAgECE0xpc3Qgc2l6ZSBleGNlZWRzIDMJAQUkZjBfMgIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIFBSRhY2MwAAAAAQACAAMEE3JldHVybmVkVG9rZW5BbW91bnQJAGgCCQBpAgUDcmVzCQEWZ2V0V2F2ZXMzTEN1cnJlbnRQcmljZQAAwIQ9CQDMCAIJAQxJbnRlZ2VyRW50cnkCCQCsAgIFB2FkZHJlc3MCCl9nYXZlX1VTRE4FEHN0YWJsZUNvaW5BbW91bnQJAMwIAgkBDEludGVnZXJFbnRyeQIJAKwCAgUHYWRkcmVzcwIQX2RlcG9zaXRlZF9XQVZFUwUUY29udmVydGVkV2F2ZXNBbW91bnQJAMwIAgkBDEludGVnZXJFbnRyeQIJAKwCAgkArAICBQdhZGRyZXNzAgpfYm9ycm93ZWRfAiwyNUZFcUVqUmtxSzZ5Q2tpVDdMejZTQVl6N2dVRkN0eGZDQ2huclZGRDVBVAUDcmVzCQDMCAIJAQxJbnRlZ2VyRW50cnkCCQCsAgIFB2FkZHJlc3MCEV9yZWNlaXZlZF9XQVZFUzNMBRNyZXR1cm5lZFRva2VuQW1vdW50CQDMCAIJAQ5TY3JpcHRUcmFuc2ZlcgMIBQFpBmNhbGxlcgUTcmV0dXJuZWRUb2tlbkFtb3VudAEgd1cMNeo2lN9O0xXcegEAmbtNEEfXDIqrV+HrcYvguGQFA25pbAkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAgECHE5vdCBlbm91Z2ggV0FWRVMgdG8gZGVwb3NpdCEBaQEQcmVkZWVtV2F2ZXMzTF92MQADAwkBAiE9AgkAkAMBCAUBaQhwYXltZW50cwABBgkAAAIICQCRAwIIBQFpCHBheW1lbnRzAAAGYW1vdW50AAAJAAIBAhwxIHBheW1lbnQgaGFzIHRvIGJlIGF0dGFjaGVkBAdhZGRyZXNzCQClCAEIBQFpBmNhbGxlcgQLdG9rZW5BbW91bnQICQCRAwIIBQFpCHBheW1lbnRzAAAGYW1vdW50BBJyZXR1cm5lZFVTRE5BbW91bnQJAGgCBQt0b2tlbkFtb3VudAkAaQIJARJnZXRXYXZlczNMTmV3UHJpY2UAAMCEPQkAzAgCCQEMSW50ZWdlckVudHJ5AgkArAICBQdhZGRyZXNzAhFfcmVkZWVtZWRfV0FWRVMzTAULdG9rZW5BbW91bnQJAMwIAgkBDEludGVnZXJFbnRyeQIJAKwCAgUHYWRkcmVzcwIOX3JlY2VpdmVkX1VTRE4FEnJldHVybmVkVVNETkFtb3VudAkAzAgCCQEOU2NyaXB0VHJhbnNmZXIDCAUBaQZjYWxsZXIFEnJldHVybmVkVVNETkFtb3VudAEgD/IcEqzkxDya7EYaqyWosOy6BytGzG2IcvC14pJJAbQFA25pbAFpAQ5taW50V2F2ZXMzTF92MgADAwkBAiE9AgkAkAMBCAUBaQhwYXltZW50cwABBgkAAAIICQCRAwIIBQFpCHBheW1lbnRzAAAGYW1vdW50AAAJAAIBAhwxIHBheW1lbnQgaGFzIHRvIGJlIGF0dGFjaGVkBAdhZGRyZXNzCQClCAEIBQFpBmNhbGxlcgQQc3RhYmxlQ29pbkFtb3VudAgJAJEDAggFAWkIcGF5bWVudHMAAAZhbW91bnQEFGNvbnZlcnRlZFdhdmVzQW1vdW50CQBoAgkAaQIFEHN0YWJsZUNvaW5BbW91bnQAgIl6AIDC1y8ED3VzZXJXYXZlc0Ftb3VudAkBCmdldEJhbGFuY2UCAgVXQVZFUwgFAWkGY2FsbGVyBAliZWRpbmd1bmcJAGgCCQBlAgADAAEJARRnZXRXYXZlc0N1cnJlbnRQcmljZQADCQBnAgUQc3RhYmxlQ29pbkFtb3VudAUJYmVkaW5ndW5nBA1kZXBvc2l0UmVzdWx0CQD8BwQJARFAZXh0ck5hdGl2ZSgxMDYyKQECIzNOM0RuVmZmblV5WnR6Mk1SYms1VTdnaU4xMTJXZW1wTU5kAgZzdXBwbHkFA25pbAkAzAgCCQEPQXR0YWNoZWRQYXltZW50AgUEdW5pdAUUY29udmVydGVkV2F2ZXNBbW91bnQFA25pbAMJAAACBQ1kZXBvc2l0UmVzdWx0BQ1kZXBvc2l0UmVzdWx0CgEKcmVwZWF0RnVuYwIFYWNjdW0EbmV4dAQMYm9ycm93UmVzdWx0CQD8BwQJARFAZXh0ck5hdGl2ZSgxMDYyKQECIzNOM0RuVmZmblV5WnR6Mk1SYms1VTdnaU4xMTJXZW1wTU5kAgZib3Jyb3cJAMwIAgIsMjVGRXFFalJrcUs2eUNraVQ3THo2U0FZejdnVUZDdHhmQ0NobnJWRkQ1QVQJAMwIAgUQc3RhYmxlQ29pbkFtb3VudAUDbmlsBQNuaWwDCQAAAgUMYm9ycm93UmVzdWx0BQxib3Jyb3dSZXN1bHQJAGQCBQVhY2N1bQUEbmV4dAkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgQFYXJyYXkJAMwIAgUQc3RhYmxlQ29pbkFtb3VudAkAzAgCBRBzdGFibGVDb2luQW1vdW50CQDMCAIFEHN0YWJsZUNvaW5BbW91bnQFA25pbAQDcmVzCgACJGwFBWFycmF5CgACJHMJAJADAQUCJGwKAAUkYWNjMAAACgEFJGYwXzECAiRhAiRpAwkAZwIFAiRpBQIkcwUCJGEJAQpyZXBlYXRGdW5jAgUCJGEJAJEDAgUCJGwFAiRpCgEFJGYwXzICAiRhAiRpAwkAZwIFAiRpBQIkcwUCJGEJAAIBAhNMaXN0IHNpemUgZXhjZWVkcyAzCQEFJGYwXzICCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECBQUkYWNjMAAAAAEAAgADBA1ieVdhdmVzS2F1ZmVuCQBoAgkAaQIFA3JlcwkBFGdldFdhdmVzQ3VycmVudFByaWNlAACAwtcvCQDMCAIJAQxJbnRlZ2VyRW50cnkCCQCsAgIFB2FkZHJlc3MCCl9nYXZlX1VTRE4FEHN0YWJsZUNvaW5BbW91bnQJAMwIAgkBDEludGVnZXJFbnRyeQIJAKwCAgUHYWRkcmVzcwIQX2RlcG9zaXRlZF9XQVZFUwUUY29udmVydGVkV2F2ZXNBbW91bnQJAMwIAgkBDEludGVnZXJFbnRyeQIJAKwCAgkArAICBQdhZGRyZXNzAgpfYm9ycm93ZWRfAiwyNUZFcUVqUmtxSzZ5Q2tpVDdMejZTQVl6N2dVRkN0eGZDQ2huclZGRDVBVAUDcmVzCQDMCAIJAQxJbnRlZ2VyRW50cnkCCQCsAgIFB2FkZHJlc3MCEV9yZWNlaXZlZF9XQVZFUzNMAMCEPQkAzAgCCQEOU2NyaXB0VHJhbnNmZXIDCAUBaQZjYWxsZXIAwIQ9ASB3Vww16jaU307TFdx6AQCZu00QR9cMiqtX4etxi+C4ZAUDbmlsCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQACAQIcTm90IGVub3VnaCBXQVZFUyB0byBkZXBvc2l0IQFpARByZWRlZW1XYXZlczNMX3YyAAMDCQECIT0CCQCQAwEIBQFpCHBheW1lbnRzAAEGCQAAAggJAJEDAggFAWkIcGF5bWVudHMAAAZhbW91bnQAAAkAAgECHDEgcGF5bWVudCBoYXMgdG8gYmUgYXR0YWNoZWQEB2FkZHJlc3MJAKUIAQgFAWkGY2FsbGVyBAt0b2tlbkFtb3VudAAGBBJyZXR1cm5lZFVTRE5BbW91bnQJAGgCCQBlAgkAaAIFC3Rva2VuQW1vdW50CQBpAgkBEGdldFdhdmVzTmV3UHJpY2UAAMCEPQAEAMCEPQkAzAgCCQEMSW50ZWdlckVudHJ5AgkArAICBQdhZGRyZXNzAhFfcmVkZWVtZWRfV0FWRVMzTAULdG9rZW5BbW91bnQJAMwIAgkBDEludGVnZXJFbnRyeQIJAKwCAgUHYWRkcmVzcwIOX3JlY2VpdmVkX1VTRE4FEnJldHVybmVkVVNETkFtb3VudAkAzAgCCQEOU2NyaXB0VHJhbnNmZXIDCAUBaQZjYWxsZXIFEnJldHVybmVkVVNETkFtb3VudAEgD/IcEqzkxDya7EYaqyWosOy6BytGzG2IcvC14pJJAbQFA25pbAECdHgBBnZlcmlmeQAJAPQDAwgFAnR4CWJvZHlCeXRlcwkAkQMCCAUCdHgGcHJvb2ZzAAAIBQJ0eA9zZW5kZXJQdWJsaWNLZXkz3G7O", "height": 2720123, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: none Next: none Full:
Old | New | Differences | |
---|---|---|---|
1 | - | # no script | |
1 | + | {-# STDLIB_VERSION 6 #-} | |
2 | + | {-# SCRIPT_TYPE ACCOUNT #-} | |
3 | + | {-# CONTENT_TYPE DAPP #-} | |
4 | + | let a = Address(base58'CygdaJKZfxRrHyYMwkNdz9ZgSD5FpJLtk5s5B4q1DKV6') | |
5 | + | ||
6 | + | let b = Address(base58'92rW5ucGkH84YeXLnLs8dMN1P7RAFocmR8zfBqUy4gPM') | |
7 | + | ||
8 | + | let c = Address(base58'2qUH6Nh6cgC8dxj8fwH3bTJi261PNr5nMQKRbBXBuwmM') | |
9 | + | ||
10 | + | let d = [1, 2, 3, 4, 5] | |
11 | + | ||
12 | + | let e = [1, 2] | |
13 | + | ||
14 | + | let f = [1, 2, 3] | |
15 | + | ||
16 | + | func g (h,i) = invoke(addressFromStringValue("3N3DnVffnUyZtz2MRbk5U7giN112WempMNd"), "borrow", ["25FEqEjRkqK6yCkiT7Lz6SAYz7gUFCtxfCChnrVFD5AT", 1000000], nil) | |
17 | + | ||
18 | + | ||
19 | + | func j (k,l) = if ((k == "WAVES")) | |
20 | + | then wavesBalance(l).available | |
21 | + | else assetBalance(l, fromBase58String(k)) | |
22 | + | ||
23 | + | ||
24 | + | func m (k) = if ((k == "WAVES")) | |
25 | + | then 2 | |
26 | + | else throw("Error") | |
27 | + | ||
28 | + | ||
29 | + | func n () = 2000000 | |
30 | + | ||
31 | + | ||
32 | + | func o () = 3000000 | |
33 | + | ||
34 | + | ||
35 | + | func p () = 1200000 | |
36 | + | ||
37 | + | ||
38 | + | func q () = 2000000 | |
39 | + | ||
40 | + | ||
41 | + | @Callable(r) | |
42 | + | func mintWaves3L_v1 () = if (if ((size(r.payments) != 1)) | |
43 | + | then true | |
44 | + | else (r.payments[0].amount == 0)) | |
45 | + | then throw("1 payment has to be attached") | |
46 | + | else { | |
47 | + | let l = toString(r.caller) | |
48 | + | let s = r.payments[0].amount | |
49 | + | let t = ((s / n()) * 100000000) | |
50 | + | let u = j("WAVES", r.caller) | |
51 | + | if ((u > t)) | |
52 | + | then { | |
53 | + | let v = invoke(addressFromStringValue("3N3DnVffnUyZtz2MRbk5U7giN112WempMNd"), "supply", nil, [AttachedPayment(unit, t)]) | |
54 | + | if ((v == v)) | |
55 | + | then { | |
56 | + | func w (x,y) = { | |
57 | + | let z = invoke(addressFromStringValue("3N3DnVffnUyZtz2MRbk5U7giN112WempMNd"), "borrow", ["25FEqEjRkqK6yCkiT7Lz6SAYz7gUFCtxfCChnrVFD5AT", s], nil) | |
58 | + | if ((z == z)) | |
59 | + | then (x + y) | |
60 | + | else throw("Strict value is not equal to itself.") | |
61 | + | } | |
62 | + | ||
63 | + | let A = [s, s, s] | |
64 | + | let B = { | |
65 | + | let C = A | |
66 | + | let D = size(C) | |
67 | + | let E = 0 | |
68 | + | func F (G,H) = if ((H >= D)) | |
69 | + | then G | |
70 | + | else w(G, C[H]) | |
71 | + | ||
72 | + | func I (G,H) = if ((H >= D)) | |
73 | + | then G | |
74 | + | else throw("List size exceeds 3") | |
75 | + | ||
76 | + | I(F(F(F(E, 0), 1), 2), 3) | |
77 | + | } | |
78 | + | let J = ((B / p()) * 1000000) | |
79 | + | [IntegerEntry((l + "_gave_USDN"), s), IntegerEntry((l + "_deposited_WAVES"), t), IntegerEntry(((l + "_borrowed_") + "25FEqEjRkqK6yCkiT7Lz6SAYz7gUFCtxfCChnrVFD5AT"), B), IntegerEntry((l + "_received_WAVES3L"), J), ScriptTransfer(r.caller, J, base58'92rW5ucGkH84YeXLnLs8dMN1P7RAFocmR8zfBqUy4gPM')] | |
80 | + | } | |
81 | + | else throw("Strict value is not equal to itself.") | |
82 | + | } | |
83 | + | else throw("Not enough WAVES to deposit!") | |
84 | + | } | |
85 | + | ||
86 | + | ||
87 | + | ||
88 | + | @Callable(r) | |
89 | + | func redeemWaves3L_v1 () = if (if ((size(r.payments) != 1)) | |
90 | + | then true | |
91 | + | else (r.payments[0].amount == 0)) | |
92 | + | then throw("1 payment has to be attached") | |
93 | + | else { | |
94 | + | let l = toString(r.caller) | |
95 | + | let K = r.payments[0].amount | |
96 | + | let L = (K * (q() / 1000000)) | |
97 | + | [IntegerEntry((l + "_redeemed_WAVES3L"), K), IntegerEntry((l + "_received_USDN"), L), ScriptTransfer(r.caller, L, base58'25FEqEjRkqK6yCkiT7Lz6SAYz7gUFCtxfCChnrVFD5AT')] | |
98 | + | } | |
99 | + | ||
100 | + | ||
101 | + | ||
102 | + | @Callable(r) | |
103 | + | func mintWaves3L_v2 () = if (if ((size(r.payments) != 1)) | |
104 | + | then true | |
105 | + | else (r.payments[0].amount == 0)) | |
106 | + | then throw("1 payment has to be attached") | |
107 | + | else { | |
108 | + | let l = toString(r.caller) | |
109 | + | let s = r.payments[0].amount | |
110 | + | let t = ((s / 2000000) * 100000000) | |
111 | + | let u = j("WAVES", r.caller) | |
112 | + | let M = ((3 - 1) * n()) | |
113 | + | if ((s >= M)) | |
114 | + | then { | |
115 | + | let v = invoke(addressFromStringValue("3N3DnVffnUyZtz2MRbk5U7giN112WempMNd"), "supply", nil, [AttachedPayment(unit, t)]) | |
116 | + | if ((v == v)) | |
117 | + | then { | |
118 | + | func w (x,y) = { | |
119 | + | let z = invoke(addressFromStringValue("3N3DnVffnUyZtz2MRbk5U7giN112WempMNd"), "borrow", ["25FEqEjRkqK6yCkiT7Lz6SAYz7gUFCtxfCChnrVFD5AT", s], nil) | |
120 | + | if ((z == z)) | |
121 | + | then (x + y) | |
122 | + | else throw("Strict value is not equal to itself.") | |
123 | + | } | |
124 | + | ||
125 | + | let A = [s, s, s] | |
126 | + | let B = { | |
127 | + | let C = A | |
128 | + | let D = size(C) | |
129 | + | let E = 0 | |
130 | + | func F (G,H) = if ((H >= D)) | |
131 | + | then G | |
132 | + | else w(G, C[H]) | |
133 | + | ||
134 | + | func I (G,H) = if ((H >= D)) | |
135 | + | then G | |
136 | + | else throw("List size exceeds 3") | |
137 | + | ||
138 | + | I(F(F(F(E, 0), 1), 2), 3) | |
139 | + | } | |
140 | + | let N = ((B / n()) * 100000000) | |
141 | + | [IntegerEntry((l + "_gave_USDN"), s), IntegerEntry((l + "_deposited_WAVES"), t), IntegerEntry(((l + "_borrowed_") + "25FEqEjRkqK6yCkiT7Lz6SAYz7gUFCtxfCChnrVFD5AT"), B), IntegerEntry((l + "_received_WAVES3L"), 1000000), ScriptTransfer(r.caller, 1000000, base58'92rW5ucGkH84YeXLnLs8dMN1P7RAFocmR8zfBqUy4gPM')] | |
142 | + | } | |
143 | + | else throw("Strict value is not equal to itself.") | |
144 | + | } | |
145 | + | else throw("Not enough WAVES to deposit!") | |
146 | + | } | |
147 | + | ||
148 | + | ||
149 | + | ||
150 | + | @Callable(r) | |
151 | + | func redeemWaves3L_v2 () = if (if ((size(r.payments) != 1)) | |
152 | + | then true | |
153 | + | else (r.payments[0].amount == 0)) | |
154 | + | then throw("1 payment has to be attached") | |
155 | + | else { | |
156 | + | let l = toString(r.caller) | |
157 | + | let K = 6 | |
158 | + | let L = (((K * (o() / 1000000)) - 4) * 1000000) | |
159 | + | [IntegerEntry((l + "_redeemed_WAVES3L"), K), IntegerEntry((l + "_received_USDN"), L), ScriptTransfer(r.caller, L, base58'25FEqEjRkqK6yCkiT7Lz6SAYz7gUFCtxfCChnrVFD5AT')] | |
160 | + | } | |
161 | + | ||
162 | + | ||
163 | + | @Verifier(O) | |
164 | + | func P () = sigVerify(O.bodyBytes, O.proofs[0], O.senderPublicKey) | |
165 | + |
github/deemru/w8io/c3f4982 17.92 ms ◑