tx · 74sBJqXLu2Nq5zgUiLNMwbVnLj2VF6ZygVt1dYXpm8wo

3Mx66EFd8iB1tZ6vu7Xx5GMkzbKQc3Nrw81:  -0.05000000 Waves

2020.08.11 03:35 [1127151] smart account 3Mx66EFd8iB1tZ6vu7Xx5GMkzbKQc3Nrw81 > SELF 0.00000000 Waves

{ "type": 13, "id": "74sBJqXLu2Nq5zgUiLNMwbVnLj2VF6ZygVt1dYXpm8wo", "fee": 5000000, "feeAssetId": null, "timestamp": 1597106143762, "version": 1, "sender": "3Mx66EFd8iB1tZ6vu7Xx5GMkzbKQc3Nrw81", "senderPublicKey": "7F9WJ2MEaCQTxjwqCQmL9jHicqJVc3uCmntzCMAK8yq6", "proofs": [ "5mq8UepGsGmGLbquyuXtP2yxHxe7gaMGN2Ek3VRTwPivYEyi38YjADPBw4197Ubzzr3M6oaPKGJTjafWUGXDB3GC" ], "script": "base64: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AgIAAAAOVGhpcyB0b2tlbiBJRCAJAQAAAAlnZXRTdHJWYXIAAAABBQAAAAdjb250YWluAgAAACogaXMgbm90IGFsbG93ZWQgdG8gb3BlcmF0ZSBpbiB0aGlzIGFjY291bnQJAQAAAAh2ZXJpZmllcgAAAAEFAAAACXVzZXJzQWRkcgoBAAAAF2FsbG93ZWRBZGRyU3BvbnNvcmVkRmVlAAAAAQAAAARhZGRyBAAAAAlhZGRyc0xpc3QJAAS1AAAAAgkBAAAAEUBleHRyTmF0aXZlKDEwNTMpAAAAAgkBAAAAFGFkZHJlc3NGcm9tUHVibGljS2V5AAAAAQUAAAALdXNlcnNQdWJLZXkCAAAAEWFsbG93ZWRTcG9uc29yRmVlAgAAAAEsBAAAAAdjb250YWluBAAAAA0kbGlzdDE5NjYyMDEzBQAAAAlhZGRyc0xpc3QEAAAADSRzaXplMTk2NjIwMTMJAAGQAAAAAQUAAAANJGxpc3QxOTY2MjAxMwQAAAANJGFjYzAxOTY2MjAxMwkABCUAAAABBQAAAARhZGRyAwkAAAAAAAACBQAAAA0kc2l6ZTE5NjYyMDEzAAAAAAAAAAAABQAAAA0kYWNjMDE5NjYyMDEzBAAAAA0kYWNjMTE5NjYyMDEzCQEAAAALY29udGFpbkFkZHIAAAACBQAAAA0kYWNjMDE5NjYyMDEzCQABkQAAAAIFAAAADSRsaXN0MTk2NjIwMTMAAAAAAAAAAAADCQAAAAAAAAIFAAAADSRzaXplMTk2NjIwMTMAAAAAAAAAAAEFAAAADSRhY2MxMTk2NjIwMTMEAAAADSRhY2MyMTk2NjIwMTMJAQAAAAtjb250YWluQWRkcgAAAAIFAAAADSRhY2MxMTk2NjIwMTMJAAGRAAAAAgUAAAANJGxpc3QxOTY2MjAxMwAAAAAAAAAAAQMJAAAAAAAAAgUAAAANJHNpemUxOTY2MjAxMwAAAAAAAAAAAgUAAAANJGFjYzIxOTY2MjAxMwQAAAANJGFjYzMxOTY2MjAxMwkBAAAAC2NvbnRhaW5BZGRyAAAAAgUAAAANJGFjYzIxOTY2MjAxMwkAAZEAAAACBQAAAA0kbGlzdDE5NjYyMDEzAAAAAAAAAAACAwkAAAAAAAACBQAAAA0kc2l6ZTE5NjYyMDEzAAAAAAAAAAADBQAAAA0kYWNjMzE5NjYyMDEzBAAAAA0kYWNjNDE5NjYyMDEzCQEAAAALY29udGFpbkFkZHIAAAACBQAAAA0kYWNjMzE5NjYyMDEzCQABkQAAAAIFAAAADSRsaXN0MTk2NjIwMTMAAAAAAAAAAAMDCQAAAAAAAAIFAAAADSRzaXplMTk2NjIwMTMAAAAAAAAAAAQFAAAADSRhY2M0MTk2NjIwMTMEAAAADSRhY2M1MTk2NjIwMTMJAQAAAAtjb250YWluQWRkcgAAAAIFAAAADSRhY2M0MTk2NjIwMTMJAAGRAAAAAgUAAAANJGxpc3QxOTY2MjAxMwAAAAAAAAAABAMJAAAAAAAAAgUAAAANJHNpemUxOTY2MjAxMwAAAAAAAAAABQUAAAANJGFjYzUxOTY2MjAxMwQAAAANJGFjYzYxOTY2MjAxMwkBAAAAC2NvbnRhaW5BZGRyAAAAAgUAAAANJGFjYzUxOTY2MjAxMwkAAZEAAAACBQAAAA0kbGlzdDE5NjYyMDEzAAAAAAAAAAAFCQAAAgAAAAECAAAAEkxpc3Qgc2l6ZSBleGNlZWQgNQMJAQAAAAIhPQAAAAIFAAAAB2NvbnRhaW4GCQAAAgAAAAEJAAEsAAAAAgkAASwAAAACAgAAAA1UaGlzIGFkZHJlc3MgCQEAAAAJZ2V0U3RyVmFyAAAAAQUAAAAHY29udGFpbgIAAAA8IGlzIG5vdCBhbGxvd2VkIHRvIG9wZXJhdGUgd2l0aCB0aGUgQml0Tm9kZXMgc3BvbnNvcmVkIHRva2VuCQEAAAAIdmVyaWZpZXIAAAABBQAAAAR0aGlzBAAAAAckbWF0Y2gwBQAAAAJ0eAMJAAABAAAAAgUAAAAHJG1hdGNoMAIAAAATVHJhbnNmZXJUcmFuc2FjdGlvbgQAAAABdAUAAAAHJG1hdGNoMAMDCQEAAAACIT0AAAACCAUAAAABdAAAAAdhc3NldElkBQAAAARidG5mCQEAAAACIT0AAAACCAUAAAABdAAAAApmZWVBc3NldElkBQAAAARidG5mBwkBAAAAFWFsbG93ZWRUcmFuc2ZlclRva2VucwAAAAEIBQAAAAF0AAAAB2Fzc2V0SWQDAwkAAAAAAAACCAUAAAABdAAAAAdhc3NldElkBQAAAARidG5mBgkAAAAAAAACCAUAAAABdAAAAApmZWVBc3NldElkBQAAAARidG5mCQEAAAAXYWxsb3dlZEFkZHJTcG9uc29yZWRGZWUAAAABCQAEJAAAAAEIBQAAAAF0AAAACXJlY2lwaWVudAkAAAIAAAABAgAAAEtPcGVyYcOnw6NvIG7Do28gYXV0b3JpemFkYSBwYXJhIGNvbnRhcyBjZW50cmFsaXphZGFzIG5hIFBsYXRhZm9ybWEgQml0Tm9kZXMDCQAAAQAAAAIFAAAAByRtYXRjaDACAAAAD0J1cm5UcmFuc2FjdGlvbgQAAAABYgUAAAAHJG1hdGNoMAkBAAAACHZlcmlmaWVyAAAAAQUAAAAJdXNlcnNBZGRyAwkAAAEAAAACBQAAAAckbWF0Y2gwAgAAAA9EYXRhVHJhbnNhY3Rpb24EAAAAAWQFAAAAByRtYXRjaDAJAQAAAAh2ZXJpZmllcgAAAAEFAAAACXVzZXJzQWRkcgMJAAABAAAAAgUAAAAHJG1hdGNoMAIAAAAUU2V0U2NyaXB0VHJhbnNhY3Rpb24EAAAAAXMFAAAAByRtYXRjaDAJAQAAAAh2ZXJpZmllcgAAAAEFAAAACXVzZXJzQWRkcgMJAAABAAAAAgUAAAAHJG1hdGNoMAIAAAATRXhjaGFuZ2VUcmFuc2FjdGlvbgQAAAABZQUAAAAHJG1hdGNoMAQAAAAIYnV5UGFpcnMICAUAAAABZQAAAAhidXlPcmRlcgAAAAlhc3NldFBhaXIEAAAACXNlbGxQYWlycwgIBQAAAAFlAAAACXNlbGxPcmRlcgAAAAlhc3NldFBhaXIDAwMJAQAAAAlpc0RlZmluZWQAAAABBQAAAAhidXlQYWlycwkBAAAAFWFsbG93ZWRUcmFuc2ZlclRva2VucwAAAAEIBQAAAAhidXlQYWlycwAAAAthbW91bnRBc3NldAcJAQAAABVhbGxvd2VkVHJhbnNmZXJUb2tlbnMAAAABCAUAAAAIYnV5UGFpcnMAAAAKcHJpY2VBc3NldAcJAQAAAAh2ZXJpZmllcgAAAAEFAAAABHRoaXMDAwMJAQAAAAlpc0RlZmluZWQAAAABBQAAAAlzZWxsUGFpcnMJAQAAABVhbGxvd2VkVHJhbnNmZXJUb2tlbnMAAAABCAUAAAAJc2VsbFBhaXJzAAAAC2Ftb3VudEFzc2V0BwkBAAAAFWFsbG93ZWRUcmFuc2ZlclRva2VucwAAAAEIBQAAAAlzZWxsUGFpcnMAAAAKcHJpY2VBc3NldAcJAQAAAAh2ZXJpZmllcgAAAAEFAAAABHRoaXMJAQAAAAh2ZXJpZmllcgAAAAEFAAAACXVzZXJzQWRkcgMJAAABAAAAAgUAAAAHJG1hdGNoMAIAAAAQTGVhc2VUcmFuc2FjdGlvbgQAAAABbAUAAAAHJG1hdGNoMAkBAAAAF2FsbG93ZWRBZGRyU3BvbnNvcmVkRmVlAAAAAQkABCQAAAABCAUAAAABbAAAAAlyZWNpcGllbnQDCQAAAQAAAAIFAAAAByRtYXRjaDACAAAAFkxlYXNlQ2FuY2VsVHJhbnNhY3Rpb24EAAAAAWMFAAAAByRtYXRjaDAJAQAAAAh2ZXJpZmllcgAAAAEFAAAABHRoaXMHotjCUQ==", "chainId": 84, "height": 1127151, "spentComplexity": 0 } View: original | compacted Prev: C9YATwpD31sHfCpAwsoJuY7BPK77VYUXpzhkWTK2iGkb Next: GSEhS9qyu4A6tPUvA4T2hqi7QHPmZEsTni151M4YAeio Full:
OldNewDifferences
11 {-# STDLIB_VERSION 3 #-}
22 {-# CONTENT_TYPE EXPRESSION #-}
3-sigVerify(tx.bodyBytes, tx.proofs[0], tx.senderPublicKey)
3+let NONE = "none"
4+let usersPubKey = base58'CH6NGp8BFPQ8gm6cPeVG9S3ZWp7m39eQnZU3eTdZgayU'
5+let usersAddr = addressFromPublicKey(usersPubKey)
6+let btns = base58'EGh2LufqeTEdihgaDz6iZosJtsyY98sqkHX2WP8Csnw4'
7+let btnf = base58'7xAHFCPLRSa7XfNNbnd9DMPd9SkgpNfrptFvE4pJE7J'
8+func verifier (account) = if ((account == this))
9+ then sigVerify(tx.bodyBytes, tx.proofs[0], tx.senderPublicKey)
10+ else sigVerify(tx.bodyBytes, tx.proofs[0], usersPubKey)
11+
12+func getStrVar (key) = {
13+ let str = match key {
14+ case s: String =>
15+ s
16+ case b: Boolean =>
17+ toString(b)
18+ case i: Int =>
19+ toString(i)
20+ case bv: ByteVector =>
21+ toBase58String(bv)
22+ case ap: AssetPair =>
23+ ((toBase58String(extract(ap.amountAsset)) + ",") + toBase58String(extract(ap.priceAsset)))
24+ case u: Unit =>
25+ "empty"
26+ case _ =>
27+ NONE
28+ }
29+ str
30+ }
31+
32+func containAddr (a,b) = {
33+ let addr = toString(addressFromPublicKey(fromBase58String(b)))
34+ if ((addr == a))
35+ then true
36+ else if (if ((a == true))
37+ then (addr != a)
38+ else false)
39+ then true
40+ else a
41+ }
42+
43+func containTokenId (a,b) = if ((b == a))
44+ then true
45+ else if (if ((a == true))
46+ then (b != a)
47+ else false)
48+ then true
49+ else a
50+
51+func allowedTransferTokens (assetId) = {
52+ let tokensIdList = split(getStringValue(addressFromPublicKey(usersPubKey), "allowedTransfers"), ",")
53+ let contain = {
54+ let $list14601531 = tokensIdList
55+ let $size14601531 = size($list14601531)
56+ let $acc014601531 = toBase58String(extract(assetId))
57+ if (($size14601531 == 0))
58+ then $acc014601531
59+ else {
60+ let $acc114601531 = containTokenId($acc014601531, $list14601531[0])
61+ if (($size14601531 == 1))
62+ then $acc114601531
63+ else {
64+ let $acc214601531 = containTokenId($acc114601531, $list14601531[1])
65+ if (($size14601531 == 2))
66+ then $acc214601531
67+ else {
68+ let $acc314601531 = containTokenId($acc214601531, $list14601531[2])
69+ if (($size14601531 == 3))
70+ then $acc314601531
71+ else {
72+ let $acc414601531 = containTokenId($acc314601531, $list14601531[3])
73+ if (($size14601531 == 4))
74+ then $acc414601531
75+ else {
76+ let $acc514601531 = containTokenId($acc414601531, $list14601531[4])
77+ if (($size14601531 == 5))
78+ then $acc514601531
79+ else {
80+ let $acc614601531 = containTokenId($acc514601531, $list14601531[5])
81+ throw("List size exceed 5")
82+ }
83+ }
84+ }
85+ }
86+ }
87+ }
88+ }
89+ if (!(isDefined(assetId)))
90+ then true
91+ else if (if (isDefined(assetId))
92+ then (contain == true)
93+ else false)
94+ then true
95+ else if (if (isDefined(assetId))
96+ then (contain != true)
97+ else false)
98+ then throw((("This token ID " + getStrVar(contain)) + " is not allowed to operate in this account"))
99+ else verifier(usersAddr)
100+ }
101+
102+func allowedAddrSponsoredFee (addr) = {
103+ let addrsList = split(getStringValue(addressFromPublicKey(usersPubKey), "allowedSponsorFee"), ",")
104+ let contain = {
105+ let $list19662013 = addrsList
106+ let $size19662013 = size($list19662013)
107+ let $acc019662013 = toString(addr)
108+ if (($size19662013 == 0))
109+ then $acc019662013
110+ else {
111+ let $acc119662013 = containAddr($acc019662013, $list19662013[0])
112+ if (($size19662013 == 1))
113+ then $acc119662013
114+ else {
115+ let $acc219662013 = containAddr($acc119662013, $list19662013[1])
116+ if (($size19662013 == 2))
117+ then $acc219662013
118+ else {
119+ let $acc319662013 = containAddr($acc219662013, $list19662013[2])
120+ if (($size19662013 == 3))
121+ then $acc319662013
122+ else {
123+ let $acc419662013 = containAddr($acc319662013, $list19662013[3])
124+ if (($size19662013 == 4))
125+ then $acc419662013
126+ else {
127+ let $acc519662013 = containAddr($acc419662013, $list19662013[4])
128+ if (($size19662013 == 5))
129+ then $acc519662013
130+ else {
131+ let $acc619662013 = containAddr($acc519662013, $list19662013[5])
132+ throw("List size exceed 5")
133+ }
134+ }
135+ }
136+ }
137+ }
138+ }
139+ }
140+ if ((contain != true))
141+ then throw((("This address " + getStrVar(contain)) + " is not allowed to operate with the BitNodes sponsored token"))
142+ else verifier(this)
143+ }
144+
145+match tx {
146+ case t: TransferTransaction =>
147+ if (if ((t.assetId != btnf))
148+ then (t.feeAssetId != btnf)
149+ else false)
150+ then allowedTransferTokens(t.assetId)
151+ else if (if ((t.assetId == btnf))
152+ then true
153+ else (t.feeAssetId == btnf))
154+ then allowedAddrSponsoredFee(addressFromRecipient(t.recipient))
155+ else throw("Operação não autorizada para contas centralizadas na Plataforma BitNodes")
156+ case b: BurnTransaction =>
157+ verifier(usersAddr)
158+ case d: DataTransaction =>
159+ verifier(usersAddr)
160+ case s: SetScriptTransaction =>
161+ verifier(usersAddr)
162+ case e: ExchangeTransaction =>
163+ let buyPairs = e.buyOrder.assetPair
164+ let sellPairs = e.sellOrder.assetPair
165+ if (if (if (isDefined(buyPairs))
166+ then allowedTransferTokens(buyPairs.amountAsset)
167+ else false)
168+ then allowedTransferTokens(buyPairs.priceAsset)
169+ else false)
170+ then verifier(this)
171+ else if (if (if (isDefined(sellPairs))
172+ then allowedTransferTokens(sellPairs.amountAsset)
173+ else false)
174+ then allowedTransferTokens(sellPairs.priceAsset)
175+ else false)
176+ then verifier(this)
177+ else verifier(usersAddr)
178+ case l: LeaseTransaction =>
179+ allowedAddrSponsoredFee(addressFromRecipient(l.recipient))
180+ case c: LeaseCancelTransaction =>
181+ verifier(this)
182+ case _ =>
183+ false
184+}

github/deemru/w8io/169f3d6 
44.65 ms