tx · 93PeCPKGjjxCQ3RFwb4bwx9QsEaRDLZBiNYkuX6SsWEi

3P89GyrcNa5dQkYSmesYa6KyeJoCuuVdCz9:  -0.01400000 Waves

2020.01.07 23:00 [1874398] smart account 3P89GyrcNa5dQkYSmesYa6KyeJoCuuVdCz9 > SELF 0.00000000 Waves

{ "type": 13, "id": "93PeCPKGjjxCQ3RFwb4bwx9QsEaRDLZBiNYkuX6SsWEi", "fee": 1400000, "feeAssetId": null, "timestamp": 1578427093401, "version": 1, "sender": "3P89GyrcNa5dQkYSmesYa6KyeJoCuuVdCz9", "senderPublicKey": "6ZJKMPB6S6K9MF8YNg9ppUmWavmC3KCebp1JeaEBdHu1", "proofs": [ "2BdqcwC1wQUBi4EZMaa7vyCawGt79FMKhPd7NkrSZomGPE3PEqATaBeLogTo6YsiQMyUQULxwwUxpjTG2BJkyGuG", "3KZhaVt5pCor7DuFK7qaGMp6gd31gykuJ6Cu9As4egnfvGR4pirCgTCfuNsDQZiYHN21EzXsCVWEfkrCRd9V3rh1" ], "script": "base64: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", "chainId": 87, "height": 1874398, "spentComplexity": 0 } View: original | compacted Prev: FtkxY2GGuNe5Qdfzm2RrTZvjDPVxtcQbzgQuw7hbKkYN Next: 6bMHy6UfXsRKAUJ8qz5w1UyGyotvzT8jyFKc7hEp2TA5 Diff:
OldNewDifferences
88 let matcherFeeId = base58'8LQW8f7P5d5PZM7GtZEBgaqRPGSzS3DfPuiXrURJ4AJS'
99 let payoutAssetId = base58'8LQW8f7P5d5PZM7GtZEBgaqRPGSzS3DfPuiXrURJ4AJS'
1010 let traderPubKey = extract(tx.senderPublicKey)
11-let managerPubKey = base58'2jtARCoafX5CBQ9jXV265Fng8t58hMmmdpWQdgMzk1z9'
12-let investorPubKeys = [base58'66BGZcJJ9yAWcHKZZeiuA71wAvC5GWTmdQWArjt1g6jC']
11+let managerPubKey = base58'EaKK5PAFUkgtnF7xcyABUzi8YBQADmUDnPzQBHjCTAKT'
12+let investorPubKeys = [base58'EaKK5PAFUkgtnF7xcyABUzi8YBQADmUDnPzQBHjCTAKT']
1313 func isFiatAsset (assetId) = if (if (if (if (if ((assetId == base58'Ft8X1v1LTa1ABafufpaCWyVj8KkaxUWE6xBhW6sNFJck'))
1414 then true
1515 else (assetId == base58'Gtb1WRznfchDnTh37ezoDTJ4wcoKaRsKqKjJjy7nm2zU'))
5656 then sigVerify(b.bodyBytes, b.proofs[0], traderPubKey)
5757 else false
5858 case t: TransferTransaction =>
59+ let recipient = addressFromRecipient(t.recipient)
5960 let rightTransfer = if (if ((t.assetId == payoutAssetId))
60- then (addressFromRecipient(t.recipient) == addressFromString(payoutAddress))
61+ then (recipient == addressFromString(payoutAddress))
6162 else false)
6263 then true
6364 else if (if ((t.assetId == priceAssetId))
6465 then true
6566 else (t.assetId == amountAssetId))
66- then (addressFromRecipient(t.recipient) == addressFromString(redeemAddress))
67+ then (recipient == addressFromString(redeemAddress))
6768 else false
6869 if (rightTransfer)
6970 then if (sigVerify(t.bodyBytes, t.proofs[1], managerPubKey))
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)
11-let managerPubKey = base58'2jtARCoafX5CBQ9jXV265Fng8t58hMmmdpWQdgMzk1z9'
12-let investorPubKeys = [base58'66BGZcJJ9yAWcHKZZeiuA71wAvC5GWTmdQWArjt1g6jC']
11+let managerPubKey = base58'EaKK5PAFUkgtnF7xcyABUzi8YBQADmUDnPzQBHjCTAKT'
12+let investorPubKeys = [base58'EaKK5PAFUkgtnF7xcyABUzi8YBQADmUDnPzQBHjCTAKT']
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')
2424
2525 match tx {
2626 case o: Order =>
2727 let rightOrder = if (if (if ((o.matcherFeeAssetId == matcherFeeId))
2828 then (o.assetPair.priceAsset == priceAssetId)
2929 else false)
3030 then (o.assetPair.amountAsset == amountAssetId)
3131 else false)
3232 then true
3333 else if (if (if ((o.orderType == Sell))
3434 then !(isDefined(o.matcherFeeAssetId))
3535 else false)
3636 then if (!(isDefined(o.assetPair.priceAsset)))
3737 then true
3838 else !(isDefined(o.assetPair.amountAsset))
3939 else false)
4040 then !(isFiatAsset(o.assetPair.priceAsset))
4141 else false
4242 if (rightOrder)
4343 then sigVerify(o.bodyBytes, o.proofs[0], traderPubKey)
4444 else false
4545 case b: BurnTransaction =>
4646 let rightBurn = if (if ((b.assetId != payoutAssetId))
4747 then (b.assetId != if (isDefined(priceAssetId))
4848 then priceAssetId
4949 else base58'')
5050 else false)
5151 then (b.assetId != if (isDefined(amountAssetId))
5252 then amountAssetId
5353 else base58'')
5454 else false
5555 if (rightBurn)
5656 then sigVerify(b.bodyBytes, b.proofs[0], traderPubKey)
5757 else false
5858 case t: TransferTransaction =>
59+ let recipient = addressFromRecipient(t.recipient)
5960 let rightTransfer = if (if ((t.assetId == payoutAssetId))
60- then (addressFromRecipient(t.recipient) == addressFromString(payoutAddress))
61+ then (recipient == addressFromString(payoutAddress))
6162 else false)
6263 then true
6364 else if (if ((t.assetId == priceAssetId))
6465 then true
6566 else (t.assetId == amountAssetId))
66- then (addressFromRecipient(t.recipient) == addressFromString(redeemAddress))
67+ then (recipient == addressFromString(redeemAddress))
6768 else false
6869 if (rightTransfer)
6970 then if (sigVerify(t.bodyBytes, t.proofs[1], managerPubKey))
7071 then true
7172 else lockExpired
7273 else false
7374 case s: SetScriptTransaction =>
7475 let keys = extract(s.senderPublicKey) :: investorPubKeys
7576 let rightSetScript = ((if (sigVerify(s.bodyBytes, s.proofs[1], keys[1]))
7677 then 1
7778 else 0) > (size(investorPubKeys) / 2))
7879 if (rightSetScript)
7980 then sigVerify(s.bodyBytes, s.proofs[0], keys[0])
8081 else false
8182 case _ =>
8283 false
8384 }

github/deemru/w8io/3ef1775 
59.09 ms