tx · AX5kXmqZ93zb7GiVCSLNtpZosLqJjdWNB9gS7u2t2M7H 3N54eKW5ZucDaRaGVUfzX8xRXv6Ve8M71tM: -0.01400000 Waves 2020.06.23 12:15 [1056092] smart account 3N54eKW5ZucDaRaGVUfzX8xRXv6Ve8M71tM > SELF 0.00000000 Waves
{ "type": 13, "id": "AX5kXmqZ93zb7GiVCSLNtpZosLqJjdWNB9gS7u2t2M7H", "fee": 1400000, "feeAssetId": null, "timestamp": 1592903731867, "version": 1, "sender": "3N54eKW5ZucDaRaGVUfzX8xRXv6Ve8M71tM", "senderPublicKey": "FmnQ1LwTnauTS2BSrZivE1nSF1A9MY9hyYB72pyh5hw9", "proofs": [ "2scqAdLv1c4F3tNEBU4TnCYfY3zRWfkNVX3pubgJxKuRzZv8MUXnrUqKtDnM91hHccomiNHSRJTRzdjeU8Wr75r" ], "script": "base64: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", "chainId": 84, "height": 1056092, "spentComplexity": 0 } View: original | compacted Prev: 5Fquvgx8weY4n2UPtPBLWwkXcSTjf7sYAsBx5aza497h Next: FWDUvLDcFYhTZ3hJ16S882KTiRmWFPYaqnhxLLVfEbqw Diff:
Old | New | Differences | |
---|---|---|---|
7 | 7 | then throw("decode u8 error, decoding is finish") | |
8 | 8 | else { | |
9 | 9 | let x0 = take(drop(data, offset), 1) | |
10 | - | let x1 = toInt(x0, 0) | |
11 | - | [toInt((base58'1111111' + x0), 0), (offset + 1)] | |
10 | + | let x1 = toInt((base58'1111111' + x0), 0) | |
11 | + | if ((128 > x1)) | |
12 | + | then [x1, (offset + 1)] | |
13 | + | else [toInt((base58'Ahg1opVcGW' + x0), 0), (offset + 1)] | |
12 | 14 | } | |
13 | 15 | ||
14 | 16 | ||
18 | 20 | then throw("decode u16 error, decoding is finish") | |
19 | 21 | else { | |
20 | 22 | let x0 = drop(data, offset) | |
21 | - | let x1 = take(x0, 1) | |
22 | - | let x2 = take(drop(x0, 1), 1) | |
23 | - | [toInt(((base58'111111' + x2) + x1), 0), (offset + 2)] | |
23 | + | let x1 = take(x0, 2) | |
24 | + | [toInt((base58'111111' + x1), 0), (offset + 2)] | |
24 | 25 | } | |
25 | 26 | ||
26 | 27 | ||
30 | 31 | then throw("decode u32 error, decoding is finish") | |
31 | 32 | else { | |
32 | 33 | let x0 = drop(data, offset) | |
33 | - | let x1 = take(x0, 1) | |
34 | - | let x2 = take(drop(x0, 1), 1) | |
35 | - | let x3 = take(drop(x0, 2), 1) | |
36 | - | let x4 = take(drop(x0, 3), 1) | |
37 | - | [toInt(((((base58'1111' + x4) + x3) + x2) + x1), 0), (offset + 4)] | |
34 | + | let x1 = take(x0, 4) | |
35 | + | [toInt((base58'1111' + x1), 0), (offset + 4)] | |
38 | 36 | } | |
39 | 37 | ||
40 | 38 | ||
44 | 42 | then throw("decode u32 error, decoding is finish") | |
45 | 43 | else { | |
46 | 44 | let x0 = drop(data, offset) | |
47 | - | let x1 = take(x0, 1) | |
48 | - | let x2 = take(drop(x0, 1), 1) | |
49 | - | let x3 = take(drop(x0, 2), 1) | |
50 | - | let x4 = take(drop(x0, 3), 1) | |
51 | - | let x5 = take(drop(x0, 4), 1) | |
52 | - | let x6 = take(drop(x0, 5), 1) | |
53 | - | let x7 = take(drop(x0, 6), 1) | |
54 | - | let x8 = take(drop(x0, 7), 1) | |
55 | - | [toInt((((((((x8 + x7) + x6) + x5) + x4) + x3) + x2) + x1), 0), (offset + 8)] | |
45 | + | let x1 = take(x0, 8) | |
46 | + | [toInt(x1, 0), (offset + 8)] | |
56 | 47 | } | |
57 | 48 | ||
58 | 49 |
Old | New | Differences | |
---|---|---|---|
1 | 1 | {-# STDLIB_VERSION 3 #-} | |
2 | 2 | {-# SCRIPT_TYPE ACCOUNT #-} | |
3 | 3 | {-# CONTENT_TYPE DAPP #-} | |
4 | 4 | func decodeInt8 (data,offset) = if ((1 > size(data))) | |
5 | 5 | then throw("decode u8 error, data must be at least 1 byte") | |
6 | 6 | else if ((offset > size(data))) | |
7 | 7 | then throw("decode u8 error, decoding is finish") | |
8 | 8 | else { | |
9 | 9 | let x0 = take(drop(data, offset), 1) | |
10 | - | let x1 = toInt(x0, 0) | |
11 | - | [toInt((base58'1111111' + x0), 0), (offset + 1)] | |
10 | + | let x1 = toInt((base58'1111111' + x0), 0) | |
11 | + | if ((128 > x1)) | |
12 | + | then [x1, (offset + 1)] | |
13 | + | else [toInt((base58'Ahg1opVcGW' + x0), 0), (offset + 1)] | |
12 | 14 | } | |
13 | 15 | ||
14 | 16 | ||
15 | 17 | func decodeInt16 (data,offset) = if ((2 > size(data))) | |
16 | 18 | then throw("decode u16 error, data must be at least 2 bytes") | |
17 | 19 | else if ((offset > size(data))) | |
18 | 20 | then throw("decode u16 error, decoding is finish") | |
19 | 21 | else { | |
20 | 22 | let x0 = drop(data, offset) | |
21 | - | let x1 = take(x0, 1) | |
22 | - | let x2 = take(drop(x0, 1), 1) | |
23 | - | [toInt(((base58'111111' + x2) + x1), 0), (offset + 2)] | |
23 | + | let x1 = take(x0, 2) | |
24 | + | [toInt((base58'111111' + x1), 0), (offset + 2)] | |
24 | 25 | } | |
25 | 26 | ||
26 | 27 | ||
27 | 28 | func decodeInt32 (data,offset) = if ((4 > size(data))) | |
28 | 29 | then throw("decode u32 error, data must be at least 4 bytes") | |
29 | 30 | else if ((offset > size(data))) | |
30 | 31 | then throw("decode u32 error, decoding is finish") | |
31 | 32 | else { | |
32 | 33 | let x0 = drop(data, offset) | |
33 | - | let x1 = take(x0, 1) | |
34 | - | let x2 = take(drop(x0, 1), 1) | |
35 | - | let x3 = take(drop(x0, 2), 1) | |
36 | - | let x4 = take(drop(x0, 3), 1) | |
37 | - | [toInt(((((base58'1111' + x4) + x3) + x2) + x1), 0), (offset + 4)] | |
34 | + | let x1 = take(x0, 4) | |
35 | + | [toInt((base58'1111' + x1), 0), (offset + 4)] | |
38 | 36 | } | |
39 | 37 | ||
40 | 38 | ||
41 | 39 | func decodeInt64 (data,offset) = if ((8 > size(data))) | |
42 | 40 | then throw("decode u32 error, data must be at least 8 bytes") | |
43 | 41 | else if ((offset > size(data))) | |
44 | 42 | then throw("decode u32 error, decoding is finish") | |
45 | 43 | else { | |
46 | 44 | let x0 = drop(data, offset) | |
47 | - | let x1 = take(x0, 1) | |
48 | - | let x2 = take(drop(x0, 1), 1) | |
49 | - | let x3 = take(drop(x0, 2), 1) | |
50 | - | let x4 = take(drop(x0, 3), 1) | |
51 | - | let x5 = take(drop(x0, 4), 1) | |
52 | - | let x6 = take(drop(x0, 5), 1) | |
53 | - | let x7 = take(drop(x0, 6), 1) | |
54 | - | let x8 = take(drop(x0, 7), 1) | |
55 | - | [toInt((((((((x8 + x7) + x6) + x5) + x4) + x3) + x2) + x1), 0), (offset + 8)] | |
45 | + | let x1 = take(x0, 8) | |
46 | + | [toInt(x1, 0), (offset + 8)] | |
56 | 47 | } | |
57 | 48 | ||
58 | 49 | ||
59 | 50 | func decodeBool (data,offset) = { | |
60 | 51 | let decoded1 = decodeInt8(data, offset) | |
61 | 52 | [DataEntry("bool", (decoded1[0] != 0)), DataEntry("int", decoded1[1])] | |
62 | 53 | } | |
63 | 54 | ||
64 | 55 | ||
65 | 56 | func decodeBytes32 (data,offset) = if ((32 > size(data))) | |
66 | 57 | then throw("decode bytes32 error, data must be at least 32 bytes") | |
67 | 58 | else [DataEntry("byte_vector", take(drop(data, offset), 32)), DataEntry("int", (offset + 32))] | |
68 | 59 | ||
69 | 60 | ||
70 | 61 | func decodeBytes64 (data,offset) = if ((64 > size(data))) | |
71 | 62 | then throw("decode bytes64 error, data must be at least 64 bytes") | |
72 | 63 | else [DataEntry("byte_vector", take(drop(data, offset), 64)), DataEntry("int", (offset + 64))] | |
73 | 64 | ||
74 | 65 | ||
75 | 66 | func decodeBytes65 (data,offset) = if ((65 > size(data))) | |
76 | 67 | then throw("decode bytes65 error, data must be at least 65 bytes") | |
77 | 68 | else [DataEntry("byte_vector", take(drop(data, offset), 65)), DataEntry("int", (offset + 65))] | |
78 | 69 | ||
79 | 70 | ||
80 | 71 | func decodeBytes (data,offset) = { | |
81 | 72 | let decoded1 = decodeInt32(data, offset) | |
82 | 73 | let bytesSize = decoded1[0] | |
83 | 74 | let nextOffset = decoded1[1] | |
84 | 75 | [DataEntry("byte_vector", take(drop(data, nextOffset), bytesSize)), DataEntry("int", (nextOffset + bytesSize))] | |
85 | 76 | } | |
86 | 77 | ||
87 | 78 | ||
88 | 79 | func decodeString (data,offset) = { | |
89 | 80 | let decoded1 = decodeInt32(data, offset) | |
90 | 81 | let bytesSize = decoded1[0] | |
91 | 82 | let nextOffset = decoded1[1] | |
92 | 83 | [DataEntry("string", toUtf8String(take(drop(data, nextOffset), bytesSize))), DataEntry("int", (nextOffset + bytesSize))] | |
93 | 84 | } | |
94 | 85 | ||
95 | 86 | ||
96 | 87 | func getAsBool (tuple) = match tuple[0].value { | |
97 | 88 | case b: Boolean => | |
98 | 89 | b | |
99 | 90 | case _ => | |
100 | 91 | throw("not a Boolean") | |
101 | 92 | } | |
102 | 93 | ||
103 | 94 | ||
104 | 95 | func getAsByteVector (tuple) = match tuple[0].value { | |
105 | 96 | case bv: ByteVector => | |
106 | 97 | bv | |
107 | 98 | case _ => | |
108 | 99 | throw("not a ByteVector") | |
109 | 100 | } | |
110 | 101 | ||
111 | 102 | ||
112 | 103 | func getAsString (tuple) = match tuple[0].value { | |
113 | 104 | case s: String => | |
114 | 105 | s | |
115 | 106 | case _ => | |
116 | 107 | throw("not a String") | |
117 | 108 | } | |
118 | 109 | ||
119 | 110 | ||
120 | 111 | func getOffset (tuple) = match tuple[1].value { | |
121 | 112 | case i: Int => | |
122 | 113 | i | |
123 | 114 | case _ => | |
124 | 115 | throw("not a Int") | |
125 | 116 | } | |
126 | 117 | ||
127 | 118 | ||
128 | 119 | @Callable(contextObj) | |
129 | 120 | func testSaveString (data) = WriteSet([DataEntry("testSaveString", data)]) | |
130 | 121 | ||
131 | 122 | ||
132 | 123 | ||
133 | 124 | @Callable(contextObj) | |
134 | 125 | func relayAndVerify (data) = { | |
135 | 126 | let req1 = decodeInt64(data, 0) | |
136 | 127 | WriteSet([DataEntry(("temp" + "/clientId"), req1[0])]) | |
137 | 128 | } | |
138 | 129 | ||
139 | 130 |
github/deemru/w8io/169f3d6 48.23 ms ◑![]()