tx · 48hxMfCL8TNrzrJCnch2GK4WKo7D8AU3xXgnPfFHV3vo

3Mrnje6z2xa3xuXyU2Lk6ynKy8tsRnnt4Bv:  -0.01400000 Waves

2021.08.11 19:26 [1653941] smart account 3Mrnje6z2xa3xuXyU2Lk6ynKy8tsRnnt4Bv > SELF 0.00000000 Waves

{ "type": 13, "id": "48hxMfCL8TNrzrJCnch2GK4WKo7D8AU3xXgnPfFHV3vo", "fee": 1400000, "feeAssetId": null, "timestamp": 1628699217193, "version": 2, "chainId": 84, "sender": "3Mrnje6z2xa3xuXyU2Lk6ynKy8tsRnnt4Bv", "senderPublicKey": "28sGn7FYnmxceAmnGYiDiKuMK1QyXiqX8zQXfKDnrc8t", "proofs": [ "Xd7fS62bvqD3UBLoDDWHXbYBU6fgKgvAA2jsBM4cn1YjspJpvB28nbxsi3AdKdt3YdiouC83EXRjqAdrQePZoKy" ], "script": "base64:AAIEAAAAAAAAAAwIAhIECgIIARIAEgAAAAABAQAAAA9jaGVja1ZvdGluZ1BhaXIAAAABAAAACEFzc2V0SUQxBAAAAAckbWF0Y2gwCQAEHQAAAAIFAAAABHRoaXMFAAAACEFzc2V0SUQxAwkAAAEAAAACBQAAAAckbWF0Y2gwAgAAAAZTdHJpbmcEAAAAAWEFAAAAByRtYXRjaDAFAAAAAWECAAAABE5PTkUAAAADAAAAAWkBAAAABlZvdGluZwAAAAIAAAAIQXNzZXRJRDEAAAAEZGF5cwQAAAAEcG10MQkBAAAABXZhbHVlAAAAAQkAAZEAAAACCAUAAAABaQAAAAhwYXltZW50cwAAAAAAAAAAAAQAAAAEcG10MgkBAAAABXZhbHVlAAAAAQkAAZEAAAACCAUAAAABaQAAAAhwYXltZW50cwAAAAAAAAAAAQQAAAARbWF4aW11bXZvdGluZ2RheXMAAAAAAAAAAFoEAAAAAlROAQAAAAAEAAAADUJhbGxldEFzc2V0SUQBAAAAIC1vWwG5neVKbxqEaKeT7hMXlhgC7/FEdjB7WHX3k6igBAAAAAtVU0RUQXNzZXRJRAEAAAAgX1dpGMgKJ4Em8VuX7cTsTfnCu1nLEhiLhGCgX6b3/PMEAAAAD1ZvdGluZ1BhaXJFeGlzdAkBAAAAD2NoZWNrVm90aW5nUGFpcgAAAAEFAAAACEFzc2V0SUQxBAAAAApjdXJyZW50S2V5CQACWAAAAAEICAUAAAABaQAAAAZjYWxsZXIAAAAFYnl0ZXMDCQEAAAACIT0AAAACBQAAAA9Wb3RpbmdQYWlyRXhpc3QCAAAABE5PTkUJAAACAAAAAQIAAAAeVGhpcyBWb3RpbmcgUGFpciBhbHJlYWR5IEV4aXN0AwkAAGYAAAACAAAAAAAAAAAsCQABMQAAAAEFAAAACEFzc2V0SUQxCQAAAgAAAAECAAAAeVdyb25nIEFzc2V0SUQxIGlzIEVudGVyZWQgZm9yIFZvdGluZy4gUGxlYXNlIEVudGVyIGEgVmFsaWQgQXNzZXRJRDEuIFByb2JhYmx5IHlvdSBlbnRlcmVkIGFuIEFTU0VUSUQxIGxlc3MgdGhhbiA0NCBDaGFycy4DCQEAAAACIT0AAAACCQABkAAAAAEIBQAAAAFpAAAACHBheW1lbnRzAAAAAAAAAAACCQAAAgAAAAECAAAAh1R3byBhdHRhY2hlZCBhc3NldHMgZXhwZWN0ZWQgYXMgcGF5bWVudC4gS2luZGx5IEF0dGFjaCBwYXltZW50MSA9IEJhbGxldCBUb2tlbiBhbmQgcGF5bWVudDIgPSBUb2tlbiBZb3Ugd2FudCB0byBhZGQgdG8gTGlzdCBmb3IgVm90aW5nLgMJAQAAAAIhPQAAAAIIBQAAAARwbXQxAAAAB2Fzc2V0SWQFAAAADUJhbGxldEFzc2V0SUQJAAACAAAAAQIAAABYSW5jb3JyZWN0IGFzc2V0IGF0dGFjaGVkIGZvciBWb3RpbmcgaW4gcGF5bWVudFsxXSwgcGxlYXNlIGF0dGFjaCAxMDAwIEJhbGxldCBUb2tlbiBvbmx5LgMJAAAAAAAAAggFAAAABHBtdDIAAAAHYXNzZXRJZAUAAAACVE4JAAACAAAAAQIAAABcWW91IEF0dGFjaGVkIFROIEFzc2V0IElEIGZvciBWb3RpbmcsIHBsZWFzZSBhdHRhY2ggdGhlIFRva2VuIFlvdSB3YW50IHRvIGxpc3QgaW4gcGF5bWVudFsyXS4DCQAAAAAAAAIIBQAAAARwbXQyAAAAB2Fzc2V0SWQFAAAADUJhbGxldEFzc2V0SUQJAAACAAAAAQIAAABuWW91IEF0dGFjaGVkIEJhbGxldCBhc3NldCBmb3IgVm90aW5nIGluIGJvdGggcGF5bWVudHMsIHBsZWFzZSBhdHRhY2ggdGhlIFRva2VuIFlvdSB3YW50IHRvIGxpc3QgaW4gcGF5bWVudFsyXS4JAARMAAAAAgkBAAAAC1N0cmluZ0VudHJ5AAAAAgIAAAAWVFJEVG9VU0ROX1N3YXBfQWRkcmVzcwUAAAAKY3VycmVudEtleQkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgIAAAAVVFJEVG9VU0ROX1N3YXBfSGVpZ2h0BQAAAAZoZWlnaHQFAAAAA25pbAAAAAFpAQAAAAtJc3N1ZUJhbGxldAAAAAAEAAAAA3BtdAkBAAAABXZhbHVlAAAAAQkAAZEAAAACCAUAAAABaQAAAAhwYXltZW50cwAAAAAAAAAAAAQAAAAKY3VycmVudEtleQkAAlgAAAABCAgFAAAAAWkAAAAGY2FsbGVyAAAABWJ5dGVzBAAAAA1CYWxsZXRBc3NldElEAQAAACAtb1sBuZ3lSm8ahGink+4TF5YYAu/xRHYwe1h195OooAQAAAAOUHJpY2VQZXJCYWxsZXQJAQAAABFAZXh0ck5hdGl2ZSgxMDUwKQAAAAIFAAAABHRoaXMCAAAACUJBTExFVC9UTgQAAAAPTmV3QmFsbGV0VG9Vc2VyCQAAawAAAAMAAAAAAAABhqAIBQAAAANwbXQAAAAGYW1vdW50BQAAAA5QcmljZVBlckJhbGxldAQAAAAUUHJldmlvdXNJc3N1ZWRCYWxsZXQJAQAAABFAZXh0ck5hdGl2ZSgxMDUwKQAAAAIFAAAABHRoaXMCAAAAFFRvdGFsX0lzc3VlZF9CYWxsZXQ6BAAAABFUb3RhbElzc3VlZEJhbGxldAkAAGQAAAACBQAAABRQcmV2aW91c0lzc3VlZEJhbGxldAUAAAAPTmV3QmFsbGV0VG9Vc2VyBAAAABpQcmV2aW91c0JhbGxldFJlc2VydmVWYWx1ZQkBAAAAEUBleHRyTmF0aXZlKDEwNTApAAAAAgUAAAAEdGhpcwIAAAAbVG90YWxfQmFsbGV0X1Jlc2VydmVfSW5fVE46BAAAABJCYWxsZXRSZXNlcnZlVmFsdWUJAABkAAAAAgUAAAAaUHJldmlvdXNCYWxsZXRSZXNlcnZlVmFsdWUIBQAAAANwbXQAAAAGYW1vdW50BAAAABlQcmV2aW91c0JhbGxldEJhY2t1cFByaWNlCQEAAAARQGV4dHJOYXRpdmUoMTA1MCkAAAACBQAAAAR0aGlzAgAAABpCYWxsZXRfQmFja3VwX1ZhbHVlX0luX1ROOgQAAAARQmFsbGV0QmFja3VwUHJpY2UJAABrAAAAAwAAAAAAAAGGoAUAAAASQmFsbGV0UmVzZXJ2ZVZhbHVlBQAAABFUb3RhbElzc3VlZEJhbGxldAQAAAAKRmVlQWRkcmVzcwEAAAAgcT857UGuwl6lKR6zURKH3pDKrZTlUMsXWQXYxcjWeBsDCQEAAAAJaXNEZWZpbmVkAAAAAQgFAAAAA3BtdAAAAAdhc3NldElkCQAAAgAAAAECAAAAK0luY29ycmVjdCBhc3NldCBhdHRhY2hlZCwgcGxlYXNlIGF0dGFjaCBUTi4DCQAAZgAAAAIAAAAAAABMS0AIBQAAAANwbXQAAAAGYW1vdW50CQAAAgAAAAECAAAANFBsZWFzZSBBdHRhY2ggbWluaW11bSAwLjA1IFROIFRvIElzc3VlIEJhbGxldCBBc3NldC4JAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAICAAAAFFRvdGFsX0lzc3VlZF9CYWxsZXQ6BQAAABFUb3RhbElzc3VlZEJhbGxldAkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgIAAAAbVG90YWxfQmFsbGV0X1Jlc2VydmVfSW5fVE46BQAAABJCYWxsZXRSZXNlcnZlVmFsdWUJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAICAAAAGkJhbGxldF9CYWNrdXBfVmFsdWVfSW5fVE46BQAAABFCYWxsZXRCYWNrdXBQcmljZQkABEwAAAACCQEAAAALU3RyaW5nRW50cnkAAAACAgAAAAdtZXNzYWdlAgAAACg8aDE+QmFsbGV0IElzc3VlZCBTdWNjZXNzZnVsbHkhPC9oMT48YnI+CQAETAAAAAIJAQAAAAdSZWlzc3VlAAAAAwUAAAANQmFsbGV0QXNzZXRJRAUAAAAPTmV3QmFsbGV0VG9Vc2VyBgkABEwAAAACCQEAAAAOU2NyaXB0VHJhbnNmZXIAAAADCAUAAAABaQAAAAZjYWxsZXIJAABpAAAAAgkAAGgAAAACBQAAAA9OZXdCYWxsZXRUb1VzZXIAAAAAAAAAAGMAAAAAAAAAAGQFAAAADUJhbGxldEFzc2V0SUQJAARMAAAAAgkBAAAADlNjcmlwdFRyYW5zZmVyAAAAAwkBAAAAFGFkZHJlc3NGcm9tUHVibGljS2V5AAAAAQUAAAAKRmVlQWRkcmVzcwkAAGkAAAACCQAAaAAAAAIFAAAAD05ld0JhbGxldFRvVXNlcgAAAAAAAAAAAQAAAAAAAAAAZAUAAAANQmFsbGV0QXNzZXRJRAUAAAADbmlsAAAAAWkBAAAACUxpcXVpZGF0ZQAAAAAEAAAACmN1cnJlbnRLZXkJAAJYAAAAAQgFAAAAAWkAAAAPY2FsbGVyUHVibGljS2V5BAAAAANwbXQJAQAAAAV2YWx1ZQAAAAEJAAGRAAAAAggFAAAAAWkAAAAIcGF5bWVudHMAAAAAAAAAAAAEAAAADUJhbGxldEFzc2V0SUQBAAAAIC1vWwG5neVKbxqEaKeT7hMXlhgC7/FEdjB7WHX3k6igBAAAABRQcmV2aW91c0lzc3VlZEJhbGxldAkBAAAAEUBleHRyTmF0aXZlKDEwNTApAAAAAgUAAAAEdGhpcwIAAAAUVG90YWxfSXNzdWVkX0JhbGxldDoEAAAAEVRvdGFsSXNzdWVkQmFsbGV0CQAAZQAAAAIFAAAAFFByZXZpb3VzSXNzdWVkQmFsbGV0CAUAAAADcG10AAAABmFtb3VudAQAAAAaUHJldmlvdXNCYWxsZXRSZXNlcnZlVmFsdWUJAQAAABFAZXh0ck5hdGl2ZSgxMDUwKQAAAAIFAAAABHRoaXMCAAAAG1RvdGFsX0JhbGxldF9SZXNlcnZlX0luX1ROOgQAAAAZUHJldmlvdXNCYWxsZXRCYWNrdXBQcmljZQkBAAAAEUBleHRyTmF0aXZlKDEwNTApAAAAAgUAAAAEdGhpcwIAAAAaQmFsbGV0X0JhY2t1cF9WYWx1ZV9Jbl9UTjoEAAAAEmNhbGN1bGF0ZWJ1cm52YWx1ZQkAAGsAAAADBQAAABlQcmV2aW91c0JhbGxldEJhY2t1cFByaWNlCAUAAAADcG10AAAABmFtb3VudAAAAAAAAAGGoAQAAAASQmFsbGV0UmVzZXJ2ZVZhbHVlCQAAZQAAAAIFAAAAGlByZXZpb3VzQmFsbGV0UmVzZXJ2ZVZhbHVlBQAAABJjYWxjdWxhdGVidXJudmFsdWUEAAAAEUJhbGxldEJhY2t1cFByaWNlCQAAawAAAAMAAAAAAAABhqAFAAAAEkJhbGxldFJlc2VydmVWYWx1ZQUAAAARVG90YWxJc3N1ZWRCYWxsZXQDCQEAAAACIT0AAAACCAUAAAADcG10AAAAB2Fzc2V0SWQFAAAADUJhbGxldEFzc2V0SUQJAAACAAAAAQIAAABKS2luZGx5IERlcG9zaXQgT25seSA0NE1xOEtxVWhNOTR0OTNNaUJxM1MyMmlpdUdjek14cEttc2U1ZEJ5Mnc1eSAoQmFsbGV0KS4DCQAAZgAAAAIAAAAAAAABhqAIBQAAAANwbXQAAAAGYW1vdW50CQAAAgAAAAECAAAAMEF0dGFjaCBBbW91bnQgbXVzdCBiZSBncmVhdGVyIHRoYW4gMC4wMDEgQmFsbGV0LgkABEwAAAACCQEAAAAEQnVybgAAAAIFAAAADUJhbGxldEFzc2V0SUQIBQAAAANwbXQAAAAGYW1vdW50CQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACAgAAABRUb3RhbF9Jc3N1ZWRfQmFsbGV0OgUAAAARVG90YWxJc3N1ZWRCYWxsZXQJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAICAAAAG1RvdGFsX0JhbGxldF9SZXNlcnZlX0luX1ROOgUAAAASQmFsbGV0UmVzZXJ2ZVZhbHVlCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACAgAAABpCYWxsZXRfQmFja3VwX1ZhbHVlX0luX1ROOgUAAAARQmFsbGV0QmFja3VwUHJpY2UJAARMAAAAAgkBAAAADlNjcmlwdFRyYW5zZmVyAAAAAwgFAAAAAWkAAAAGY2FsbGVyBQAAABJjYWxjdWxhdGVidXJudmFsdWUFAAAABHVuaXQFAAAAA25pbAAAAAEAAAACdHgBAAAABnZlcmlmeQAAAAAEAAAAByRtYXRjaDAFAAAAAnR4CQAB9AAAAAMIBQAAAAJ0eAAAAAlib2R5Qnl0ZXMJAAGRAAAAAggFAAAAAnR4AAAABnByb29mcwAAAAAAAAAAAAgFAAAAAnR4AAAAD3NlbmRlclB1YmxpY0tleSHLWXA=", "height": 1653941, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: 6zzsp2igfp6Tu9AcGADCJ52b5vMupYkGhQEveDNigLct Next: H7jNsPsXfTMJb3cM3Xz6H2kgg6Xfo3aoKv3xKGP2r76K Diff:
OldNewDifferences
1414 let pmt1 = value(i.payments[0])
1515 let pmt2 = value(i.payments[1])
1616 let maximumvotingdays = 90
17+ let TN = base58''
1718 let BalletAssetID = base58'44Mq8KqUhM94t93MiBq3S22iiuGczMxpKmse5dBy2w5y'
1819 let USDTAssetID = base58'7RB3BWayeCVPq3kkpkeJZAFv2DYCB5gEwnutEpRofaw4'
1920 let VotingPairExist = checkVotingPair(AssetID1)
2627 then throw("Two attached assets expected as payment. Kindly Attach payment1 = Ballet Token and payment2 = Token You want to add to List for Voting.")
2728 else if ((pmt1.assetId != BalletAssetID))
2829 then throw("Incorrect asset attached for Voting in payment[1], please attach 1000 Ballet Token only.")
29- else if ((pmt2.assetId == BalletAssetID))
30- then throw("You Attached Ballet asset for Voting in both payments, please attach the Token You want to list in payment[2].")
31- else [StringEntry("TRDToUSDN_Swap_Address", currentKey), IntegerEntry("TRDToUSDN_Swap_Height", height)]
30+ else if ((pmt2.assetId == TN))
31+ then throw("You Attached TN Asset ID for Voting, please attach the Token You want to list in payment[2].")
32+ else if ((pmt2.assetId == BalletAssetID))
33+ then throw("You Attached Ballet asset for Voting in both payments, please attach the Token You want to list in payment[2].")
34+ else [StringEntry("TRDToUSDN_Swap_Address", currentKey), IntegerEntry("TRDToUSDN_Swap_Height", height)]
3235 }
3336
3437
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 4 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 func checkVotingPair (AssetID1) = match getString(this, AssetID1) {
55 case a: String =>
66 a
77 case _ =>
88 "NONE"
99 }
1010
1111
1212 @Callable(i)
1313 func Voting (AssetID1,days) = {
1414 let pmt1 = value(i.payments[0])
1515 let pmt2 = value(i.payments[1])
1616 let maximumvotingdays = 90
17+ let TN = base58''
1718 let BalletAssetID = base58'44Mq8KqUhM94t93MiBq3S22iiuGczMxpKmse5dBy2w5y'
1819 let USDTAssetID = base58'7RB3BWayeCVPq3kkpkeJZAFv2DYCB5gEwnutEpRofaw4'
1920 let VotingPairExist = checkVotingPair(AssetID1)
2021 let currentKey = toBase58String(i.caller.bytes)
2122 if ((VotingPairExist != "NONE"))
2223 then throw("This Voting Pair already Exist")
2324 else if ((44 > size(AssetID1)))
2425 then throw("Wrong AssetID1 is Entered for Voting. Please Enter a Valid AssetID1. Probably you entered an ASSETID1 less than 44 Chars.")
2526 else if ((size(i.payments) != 2))
2627 then throw("Two attached assets expected as payment. Kindly Attach payment1 = Ballet Token and payment2 = Token You want to add to List for Voting.")
2728 else if ((pmt1.assetId != BalletAssetID))
2829 then throw("Incorrect asset attached for Voting in payment[1], please attach 1000 Ballet Token only.")
29- else if ((pmt2.assetId == BalletAssetID))
30- then throw("You Attached Ballet asset for Voting in both payments, please attach the Token You want to list in payment[2].")
31- else [StringEntry("TRDToUSDN_Swap_Address", currentKey), IntegerEntry("TRDToUSDN_Swap_Height", height)]
30+ else if ((pmt2.assetId == TN))
31+ then throw("You Attached TN Asset ID for Voting, please attach the Token You want to list in payment[2].")
32+ else if ((pmt2.assetId == BalletAssetID))
33+ then throw("You Attached Ballet asset for Voting in both payments, please attach the Token You want to list in payment[2].")
34+ else [StringEntry("TRDToUSDN_Swap_Address", currentKey), IntegerEntry("TRDToUSDN_Swap_Height", height)]
3235 }
3336
3437
3538
3639 @Callable(i)
3740 func IssueBallet () = {
3841 let pmt = value(i.payments[0])
3942 let currentKey = toBase58String(i.caller.bytes)
4043 let BalletAssetID = base58'44Mq8KqUhM94t93MiBq3S22iiuGczMxpKmse5dBy2w5y'
4144 let PricePerBallet = getIntegerValue(this, "BALLET/TN")
4245 let NewBalletToUser = fraction(100000, pmt.amount, PricePerBallet)
4346 let PreviousIssuedBallet = getIntegerValue(this, "Total_Issued_Ballet:")
4447 let TotalIssuedBallet = (PreviousIssuedBallet + NewBalletToUser)
4548 let PreviousBalletReserveValue = getIntegerValue(this, "Total_Ballet_Reserve_In_TN:")
4649 let BalletReserveValue = (PreviousBalletReserveValue + pmt.amount)
4750 let PreviousBalletBackupPrice = getIntegerValue(this, "Ballet_Backup_Value_In_TN:")
4851 let BalletBackupPrice = fraction(100000, BalletReserveValue, TotalIssuedBallet)
4952 let FeeAddress = base58'8d4zGuTjT3h67Z4DatzMXdXXW1GvoQhMTjwCGFxJuene'
5053 if (isDefined(pmt.assetId))
5154 then throw("Incorrect asset attached, please attach TN.")
5255 else if ((5000000 > pmt.amount))
5356 then throw("Please Attach minimum 0.05 TN To Issue Ballet Asset.")
5457 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)]
5558 }
5659
5760
5861
5962 @Callable(i)
6063 func Liquidate () = {
6164 let currentKey = toBase58String(i.callerPublicKey)
6265 let pmt = value(i.payments[0])
6366 let BalletAssetID = base58'44Mq8KqUhM94t93MiBq3S22iiuGczMxpKmse5dBy2w5y'
6467 let PreviousIssuedBallet = getIntegerValue(this, "Total_Issued_Ballet:")
6568 let TotalIssuedBallet = (PreviousIssuedBallet - pmt.amount)
6669 let PreviousBalletReserveValue = getIntegerValue(this, "Total_Ballet_Reserve_In_TN:")
6770 let PreviousBalletBackupPrice = getIntegerValue(this, "Ballet_Backup_Value_In_TN:")
6871 let calculateburnvalue = fraction(PreviousBalletBackupPrice, pmt.amount, 100000)
6972 let BalletReserveValue = (PreviousBalletReserveValue - calculateburnvalue)
7073 let BalletBackupPrice = fraction(100000, BalletReserveValue, TotalIssuedBallet)
7174 if ((pmt.assetId != BalletAssetID))
7275 then throw("Kindly Deposit Only 44Mq8KqUhM94t93MiBq3S22iiuGczMxpKmse5dBy2w5y (Ballet).")
7376 else if ((100000 > pmt.amount))
7477 then throw("Attach Amount must be greater than 0.001 Ballet.")
7578 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)]
7679 }
7780
7881
7982 @Verifier(tx)
8083 func verify () = match tx {
8184 case _ =>
8285 sigVerify(tx.bodyBytes, tx.proofs[0], tx.senderPublicKey)
8386 }
8487

github/deemru/w8io/169f3d6 
41.49 ms