tx · 2Jf167MWoL5wSoCRXXd1qGa3iPygTgnxG3Av4B552RV5 3P89GyrcNa5dQkYSmesYa6KyeJoCuuVdCz9: -0.01400000 Waves 2019.11.26 13:34 [1812472] smart account 3P89GyrcNa5dQkYSmesYa6KyeJoCuuVdCz9 > SELF 0.00000000 Waves
{ "type": 13, "id": "2Jf167MWoL5wSoCRXXd1qGa3iPygTgnxG3Av4B552RV5", "fee": 1400000, "feeAssetId": null, "timestamp": 1574764424978, "version": 1, "sender": "3P89GyrcNa5dQkYSmesYa6KyeJoCuuVdCz9", "senderPublicKey": "6ZJKMPB6S6K9MF8YNg9ppUmWavmC3KCebp1JeaEBdHu1", "proofs": [ "3Bfvx1BqEpWgdrcyAsisK6hScAiCYo6RXCvZ8WPe7PuJAEYzEqcyMDfc7UJin98Wex5QZQYuQuzg1b39bA4eDaK5", "5kpjHC3Hsuzz5Z8AxD9U68qEgxXJak3xZ38BBzXk4VQZouW9WgbUz2VbV99AnXDGBwDMyUKdQG6jeFQ96MYVCfFq" ], "script": "base64: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", "chainId": 87, "height": 1812472, "spentComplexity": 0 } View: original | compacted Prev: C9U994dGo3BTw3JgoxGjeF1Bujut5J7jjHwfh91RjcLb Next: 92f3RL7YWRR2hsTMxZkfVKWfdYK6NCZnxCUjGJVZbwR6 Diff:
Old | New | Differences | |
---|---|---|---|
1 | 1 | {-# STDLIB_VERSION 3 #-} | |
2 | 2 | {-# CONTENT_TYPE EXPRESSION #-} | |
3 | - | let payoutAlias = Alias("pirate-btc-payout") | |
4 | - | let redeemAlias = Alias("pirate-gold-redeem") | |
5 | - | let scriptExpired = (value(lastBlock.timestamp) >= (1609459200 * 1000)) | |
3 | + | let VERSION = "2019-11-26" | |
4 | + | let payoutAddress = "3P8uxNCMRWjj2DUWAXaRXF4Q4thX9jQxXcs" | |
5 | + | let redeemAddress = "3PAkNyfHB5NV9jXioZ1DG3mynhUZyUzHWML" | |
6 | + | let lockExpired = (value(lastBlock.timestamp) >= (1609459200 * 1000)) | |
6 | 7 | let priceAssetId = base58'8LQW8f7P5d5PZM7GtZEBgaqRPGSzS3DfPuiXrURJ4AJS' | |
7 | 8 | let amountAssetId = base58'EYz8Zvs62D4d7F5ZgXHCWuzuFaZg63FYnfVQrTWQoLSK' | |
8 | 9 | let matcherFeeId = base58'8LQW8f7P5d5PZM7GtZEBgaqRPGSzS3DfPuiXrURJ4AJS' | |
22 | 23 | else sigVerify(tx.bodyBytes, sig, pub) | |
23 | 24 | ||
24 | 25 | (cnt + (if ({ | |
25 | - | let $ | |
26 | - | let $ | |
27 | - | let $ | |
28 | - | if (($ | |
29 | - | then $ | |
26 | + | let $list18401882 = investorPubKeys | |
27 | + | let $size18401882 = size($list18401882) | |
28 | + | let $acc018401882 = false | |
29 | + | if (($size18401882 == 0)) | |
30 | + | then $acc018401882 | |
30 | 31 | else { | |
31 | - | let $ | |
32 | - | if (($ | |
33 | - | then $ | |
32 | + | let $acc118401882 = isSigned($acc018401882, $list18401882[0]) | |
33 | + | if (($size18401882 == 1)) | |
34 | + | then $acc118401882 | |
34 | 35 | else { | |
35 | - | let $ | |
36 | - | if (($ | |
37 | - | then $ | |
36 | + | let $acc218401882 = isSigned($acc118401882, $list18401882[1]) | |
37 | + | if (($size18401882 == 2)) | |
38 | + | then $acc218401882 | |
38 | 39 | else { | |
39 | - | let $ | |
40 | - | if (($ | |
41 | - | then $ | |
40 | + | let $acc318401882 = isSigned($acc218401882, $list18401882[2]) | |
41 | + | if (($size18401882 == 3)) | |
42 | + | then $acc318401882 | |
42 | 43 | else { | |
43 | - | let $ | |
44 | - | if (($ | |
45 | - | then $ | |
44 | + | let $acc418401882 = isSigned($acc318401882, $list18401882[3]) | |
45 | + | if (($size18401882 == 4)) | |
46 | + | then $acc418401882 | |
46 | 47 | else { | |
47 | - | let $ | |
48 | - | if (($ | |
49 | - | then $ | |
48 | + | let $acc518401882 = isSigned($acc418401882, $list18401882[4]) | |
49 | + | if (($size18401882 == 5)) | |
50 | + | then $acc518401882 | |
50 | 51 | else { | |
51 | - | let $ | |
52 | - | if (($ | |
53 | - | then $ | |
52 | + | let $acc618401882 = isSigned($acc518401882, $list18401882[5]) | |
53 | + | if (($size18401882 == 6)) | |
54 | + | then $acc618401882 | |
54 | 55 | else { | |
55 | - | let $ | |
56 | - | if (($ | |
57 | - | then $ | |
56 | + | let $acc718401882 = isSigned($acc618401882, $list18401882[6]) | |
57 | + | if (($size18401882 == 7)) | |
58 | + | then $acc718401882 | |
58 | 59 | else { | |
59 | - | let $ | |
60 | - | if (($ | |
61 | - | then $ | |
60 | + | let $acc818401882 = isSigned($acc718401882, $list18401882[7]) | |
61 | + | if (($size18401882 == 8)) | |
62 | + | then $acc818401882 | |
62 | 63 | else { | |
63 | - | let $ | |
64 | - | if (($ | |
65 | - | then $ | |
64 | + | let $acc918401882 = isSigned($acc818401882, $list18401882[8]) | |
65 | + | if (($size18401882 == 9)) | |
66 | + | then $acc918401882 | |
66 | 67 | else { | |
67 | - | let $ | |
68 | - | if (($ | |
69 | - | then $ | |
68 | + | let $acc1018401882 = isSigned($acc918401882, $list18401882[9]) | |
69 | + | if (($size18401882 == 10)) | |
70 | + | then $acc1018401882 | |
70 | 71 | else { | |
71 | - | let $ | |
72 | + | let $acc1118401882 = isSigned($acc1018401882, $list18401882[10]) | |
72 | 73 | throw("List size exceed 10") | |
73 | 74 | } | |
74 | 75 | } | |
122 | 123 | case l: LeaseCancelTransaction|LeaseTransaction => | |
123 | 124 | sigVerify(l.bodyBytes, l.proofs[0], traderPubKey) | |
124 | 125 | case t: TransferTransaction => | |
125 | - | let rightTransfer = if (if ((t. | |
126 | - | then (t. | |
126 | + | let rightTransfer = if (if ((t.assetId == payoutAssetId)) | |
127 | + | then (addressFromRecipient(t.recipient) == addressFromString(payoutAddress)) | |
127 | 128 | else false) | |
128 | 129 | then true | |
129 | - | else if ((t. | |
130 | - | then | |
131 | - | | |
132 | - | | |
130 | + | else if (if ((t.assetId == priceAssetId)) | |
131 | + | then true | |
132 | + | else (t.assetId == amountAssetId)) | |
133 | + | then (addressFromRecipient(t.recipient) == addressFromString(redeemAddress)) | |
133 | 134 | else false | |
134 | 135 | if (rightTransfer) | |
135 | 136 | then if (sigVerify(t.bodyBytes, t.proofs[1], managerPubKey)) | |
136 | 137 | then true | |
137 | - | else | |
138 | + | else lockExpired | |
138 | 139 | else false | |
139 | 140 | case s: SetScriptTransaction => | |
140 | 141 | let rightSetScript = ({ | |
141 | - | let $ | |
142 | - | let $ | |
143 | - | let $ | |
144 | - | if (($ | |
145 | - | then $ | |
142 | + | let $list34863520 = s.proofs | |
143 | + | let $size34863520 = size($list34863520) | |
144 | + | let $acc034863520 = 0 | |
145 | + | if (($size34863520 == 0)) | |
146 | + | then $acc034863520 | |
146 | 147 | else { | |
147 | - | let $ | |
148 | - | if (($ | |
149 | - | then $ | |
148 | + | let $acc134863520 = checkProofs($acc034863520, $list34863520[0]) | |
149 | + | if (($size34863520 == 1)) | |
150 | + | then $acc134863520 | |
150 | 151 | else { | |
151 | - | let $ | |
152 | - | if (($ | |
153 | - | then $ | |
152 | + | let $acc234863520 = checkProofs($acc134863520, $list34863520[1]) | |
153 | + | if (($size34863520 == 2)) | |
154 | + | then $acc234863520 | |
154 | 155 | else { | |
155 | - | let $ | |
156 | - | if (($ | |
157 | - | then $ | |
156 | + | let $acc334863520 = checkProofs($acc234863520, $list34863520[2]) | |
157 | + | if (($size34863520 == 3)) | |
158 | + | then $acc334863520 | |
158 | 159 | else { | |
159 | - | let $ | |
160 | - | if (($ | |
161 | - | then $ | |
160 | + | let $acc434863520 = checkProofs($acc334863520, $list34863520[3]) | |
161 | + | if (($size34863520 == 4)) | |
162 | + | then $acc434863520 | |
162 | 163 | else { | |
163 | - | let $ | |
164 | - | if (($ | |
165 | - | then $ | |
164 | + | let $acc534863520 = checkProofs($acc434863520, $list34863520[4]) | |
165 | + | if (($size34863520 == 5)) | |
166 | + | then $acc534863520 | |
166 | 167 | else { | |
167 | - | let $ | |
168 | - | if (($ | |
169 | - | then $ | |
168 | + | let $acc634863520 = checkProofs($acc534863520, $list34863520[5]) | |
169 | + | if (($size34863520 == 6)) | |
170 | + | then $acc634863520 | |
170 | 171 | else { | |
171 | - | let $ | |
172 | - | if (($ | |
173 | - | then $ | |
172 | + | let $acc734863520 = checkProofs($acc634863520, $list34863520[6]) | |
173 | + | if (($size34863520 == 7)) | |
174 | + | then $acc734863520 | |
174 | 175 | else { | |
175 | - | let $ | |
176 | - | if (($ | |
177 | - | then $ | |
176 | + | let $acc834863520 = checkProofs($acc734863520, $list34863520[7]) | |
177 | + | if (($size34863520 == 8)) | |
178 | + | then $acc834863520 | |
178 | 179 | else { | |
179 | - | let $ | |
180 | - | if (($ | |
181 | - | then $ | |
180 | + | let $acc934863520 = checkProofs($acc834863520, $list34863520[8]) | |
181 | + | if (($size34863520 == 9)) | |
182 | + | then $acc934863520 | |
182 | 183 | else { | |
183 | - | let $ | |
184 | - | if (($ | |
185 | - | then $ | |
184 | + | let $acc1034863520 = checkProofs($acc934863520, $list34863520[9]) | |
185 | + | if (($size34863520 == 10)) | |
186 | + | then $acc1034863520 | |
186 | 187 | else { | |
187 | - | let $ | |
188 | - | if (($ | |
189 | - | then $ | |
188 | + | let $acc1134863520 = checkProofs($acc1034863520, $list34863520[10]) | |
189 | + | if (($size34863520 == 11)) | |
190 | + | then $acc1134863520 | |
190 | 191 | else { | |
191 | - | let $ | |
192 | + | let $acc1234863520 = checkProofs($acc1134863520, $list34863520[11]) | |
192 | 193 | throw("List size exceed 11") | |
193 | 194 | } | |
194 | 195 | } |
Old | New | Differences | |
---|---|---|---|
1 | 1 | {-# STDLIB_VERSION 3 #-} | |
2 | 2 | {-# CONTENT_TYPE EXPRESSION #-} | |
3 | - | let payoutAlias = Alias("pirate-btc-payout") | |
4 | - | let redeemAlias = Alias("pirate-gold-redeem") | |
5 | - | let scriptExpired = (value(lastBlock.timestamp) >= (1609459200 * 1000)) | |
3 | + | let VERSION = "2019-11-26" | |
4 | + | let payoutAddress = "3P8uxNCMRWjj2DUWAXaRXF4Q4thX9jQxXcs" | |
5 | + | let redeemAddress = "3PAkNyfHB5NV9jXioZ1DG3mynhUZyUzHWML" | |
6 | + | let lockExpired = (value(lastBlock.timestamp) >= (1609459200 * 1000)) | |
6 | 7 | let priceAssetId = base58'8LQW8f7P5d5PZM7GtZEBgaqRPGSzS3DfPuiXrURJ4AJS' | |
7 | 8 | let amountAssetId = base58'EYz8Zvs62D4d7F5ZgXHCWuzuFaZg63FYnfVQrTWQoLSK' | |
8 | 9 | let matcherFeeId = base58'8LQW8f7P5d5PZM7GtZEBgaqRPGSzS3DfPuiXrURJ4AJS' | |
9 | 10 | let payoutAssetId = base58'8LQW8f7P5d5PZM7GtZEBgaqRPGSzS3DfPuiXrURJ4AJS' | |
10 | 11 | let traderPubKey = extract(tx.senderPublicKey) | |
11 | 12 | let managerPubKey = base58'2jtARCoafX5CBQ9jXV265Fng8t58hMmmdpWQdgMzk1z9' | |
12 | 13 | let investorPubKeys = [base58'66BGZcJJ9yAWcHKZZeiuA71wAvC5GWTmdQWArjt1g6jC'] | |
13 | 14 | func isFiatAsset (assetId) = if (if ((assetId == base58'Gtb1WRznfchDnTh37ezoDTJ4wcoKaRsKqKjJjy7nm2zU')) | |
14 | 15 | then true | |
15 | 16 | else (assetId == base58'Ft8X1v1LTa1ABafufpaCWyVj8KkaxUWE6xBhW6sNFJck')) | |
16 | 17 | then true | |
17 | 18 | else (assetId == base58'2mX5DzVKWrAJw8iwdJnV2qtoeVG9h5nTDpTqC1wb1WEN') | |
18 | 19 | ||
19 | 20 | func checkProofs (cnt,sig) = { | |
20 | 21 | func isSigned (chk,pub) = if (chk) | |
21 | 22 | then true | |
22 | 23 | else sigVerify(tx.bodyBytes, sig, pub) | |
23 | 24 | ||
24 | 25 | (cnt + (if ({ | |
25 | - | let $ | |
26 | - | let $ | |
27 | - | let $ | |
28 | - | if (($ | |
29 | - | then $ | |
26 | + | let $list18401882 = investorPubKeys | |
27 | + | let $size18401882 = size($list18401882) | |
28 | + | let $acc018401882 = false | |
29 | + | if (($size18401882 == 0)) | |
30 | + | then $acc018401882 | |
30 | 31 | else { | |
31 | - | let $ | |
32 | - | if (($ | |
33 | - | then $ | |
32 | + | let $acc118401882 = isSigned($acc018401882, $list18401882[0]) | |
33 | + | if (($size18401882 == 1)) | |
34 | + | then $acc118401882 | |
34 | 35 | else { | |
35 | - | let $ | |
36 | - | if (($ | |
37 | - | then $ | |
36 | + | let $acc218401882 = isSigned($acc118401882, $list18401882[1]) | |
37 | + | if (($size18401882 == 2)) | |
38 | + | then $acc218401882 | |
38 | 39 | else { | |
39 | - | let $ | |
40 | - | if (($ | |
41 | - | then $ | |
40 | + | let $acc318401882 = isSigned($acc218401882, $list18401882[2]) | |
41 | + | if (($size18401882 == 3)) | |
42 | + | then $acc318401882 | |
42 | 43 | else { | |
43 | - | let $ | |
44 | - | if (($ | |
45 | - | then $ | |
44 | + | let $acc418401882 = isSigned($acc318401882, $list18401882[3]) | |
45 | + | if (($size18401882 == 4)) | |
46 | + | then $acc418401882 | |
46 | 47 | else { | |
47 | - | let $ | |
48 | - | if (($ | |
49 | - | then $ | |
48 | + | let $acc518401882 = isSigned($acc418401882, $list18401882[4]) | |
49 | + | if (($size18401882 == 5)) | |
50 | + | then $acc518401882 | |
50 | 51 | else { | |
51 | - | let $ | |
52 | - | if (($ | |
53 | - | then $ | |
52 | + | let $acc618401882 = isSigned($acc518401882, $list18401882[5]) | |
53 | + | if (($size18401882 == 6)) | |
54 | + | then $acc618401882 | |
54 | 55 | else { | |
55 | - | let $ | |
56 | - | if (($ | |
57 | - | then $ | |
56 | + | let $acc718401882 = isSigned($acc618401882, $list18401882[6]) | |
57 | + | if (($size18401882 == 7)) | |
58 | + | then $acc718401882 | |
58 | 59 | else { | |
59 | - | let $ | |
60 | - | if (($ | |
61 | - | then $ | |
60 | + | let $acc818401882 = isSigned($acc718401882, $list18401882[7]) | |
61 | + | if (($size18401882 == 8)) | |
62 | + | then $acc818401882 | |
62 | 63 | else { | |
63 | - | let $ | |
64 | - | if (($ | |
65 | - | then $ | |
64 | + | let $acc918401882 = isSigned($acc818401882, $list18401882[8]) | |
65 | + | if (($size18401882 == 9)) | |
66 | + | then $acc918401882 | |
66 | 67 | else { | |
67 | - | let $ | |
68 | - | if (($ | |
69 | - | then $ | |
68 | + | let $acc1018401882 = isSigned($acc918401882, $list18401882[9]) | |
69 | + | if (($size18401882 == 10)) | |
70 | + | then $acc1018401882 | |
70 | 71 | else { | |
71 | - | let $ | |
72 | + | let $acc1118401882 = isSigned($acc1018401882, $list18401882[10]) | |
72 | 73 | throw("List size exceed 10") | |
73 | 74 | } | |
74 | 75 | } | |
75 | 76 | } | |
76 | 77 | } | |
77 | 78 | } | |
78 | 79 | } | |
79 | 80 | } | |
80 | 81 | } | |
81 | 82 | } | |
82 | 83 | } | |
83 | 84 | } | |
84 | 85 | }) | |
85 | 86 | then 1 | |
86 | 87 | else 0)) | |
87 | 88 | } | |
88 | 89 | ||
89 | 90 | match tx { | |
90 | 91 | case o: Order => | |
91 | 92 | let rightOrder = if (if (if ((o.matcherFeeAssetId == matcherFeeId)) | |
92 | 93 | then (o.assetPair.priceAsset == priceAssetId) | |
93 | 94 | else false) | |
94 | 95 | then (o.assetPair.amountAsset == amountAssetId) | |
95 | 96 | else false) | |
96 | 97 | then true | |
97 | 98 | else if (if (if ((o.orderType == Sell)) | |
98 | 99 | then !(isDefined(o.matcherFeeAssetId)) | |
99 | 100 | else false) | |
100 | 101 | then if (!(isDefined(o.assetPair.priceAsset))) | |
101 | 102 | then true | |
102 | 103 | else !(isDefined(o.assetPair.amountAsset)) | |
103 | 104 | else false) | |
104 | 105 | then !(isFiatAsset(o.assetPair.priceAsset)) | |
105 | 106 | else false | |
106 | 107 | if (rightOrder) | |
107 | 108 | then sigVerify(o.bodyBytes, o.proofs[0], traderPubKey) | |
108 | 109 | else false | |
109 | 110 | case b: BurnTransaction => | |
110 | 111 | let rightBurn = if (if ((b.assetId != payoutAssetId)) | |
111 | 112 | then (b.assetId != if (isDefined(priceAssetId)) | |
112 | 113 | then priceAssetId | |
113 | 114 | else base58'') | |
114 | 115 | else false) | |
115 | 116 | then (b.assetId != if (isDefined(amountAssetId)) | |
116 | 117 | then amountAssetId | |
117 | 118 | else base58'') | |
118 | 119 | else false | |
119 | 120 | if (rightBurn) | |
120 | 121 | then sigVerify(b.bodyBytes, b.proofs[0], traderPubKey) | |
121 | 122 | else false | |
122 | 123 | case l: LeaseCancelTransaction|LeaseTransaction => | |
123 | 124 | sigVerify(l.bodyBytes, l.proofs[0], traderPubKey) | |
124 | 125 | case t: TransferTransaction => | |
125 | - | let rightTransfer = if (if ((t. | |
126 | - | then (t. | |
126 | + | let rightTransfer = if (if ((t.assetId == payoutAssetId)) | |
127 | + | then (addressFromRecipient(t.recipient) == addressFromString(payoutAddress)) | |
127 | 128 | else false) | |
128 | 129 | then true | |
129 | - | else if ((t. | |
130 | - | then | |
131 | - | | |
132 | - | | |
130 | + | else if (if ((t.assetId == priceAssetId)) | |
131 | + | then true | |
132 | + | else (t.assetId == amountAssetId)) | |
133 | + | then (addressFromRecipient(t.recipient) == addressFromString(redeemAddress)) | |
133 | 134 | else false | |
134 | 135 | if (rightTransfer) | |
135 | 136 | then if (sigVerify(t.bodyBytes, t.proofs[1], managerPubKey)) | |
136 | 137 | then true | |
137 | - | else | |
138 | + | else lockExpired | |
138 | 139 | else false | |
139 | 140 | case s: SetScriptTransaction => | |
140 | 141 | let rightSetScript = ({ | |
141 | - | let $ | |
142 | - | let $ | |
143 | - | let $ | |
144 | - | if (($ | |
145 | - | then $ | |
142 | + | let $list34863520 = s.proofs | |
143 | + | let $size34863520 = size($list34863520) | |
144 | + | let $acc034863520 = 0 | |
145 | + | if (($size34863520 == 0)) | |
146 | + | then $acc034863520 | |
146 | 147 | else { | |
147 | - | let $ | |
148 | - | if (($ | |
149 | - | then $ | |
148 | + | let $acc134863520 = checkProofs($acc034863520, $list34863520[0]) | |
149 | + | if (($size34863520 == 1)) | |
150 | + | then $acc134863520 | |
150 | 151 | else { | |
151 | - | let $ | |
152 | - | if (($ | |
153 | - | then $ | |
152 | + | let $acc234863520 = checkProofs($acc134863520, $list34863520[1]) | |
153 | + | if (($size34863520 == 2)) | |
154 | + | then $acc234863520 | |
154 | 155 | else { | |
155 | - | let $ | |
156 | - | if (($ | |
157 | - | then $ | |
156 | + | let $acc334863520 = checkProofs($acc234863520, $list34863520[2]) | |
157 | + | if (($size34863520 == 3)) | |
158 | + | then $acc334863520 | |
158 | 159 | else { | |
159 | - | let $ | |
160 | - | if (($ | |
161 | - | then $ | |
160 | + | let $acc434863520 = checkProofs($acc334863520, $list34863520[3]) | |
161 | + | if (($size34863520 == 4)) | |
162 | + | then $acc434863520 | |
162 | 163 | else { | |
163 | - | let $ | |
164 | - | if (($ | |
165 | - | then $ | |
164 | + | let $acc534863520 = checkProofs($acc434863520, $list34863520[4]) | |
165 | + | if (($size34863520 == 5)) | |
166 | + | then $acc534863520 | |
166 | 167 | else { | |
167 | - | let $ | |
168 | - | if (($ | |
169 | - | then $ | |
168 | + | let $acc634863520 = checkProofs($acc534863520, $list34863520[5]) | |
169 | + | if (($size34863520 == 6)) | |
170 | + | then $acc634863520 | |
170 | 171 | else { | |
171 | - | let $ | |
172 | - | if (($ | |
173 | - | then $ | |
172 | + | let $acc734863520 = checkProofs($acc634863520, $list34863520[6]) | |
173 | + | if (($size34863520 == 7)) | |
174 | + | then $acc734863520 | |
174 | 175 | else { | |
175 | - | let $ | |
176 | - | if (($ | |
177 | - | then $ | |
176 | + | let $acc834863520 = checkProofs($acc734863520, $list34863520[7]) | |
177 | + | if (($size34863520 == 8)) | |
178 | + | then $acc834863520 | |
178 | 179 | else { | |
179 | - | let $ | |
180 | - | if (($ | |
181 | - | then $ | |
180 | + | let $acc934863520 = checkProofs($acc834863520, $list34863520[8]) | |
181 | + | if (($size34863520 == 9)) | |
182 | + | then $acc934863520 | |
182 | 183 | else { | |
183 | - | let $ | |
184 | - | if (($ | |
185 | - | then $ | |
184 | + | let $acc1034863520 = checkProofs($acc934863520, $list34863520[9]) | |
185 | + | if (($size34863520 == 10)) | |
186 | + | then $acc1034863520 | |
186 | 187 | else { | |
187 | - | let $ | |
188 | - | if (($ | |
189 | - | then $ | |
188 | + | let $acc1134863520 = checkProofs($acc1034863520, $list34863520[10]) | |
189 | + | if (($size34863520 == 11)) | |
190 | + | then $acc1134863520 | |
190 | 191 | else { | |
191 | - | let $ | |
192 | + | let $acc1234863520 = checkProofs($acc1134863520, $list34863520[11]) | |
192 | 193 | throw("List size exceed 11") | |
193 | 194 | } | |
194 | 195 | } | |
195 | 196 | } | |
196 | 197 | } | |
197 | 198 | } | |
198 | 199 | } | |
199 | 200 | } | |
200 | 201 | } | |
201 | 202 | } | |
202 | 203 | } | |
203 | 204 | } | |
204 | 205 | } | |
205 | 206 | } > (size(investorPubKeys) / 2)) | |
206 | 207 | if (rightSetScript) | |
207 | 208 | then sigVerify(s.bodyBytes, s.proofs[0], s.senderPublicKey) | |
208 | 209 | else false | |
209 | 210 | case _ => | |
210 | 211 | false | |
211 | 212 | } |
github/deemru/w8io/3ef1775 165.26 ms ◑