tx · 8DQzUaumGPsVCQucVjYFUvjRy36H1mAd4SUthDCfvKRe 3MwoWxBwFKxjUKK53Rxbnwrs8m2MsVMPPa7: -0.01000000 Waves 2023.11.28 14:24 [2863185] smart account 3MwoWxBwFKxjUKK53Rxbnwrs8m2MsVMPPa7 > SELF 0.00000000 Waves
{ "type": 13, "id": "8DQzUaumGPsVCQucVjYFUvjRy36H1mAd4SUthDCfvKRe", "fee": 1000000, "feeAssetId": null, "timestamp": 1701170698284, "version": 2, "chainId": 84, "sender": "3MwoWxBwFKxjUKK53Rxbnwrs8m2MsVMPPa7", "senderPublicKey": "6oay51Q6zPcFP9bSwUC4Potx2KGyD4AUjpL5uLR4QeRN", "proofs": [ "xVnTroipSjsuUMiWmBQWZNuPDRr7mFJp9hZ16zmb2GswcEnF7xSdCFz1QFWZoJoir6ra66tvCKERQ4pUjKa8miX" ], "script": "base64:AAIFAAAAAAAAABkIAhIFCgMBCAgSDgoMCAEBAQgIAQEBCAEBAAAABAAAAAARdXNlcl9iYWxhbmNlX2RhcHAJAQAAABFAZXh0ck5hdGl2ZSgxMDYyKQAAAAECAAAAIzNOMXMydzROSGdiclh4TlpYSDlSdGFWVDlwdEhSSmNnU3AyAAAAABREYXBwX0FkZHJlc3NfcHViX2tleQEAAAAgyO2Y2obuVTVYYMc8lugqW2L1IjDFH+TsgVEJaOfOGnMAAAAAEXdoaXRlbGlzdF9hZGRyZXNzCQEAAAAUYWRkcmVzc0Zyb21QdWJsaWNLZXkAAAABBQAAABREYXBwX0FkZHJlc3NfcHViX2tleQAAAAAUbWF4aW11bV92b3VjaGVyX3NpemUAAAAAAAX14QAAAAACAAAAAWkBAAAADklzc3VlX1ZvdWNoZXJzAAAAAwAAAA5Wb3VjaGVyX0Ftb3VudAAAAAdVc2VyX0lEAAAADFVzZXJfQWRkcmVzcwQAAAAZcmVhZF9Ub3RhbFZvdWNoZXJzQmFsYW5jZQkBAAAAE3ZhbHVlT3JFcnJvck1lc3NhZ2UAAAACCQAEGgAAAAIFAAAABHRoaXMCAAAAGkF2YWlsYWJsZV9Wb3VjaGVyc19CYWxhbmNlAgAAAF9BdmFpbGFibGVfVm91Y2hlcnNfQmFsYW5jZSBFbnRyeSBpcyBub3QgRm91bmQuIEluaXRpYXRlIEZpbGxfVm91Y2hlcnNfTGlxdWlkaXR5IEZ1bmN0aW9uIGZpcnN0LgQAAAAbdXBkYXRlX1RvdGFsVm91Y2hlcnNCYWxhbmNlCQAAZQAAAAIFAAAAGXJlYWRfVG90YWxWb3VjaGVyc0JhbGFuY2UFAAAADlZvdWNoZXJfQW1vdW50BAAAABRWb3VjaGVyc0lzc3VlZFRvVXNlcgQAAAAHJG1hdGNoMAkABBoAAAACBQAAAAR0aGlzCQABLAAAAAICAAAAGVRvdGFsX1ZvdWNoZXJzX0lzc3VlZF9Ub18FAAAADFVzZXJfQWRkcmVzcwMJAAABAAAAAgUAAAAHJG1hdGNoMAIAAAADSW50BAAAAAFhBQAAAAckbWF0Y2gwBQAAAAFhAAAAAAAAAAAABAAAABlUb3RhbFZvdWNoZXJzSXNzdWVkVG9Vc2VyCQAAZAAAAAIFAAAAFFZvdWNoZXJzSXNzdWVkVG9Vc2VyAAAAAAAAAAABBAAAABpWb3VjaGVyc0Ftb3VudElzc3VlZFRvVXNlcgQAAAAHJG1hdGNoMAkABBoAAAACBQAAAAR0aGlzCQABLAAAAAICAAAAIFRvdGFsX1ZvdWNoZXJzX0Ftb3VudF9Jc3N1ZWRfVG9fBQAAAAxVc2VyX0FkZHJlc3MDCQAAAQAAAAIFAAAAByRtYXRjaDACAAAAA0ludAQAAAABYQUAAAAHJG1hdGNoMAUAAAABYQAAAAAAAAAAAAQAAAAfVG90YWxWb3VjaGVyc0Ftb3VudElzc3VlZFRvVXNlcgkAAGQAAAACBQAAABpWb3VjaGVyc0Ftb3VudElzc3VlZFRvVXNlcgUAAAAOVm91Y2hlcl9BbW91bnQEAAAAHVByZXZpb3VzVm91Y2hlcnNCYWxhbmNlb2ZVc2VyBAAAAAckbWF0Y2gwCQAEGgAAAAIFAAAABHRoaXMJAAEsAAAAAgUAAAAMVXNlcl9BZGRyZXNzAgAAABBfVm91Y2hlcl9CYWxhbmNlAwkAAAEAAAACBQAAAAckbWF0Y2gwAgAAAANJbnQEAAAAAWEFAAAAByRtYXRjaDAFAAAAAWEAAAAAAAAAAAAEAAAAGlRvdGFsVm91Y2hlcnNCYWxhbmNlb2ZVc2VyCQAAZAAAAAIFAAAAHVByZXZpb3VzVm91Y2hlcnNCYWxhbmNlb2ZVc2VyBQAAAA5Wb3VjaGVyX0Ftb3VudAMJAQAAAAIhPQAAAAIIBQAAAAFpAAAABmNhbGxlcgUAAAARd2hpdGVsaXN0X2FkZHJlc3MJAAACAAAAAQkAASwAAAACCQABLAAAAAICAAAAJVRoaXMgQWRkcmVzcyBpcyBub3QgQXV0aG9yaXplZC4gT25seSAJAAQlAAAAAQUAAAARd2hpdGVsaXN0X2FkZHJlc3MCAAAAIiBpcyBBdXRob3JpemVkIEFkZHJlc3MgdG8gU2lnbiBpdC4DCQAAZwAAAAIAAAAAAAAAAAAFAAAADlZvdWNoZXJfQW1vdW50CQAAAgAAAAECAAAAUVZvdWNoZXIgQmFsYW5jZSBjYW4ndCBiZSAwIG9yIGdvIGluIG5lZ2F0aXZlIFN0YXRlLiAgSW5jcmVhc2UgdGhlIFZvdWNoZXIgQW1vdW50LgMJAABnAAAAAgAAAAAAAAAAAAUAAAAbdXBkYXRlX1RvdGFsVm91Y2hlcnNCYWxhbmNlCQAAAgAAAAEJAAEsAAAAAgkAASwAAAACAgAAADZVcGRhdGVkIFZvdWNoZXIgQmFsYW5jZSBjYW4ndCBnbyBpbiBuZWdhdGl2ZSBTdGF0ZSBvZiAJAAGkAAAAAQUAAAAbdXBkYXRlX1RvdGFsVm91Y2hlcnNCYWxhbmNlAgAAACggLzEwXjggV0FWRVMuIFJlZHVjZSB0aGUgVm91Y2hlciBBbW91bnQuAwkAAGYAAAACBQAAAA5Wb3VjaGVyX0Ftb3VudAUAAAAUbWF4aW11bV92b3VjaGVyX3NpemUJAAACAAAAAQkAASwAAAACCQABLAAAAAICAAAAPElucHV0IFZvdWNoZXIgQmFsYW5jZSBjYW4ndCBleGNlZWQgdGhlIHNldCBtYXhpbXVtIGxpbWl0IG9mIAkAAaQAAAABBQAAABRtYXhpbXVtX3ZvdWNoZXJfc2l6ZQIAAAAMLzEwXjggV2F2ZXMuCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACCQABLAAAAAICAAAAGVRvdGFsX1ZvdWNoZXJzX0lzc3VlZF9Ub18FAAAADFVzZXJfQWRkcmVzcwUAAAAZVG90YWxWb3VjaGVyc0lzc3VlZFRvVXNlcgkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgkAASwAAAACAgAAACBUb3RhbF9Wb3VjaGVyc19BbW91bnRfSXNzdWVkX1RvXwUAAAAMVXNlcl9BZGRyZXNzBQAAAB9Ub3RhbFZvdWNoZXJzQW1vdW50SXNzdWVkVG9Vc2VyCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACCQABLAAAAAIFAAAADFVzZXJfQWRkcmVzcwIAAAAQX1ZvdWNoZXJfQmFsYW5jZQUAAAAaVG90YWxWb3VjaGVyc0JhbGFuY2VvZlVzZXIJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAICAAAAGkF2YWlsYWJsZV9Wb3VjaGVyc19CYWxhbmNlBQAAABt1cGRhdGVfVG90YWxWb3VjaGVyc0JhbGFuY2UFAAAAA25pbAAAAAFpAQAAABpwbGFjZW9wdGlvbkNhbGxXaXRoVm91Y2hlcgAAAAwAAAAMRnVuY3Rpb25OYW1lAAAADlZvdWNoZXJfQW1vdW50AAAABkFtb3VudAAAAA9PcHRpb25Db3VudGVySUQAAAAHVXNlcl9JRAAAAAxVc2VyX0FkZHJlc3MAAAAFUHJpY2UAAAALQ2FsbF9MaW1pdHMAAAAKUHV0X0xpbWl0cwAAAA1PcmFjbGVfU3RhdHVzAAAAFVN0YXJ0X09yZGVyX1RpbWVzdGFtcAAAABNFbmRfT3JkZXJfVGltZXN0YW1wBAAAAAF4CQAD/AAAAAQFAAAABHRoaXMCAAAADklzc3VlX1ZvdWNoZXJzCQAETAAAAAIFAAAADlZvdWNoZXJfQW1vdW50CQAETAAAAAIFAAAAB1VzZXJfSUQJAARMAAAAAgUAAAAMVXNlcl9BZGRyZXNzBQAAAANuaWwFAAAAA25pbAMJAAAAAAAAAgUAAAABeAUAAAABeAQAAAABeQkAA/wAAAAEBQAAABF1c2VyX2JhbGFuY2VfZGFwcAUAAAAMRnVuY3Rpb25OYW1lCQAETAAAAAIFAAAABkFtb3VudAkABEwAAAACBQAAAA9PcHRpb25Db3VudGVySUQJAARMAAAAAgUAAAAHVXNlcl9JRAkABEwAAAACBQAAAAxVc2VyX0FkZHJlc3MJAARMAAAAAgUAAAAFUHJpY2UJAARMAAAAAgUAAAALQ2FsbF9MaW1pdHMJAARMAAAAAgUAAAAKUHV0X0xpbWl0cwkABEwAAAACBQAAAA1PcmFjbGVfU3RhdHVzCQAETAAAAAIFAAAAFVN0YXJ0X09yZGVyX1RpbWVzdGFtcAkABEwAAAACBQAAABNFbmRfT3JkZXJfVGltZXN0YW1wBQAAAANuaWwFAAAAA25pbAMJAAAAAAAAAgUAAAABeQUAAAABeQMJAQAAAAIhPQAAAAIIBQAAAAFpAAAABmNhbGxlcgUAAAARd2hpdGVsaXN0X2FkZHJlc3MJAAACAAAAAQkAASwAAAACCQABLAAAAAICAAAAJVRoaXMgQWRkcmVzcyBpcyBub3QgQXV0aG9yaXplZC4gT25seSAJAAQlAAAAAQUAAAARd2hpdGVsaXN0X2FkZHJlc3MCAAAAIiBpcyBBdXRob3JpemVkIEFkZHJlc3MgdG8gU2lnbiBpdC4JAARMAAAAAgkBAAAAC1N0cmluZ0VudHJ5AAAAAgIAAAAKRDJEX1N0YXR1cwIAAAAGUGFzc2VkBQAAAANuaWwJAAACAAAAAQIAAAAkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQAAAgAAAAECAAAAJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgAAAACwGNvS", "height": 2863185, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: CuCnjNQ5ZDqV6Tbow1sWCfQpPgwyZS4B8TaVVYQSTeCf Next: 9VmKkK1rJsjizvHBQC9vnbuNnScAThqsexvSWSS4c1nT Diff:
Old | New | Differences | |
---|---|---|---|
7 | 7 | ||
8 | 8 | let c = addressFromPublicKey(b) | |
9 | 9 | ||
10 | - | @Callable(d) | |
11 | - | func placeoptionCallWithVoucher (e,f,g,h,i,j,k,l,m,n) = { | |
12 | - | let o = invoke(a, "placeoptionCall", [e, f, g, h, i, j, k, l, m, n], nil) | |
13 | - | if ((o == o)) | |
14 | - | then if ((d.caller != c)) | |
15 | - | then throw((("This Address is not Authorized. Only " + toString(c)) + " is Authorized Address to Sign it.")) | |
16 | - | else [StringEntry("D2D_Status", "Passed")] | |
10 | + | let d = 100000000 | |
11 | + | ||
12 | + | @Callable(e) | |
13 | + | func Issue_Vouchers (f,g,h) = { | |
14 | + | let i = valueOrErrorMessage(getInteger(this, "Available_Vouchers_Balance"), "Available_Vouchers_Balance Entry is not Found. Initiate Fill_Vouchers_Liquidity Function first.") | |
15 | + | let j = (i - f) | |
16 | + | let k = { | |
17 | + | let l = getInteger(this, ("Total_Vouchers_Issued_To_" + h)) | |
18 | + | if ($isInstanceOf(l, "Int")) | |
19 | + | then { | |
20 | + | let m = l | |
21 | + | m | |
22 | + | } | |
23 | + | else 0 | |
24 | + | } | |
25 | + | let n = (k + 1) | |
26 | + | let o = { | |
27 | + | let l = getInteger(this, ("Total_Vouchers_Amount_Issued_To_" + h)) | |
28 | + | if ($isInstanceOf(l, "Int")) | |
29 | + | then { | |
30 | + | let m = l | |
31 | + | m | |
32 | + | } | |
33 | + | else 0 | |
34 | + | } | |
35 | + | let p = (o + f) | |
36 | + | let q = { | |
37 | + | let l = getInteger(this, (h + "_Voucher_Balance")) | |
38 | + | if ($isInstanceOf(l, "Int")) | |
39 | + | then { | |
40 | + | let m = l | |
41 | + | m | |
42 | + | } | |
43 | + | else 0 | |
44 | + | } | |
45 | + | let r = (q + f) | |
46 | + | if ((e.caller != c)) | |
47 | + | then throw((("This Address is not Authorized. Only " + toString(c)) + " is Authorized Address to Sign it.")) | |
48 | + | else if ((0 >= f)) | |
49 | + | then throw("Voucher Balance can't be 0 or go in negative State. Increase the Voucher Amount.") | |
50 | + | else if ((0 >= j)) | |
51 | + | then throw((("Updated Voucher Balance can't go in negative State of " + toString(j)) + " /10^8 WAVES. Reduce the Voucher Amount.")) | |
52 | + | else if ((f > d)) | |
53 | + | then throw((("Input Voucher Balance can't exceed the set maximum limit of " + toString(d)) + "/10^8 Waves.")) | |
54 | + | else [IntegerEntry(("Total_Vouchers_Issued_To_" + h), n), IntegerEntry(("Total_Vouchers_Amount_Issued_To_" + h), p), IntegerEntry((h + "_Voucher_Balance"), r), IntegerEntry("Available_Vouchers_Balance", j)] | |
55 | + | } | |
56 | + | ||
57 | + | ||
58 | + | ||
59 | + | @Callable(e) | |
60 | + | func placeoptionCallWithVoucher (s,f,t,u,g,h,v,w,x,y,z,A) = { | |
61 | + | let B = invoke(this, "Issue_Vouchers", [f, g, h], nil) | |
62 | + | if ((B == B)) | |
63 | + | then { | |
64 | + | let C = invoke(a, s, [t, u, g, h, v, w, x, y, z, A], nil) | |
65 | + | if ((C == C)) | |
66 | + | then if ((e.caller != c)) | |
67 | + | then throw((("This Address is not Authorized. Only " + toString(c)) + " is Authorized Address to Sign it.")) | |
68 | + | else [StringEntry("D2D_Status", "Passed")] | |
69 | + | else throw("Strict value is not equal to itself.") | |
70 | + | } | |
17 | 71 | else throw("Strict value is not equal to itself.") | |
18 | 72 | } | |
19 | 73 | ||
20 | - | ||
21 | - | @Verifier(p) | |
22 | - | func q () = { | |
23 | - | let r = p | |
24 | - | if (if ($isInstanceOf(r, "Order")) | |
25 | - | then true | |
26 | - | else if ($isInstanceOf(r, "ExchangeTransaction")) | |
27 | - | then true | |
28 | - | else if ($isInstanceOf(r, "MassTransferTransaction")) | |
29 | - | then true | |
30 | - | else $isInstanceOf(r, "TransferTransaction")) | |
31 | - | then { | |
32 | - | let s = r | |
33 | - | false | |
34 | - | } | |
35 | - | else sigVerify(p.bodyBytes, p.proofs[0], p.senderPublicKey) | |
36 | - | } | |
37 | 74 |
Old | New | Differences | |
---|---|---|---|
1 | 1 | {-# STDLIB_VERSION 5 #-} | |
2 | 2 | {-# SCRIPT_TYPE ACCOUNT #-} | |
3 | 3 | {-# CONTENT_TYPE DAPP #-} | |
4 | 4 | let a = addressFromStringValue("3N1s2w4NHgbrXxNZXH9RtaVT9ptHRJcgSp2") | |
5 | 5 | ||
6 | 6 | let b = base58'EXLfxKmqhQPiProBaoPatTentUSZX5Dd8A8bYDcmfNwt' | |
7 | 7 | ||
8 | 8 | let c = addressFromPublicKey(b) | |
9 | 9 | ||
10 | - | @Callable(d) | |
11 | - | func placeoptionCallWithVoucher (e,f,g,h,i,j,k,l,m,n) = { | |
12 | - | let o = invoke(a, "placeoptionCall", [e, f, g, h, i, j, k, l, m, n], nil) | |
13 | - | if ((o == o)) | |
14 | - | then if ((d.caller != c)) | |
15 | - | then throw((("This Address is not Authorized. Only " + toString(c)) + " is Authorized Address to Sign it.")) | |
16 | - | else [StringEntry("D2D_Status", "Passed")] | |
10 | + | let d = 100000000 | |
11 | + | ||
12 | + | @Callable(e) | |
13 | + | func Issue_Vouchers (f,g,h) = { | |
14 | + | let i = valueOrErrorMessage(getInteger(this, "Available_Vouchers_Balance"), "Available_Vouchers_Balance Entry is not Found. Initiate Fill_Vouchers_Liquidity Function first.") | |
15 | + | let j = (i - f) | |
16 | + | let k = { | |
17 | + | let l = getInteger(this, ("Total_Vouchers_Issued_To_" + h)) | |
18 | + | if ($isInstanceOf(l, "Int")) | |
19 | + | then { | |
20 | + | let m = l | |
21 | + | m | |
22 | + | } | |
23 | + | else 0 | |
24 | + | } | |
25 | + | let n = (k + 1) | |
26 | + | let o = { | |
27 | + | let l = getInteger(this, ("Total_Vouchers_Amount_Issued_To_" + h)) | |
28 | + | if ($isInstanceOf(l, "Int")) | |
29 | + | then { | |
30 | + | let m = l | |
31 | + | m | |
32 | + | } | |
33 | + | else 0 | |
34 | + | } | |
35 | + | let p = (o + f) | |
36 | + | let q = { | |
37 | + | let l = getInteger(this, (h + "_Voucher_Balance")) | |
38 | + | if ($isInstanceOf(l, "Int")) | |
39 | + | then { | |
40 | + | let m = l | |
41 | + | m | |
42 | + | } | |
43 | + | else 0 | |
44 | + | } | |
45 | + | let r = (q + f) | |
46 | + | if ((e.caller != c)) | |
47 | + | then throw((("This Address is not Authorized. Only " + toString(c)) + " is Authorized Address to Sign it.")) | |
48 | + | else if ((0 >= f)) | |
49 | + | then throw("Voucher Balance can't be 0 or go in negative State. Increase the Voucher Amount.") | |
50 | + | else if ((0 >= j)) | |
51 | + | then throw((("Updated Voucher Balance can't go in negative State of " + toString(j)) + " /10^8 WAVES. Reduce the Voucher Amount.")) | |
52 | + | else if ((f > d)) | |
53 | + | then throw((("Input Voucher Balance can't exceed the set maximum limit of " + toString(d)) + "/10^8 Waves.")) | |
54 | + | else [IntegerEntry(("Total_Vouchers_Issued_To_" + h), n), IntegerEntry(("Total_Vouchers_Amount_Issued_To_" + h), p), IntegerEntry((h + "_Voucher_Balance"), r), IntegerEntry("Available_Vouchers_Balance", j)] | |
55 | + | } | |
56 | + | ||
57 | + | ||
58 | + | ||
59 | + | @Callable(e) | |
60 | + | func placeoptionCallWithVoucher (s,f,t,u,g,h,v,w,x,y,z,A) = { | |
61 | + | let B = invoke(this, "Issue_Vouchers", [f, g, h], nil) | |
62 | + | if ((B == B)) | |
63 | + | then { | |
64 | + | let C = invoke(a, s, [t, u, g, h, v, w, x, y, z, A], nil) | |
65 | + | if ((C == C)) | |
66 | + | then if ((e.caller != c)) | |
67 | + | then throw((("This Address is not Authorized. Only " + toString(c)) + " is Authorized Address to Sign it.")) | |
68 | + | else [StringEntry("D2D_Status", "Passed")] | |
69 | + | else throw("Strict value is not equal to itself.") | |
70 | + | } | |
17 | 71 | else throw("Strict value is not equal to itself.") | |
18 | 72 | } | |
19 | 73 | ||
20 | - | ||
21 | - | @Verifier(p) | |
22 | - | func q () = { | |
23 | - | let r = p | |
24 | - | if (if ($isInstanceOf(r, "Order")) | |
25 | - | then true | |
26 | - | else if ($isInstanceOf(r, "ExchangeTransaction")) | |
27 | - | then true | |
28 | - | else if ($isInstanceOf(r, "MassTransferTransaction")) | |
29 | - | then true | |
30 | - | else $isInstanceOf(r, "TransferTransaction")) | |
31 | - | then { | |
32 | - | let s = r | |
33 | - | false | |
34 | - | } | |
35 | - | else sigVerify(p.bodyBytes, p.proofs[0], p.senderPublicKey) | |
36 | - | } | |
37 | 74 |
github/deemru/w8io/026f985 28.90 ms ◑