2022.06.02 22:58 [3144681] smart account 3PEaajAdZgWe9GzPKxUEtPrJbx8PMvzXeD8 > SELF 0.00000000 Waves

{ "type": 13, "id": "8NEuzA8sRp14mepAG3eRRGo68PLV26V6z323MbQmPRUn", "fee": 1000000, "feeAssetId": null, "timestamp": 1654199949151, "version": 2, "chainId": 87, "sender": "3PEaajAdZgWe9GzPKxUEtPrJbx8PMvzXeD8", "senderPublicKey": "By6rgESEhXR1GdtDUQ6fhRQZ4GJVwAzJn89sWhBrTWzq", "proofs": [ "5EzQUurhNxHFwCyBBBpKb4xjhraXD9YSRsi3xVe2UbGVz3gK6a1pjC3HYLK5Lh4a2kG3BL9fpPp636SrgX9rYPvB" ], "script": "base64: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UGFpZHRyeFZhbHVlCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACCQABLAAAAAIJAAJYAAAAAQgIBQAAAAFpAAAABmNhbGxlcgAAAAVieXRlcwIAAAAJX0xhc3RQYWlkBQAAAAZoZWlnaHQJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAICAAAACFdhaXRUaW1lBQAAAAhXYWl0VGltZQkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgIAAAAVTGFzdFBheW1lbnRCbG9ja1ZhbHVlBQAAABVMYXN0UGF5bWVudEJsb2NrVmFsdWUJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAICAAAABUNoZWNrCQAAZAAAAAIFAAAAFUxhc3RQYXltZW50QmxvY2tWYWx1ZQUAAAAIV2FpdFRpbWUJAARMAAAAAgkBAAAADlNjcmlwdFRyYW5zZmVyAAAAAwUAAAARQWRkcmVzc0ZyZWVMYW5jZXIFAAAAEVBheW1lbnQyRnJlZWxhbmNlBQAAAAlBc3NldFVzZWQJAARMAAAAAgkBAAAADlNjcmlwdFRyYW5zZmVyAAAAAwUAAAAJZEFwcEZyZWVzBQAAAAdGZWVQYWlkBQAAAAlBc3NldFVzZWQFAAAAA25pbAUAAAAJQXNzZXRVc2VkAAAAAWkBAAAADUFkbWluVHJhbnNmZXIAAAAFAAAABFVzZXIAAAAKRnJlZWxhbmNlcgAAAAxUb0ZyZWVsYW5jZXIAAAAGVG9Vc2VyAAAACEFkbWluRmVlAwkBAAAAAiE9AAAAAggIBQAAAAFpAAAABmNhbGxlcgAAAAVieXRlcwUAAAAJQWRtaW5kQXBwCQAAAgAAAAECAAAAFk9ubHkgQWRtaW4gY2FuIGRvIHRoaXMDCQEAAAACIT0AAAACCQAAZAAAAAIJAABkAAAAAgUAAAAGVG9Vc2VyBQAAAAxUb0ZyZWVsYW5jZXIFAAAACEFkbWluRmVlAAAAAAAAAABkCQAAAgAAAAECAAAAMlRvdGFsIG9mIFBlcmNlbnRhZ2VzIGNhbm5vdCBiZSBkaWZmZXJlbnQgZnJvbSAxMDAlBAAAABFGcmVlTGFuY2VyUGF5bWVudAkAASwAAAACBQAAAARVc2VyAgAAAAhfUGF5bWVudAQAAAARRnJlZWxhbmNlckFkZHJlc3MJAAEsAAAAAgUAAAAEVXNlcgIAAAALX0ZyZWVsYW5jZXIEAAAADFBheW1lbnRBc3NldAkAASwAAAACCQACWAAAAAEICAUAAAABaQAAAAZjYWxsZXIAAAAFYnl0ZXMCAAAABl9Bc3NldAQAAAAGYW1vdW50BAAAAAckbWF0Y2gwCQAEGgAAAAIFAAAABHRoaXMFAAAAEUZyZWVMYW5jZXJQYXltZW50AwkAAAEAAAACBQAAAAckbWF0Y2gwAgAAAANJbnQEAAAAAWEFAAAAByRtYXRjaDAFAAAAAWEAAAAAAAAAAAAEAAAAFEZyZWVsYW5jZXJBZGRyZXNzU3RyCQEAAAARQGV4dHJOYXRpdmUoMTA1MykAAAACBQAAAAR0aGlzBQAAABFGcmVlbGFuY2VyQWRkcmVzcwQAAAARQWRkcmVzc0ZyZWVMYW5jZXIJAQAAABFAZXh0ck5hdGl2ZSgxMDYyKQAAAAEFAAAAFEZyZWVsYW5jZXJBZGRyZXNzU3RyBAAAAA5QYXltZW50QXNzZXRJZAkBAAAAEUBleHRyTmF0aXZlKDEwNTMpAAAAAgUAAAAEdGhpcwUAAAAMUGF5bWVudEFzc2V0BAAAAAlkQXBwRnJlZXMJAQAAAAdBZGRyZXNzAAAAAQUAAAAIZEFwcEZlZXMEAAAAC0FkZHJlc3NVc2VyCQEAAAARQGV4dHJOYXRpdmUoMTA2MikAAAABBQAAAARVc2VyBAAAAAlBc3NldFVzZWQDCQAAAAAAAAIFAAAADlBheW1lbnRBc3NldElkAgAAAAVXYXZlcwUAAAAEdW5pdAkAAlkAAAABBQAAAA5QYXltZW50QXNzZXRJZAMJAAAAAAAAAgUAAAAGYW1vdW50AAAAAAAAAAAACQAAAgAAAAECAAAANFVzZXIncyBiYWxhbmNlIGlzIDAgQlVzZGMgY2Fubm90IHJlYWxpemUgYW55IHBheW1lbnQJAAUUAAAAAgkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgkAASwAAAACBQAAAARVc2VyAgAAAAhfUGF5bWVudAAAAAAAAAAAAAkABEwAAAACCQEAAAAOU2NyaXB0VHJhbnNmZXIAAAADBQAAABFBZGRyZXNzRnJlZUxhbmNlcgkAAGkAAAACCQAAaAAAAAIFAAAADFRvRnJlZWxhbmNlcgUAAAAGYW1vdW50AAAAAAAAAABkBQAAAAlBc3NldFVzZWQJAARMAAAAAgkBAAAADlNjcmlwdFRyYW5zZmVyAAAAAwUAAAALQWRkcmVzc1VzZXIJAABpAAAAAgkAAGgAAAACBQAAAAZUb1VzZXIFAAAABmFtb3VudAAAAAAAAAAAZAUAAAAJQXNzZXRVc2VkCQAETAAAAAIJAQAAAA5TY3JpcHRUcmFuc2ZlcgAAAAMFAAAACWRBcHBGcmVlcwkAAGkAAAACCQAAaAAAAAIFAAAACEFkbWluRmVlBQAAAAZhbW91bnQAAAAAAAAAAGQFAAAACUFzc2V0VXNlZAUAAAADbmlsBQAAAAlBc3NldFVzZWQAAAAAiDaiew==", "height": 3144681, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: none Next: 6X451SvatTeFFy8Y1VZjPNru7ymgAJgPtvDNwbPMxcLM Full:
OldNewDifferences
1-# no script
1+{-# STDLIB_VERSION 5 #-}
2+{-# SCRIPT_TYPE ACCOUNT #-}
3+{-# CONTENT_TYPE DAPP #-}
4+let BUsd = base58'8DLiYZjo3UUaRBTHU7Ayoqg4ihwb6YH1AfXrrhdjQ7K1'
5+
6+let USDT = base58'34N9YcEETLWn93qYQ64EsP1x89tSruJU44RrEMSXXEPJ'
7+
8+let USDC = base58'6XtHjpXbs9RRJP2Sr9GUyVqzACcby9TkThHXnjVC5CDJ'
9+
10+let BTC = base58'8LQW8f7P5d5PZM7GtZEBgaqRPGSzS3DfPuiXrURJ4AJS'
11+
12+let ETH = base58'474jTeYx2r2Va35794tCScAXWJG9hU2HcgxzMowaZUnu'
13+
14+let BNB = base58'5UYBPpq4WoU5n4MwpFkgJnW3Fq4B1u3ukpK33ik4QerR'
15+
16+let USDN = base58'DG2xFkPdDwKUoBkzGAhQtLpSGzfXLiCYPEzeKH2Ad24p'
17+
18+let HASH = base58'7RgM3A5AVCUZFbL3EwBicv1eHFCVsaY8z71yda77zrAv'
19+
20+let KUSD = base58'FXvNWA5Gfy8yLPHGScm6Gmn4DSZX9brFZ9qmEkPxAhGk'
21+
22+let dAppFees = base58'3PG1NyiC2rdgX46jb8c5zPGuEAzWXhr4L2W'
23+
24+let AdmindApp = base58'3PG1NyiC2rdgX46jb8c5zPGuEAzWXhr4L2W'
25+
26+@Callable(i)
27+func Reset () = [IntegerEntry((toBase58String(i.caller.bytes) + "_Payment"), 0), IntegerEntry((toBase58String(i.caller.bytes) + "_Paidtrx"), 0), IntegerEntry((toBase58String(i.caller.bytes) + "_LastPaid"), height)]
28+
29+
30+
31+@Callable(i)
32+func DepositFunds (ScopeDesc,Deliverables,FreelancerAddress) = {
33+ let FreeLancerPayment = (toBase58String(i.caller.bytes) + "_Payment")
34+ let amount = match getInteger(this, FreeLancerPayment) {
35+ case a: Int =>
36+ a
37+ case _ =>
38+ 0
39+ }
40+ if ((amount != 0))
41+ then throw("You have already deposited funds, deposits can only be done once")
42+ else {
43+ let pmt = if ((size(i.payments) == 1))
44+ then i.payments[0]
45+ else throw("Attached payment is required")
46+ if (if (if (if (if (if (if (if (if (if (if ((0 >= pmt.amount))
47+ then (pmt.assetId != BUsd)
48+ else false)
49+ then (pmt.assetId != USDT)
50+ else false)
51+ then (pmt.assetId != USDC)
52+ else false)
53+ then (pmt.assetId != BTC)
54+ else false)
55+ then (pmt.assetId != ETH)
56+ else false)
57+ then (pmt.assetId != BNB)
58+ else false)
59+ then (pmt.assetId != USDN)
60+ else false)
61+ then (pmt.assetId != HASH)
62+ else false)
63+ then (pmt.assetId != KUSD)
64+ else false)
65+ then isDefined(pmt.assetId)
66+ else false)
67+ then throw("Can only deposit accepted tokens, and amount should be positive")
68+ else if (if (if ((ScopeDesc == ""))
69+ then true
70+ else (Deliverables == ""))
71+ then true
72+ else (FreelancerAddress == ""))
73+ then throw("Job Scope, Deliverables desc and Freelancer Wallet Address cannot be empty")
74+ else {
75+ let AssetUsed = if (isDefined(pmt.assetId))
76+ then toBase58String(value(pmt.assetId))
77+ else "Waves"
78+[StringEntry((toBase58String(i.caller.bytes) + "_Scope"), ScopeDesc), StringEntry((toBase58String(i.caller.bytes) + "_Deliv"), Deliverables), StringEntry((toBase58String(i.caller.bytes) + "_Asset"), AssetUsed), StringEntry((toBase58String(i.caller.bytes) + "_Freelancer"), FreelancerAddress), IntegerEntry((toBase58String(i.caller.bytes) + "_Payment"), pmt.amount)]
79+ }
80+ }
81+ }
82+
83+
84+
85+@Callable(i)
86+func PayFreelancer (PayFreelancer) = {
87+ let FreeLancerPayment = (toBase58String(i.caller.bytes) + "_Payment")
88+ let FreelancerAddress = (toBase58String(i.caller.bytes) + "_Freelancer")
89+ let PaymentAsset = (toBase58String(i.caller.bytes) + "_Asset")
90+ let Paidtrx = (toBase58String(i.caller.bytes) + "_Paidtrx")
91+ let amount = match getInteger(this, FreeLancerPayment) {
92+ case a: Int =>
93+ a
94+ case _ =>
95+ 0
96+ }
97+ let PaidtrxLast = match getInteger(this, Paidtrx) {
98+ case a: Int =>
99+ a
100+ case _ =>
101+ 0
102+ }
103+ let FreelancerAddressStr = getStringValue(this, FreelancerAddress)
104+ let PaymentAssetId = getStringValue(this, PaymentAsset)
105+ let AddressFreeLancer = addressFromStringValue(FreelancerAddressStr)
106+ let dAppFrees = Address(dAppFees)
107+ let AssetUsed = if ((PaymentAssetId == "Waves"))
108+ then unit
109+ else fromBase58String(PaymentAssetId)
110+ if ((0 >= (((95 * amount) / 100) - (PayFreelancer * 100000000))))
111+ then throw(("You do not have enough funds to make payment, your available funds are: " + toString((amount / 100000000))))
112+ else if (if ((PaidtrxLast >= 12))
113+ then (amount > 0)
114+ else false)
115+ then throw("You have already done 12 payments, you cannot make more payments")
116+ else {
117+ let UserAccount = if ((PaidtrxLast == 11))
118+ then 0
119+ else (amount - (PayFreelancer * 100000000))
120+ let Payment2Freelance = if ((PaidtrxLast == 11))
121+ then ((95 * amount) / 100)
122+ else ((95 * PayFreelancer) * 1000000)
123+ let FeePaid = if ((PaidtrxLast == 11))
124+ then ((5 * amount) / 100)
125+ else ((5 * PayFreelancer) * 1000000)
126+ let PaidtrxValue = if ((PaidtrxLast == 11))
127+ then 0
128+ else (PaidtrxLast + 1)
129+ $Tuple2([IntegerEntry((toBase58String(i.caller.bytes) + "_Payment"), UserAccount), IntegerEntry((toBase58String(i.caller.bytes) + "_Paidtrx"), PaidtrxValue), ScriptTransfer(AddressFreeLancer, Payment2Freelance, AssetUsed), ScriptTransfer(dAppFrees, FeePaid, AssetUsed)], AssetUsed)
130+ }
131+ }
132+
133+
134+
135+@Callable(i)
136+func PayFreelancerOnDemand () = {
137+ let PayFreelancer = 4
138+ let Fee = 1
139+ let WaitTime = 10
140+ let FreeLancerPayment = (toBase58String(i.caller.bytes) + "_Payment")
141+ let FreelancerAddress = (toBase58String(i.caller.bytes) + "_Freelancer")
142+ let LastPaymentBlock = (toBase58String(i.caller.bytes) + "_LastPaid")
143+ let PaymentAsset = (toBase58String(i.caller.bytes) + "_Asset")
144+ let Paidtrx = (toBase58String(i.caller.bytes) + "_Paidtrx")
145+ let amount = match getInteger(this, FreeLancerPayment) {
146+ case a: Int =>
147+ a
148+ case _ =>
149+ 0
150+ }
151+ let PaidtrxLast = match getInteger(this, Paidtrx) {
152+ case a: Int =>
153+ a
154+ case _ =>
155+ 0
156+ }
157+ let LastPaymentBlockValue = match getInteger(this, LastPaymentBlock) {
158+ case a: Int =>
159+ a
160+ case _ =>
161+ height
162+ }
163+ let FreelancerAddressStr = getStringValue(this, FreelancerAddress)
164+ let PaymentAssetId = getStringValue(this, PaymentAsset)
165+ let AddressFreeLancer = addressFromStringValue(FreelancerAddressStr)
166+ let dAppFrees = Address(dAppFees)
167+ let AssetUsed = if ((PaymentAssetId == "Waves"))
168+ then unit
169+ else fromBase58String(PaymentAssetId)
170+ if ((0 >= (amount - (Fee * 100000000))))
171+ then throw(("You do not have enough funds to make payment, your available funds are: " + toString((amount / 100000000))))
172+ else if (if (((LastPaymentBlockValue + WaitTime) > height))
173+ then (PaidtrxLast > 1)
174+ else false)
175+ then throw(((("Cannot make Payment before " + toString(LastPaymentBlockValue)) + " min") + toString(WaitTime)))
176+ else {
177+ let FeePaid = (Fee * 100000000)
178+ let PaidtrxValue = if ((PaidtrxLast == 3))
179+ then 0
180+ else (PaidtrxLast + 1)
181+ let UserAccount = if ((PaidtrxLast == 3))
182+ then 0
183+ else ((amount - (Fee * 100000000)) - (((PaidtrxValue * 25) * (amount - (Fee * 100000000))) / 100))
184+ let Payment2Freelance = ((25 * amount) / 100)
185+ $Tuple2([IntegerEntry((toBase58String(i.caller.bytes) + "_Payment"), UserAccount), IntegerEntry((toBase58String(i.caller.bytes) + "_Paidtrx"), PaidtrxValue), IntegerEntry((toBase58String(i.caller.bytes) + "_LastPaid"), height), IntegerEntry("WaitTime", WaitTime), IntegerEntry("LastPaymentBlockValue", LastPaymentBlockValue), IntegerEntry("Check", (LastPaymentBlockValue + WaitTime)), ScriptTransfer(AddressFreeLancer, Payment2Freelance, AssetUsed), ScriptTransfer(dAppFrees, FeePaid, AssetUsed)], AssetUsed)
186+ }
187+ }
188+
189+
190+
191+@Callable(i)
192+func AdminTransfer (User,Freelancer,ToFreelancer,ToUser,AdminFee) = if ((i.caller.bytes != AdmindApp))
193+ then throw("Only Admin can do this")
194+ else if ((((ToUser + ToFreelancer) + AdminFee) != 100))
195+ then throw("Total of Percentages cannot be different from 100%")
196+ else {
197+ let FreeLancerPayment = (User + "_Payment")
198+ let FreelancerAddress = (User + "_Freelancer")
199+ let PaymentAsset = (toBase58String(i.caller.bytes) + "_Asset")
200+ let amount = match getInteger(this, FreeLancerPayment) {
201+ case a: Int =>
202+ a
203+ case _ =>
204+ 0
205+ }
206+ let FreelancerAddressStr = getStringValue(this, FreelancerAddress)
207+ let AddressFreeLancer = addressFromStringValue(FreelancerAddressStr)
208+ let PaymentAssetId = getStringValue(this, PaymentAsset)
209+ let dAppFrees = Address(dAppFees)
210+ let AddressUser = addressFromStringValue(User)
211+ let AssetUsed = if ((PaymentAssetId == "Waves"))
212+ then unit
213+ else fromBase58String(PaymentAssetId)
214+ if ((amount == 0))
215+ then throw("User's balance is 0 BUsdc cannot realize any payment")
216+ else $Tuple2([IntegerEntry((User + "_Payment"), 0), ScriptTransfer(AddressFreeLancer, ((ToFreelancer * amount) / 100), AssetUsed), ScriptTransfer(AddressUser, ((ToUser * amount) / 100), AssetUsed), ScriptTransfer(dAppFrees, ((AdminFee * amount) / 100), AssetUsed)], AssetUsed)
217+ }
218+
219+

github/deemru/w8io/786bc32 
22.54 ms