tx · EDapjYpwWQ75e8gzvTLF86CrXf3XrcWFwfoyhKLYk2Q3

3N5fU7EcRcUgewh4E7y5XyaGWHCYp9LmUpJ:  -0.10500000 Waves

2019.08.29 18:47 [652705] smart account 3N5fU7EcRcUgewh4E7y5XyaGWHCYp9LmUpJ > SELF 0.00000000 Waves

{ "type": 13, "id": "EDapjYpwWQ75e8gzvTLF86CrXf3XrcWFwfoyhKLYk2Q3", "fee": 10500000, "feeAssetId": null, "timestamp": 1567093629393, "version": 1, "sender": "3N5fU7EcRcUgewh4E7y5XyaGWHCYp9LmUpJ", "senderPublicKey": "Gmc2mU67saGu7XexbQkJ3gWn7xp1TkuUsR3Cd6iVXKsJ", "proofs": [], "script": "base64:AAIDAAAAAAAAAAAAAAAfAAAAAA1pc3N1ZXJBc3NldElkAQAAACD0eZ4pzmE2GGkDfc3UmxZk8rETA0WusGsvgc3HlTIZPgAAAAARaW52ZXN0bWVudEFzc2V0SWQBAAAAIEU/7QUAyvwgJvv+SrCfWZsPWPh74F3HCsShjmh/H0z2AAAAABhpbnZlc3RtZW50QXNzZXRJZElzV2F2ZXMHAAAAAA5vd25lclB1YmxpY0tleQEAAAAgU7xBwdSKxww3nnZDhiNIx5vNYkfkAJJo8h9oZ3mxNxgAAAAADG93bmVyQWRkcmVzcwkBAAAAFGFkZHJlc3NGcm9tUHVibGljS2V5AAAAAQUAAAAOb3duZXJQdWJsaWNLZXkAAAAAEm93bmVyQWRkcmVzc1N0cmluZwIAAAAjM05BWWRzQ3J0cTV4NXllQWZjQzQ1YzFYZzZ2M1M4TG9pd2kAAAAAEWFjY291bnRUaGF0QWxsb3dzCQEAAAAHQWRkcmVzcwAAAAEBAAAAGgFUsuKbPrsJRAk2hWi4lia9MhdtRoVBFCA1AAAAABVhY2NvdW50VGhhdEFsbG93REFwcHMJAQAAAAdBZGRyZXNzAAAAAQEAAAAaAVR+ZQJfWyfFbW//7FjY3Cz3zzwo/8TmrxYAAAAAC2Fzc2V0RGlnaXRzAAAAAAAAAAPoAAAAABBzdW1BY2NvdW50QXNzZXRzAAAAAAAADbugAAAAAAxpc3N1ZXJBc3NldHMAAAAAAAABhqAAAAAACnN0YXJ0QmxvY2sAAAAAAAAJ73QAAAAAEmluY3JlYXNlUHJpY2VCbG9jawAAAAAAAAoKPQAAAAAIZW5kQmxvY2sAAAAAAAAKCj0AAAAABXByaWNlAAAAAAADMFhgAAAAAAtwcmljZVNlY29uZAAAAAAAAzBYYAAAAAANc29mdENhcEFtb3VudAAAAAACVAvkAAAAAAANaGFyZENhcEFtb3VudAAAAAALMvvBAAAAAAASa2V5U3VtQW1vdW50UHJlZml4AgAAAApzdW1BbW91bnQgAAAAABZrZXlTdW1QYWlkQW1vdW50UHJlZml4AgAAAAtwYWlkQW1vdW50IAAAAAASa2V5U3VtQXNzZXRzUHJlZml4AgAAAApzdW1Bc3NldHMgAAAAABVrZXlBbGxvd0FjY291bnRQcmVmaXgCAAAABmFsbG93IAAAAAANa2V5RGlzdEFzc2V0cwIAAAAGYXNzZXRzAAAAABJrZXlDb2xsZWN0ZWRBbW91bnQCAAAABmFtb3VudAAAAAAJa2V5SXNzdWVyAgAAAAZpc3N1ZXIAAAAACXBBZGRyZXNzMQkBAAAAEWFkZHJlc3NGcm9tU3RyaW5nAAAAAQIAAAAjM05DVkRhVDFBU2JSZDQyaEJTdzRFRzZvakdWUkd0dk1pejEAAAAACXBBZGRyZXNzMgkBAAAAEWFkZHJlc3NGcm9tU3RyaW5nAAAAAQIAAAAjM01zMmtUQXhkcmNYRHh3ZWRmYk5qU2k2ZXdHQ1VxdDNoZVoAAAAACXBBZGRyZXNzMwkBAAAAEWFkZHJlc3NGcm9tU3RyaW5nAAAAAQIAAAAjM042b2dubTd4blFTRmlvd25TMURmMUxhY0pVUVh2ZkRGTGUAAAAACXBBZGRyZXNzNAkBAAAAEWFkZHJlc3NGcm9tU3RyaW5nAAAAAQIAAAAjM010VkNtTjlNWmJXZjlxeGlNRm9FUEJyZGMyZkxwM1N2dUMAAAAACXBBZGRyZXNzNQkBAAAAEWFkZHJlc3NGcm9tU3RyaW5nAAAAAQIAAAAjM011V0c4Z3NUSzRSUUJzbTk3c01DdVVYVzk5SnZSeHdZU2cBAAAAH2dldEludmVzdG1lbnRBc3NldElkRm9yVHJhbnNmZXIAAAACAAAAB2lzV2F2ZXMAAAAHYXNzZXRJZAMJAAAAAAAAAgUAAAAHaXNXYXZlcwcFAAAAB2Fzc2V0SWQFAAAABHVuaXQAAAACAAAAAWkBAAAAB2RlcG9zaXQAAAAABAAAAAxjdXJyZW50UHJpY2UDCQAAZgAAAAIFAAAAEmluY3JlYXNlUHJpY2VCbG9jawUAAAAGaGVpZ2h0BQAAAAVwcmljZQUAAAALcHJpY2VTZWNvbmQEAAAADWFjY291bnRBbW91bnQEAAAAByRtYXRjaDAJAAQaAAAAAgUAAAAEdGhpcwUAAAASa2V5Q29sbGVjdGVkQW1vdW50AwkAAAEAAAACBQAAAAckbWF0Y2gwAgAAAANJbnQEAAAAAWEFAAAAByRtYXRjaDAFAAAAAWEAAAAAAAAAAAADCQAAZgAAAAIFAAAACnN0YXJ0QmxvY2sFAAAABmhlaWdodAkAAAIAAAABCQABLAAAAAIJAAEsAAAAAgkAASwAAAACAgAAABxUaGUgVG9rZW5zYWxlIHdvcmtzIGJldHdlZW4gCQABpAAAAAEFAAAACnN0YXJ0QmxvY2sCAAAABSBhbmQgCQABpAAAAAEFAAAACGVuZEJsb2NrAwMJAABmAAAAAgUAAAAGaGVpZ2h0BQAAAAhlbmRCbG9jawYJAABnAAAAAgUAAAANYWNjb3VudEFtb3VudAUAAAANaGFyZENhcEFtb3VudAkAAAIAAAABAgAAAGZUaGUgcmVxdWlyZWQgYW1vdW50IGhhcyBhbHJlYWR5IGJlZW4gYWNjdW11bGF0ZWQuIElmIHlvdSBhcmUgYW4gaW52ZXN0b3IsIHlvdSBjYW4gd2l0aGRyYXcgeW91ciBmdW5kcy4EAAAAB3BheW1lbnQEAAAAByRtYXRjaDAIBQAAAAFpAAAAB3BheW1lbnQDCQAAAQAAAAIFAAAAByRtYXRjaDACAAAAD0F0dGFjaGVkUGF5bWVudAQAAAABcAUAAAAHJG1hdGNoMAQAAAALaXNQYXltZW50T2sEAAAAByRtYXRjaDEIBQAAAAFwAAAAB2Fzc2V0SWQDCQAAAQAAAAIFAAAAByRtYXRjaDECAAAACkJ5dGVWZWN0b3IEAAAAB2Fzc2V0SWQFAAAAByRtYXRjaDEDCQEAAAABIQAAAAEFAAAAGGludmVzdG1lbnRBc3NldElkSXNXYXZlcwkAAAAAAAACBQAAAAdhc3NldElkBQAAABFpbnZlc3RtZW50QXNzZXRJZAcJAAAAAAAAAgUAAAAYaW52ZXN0bWVudEFzc2V0SWRJc1dhdmVzBgMFAAAAC2lzUGF5bWVudE9rCAUAAAABcAAAAAZhbW91bnQJAAACAAAAAQIAAAAeSW52YWxpZCBhc3NldCBJRCBvZiBpbnZlc3RtZW50CQAAAgAAAAECAAAAGFBheW1lbnQgbXVzdCBiZSBhdHRhY2hlZAQAAAAKY3VycmVudEtleQkAAlgAAAABCAgFAAAAAWkAAAAGY2FsbGVyAAAABWJ5dGVzBAAAAA5pc0FjY291bnRBbGxvdwQAAAAHJG1hdGNoMAkABBoAAAACBQAAABFhY2NvdW50VGhhdEFsbG93cwUAAAAKY3VycmVudEtleQMJAAABAAAAAgUAAAAHJG1hdGNoMAIAAAADSW50BAAAAAFhBQAAAAckbWF0Y2gwBQAAAAFhAP////////8BAwkAAGYAAAACAP//////////BQAAAA5pc0FjY291bnRBbGxvdwkAAAIAAAABAgAAAChZb3VyIGFjY291bnQgaGFzIG5vIHJpZ2h0IHRvIHNlbmQgZnVuZHMuBAAAAA1hY2NvdW50QXNzZXRzBAAAAAckbWF0Y2gwCQAEGgAAAAIFAAAABHRoaXMFAAAADWtleURpc3RBc3NldHMDCQAAAQAAAAIFAAAAByRtYXRjaDACAAAAA0ludAQAAAABYQUAAAAHJG1hdGNoMAUAAAABYQUAAAAQc3VtQWNjb3VudEFzc2V0cwMJAABmAAAAAgAAAAAAAAAAAAkAAGUAAAACBQAAAA1hY2NvdW50QXNzZXRzCQAAaQAAAAIJAABoAAAAAgUAAAAHcGF5bWVudAUAAAALYXNzZXREaWdpdHMFAAAADGN1cnJlbnRQcmljZQkAAAIAAAABCQABLAAAAAIJAAEsAAAAAgIAAAAwUGF5bWVudCBpcyB0b28gYmlnLiBNYXhpbXVtIHBvc3NpYmxlIHBheW1lbnQgaXMgCQABpAAAAAEJAABpAAAAAgkAAGgAAAACBQAAAA1hY2NvdW50QXNzZXRzBQAAAAxjdXJyZW50UHJpY2UFAAAAC2Fzc2V0RGlnaXRzAgAAAAggd2F2ZWxldAQAAAANY3VycmVudEFtb3VudAQAAAAHJG1hdGNoMAkABBoAAAACBQAAAAR0aGlzCQABLAAAAAIFAAAAEmtleVN1bUFtb3VudFByZWZpeAUAAAAKY3VycmVudEtleQMJAAABAAAAAgUAAAAHJG1hdGNoMAIAAAADSW50BAAAAAFhBQAAAAckbWF0Y2gwBQAAAAFhAAAAAAAAAAAABAAAAAluZXdBbW91bnQJAABkAAAAAgUAAAANY3VycmVudEFtb3VudAUAAAAHcGF5bWVudAQAAAANY3VycmVudEFzc2V0cwQAAAAHJG1hdGNoMAkABBoAAAACBQAAAAR0aGlzCQABLAAAAAIFAAAAEmtleVN1bUFzc2V0c1ByZWZpeAUAAAAKY3VycmVudEtleQMJAAABAAAAAgUAAAAHJG1hdGNoMAIAAAADSW50BAAAAAFhBQAAAAckbWF0Y2gwBQAAAAFhAAAAAAAAAAAABAAAAAluZXdBc3NldHMJAABkAAAAAgUAAAANY3VycmVudEFzc2V0cwkAAGkAAAACCQAAaAAAAAIFAAAAB3BheW1lbnQFAAAAC2Fzc2V0RGlnaXRzBQAAAAxjdXJyZW50UHJpY2UEAAAAEG5ld0FjY291bnRBc3NldHMJAABlAAAAAgUAAAANYWNjb3VudEFzc2V0cwkAAGkAAAACCQAAaAAAAAIFAAAAB3BheW1lbnQFAAAAC2Fzc2V0RGlnaXRzBQAAAAxjdXJyZW50UHJpY2UEAAAAEG5ld0FjY291bnRBbW91bnQJAABkAAAAAgUAAAANYWNjb3VudEFtb3VudAUAAAAHcGF5bWVudAkBAAAACFdyaXRlU2V0AAAAAQkABEwAAAACCQEAAAAJRGF0YUVudHJ5AAAAAgkAASwAAAACBQAAABJrZXlTdW1BbW91bnRQcmVmaXgFAAAACmN1cnJlbnRLZXkFAAAACW5ld0Ftb3VudAkABEwAAAACCQEAAAAJRGF0YUVudHJ5AAAAAgkAASwAAAACBQAAABJrZXlTdW1Bc3NldHNQcmVmaXgFAAAACmN1cnJlbnRLZXkFAAAACW5ld0Fzc2V0cwkABEwAAAACCQEAAAAJRGF0YUVudHJ5AAAAAgUAAAANa2V5RGlzdEFzc2V0cwUAAAAQbmV3QWNjb3VudEFzc2V0cwkABEwAAAACCQEAAAAJRGF0YUVudHJ5AAAAAgUAAAASa2V5Q29sbGVjdGVkQW1vdW50BQAAABBuZXdBY2NvdW50QW1vdW50BQAAAANuaWwAAAABaQEAAAAKd2l0aGRyYXdhbAAAAAAEAAAAC2lzREFwcEFsbG93BAAAAAckbWF0Y2gwCQAEGgAAAAIFAAAAFWFjY291bnRUaGF0QWxsb3dEQXBwcwkABCUAAAABBQAAAAR0aGlzAwkAAAEAAAACBQAAAAckbWF0Y2gwAgAAAANJbnQEAAAAAWEFAAAAByRtYXRjaDAFAAAAAWEAAAAAAAAAAAADCQAAAAAAAAIFAAAAC2lzREFwcEFsbG93AAAAAAAAAAAACQAAAgAAAAECAAAAQldpdGhkcmF3YWxzIGFyZSBub3QgYXZhaWxhYmxlIHVudGlsIHRoZSBpc3N1ZXIgcGFzc2VzIHZlcmlmaWNhdGlvbgQAAAAKY3VycmVudEtleQkAAlgAAAABCAgFAAAAAWkAAAAG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", "chainId": 84, "height": 652705, "spentComplexity": 0 } View: original | compacted Prev: HhAovsposfMehZQ7sh4Yv25AMGx2SjViioSD4nWfd26F Next: CcjVgiSnBwFcc7hhfj5ozNGyCYpYhL7pTjhHweWBZGAN Diff:
OldNewDifferences
230230 then 1
231231 else 0
232232 (((((pKey1Signed + pKey2Signed) + pKey3Signed) + pKey4Signed) + pKey5Signed) >= 3)
233+ case tx: SetAssetScriptTransaction =>
234+ true
233235 case _ =>
234236 false
235237 }
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 3 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 let issuerAssetId = base58'HTL3BjrjDrHuRyJvs3sf3Mc1FHCLngEHbDueChPPoen9'
55
66 let investmentAssetId = base58'5fKfiTswyAVob2DvFVwnqznqG4cz1PLNayBip9WUu8eh'
77
88 let investmentAssetIdIsWaves = false
99
1010 let ownerPublicKey = base58'6dsLPP2XcCrMBAmC282ArSQkcdRsGwoALZoZchLK5MKM'
1111
1212 let ownerAddress = addressFromPublicKey(ownerPublicKey)
1313
1414 let ownerAddressString = "3NAYdsCrtq5x5yeAfcC45c1Xg6v3S8Loiwi"
1515
1616 let accountThatAllows = Address(base58'3N6DwWxT82nGJUwBwd7L514r2u71gr7WhwJ')
1717
1818 let accountThatAllowDApps = Address(base58'3N1SPvLZgv6FMfe5WNUtnPzt3okYxcJhYnR')
1919
2020 let assetDigits = 1000
2121
2222 let sumAccountAssets = 900000
2323
2424 let issuerAssets = 100000
2525
2626 let startBlock = 651124
2727
2828 let increasePriceBlock = 657981
2929
3030 let endBlock = 657981
3131
3232 let price = 53500000
3333
3434 let priceSecond = 53500000
3535
3636 let softCapAmount = 10000000000
3737
3838 let hardCapAmount = 48100000000
3939
4040 let keySumAmountPrefix = "sumAmount "
4141
4242 let keySumPaidAmountPrefix = "paidAmount "
4343
4444 let keySumAssetsPrefix = "sumAssets "
4545
4646 let keyAllowAccountPrefix = "allow "
4747
4848 let keyDistAssets = "assets"
4949
5050 let keyCollectedAmount = "amount"
5151
5252 let keyIssuer = "issuer"
5353
5454 let pAddress1 = addressFromString("3NCVDaT1ASbRd42hBSw4EG6ojGVRGtvMiz1")
5555
5656 let pAddress2 = addressFromString("3Ms2kTAxdrcXDxwedfbNjSi6ewGCUqt3heZ")
5757
5858 let pAddress3 = addressFromString("3N6ognm7xnQSFiownS1Df1LacJUQXvfDFLe")
5959
6060 let pAddress4 = addressFromString("3MtVCmN9MZbWf9qxiMFoEPBrdc2fLp3SvuC")
6161
6262 let pAddress5 = addressFromString("3MuWG8gsTK4RQBsm97sMCuUXW99JvRxwYSg")
6363
6464 func getInvestmentAssetIdForTransfer (isWaves,assetId) = if ((isWaves == false))
6565 then assetId
6666 else unit
6767
6868
6969 @Callable(i)
7070 func deposit () = {
7171 let currentPrice = if ((increasePriceBlock > height))
7272 then price
7373 else priceSecond
7474 let accountAmount = match getInteger(this, keyCollectedAmount) {
7575 case a: Int =>
7676 a
7777 case _ =>
7878 0
7979 }
8080 if ((startBlock > height))
8181 then throw(((("The Tokensale works between " + toString(startBlock)) + " and ") + toString(endBlock)))
8282 else if (if ((height > endBlock))
8383 then true
8484 else (accountAmount >= hardCapAmount))
8585 then throw("The required amount has already been accumulated. If you are an investor, you can withdraw your funds.")
8686 else {
8787 let payment = match i.payment {
8888 case p: AttachedPayment =>
8989 let isPaymentOk = match p.assetId {
9090 case assetId: ByteVector =>
9191 if (!(investmentAssetIdIsWaves))
9292 then (assetId == investmentAssetId)
9393 else false
9494 case _ =>
9595 (investmentAssetIdIsWaves == true)
9696 }
9797 if (isPaymentOk)
9898 then p.amount
9999 else throw("Invalid asset ID of investment")
100100 case _ =>
101101 throw("Payment must be attached")
102102 }
103103 let currentKey = toBase58String(i.caller.bytes)
104104 let isAccountAllow = match getInteger(accountThatAllows, currentKey) {
105105 case a: Int =>
106106 a
107107 case _ =>
108108 -255
109109 }
110110 if ((-1 > isAccountAllow))
111111 then throw("Your account has no right to send funds.")
112112 else {
113113 let accountAssets = match getInteger(this, keyDistAssets) {
114114 case a: Int =>
115115 a
116116 case _ =>
117117 sumAccountAssets
118118 }
119119 if ((0 > (accountAssets - ((payment * assetDigits) / currentPrice))))
120120 then throw((("Payment is too big. Maximum possible payment is " + toString(((accountAssets * currentPrice) / assetDigits))) + " wavelet"))
121121 else {
122122 let currentAmount = match getInteger(this, (keySumAmountPrefix + currentKey)) {
123123 case a: Int =>
124124 a
125125 case _ =>
126126 0
127127 }
128128 let newAmount = (currentAmount + payment)
129129 let currentAssets = match getInteger(this, (keySumAssetsPrefix + currentKey)) {
130130 case a: Int =>
131131 a
132132 case _ =>
133133 0
134134 }
135135 let newAssets = (currentAssets + ((payment * assetDigits) / currentPrice))
136136 let newAccountAssets = (accountAssets - ((payment * assetDigits) / currentPrice))
137137 let newAccountAmount = (accountAmount + payment)
138138 WriteSet([DataEntry((keySumAmountPrefix + currentKey), newAmount), DataEntry((keySumAssetsPrefix + currentKey), newAssets), DataEntry(keyDistAssets, newAccountAssets), DataEntry(keyCollectedAmount, newAccountAmount)])
139139 }
140140 }
141141 }
142142 }
143143
144144
145145
146146 @Callable(i)
147147 func withdrawal () = {
148148 let isDAppAllow = match getInteger(accountThatAllowDApps, toString(this)) {
149149 case a: Int =>
150150 a
151151 case _ =>
152152 0
153153 }
154154 if ((isDAppAllow == 0))
155155 then throw("Withdrawals are not available until the issuer passes verification")
156156 else {
157157 let currentKey = toBase58String(i.caller.bytes)
158158 let currentAssets = match getInteger(this, (keySumAssetsPrefix + currentKey)) {
159159 case a: Int =>
160160 a
161161 case _ =>
162162 0
163163 }
164164 let currentAmount = match getInteger(this, (keySumAmountPrefix + currentKey)) {
165165 case a: Int =>
166166 a
167167 case _ =>
168168 0
169169 }
170170 let accountAmount = match getInteger(this, keyCollectedAmount) {
171171 case a: Int =>
172172 a
173173 case _ =>
174174 0
175175 }
176176 let accountAssets = match getInteger(this, keyDistAssets) {
177177 case a: Int =>
178178 a
179179 case _ =>
180180 0
181181 }
182182 let investmentAssetIdForTransfer = getInvestmentAssetIdForTransfer(investmentAssetIdIsWaves, investmentAssetId)
183183 if (!(if ((height > endBlock))
184184 then true
185185 else (accountAmount >= hardCapAmount)))
186186 then throw(("The Tokensale end on block " + toString(endBlock)))
187187 else if (if (if ((currentKey == ownerAddressString))
188188 then (accountAmount >= softCapAmount)
189189 else false)
190190 then (isDAppAllow == 1)
191191 else false)
192192 then {
193193 let currentIssuerPaidAssets = match getInteger(this, keyIssuer) {
194194 case a: Int =>
195195 a
196196 case _ =>
197197 0
198198 }
199199 if ((currentIssuerPaidAssets == 0))
200200 then ScriptResult(WriteSet([DataEntry(keyIssuer, (accountAssets + issuerAssets))]), TransferSet([ScriptTransfer(ownerAddress, (accountAssets + issuerAssets), issuerAssetId), ScriptTransfer(ownerAddress, accountAmount, investmentAssetIdForTransfer)]))
201201 else throw("The issuer has already taken its share!")
202202 }
203203 else if ((currentAmount == 0))
204204 then throw("Don't have money")
205205 else if (if ((accountAmount >= softCapAmount))
206206 then (isDAppAllow == 1)
207207 else false)
208208 then ScriptResult(WriteSet([DataEntry((keySumAmountPrefix + currentKey), 0), DataEntry((keySumAssetsPrefix + currentKey), 0)]), TransferSet([ScriptTransfer(i.caller, currentAssets, issuerAssetId)]))
209209 else ScriptResult(WriteSet([DataEntry((keySumAmountPrefix + currentKey), 0), DataEntry((keySumAssetsPrefix + currentKey), 0)]), TransferSet([ScriptTransfer(i.caller, currentAmount, investmentAssetIdForTransfer)]))
210210 }
211211 }
212212
213213
214214 @Verifier(tx)
215215 func verify () = match tx {
216216 case tx: SetScriptTransaction =>
217217 let pKey1Signed = if (isDefined(getInteger(extract(pAddress1), toBase58String(tx.id))))
218218 then 1
219219 else 0
220220 let pKey2Signed = if (isDefined(getInteger(extract(pAddress2), toBase58String(tx.id))))
221221 then 1
222222 else 0
223223 let pKey3Signed = if (isDefined(getInteger(extract(pAddress3), toBase58String(tx.id))))
224224 then 1
225225 else 0
226226 let pKey4Signed = if (isDefined(getInteger(extract(pAddress4), toBase58String(tx.id))))
227227 then 1
228228 else 0
229229 let pKey5Signed = if (isDefined(getInteger(extract(pAddress5), toBase58String(tx.id))))
230230 then 1
231231 else 0
232232 (((((pKey1Signed + pKey2Signed) + pKey3Signed) + pKey4Signed) + pKey5Signed) >= 3)
233+ case tx: SetAssetScriptTransaction =>
234+ true
233235 case _ =>
234236 false
235237 }
236238

github/deemru/w8io/3ef1775 
82.98 ms