tx · ECvcEu8zV4zVRo4xcpg2sRUGBNtohL5uWfDQd5K1LgzJ 3MshBTYYGc24JWzE2aYEktiz5KzeNQGA4GV: -0.01400000 Waves 2021.08.12 21:54 [1655533] smart account 3MshBTYYGc24JWzE2aYEktiz5KzeNQGA4GV > SELF 0.00000000 Waves
{ "type": 13, "id": "ECvcEu8zV4zVRo4xcpg2sRUGBNtohL5uWfDQd5K1LgzJ", "fee": 1400000, "feeAssetId": null, "timestamp": 1628794528634, "version": 2, "chainId": 84, "sender": "3MshBTYYGc24JWzE2aYEktiz5KzeNQGA4GV", "senderPublicKey": "GKmJ6BchUgQfwKp4mp5eX8Y9xLioYRm6e1gDfFgdAcCr", "proofs": [ "5LbR9K6RXx7pK8X1UnzW3LRkCm6xWn5hST9AyF6tqdEyX1ZE39AfL48RvFkLoHLaqJv7e8DjmCZRUCfqsMYbUhAj" ], "script": "base64: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AAAAAgIAAAAOVm90aW5nX1BlcmlvZF8FAAAACEFzc2V0SUQxBQAAAA5Ob09mRGF5c0Jsb2NrcwkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgkAASwAAAACAgAAABNWb3RpbmdfTGlzdGluZ19GZWVfBQAAAAhBc3NldElEMQgFAAAABHBtdDEAAAAGYW1vdW50CQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACCQABLAAAAAICAAAAD1ZvdGVzX1JlcXVpcmVkXwUAAAAIQXNzZXRJRDEFAAAADXZvdGVzcmVxdWlyZWQJAARMAAAAAgkBAAAADlNjcmlwdFRyYW5zZmVyAAAAAwkBAAAAFGFkZHJlc3NGcm9tUHVibGljS2V5AAAAAQUAAAAKRmVlQWRkcmVzcwgFAAAABHBtdDEAAAAGYW1vdW50BQAAAA1CYWxsZXRBc3NldElEBQAAAANuaWwAAAABaQEAAAALSXNzdWVCYWxsZXQAAAAABAAAAANwbXQJAQAAAAV2YWx1ZQAAAAEJAAGRAAAAAggFAAAAAWkAAAAIcGF5bWVudHMAAAAAAAAAAAAEAAAACmN1cnJlbnRLZXkJAAJYAAAAAQgIBQAAAAFpAAAABmNhbGxlcgAAAAVieXRlcwQAAAANQmFsbGV0QXNzZXRJRAEAAAAgLW9bAbmd5UpvGoRop5PuExeWGALv8UR2MHtYdfeTqKAEAAAADlByaWNlUGVyQmFsbGV0CQEAAAARQGV4dHJOYXRpdmUoMTA1MCkAAAACBQAAAAR0aGlzAgAAAAlCQUxMRVQvVE4EAAAAD05ld0JhbGxldFRvVXNlcgkAAGsAAAADAAAAAAAAAYagCAUAAAADcG10AAAABmFtb3VudAUAAAAOUHJpY2VQZXJCYWxsZXQEAAAAFFByZXZpb3VzSXNzdWVkQmFsbGV0CQEAAAARQGV4dHJOYXRpdmUoMTA1MCkAAAACBQAAAAR0aGlzAgAAABRUb3RhbF9Jc3N1ZWRfQmFsbGV0OgQAAAARVG90YWxJc3N1ZWRCYWxsZXQJAABkAAAAAgUAAAAUUHJldmlvdXNJc3N1ZWRCYWxsZXQFAAAAD05ld0JhbGxldFRvVXNlcgQAAAAaUHJldmlvdXNCYWxsZXRSZXNlcnZlVmFsdWUJAQAAABFAZXh0ck5hdGl2ZSgxMDUwKQAAAAIFAAAABHRoaXMCAAAAG1RvdGFsX0JhbGxldF9SZXNlcnZlX0luX1ROOgQAAAASQmFsbGV0UmVzZXJ2ZVZhbHVlCQAAZAAAAAIFAAAAGlByZXZpb3VzQmFsbGV0UmVzZXJ2ZVZhbHVlCAUAAAADcG10AAAABmFtb3VudAQAAAAZUHJldmlvdXNCYWxsZXRCYWNrdXBQcmljZQkBAAAAEUBleHRyTmF0aXZlKDEwNTApAAAAAgUAAAAEdGhpcwIAAAAaQmFsbGV0X0JhY2t1cF9WYWx1ZV9Jbl9UTjoEAAAAEUJhbGxldEJhY2t1cFByaWNlCQAAawAAAAMAAAAAAAABhqAFAAAAEkJhbGxldFJlc2VydmVWYWx1ZQUAAAARVG90YWxJc3N1ZWRCYWxsZXQEAAAACkZlZUFkZHJlc3MBAAAAIHE/Oe1BrsJepSkes1ESh96Qyq2U5VDLF1kF2MXI1ngbAwkBAAAACWlzRGVmaW5lZAAAAAEIBQAAAANwbXQAAAAHYXNzZXRJZAkAAAIAAAABAgAAACtJbmNvcnJlY3QgYXNzZXQgYXR0YWNoZWQsIHBsZWFzZSBhdHRhY2ggVE4uAwkAAGYAAAACAAAAAAAATEtACAUAAAADcG10AAAABmFtb3VudAkAAAIAAAABAgAAADRQbGVhc2UgQXR0YWNoIG1pbmltdW0gMC4wNSBUTiBUbyBJc3N1ZSBCYWxsZXQgQXNzZXQuCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACAgAAABRUb3RhbF9Jc3N1ZWRfQmFsbGV0OgUAAAARVG90YWxJc3N1ZWRCYWxsZXQJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAICAAAAG1RvdGFsX0JhbGxldF9SZXNlcnZlX0luX1ROOgUAAAASQmFsbGV0UmVzZXJ2ZVZhbHVlCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACAgAAABpCYWxsZXRfQmFja3VwX1ZhbHVlX0luX1ROOgUAAAARQmFsbGV0QmFja3VwUHJpY2UJAARMAAAAAgkBAAAAC1N0cmluZ0VudHJ5AAAAAgIAAAAHbWVzc2FnZQIAAAAoPGgxPkJhbGxldCBJc3N1ZWQgU3VjY2Vzc2Z1bGx5ITwvaDE+PGJyPgkABEwAAAACCQEAAAAHUmVpc3N1ZQAAAAMFAAAADUJhbGxldEFzc2V0SUQFAAAAD05ld0JhbGxldFRvVXNlcgYJAARMAAAAAgkBAAAADlNjcmlwdFRyYW5zZmVyAAAAAwgFAAAAAWkAAAAGY2FsbGVyCQAAaQAAAAIJAABoAAAAAgUAAAAPTmV3QmFsbGV0VG9Vc2VyAAAAAAAAAABjAAAAAAAAAABkBQAAAA1CYWxsZXRBc3NldElECQAETAAAAAIJAQAAAA5TY3JpcHRUcmFuc2ZlcgAAAAMJAQAAABRhZGRyZXNzRnJvbVB1YmxpY0tleQAAAAEFAAAACkZlZUFkZHJlc3MJAABpAAAAAgkAAGgAAAACBQAAAA9OZXdCYWxsZXRUb1VzZXIAAAAAAAAAAAEAAAAAAAAAAGQFAAAADUJhbGxldEFzc2V0SUQFAAAAA25pbAAAAAFpAQAAAAlMaXF1aWRhdGUAAAAABAAAAApjdXJyZW50S2V5CQACWAAAAAEIBQAAAAFpAAAAD2NhbGxlclB1YmxpY0tleQQAAAADcG10CQEAAAAFdmFsdWUAAAABCQABkQAAAAIIBQAAAAFpAAAACHBheW1lbnRzAAAAAAAAAAAABAAAAA1CYWxsZXRBc3NldElEAQAAACAtb1sBuZ3lSm8ahGink+4TF5YYAu/xRHYwe1h195OooAQAAAAUUHJldmlvdXNJc3N1ZWRCYWxsZXQJAQAAABFAZXh0ck5hdGl2ZSgxMDUwKQAAAAIFAAAABHRoaXMCAAAAFFRvdGFsX0lzc3VlZF9CYWxsZXQ6BAAAABFUb3RhbElzc3VlZEJhbGxldAkAAGUAAAACBQAAABRQcmV2aW91c0lzc3VlZEJhbGxldAgFAAAAA3BtdAAAAAZhbW91bnQEAAAAGlByZXZpb3VzQmFsbGV0UmVzZXJ2ZVZhbHVlCQEAAAARQGV4dHJOYXRpdmUoMTA1MCkAAAACBQAAAAR0aGlzAgAAABtUb3RhbF9CYWxsZXRfUmVzZXJ2ZV9Jbl9UTjoEAAAAGVByZXZpb3VzQmFsbGV0QmFja3VwUHJpY2UJAQAAABFAZXh0ck5hdGl2ZSgxMDUwKQAAAAIFAAAABHRoaXMCAAAAGkJhbGxldF9CYWNrdXBfVmFsdWVfSW5fVE46BAAAABJjYWxjdWxhdGVidXJudmFsdWUJAABrAAAAAwUAAAAZUHJldmlvdXNCYWxsZXRCYWNrdXBQcmljZQgFAAAAA3BtdAAAAAZhbW91bnQAAAAAAAABhqAEAAAAEkJhbGxldFJlc2VydmVWYWx1ZQkAAGUAAAACBQAAABpQcmV2aW91c0JhbGxldFJlc2VydmVWYWx1ZQUAAAASY2FsY3VsYXRlYnVybnZhbHVlBAAAABFCYWxsZXRCYWNrdXBQcmljZQkAAGsAAAADAAAAAAAAAYagBQAAABJCYWxsZXRSZXNlcnZlVmFsdWUFAAAAEVRvdGFsSXNzdWVkQmFsbGV0AwkBAAAAAiE9AAAAAggFAAAAA3BtdAAAAAdhc3NldElkBQAAAA1CYWxsZXRBc3NldElECQAAAgAAAAECAAAASktpbmRseSBEZXBvc2l0IE9ubHkgNDRNcThLcVVoTTk0dDkzTWlCcTNTMjJpaXVHY3pNeHBLbXNlNWRCeTJ3NXkgKEJhbGxldCkuAwkAAGYAAAACAAAAAAAAAYagCAUAAAADcG10AAAABmFtb3VudAkAAAIAAAABAgAAADBBdHRhY2ggQW1vdW50IG11c3QgYmUgZ3JlYXRlciB0aGFuIDAuMDAxIEJhbGxldC4JAARMAAAAAgkBAAAABEJ1cm4AAAACBQAAAA1CYWxsZXRBc3NldElECAUAAAADcG10AAAABmFtb3VudAkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgIAAAAUVG90YWxfSXNzdWVkX0JhbGxldDoFAAAAEVRvdGFsSXNzdWVkQmFsbGV0CQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACAgAAABtUb3RhbF9CYWxsZXRfUmVzZXJ2ZV9Jbl9UTjoFAAAAEkJhbGxldFJlc2VydmVWYWx1ZQkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgIAAAAaQmFsbGV0X0JhY2t1cF9WYWx1ZV9Jbl9UTjoFAAAAEUJhbGxldEJhY2t1cFByaWNlCQAETAAAAAIJAQAAAA5TY3JpcHRUcmFuc2ZlcgAAAAMIBQAAAAFpAAAABmNhbGxlcgUAAAASY2FsY3VsYXRlYnVybnZhbHVlBQAAAAR1bml0BQAAAANuaWwAAAABaQEAAAAPUmVtb3ZlUGFpckVudHJ5AAAAAQAAAAVFbnRyeQkABEwAAAACCQEAAAALRGVsZXRlRW50cnkAAAABCQABLAAAAAICAAAAElBhaXJfVW5kZXJfVm90aW5nXwUAAAAFRW50cnkJAARMAAAAAgkBAAAAC0RlbGV0ZUVudHJ5AAAAAQkAASwAAAACAgAAABRWb3RpbmdfU3RhcnRfSGVpZ2h0XwUAAAAFRW50cnkJAARMAAAAAgkBAAAAC0RlbGV0ZUVudHJ5AAAAAQkAASwAAAACAgAAABJWb3RpbmdfRW5kX0hlaWdodF8FAAAABUVudHJ5CQAETAAAAAIJAQAAAAtEZWxldGVFbnRyeQAAAAEJAAEsAAAAAgIAAAAOVm90aW5nX1BlcmlvZF8FAAAABUVudHJ5CQAETAAAAAIJAQAAAAtEZWxldGVFbnRyeQAAAAEJAAEsAAAAAgIAAAAPVm90ZXNfUmVxdWlyZWRfBQAAAAVFbnRyeQkABEwAAAACCQEAAAALRGVsZXRlRW50cnkAAAABCQABLAAAAAICAAAAE1ZvdGluZ19MaXN0aW5nX0ZlZV8FAAAABUVudHJ5BQAAAANuaWwAAAABAAAAAnR4AQAAAAZ2ZXJpZnkAAAAABAAAAAckbWF0Y2gwBQAAAAJ0eAkAAfQAAAADCAUAAAACdHgAAAAJYm9keUJ5dGVzCQABkQAAAAIIBQAAAAJ0eAAAAAZwcm9vZnMAAAAAAAAAAAAIBQAAAAJ0eAAAAA9zZW5kZXJQdWJsaWNLZXm6RKzB", "height": 1655533, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: none Next: 9eGNqPi3JR9PSLaZgvjcrG67ZZmdJZdJaXQyBhfeexH1 Full:
Old | New | Differences | |
---|---|---|---|
1 | - | # no script | |
1 | + | {-# STDLIB_VERSION 4 #-} | |
2 | + | {-# SCRIPT_TYPE ACCOUNT #-} | |
3 | + | {-# CONTENT_TYPE DAPP #-} | |
4 | + | ||
5 | + | ||
6 | + | @Callable(i) | |
7 | + | func RegisterPairForVoting (AssetID1,days) = { | |
8 | + | let pmt1 = value(i.payments[0]) | |
9 | + | let pmt2 = value(i.payments[1]) | |
10 | + | let FeeAddress = base58'8d4zGuTjT3h67Z4DatzMXdXXW1GvoQhMTjwCGFxJuene' | |
11 | + | let maximumvotingdays = 90 | |
12 | + | let BalletAssetID = base58'44Mq8KqUhM94t93MiBq3S22iiuGczMxpKmse5dBy2w5y' | |
13 | + | let USDTAssetID = base58'7RB3BWayeCVPq3kkpkeJZAFv2DYCB5gEwnutEpRofaw4' | |
14 | + | let currentKey = toBase58String(i.caller.bytes) | |
15 | + | let TN = !(isDefined(pmt2.assetId)) | |
16 | + | let oneday = 1440 | |
17 | + | let NoOfDaysBlocks = (oneday * days) | |
18 | + | let gap = (NoOfDaysBlocks - 43199) | |
19 | + | let votesrequired = (100000 + ((11574 * gap) / 10000)) | |
20 | + | let votingExpire = (height + NoOfDaysBlocks) | |
21 | + | let fetchpair = getString(this, ("Pair_Under_Voting_" + AssetID1)) | |
22 | + | let assetinfopmt2 = fromBase58String(AssetID1) | |
23 | + | if ((43 > size(AssetID1))) | |
24 | + | then throw("Wrong AssetID1 is Entered for Voting. Please Enter a Valid AssetID1. Probably you entered an ASSETID1 less than 43 Chars.") | |
25 | + | else if ((29 >= days)) | |
26 | + | then throw("Enter no. of days in between 30 to 90.") | |
27 | + | else if ((days > maximumvotingdays)) | |
28 | + | then throw("You Entered days greater than 90 please Enter no. of days in between 1 to 90.") | |
29 | + | else if ((fetchpair == AssetID1)) | |
30 | + | then throw("Pair Already Exist in Voting List.") | |
31 | + | else if ((size(i.payments) != 2)) | |
32 | + | then throw("Two attached assets expected as payment. Kindly Attach payment1 = Ballet Token and payment2 = Token you want to add to List for Voting.") | |
33 | + | else if ((pmt1.assetId != BalletAssetID)) | |
34 | + | then throw("Incorrect asset attached for Voting in payment[1], please attach 1000 Ballet Token only.") | |
35 | + | else if ((40000000 > pmt1.amount)) | |
36 | + | then throw((((("You attached only " + toString(fraction(pmt1.amount, 1, 100000000))) + ".") + toString(fraction(pmt1.amount, 1, 10000000))) + " Ballet for Voting in payment[1], please attach 1000 Ballet Token only.")) | |
37 | + | else if ((pmt2.assetId != assetinfopmt2)) | |
38 | + | then throw("Asset String Attached in ASSETID1 is not matching with Payment2 AssetID.") | |
39 | + | else if ((TN == true)) | |
40 | + | then throw("You Attached TN Asset ID for Voting, please attach the Token You want to list in payment[2].") | |
41 | + | else if ((pmt2.assetId == BalletAssetID)) | |
42 | + | then throw("You Attached Ballet asset for Voting in both payments, please attach the Token You want to list in payment[2].") | |
43 | + | else [StringEntry(("Pair_Under_Voting_" + AssetID1), AssetID1), IntegerEntry(("Voting_Start_Height_" + AssetID1), height), IntegerEntry(("Voting_End_Height_" + AssetID1), votingExpire), IntegerEntry(("Voting_Period_" + AssetID1), NoOfDaysBlocks), IntegerEntry(("Voting_Listing_Fee_" + AssetID1), pmt1.amount), IntegerEntry(("Votes_Required_" + AssetID1), votesrequired), ScriptTransfer(addressFromPublicKey(FeeAddress), pmt1.amount, BalletAssetID)] | |
44 | + | } | |
45 | + | ||
46 | + | ||
47 | + | ||
48 | + | @Callable(i) | |
49 | + | func IssueBallet () = { | |
50 | + | let pmt = value(i.payments[0]) | |
51 | + | let currentKey = toBase58String(i.caller.bytes) | |
52 | + | let BalletAssetID = base58'44Mq8KqUhM94t93MiBq3S22iiuGczMxpKmse5dBy2w5y' | |
53 | + | let PricePerBallet = getIntegerValue(this, "BALLET/TN") | |
54 | + | let NewBalletToUser = fraction(100000, pmt.amount, PricePerBallet) | |
55 | + | let PreviousIssuedBallet = getIntegerValue(this, "Total_Issued_Ballet:") | |
56 | + | let TotalIssuedBallet = (PreviousIssuedBallet + NewBalletToUser) | |
57 | + | let PreviousBalletReserveValue = getIntegerValue(this, "Total_Ballet_Reserve_In_TN:") | |
58 | + | let BalletReserveValue = (PreviousBalletReserveValue + pmt.amount) | |
59 | + | let PreviousBalletBackupPrice = getIntegerValue(this, "Ballet_Backup_Value_In_TN:") | |
60 | + | let BalletBackupPrice = fraction(100000, BalletReserveValue, TotalIssuedBallet) | |
61 | + | let FeeAddress = base58'8d4zGuTjT3h67Z4DatzMXdXXW1GvoQhMTjwCGFxJuene' | |
62 | + | if (isDefined(pmt.assetId)) | |
63 | + | then throw("Incorrect asset attached, please attach TN.") | |
64 | + | else if ((5000000 > pmt.amount)) | |
65 | + | then throw("Please Attach minimum 0.05 TN To Issue Ballet Asset.") | |
66 | + | else [IntegerEntry("Total_Issued_Ballet:", TotalIssuedBallet), IntegerEntry("Total_Ballet_Reserve_In_TN:", BalletReserveValue), IntegerEntry("Ballet_Backup_Value_In_TN:", BalletBackupPrice), StringEntry("message", "<h1>Ballet Issued Successfully!</h1><br>"), Reissue(BalletAssetID, NewBalletToUser, true), ScriptTransfer(i.caller, ((NewBalletToUser * 99) / 100), BalletAssetID), ScriptTransfer(addressFromPublicKey(FeeAddress), ((NewBalletToUser * 1) / 100), BalletAssetID)] | |
67 | + | } | |
68 | + | ||
69 | + | ||
70 | + | ||
71 | + | @Callable(i) | |
72 | + | func Liquidate () = { | |
73 | + | let currentKey = toBase58String(i.callerPublicKey) | |
74 | + | let pmt = value(i.payments[0]) | |
75 | + | let BalletAssetID = base58'44Mq8KqUhM94t93MiBq3S22iiuGczMxpKmse5dBy2w5y' | |
76 | + | let PreviousIssuedBallet = getIntegerValue(this, "Total_Issued_Ballet:") | |
77 | + | let TotalIssuedBallet = (PreviousIssuedBallet - pmt.amount) | |
78 | + | let PreviousBalletReserveValue = getIntegerValue(this, "Total_Ballet_Reserve_In_TN:") | |
79 | + | let PreviousBalletBackupPrice = getIntegerValue(this, "Ballet_Backup_Value_In_TN:") | |
80 | + | let calculateburnvalue = fraction(PreviousBalletBackupPrice, pmt.amount, 100000) | |
81 | + | let BalletReserveValue = (PreviousBalletReserveValue - calculateburnvalue) | |
82 | + | let BalletBackupPrice = fraction(100000, BalletReserveValue, TotalIssuedBallet) | |
83 | + | if ((pmt.assetId != BalletAssetID)) | |
84 | + | then throw("Kindly Deposit Only 44Mq8KqUhM94t93MiBq3S22iiuGczMxpKmse5dBy2w5y (Ballet).") | |
85 | + | else if ((100000 > pmt.amount)) | |
86 | + | then throw("Attach Amount must be greater than 0.001 Ballet.") | |
87 | + | else [Burn(BalletAssetID, pmt.amount), IntegerEntry("Total_Issued_Ballet:", TotalIssuedBallet), IntegerEntry("Total_Ballet_Reserve_In_TN:", BalletReserveValue), IntegerEntry("Ballet_Backup_Value_In_TN:", BalletBackupPrice), ScriptTransfer(i.caller, calculateburnvalue, unit)] | |
88 | + | } | |
89 | + | ||
90 | + | ||
91 | + | ||
92 | + | @Callable(i) | |
93 | + | func RemovePairEntry (Entry) = [DeleteEntry(("Pair_Under_Voting_" + Entry)), DeleteEntry(("Voting_Start_Height_" + Entry)), DeleteEntry(("Voting_End_Height_" + Entry)), DeleteEntry(("Voting_Period_" + Entry)), DeleteEntry(("Votes_Required_" + Entry)), DeleteEntry(("Voting_Listing_Fee_" + Entry))] | |
94 | + | ||
95 | + | ||
96 | + | @Verifier(tx) | |
97 | + | func verify () = match tx { | |
98 | + | case _ => | |
99 | + | sigVerify(tx.bodyBytes, tx.proofs[0], tx.senderPublicKey) | |
100 | + | } | |
101 | + |
github/deemru/w8io/169f3d6 64.07 ms ◑