tx · AGcHGdgF2JWJqmPbfB2GhLWmnGQnEw22oHZKdu4W8qKp

3Mz3Ths53p7Ur95CiAyTtQd9uc6UkopRL6n:  -0.01400000 Waves

2019.02.24 23:58 [509972] smart account 3Mz3Ths53p7Ur95CiAyTtQd9uc6UkopRL6n > SELF 0.00000000 Waves

{ "type": 13, "id": "AGcHGdgF2JWJqmPbfB2GhLWmnGQnEw22oHZKdu4W8qKp", "fee": 1400000, "feeAssetId": null, "timestamp": 1551041943456, "version": 1, "sender": "3Mz3Ths53p7Ur95CiAyTtQd9uc6UkopRL6n", "senderPublicKey": "bcMSuV9WgLkCar1CMCueVHuq6ugDUnnhLnhbzGC1LKU", "proofs": [ "2CVHBvuLUianBxVkcQ9v8L8DxhZnQvNL7SX6t1Av1aSWjdeGF9NEBfDevmzWbF949sZEktbsAKdExRN7z1Dq1goU" ], "script": "base64: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", "chainId": 84, "height": 509972, "spentComplexity": 0 } View: original | compacted Prev: GvxrrJVZxbHEtCrhK4iHvvEP2t8jgLbqAjj3r4mnz5Tg Next: ADzQz6F6yoycC4v2n7g27FWpVwGWSQX8hMREFfU8agVr Diff:
OldNewDifferences
44 let triggerCost = 500000
55 let aliasInit = Alias("init@vecro")
66 let aliasRandom = Alias("random@vecro")
7-let assetInit = base58'CGyXVnHBQbwiabMp9HtFP42U2kAULC2s9Knvj6wgPbJR'
8-let assetRandom = base58'HUVAzMsG6oSFCeVejEZzkh5oFhg7oU31BCJ479GZfjyM'
7+let assetInit = base58'GSZ4kEkHRLaM7zu9GPx1R4XU5nqnrNgh9GCxYXd2pdDR'
8+let assetRandom = base58'wgFSVC6kNSrCc1V5BULdAYeHzVawowxEKVUYGEj8Fb1'
99 let codeR = toBytes("R")
1010 let codeS = toBytes("S")
1111 let codeSize = 45
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 1 #-}
22 {-# CONTENT_TYPE EXPRESSION #-}
33 let vecroPublicKey = tx.senderPublicKey
44 let triggerCost = 500000
55 let aliasInit = Alias("init@vecro")
66 let aliasRandom = Alias("random@vecro")
7-let assetInit = base58'CGyXVnHBQbwiabMp9HtFP42U2kAULC2s9Knvj6wgPbJR'
8-let assetRandom = base58'HUVAzMsG6oSFCeVejEZzkh5oFhg7oU31BCJ479GZfjyM'
7+let assetInit = base58'GSZ4kEkHRLaM7zu9GPx1R4XU5nqnrNgh9GCxYXd2pdDR'
8+let assetRandom = base58'wgFSVC6kNSrCc1V5BULdAYeHzVawowxEKVUYGEj8Fb1'
99 let codeR = toBytes("R")
1010 let codeS = toBytes("S")
1111 let codeSize = 45
1212 let iSig = 0
1313 let iRaw = 1
1414 let iTrig = 2
1515 let iInit = 3
1616 match tx {
1717 case thisTx: TransferTransaction =>
1818 match transactionById(thisTx.proofs[iTrig]) {
1919 case triggerTx: TransferTransaction =>
2020 if ((triggerTx.recipient == aliasInit))
2121 then {
2222 let initTx = thisTx
2323 let triggerInitTx = triggerTx
2424 let initTxbodyBytes = (initTx.bodyBytes + initTx.proofs[iTrig])
2525 let R = initTx.proofs[iRaw]
2626 if (if (if (if (if (if (if (if (if (!(isDefined(triggerInitTx.assetId)))
2727 then (triggerInitTx.amount >= triggerCost)
2828 else false)
2929 then (triggerInitTx.sender == initTx.recipient)
3030 else false)
3131 then !(isDefined(initTx.feeAssetId))
3232 else false)
3333 then (initTx.fee == triggerCost)
3434 else false)
3535 then (initTx.assetId == assetInit)
3636 else false)
3737 then (initTx.amount == 1)
3838 else false)
3939 then (size(initTx.attachment) == codeSize)
4040 else false)
4141 then (initTx.attachment == toBytes(toBase58String((codeR + R))))
4242 else false)
4343 then sigVerify(initTxbodyBytes, initTx.proofs[iSig], vecroPublicKey)
4444 else false
4545 }
4646 else if ((triggerTx.recipient == aliasRandom))
4747 then match transactionById(thisTx.proofs[iInit]) {
4848 case initTx: TransferTransaction =>
4949 match transactionById(initTx.proofs[iTrig]) {
5050 case triggerInitTx: TransferTransaction =>
5151 if ((triggerInitTx.recipient == aliasInit))
5252 then {
5353 let randomTx = thisTx
5454 let triggerRandomTx = triggerTx
5555 let initTxbodyBytes = (initTx.bodyBytes + initTx.proofs[iTrig])
5656 let randomTxbodyBytes = ((randomTx.bodyBytes + randomTx.proofs[iTrig]) + randomTx.proofs[iInit])
5757 let R = initTx.proofs[iRaw]
5858 let S = thisTx.proofs[iRaw]
5959 let sig = (R + S)
6060 let msg = triggerRandomTx.attachment
6161 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))
6262 then (take(msg, codeSize) == initTx.attachment)
6363 else false)
6464 then sigVerify(msg, sig, vecroPublicKey)
6565 else false)
6666 then !(isDefined(triggerRandomTx.assetId))
6767 else false)
6868 then (triggerRandomTx.amount >= triggerCost)
6969 else false)
7070 then (triggerRandomTx.sender == randomTx.recipient)
7171 else false)
7272 then !(isDefined(randomTx.feeAssetId))
7373 else false)
7474 then (randomTx.fee == triggerCost)
7575 else false)
7676 then (randomTx.assetId == assetRandom)
7777 else false)
7878 then (randomTx.amount == 1)
7979 else false)
8080 then (size(randomTx.attachment) == codeSize)
8181 else false)
8282 then (randomTx.attachment == toBytes(toBase58String((codeS + S))))
8383 else false)
8484 then sigVerify(randomTxbodyBytes, randomTx.proofs[iSig], vecroPublicKey)
8585 else false)
8686 then !(isDefined(triggerInitTx.assetId))
8787 else false)
8888 then (triggerInitTx.amount >= triggerCost)
8989 else false)
9090 then (triggerInitTx.sender == initTx.recipient)
9191 else false)
9292 then !(isDefined(initTx.feeAssetId))
9393 else false)
9494 then (initTx.fee == triggerCost)
9595 else false)
9696 then (initTx.assetId == assetInit)
9797 else false)
9898 then (initTx.amount == 1)
9999 else false)
100100 then (size(initTx.attachment) == codeSize)
101101 else false)
102102 then (initTx.attachment == toBytes(toBase58String((codeR + R))))
103103 else false)
104104 then sigVerify(initTxbodyBytes, initTx.proofs[iSig], vecroPublicKey)
105105 else false
106106 }
107107 else false
108108 case _ =>
109109 false
110110 }
111111 case _ =>
112112 false
113113 }
114114 else false
115115 case _ =>
116116 false
117117 }
118118 case _ =>
119119 sigVerify(tx.bodyBytes, tx.proofs[iSig], vecroPublicKey)
120120 }

github/deemru/w8io/873ac7e 
42.23 ms