tx · G6kDXSzhdzVxQVAUyETeTirbrBRukQo3DuiwjBKxLJhj

3PCdEW3DErbZtMG3dVeA4h9wjhuGAUDoHus:  -0.01400000 Waves

2020.01.02 21:30 [1867004] smart account 3PCdEW3DErbZtMG3dVeA4h9wjhuGAUDoHus > SELF 0.00000000 Waves

{ "type": 13, "id": "G6kDXSzhdzVxQVAUyETeTirbrBRukQo3DuiwjBKxLJhj", "fee": 1400000, "feeAssetId": null, "timestamp": 1577989743741, "version": 1, "sender": "3PCdEW3DErbZtMG3dVeA4h9wjhuGAUDoHus", "senderPublicKey": "62aiMX87eXVijMwvZWzcYq1CPoKyJXsN6T3noqSFog1M", "proofs": [ "TPaxkFgRL81wFwxLa1MsjQT8ZeyWYoBw2WbBFGXQtPb5U7KwgwHEDdreFi89s2d2zwrLQK8fiMg2Nmdog7kQcXF", "2rXYAXdNBmbGE4GUbGGbBaiKCteMea3gxxwsixET7PMPkAAvSmpChD5jFoQLot2ULs6niN25fXXA7QX4NcGvwXo9" ], "script": "base64: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", "chainId": 87, "height": 1867004, "spentComplexity": 0 } View: original | compacted Prev: BU6WG1idraRSgQAnzwtpybtGgxhMRtVhsS73xc3P9aDj Next: J2nHunGVgVx8pr6eQG5zAPio8VxS8QPWLMJdGiJaphvN Diff:
OldNewDifferences
2222 else (assetId == base58'34N9YcEETLWn93qYQ64EsP1x89tSruJU44RrEMSXXEPJ'))
2323 then true
2424 else (assetId == base58'DG2xFkPdDwKUoBkzGAhQtLpSGzfXLiCYPEzeKH2Ad24p')
25-
26-func checkProofs (cnt,sig) = {
27- func isSigned (chk,pub) = if (chk)
28- then true
29- else sigVerify(tx.bodyBytes, sig, pub)
30-
31- (cnt + (if ({
32- let $list22162258 = investorPubKeys
33- let $size22162258 = size($list22162258)
34- let $acc022162258 = false
35- if (($size22162258 == 0))
36- then $acc022162258
37- else {
38- let $acc122162258 = isSigned($acc022162258, $list22162258[0])
39- if (($size22162258 == 1))
40- then $acc122162258
41- else {
42- let $acc222162258 = isSigned($acc122162258, $list22162258[1])
43- if (($size22162258 == 2))
44- then $acc222162258
45- else {
46- let $acc322162258 = isSigned($acc222162258, $list22162258[2])
47- if (($size22162258 == 3))
48- then $acc322162258
49- else {
50- let $acc422162258 = isSigned($acc322162258, $list22162258[3])
51- if (($size22162258 == 4))
52- then $acc422162258
53- else {
54- let $acc522162258 = isSigned($acc422162258, $list22162258[4])
55- if (($size22162258 == 5))
56- then $acc522162258
57- else {
58- let $acc622162258 = isSigned($acc522162258, $list22162258[5])
59- if (($size22162258 == 6))
60- then $acc622162258
61- else {
62- let $acc722162258 = isSigned($acc622162258, $list22162258[6])
63- if (($size22162258 == 7))
64- then $acc722162258
65- else {
66- let $acc822162258 = isSigned($acc722162258, $list22162258[7])
67- if (($size22162258 == 8))
68- then $acc822162258
69- else {
70- let $acc922162258 = isSigned($acc822162258, $list22162258[8])
71- if (($size22162258 == 9))
72- then $acc922162258
73- else {
74- let $acc1022162258 = isSigned($acc922162258, $list22162258[9])
75- if (($size22162258 == 10))
76- then $acc1022162258
77- else {
78- let $acc1122162258 = isSigned($acc1022162258, $list22162258[10])
79- throw("List size exceed 10")
80- }
81- }
82- }
83- }
84- }
85- }
86- }
87- }
88- }
89- }
90- }
91- })
92- then 1
93- else 0))
94- }
9525
9626 match tx {
9727 case o: Order =>
15787 else lockExpired
15888 else false
15989 case s: SetScriptTransaction =>
160- let rightSetScript = ({
161- let $list52825316 = s.proofs
162- let $size52825316 = size($list52825316)
163- let $acc052825316 = 0
164- if (($size52825316 == 0))
165- then $acc052825316
166- else {
167- let $acc152825316 = checkProofs($acc052825316, $list52825316[0])
168- if (($size52825316 == 1))
169- then $acc152825316
170- else {
171- let $acc252825316 = checkProofs($acc152825316, $list52825316[1])
172- if (($size52825316 == 2))
173- then $acc252825316
174- else {
175- let $acc352825316 = checkProofs($acc252825316, $list52825316[2])
176- if (($size52825316 == 3))
177- then $acc352825316
178- else {
179- let $acc452825316 = checkProofs($acc352825316, $list52825316[3])
180- if (($size52825316 == 4))
181- then $acc452825316
182- else {
183- let $acc552825316 = checkProofs($acc452825316, $list52825316[4])
184- if (($size52825316 == 5))
185- then $acc552825316
186- else {
187- let $acc652825316 = checkProofs($acc552825316, $list52825316[5])
188- if (($size52825316 == 6))
189- then $acc652825316
190- else {
191- let $acc752825316 = checkProofs($acc652825316, $list52825316[6])
192- if (($size52825316 == 7))
193- then $acc752825316
194- else {
195- let $acc852825316 = checkProofs($acc752825316, $list52825316[7])
196- if (($size52825316 == 8))
197- then $acc852825316
198- else {
199- let $acc952825316 = checkProofs($acc852825316, $list52825316[8])
200- if (($size52825316 == 9))
201- then $acc952825316
202- else {
203- let $acc1052825316 = checkProofs($acc952825316, $list52825316[9])
204- if (($size52825316 == 10))
205- then $acc1052825316
206- else {
207- let $acc1152825316 = checkProofs($acc1052825316, $list52825316[10])
208- if (($size52825316 == 11))
209- then $acc1152825316
210- else {
211- let $acc1252825316 = checkProofs($acc1152825316, $list52825316[11])
212- throw("List size exceed 11")
213- }
214- }
215- }
216- }
217- }
218- }
219- }
220- }
221- }
222- }
223- }
224- }
225- } > (size(investorPubKeys) / 2))
90+ let keys = extract(s.senderPublicKey) :: investorPubKeys
91+ let rightSetScript = ((if (sigVerify(s.bodyBytes, s.proofs[1], keys[1]))
92+ then 1
93+ else 0) > (size(investorPubKeys) / 2))
22694 if (rightSetScript)
227- then sigVerify(s.bodyBytes, s.proofs[0], s.senderPublicKey)
95+ then sigVerify(s.bodyBytes, s.proofs[0], keys[0])
22896 else false
22997 case _ =>
23098 false
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 3 #-}
22 {-# CONTENT_TYPE EXPRESSION #-}
33 let payoutAddress = "3P8uxNCMRWjj2DUWAXaRXF4Q4thX9jQxXcs"
44 let redeemAddress = "3PAkNyfHB5NV9jXioZ1DG3mynhUZyUzHWML"
55 let votingAddress = "3PGEh2VpbpYyetTUTCY6bRxv2mpMwZoz5sP"
66 let lockExpired = (value(lastBlock.timestamp) >= (1609459200 * 1000))
77 let priceAssetId = Unit()
88 let amountAssetId = base58'EYz8Zvs62D4d7F5ZgXHCWuzuFaZg63FYnfVQrTWQoLSK'
99 let matcherFeeId = Unit()
1010 let payoutAssetId = base58'8LQW8f7P5d5PZM7GtZEBgaqRPGSzS3DfPuiXrURJ4AJS'
1111 let traderPubKey = extract(tx.senderPublicKey)
1212 let managerPubKey = base58'2jtARCoafX5CBQ9jXV265Fng8t58hMmmdpWQdgMzk1z9'
1313 let investorPubKeys = [base58'66BGZcJJ9yAWcHKZZeiuA71wAvC5GWTmdQWArjt1g6jC']
1414 func isFiatAsset (assetId) = if (if (if (if (if ((assetId == base58'Ft8X1v1LTa1ABafufpaCWyVj8KkaxUWE6xBhW6sNFJck'))
1515 then true
1616 else (assetId == base58'Gtb1WRznfchDnTh37ezoDTJ4wcoKaRsKqKjJjy7nm2zU'))
1717 then true
1818 else (assetId == base58'DEJbZipbKQjwEiRjx2AqQFucrj5CZ3rAc4ZvFM8nAsoA'))
1919 then true
2020 else (assetId == base58'2mX5DzVKWrAJw8iwdJnV2qtoeVG9h5nTDpTqC1wb1WEN'))
2121 then true
2222 else (assetId == base58'34N9YcEETLWn93qYQ64EsP1x89tSruJU44RrEMSXXEPJ'))
2323 then true
2424 else (assetId == base58'DG2xFkPdDwKUoBkzGAhQtLpSGzfXLiCYPEzeKH2Ad24p')
25-
26-func checkProofs (cnt,sig) = {
27- func isSigned (chk,pub) = if (chk)
28- then true
29- else sigVerify(tx.bodyBytes, sig, pub)
30-
31- (cnt + (if ({
32- let $list22162258 = investorPubKeys
33- let $size22162258 = size($list22162258)
34- let $acc022162258 = false
35- if (($size22162258 == 0))
36- then $acc022162258
37- else {
38- let $acc122162258 = isSigned($acc022162258, $list22162258[0])
39- if (($size22162258 == 1))
40- then $acc122162258
41- else {
42- let $acc222162258 = isSigned($acc122162258, $list22162258[1])
43- if (($size22162258 == 2))
44- then $acc222162258
45- else {
46- let $acc322162258 = isSigned($acc222162258, $list22162258[2])
47- if (($size22162258 == 3))
48- then $acc322162258
49- else {
50- let $acc422162258 = isSigned($acc322162258, $list22162258[3])
51- if (($size22162258 == 4))
52- then $acc422162258
53- else {
54- let $acc522162258 = isSigned($acc422162258, $list22162258[4])
55- if (($size22162258 == 5))
56- then $acc522162258
57- else {
58- let $acc622162258 = isSigned($acc522162258, $list22162258[5])
59- if (($size22162258 == 6))
60- then $acc622162258
61- else {
62- let $acc722162258 = isSigned($acc622162258, $list22162258[6])
63- if (($size22162258 == 7))
64- then $acc722162258
65- else {
66- let $acc822162258 = isSigned($acc722162258, $list22162258[7])
67- if (($size22162258 == 8))
68- then $acc822162258
69- else {
70- let $acc922162258 = isSigned($acc822162258, $list22162258[8])
71- if (($size22162258 == 9))
72- then $acc922162258
73- else {
74- let $acc1022162258 = isSigned($acc922162258, $list22162258[9])
75- if (($size22162258 == 10))
76- then $acc1022162258
77- else {
78- let $acc1122162258 = isSigned($acc1022162258, $list22162258[10])
79- throw("List size exceed 10")
80- }
81- }
82- }
83- }
84- }
85- }
86- }
87- }
88- }
89- }
90- }
91- })
92- then 1
93- else 0))
94- }
9525
9626 match tx {
9727 case o: Order =>
9828 let rightOrder = if (if (if (if ((o.matcherFeeAssetId == matcherFeeId))
9929 then (o.assetPair.priceAsset == priceAssetId)
10030 else false)
10131 then (o.assetPair.amountAsset == amountAssetId)
10232 else false)
10333 then true
10434 else if (if (if ((o.orderType == Buy))
10535 then !(isDefined(o.matcherFeeAssetId))
10636 else false)
10737 then !(isDefined(o.assetPair.amountAsset))
10838 else false)
10939 then (o.assetPair.priceAsset == payoutAssetId)
11040 else false)
11141 then true
11242 else if (if (if ((o.orderType == Sell))
11343 then !(isDefined(o.matcherFeeAssetId))
11444 else false)
11545 then if (!(isDefined(o.assetPair.priceAsset)))
11646 then true
11747 else !(isDefined(o.assetPair.amountAsset))
11848 else false)
11949 then !(isFiatAsset(o.assetPair.priceAsset))
12050 else false
12151 if (rightOrder)
12252 then sigVerify(o.bodyBytes, o.proofs[0], traderPubKey)
12353 else false
12454 case b: BurnTransaction =>
12555 let rightBurn = if (if ((b.assetId != payoutAssetId))
12656 then (b.assetId != if (isDefined(priceAssetId))
12757 then priceAssetId
12858 else base58'')
12959 else false)
13060 then (b.assetId != if (isDefined(amountAssetId))
13161 then amountAssetId
13262 else base58'')
13363 else false
13464 if (rightBurn)
13565 then sigVerify(b.bodyBytes, b.proofs[0], traderPubKey)
13666 else false
13767 case l: LeaseCancelTransaction|LeaseTransaction =>
13868 sigVerify(l.bodyBytes, l.proofs[0], traderPubKey)
13969 case i: InvokeScriptTransaction =>
14070 let rightInvoke = (addressFromRecipient(i.dApp) == addressFromString(votingAddress))
14171 if (rightInvoke)
14272 then sigVerify(i.bodyBytes, i.proofs[0], traderPubKey)
14373 else false
14474 case t: TransferTransaction =>
14575 let rightTransfer = if (if ((t.assetId == payoutAssetId))
14676 then (addressFromRecipient(t.recipient) == addressFromString(payoutAddress))
14777 else false)
14878 then true
14979 else if (if ((t.assetId == priceAssetId))
15080 then true
15181 else (t.assetId == amountAssetId))
15282 then (addressFromRecipient(t.recipient) == addressFromString(redeemAddress))
15383 else false
15484 if (rightTransfer)
15585 then if (sigVerify(t.bodyBytes, t.proofs[1], managerPubKey))
15686 then true
15787 else lockExpired
15888 else false
15989 case s: SetScriptTransaction =>
160- let rightSetScript = ({
161- let $list52825316 = s.proofs
162- let $size52825316 = size($list52825316)
163- let $acc052825316 = 0
164- if (($size52825316 == 0))
165- then $acc052825316
166- else {
167- let $acc152825316 = checkProofs($acc052825316, $list52825316[0])
168- if (($size52825316 == 1))
169- then $acc152825316
170- else {
171- let $acc252825316 = checkProofs($acc152825316, $list52825316[1])
172- if (($size52825316 == 2))
173- then $acc252825316
174- else {
175- let $acc352825316 = checkProofs($acc252825316, $list52825316[2])
176- if (($size52825316 == 3))
177- then $acc352825316
178- else {
179- let $acc452825316 = checkProofs($acc352825316, $list52825316[3])
180- if (($size52825316 == 4))
181- then $acc452825316
182- else {
183- let $acc552825316 = checkProofs($acc452825316, $list52825316[4])
184- if (($size52825316 == 5))
185- then $acc552825316
186- else {
187- let $acc652825316 = checkProofs($acc552825316, $list52825316[5])
188- if (($size52825316 == 6))
189- then $acc652825316
190- else {
191- let $acc752825316 = checkProofs($acc652825316, $list52825316[6])
192- if (($size52825316 == 7))
193- then $acc752825316
194- else {
195- let $acc852825316 = checkProofs($acc752825316, $list52825316[7])
196- if (($size52825316 == 8))
197- then $acc852825316
198- else {
199- let $acc952825316 = checkProofs($acc852825316, $list52825316[8])
200- if (($size52825316 == 9))
201- then $acc952825316
202- else {
203- let $acc1052825316 = checkProofs($acc952825316, $list52825316[9])
204- if (($size52825316 == 10))
205- then $acc1052825316
206- else {
207- let $acc1152825316 = checkProofs($acc1052825316, $list52825316[10])
208- if (($size52825316 == 11))
209- then $acc1152825316
210- else {
211- let $acc1252825316 = checkProofs($acc1152825316, $list52825316[11])
212- throw("List size exceed 11")
213- }
214- }
215- }
216- }
217- }
218- }
219- }
220- }
221- }
222- }
223- }
224- }
225- } > (size(investorPubKeys) / 2))
90+ let keys = extract(s.senderPublicKey) :: investorPubKeys
91+ let rightSetScript = ((if (sigVerify(s.bodyBytes, s.proofs[1], keys[1]))
92+ then 1
93+ else 0) > (size(investorPubKeys) / 2))
22694 if (rightSetScript)
227- then sigVerify(s.bodyBytes, s.proofs[0], s.senderPublicKey)
95+ then sigVerify(s.bodyBytes, s.proofs[0], keys[0])
22896 else false
22997 case _ =>
23098 false
23199 }

github/deemru/w8io/3ef1775 
77.56 ms