tx · FtkxY2GGuNe5Qdfzm2RrTZvjDPVxtcQbzgQuw7hbKkYN

3P89GyrcNa5dQkYSmesYa6KyeJoCuuVdCz9:  -0.01400000 Waves

2020.01.02 21:24 [1866998] smart account 3P89GyrcNa5dQkYSmesYa6KyeJoCuuVdCz9 > SELF 0.00000000 Waves

{ "type": 13, "id": "FtkxY2GGuNe5Qdfzm2RrTZvjDPVxtcQbzgQuw7hbKkYN", "fee": 1400000, "feeAssetId": null, "timestamp": 1577989359347, "version": 1, "sender": "3P89GyrcNa5dQkYSmesYa6KyeJoCuuVdCz9", "senderPublicKey": "6ZJKMPB6S6K9MF8YNg9ppUmWavmC3KCebp1JeaEBdHu1", "proofs": [ "5kNzmUbE3NSVT3rud2G1Cs8Lpc8Ae94cVQGcgCRw2Ue5aAqFT75raYB5rG2VCQaevWGxwi5Jnz9sQVBU6agVSukm", "4XtzGCF7ai8uB9yywJdj2LaHyqKJ7Esw7PSoJGeKZqW42G7Q2knyCHusjmRaxbeZ2VqxA66EAqgZTbjXSBT8ziS3" ], "script": "base64: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", "chainId": 87, "height": 1866998, "spentComplexity": 0 } View: original | compacted Prev: 92f3RL7YWRR2hsTMxZkfVKWfdYK6NCZnxCUjGJVZbwR6 Next: 93PeCPKGjjxCQ3RFwb4bwx9QsEaRDLZBiNYkuX6SsWEi Diff:
OldNewDifferences
2121 else (assetId == base58'34N9YcEETLWn93qYQ64EsP1x89tSruJU44RrEMSXXEPJ'))
2222 then true
2323 else (assetId == base58'DG2xFkPdDwKUoBkzGAhQtLpSGzfXLiCYPEzeKH2Ad24p')
24-
25-func checkProofs (cnt,sig) = {
26- func isSigned (chk,pub) = if (chk)
27- then true
28- else sigVerify(tx.bodyBytes, sig, pub)
29-
30- (cnt + (if ({
31- let $list22232265 = investorPubKeys
32- let $size22232265 = size($list22232265)
33- let $acc022232265 = false
34- if (($size22232265 == 0))
35- then $acc022232265
36- else {
37- let $acc122232265 = isSigned($acc022232265, $list22232265[0])
38- if (($size22232265 == 1))
39- then $acc122232265
40- else {
41- let $acc222232265 = isSigned($acc122232265, $list22232265[1])
42- if (($size22232265 == 2))
43- then $acc222232265
44- else {
45- let $acc322232265 = isSigned($acc222232265, $list22232265[2])
46- if (($size22232265 == 3))
47- then $acc322232265
48- else {
49- let $acc422232265 = isSigned($acc322232265, $list22232265[3])
50- if (($size22232265 == 4))
51- then $acc422232265
52- else {
53- let $acc522232265 = isSigned($acc422232265, $list22232265[4])
54- if (($size22232265 == 5))
55- then $acc522232265
56- else {
57- let $acc622232265 = isSigned($acc522232265, $list22232265[5])
58- if (($size22232265 == 6))
59- then $acc622232265
60- else {
61- let $acc722232265 = isSigned($acc622232265, $list22232265[6])
62- if (($size22232265 == 7))
63- then $acc722232265
64- else {
65- let $acc822232265 = isSigned($acc722232265, $list22232265[7])
66- if (($size22232265 == 8))
67- then $acc822232265
68- else {
69- let $acc922232265 = isSigned($acc822232265, $list22232265[8])
70- if (($size22232265 == 9))
71- then $acc922232265
72- else {
73- let $acc1022232265 = isSigned($acc922232265, $list22232265[9])
74- if (($size22232265 == 10))
75- then $acc1022232265
76- else {
77- let $acc1122232265 = isSigned($acc1022232265, $list22232265[10])
78- throw("List size exceed 10")
79- }
80- }
81- }
82- }
83- }
84- }
85- }
86- }
87- }
88- }
89- }
90- })
91- then 1
92- else 0))
93- }
9424
9525 match tx {
9626 case o: Order =>
14171 else lockExpired
14272 else false
14373 case s: SetScriptTransaction =>
144- let rightSetScript = ({
145- let $list53025336 = s.proofs
146- let $size53025336 = size($list53025336)
147- let $acc053025336 = 0
148- if (($size53025336 == 0))
149- then $acc053025336
150- else {
151- let $acc153025336 = checkProofs($acc053025336, $list53025336[0])
152- if (($size53025336 == 1))
153- then $acc153025336
154- else {
155- let $acc253025336 = checkProofs($acc153025336, $list53025336[1])
156- if (($size53025336 == 2))
157- then $acc253025336
158- else {
159- let $acc353025336 = checkProofs($acc253025336, $list53025336[2])
160- if (($size53025336 == 3))
161- then $acc353025336
162- else {
163- let $acc453025336 = checkProofs($acc353025336, $list53025336[3])
164- if (($size53025336 == 4))
165- then $acc453025336
166- else {
167- let $acc553025336 = checkProofs($acc453025336, $list53025336[4])
168- if (($size53025336 == 5))
169- then $acc553025336
170- else {
171- let $acc653025336 = checkProofs($acc553025336, $list53025336[5])
172- if (($size53025336 == 6))
173- then $acc653025336
174- else {
175- let $acc753025336 = checkProofs($acc653025336, $list53025336[6])
176- if (($size53025336 == 7))
177- then $acc753025336
178- else {
179- let $acc853025336 = checkProofs($acc753025336, $list53025336[7])
180- if (($size53025336 == 8))
181- then $acc853025336
182- else {
183- let $acc953025336 = checkProofs($acc853025336, $list53025336[8])
184- if (($size53025336 == 9))
185- then $acc953025336
186- else {
187- let $acc1053025336 = checkProofs($acc953025336, $list53025336[9])
188- if (($size53025336 == 10))
189- then $acc1053025336
190- else {
191- let $acc1153025336 = checkProofs($acc1053025336, $list53025336[10])
192- if (($size53025336 == 11))
193- then $acc1153025336
194- else {
195- let $acc1253025336 = checkProofs($acc1153025336, $list53025336[11])
196- throw("List size exceed 11")
197- }
198- }
199- }
200- }
201- }
202- }
203- }
204- }
205- }
206- }
207- }
208- }
209- } > (size(investorPubKeys) / 2))
74+ let keys = extract(s.senderPublicKey) :: investorPubKeys
75+ let rightSetScript = ((if (sigVerify(s.bodyBytes, s.proofs[1], keys[1]))
76+ then 1
77+ else 0) > (size(investorPubKeys) / 2))
21078 if (rightSetScript)
211- then sigVerify(s.bodyBytes, s.proofs[0], s.senderPublicKey)
79+ then sigVerify(s.bodyBytes, s.proofs[0], keys[0])
21280 else false
21381 case _ =>
21482 false
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 3 #-}
22 {-# CONTENT_TYPE EXPRESSION #-}
33 let payoutAddress = "3P8uxNCMRWjj2DUWAXaRXF4Q4thX9jQxXcs"
44 let redeemAddress = "3PAkNyfHB5NV9jXioZ1DG3mynhUZyUzHWML"
55 let lockExpired = (value(lastBlock.timestamp) >= (1609459200 * 1000))
66 let priceAssetId = base58'8LQW8f7P5d5PZM7GtZEBgaqRPGSzS3DfPuiXrURJ4AJS'
77 let amountAssetId = base58'EYz8Zvs62D4d7F5ZgXHCWuzuFaZg63FYnfVQrTWQoLSK'
88 let matcherFeeId = base58'8LQW8f7P5d5PZM7GtZEBgaqRPGSzS3DfPuiXrURJ4AJS'
99 let payoutAssetId = base58'8LQW8f7P5d5PZM7GtZEBgaqRPGSzS3DfPuiXrURJ4AJS'
1010 let traderPubKey = extract(tx.senderPublicKey)
1111 let managerPubKey = base58'2jtARCoafX5CBQ9jXV265Fng8t58hMmmdpWQdgMzk1z9'
1212 let investorPubKeys = [base58'66BGZcJJ9yAWcHKZZeiuA71wAvC5GWTmdQWArjt1g6jC']
1313 func isFiatAsset (assetId) = if (if (if (if (if ((assetId == base58'Ft8X1v1LTa1ABafufpaCWyVj8KkaxUWE6xBhW6sNFJck'))
1414 then true
1515 else (assetId == base58'Gtb1WRznfchDnTh37ezoDTJ4wcoKaRsKqKjJjy7nm2zU'))
1616 then true
1717 else (assetId == base58'DEJbZipbKQjwEiRjx2AqQFucrj5CZ3rAc4ZvFM8nAsoA'))
1818 then true
1919 else (assetId == base58'2mX5DzVKWrAJw8iwdJnV2qtoeVG9h5nTDpTqC1wb1WEN'))
2020 then true
2121 else (assetId == base58'34N9YcEETLWn93qYQ64EsP1x89tSruJU44RrEMSXXEPJ'))
2222 then true
2323 else (assetId == base58'DG2xFkPdDwKUoBkzGAhQtLpSGzfXLiCYPEzeKH2Ad24p')
24-
25-func checkProofs (cnt,sig) = {
26- func isSigned (chk,pub) = if (chk)
27- then true
28- else sigVerify(tx.bodyBytes, sig, pub)
29-
30- (cnt + (if ({
31- let $list22232265 = investorPubKeys
32- let $size22232265 = size($list22232265)
33- let $acc022232265 = false
34- if (($size22232265 == 0))
35- then $acc022232265
36- else {
37- let $acc122232265 = isSigned($acc022232265, $list22232265[0])
38- if (($size22232265 == 1))
39- then $acc122232265
40- else {
41- let $acc222232265 = isSigned($acc122232265, $list22232265[1])
42- if (($size22232265 == 2))
43- then $acc222232265
44- else {
45- let $acc322232265 = isSigned($acc222232265, $list22232265[2])
46- if (($size22232265 == 3))
47- then $acc322232265
48- else {
49- let $acc422232265 = isSigned($acc322232265, $list22232265[3])
50- if (($size22232265 == 4))
51- then $acc422232265
52- else {
53- let $acc522232265 = isSigned($acc422232265, $list22232265[4])
54- if (($size22232265 == 5))
55- then $acc522232265
56- else {
57- let $acc622232265 = isSigned($acc522232265, $list22232265[5])
58- if (($size22232265 == 6))
59- then $acc622232265
60- else {
61- let $acc722232265 = isSigned($acc622232265, $list22232265[6])
62- if (($size22232265 == 7))
63- then $acc722232265
64- else {
65- let $acc822232265 = isSigned($acc722232265, $list22232265[7])
66- if (($size22232265 == 8))
67- then $acc822232265
68- else {
69- let $acc922232265 = isSigned($acc822232265, $list22232265[8])
70- if (($size22232265 == 9))
71- then $acc922232265
72- else {
73- let $acc1022232265 = isSigned($acc922232265, $list22232265[9])
74- if (($size22232265 == 10))
75- then $acc1022232265
76- else {
77- let $acc1122232265 = isSigned($acc1022232265, $list22232265[10])
78- throw("List size exceed 10")
79- }
80- }
81- }
82- }
83- }
84- }
85- }
86- }
87- }
88- }
89- }
90- })
91- then 1
92- else 0))
93- }
9424
9525 match tx {
9626 case o: Order =>
9727 let rightOrder = if (if (if ((o.matcherFeeAssetId == matcherFeeId))
9828 then (o.assetPair.priceAsset == priceAssetId)
9929 else false)
10030 then (o.assetPair.amountAsset == amountAssetId)
10131 else false)
10232 then true
10333 else if (if (if ((o.orderType == Sell))
10434 then !(isDefined(o.matcherFeeAssetId))
10535 else false)
10636 then if (!(isDefined(o.assetPair.priceAsset)))
10737 then true
10838 else !(isDefined(o.assetPair.amountAsset))
10939 else false)
11040 then !(isFiatAsset(o.assetPair.priceAsset))
11141 else false
11242 if (rightOrder)
11343 then sigVerify(o.bodyBytes, o.proofs[0], traderPubKey)
11444 else false
11545 case b: BurnTransaction =>
11646 let rightBurn = if (if ((b.assetId != payoutAssetId))
11747 then (b.assetId != if (isDefined(priceAssetId))
11848 then priceAssetId
11949 else base58'')
12050 else false)
12151 then (b.assetId != if (isDefined(amountAssetId))
12252 then amountAssetId
12353 else base58'')
12454 else false
12555 if (rightBurn)
12656 then sigVerify(b.bodyBytes, b.proofs[0], traderPubKey)
12757 else false
12858 case t: TransferTransaction =>
12959 let rightTransfer = if (if ((t.assetId == payoutAssetId))
13060 then (addressFromRecipient(t.recipient) == addressFromString(payoutAddress))
13161 else false)
13262 then true
13363 else if (if ((t.assetId == priceAssetId))
13464 then true
13565 else (t.assetId == amountAssetId))
13666 then (addressFromRecipient(t.recipient) == addressFromString(redeemAddress))
13767 else false
13868 if (rightTransfer)
13969 then if (sigVerify(t.bodyBytes, t.proofs[1], managerPubKey))
14070 then true
14171 else lockExpired
14272 else false
14373 case s: SetScriptTransaction =>
144- let rightSetScript = ({
145- let $list53025336 = s.proofs
146- let $size53025336 = size($list53025336)
147- let $acc053025336 = 0
148- if (($size53025336 == 0))
149- then $acc053025336
150- else {
151- let $acc153025336 = checkProofs($acc053025336, $list53025336[0])
152- if (($size53025336 == 1))
153- then $acc153025336
154- else {
155- let $acc253025336 = checkProofs($acc153025336, $list53025336[1])
156- if (($size53025336 == 2))
157- then $acc253025336
158- else {
159- let $acc353025336 = checkProofs($acc253025336, $list53025336[2])
160- if (($size53025336 == 3))
161- then $acc353025336
162- else {
163- let $acc453025336 = checkProofs($acc353025336, $list53025336[3])
164- if (($size53025336 == 4))
165- then $acc453025336
166- else {
167- let $acc553025336 = checkProofs($acc453025336, $list53025336[4])
168- if (($size53025336 == 5))
169- then $acc553025336
170- else {
171- let $acc653025336 = checkProofs($acc553025336, $list53025336[5])
172- if (($size53025336 == 6))
173- then $acc653025336
174- else {
175- let $acc753025336 = checkProofs($acc653025336, $list53025336[6])
176- if (($size53025336 == 7))
177- then $acc753025336
178- else {
179- let $acc853025336 = checkProofs($acc753025336, $list53025336[7])
180- if (($size53025336 == 8))
181- then $acc853025336
182- else {
183- let $acc953025336 = checkProofs($acc853025336, $list53025336[8])
184- if (($size53025336 == 9))
185- then $acc953025336
186- else {
187- let $acc1053025336 = checkProofs($acc953025336, $list53025336[9])
188- if (($size53025336 == 10))
189- then $acc1053025336
190- else {
191- let $acc1153025336 = checkProofs($acc1053025336, $list53025336[10])
192- if (($size53025336 == 11))
193- then $acc1153025336
194- else {
195- let $acc1253025336 = checkProofs($acc1153025336, $list53025336[11])
196- throw("List size exceed 11")
197- }
198- }
199- }
200- }
201- }
202- }
203- }
204- }
205- }
206- }
207- }
208- }
209- } > (size(investorPubKeys) / 2))
74+ let keys = extract(s.senderPublicKey) :: investorPubKeys
75+ let rightSetScript = ((if (sigVerify(s.bodyBytes, s.proofs[1], keys[1]))
76+ then 1
77+ else 0) > (size(investorPubKeys) / 2))
21078 if (rightSetScript)
211- then sigVerify(s.bodyBytes, s.proofs[0], s.senderPublicKey)
79+ then sigVerify(s.bodyBytes, s.proofs[0], keys[0])
21280 else false
21381 case _ =>
21482 false
21583 }

github/deemru/w8io/6500d08 
55.60 ms