tx · DiHpzbsLz7oTXy9SvbszCogEzXLyVvTYUrx8KDq3YyXH 3N2xqkdTrWSis1QWQnpyeJyL95qjkUyP7Ve: -0.01400000 Waves 2021.09.14 08:00 [1702271] smart account 3N2xqkdTrWSis1QWQnpyeJyL95qjkUyP7Ve > SELF 0.00000000 Waves
{ "type": 13, "id": "DiHpzbsLz7oTXy9SvbszCogEzXLyVvTYUrx8KDq3YyXH", "fee": 1400000, "feeAssetId": null, "timestamp": 1631595635312, "version": 2, "chainId": 84, "sender": "3N2xqkdTrWSis1QWQnpyeJyL95qjkUyP7Ve", "senderPublicKey": "GixVPmDAUorToWCPYCpBKvBFRBc7qtQSXhL8zWJsfnVN", "proofs": [ "3BZLL36Cj8XriXMAsWwwt3oad1pjjvz1mofTbhELYgghGQyvSnmzvwTuyiXyqm3AB2uN6yStaCC6JQPhoLq2NUYR" ], "script": "base64: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c2l0X2hlaWdodF9PZl8FAAAACmN1cnJlbnRLZXkFAAAABmhlaWdodAkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgkAASwAAAACAgAAABJEZXBvc2l0X0Ftb3VudF9PZl8FAAAACmN1cnJlbnRLZXkFAAAADG5ld01EQ0Ftb3VudAkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgkAASwAAAACAgAAABVUb3RhbF9Mb2NrX0Jsb2Nrc19PZl8FAAAACmN1cnJlbnRLZXkFAAAAD3RvdGFsbG9ja2Jsb2NrcwkABEwAAAACCQEAAAALU3RyaW5nRW50cnkAAAACCQABLAAAAAICAAAAD0xvY2tfU3RhdHVzX09mXwUAAAAKY3VycmVudEtleQUAAAAKbG9ja3N0YXR1cwkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgkAASwAAAACAgAAAAtSZXdhcmRzX09mXwUAAAAKY3VycmVudEtleQUAAAAMVGllcjJyZXdhcmRzBQAAAANuaWwDCQAAZwAAAAIIBQAAAANwbXQAAAAGYW1vdW50BQAAAARVTERUCQAETAAAAAIJAQAAAAtTdHJpbmdFbnRyeQAAAAIJAAEsAAAAAgIAAAAIVGllcl9PZl8FAAAACmN1cnJlbnRLZXkCAAAAB0RJQU1PTkQJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIJAAEsAAAAAgIAAAASRGVwb3NpdF9oZWlnaHRfT2ZfBQAAAApjdXJyZW50S2V5BQAAAAZoZWlnaHQJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIJAAEsAAAAAgIAAAASRGVwb3NpdF9BbW91bnRfT2ZfBQAAAApjdXJyZW50S2V5BQAAAAxuZXdNRENBbW91bnQJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIJAAEsAAAAAgIAAAAVVG90YWxfTG9ja19CbG9ja3NfT2ZfBQAAAApjdXJyZW50S2V5BQAAAA90b3RhbGxvY2tibG9ja3MJAARMAAAAAgkBAAAAC1N0cmluZ0VudHJ5AAAAAgkAASwAAAACAgAAAA9Mb2NrX1N0YXR1c19PZl8FAAAACmN1cnJlbnRLZXkFAAAACmxvY2tzdGF0dXMJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIJAAEsAAAAAgIAAAALUmV3YXJkc19PZl8FAAAACmN1cnJlbnRLZXkFAAAADFRpZXIzcmV3YXJkcwUAAAADbmlsCQAETAAAAAIJAQAAAAtTdHJpbmdFbnRyeQAAAAIJAAEsAAAAAgIAAAAIVGllcl9PZl8FAAAACmN1cnJlbnRLZXkCAAAAB0RJQU1PTkQJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIJAAEsAAAAAgIAAAASRGVwb3NpdF9oZWlnaHRfT2ZfBQAAAApjdXJyZW50S2V5BQAAAAZoZWlnaHQJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIJAAEsAAAAAgIAAAASRGVwb3NpdF9BbW91bnRfT2ZfBQAAAApjdXJyZW50S2V5BQAAAAxuZXdNRENBbW91bnQJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIJAAEsAAAAAgIAAAAVVG90YWxfTG9ja19CbG9ja3NfT2ZfBQAAAApjdXJyZW50S2V5BQAAAA90b3RhbGxvY2tibG9ja3MJAARMAAAAAgkBAAAAC1N0cmluZ0VudHJ5AAAAAgkAASwAAAACAgAAAA9Mb2NrX1N0YXR1c19PZl8FAAAACmN1cnJlbnRLZXkFAAAACmxvY2tzdGF0dXMJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIJAAEsAAAAAgIAAAALUmV3YXJkc19PZl8FAAAACmN1cnJlbnRLZXkFAAAADFRpZXIzcmV3YXJkcwUAAAADbmlsAAAAAWkBAAAACFdpdGhkcmF3AAAAAAQAAAAKY3VycmVudEtleQkAAlgAAAABCAgFAAAAAWkAAAAGY2FsbGVyAAAABWJ5dGVzBAAAABFjaGVja2RlcG9zaXR2YWx1ZQkBAAAAEUBleHRyTmF0aXZlKDEwNTApAAAAAgUAAAAEdGhpcwkAASwAAAACAgAAABJEZXBvc2l0X0Ftb3VudF9PZl8FAAAACmN1cnJlbnRLZXkDCQAAZgAAAAIJAQAAABFAZXh0ck5hdGl2ZSgxMDUwKQAAAAIFAAAABHRoaXMJAAEsAAAAAgIAAAAVVG90YWxfTG9ja19CbG9ja3NfT2ZfBQAAAApjdXJyZW50S2V5BQAAAAZoZWlnaHQJAAACAAAAAQkAASwAAAACCQABLAAAAAIJAAEsAAAAAgIAAAAFWW91ciAJAAGkAAAAAQkBAAAAEUBleHRyTmF0aXZlKDEwNTApAAAAAgUAAAAEdGhpcwkAASwAAAACAgAAABJEZXBvc2l0X0Ftb3VudF9PZl8FAAAACmN1cnJlbnRLZXkCAAAAYiBNREMgYXJlIFVuZGVyIExvY2suIENvbnNpZGVyIGxhc3QgNSBkaWdpdHMgYXMgdmFsdWUgYWZ0ZXIgRGVjaW1hbHMuIFRva2VuIHdpbGwgYmUgVW5sb2NrZWQgYWZ0ZXIgCQABpAAAAAEJAABlAAAAAgkBAAAAEUBleHRyTmF0aXZlKDEwNTApAAAAAgUAAAAEdGhpcwkAASwAAAACAgAAABVUb3RhbF9Mb2NrX0Jsb2Nrc19PZl8FAAAACmN1cnJlbnRLZXkFAAAABmhlaWdodAMJAAAAAAAAAgUAAAARY2hlY2tkZXBvc2l0dmFsdWUAAAAAAAAAAAAJAAACAAAAAQIAAAAmWW91IEhhdmUgQWxyZWFkeSBXaXRoZHJhdyB5b3VyIEFtb3VudC4JAARMAAAAAgkBAAAADlNjcmlwdFRyYW5zZmVyAAAAAwgFAAAAAWkAAAAGY2FsbGVyCQEAAAARQGV4dHJOYXRpdmUoMTA1MCkAAAACBQAAAAR0aGlzCQABLAAAAAICAAAAEkRlcG9zaXRfQW1vdW50X09mXwUAAAAKY3VycmVudEtleQUAAAAKTURDQXNzZXRJRAkABEwAAAACCQEAAAAOU2NyaXB0VHJhbnNmZXIAAAADCAUAAAABaQAAAAZjYWxsZXIJAQAAABFAZXh0ck5hdGl2ZSgxMDUwKQAAAAIFAAAABHRoaXMJAAEsAAAAAgIAAAALUmV3YXJkc19PZl8FAAAACmN1cnJlbnRLZXkFAAAAC1VTRE5Bc3NldElECQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACCQABLAAAAAICAAAAEkRlcG9zaXRfaGVpZ2h0X09mXwUAAAAKY3VycmVudEtleQAAAAAAAAAAAAkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgkAASwAAAACAgAAABJEZXBvc2l0X0Ftb3VudF9PZl8FAAAACmN1cnJlbnRLZXkAAAAAAAAAAAAJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIJAAEsAAAAAgIAAAAVVG90YWxfTG9ja19CbG9ja3NfT2ZfBQAAAApjdXJyZW50S2V5AAAAAAAAAAAACQAETAAAAAIJAQAAAAtTdHJpbmdFbnRyeQAAAAIJAAEsAAAAAgIAAAAPTG9ja19TdGF0dXNfT2ZfBQAAAApjdXJyZW50S2V5AgAAAAZVTkxPQ0sJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIJAAEsAAAAAgIAAAALUmV3YXJkc19PZl8FAAAACmN1cnJlbnRLZXkAAAAAAAAAAAAFAAAAA25pbAAAAAEAAAACdHgBAAAABnZlcmlmeQAAAAAEAAAAByRtYXRjaDAFAAAAAnR4CQAB9AAAAAMIBQAAAAJ0eAAAAAlib2R5Qnl0ZXMJAAGRAAAAAggFAAAAAnR4AAAABnByb29mcwAAAAAAAAAAAAgFAAAAAnR4AAAAD3NlbmRlclB1YmxpY0tlecX/qCY=", "height": 1702271, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: n7grXtsyMKWtLDeYYeTqM6NjrX5vbd6QHdVJLBvAom4 Next: none Diff:
Old | New | Differences | |
---|---|---|---|
23 | 23 | let p = fraction(fraction(o, e.amount, pow(10, 0, 5, 0, 0, UP)), m, pow(10, 0, 6, 0, 0, UP)) | |
24 | 24 | let q = fraction(fraction((o * 2), e.amount, pow(10, 0, 5, 0, 0, UP)), m, pow(10, 0, 6, 0, 0, UP)) | |
25 | 25 | let r = fraction(fraction(((o * 25) / 10), e.amount, pow(10, 0, 5, 0, 0, UP)), m, pow(10, 0, 6, 0, 0, UP)) | |
26 | + | let s = { | |
27 | + | let t = getInteger(this, ("Deposit_Amount_Of_" + f)) | |
28 | + | if ($isInstanceOf(t, "Int")) | |
29 | + | then { | |
30 | + | let u = t | |
31 | + | u | |
32 | + | } | |
33 | + | else 0 | |
34 | + | } | |
35 | + | let v = (s + e.amount) | |
26 | 36 | if ((e.assetId != a)) | |
27 | 37 | then throw((("Incorrect asset attached, please attach " + toBase58String(a)) + " only.")) | |
28 | 38 | else if ((6 >= d)) | |
32 | 42 | else if ((1000000000 > e.amount)) | |
33 | 43 | then throw("Please Attach minimum 10,000 MDC To Achieve SILVER TIER.") | |
34 | 44 | else if ((i >= e.amount)) | |
35 | - | then [StringEntry(("Tier_Of_" + f), "SILVER"), IntegerEntry(("Deposit_height_Of_" + f), height), IntegerEntry(("Deposit_Amount_Of_" + f), | |
45 | + | then [StringEntry(("Tier_Of_" + f), "SILVER"), IntegerEntry(("Deposit_height_Of_" + f), height), IntegerEntry(("Deposit_Amount_Of_" + f), v), IntegerEntry(("Total_Lock_Blocks_Of_" + f), n), StringEntry(("Lock_Status_Of_" + f), h), IntegerEntry(("Rewards_Of_" + f), p)] | |
36 | 46 | else if ((j >= e.amount)) | |
37 | - | then [StringEntry(("Tier_Of_" + f), "GOLD"), IntegerEntry(("Deposit_height_Of_" + f), height), IntegerEntry(("Deposit_Amount_Of_" + f), | |
47 | + | then [StringEntry(("Tier_Of_" + f), "GOLD"), IntegerEntry(("Deposit_height_Of_" + f), height), IntegerEntry(("Deposit_Amount_Of_" + f), v), IntegerEntry(("Total_Lock_Blocks_Of_" + f), n), StringEntry(("Lock_Status_Of_" + f), h), IntegerEntry(("Rewards_Of_" + f), q)] | |
38 | 48 | else if ((e.amount >= k)) | |
39 | - | then [StringEntry(("Tier_Of_" + f), "DIAMOND"), IntegerEntry(("Deposit_height_Of_" + f), height), IntegerEntry(("Deposit_Amount_Of_" + f), e.amount), IntegerEntry(("Total_Lock_Blocks_Of_" + f), n), StringEntry(("Lock_Status_Of_" + f), h), IntegerEntry(("Rewards_Of_" + f), r)] | |
40 | - | else [{ | |
41 | - | let s = 20 | |
42 | - | IntegerEntry(("Deposit_height_Of_" + f), height) | |
43 | - | }, IntegerEntry(("Deposit_Amount_Of_" + f), e.amount), IntegerEntry(("Total_Lock_Blocks_Of_" + f), n), StringEntry(("Lock_Status_Of_" + f), h)] | |
49 | + | then [StringEntry(("Tier_Of_" + f), "DIAMOND"), IntegerEntry(("Deposit_height_Of_" + f), height), IntegerEntry(("Deposit_Amount_Of_" + f), v), IntegerEntry(("Total_Lock_Blocks_Of_" + f), n), StringEntry(("Lock_Status_Of_" + f), h), IntegerEntry(("Rewards_Of_" + f), r)] | |
50 | + | else [StringEntry(("Tier_Of_" + f), "DIAMOND"), IntegerEntry(("Deposit_height_Of_" + f), height), IntegerEntry(("Deposit_Amount_Of_" + f), v), IntegerEntry(("Total_Lock_Blocks_Of_" + f), n), StringEntry(("Lock_Status_Of_" + f), h), IntegerEntry(("Rewards_Of_" + f), r)] | |
44 | 51 | } | |
45 | 52 | ||
46 | 53 | ||
48 | 55 | @Callable(c) | |
49 | 56 | func Withdraw () = { | |
50 | 57 | let f = toBase58String(c.caller.bytes) | |
51 | - | let | |
58 | + | let w = getIntegerValue(this, ("Deposit_Amount_Of_" + f)) | |
52 | 59 | if ((getIntegerValue(this, ("Total_Lock_Blocks_Of_" + f)) > height)) | |
53 | 60 | then throw(((("Your " + toString(getIntegerValue(this, ("Deposit_Amount_Of_" + f)))) + " MDC are Under Lock. Consider last 5 digits as value after Decimals. Token will be Unlocked after ") + toString((getIntegerValue(this, ("Total_Lock_Blocks_Of_" + f)) - height)))) | |
54 | - | else if (( | |
61 | + | else if ((w == 0)) | |
55 | 62 | then throw("You Have Already Withdraw your Amount.") | |
56 | 63 | else [ScriptTransfer(c.caller, getIntegerValue(this, ("Deposit_Amount_Of_" + f)), a), ScriptTransfer(c.caller, getIntegerValue(this, ("Rewards_Of_" + f)), b), IntegerEntry(("Deposit_height_Of_" + f), 0), IntegerEntry(("Deposit_Amount_Of_" + f), 0), IntegerEntry(("Total_Lock_Blocks_Of_" + f), 0), StringEntry(("Lock_Status_Of_" + f), "UNLOCK"), IntegerEntry(("Rewards_Of_" + f), 0)] | |
57 | 64 | } | |
58 | 65 | ||
59 | 66 | ||
60 | - | @Verifier( | |
61 | - | func | |
62 | - | let | |
63 | - | sigVerify( | |
67 | + | @Verifier(x) | |
68 | + | func y () = { | |
69 | + | let t = x | |
70 | + | sigVerify(x.bodyBytes, x.proofs[0], x.senderPublicKey) | |
64 | 71 | } | |
65 | 72 |
Old | New | Differences | |
---|---|---|---|
1 | 1 | {-# STDLIB_VERSION 4 #-} | |
2 | 2 | {-# SCRIPT_TYPE ACCOUNT #-} | |
3 | 3 | {-# CONTENT_TYPE DAPP #-} | |
4 | 4 | let a = base58'HDgUBQhx8vJY2uUmQPtqzEu6C32Ktx4jAD37aprLKV9Z' | |
5 | 5 | ||
6 | 6 | let b = base58'7BDByxoPpx8gjNfkuBi8h1zBTtg9PrxLvYv3q613CES8' | |
7 | 7 | ||
8 | 8 | @Callable(c) | |
9 | 9 | func Deposit (d) = { | |
10 | 10 | let e = if ((size(c.payments) == 1)) | |
11 | 11 | then c.payments[0] | |
12 | 12 | else throw("No payment attached, Please Attach MDC Token as per TIER in payment[1].") | |
13 | 13 | let f = toBase58String(c.caller.bytes) | |
14 | 14 | let g = 90 | |
15 | 15 | let h = "LOCKED" | |
16 | 16 | let i = 499999999999 | |
17 | 17 | let j = 999999999999 | |
18 | 18 | let k = 1000000000000 | |
19 | 19 | let l = 1440 | |
20 | 20 | let m = (l * d) | |
21 | 21 | let n = (height + m) | |
22 | 22 | let o = 695 | |
23 | 23 | let p = fraction(fraction(o, e.amount, pow(10, 0, 5, 0, 0, UP)), m, pow(10, 0, 6, 0, 0, UP)) | |
24 | 24 | let q = fraction(fraction((o * 2), e.amount, pow(10, 0, 5, 0, 0, UP)), m, pow(10, 0, 6, 0, 0, UP)) | |
25 | 25 | let r = fraction(fraction(((o * 25) / 10), e.amount, pow(10, 0, 5, 0, 0, UP)), m, pow(10, 0, 6, 0, 0, UP)) | |
26 | + | let s = { | |
27 | + | let t = getInteger(this, ("Deposit_Amount_Of_" + f)) | |
28 | + | if ($isInstanceOf(t, "Int")) | |
29 | + | then { | |
30 | + | let u = t | |
31 | + | u | |
32 | + | } | |
33 | + | else 0 | |
34 | + | } | |
35 | + | let v = (s + e.amount) | |
26 | 36 | if ((e.assetId != a)) | |
27 | 37 | then throw((("Incorrect asset attached, please attach " + toBase58String(a)) + " only.")) | |
28 | 38 | else if ((6 >= d)) | |
29 | 39 | then throw("Choose Locking days in between 7 to 90.") | |
30 | 40 | else if ((d > g)) | |
31 | 41 | then throw("You Entered days greater than 90 please Enter no. of days in between 7 to 90.") | |
32 | 42 | else if ((1000000000 > e.amount)) | |
33 | 43 | then throw("Please Attach minimum 10,000 MDC To Achieve SILVER TIER.") | |
34 | 44 | else if ((i >= e.amount)) | |
35 | - | then [StringEntry(("Tier_Of_" + f), "SILVER"), IntegerEntry(("Deposit_height_Of_" + f), height), IntegerEntry(("Deposit_Amount_Of_" + f), | |
45 | + | then [StringEntry(("Tier_Of_" + f), "SILVER"), IntegerEntry(("Deposit_height_Of_" + f), height), IntegerEntry(("Deposit_Amount_Of_" + f), v), IntegerEntry(("Total_Lock_Blocks_Of_" + f), n), StringEntry(("Lock_Status_Of_" + f), h), IntegerEntry(("Rewards_Of_" + f), p)] | |
36 | 46 | else if ((j >= e.amount)) | |
37 | - | then [StringEntry(("Tier_Of_" + f), "GOLD"), IntegerEntry(("Deposit_height_Of_" + f), height), IntegerEntry(("Deposit_Amount_Of_" + f), | |
47 | + | then [StringEntry(("Tier_Of_" + f), "GOLD"), IntegerEntry(("Deposit_height_Of_" + f), height), IntegerEntry(("Deposit_Amount_Of_" + f), v), IntegerEntry(("Total_Lock_Blocks_Of_" + f), n), StringEntry(("Lock_Status_Of_" + f), h), IntegerEntry(("Rewards_Of_" + f), q)] | |
38 | 48 | else if ((e.amount >= k)) | |
39 | - | then [StringEntry(("Tier_Of_" + f), "DIAMOND"), IntegerEntry(("Deposit_height_Of_" + f), height), IntegerEntry(("Deposit_Amount_Of_" + f), e.amount), IntegerEntry(("Total_Lock_Blocks_Of_" + f), n), StringEntry(("Lock_Status_Of_" + f), h), IntegerEntry(("Rewards_Of_" + f), r)] | |
40 | - | else [{ | |
41 | - | let s = 20 | |
42 | - | IntegerEntry(("Deposit_height_Of_" + f), height) | |
43 | - | }, IntegerEntry(("Deposit_Amount_Of_" + f), e.amount), IntegerEntry(("Total_Lock_Blocks_Of_" + f), n), StringEntry(("Lock_Status_Of_" + f), h)] | |
49 | + | then [StringEntry(("Tier_Of_" + f), "DIAMOND"), IntegerEntry(("Deposit_height_Of_" + f), height), IntegerEntry(("Deposit_Amount_Of_" + f), v), IntegerEntry(("Total_Lock_Blocks_Of_" + f), n), StringEntry(("Lock_Status_Of_" + f), h), IntegerEntry(("Rewards_Of_" + f), r)] | |
50 | + | else [StringEntry(("Tier_Of_" + f), "DIAMOND"), IntegerEntry(("Deposit_height_Of_" + f), height), IntegerEntry(("Deposit_Amount_Of_" + f), v), IntegerEntry(("Total_Lock_Blocks_Of_" + f), n), StringEntry(("Lock_Status_Of_" + f), h), IntegerEntry(("Rewards_Of_" + f), r)] | |
44 | 51 | } | |
45 | 52 | ||
46 | 53 | ||
47 | 54 | ||
48 | 55 | @Callable(c) | |
49 | 56 | func Withdraw () = { | |
50 | 57 | let f = toBase58String(c.caller.bytes) | |
51 | - | let | |
58 | + | let w = getIntegerValue(this, ("Deposit_Amount_Of_" + f)) | |
52 | 59 | if ((getIntegerValue(this, ("Total_Lock_Blocks_Of_" + f)) > height)) | |
53 | 60 | then throw(((("Your " + toString(getIntegerValue(this, ("Deposit_Amount_Of_" + f)))) + " MDC are Under Lock. Consider last 5 digits as value after Decimals. Token will be Unlocked after ") + toString((getIntegerValue(this, ("Total_Lock_Blocks_Of_" + f)) - height)))) | |
54 | - | else if (( | |
61 | + | else if ((w == 0)) | |
55 | 62 | then throw("You Have Already Withdraw your Amount.") | |
56 | 63 | else [ScriptTransfer(c.caller, getIntegerValue(this, ("Deposit_Amount_Of_" + f)), a), ScriptTransfer(c.caller, getIntegerValue(this, ("Rewards_Of_" + f)), b), IntegerEntry(("Deposit_height_Of_" + f), 0), IntegerEntry(("Deposit_Amount_Of_" + f), 0), IntegerEntry(("Total_Lock_Blocks_Of_" + f), 0), StringEntry(("Lock_Status_Of_" + f), "UNLOCK"), IntegerEntry(("Rewards_Of_" + f), 0)] | |
57 | 64 | } | |
58 | 65 | ||
59 | 66 | ||
60 | - | @Verifier( | |
61 | - | func | |
62 | - | let | |
63 | - | sigVerify( | |
67 | + | @Verifier(x) | |
68 | + | func y () = { | |
69 | + | let t = x | |
70 | + | sigVerify(x.bodyBytes, x.proofs[0], x.senderPublicKey) | |
64 | 71 | } | |
65 | 72 |
github/deemru/w8io/169f3d6 47.12 ms ◑