tx · 2weLeB1a2YUQmvWJk7Q4oBBrxYujxnoxceYuFa5WTjhZ 3MozTr8r7fZ1siohKsJgDUBykyB3ZAmTXQz: -1.00000000 Waves 2019.09.11 23:45 [671978] smart asset 3MozTr8r7fZ1siohKsJgDUBykyB3ZAmTXQz > SELF 0.00000000 DualB
{ "type": 15, "id": "2weLeB1a2YUQmvWJk7Q4oBBrxYujxnoxceYuFa5WTjhZ", "fee": 100000000, "feeAssetId": null, "timestamp": 1568234801659, "version": 1, "sender": "3MozTr8r7fZ1siohKsJgDUBykyB3ZAmTXQz", "senderPublicKey": "8xbFEr8yZ5HF64v8tiadoqScjuYSatXx8ceugsivh1zn", "proofs": [ "khv3gdG9xWpW8vJStygMo3w2R5F3yGP8enVVZ39K2gthKvJRxfXhxvhFmG9UxNHp2zGi7g8qUk4NSBsCJdCPgWZ" ], "assetId": "xQ1Tz4qgbFNaPuhrBbzL3ZxaDCTuoFuAJwxYsK52FSV", "script": "base64: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", "chainId": 84, "height": 671978, "spentComplexity": 0 } View: original | compacted Prev: 3CisjpDgeFScx7PD5PUnhh3MEzpz6cimBG5TobVdMYpc Next: none Diff:
Old | New | Differences | |
---|---|---|---|
3 | 3 | let Bdual = base58'xQ1Tz4qgbFNaPuhrBbzL3ZxaDCTuoFuAJwxYsK52FSV' | |
4 | 4 | let Adual = base58'HVRv6zPUYH7FKeRPAtDtQVAUdrJZdd3C4Qouz5ra55zs' | |
5 | 5 | match tx { | |
6 | - | case tx: ExchangeTransaction => | |
7 | - | let buy = sigVerify(tx.buyOrder.bodyBytes, tx.buyOrder.proofs[0], tx.buyOrder.senderPublicKey) | |
8 | - | let adminPublicKey = base58'8xbFEr8yZ5HF64v8tiadoqScjuYSatXx8ceugsivh1zn' | |
9 | - | let permit = sigVerify(tx.sellOrder.bodyBytes, tx.sellOrder.proofs[0], adminPublicKey) | |
10 | - | if (permit) | |
11 | - | then true | |
12 | - | else if ((assetBalance(tx.sellOrder.sender, Adual) >= ((assetBalance(tx.sellOrder.sender, Bdual) / 100) * 70))) | |
13 | - | then true | |
14 | - | else if (buy) | |
15 | - | then true | |
16 | - | else throw("You do not have enough token B, more information on our sity vk.com.") | |
6 | + | case t: MassTransferTransaction|TransferTransaction => | |
7 | + | let txId = t.attachment | |
8 | + | let transaction = transactionById(extract(t.assetId)) | |
9 | + | match transaction { | |
10 | + | case IssueTransaction => | |
11 | + | let receiveTx = transactionById(txId) | |
12 | + | match receiveTx { | |
13 | + | case recTx: MassTransferTransaction|TransferTransaction => | |
14 | + | let time = recTx.timestamp | |
15 | + | let timeglobal = t.timestamp | |
16 | + | if ((60 > (timeglobal - time))) | |
17 | + | then match tx { | |
18 | + | case tx: ExchangeTransaction => | |
19 | + | let buy = sigVerify(tx.buyOrder.bodyBytes, tx.buyOrder.proofs[0], tx.buyOrder.senderPublicKey) | |
20 | + | let adminPublicKey = base58'8xbFEr8yZ5HF64v8tiadoqScjuYSatXx8ceugsivh1zn' | |
21 | + | let permit = sigVerify(tx.sellOrder.bodyBytes, tx.sellOrder.proofs[0], adminPublicKey) | |
22 | + | if (permit) | |
23 | + | then true | |
24 | + | else if ((assetBalance(tx.sellOrder.sender, Adual) >= ((assetBalance(tx.sellOrder.sender, Bdual) / 100) * 70))) | |
25 | + | then true | |
26 | + | else if (buy) | |
27 | + | then true | |
28 | + | else throw("You do not have enough token B, more information on our sity vk.com.") | |
29 | + | case _ => | |
30 | + | true | |
31 | + | } | |
32 | + | else false | |
33 | + | case _ => | |
34 | + | true | |
35 | + | } | |
36 | + | } | |
17 | 37 | case mass: SetAssetScriptTransaction|ReissueTransaction|MassTransferTransaction|TransferTransaction => | |
18 | 38 | let transaction = transactionById(extract(mass.assetId)) | |
19 | 39 | match transaction { |
Old | New | Differences | |
---|---|---|---|
1 | 1 | {-# STDLIB_VERSION 2 #-} | |
2 | 2 | {-# CONTENT_TYPE EXPRESSION #-} | |
3 | 3 | let Bdual = base58'xQ1Tz4qgbFNaPuhrBbzL3ZxaDCTuoFuAJwxYsK52FSV' | |
4 | 4 | let Adual = base58'HVRv6zPUYH7FKeRPAtDtQVAUdrJZdd3C4Qouz5ra55zs' | |
5 | 5 | match tx { | |
6 | - | case tx: ExchangeTransaction => | |
7 | - | let buy = sigVerify(tx.buyOrder.bodyBytes, tx.buyOrder.proofs[0], tx.buyOrder.senderPublicKey) | |
8 | - | let adminPublicKey = base58'8xbFEr8yZ5HF64v8tiadoqScjuYSatXx8ceugsivh1zn' | |
9 | - | let permit = sigVerify(tx.sellOrder.bodyBytes, tx.sellOrder.proofs[0], adminPublicKey) | |
10 | - | if (permit) | |
11 | - | then true | |
12 | - | else if ((assetBalance(tx.sellOrder.sender, Adual) >= ((assetBalance(tx.sellOrder.sender, Bdual) / 100) * 70))) | |
13 | - | then true | |
14 | - | else if (buy) | |
15 | - | then true | |
16 | - | else throw("You do not have enough token B, more information on our sity vk.com.") | |
6 | + | case t: MassTransferTransaction|TransferTransaction => | |
7 | + | let txId = t.attachment | |
8 | + | let transaction = transactionById(extract(t.assetId)) | |
9 | + | match transaction { | |
10 | + | case IssueTransaction => | |
11 | + | let receiveTx = transactionById(txId) | |
12 | + | match receiveTx { | |
13 | + | case recTx: MassTransferTransaction|TransferTransaction => | |
14 | + | let time = recTx.timestamp | |
15 | + | let timeglobal = t.timestamp | |
16 | + | if ((60 > (timeglobal - time))) | |
17 | + | then match tx { | |
18 | + | case tx: ExchangeTransaction => | |
19 | + | let buy = sigVerify(tx.buyOrder.bodyBytes, tx.buyOrder.proofs[0], tx.buyOrder.senderPublicKey) | |
20 | + | let adminPublicKey = base58'8xbFEr8yZ5HF64v8tiadoqScjuYSatXx8ceugsivh1zn' | |
21 | + | let permit = sigVerify(tx.sellOrder.bodyBytes, tx.sellOrder.proofs[0], adminPublicKey) | |
22 | + | if (permit) | |
23 | + | then true | |
24 | + | else if ((assetBalance(tx.sellOrder.sender, Adual) >= ((assetBalance(tx.sellOrder.sender, Bdual) / 100) * 70))) | |
25 | + | then true | |
26 | + | else if (buy) | |
27 | + | then true | |
28 | + | else throw("You do not have enough token B, more information on our sity vk.com.") | |
29 | + | case _ => | |
30 | + | true | |
31 | + | } | |
32 | + | else false | |
33 | + | case _ => | |
34 | + | true | |
35 | + | } | |
36 | + | } | |
17 | 37 | case mass: SetAssetScriptTransaction|ReissueTransaction|MassTransferTransaction|TransferTransaction => | |
18 | 38 | let transaction = transactionById(extract(mass.assetId)) | |
19 | 39 | match transaction { | |
20 | 40 | case issueTx: IssueTransaction => | |
21 | 41 | (mass.senderPublicKey == issueTx.senderPublicKey) | |
22 | 42 | case _ => | |
23 | 43 | throw("You cannot transfer this token") | |
24 | 44 | } | |
25 | 45 | case _ => | |
26 | 46 | true | |
27 | 47 | } |
github/deemru/w8io/169f3d6 29.59 ms ◑![]()