tx · AWQpvaaoNufSWFmq9iSvCsv7bcLzzH3Z9ZjXcrnPTrLo

3N4e9basq3ypT1C3SYHRFZG8my9RWTNVFpV:  -0.01400000 Waves

2019.07.13 17:36 [584085] smart account 3N4e9basq3ypT1C3SYHRFZG8my9RWTNVFpV > SELF 0.00000000 Waves

{ "type": 13, "id": "AWQpvaaoNufSWFmq9iSvCsv7bcLzzH3Z9ZjXcrnPTrLo", "fee": 1400000, "feeAssetId": null, "timestamp": 1563028624233, "version": 1, "sender": "3N4e9basq3ypT1C3SYHRFZG8my9RWTNVFpV", "senderPublicKey": "8joXUckZfZDtSEBxtXhh9q1dkVaHpH64i9Z6XBYFomT6", "proofs": [ "3QzNuysevLkCx44Xjao9nohs58uKAPAsiwuZovBEGjGNviv13e7qT4MX27UmgmcHtFZmrUeQwAYJTGasWj6rdYbg" ], "script": "base64:AAIDAAAAAAAAAAAAAAAWAAAAAA1jdXN0b21Bc3NldElkAQAAACBfkuPu18UIiaydFqiS53s3vs+DfhHE684lw9FsLRfpUwAAAAAOb3duZXJQdWJsaWNLZXkBAAAAINbTCOOMqMK960ToLwInmhSGMIXfK2x5z0uJmNqC+MEZAAAAAAxvd25lckFkZHJlc3MJAQAAABRhZGRyZXNzRnJvbVB1YmxpY0tleQAAAAEFAAAADm93bmVyUHVibGljS2V5AAAAABJvd25lckFkZHJlc3NTdHJpbmcCAAAAIzNOOUJOdXN6ZzFrNTdHV3hXN05oanlkTmRoQTI4VkFzZkR6AAAAABFhY2NvdW50VGhhdEFsbG93cwkBAAAAB0FkZHJlc3MAAAABAQAAABoBVMYbTDAWhUaVMk5pP6sw+hs730/Z1xCPOwAAAAALYXNzZXREaWdpdHMAAAAAAAAPQkAAAAAAEHN1bUFjY291bnRBc3NldHMAAAAAdGpSiAAAAAAADGlzc3VlckFzc2V0cwAAAAB0alKIAAAAAAAKc3RhcnRCbG9jawAAAAAAAAjpkgAAAAASaW5jcmVhc2VQcmljZUJsb2NrAAAAAAAACRnGAAAAAAhlbmRCbG9jawAAAAAAAAkZxgAAAAAFcHJpY2UAAAAAAAAehIAAAAAAC3ByaWNlU2Vjb25kAAAAAAAAHoSAAAAAAA1zb2Z0Q2FwQW1vdW50AAAAAOjUpRAAAAAAAA1oYXJkQ2FwQW1vdW50AAAAAOjUpRAAAAAAABJrZXlTdW1BbW91bnRQcmVmaXgCAAAACnN1bUFtb3VudCAAAAAAFmtleVN1bVBhaWRBbW91bnRQcmVmaXgCAAAAC3BhaWRBbW91bnQgAAAAABJrZXlTdW1Bc3NldHNQcmVmaXgCAAAACnN1bUFzc2V0cyAAAAAAFWtleUFsbG93QWNjb3VudFByZWZpeAIAAAAGYWxsb3cgAAAAABNrZXlTdW1BY2NvdW50QXNzZXRzAgAAAAZhc3NldHMAAAAAC2tleVN1bVdhdmVzAgAAAAV3YXZlcwAAAAAJa2V5SXNzdWVyAgAAAAZpc3N1ZXIAAAACAAAAAWkBAAAAB2RlcG9zaXQAAAAABAAAAAxjdXJyZW50UHJpY2UDCQAAZgAAAAIFAAAAEmluY3JlYXNlUHJpY2VCbG9jawUA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", "chainId": 84, "height": 584085, "spentComplexity": 0 } View: original | compacted Prev: none Next: none Full:
OldNewDifferences
1-# no script
1+{-# STDLIB_VERSION 3 #-}
2+{-# SCRIPT_TYPE ACCOUNT #-}
3+{-# CONTENT_TYPE DAPP #-}
4+let customAssetId = base58'7S5eEFNzCdNPhAP7waUsvAz75LDjdpErVHccyM7oDSBC'
5+
6+let ownerPublicKey = base58'FTatUYhagFGXUGYSZJrTn3wtvjVz3CkVb3furV6MCcoi'
7+
8+let ownerAddress = addressFromPublicKey(ownerPublicKey)
9+
10+let ownerAddressString = "3N9BNuszg1k57GWxW7NhjydNdhA28VAsfDz"
11+
12+let accountThatAllows = Address(base58'3N7yaGaFS8BvgRrc9trhNy7v5H4qCcxW3Fp')
13+
14+let assetDigits = 1000000
15+
16+let sumAccountAssets = 500000000000
17+
18+let issuerAssets = 500000000000
19+
20+let startBlock = 584082
21+
22+let increasePriceBlock = 596422
23+
24+let endBlock = 596422
25+
26+let price = 2000000
27+
28+let priceSecond = 2000000
29+
30+let softCapAmount = 1000000000000
31+
32+let hardCapAmount = 1000000000000
33+
34+let keySumAmountPrefix = "sumAmount "
35+
36+let keySumPaidAmountPrefix = "paidAmount "
37+
38+let keySumAssetsPrefix = "sumAssets "
39+
40+let keyAllowAccountPrefix = "allow "
41+
42+let keySumAccountAssets = "assets"
43+
44+let keySumWaves = "waves"
45+
46+let keyIssuer = "issuer"
47+
48+@Callable(i)
49+func deposit () = {
50+ let currentPrice = if ((increasePriceBlock > height))
51+ then price
52+ else priceSecond
53+ let accountAmount = match getInteger(this, keySumWaves) {
54+ case a: Int =>
55+ a
56+ case _ =>
57+ 0
58+ }
59+ if ((startBlock > height))
60+ then throw(((("The Tokensale works between " + toString(startBlock)) + " and ") + toString(endBlock)))
61+ else if (if ((height > endBlock))
62+ then true
63+ else (accountAmount >= hardCapAmount))
64+ then throw("The required amount has already been accumulated. If you are an investor, you can withdraw your funds.")
65+ else {
66+ let payment = match i.payment {
67+ case p: AttachedPayment =>
68+ match p.assetId {
69+ case assetId: ByteVector =>
70+ throw("Waves only")
71+ case _ =>
72+ p.amount
73+ }
74+ case _ =>
75+ throw("Payment must be attached")
76+ }
77+ let currentKey = toBase58String(i.caller.bytes)
78+ let isAccountAllow = match getBoolean(accountThatAllows, (keyAllowAccountPrefix + currentKey)) {
79+ case a: Boolean =>
80+ a
81+ case _ =>
82+ false
83+ }
84+ if ((isAccountAllow == false))
85+ then throw("Your account has no right to send funds.")
86+ else {
87+ let accountAssets = match getInteger(this, keySumAccountAssets) {
88+ case a: Int =>
89+ a
90+ case _ =>
91+ sumAccountAssets
92+ }
93+ if ((0 > (accountAssets - ((payment * assetDigits) / currentPrice))))
94+ then throw((("Payment is too big. Maximum possible payment is " + toString(((accountAssets * currentPrice) / assetDigits))) + " wavelet"))
95+ else {
96+ let currentAmount = match getInteger(this, (keySumAmountPrefix + currentKey)) {
97+ case a: Int =>
98+ a
99+ case _ =>
100+ 0
101+ }
102+ let newAmount = (currentAmount + payment)
103+ let currentAssets = match getInteger(this, (keySumAssetsPrefix + currentKey)) {
104+ case a: Int =>
105+ a
106+ case _ =>
107+ 0
108+ }
109+ let newAssets = (currentAssets + ((payment * assetDigits) / currentPrice))
110+ let newAccountAssets = (accountAssets - ((payment * assetDigits) / currentPrice))
111+ let newAccountAmount = (accountAmount + payment)
112+ WriteSet([DataEntry((keySumAmountPrefix + currentKey), newAmount), DataEntry((keySumAssetsPrefix + currentKey), newAssets), DataEntry(keySumAccountAssets, newAccountAssets), DataEntry(keySumWaves, newAccountAmount)])
113+ }
114+ }
115+ }
116+ }
117+
118+
119+
120+@Callable(i)
121+func withdrawal () = {
122+ let currentKey = toBase58String(i.caller.bytes)
123+ let currentAssets = match getInteger(this, (keySumAssetsPrefix + currentKey)) {
124+ case a: Int =>
125+ a
126+ case _ =>
127+ 0
128+ }
129+ let currentAmount = match getInteger(this, (keySumAmountPrefix + currentKey)) {
130+ case a: Int =>
131+ a
132+ case _ =>
133+ 0
134+ }
135+ let accountAmount = match getInteger(this, keySumWaves) {
136+ case a: Int =>
137+ a
138+ case _ =>
139+ 0
140+ }
141+ let accountAssets = match getInteger(this, keySumAccountAssets) {
142+ case a: Int =>
143+ a
144+ case _ =>
145+ 0
146+ }
147+ if (!(if ((height > endBlock))
148+ then true
149+ else (accountAmount >= hardCapAmount)))
150+ then throw(("The Tokensale end on block " + toString(endBlock)))
151+ else if (if ((currentKey == ownerAddressString))
152+ then (accountAmount >= softCapAmount)
153+ else false)
154+ then {
155+ let currentIssuerPaidAssets = match getInteger(this, keyIssuer) {
156+ case a: Int =>
157+ a
158+ case _ =>
159+ 0
160+ }
161+ if ((currentIssuerPaidAssets == 0))
162+ then ScriptResult(WriteSet([DataEntry(keyIssuer, (accountAssets + issuerAssets))]), TransferSet([ScriptTransfer(ownerAddress, (accountAssets + issuerAssets), customAssetId), ScriptTransfer(ownerAddress, accountAmount, unit)]))
163+ else throw("The issuer has already taken its share!")
164+ }
165+ else if ((currentAmount == 0))
166+ then throw("Don't have money")
167+ else if ((accountAmount >= softCapAmount))
168+ then ScriptResult(WriteSet([DataEntry((keySumAmountPrefix + currentKey), 0), DataEntry((keySumAssetsPrefix + currentKey), 0)]), TransferSet([ScriptTransfer(i.caller, currentAssets, customAssetId)]))
169+ else ScriptResult(WriteSet([DataEntry((keySumAmountPrefix + currentKey), 0), DataEntry((keySumAssetsPrefix + currentKey), 0)]), TransferSet([ScriptTransfer(i.caller, currentAmount, unit)]))
170+ }
171+
172+
173+@Verifier(tx)
174+func verify () = match tx {
175+ case _ =>
176+ false
177+}
178+

github/deemru/w8io/3ef1775 
26.36 ms