tx · CMe2t72qMoktwD1GKzW4VQbH5NACz65NtTGDFp2domrS
3MygQawG2gPjoej8wX2cqkxmg7KXAPP6xar: -1.00000000 Waves
2020.09.03 19:57 [1161475] smart asset 3MygQawG2gPjoej8wX2cqkxmg7KXAPP6xar > SELF 0.00000000 Test200
{
"type": 15,
"id": "CMe2t72qMoktwD1GKzW4VQbH5NACz65NtTGDFp2domrS",
"fee": 100000000,
"feeAssetId": null,
"timestamp": 1599152258101,
"version": 1,
"sender": "3MygQawG2gPjoej8wX2cqkxmg7KXAPP6xar",
"senderPublicKey": "BUxg9XtvamV81CZCqrQzi8BxCizU41dpSqoqt5mW56XS",
"proofs": [
"39GzhPNo3QVFzwgDRsk8TpZg3Vg4j2fp4Z3551vspxogyLRqSthZwmxmCfhHi7mEukYvhTpVEUiu5EDgEagRcbKU"
],
"assetId": "ELifKEtwTDt6TVLYYWJKNoCKuNJxzFTDcR5YC8YBWh2e",
"script": "base64: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",
"chainId": 84,
"height": 1161475,
"applicationStatus": "succeeded",
"spentComplexity": 0
}
View: original | compacted
Prev: Fpppnw1wuD9xjR2XccVEMV5eH9BAJfu2e1owvj3Z3gyW
Next: CX5LGaeAKUSnxTgpK5NYxa1sAgA7aea6hP6aN9T9b1eJ
Diff:
Old | New | | Differences |
---|
4 | 4 | | let adminPK = base58'BUxg9XtvamV81CZCqrQzi8BxCizU41dpSqoqt5mW56XS' |
---|
5 | 5 | | let tim = (lastBlock.timestamp / 1000) |
---|
6 | 6 | | let sponsor = base58'5QNpGE1TbLFPcKiKcNpnShmJWx9DH2UUtGNWgf8TVDaC' |
---|
| 7 | + | let startTime = 1598979600 |
---|
| 8 | + | let startPrice = 100000 |
---|
| 9 | + | let intervalTime = 259200 |
---|
| 10 | + | let intervalPrice = 100000 |
---|
| 11 | + | let period = ((tim - startTime) / intervalTime) |
---|
| 12 | + | let periodEnd = (((period + 1) * intervalTime) + startTime) |
---|
| 13 | + | let priceSell = (startPrice + (intervalPrice * period)) |
---|
| 14 | + | let priceBuyMin = (priceSell - intervalPrice) |
---|
| 15 | + | let priceBuyMax = (priceSell + intervalPrice) |
---|
7 | 16 | | match tx { |
---|
8 | 17 | | case tx: MassTransferTransaction|BurnTransaction|SetAssetScriptTransaction|ReissueTransaction => |
---|
9 | 18 | | (tx.sender == dAppAddress) |
---|
10 | 19 | | case t: TransferTransaction => |
---|
11 | 20 | | if ((t.feeAssetId != sponsor)) |
---|
12 | | - | then throw("### To send, use the sponsor token AYDIK ID - 5QNpGE1TbLFPcKiKcNpnShmJWx9DH2UUtGNWgf8TVDaC ### Для отправки используйте спонсорский токен AYDIK ID - 5QNpGE1TbLFPcKiKcNpnShmJWx9DH2UUtGNWgf8TVDaC ### |
---|
13 | | - | |
---|
14 | | - | ") |
---|
| 21 | + | then throw("### To send, use the sponsor token AYDIK ID - 5QNpGE1TbLFPcKiKcNpnShmJWx9DH2UUtGNWgf8TVDaC ### Для отправки используйте спонсорский токен AYDIK ID - 5QNpGE1TbLFPcKiKcNpnShmJWx9DH2UUtGNWgf8TVDaC ###") |
---|
15 | 22 | | else true |
---|
16 | 23 | | case e: ExchangeTransaction => |
---|
17 | 24 | | let admin = (e.sellOrder.sender == addressFromPublicKey(adminPK)) |
---|
18 | 25 | | if (admin) |
---|
19 | 26 | | then true |
---|
20 | 27 | | else if (isDefined(e.sellOrder.assetPair.priceAsset)) |
---|
21 | | - | then throw((("###" + toString(tim)) + "###")) |
---|
| 28 | + | then throw("Торговая пара только с WAVES") |
---|
22 | 29 | | else if ((e.buyOrder.orderType == Buy)) |
---|
23 | | - | then if ((94999999 > e.buyOrder.price)) |
---|
24 | | - | then throw((("###" + toString(tim)) + "###")) |
---|
| 30 | + | then if (if (((priceBuyMin - 1) > e.buyOrder.price)) |
---|
| 31 | + | then true |
---|
| 32 | + | else (e.buyOrder.price > (priceBuyMax + 1))) |
---|
| 33 | + | then throw((((("### Диапазон торговли " + toString(priceBuyMin)) + " - ") + toString(priceBuyMax)) + " Wavelets ###")) |
---|
25 | 34 | | else true |
---|
26 | 35 | | else if ((e.sellOrder.orderType == Sell)) |
---|
27 | | - | then if ((49999999 > e.sellOrder.price)) |
---|
28 | | - | then throw((("###" + toString(tim)) + "###")) |
---|
| 36 | + | then if (((priceSell - 1) > e.sellOrder.price)) |
---|
| 37 | + | then throw((("### Минимальная цена продажи " + toString(priceSell)) + " Wavelets ###")) |
---|
29 | 38 | | else true |
---|
30 | 39 | | else throw("Something bad happened") |
---|
31 | 40 | | case _ => |
---|
Full:
Old | New | | Differences |
---|
1 | 1 | | {-# STDLIB_VERSION 3 #-} |
---|
2 | 2 | | {-# CONTENT_TYPE EXPRESSION #-} |
---|
3 | 3 | | let dAppAddress = addressFromString("3MygQawG2gPjoej8wX2cqkxmg7KXAPP6xar") |
---|
4 | 4 | | let adminPK = base58'BUxg9XtvamV81CZCqrQzi8BxCizU41dpSqoqt5mW56XS' |
---|
5 | 5 | | let tim = (lastBlock.timestamp / 1000) |
---|
6 | 6 | | let sponsor = base58'5QNpGE1TbLFPcKiKcNpnShmJWx9DH2UUtGNWgf8TVDaC' |
---|
| 7 | + | let startTime = 1598979600 |
---|
| 8 | + | let startPrice = 100000 |
---|
| 9 | + | let intervalTime = 259200 |
---|
| 10 | + | let intervalPrice = 100000 |
---|
| 11 | + | let period = ((tim - startTime) / intervalTime) |
---|
| 12 | + | let periodEnd = (((period + 1) * intervalTime) + startTime) |
---|
| 13 | + | let priceSell = (startPrice + (intervalPrice * period)) |
---|
| 14 | + | let priceBuyMin = (priceSell - intervalPrice) |
---|
| 15 | + | let priceBuyMax = (priceSell + intervalPrice) |
---|
7 | 16 | | match tx { |
---|
8 | 17 | | case tx: MassTransferTransaction|BurnTransaction|SetAssetScriptTransaction|ReissueTransaction => |
---|
9 | 18 | | (tx.sender == dAppAddress) |
---|
10 | 19 | | case t: TransferTransaction => |
---|
11 | 20 | | if ((t.feeAssetId != sponsor)) |
---|
12 | | - | then throw("### To send, use the sponsor token AYDIK ID - 5QNpGE1TbLFPcKiKcNpnShmJWx9DH2UUtGNWgf8TVDaC ### Для отправки используйте спонсорский токен AYDIK ID - 5QNpGE1TbLFPcKiKcNpnShmJWx9DH2UUtGNWgf8TVDaC ### |
---|
13 | | - | |
---|
14 | | - | ") |
---|
| 21 | + | then throw("### To send, use the sponsor token AYDIK ID - 5QNpGE1TbLFPcKiKcNpnShmJWx9DH2UUtGNWgf8TVDaC ### Для отправки используйте спонсорский токен AYDIK ID - 5QNpGE1TbLFPcKiKcNpnShmJWx9DH2UUtGNWgf8TVDaC ###") |
---|
15 | 22 | | else true |
---|
16 | 23 | | case e: ExchangeTransaction => |
---|
17 | 24 | | let admin = (e.sellOrder.sender == addressFromPublicKey(adminPK)) |
---|
18 | 25 | | if (admin) |
---|
19 | 26 | | then true |
---|
20 | 27 | | else if (isDefined(e.sellOrder.assetPair.priceAsset)) |
---|
21 | | - | then throw((("###" + toString(tim)) + "###")) |
---|
| 28 | + | then throw("Торговая пара только с WAVES") |
---|
22 | 29 | | else if ((e.buyOrder.orderType == Buy)) |
---|
23 | | - | then if ((94999999 > e.buyOrder.price)) |
---|
24 | | - | then throw((("###" + toString(tim)) + "###")) |
---|
| 30 | + | then if (if (((priceBuyMin - 1) > e.buyOrder.price)) |
---|
| 31 | + | then true |
---|
| 32 | + | else (e.buyOrder.price > (priceBuyMax + 1))) |
---|
| 33 | + | then throw((((("### Диапазон торговли " + toString(priceBuyMin)) + " - ") + toString(priceBuyMax)) + " Wavelets ###")) |
---|
25 | 34 | | else true |
---|
26 | 35 | | else if ((e.sellOrder.orderType == Sell)) |
---|
27 | | - | then if ((49999999 > e.sellOrder.price)) |
---|
28 | | - | then throw((("###" + toString(tim)) + "###")) |
---|
| 36 | + | then if (((priceSell - 1) > e.sellOrder.price)) |
---|
| 37 | + | then throw((("### Минимальная цена продажи " + toString(priceSell)) + " Wavelets ###")) |
---|
29 | 38 | | else true |
---|
30 | 39 | | else throw("Something bad happened") |
---|
31 | 40 | | case _ => |
---|
32 | 41 | | false |
---|
33 | 42 | | } |
---|