tx · DGQxed3CRXwKeAm8M9hA5xYDUpdRKexJDLSmQ6ycLbnF 3MsNdm7ZAcUGdroTCNhcNNoP5Mki8BPmth3: -0.01000000 Waves 2023.11.28 10:13 [2862936] smart account 3MsNdm7ZAcUGdroTCNhcNNoP5Mki8BPmth3 > SELF 0.00000000 Waves
{ "type": 13, "id": "DGQxed3CRXwKeAm8M9hA5xYDUpdRKexJDLSmQ6ycLbnF", "fee": 1000000, "feeAssetId": null, "timestamp": 1701155593705, "version": 2, "chainId": 84, "sender": "3MsNdm7ZAcUGdroTCNhcNNoP5Mki8BPmth3", "senderPublicKey": "5HjuMYPyr7sMjFBTkSU6U7rvf92cJQ6xF2HMKjcw973J", "proofs": [ "4EvhCkHqGqqpKTU1rNTSVbuUk9AjYuYMz9WQ8VF2FTJviCgTVDFVzKrWNZ4sv6rqiRyNzoHL8dy2RF5yZ6CnxcEh" ], "script": "base64:AAIFAAAAAAAAAAkIAhIFCgMBCAgAAAAMAAAAABZwb29sX2xpcXVpZGl0eV9hZGRyZXNzAgAAACMzTjR3QmdZdFdnSlcyTFRSZWYyZWtXUVRyRVhDUmZYbUdMaAAAAAAURGFwcF9BZGRyZXNzX3B1Yl9rZXkBAAAAIMjtmNqG7lU1WGDHPJboKlti9SIwxR/k7IFRCWjnzhpzAAAAABhwcm9kdWN0X2xhdW5jaF90aW1lc3RhbXAAAAABir9gFiAAAAAAC0N1cnJlbmN5X0lEAgAAAAVXQVZFUwAAAAAUcHJvZHVjdF9sYXVuY2hfZXJyb3ICAAAAI1Byb2R1Y3QgTGF1bmNoIFRpbWVzdGFtcCBpcyBzZXQgYXQgAAAAABBub19wYXltZW50X2Vycm9yAgAAADdObyBwYXltZW50IGF0dGFjaGVkLCBQbGVhc2UgQXR0YWNoIFRva2VuIGluIHBheW1lbnRbMV0uAAAAABJjbG9zZWRfb3JhY2xlX2Vyb3ICAAAAMU9yYWNsZSBpcyBjbG9zZWQuIFdhaXQgVW50aWwgT3JhY2xlIGlzIFR1cm5lZCBPbi4AAAAAEXdoaXRlbGlzdF9hZGRyZXNzCQEAAAAUYWRkcmVzc0Zyb21QdWJsaWNLZXkAAAABBQAAABREYXBwX0FkZHJlc3NfcHViX2tleQAAAAALbmV0d29ya19mZWUAAAAAAAANu6AAAAAAEm1pbmltdW1fb3JkZXJfc2l6ZQAAAAAAAJiWgAAAAAASbWF4aW11bV9vcmRlcl9zaXplAAAAAAJUC+QAAAAAABRtYXhpbXVtX3ZvdWNoZXJfc2l6ZQAAAAAABfXhAAAAAAEAAAABaQEAAAAOSXNzdWVfVm91Y2hlcnMAAAADAAAADlZvdWNoZXJfQW1vdW50AAAAB1VzZXJfSUQAAAAMVXNlcl9BZGRyZXNzBAAAABlyZWFkX1RvdGFsVm91Y2hlcnNCYWxhbmNlCQEAAAATdmFsdWVPckVycm9yTWVzc2FnZQAAAAIJAAQaAAAAAgUAAAAEdGhpcwIAAAAaQXZhaWxhYmxlX1ZvdWNoZXJzX0JhbGFuY2UCAAAAX0F2YWlsYWJsZV9Wb3VjaGVyc19CYWxhbmNlIEVudHJ5IGlzIG5vdCBGb3VuZC4gSW5pdGlhdGUgRmlsbF9Wb3VjaGVyc19MaXF1aWRpdHkgRnVuY3Rpb24gZmlyc3QuBAAAABt1cGRhdGVfVG90YWxWb3VjaGVyc0JhbGFuY2UJAABlAAAAAgUAAAAZcmVhZF9Ub3RhbFZvdWNoZXJzQmFsYW5jZQUAAAAOVm91Y2hlcl9BbW91bnQEAAAAFFZvdWNoZXJzSXNzdWVkVG9Vc2VyBAAAAAckbWF0Y2gwCQAEGgAAAAIFAAAABHRoaXMJAAEsAAAAAgIAAAAZVG90YWxfVm91Y2hlcnNfSXNzdWVkX1RvXwUAAAAMVXNlcl9BZGRyZXNzAwkAAAEAAAACBQAAAAckbWF0Y2gwAgAAAANJbnQEAAAAAWEFAAAAByRtYXRjaDAFAAAAAWEAAAAAAAAAAAAEAAAAGVRvdGFsVm91Y2hlcnNJc3N1ZWRUb1VzZXIJAABkAAAAAgUAAAAUVm91Y2hlcnNJc3N1ZWRUb1VzZXIAAAAAAAAAAAEEAAAAGlZvdWNoZXJzQW1vdW50SXNzdWVkVG9Vc2VyBAAAAAckbWF0Y2gwCQAEGgAAAAIFAAAABHRoaXMJAAEsAAAAAgIAAAAgVG90YWxfVm91Y2hlcnNfQW1vdW50X0lzc3VlZF9Ub18FAAAADFVzZXJfQWRkcmVzcwMJAAABAAAAAgUAAAAHJG1hdGNoMAIAAAADSW50BAAAAAFhBQAAAAckbWF0Y2gwBQAAAAFhAAAAAAAAAAAABAAAAB9Ub3RhbFZvdWNoZXJzQW1vdW50SXNzdWVkVG9Vc2VyCQAAZAAAAAIFAAAAGlZvdWNoZXJzQW1vdW50SXNzdWVkVG9Vc2VyBQAAAA5Wb3VjaGVyX0Ftb3VudAQAAAATUHJldmlvdXNVc2VyRGVwb3NpdAQAAAAHJG1hdGNoMAkABBoAAAACBQAAAAR0aGlzCQABLAAAAAIJAAEsAAAAAgUAAAALQ3VycmVuY3lfSUQCAAAAAV8FAAAADFVzZXJfQWRkcmVzcwMJAAABAAAAAgUAAAAHJG1hdGNoMAIAAAADSW50BAAAAAFhBQAAAAckbWF0Y2gwBQAAAAFhAAAAAAAAAAAABAAAABBUb3RhbFVzZXJEZXBvc2l0CQAAZAAAAAIFAAAAE1ByZXZpb3VzVXNlckRlcG9zaXQFAAAADlZvdWNoZXJfQW1vdW50AwkBAAAAAiE9AAAAAggFAAAAAWkAAAAGY2FsbGVyBQAAABF3aGl0ZWxpc3RfYWRkcmVzcwkAAAIAAAABCQABLAAAAAIJAAEsAAAAAgIAAAAlVGhpcyBBZGRyZXNzIGlzIG5vdCBBdXRob3JpemVkLiBPbmx5IAkABCUAAAABBQAAABF3aGl0ZWxpc3RfYWRkcmVzcwIAAAAiIGlzIEF1dGhvcml6ZWQgQWRkcmVzcyB0byBTaWduIGl0LgMJAABnAAAAAgAAAAAAAAAAAAUAAAAOVm91Y2hlcl9BbW91bnQJAAACAAAAAQIAAABRVm91Y2hlciBCYWxhbmNlIGNhbid0IGJlIDAgb3IgZ28gaW4gbmVnYXRpdmUgU3RhdGUuICBJbmNyZWFzZSB0aGUgVm91Y2hlciBBbW91bnQuAwkAAGcAAAACAAAAAAAAAAAABQAAABt1cGRhdGVfVG90YWxWb3VjaGVyc0JhbGFuY2UJAAACAAAAAQkAASwAAAACCQABLAAAAAICAAAANlVwZGF0ZWQgVm91Y2hlciBCYWxhbmNlIGNhbid0IGdvIGluIG5lZ2F0aXZlIFN0YXRlIG9mIAkAAaQAAAABBQAAABt1cGRhdGVfVG90YWxWb3VjaGVyc0JhbGFuY2UCAAAAKCAvMTBeOCBXQVZFUy4gUmVkdWNlIHRoZSBWb3VjaGVyIEFtb3VudC4DCQAAZgAAAAIFAAAADlZvdWNoZXJfQW1vdW50BQAAABRtYXhpbXVtX3ZvdWNoZXJfc2l6ZQkAAAIAAAABCQABLAAAAAIJAAEsAAAAAgIAAAA8SW5wdXQgVm91Y2hlciBCYWxhbmNlIGNhbid0IGV4Y2VlZCB0aGUgc2V0IG1heGltdW0gbGltaXQgb2YgCQABpAAAAAEFAAAAFG1heGltdW1fdm91Y2hlcl9zaXplAgAAAAwvMTBeOCBXYXZlcy4JAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIJAAEsAAAAAgIAAAAZVG90YWxfVm91Y2hlcnNfSXNzdWVkX1RvXwUAAAAMVXNlcl9BZGRyZXNzBQAAABlUb3RhbFZvdWNoZXJzSXNzdWVkVG9Vc2VyCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACCQABLAAAAAICAAAAIFRvdGFsX1ZvdWNoZXJzX0Ftb3VudF9Jc3N1ZWRfVG9fBQAAAAxVc2VyX0FkZHJlc3MFAAAAH1RvdGFsVm91Y2hlcnNBbW91bnRJc3N1ZWRUb1VzZXIJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIJAAEsAAAAAgkAASwAAAACBQAAAAtDdXJyZW5jeV9JRAIAAAABXwUAAAAMVXNlcl9BZGRyZXNzBQAAABBUb3RhbFVzZXJEZXBvc2l0CQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACAgAAABpBdmFpbGFibGVfVm91Y2hlcnNfQmFsYW5jZQUAAAAbdXBkYXRlX1RvdGFsVm91Y2hlcnNCYWxhbmNlBQAAAANuaWwAAAABAAAAAnR4AQAAAAZ2ZXJpZnkAAAAACQAB9AAAAAMIBQAAAAJ0eAAAAAlib2R5Qnl0ZXMJAAGRAAAAAggFAAAAAnR4AAAABnByb29mcwAAAAAAAAAAAAgFAAAAAnR4AAAAD3NlbmRlclB1YmxpY0tlecp7A/0=", "height": 2862936, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: none Next: Daz26Pg7AcUhyPYNaNvFVQs85yjUqgmCroo9oe3Xuy3w Full:
Old | New | Differences | |
---|---|---|---|
1 | - | # no script | |
1 | + | {-# STDLIB_VERSION 5 #-} | |
2 | + | {-# SCRIPT_TYPE ACCOUNT #-} | |
3 | + | {-# CONTENT_TYPE DAPP #-} | |
4 | + | let pool_liquidity_address = "3N4wBgYtWgJW2LTRef2ekWQTrEXCRfXmGLh" | |
5 | + | ||
6 | + | let Dapp_Address_pub_key = base58'EXLfxKmqhQPiProBaoPatTentUSZX5Dd8A8bYDcmfNwt' | |
7 | + | ||
8 | + | let product_launch_timestamp = 1695427860000 | |
9 | + | ||
10 | + | let Currency_ID = "WAVES" | |
11 | + | ||
12 | + | let product_launch_error = "Product Launch Timestamp is set at " | |
13 | + | ||
14 | + | let no_payment_error = "No payment attached, Please Attach Token in payment[1]." | |
15 | + | ||
16 | + | let closed_oracle_eror = "Oracle is closed. Wait Until Oracle is Turned On." | |
17 | + | ||
18 | + | let whitelist_address = addressFromPublicKey(Dapp_Address_pub_key) | |
19 | + | ||
20 | + | let network_fee = 900000 | |
21 | + | ||
22 | + | let minimum_order_size = 10000000 | |
23 | + | ||
24 | + | let maximum_order_size = 10000000000 | |
25 | + | ||
26 | + | let maximum_voucher_size = 100000000 | |
27 | + | ||
28 | + | @Callable(i) | |
29 | + | func Issue_Vouchers (Voucher_Amount,User_ID,User_Address) = { | |
30 | + | let read_TotalVouchersBalance = valueOrErrorMessage(getInteger(this, "Available_Vouchers_Balance"), "Available_Vouchers_Balance Entry is not Found. Initiate Fill_Vouchers_Liquidity Function first.") | |
31 | + | let update_TotalVouchersBalance = (read_TotalVouchersBalance - Voucher_Amount) | |
32 | + | let VouchersIssuedToUser = match getInteger(this, ("Total_Vouchers_Issued_To_" + User_Address)) { | |
33 | + | case a: Int => | |
34 | + | a | |
35 | + | case _ => | |
36 | + | 0 | |
37 | + | } | |
38 | + | let TotalVouchersIssuedToUser = (VouchersIssuedToUser + 1) | |
39 | + | let VouchersAmountIssuedToUser = match getInteger(this, ("Total_Vouchers_Amount_Issued_To_" + User_Address)) { | |
40 | + | case a: Int => | |
41 | + | a | |
42 | + | case _ => | |
43 | + | 0 | |
44 | + | } | |
45 | + | let TotalVouchersAmountIssuedToUser = (VouchersAmountIssuedToUser + Voucher_Amount) | |
46 | + | let PreviousUserDeposit = match getInteger(this, ((Currency_ID + "_") + User_Address)) { | |
47 | + | case a: Int => | |
48 | + | a | |
49 | + | case _ => | |
50 | + | 0 | |
51 | + | } | |
52 | + | let TotalUserDeposit = (PreviousUserDeposit + Voucher_Amount) | |
53 | + | if ((i.caller != whitelist_address)) | |
54 | + | then throw((("This Address is not Authorized. Only " + toString(whitelist_address)) + " is Authorized Address to Sign it.")) | |
55 | + | else if ((0 >= Voucher_Amount)) | |
56 | + | then throw("Voucher Balance can't be 0 or go in negative State. Increase the Voucher Amount.") | |
57 | + | else if ((0 >= update_TotalVouchersBalance)) | |
58 | + | then throw((("Updated Voucher Balance can't go in negative State of " + toString(update_TotalVouchersBalance)) + " /10^8 WAVES. Reduce the Voucher Amount.")) | |
59 | + | else if ((Voucher_Amount > maximum_voucher_size)) | |
60 | + | then throw((("Input Voucher Balance can't exceed the set maximum limit of " + toString(maximum_voucher_size)) + "/10^8 Waves.")) | |
61 | + | else [IntegerEntry(("Total_Vouchers_Issued_To_" + User_Address), TotalVouchersIssuedToUser), IntegerEntry(("Total_Vouchers_Amount_Issued_To_" + User_Address), TotalVouchersAmountIssuedToUser), IntegerEntry(((Currency_ID + "_") + User_Address), TotalUserDeposit), IntegerEntry("Available_Vouchers_Balance", update_TotalVouchersBalance)] | |
62 | + | } | |
63 | + | ||
64 | + | ||
65 | + | @Verifier(tx) | |
66 | + | func verify () = sigVerify(tx.bodyBytes, tx.proofs[0], tx.senderPublicKey) | |
67 | + |
github/deemru/w8io/026f985 32.96 ms ◑