tx · FbVSzW83nMGW8cyErYg5o7JzyhC5CFZrzkUuPXuSn9Cx
3MygQawG2gPjoej8wX2cqkxmg7KXAPP6xar: -1.00000000 Waves
2020.09.06 16:47 [1165610] smart asset 3MygQawG2gPjoej8wX2cqkxmg7KXAPP6xar > SELF 0.00000000 Test200
{
"type": 15,
"id": "FbVSzW83nMGW8cyErYg5o7JzyhC5CFZrzkUuPXuSn9Cx",
"fee": 100000000,
"feeAssetId": null,
"timestamp": 1599400060847,
"version": 1,
"sender": "3MygQawG2gPjoej8wX2cqkxmg7KXAPP6xar",
"senderPublicKey": "BUxg9XtvamV81CZCqrQzi8BxCizU41dpSqoqt5mW56XS",
"proofs": [
"ZUVq5SgSksiLG4E6Lko9ziEejubL5vhoF4JZMYxBQUWkxfiVqa5n1EF3duTvYkvXeEayQxet5RuvhKrojRsiz5H"
],
"assetId": "ELifKEtwTDt6TVLYYWJKNoCKuNJxzFTDcR5YC8YBWh2e",
"script": "base64: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",
"chainId": 84,
"height": 1165610,
"applicationStatus": "succeeded",
"spentComplexity": 0
}
View: original | compacted
Prev: FiXZNS268MPZG85EQW2P1BC2XuH1t3C5nEn1et5c7Xs6
Next: 8xzCNTRDMkphPRcGgR4rwuUpHnKRvfCbGjTLG5iGyWYx
Diff:
Old | New | | Differences |
---|
10 | 10 | | let intervalPrice = 100000 |
---|
11 | 11 | | let period = ((tim - startTime) / intervalTime) |
---|
12 | 12 | | let periodEnd = (((period + 1) * intervalTime) + startTime) |
---|
13 | | - | let priceSell = (startPrice + (intervalPrice * period)) |
---|
14 | | - | let priceBuyMin = (priceSell - intervalPrice) |
---|
15 | | - | let priceBuyMax = (priceSell + intervalPrice) |
---|
| 13 | + | let priceSellMin = (startPrice + (intervalPrice * period)) |
---|
| 14 | + | let priceSellMax = (priceSellMin + intervalPrice) |
---|
16 | 15 | | match tx { |
---|
17 | 16 | | case tx: BurnTransaction|MassTransferTransaction|SetAssetScriptTransaction|ReissueTransaction => |
---|
18 | 17 | | (tx.sender == dAppAddress) |
---|
|
28 | 27 | | then throw("Only waves accepted") |
---|
29 | 28 | | else if ((500000000 > e.sellOrder.amount)) |
---|
30 | 29 | | then throw("объем продажи") |
---|
31 | | - | else if (if ((80000000 > e.buyOrder.price)) |
---|
| 30 | + | else if (if ((priceSellMin > e.buyOrder.price)) |
---|
32 | 31 | | then true |
---|
33 | | - | else (e.sellOrder.price > 120000000)) |
---|
34 | | - | then throw("Объем продажи должен быть больше или равно") |
---|
| 32 | + | else (e.sellOrder.price > priceSellMax)) |
---|
| 33 | + | then throw((((("Диапазон торговли между " + toString(priceSellMin)) + " - ") + toString(priceSellMax)) + " Wavelets")) |
---|
35 | 34 | | else true |
---|
36 | 35 | | case _ => |
---|
37 | 36 | | false |
---|
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 | 7 | | let startTime = 1598979600 |
---|
8 | 8 | | let startPrice = 100000 |
---|
9 | 9 | | let intervalTime = 259200 |
---|
10 | 10 | | let intervalPrice = 100000 |
---|
11 | 11 | | let period = ((tim - startTime) / intervalTime) |
---|
12 | 12 | | let periodEnd = (((period + 1) * intervalTime) + startTime) |
---|
13 | | - | let priceSell = (startPrice + (intervalPrice * period)) |
---|
14 | | - | let priceBuyMin = (priceSell - intervalPrice) |
---|
15 | | - | let priceBuyMax = (priceSell + intervalPrice) |
---|
| 13 | + | let priceSellMin = (startPrice + (intervalPrice * period)) |
---|
| 14 | + | let priceSellMax = (priceSellMin + intervalPrice) |
---|
16 | 15 | | match tx { |
---|
17 | 16 | | case tx: BurnTransaction|MassTransferTransaction|SetAssetScriptTransaction|ReissueTransaction => |
---|
18 | 17 | | (tx.sender == dAppAddress) |
---|
19 | 18 | | case t: TransferTransaction => |
---|
20 | 19 | | if ((t.feeAssetId != sponsor)) |
---|
21 | 20 | | then throw("### To send, use the sponsor token AYDIK ID - 5QNpGE1TbLFPcKiKcNpnShmJWx9DH2UUtGNWgf8TVDaC ### Для отправки используйте спонсорский токен AYDIK ID - 5QNpGE1TbLFPcKiKcNpnShmJWx9DH2UUtGNWgf8TVDaC ###") |
---|
22 | 21 | | else true |
---|
23 | 22 | | case e: ExchangeTransaction => |
---|
24 | 23 | | let admin = (e.sellOrder.sender == addressFromPublicKey(adminPK)) |
---|
25 | 24 | | if (admin) |
---|
26 | 25 | | then true |
---|
27 | 26 | | else if (isDefined(e.sellOrder.assetPair.priceAsset)) |
---|
28 | 27 | | then throw("Only waves accepted") |
---|
29 | 28 | | else if ((500000000 > e.sellOrder.amount)) |
---|
30 | 29 | | then throw("объем продажи") |
---|
31 | | - | else if (if ((80000000 > e.buyOrder.price)) |
---|
| 30 | + | else if (if ((priceSellMin > e.buyOrder.price)) |
---|
32 | 31 | | then true |
---|
33 | | - | else (e.sellOrder.price > 120000000)) |
---|
34 | | - | then throw("Объем продажи должен быть больше или равно") |
---|
| 32 | + | else (e.sellOrder.price > priceSellMax)) |
---|
| 33 | + | then throw((((("Диапазон торговли между " + toString(priceSellMin)) + " - ") + toString(priceSellMax)) + " Wavelets")) |
---|
35 | 34 | | else true |
---|
36 | 35 | | case _ => |
---|
37 | 36 | | false |
---|
38 | 37 | | } |
---|