tx · GvxrrJVZxbHEtCrhK4iHvvEP2t8jgLbqAjj3r4mnz5Tg

3Mz3Ths53p7Ur95CiAyTtQd9uc6UkopRL6n:  -0.01400000 Waves

2019.02.24 23:42 [509956] smart account 3Mz3Ths53p7Ur95CiAyTtQd9uc6UkopRL6n > SELF 0.00000000 Waves

{ "type": 13, "id": "GvxrrJVZxbHEtCrhK4iHvvEP2t8jgLbqAjj3r4mnz5Tg", "fee": 1400000, "feeAssetId": null, "timestamp": 1551041039841, "version": 1, "sender": "3Mz3Ths53p7Ur95CiAyTtQd9uc6UkopRL6n", "senderPublicKey": "bcMSuV9WgLkCar1CMCueVHuq6ugDUnnhLnhbzGC1LKU", "proofs": [ "3Z6SoSuHyR98Bb1D8f46DC3ZmJhaifbArn322E4wsNN6B3EXKZyejNQ3Xxj7RZv6KRHhyVfie5VPyQvfDcDUEmDb" ], "script": "base64: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", "chainId": 84, "height": 509956, "spentComplexity": 0 } View: original | compacted Prev: none Next: AGcHGdgF2JWJqmPbfB2GhLWmnGQnEw22oHZKdu4W8qKp Full:
OldNewDifferences
1-# no script
1+{-# STDLIB_VERSION 1 #-}
2+{-# CONTENT_TYPE EXPRESSION #-}
3+let vecroPublicKey = tx.senderPublicKey
4+let triggerCost = 500000
5+let aliasInit = Alias("init@vecro")
6+let aliasRandom = Alias("random@vecro")
7+let assetInit = base58'CGyXVnHBQbwiabMp9HtFP42U2kAULC2s9Knvj6wgPbJR'
8+let assetRandom = base58'HUVAzMsG6oSFCeVejEZzkh5oFhg7oU31BCJ479GZfjyM'
9+let codeR = toBytes("R")
10+let codeS = toBytes("S")
11+let codeSize = 45
12+let iSig = 0
13+let iRaw = 1
14+let iTrig = 2
15+let iInit = 3
16+match tx {
17+ case thisTx: TransferTransaction =>
18+ match transactionById(thisTx.proofs[iTrig]) {
19+ case triggerTx: TransferTransaction =>
20+ if ((triggerTx.recipient == aliasInit))
21+ then {
22+ let initTx = thisTx
23+ let triggerInitTx = triggerTx
24+ let initTxbodyBytes = (initTx.bodyBytes + initTx.proofs[iTrig])
25+ let R = initTx.proofs[iRaw]
26+ if (if (if (if (if (if (if (if (if (!(isDefined(triggerInitTx.assetId)))
27+ then (triggerInitTx.amount >= triggerCost)
28+ else false)
29+ then (triggerInitTx.sender == initTx.recipient)
30+ else false)
31+ then !(isDefined(initTx.feeAssetId))
32+ else false)
33+ then (initTx.fee == triggerCost)
34+ else false)
35+ then (initTx.assetId == assetInit)
36+ else false)
37+ then (initTx.amount == 1)
38+ else false)
39+ then (size(initTx.attachment) == codeSize)
40+ else false)
41+ then (initTx.attachment == toBytes(toBase58String((codeR + R))))
42+ else false)
43+ then sigVerify(initTxbodyBytes, initTx.proofs[iSig], vecroPublicKey)
44+ else false
45+ }
46+ else if ((triggerTx.recipient == aliasRandom))
47+ then match transactionById(thisTx.proofs[iInit]) {
48+ case initTx: TransferTransaction =>
49+ match transactionById(initTx.proofs[iTrig]) {
50+ case triggerInitTx: TransferTransaction =>
51+ if ((triggerInitTx.recipient == aliasInit))
52+ then {
53+ let randomTx = thisTx
54+ let triggerRandomTx = triggerTx
55+ let initTxbodyBytes = (initTx.bodyBytes + initTx.proofs[iTrig])
56+ let randomTxbodyBytes = ((randomTx.bodyBytes + randomTx.proofs[iTrig]) + randomTx.proofs[iInit])
57+ let R = initTx.proofs[iRaw]
58+ let S = thisTx.proofs[iRaw]
59+ let sig = (R + S)
60+ let msg = triggerRandomTx.attachment
61+ if (if (if (if (if (if (if (if (if (if (if (if (if (if (if (if (if (if (if (if (if (if ((triggerRandomTx.sender == triggerInitTx.sender))
62+ then (take(msg, codeSize) == initTx.attachment)
63+ else false)
64+ then sigVerify(msg, sig, vecroPublicKey)
65+ else false)
66+ then !(isDefined(triggerRandomTx.assetId))
67+ else false)
68+ then (triggerRandomTx.amount >= triggerCost)
69+ else false)
70+ then (triggerRandomTx.sender == randomTx.recipient)
71+ else false)
72+ then !(isDefined(randomTx.feeAssetId))
73+ else false)
74+ then (randomTx.fee == triggerCost)
75+ else false)
76+ then (randomTx.assetId == assetRandom)
77+ else false)
78+ then (randomTx.amount == 1)
79+ else false)
80+ then (size(randomTx.attachment) == codeSize)
81+ else false)
82+ then (randomTx.attachment == toBytes(toBase58String((codeS + S))))
83+ else false)
84+ then sigVerify(randomTxbodyBytes, randomTx.proofs[iSig], vecroPublicKey)
85+ else false)
86+ then !(isDefined(triggerInitTx.assetId))
87+ else false)
88+ then (triggerInitTx.amount >= triggerCost)
89+ else false)
90+ then (triggerInitTx.sender == initTx.recipient)
91+ else false)
92+ then !(isDefined(initTx.feeAssetId))
93+ else false)
94+ then (initTx.fee == triggerCost)
95+ else false)
96+ then (initTx.assetId == assetInit)
97+ else false)
98+ then (initTx.amount == 1)
99+ else false)
100+ then (size(initTx.attachment) == codeSize)
101+ else false)
102+ then (initTx.attachment == toBytes(toBase58String((codeR + R))))
103+ else false)
104+ then sigVerify(initTxbodyBytes, initTx.proofs[iSig], vecroPublicKey)
105+ else false
106+ }
107+ else false
108+ case _ =>
109+ false
110+ }
111+ case _ =>
112+ false
113+ }
114+ else false
115+ case _ =>
116+ false
117+ }
118+ case _ =>
119+ sigVerify(tx.bodyBytes, tx.proofs[iSig], vecroPublicKey)
120+}

github/deemru/w8io/169f3d6 
1157.37 ms