tx · E6DYAv1HPQEWyLdE85Z16MFUF5M1QoaPt7xTgMVvysNY

3NCLRHPm5VYMStKzvP2kkc5mxGSH9wtWAtK:  -0.01000000 Waves

2022.05.22 18:15 [2063048] smart account 3NCLRHPm5VYMStKzvP2kkc5mxGSH9wtWAtK > SELF 0.00000000 Waves

{ "type": 13, "id": "E6DYAv1HPQEWyLdE85Z16MFUF5M1QoaPt7xTgMVvysNY", "fee": 1000000, "feeAssetId": null, "timestamp": 1653232602714, "version": 2, "chainId": 84, "sender": "3NCLRHPm5VYMStKzvP2kkc5mxGSH9wtWAtK", "senderPublicKey": "2bV4VobJC5a6L6e7or9PFXQhQ1KtkZW1UYzjAvMzs6A8", "proofs": [ "Mew8z7wK2LTJYpgtusRXrdZGEs2dpwsmKL2SfDKUPpuZDQJqbxLb7mSuMMKzosFhLSjHC7i4aHhXopnGiA2BTJ1" ], "script": "base64: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", "height": 2063048, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: 32ShshiQwYL2F5Q8XLqoZoB618835GR8a5dRHrf4LR2u Next: 3jrJYuCCBJH2BwAuPFVtYPwKgL9XcLVfwhGxYJm4LY6z Diff:
OldNewDifferences
1212 let pmt = if ((size(i.payments) == 1))
1313 then i.payments[0]
1414 else throw("Attached payment is required")
15- if (((50 * 100000000) > assetBalance(i.caller, BUsd)))
16- then throw("You must have 50 BUsd at least to deposit")
17- else if (((50 * 100000000) > pmt.amount))
18- then throw("Cannot deposit less than 50 Busd")
19- else if (if (if ((ScopeDesc == ""))
20- then true
21- else (Deliverables == ""))
22- then true
23- else (FreelancerAddress == ""))
24- then throw("Job Scope, Deliverables desc and Freelancer Wallet Address cannot be empty")
25- else [StringEntry((toBase58String(i.caller.bytes) + "_Scope"), ScopeDesc), StringEntry((toBase58String(i.caller.bytes) + "_Deliv"), Deliverables), StringEntry((toBase58String(i.caller.bytes) + "_Freelancer"), FreelancerAddress), IntegerEntry((toBase58String(i.caller.bytes) + "_Payment"), pmt.amount)]
15+ if (if (if ((ScopeDesc == ""))
16+ then true
17+ else (Deliverables == ""))
18+ then true
19+ else (FreelancerAddress == ""))
20+ then throw("Job Scope, Deliverables desc and Freelancer Wallet Address cannot be empty")
21+ else [StringEntry((toBase58String(i.caller.bytes) + "_Scope"), ScopeDesc), StringEntry((toBase58String(i.caller.bytes) + "_Deliv"), Deliverables), StringEntry((toBase58String(i.caller.bytes) + "_Freelancer"), FreelancerAddress), IntegerEntry((toBase58String(i.caller.bytes) + "_Payment"), pmt.amount)]
2622 }
2723
2824
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 5 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 let BUsd = base58'BBaEeEmuA6qPNowGcB8BXozC2PmAAG48G5zzSWw8qt2k'
55
66 let dAppFees = base58'3N9Lfz79kZAEUupwESSboYFyygo1nQguVXo'
77
88 let AdmindApp = base58'3Mx3pn4yMcBccM59UrDGjbbAkVsRYBw38tB'
99
1010 @Callable(i)
1111 func DepositFunds (ScopeDesc,Deliverables,FreelancerAddress) = {
1212 let pmt = if ((size(i.payments) == 1))
1313 then i.payments[0]
1414 else throw("Attached payment is required")
15- if (((50 * 100000000) > assetBalance(i.caller, BUsd)))
16- then throw("You must have 50 BUsd at least to deposit")
17- else if (((50 * 100000000) > pmt.amount))
18- then throw("Cannot deposit less than 50 Busd")
19- else if (if (if ((ScopeDesc == ""))
20- then true
21- else (Deliverables == ""))
22- then true
23- else (FreelancerAddress == ""))
24- then throw("Job Scope, Deliverables desc and Freelancer Wallet Address cannot be empty")
25- else [StringEntry((toBase58String(i.caller.bytes) + "_Scope"), ScopeDesc), StringEntry((toBase58String(i.caller.bytes) + "_Deliv"), Deliverables), StringEntry((toBase58String(i.caller.bytes) + "_Freelancer"), FreelancerAddress), IntegerEntry((toBase58String(i.caller.bytes) + "_Payment"), pmt.amount)]
15+ if (if (if ((ScopeDesc == ""))
16+ then true
17+ else (Deliverables == ""))
18+ then true
19+ else (FreelancerAddress == ""))
20+ then throw("Job Scope, Deliverables desc and Freelancer Wallet Address cannot be empty")
21+ else [StringEntry((toBase58String(i.caller.bytes) + "_Scope"), ScopeDesc), StringEntry((toBase58String(i.caller.bytes) + "_Deliv"), Deliverables), StringEntry((toBase58String(i.caller.bytes) + "_Freelancer"), FreelancerAddress), IntegerEntry((toBase58String(i.caller.bytes) + "_Payment"), pmt.amount)]
2622 }
2723
2824
2925
3026 @Callable(i)
3127 func PayFreelancer () = {
3228 let FreeLancerPayment = (toBase58String(i.caller.bytes) + "_Payment")
3329 let FreelancerAddress = (toBase58String(i.caller.bytes) + "_Freelancer")
3430 let amount = match getInteger(this, FreeLancerPayment) {
3531 case a: Int =>
3632 a
3733 case _ =>
3834 0
3935 }
4036 let FreelancerAddressStr = getStringValue(this, FreelancerAddress)
4137 let AddressFreeLancer = addressFromStringValue(FreelancerAddressStr)
4238 let dAppFrees = Address(dAppFees)
4339 if ((amount == 0))
4440 then throw("Your balance is 0 BUsdc cannot realize any payment")
4541 else $Tuple2([IntegerEntry((toBase58String(i.caller.bytes) + "_Payment"), 0), ScriptTransfer(AddressFreeLancer, ((95 * amount) / 100), BUsd), ScriptTransfer(dAppFrees, ((5 * amount) / 100), BUsd)], BUsd)
4642 }
4743
4844
4945
5046 @Callable(i)
5147 func AdminTransfer (User,Freelancer,ToUser,ToFreelancer) = if ((i.caller.bytes != AdmindApp))
5248 then throw("Only Admin can do this")
5349 else {
5450 let FreeLancerPayment = (User + "_Payment")
5551 let FreelancerAddress = (User + "_Freelancer")
5652 let amount = match getInteger(this, FreeLancerPayment) {
5753 case a: Int =>
5854 a
5955 case _ =>
6056 0
6157 }
6258 let FreelancerAddressStr = getStringValue(this, FreelancerAddress)
6359 let AddressFreeLancer = addressFromStringValue(FreelancerAddressStr)
6460 let dAppFrees = Address(dAppFees)
6561 let AddressUser = addressFromStringValue(User)
6662 if ((amount == 0))
6763 then throw("User's balance is 0 BUsdc cannot realize any payment")
6864 else $Tuple2([IntegerEntry((User + "_Payment"), 0), ScriptTransfer(AddressFreeLancer, ((ToFreelancer * (95 * amount)) / 10000), BUsd), ScriptTransfer(AddressUser, ((ToUser * (95 * amount)) / 10000), BUsd), ScriptTransfer(dAppFrees, ((5 * amount) / 100), BUsd)], BUsd)
6965 }
7066
7167

github/deemru/w8io/169f3d6 
42.72 ms