tx · DMdFyohQinUSMAfZugcuf11WZh9hmdEBvLURo6ApKBeQ

3P9Typ8Wnoxt719juABnCeErU5wAvfcXAU9:  -1.00400000 Waves

2019.07.22 11:37 [1626673] smart asset 3P9Typ8Wnoxt719juABnCeErU5wAvfcXAU9 > SELF 0.00000000 TETH

{ "type": 15, "id": "DMdFyohQinUSMAfZugcuf11WZh9hmdEBvLURo6ApKBeQ", "fee": 100400000, "feeAssetId": null, "timestamp": 1563784615407, "version": 1, "sender": "3P9Typ8Wnoxt719juABnCeErU5wAvfcXAU9", "senderPublicKey": "8aTd48D3ZAesTTu91EY4oDZGFZ1KzCCZF3rrDKZgpfoR", "proofs": [ "3Y6PE34bmGfPmoUt83GjyAWnvdRcoegRWNKJUA3cTBfk6UiEZQvkGWGSkitZNxqCaTxwrDoJfBTj7RYXQo6q8Lmm" ], "assetId": "HnEtQ7kZCbpa8gDMtkKE1qkvqZVhQBR6iEo1xMoX1abv", "script": "base64:AgQAAAAObWF0Y2hlckFkZHJlc3MJAQAAABFhZGRyZXNzRnJvbVN0cmluZwAAAAECAAAAIzNQSmp3RlJFZzhGOVY2Q3A5Zm5VdUV3UnRzNkhRUWE1bmZQBAAAAA5nYXRld2F5QWRkcmVzcwkBAAAAEWFkZHJlc3NGcm9tU3RyaW5nAAAAAQIAAAAjM1A5VHlwOFdub3h0NzE5anVBQm5DZUVyVTV3QXZmY1hBVTkEAAAADVdoaXRlbGlzdEFkZHIJAQAAABFhZGRyZXNzRnJvbVN0cmluZwAAAAECAAAAIzNQODdIZVZFdko4eFdpUVc2TjNmcENCSE14d2N6ZUdxeXFEBAAAAAp2YWxpZFN0YXRlAAAAAAAAAAPoBAAAAANWZXICAAAABTEuMS4zBAAAAAckbWF0Y2gwBQAAAAJ0eAMJAAABAAAAAgUAAAAHJG1hdGNoMAIAAAAXTWFzc1RyYW5zZmVyVHJhbnNhY3Rpb24EAAAAAnR4BQAAAAckbWF0Y2gwBwMJAAABAAAAAgUAAAAHJG1hdGNoMAIAAAATVHJhbnNmZXJUcmFuc2FjdGlvbgQAAAACdHgFAAAAByRtYXRjaDADAwkBAAAAAiE9AAAAAggFAAAAAnR4AAAABnNlbmRlcgUAAAAOZ2F0ZXdheUFkZHJlc3MJAQAAAAIhPQAAAAIIBQAAAAJ0eAAAAAlyZWNpcGllbnQFAAAADmdhdGV3YXlBZGRyZXNzBwkAAAIAAAABAgAAACxPbmx5IHRyYW5zYWN0aW9ucyB3aXRoIGEgZ2F0ZXdheSBhcmUgYWxsb3dlZAMJAAAAAAAAAggFAAAAAnR4AAAABnNlbmRlcgUAAAAOZ2F0ZXdheUFkZHJlc3MGBAAAAAp3aGl0ZTFMaXN0CQACWAAAAAEICAUAAAACdHgAAAAGc2VuZGVyAAAABWJ5dGVzBAAAAAhhc3NldFR4dAkAAlgAAAABCQEAAAAHZXh0cmFjdAAAAAEIBQAAAAJ0eAAAAAdhc3NldElkBAAAAA93aGl0ZTFMaXN0QXNzZXQJAAEsAAAAAgkAASwAAAACBQAAAAp3aGl0ZTFMaXN0AgAAAAFfBQAAAAhhc3NldFR4dAQAAAARd2hpdGUxTGlzdE92ZXJhbGwJAAEsAAAAAgIAAAAEcmVzXwUAAAAIYXNzZXRUeHQEAAAAD3doaXRlMUxpc3RFbnRyeQkABBoAAAACCQEAAAAHZXh0cmFjdAAAAAEFAAAADVdoaXRlbGlzdEFkZHIFAAAACndoaXRlMUxpc3QDCQEAAAABIQAAAAEJAQAAAAlpc0RlZmluZWQAAAABBQAAAA93aGl0ZTFMaXN0RW50cnkJAAACAAAAAQIAAAAtVGhlIHNlbmRlcidzIGFkZHJlc3MgaXMgbm90IGluIHRoZSB3aGl0ZSBsaXN0AwkBAAAAAiE9AAAAAgUAAAAPd2hpdGUxTGlzdEVudHJ5BQAAAAp2YWxpZFN0YXRlCQAAAgAAAAECAAAAHFNlbmRlciBpcyBub3QgaW4gdmFsaWQgc3RhdGUEAAAAFHdoaXRlMUxpc3RBc3NldEVudHJ5CQAEGgAAAAIJAQAAAAdleHRyYWN0AAAAAQUAAAANV2hpdGVsaXN0QWRkcgUAAAAPd2hpdGUxTGlzdEFzc2V0AwkBAAAAASEAAAABCQEAAAAJaXNEZWZpbmVkAAAAAQUAAAAUd2hpdGUxTGlzdEFzc2V0RW50cnkEAAAAFndoaXRlMUxpc3RPdmVyYWxsRW50cnkJAAQaAAAAAgkBAAAAB2V4dHJhY3QAAAABBQAAAA1XaGl0ZWxpc3RBZGRyBQAAABF3aGl0ZTFMaXN0T3ZlcmFsbAMJAQAAAAEhAAAAAQkBAAAACWlzRGVmaW5lZAAAAAEFAAAAFndoaXRlMUxpc3RPdmVyYWxsRW50cnkGBAAAAAtjdXIxQmFsYW5jZQkAA+sAAAACCAUAAAACdHgAAAAGc2VuZGVyCAUAAAACdHgAAAAHYXNzZXRJZAMJAABmAAAAAgkBAAAAB2V4dHJhY3QAAAABBQAAABZ3aGl0ZTFMaXN0T3ZlcmFsbEVudHJ5CQAAZQAAAAIFAAAAC2N1cjFCYWxhbmNlCAUAAAACdHgAAAAGYW1vdW50CQAAAgAAAAECAAAAI1VuYWJsZSB0byBzZW5kIHN1Y2ggYW1vdW50ICh0eXBlPTEpBgQAAAALY3VyMUJhbGFuY2UJAAPrAAAAAggFAAAAAnR4AAAABnNlbmRlcggFAAAAAnR4AAAAB2Fzc2V0SWQDCQAAZgAAAAIJAQAAAAdleHRyYWN0AAAAAQUAAAAUd2hpdGUxTGlzdEFzc2V0RW50cnkJAABlAAAAAgUAAAALY3VyMUJhbGFuY2UIBQAAAAJ0eAAAAAZhbW91bnQJAAACAAAAAQIAAAAjVW5hYmxlIHRvIHNlbmQgc3VjaCBhbW91bnQgKHR5cGU9MikGAwkAAAEAAAACBQAAAAckbWF0Y2gwAgAAABNFeGNoYW5nZVRyYW5zYWN0aW9uBAAAAAJ0eAUAAAAHJG1hdGNoMAMJAQAAAAIhPQAAAAIIBQAAAAJ0eAAAAAZzZW5kZXIFAAAADm1hdGNoZXJBZGRyZXNzCQAAAgAAAAECAAAAGUluY29ycmVjdCBtYXRjaGVyIGFkZHJlc3MEAAAAEW91dGNvbWluZzFBY2NvdW50CAgFAAAAAnR4AAAACGJ1eU9yZGVyAAAABnNlbmRlcgQAAAARb3V0Y29taW5nMkFjY291bnQICAUAAAACdHgAAAAJc2VsbE9yZGVyAAAABnNlbmRlcgQAAAAKd2hpdGUxTGlzdAkAAlgAAAABCAUAAAARb3V0Y29taW5nMUFjY291bnQAAAAFYnl0ZXMEAAAACndoaXRlMkxpc3QJAAJYAAAAAQgFAAAAEW91dGNvbWluZzJBY2NvdW50AAAABWJ5dGVzBAAAAA93aGl0ZTFMaXN0RW50cnkJAAQaAAAAAgkBAAAAB2V4dHJhY3QAAAABBQAAAA1XaGl0ZWxpc3RBZGRyCQACWAAAAAEIBQAAABFvdXRjb21pbmcxQWNjb3VudAAAAAVieXRlcwQAAAAPd2hpdGUyTGlzdEVudHJ5CQAEGgAAAAIJAQAAAAdleHRyYWN0AAAAAQUAAAANV2hpdGVsaXN0QWRkcgkAAlgAAAABCAUAAAARb3V0Y29taW5nMkFjY291bnQAAAAFYnl0ZXMDCQEAAAABIQAAAAEJAQAAAAlpc0RlZmluZWQAAAABBQAAAA93aGl0ZTFMaXN0RW50cnkJAAACAAAAAQkAASwAAAACCQABLAAAAAICAAAABVVzZXIgBQAAAAp3aGl0ZTFMaXN0AgAAABIgbm90IGluIHdoaXRlIGxpc3QDCQEAAAACIT0AAAACBQAAAA93aGl0ZTFMaXN0RW50cnkFAAAACnZhbGlkU3RhdGUJAAACAAAAAQkAASwAAAACCQABLAAAAAICAAAABVVzZXIgBQAAAAp3aGl0ZTFMaXN0AgAAABMgbm90IGluIHZhbGlkIHN0YXRlAwkBAAAAASEAAAABCQEAAAAJaXNEZWZpbmVkAAAAAQUAAAAPd2hpdGUyTGlzdEVudHJ5CQAAAgAAAAEJAAEsAAAAAgkAASwAAAACAgAAAAVVc2VyIAUAAAAKd2hpdGUyTGlzdAIAAAASIG5vdCBpbiB3aGl0ZSBsaXN0AwkBAAAAAiE9AAAAAgUAAAAPd2hpdGUyTGlzdEVudHJ5BQAAAAp2YWxpZFN0YXRlCQAAAgAAAAEJAAEsAAAAAgkAASwAAAACAgAAAAVVc2VyIAUAAAAKd2hpdGUyTGlzdAIAAAATIG5vdCBpbiB2YWxpZCBzdGF0ZQYDCQAAAQAAAAIFAAAAByRtYXRjaDACAAAAGVNldEFzc2V0U2NyaXB0VHJhbnNhY3Rpb24EAAAAAnR4BQAAAAckbWF0Y2gwBAAAAAlwQWRkcmVzczEJAQAAABFhZGRyZXNzRnJvbVN0cmluZwAAAAECAAAAIzNQQXhDSnlma0dmMlpIaURLWHd0R3VKZGNzRjYzNTc3RWlqBAAAAAlwQWRkcmVzczIJAQAAABFhZGRyZXNzRnJvbVN0cmluZwAAAAECAAAAIzNQRWhKc3lUUUJ1bWtHNEJISFppaHNzNE5UMWJRNGlZd3hCBAAAAAlwQWRkcmVzczMJAQAAABFhZGRyZXNzRnJvbVN0cmluZwAAAAECAAAAIzNQUW5wRnJDTDNMU2RSTDdBWWs1dFphNXVZWFlnVmZ3N0FvBAAAAAlwQWRkcmVzczQJAQAAABFhZGRyZXNzRnJvbVN0cmluZwAAAAECAAAAIzNQSnExOE1YaU51V1hIVUJlUm9haXAyc1JaU1Y4eWpLaVU4BAAAAAlwQWRkcmVzczUJAQAAABFhZGRyZXNzRnJvbVN0cmluZwAAAAECAAAAIzNQQ1FoYUxvcDlVZVRNRDk0S0xaSmQ5NDdOQkxLbjNuR1ZLBAAAAAtwS2V5MVNpZ25lZAMJAQAAAAlpc0RlZmluZWQAAAABCQAEGgAAAAIJAQAAAAdleHRyYWN0AAAAAQUAAAAJcEFkZHJlc3MxCQACWAAAAAEIBQAAAAJ0eAAAAAJpZAAAAAAAAAAAAQAAAAAAAAAAAAQAAAALcEtleTJTaWduZWQDCQEAAAAJaXNEZWZpbmVkAAAAAQkABBoAAAACCQEAAAAHZXh0cmFjdAAAAAEFAAAACXBBZGRyZXNzMgkAAlgAAAABCAUAAAACdHgAAAACaWQAAAAAAAAAAAEAAAAAAAAAAAAEAAAAC3BLZXkzU2lnbmVkAwkBAAAACWlzRGVmaW5lZAAAAAEJAAQaAAAAAgkBAAAAB2V4dHJhY3QAAAABBQAAAAlwQWRkcmVzczMJAAJYAAAAAQgFAAAAAnR4AAAAAmlkAAAAAAAAAAABAAAAAAAAAAAABAAAAAtwS2V5NFNpZ25lZAMJAQAAAAlpc0RlZmluZWQAAAABCQAEGgAAAAIJAQAAAAdleHRyYWN0AAAAAQUAAAAJcEFkZHJlc3M0CQACWAAAAAEIBQAAAAJ0eAAAAAJpZAAAAAAAAAAAAQAAAAAAAAAAAAQAAAALcEtleTVTaWduZWQDCQEAAAAJaXNEZWZpbmVkAAAAAQkABBoAAAACCQEAAAAHZXh0cmFjdAAAAAEFAAAACXBBZGRyZXNzNQkAAlgAAAABCAUAAAACdHgAAAACaWQAAAAAAAAAAAEAAAAAAAAAAAAJAABnAAAAAgkAAGQAAAACCQAAZAAAAAIJAABkAAAAAgkAAGQAAAACBQAAAAtwS2V5MVNpZ25lZAUAAAALcEtleTJTaWduZWQFAAAAC3BLZXkzU2lnbmVkBQAAAAtwS2V5NFNpZ25lZAUAAAALcEtleTVTaWduZWQAAAAAAAAAAAMDCQAAAQAAAAIFAAAAByRtYXRjaDACAAAAD0J1cm5UcmFuc2FjdGlvbgQAAAACdHgFAAAAByRtYXRjaDAJAAAAAAAAAggFAAAAAnR4AAAABnNlbmRlcgUAAAAOZ2F0ZXdheUFkZHJlc3MDCQAAAQAAAAIFAAAAByRtYXRjaDACAAAAElJlaXNzdWVUcmFuc2FjdGlvbgQAAAACdHgFAAAAByRtYXRjaDAJAAAAAAAAAggFAAAAAnR4AAAABnNlbmRlcgUAAAAOZ2F0ZXdheUFkZHJlc3MHxMqSIw==", "chainId": 87, "height": 1626673, "spentComplexity": 0 } View: original | compacted Prev: 7yrVDQNe8ohpmKXGPxPj3awcPfF76AzStKJxyLaKted7 Next: 9ajcjYMbTtYoX3EgJ1UKwUyWPc8SK4RwH66wCbmWwfF9 Diff:
OldNewDifferences
44 let gatewayAddress = addressFromString("3P9Typ8Wnoxt719juABnCeErU5wAvfcXAU9")
55 let WhitelistAddr = addressFromString("3P87HeVEvJ8xWiQW6N3fpCBHMxwczeGqyqD")
66 let validState = 1000
7-let Ver = "1.0.3"
7+let Ver = "1.1.3"
88 match tx {
99 case tx: MassTransferTransaction =>
1010 false
9191 (((((pKey1Signed + pKey2Signed) + pKey3Signed) + pKey4Signed) + pKey5Signed) >= 3)
9292 case tx: BurnTransaction =>
9393 (tx.sender == gatewayAddress)
94+ case tx: ReissueTransaction =>
95+ (tx.sender == gatewayAddress)
9496 case _ =>
9597 false
9698 }
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 2 #-}
22 {-# CONTENT_TYPE EXPRESSION #-}
33 let matcherAddress = addressFromString("3PJjwFREg8F9V6Cp9fnUuEwRts6HQQa5nfP")
44 let gatewayAddress = addressFromString("3P9Typ8Wnoxt719juABnCeErU5wAvfcXAU9")
55 let WhitelistAddr = addressFromString("3P87HeVEvJ8xWiQW6N3fpCBHMxwczeGqyqD")
66 let validState = 1000
7-let Ver = "1.0.3"
7+let Ver = "1.1.3"
88 match tx {
99 case tx: MassTransferTransaction =>
1010 false
1111 case tx: TransferTransaction =>
1212 if (if ((tx.sender != gatewayAddress))
1313 then (tx.recipient != gatewayAddress)
1414 else false)
1515 then throw("Only transactions with a gateway are allowed")
1616 else if ((tx.sender == gatewayAddress))
1717 then true
1818 else {
1919 let white1List = toBase58String(tx.sender.bytes)
2020 let assetTxt = toBase58String(extract(tx.assetId))
2121 let white1ListAsset = ((white1List + "_") + assetTxt)
2222 let white1ListOverall = ("res_" + assetTxt)
2323 let white1ListEntry = getInteger(extract(WhitelistAddr), white1List)
2424 if (!(isDefined(white1ListEntry)))
2525 then throw("The sender's address is not in the white list")
2626 else if ((white1ListEntry != validState))
2727 then throw("Sender is not in valid state")
2828 else {
2929 let white1ListAssetEntry = getInteger(extract(WhitelistAddr), white1ListAsset)
3030 if (!(isDefined(white1ListAssetEntry)))
3131 then {
3232 let white1ListOverallEntry = getInteger(extract(WhitelistAddr), white1ListOverall)
3333 if (!(isDefined(white1ListOverallEntry)))
3434 then true
3535 else {
3636 let cur1Balance = assetBalance(tx.sender, tx.assetId)
3737 if ((extract(white1ListOverallEntry) > (cur1Balance - tx.amount)))
3838 then throw("Unable to send such amount (type=1)")
3939 else true
4040 }
4141 }
4242 else {
4343 let cur1Balance = assetBalance(tx.sender, tx.assetId)
4444 if ((extract(white1ListAssetEntry) > (cur1Balance - tx.amount)))
4545 then throw("Unable to send such amount (type=2)")
4646 else true
4747 }
4848 }
4949 }
5050 case tx: ExchangeTransaction =>
5151 if ((tx.sender != matcherAddress))
5252 then throw("Incorrect matcher address")
5353 else {
5454 let outcoming1Account = tx.buyOrder.sender
5555 let outcoming2Account = tx.sellOrder.sender
5656 let white1List = toBase58String(outcoming1Account.bytes)
5757 let white2List = toBase58String(outcoming2Account.bytes)
5858 let white1ListEntry = getInteger(extract(WhitelistAddr), toBase58String(outcoming1Account.bytes))
5959 let white2ListEntry = getInteger(extract(WhitelistAddr), toBase58String(outcoming2Account.bytes))
6060 if (!(isDefined(white1ListEntry)))
6161 then throw((("User " + white1List) + " not in white list"))
6262 else if ((white1ListEntry != validState))
6363 then throw((("User " + white1List) + " not in valid state"))
6464 else if (!(isDefined(white2ListEntry)))
6565 then throw((("User " + white2List) + " not in white list"))
6666 else if ((white2ListEntry != validState))
6767 then throw((("User " + white2List) + " not in valid state"))
6868 else true
6969 }
7070 case tx: SetAssetScriptTransaction =>
7171 let pAddress1 = addressFromString("3PAxCJyfkGf2ZHiDKXwtGuJdcsF63577Eij")
7272 let pAddress2 = addressFromString("3PEhJsyTQBumkG4BHHZihss4NT1bQ4iYwxB")
7373 let pAddress3 = addressFromString("3PQnpFrCL3LSdRL7AYk5tZa5uYXYgVfw7Ao")
7474 let pAddress4 = addressFromString("3PJq18MXiNuWXHUBeRoaip2sRZSV8yjKiU8")
7575 let pAddress5 = addressFromString("3PCQhaLop9UeTMD94KLZJd947NBLKn3nGVK")
7676 let pKey1Signed = if (isDefined(getInteger(extract(pAddress1), toBase58String(tx.id))))
7777 then 1
7878 else 0
7979 let pKey2Signed = if (isDefined(getInteger(extract(pAddress2), toBase58String(tx.id))))
8080 then 1
8181 else 0
8282 let pKey3Signed = if (isDefined(getInteger(extract(pAddress3), toBase58String(tx.id))))
8383 then 1
8484 else 0
8585 let pKey4Signed = if (isDefined(getInteger(extract(pAddress4), toBase58String(tx.id))))
8686 then 1
8787 else 0
8888 let pKey5Signed = if (isDefined(getInteger(extract(pAddress5), toBase58String(tx.id))))
8989 then 1
9090 else 0
9191 (((((pKey1Signed + pKey2Signed) + pKey3Signed) + pKey4Signed) + pKey5Signed) >= 3)
9292 case tx: BurnTransaction =>
9393 (tx.sender == gatewayAddress)
94+ case tx: ReissueTransaction =>
95+ (tx.sender == gatewayAddress)
9496 case _ =>
9597 false
9698 }

github/deemru/w8io/3ef1775 
110.26 ms