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