tx · ByD7qrJXoWbdBnC53XKptc7QbgTw1MpCb6xEipqquu2U
3MsNdm7ZAcUGdroTCNhcNNoP5Mki8BPmth3: -0.01000000 Waves
2023.11.28 10:20 [2862945] smart account 3MsNdm7ZAcUGdroTCNhcNNoP5Mki8BPmth3 > SELF 0.00000000 Waves
{
"type": 13,
"id": "ByD7qrJXoWbdBnC53XKptc7QbgTw1MpCb6xEipqquu2U",
"fee": 1000000,
"feeAssetId": null,
"timestamp": 1701156001965,
"version": 2,
"chainId": 84,
"sender": "3MsNdm7ZAcUGdroTCNhcNNoP5Mki8BPmth3",
"senderPublicKey": "5HjuMYPyr7sMjFBTkSU6U7rvf92cJQ6xF2HMKjcw973J",
"proofs": [
"aXAdzMre9DejTfHY7fa1JwSm2sTuzXk7rTREBH9EzFjjEQU7e7Uv859EYjNffLfm32UpH6NLQsz4w6fMbkyWbL3"
],
"script": "base64:AAIFAAAAAAAAAAsIAhIAEgUKAwEICAAAAAwAAAAAFnBvb2xfbGlxdWlkaXR5X2FkZHJlc3MCAAAAIzNONHdCZ1l0V2dKVzJMVFJlZjJla1dRVHJFWENSZlhtR0xoAAAAABREYXBwX0FkZHJlc3NfcHViX2tleQEAAAAgyO2Y2obuVTVYYMc8lugqW2L1IjDFH+TsgVEJaOfOGnMAAAAAGHByb2R1Y3RfbGF1bmNoX3RpbWVzdGFtcAAAAAGKv2AWIAAAAAALQ3VycmVuY3lfSUQCAAAABVdBVkVTAAAAABRwcm9kdWN0X2xhdW5jaF9lcnJvcgIAAAAjUHJvZHVjdCBMYXVuY2ggVGltZXN0YW1wIGlzIHNldCBhdCAAAAAAEG5vX3BheW1lbnRfZXJyb3ICAAAAN05vIHBheW1lbnQgYXR0YWNoZWQsIFBsZWFzZSBBdHRhY2ggVG9rZW4gaW4gcGF5bWVudFsxXS4AAAAAEmNsb3NlZF9vcmFjbGVfZXJvcgIAAAAxT3JhY2xlIGlzIGNsb3NlZC4gV2FpdCBVbnRpbCBPcmFjbGUgaXMgVHVybmVkIE9uLgAAAAARd2hpdGVsaXN0X2FkZHJlc3MJAQAAABRhZGRyZXNzRnJvbVB1YmxpY0tleQAAAAEFAAAAFERhcHBfQWRkcmVzc19wdWJfa2V5AAAAAAtuZXR3b3JrX2ZlZQAAAAAAAA27oAAAAAASbWluaW11bV9vcmRlcl9zaXplAAAAAAAAmJaAAAAAABJtYXhpbXVtX29yZGVyX3NpemUAAAAAAlQL5AAAAAAAFG1heGltdW1fdm91Y2hlcl9zaXplAAAAAAAF9eEAAAAAAgAAAAFpAQAAABdGaWxsX1ZvdWNoZXJzX0xpcXVpZGl0eQAAAAAEAAAADWNhbGxlcmFkZHJlc3MJAAJYAAAAAQgIBQAAAAFpAAAABmNhbGxlcgAAAAVieXRlcwQAAAADcG10AwkAAAAAAAACCQABkAAAAAEIBQAAAAFpAAAACHBheW1lbnRzAAAAAAAAAAABCQABkQAAAAIIBQAAAAFpAAAACHBheW1lbnRzAAAAAAAAAAAACQAAAgAAAAECAAAASU5vIHBheW1lbnQgYXR0YWNoZWQsIFBsZWFzZSBBdHRhY2ggb25seSBXaGl0ZWxpc3RlZCBUb2tlbnMgaW4gcGF5bWVudFsxXS4EAAAAF1ByZXZpb3VzVm91Y2hlcnNCYWxhbmNlBAAAAAckbWF0Y2gwCQAEGgAAAAIFAAAABHRoaXMCAAAAGkF2YWlsYWJsZV9Wb3VjaGVyc19CYWxhbmNlAwkAAAEAAAACBQAAAAckbWF0Y2gwAgAAAANJbnQEAAAAAWEFAAAAByRtYXRjaDAFAAAAAWEAAAAAAAAAAAAEAAAAFFRvdGFsVm91Y2hlcnNCYWxhbmNlCQAAZAAAAAIFAAAAF1ByZXZpb3VzVm91Y2hlcnNCYWxhbmNlCAUAAAADcG10AAAABmFtb3VudAQAAAAZUHJldmlvdXNWb3VjaGVyc0NvdW50ZXJJRAQAAAAHJG1hdGNoMAkABBoAAAACBQAAAAR0aGlzAgAAABNWb3VjaGVyc19Db3VudGVyX0lEAwkAAAEAAAACBQAAAAckbWF0Y2gwAgAAAANJbnQEAAAAAWEFAAAAByRtYXRjaDAFAAAAAWEAAAAAAAAAAAAEAAAAFlRvdGFsVm91Y2hlcnNDb3VudGVySUQJAABkAAAAAgUAAAAZUHJldmlvdXNWb3VjaGVyc0NvdW50ZXJJRAAAAAAAAAAAAQMJAQAAAAlpc0RlZmluZWQAAAABCAUAAAADcG10AAAAB2Fzc2V0SWQJAAACAAAAAQIAAAAuT25seSBXQVZFUyBpcyBhbGxvd2VkIHRvIGRlcG9zaXQgYXQgdGhlIG1vbWVudAkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgIAAAAaQXZhaWxhYmxlX1ZvdWNoZXJzX0JhbGFuY2UFAAAAFFRvdGFsVm91Y2hlcnNCYWxhbmNlCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACCQABLAAAAAIJAAGkAAAAAQUAAAAWVG90YWxWb3VjaGVyc0NvdW50ZXJJRAIAAAAVX1ZvdWNoZXJfQWRkZWRfQW1vdW50CAUAAAADcG10AAAABmFtb3VudAkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgIAAAATVm91Y2hlcnNfQ291bnRlcl9JRAUAAAAWVG90YWxWb3VjaGVyc0NvdW50ZXJJRAUAAAADbmlsAAAAAWkBAAAADklzc3VlX1ZvdWNoZXJzAAAAAwAAAA5Wb3VjaGVyX0Ftb3VudAAAAAdVc2VyX0lEAAAADFVzZXJfQWRkcmVzcwQAAAAZcmVhZF9Ub3RhbFZvdWNoZXJzQmFsYW5jZQkBAAAAE3ZhbHVlT3JFcnJvck1lc3NhZ2UAAAACCQAEGgAAAAIFAAAABHRoaXMCAAAAGkF2YWlsYWJsZV9Wb3VjaGVyc19CYWxhbmNlAgAAAF9BdmFpbGFibGVfVm91Y2hlcnNfQmFsYW5jZSBFbnRyeSBpcyBub3QgRm91bmQuIEluaXRpYXRlIEZpbGxfVm91Y2hlcnNfTGlxdWlkaXR5IEZ1bmN0aW9uIGZpcnN0LgQAAAAbdXBkYXRlX1RvdGFsVm91Y2hlcnNCYWxhbmNlCQAAZQAAAAIFAAAAGXJlYWRfVG90YWxWb3VjaGVyc0JhbGFuY2UFAAAADlZvdWNoZXJfQW1vdW50BAAAABRWb3VjaGVyc0lzc3VlZFRvVXNlcgQAAAAHJG1hdGNoMAkABBoAAAACBQAAAAR0aGlzCQABLAAAAAICAAAAGVRvdGFsX1ZvdWNoZXJzX0lzc3VlZF9Ub18FAAAADFVzZXJfQWRkcmVzcwMJAAABAAAAAgUAAAAHJG1hdGNoMAIAAAADSW50BAAAAAFhBQAAAAckbWF0Y2gwBQAAAAFhAAAAAAAAAAAABAAAABlUb3RhbFZvdWNoZXJzSXNzdWVkVG9Vc2VyCQAAZAAAAAIFAAAAFFZvdWNoZXJzSXNzdWVkVG9Vc2VyAAAAAAAAAAABBAAAABpWb3VjaGVyc0Ftb3VudElzc3VlZFRvVXNlcgQAAAAHJG1hdGNoMAkABBoAAAACBQAAAAR0aGlzCQABLAAAAAICAAAAIFRvdGFsX1ZvdWNoZXJzX0Ftb3VudF9Jc3N1ZWRfVG9fBQAAAAxVc2VyX0FkZHJlc3MDCQAAAQAAAAIFAAAAByRtYXRjaDACAAAAA0ludAQAAAABYQUAAAAHJG1hdGNoMAUAAAABYQAAAAAAAAAAAAQAAAAfVG90YWxWb3VjaGVyc0Ftb3VudElzc3VlZFRvVXNlcgkAAGQAAAACBQAAABpWb3VjaGVyc0Ftb3VudElzc3VlZFRvVXNlcgUAAAAOVm91Y2hlcl9BbW91bnQEAAAAE1ByZXZpb3VzVXNlckRlcG9zaXQEAAAAByRtYXRjaDAJAAQaAAAAAgUAAAAEdGhpcwkAASwAAAACCQABLAAAAAIFAAAAC0N1cnJlbmN5X0lEAgAAAAFfBQAAAAxVc2VyX0FkZHJlc3MDCQAAAQAAAAIFAAAAByRtYXRjaDACAAAAA0ludAQAAAABYQUAAAAHJG1hdGNoMAUAAAABYQAAAAAAAAAAAAQAAAAQVG90YWxVc2VyRGVwb3NpdAkAAGQAAAACBQAAABNQcmV2aW91c1VzZXJEZXBvc2l0BQAAAA5Wb3VjaGVyX0Ftb3VudAMJAQAAAAIhPQAAAAIIBQAAAAFpAAAABmNhbGxlcgkBAAAAEUBleHRyTmF0aXZlKDEwNjIpAAAAAQIAAAAjM01wTE5uMkN0ckFiaDJpV2dYOXpSMjZUU054YUxxdEIxaHgJAAACAAAAAQkAASwAAAACCQABLAAAAAICAAAAJVRoaXMgQWRkcmVzcyBpcyBub3QgQXV0aG9yaXplZC4gT25seSAJAAQlAAAAAQkBAAAAEUBleHRyTmF0aXZlKDEwNjIpAAAAAQIAAAAjM01wTE5uMkN0ckFiaDJpV2dYOXpSMjZUU054YUxxdEIxaHgCAAAAIiBpcyBBdXRob3JpemVkIEFkZHJlc3MgdG8gU2lnbiBpdC4DCQAAZwAAAAIAAAAAAAAAAAAFAAAADlZvdWNoZXJfQW1vdW50CQAAAgAAAAECAAAAUVZvdWNoZXIgQmFsYW5jZSBjYW4ndCBiZSAwIG9yIGdvIGluIG5lZ2F0aXZlIFN0YXRlLiAgSW5jcmVhc2UgdGhlIFZvdWNoZXIgQW1vdW50LgMJAABnAAAAAgAAAAAAAAAAAAUAAAAbdXBkYXRlX1RvdGFsVm91Y2hlcnNCYWxhbmNlCQAAAgAAAAEJAAEsAAAAAgkAASwAAAACAgAAADZVcGRhdGVkIFZvdWNoZXIgQmFsYW5jZSBjYW4ndCBnbyBpbiBuZWdhdGl2ZSBTdGF0ZSBvZiAJAAGkAAAAAQUAAAAbdXBkYXRlX1RvdGFsVm91Y2hlcnNCYWxhbmNlAgAAACggLzEwXjggV0FWRVMuIFJlZHVjZSB0aGUgVm91Y2hlciBBbW91bnQuAwkAAGYAAAACBQAAAA5Wb3VjaGVyX0Ftb3VudAUAAAAUbWF4aW11bV92b3VjaGVyX3NpemUJAAACAAAAAQkAASwAAAACCQABLAAAAAICAAAAPElucHV0IFZvdWNoZXIgQmFsYW5jZSBjYW4ndCBleGNlZWQgdGhlIHNldCBtYXhpbXVtIGxpbWl0IG9mIAkAAaQAAAABBQAAABRtYXhpbXVtX3ZvdWNoZXJfc2l6ZQIAAAAMLzEwXjggV2F2ZXMuCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACCQABLAAAAAICAAAAGVRvdGFsX1ZvdWNoZXJzX0lzc3VlZF9Ub18FAAAADFVzZXJfQWRkcmVzcwUAAAAZVG90YWxWb3VjaGVyc0lzc3VlZFRvVXNlcgkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgkAASwAAAACAgAAACBUb3RhbF9Wb3VjaGVyc19BbW91bnRfSXNzdWVkX1RvXwUAAAAMVXNlcl9BZGRyZXNzBQAAAB9Ub3RhbFZvdWNoZXJzQW1vdW50SXNzdWVkVG9Vc2VyCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACCQABLAAAAAIJAAEsAAAAAgUAAAALQ3VycmVuY3lfSUQCAAAAAV8FAAAADFVzZXJfQWRkcmVzcwUAAAAQVG90YWxVc2VyRGVwb3NpdAkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgIAAAAaQXZhaWxhYmxlX1ZvdWNoZXJzX0JhbGFuY2UFAAAAG3VwZGF0ZV9Ub3RhbFZvdWNoZXJzQmFsYW5jZQUAAAADbmlsAAAAAQAAAAJ0eAEAAAAGdmVyaWZ5AAAAAAkAAfQAAAADCAUAAAACdHgAAAAJYm9keUJ5dGVzCQABkQAAAAIIBQAAAAJ0eAAAAAZwcm9vZnMAAAAAAAAAAAAIBQAAAAJ0eAAAAA9zZW5kZXJQdWJsaWNLZXmciYUD",
"height": 2862945,
"applicationStatus": "succeeded",
"spentComplexity": 0
}
View: original | compacted
Prev: 8TY8oZGdgXuDPcuztrGvsRrgesDYJ18XVnpvuL57cocn
Next: none
Diff:
Old | New | | Differences |
---|
26 | 26 | | let l = 100000000 |
---|
27 | 27 | | |
---|
28 | 28 | | @Callable(m) |
---|
29 | | - | func Issue_Vouchers (n,o,p) = { |
---|
30 | | - | let q = valueOrErrorMessage(getInteger(this, "Available_Vouchers_Balance"), "Available_Vouchers_Balance Entry is not Found. Initiate Fill_Vouchers_Liquidity Function first.") |
---|
31 | | - | let r = (q - n) |
---|
32 | | - | let s = { |
---|
33 | | - | let t = getInteger(this, ("Total_Vouchers_Issued_To_" + p)) |
---|
34 | | - | if ($isInstanceOf(t, "Int")) |
---|
| 29 | + | func Fill_Vouchers_Liquidity () = { |
---|
| 30 | + | let n = toBase58String(m.caller.bytes) |
---|
| 31 | + | let o = if ((size(m.payments) == 1)) |
---|
| 32 | + | then m.payments[0] |
---|
| 33 | + | else throw("No payment attached, Please Attach only Whitelisted Tokens in payment[1].") |
---|
| 34 | + | let p = { |
---|
| 35 | + | let q = getInteger(this, "Available_Vouchers_Balance") |
---|
| 36 | + | if ($isInstanceOf(q, "Int")) |
---|
35 | 37 | | then { |
---|
36 | | - | let u = t |
---|
37 | | - | u |
---|
| 38 | + | let r = q |
---|
| 39 | + | r |
---|
38 | 40 | | } |
---|
39 | 41 | | else 0 |
---|
40 | 42 | | } |
---|
41 | | - | let v = (s + 1) |
---|
42 | | - | let w = { |
---|
43 | | - | let t = getInteger(this, ("Total_Vouchers_Amount_Issued_To_" + p)) |
---|
44 | | - | if ($isInstanceOf(t, "Int")) |
---|
| 43 | + | let s = (p + o.amount) |
---|
| 44 | + | let t = { |
---|
| 45 | + | let q = getInteger(this, "Vouchers_Counter_ID") |
---|
| 46 | + | if ($isInstanceOf(q, "Int")) |
---|
45 | 47 | | then { |
---|
46 | | - | let u = t |
---|
47 | | - | u |
---|
| 48 | + | let r = q |
---|
| 49 | + | r |
---|
48 | 50 | | } |
---|
49 | 51 | | else 0 |
---|
50 | 52 | | } |
---|
51 | | - | let x = (w + n) |
---|
52 | | - | let y = { |
---|
53 | | - | let t = getInteger(this, ((d + "_") + p)) |
---|
54 | | - | if ($isInstanceOf(t, "Int")) |
---|
| 53 | + | let u = (t + 1) |
---|
| 54 | + | if (isDefined(o.assetId)) |
---|
| 55 | + | then throw("Only WAVES is allowed to deposit at the moment") |
---|
| 56 | + | else [IntegerEntry("Available_Vouchers_Balance", s), IntegerEntry((toString(u) + "_Voucher_Added_Amount"), o.amount), IntegerEntry("Vouchers_Counter_ID", u)] |
---|
| 57 | + | } |
---|
| 58 | + | |
---|
| 59 | + | |
---|
| 60 | + | |
---|
| 61 | + | @Callable(m) |
---|
| 62 | + | func Issue_Vouchers (v,w,x) = { |
---|
| 63 | + | let y = valueOrErrorMessage(getInteger(this, "Available_Vouchers_Balance"), "Available_Vouchers_Balance Entry is not Found. Initiate Fill_Vouchers_Liquidity Function first.") |
---|
| 64 | + | let z = (y - v) |
---|
| 65 | + | let A = { |
---|
| 66 | + | let q = getInteger(this, ("Total_Vouchers_Issued_To_" + x)) |
---|
| 67 | + | if ($isInstanceOf(q, "Int")) |
---|
55 | 68 | | then { |
---|
56 | | - | let u = t |
---|
57 | | - | u |
---|
| 69 | + | let r = q |
---|
| 70 | + | r |
---|
58 | 71 | | } |
---|
59 | 72 | | else 0 |
---|
60 | 73 | | } |
---|
61 | | - | let z = (y + n) |
---|
| 74 | + | let B = (A + 1) |
---|
| 75 | + | let C = { |
---|
| 76 | + | let q = getInteger(this, ("Total_Vouchers_Amount_Issued_To_" + x)) |
---|
| 77 | + | if ($isInstanceOf(q, "Int")) |
---|
| 78 | + | then { |
---|
| 79 | + | let r = q |
---|
| 80 | + | r |
---|
| 81 | + | } |
---|
| 82 | + | else 0 |
---|
| 83 | + | } |
---|
| 84 | + | let D = (C + v) |
---|
| 85 | + | let E = { |
---|
| 86 | + | let q = getInteger(this, ((d + "_") + x)) |
---|
| 87 | + | if ($isInstanceOf(q, "Int")) |
---|
| 88 | + | then { |
---|
| 89 | + | let r = q |
---|
| 90 | + | r |
---|
| 91 | + | } |
---|
| 92 | + | else 0 |
---|
| 93 | + | } |
---|
| 94 | + | let F = (E + v) |
---|
62 | 95 | | if ((m.caller != addressFromStringValue("3MpLNn2CtrAbh2iWgX9zR26TSNxaLqtB1hx"))) |
---|
63 | 96 | | then throw((("This Address is not Authorized. Only " + toString(addressFromStringValue("3MpLNn2CtrAbh2iWgX9zR26TSNxaLqtB1hx"))) + " is Authorized Address to Sign it.")) |
---|
64 | | - | else if ((0 >= n)) |
---|
| 97 | + | else if ((0 >= v)) |
---|
65 | 98 | | then throw("Voucher Balance can't be 0 or go in negative State. Increase the Voucher Amount.") |
---|
66 | | - | else if ((0 >= r)) |
---|
67 | | - | then throw((("Updated Voucher Balance can't go in negative State of " + toString(r)) + " /10^8 WAVES. Reduce the Voucher Amount.")) |
---|
68 | | - | else if ((n > l)) |
---|
| 99 | + | else if ((0 >= z)) |
---|
| 100 | + | then throw((("Updated Voucher Balance can't go in negative State of " + toString(z)) + " /10^8 WAVES. Reduce the Voucher Amount.")) |
---|
| 101 | + | else if ((v > l)) |
---|
69 | 102 | | then throw((("Input Voucher Balance can't exceed the set maximum limit of " + toString(l)) + "/10^8 Waves.")) |
---|
70 | | - | else [IntegerEntry(("Total_Vouchers_Issued_To_" + p), v), IntegerEntry(("Total_Vouchers_Amount_Issued_To_" + p), x), IntegerEntry(((d + "_") + p), z), IntegerEntry("Available_Vouchers_Balance", r)] |
---|
| 103 | + | else [IntegerEntry(("Total_Vouchers_Issued_To_" + x), B), IntegerEntry(("Total_Vouchers_Amount_Issued_To_" + x), D), IntegerEntry(((d + "_") + x), F), IntegerEntry("Available_Vouchers_Balance", z)] |
---|
71 | 104 | | } |
---|
72 | 105 | | |
---|
73 | 106 | | |
---|
74 | | - | @Verifier(A) |
---|
75 | | - | func B () = sigVerify(A.bodyBytes, A.proofs[0], A.senderPublicKey) |
---|
| 107 | + | @Verifier(G) |
---|
| 108 | + | func H () = sigVerify(G.bodyBytes, G.proofs[0], G.senderPublicKey) |
---|
76 | 109 | | |
---|
Full:
Old | New | | Differences |
---|
1 | 1 | | {-# STDLIB_VERSION 5 #-} |
---|
2 | 2 | | {-# SCRIPT_TYPE ACCOUNT #-} |
---|
3 | 3 | | {-# CONTENT_TYPE DAPP #-} |
---|
4 | 4 | | let a = "3N4wBgYtWgJW2LTRef2ekWQTrEXCRfXmGLh" |
---|
5 | 5 | | |
---|
6 | 6 | | let b = base58'EXLfxKmqhQPiProBaoPatTentUSZX5Dd8A8bYDcmfNwt' |
---|
7 | 7 | | |
---|
8 | 8 | | let c = 1695427860000 |
---|
9 | 9 | | |
---|
10 | 10 | | let d = "WAVES" |
---|
11 | 11 | | |
---|
12 | 12 | | let e = "Product Launch Timestamp is set at " |
---|
13 | 13 | | |
---|
14 | 14 | | let f = "No payment attached, Please Attach Token in payment[1]." |
---|
15 | 15 | | |
---|
16 | 16 | | let g = "Oracle is closed. Wait Until Oracle is Turned On." |
---|
17 | 17 | | |
---|
18 | 18 | | let h = addressFromPublicKey(b) |
---|
19 | 19 | | |
---|
20 | 20 | | let i = 900000 |
---|
21 | 21 | | |
---|
22 | 22 | | let j = 10000000 |
---|
23 | 23 | | |
---|
24 | 24 | | let k = 10000000000 |
---|
25 | 25 | | |
---|
26 | 26 | | let l = 100000000 |
---|
27 | 27 | | |
---|
28 | 28 | | @Callable(m) |
---|
29 | | - | func Issue_Vouchers (n,o,p) = { |
---|
30 | | - | let q = valueOrErrorMessage(getInteger(this, "Available_Vouchers_Balance"), "Available_Vouchers_Balance Entry is not Found. Initiate Fill_Vouchers_Liquidity Function first.") |
---|
31 | | - | let r = (q - n) |
---|
32 | | - | let s = { |
---|
33 | | - | let t = getInteger(this, ("Total_Vouchers_Issued_To_" + p)) |
---|
34 | | - | if ($isInstanceOf(t, "Int")) |
---|
| 29 | + | func Fill_Vouchers_Liquidity () = { |
---|
| 30 | + | let n = toBase58String(m.caller.bytes) |
---|
| 31 | + | let o = if ((size(m.payments) == 1)) |
---|
| 32 | + | then m.payments[0] |
---|
| 33 | + | else throw("No payment attached, Please Attach only Whitelisted Tokens in payment[1].") |
---|
| 34 | + | let p = { |
---|
| 35 | + | let q = getInteger(this, "Available_Vouchers_Balance") |
---|
| 36 | + | if ($isInstanceOf(q, "Int")) |
---|
35 | 37 | | then { |
---|
36 | | - | let u = t |
---|
37 | | - | u |
---|
| 38 | + | let r = q |
---|
| 39 | + | r |
---|
38 | 40 | | } |
---|
39 | 41 | | else 0 |
---|
40 | 42 | | } |
---|
41 | | - | let v = (s + 1) |
---|
42 | | - | let w = { |
---|
43 | | - | let t = getInteger(this, ("Total_Vouchers_Amount_Issued_To_" + p)) |
---|
44 | | - | if ($isInstanceOf(t, "Int")) |
---|
| 43 | + | let s = (p + o.amount) |
---|
| 44 | + | let t = { |
---|
| 45 | + | let q = getInteger(this, "Vouchers_Counter_ID") |
---|
| 46 | + | if ($isInstanceOf(q, "Int")) |
---|
45 | 47 | | then { |
---|
46 | | - | let u = t |
---|
47 | | - | u |
---|
| 48 | + | let r = q |
---|
| 49 | + | r |
---|
48 | 50 | | } |
---|
49 | 51 | | else 0 |
---|
50 | 52 | | } |
---|
51 | | - | let x = (w + n) |
---|
52 | | - | let y = { |
---|
53 | | - | let t = getInteger(this, ((d + "_") + p)) |
---|
54 | | - | if ($isInstanceOf(t, "Int")) |
---|
| 53 | + | let u = (t + 1) |
---|
| 54 | + | if (isDefined(o.assetId)) |
---|
| 55 | + | then throw("Only WAVES is allowed to deposit at the moment") |
---|
| 56 | + | else [IntegerEntry("Available_Vouchers_Balance", s), IntegerEntry((toString(u) + "_Voucher_Added_Amount"), o.amount), IntegerEntry("Vouchers_Counter_ID", u)] |
---|
| 57 | + | } |
---|
| 58 | + | |
---|
| 59 | + | |
---|
| 60 | + | |
---|
| 61 | + | @Callable(m) |
---|
| 62 | + | func Issue_Vouchers (v,w,x) = { |
---|
| 63 | + | let y = valueOrErrorMessage(getInteger(this, "Available_Vouchers_Balance"), "Available_Vouchers_Balance Entry is not Found. Initiate Fill_Vouchers_Liquidity Function first.") |
---|
| 64 | + | let z = (y - v) |
---|
| 65 | + | let A = { |
---|
| 66 | + | let q = getInteger(this, ("Total_Vouchers_Issued_To_" + x)) |
---|
| 67 | + | if ($isInstanceOf(q, "Int")) |
---|
55 | 68 | | then { |
---|
56 | | - | let u = t |
---|
57 | | - | u |
---|
| 69 | + | let r = q |
---|
| 70 | + | r |
---|
58 | 71 | | } |
---|
59 | 72 | | else 0 |
---|
60 | 73 | | } |
---|
61 | | - | let z = (y + n) |
---|
| 74 | + | let B = (A + 1) |
---|
| 75 | + | let C = { |
---|
| 76 | + | let q = getInteger(this, ("Total_Vouchers_Amount_Issued_To_" + x)) |
---|
| 77 | + | if ($isInstanceOf(q, "Int")) |
---|
| 78 | + | then { |
---|
| 79 | + | let r = q |
---|
| 80 | + | r |
---|
| 81 | + | } |
---|
| 82 | + | else 0 |
---|
| 83 | + | } |
---|
| 84 | + | let D = (C + v) |
---|
| 85 | + | let E = { |
---|
| 86 | + | let q = getInteger(this, ((d + "_") + x)) |
---|
| 87 | + | if ($isInstanceOf(q, "Int")) |
---|
| 88 | + | then { |
---|
| 89 | + | let r = q |
---|
| 90 | + | r |
---|
| 91 | + | } |
---|
| 92 | + | else 0 |
---|
| 93 | + | } |
---|
| 94 | + | let F = (E + v) |
---|
62 | 95 | | if ((m.caller != addressFromStringValue("3MpLNn2CtrAbh2iWgX9zR26TSNxaLqtB1hx"))) |
---|
63 | 96 | | then throw((("This Address is not Authorized. Only " + toString(addressFromStringValue("3MpLNn2CtrAbh2iWgX9zR26TSNxaLqtB1hx"))) + " is Authorized Address to Sign it.")) |
---|
64 | | - | else if ((0 >= n)) |
---|
| 97 | + | else if ((0 >= v)) |
---|
65 | 98 | | then throw("Voucher Balance can't be 0 or go in negative State. Increase the Voucher Amount.") |
---|
66 | | - | else if ((0 >= r)) |
---|
67 | | - | then throw((("Updated Voucher Balance can't go in negative State of " + toString(r)) + " /10^8 WAVES. Reduce the Voucher Amount.")) |
---|
68 | | - | else if ((n > l)) |
---|
| 99 | + | else if ((0 >= z)) |
---|
| 100 | + | then throw((("Updated Voucher Balance can't go in negative State of " + toString(z)) + " /10^8 WAVES. Reduce the Voucher Amount.")) |
---|
| 101 | + | else if ((v > l)) |
---|
69 | 102 | | then throw((("Input Voucher Balance can't exceed the set maximum limit of " + toString(l)) + "/10^8 Waves.")) |
---|
70 | | - | else [IntegerEntry(("Total_Vouchers_Issued_To_" + p), v), IntegerEntry(("Total_Vouchers_Amount_Issued_To_" + p), x), IntegerEntry(((d + "_") + p), z), IntegerEntry("Available_Vouchers_Balance", r)] |
---|
| 103 | + | else [IntegerEntry(("Total_Vouchers_Issued_To_" + x), B), IntegerEntry(("Total_Vouchers_Amount_Issued_To_" + x), D), IntegerEntry(((d + "_") + x), F), IntegerEntry("Available_Vouchers_Balance", z)] |
---|
71 | 104 | | } |
---|
72 | 105 | | |
---|
73 | 106 | | |
---|
74 | | - | @Verifier(A) |
---|
75 | | - | func B () = sigVerify(A.bodyBytes, A.proofs[0], A.senderPublicKey) |
---|
| 107 | + | @Verifier(G) |
---|
| 108 | + | func H () = sigVerify(G.bodyBytes, G.proofs[0], G.senderPublicKey) |
---|
76 | 109 | | |
---|