tx · DGFsNrb4gZ5xz9rqtEM1oF8boPDFCYm2uvzDia6D9Hwh

3NCLRHPm5VYMStKzvP2kkc5mxGSH9wtWAtK:  -0.01000000 Waves

2022.05.26 20:53 [2068968] smart account 3NCLRHPm5VYMStKzvP2kkc5mxGSH9wtWAtK > SELF 0.00000000 Waves

{ "type": 13, "id": "DGFsNrb4gZ5xz9rqtEM1oF8boPDFCYm2uvzDia6D9Hwh", "fee": 1000000, "feeAssetId": null, "timestamp": 1653587593282, "version": 2, "chainId": 84, "sender": "3NCLRHPm5VYMStKzvP2kkc5mxGSH9wtWAtK", "senderPublicKey": "2bV4VobJC5a6L6e7or9PFXQhQ1KtkZW1UYzjAvMzs6A8", "proofs": [ "5r3brw7AX3JnP6Bi4X8vVmDGqhJrznRa5p4BCdPmVeanrH3NBGRBEXT5ZA7meQES9LduW7NXBACXNXtCgDCSqHHx" ], "script": "base64:AAIFAAAAAAAAABkIAhIAEgUKAwgICBIDCgEBEgcKBQgIAQEBAAAACwAAAAAEQlVzZAEAAAAgl0pBq34KfUugAqFVxnXIAChne47NFwAe2d/wiUR5CAEAAAAABFVTRFQBAAAAIJdKQat+Cn1LoAKhVcZ1yAAoZ3uOzRcAHtnf8IlEeQgBAAAAAARVU0RDAQAAACCXSkGrfgp9S6ACoVXGdcgAKGd7js0XAB7Z3/CJRHkIAQAAAAADQlRDAQAAACCXSkGrfgp9S6ACoVXGdcgAKGd7js0XAB7Z3/CJRHkIAQAAAAADRVRIAQAAACCXSkGrfgp9S6ACoVXGdcgAKGd7js0XAB7Z3/CJRHkIAQAAAAADQk5CAQAAACCXSkGrfgp9S6ACoVXGdcgAKGd7js0XAB7Z3/CJRHkIAQAAAAAEVVNETgEAAAAgl0pBq34KfUugAqFVxnXIAChne47NFwAe2d/wiUR5CAEAAAAABEhBU0gBAAAAIJdKQat+Cn1LoAKhVcZ1yAAoZ3uOzRcAHtnf8IlEeQgBAAAAAARLVVNEAQAAACCXSkGrfgp9S6ACoVXGdcgAKGd7js0XAB7Z3/CJRHkIAQAAAAAIZEFwcEZlZXMBAAAAGgFU1RDuHV4tllgZX2tlZ8S2SLrSUv4N0hMaAAAAAAlBZG1pbmRBcHABAAAAGgFUWTfQkonE3YZ6AIOjiKqDD3jCEGIf5LFEAAAABAAAAAFpAQAAAAVSZXNldAAAAAAJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIJAAEsAAAAAgkAAlgAAAABCAgFAAAAAWkAAAAGY2FsbGVyAAAABWJ5dGVzAgAAAAhfUGF5bWVudAAAAAAAAAAAAAkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgkAASwAAAACCQACWAAAAAEICAUAAAABaQAAAAZjYWxsZXIAAAAFYnl0ZXMCAAAACF9QYWlkdHJ4AAAAAAAAAAAABQAAAANuaWwAAAABaQEAAAAMRGVwb3NpdEZ1bmRzAAAAAwAAAAlTY29wZURlc2MAAAAMRGVsaXZlcmFibGVzAAAAEUZyZWVsYW5jZXJBZGRyZXNzBAAAABFGcmVlTGFuY2VyUGF5bWVudAkAASwAAAACCQACWAAAAAEICAUAAAABaQAAAAZjYWxsZXIAAAAFYnl0ZXMCAAAACF9QYXltZW50BAAAABBBZGRyZXNzRnJlZWxhbmNlBAAAAAckbWF0Y2gwCQEAAAAHQWRkcmVzcwAAAAEJAAJZAAAAAQUAAAARRnJlZWxhbmNlckFkZHJlc3MDCQAAAQAAAAIFAAAAByRtYXRjaDACAAAAB0FkZHJlc3MEAAAAAWEFAAAAByRtYXRjaDAJAAACAAAAAQIAAAACT0sJAAACAAAAAQIAAAA5RnJlZWxhbmNlciBpcyBub3QgdmFsaWQsIHNob3VsZCBiZSBhIFdhdmVzIFdhbGxldCBBZGRyZXNzBAAAAAZhbW91bnQEAAAAByRtYXRjaDAJAAQaAAAAAgUAAAAEdGhpcwUAAAARRnJlZUxhbmNlclBheW1lbnQDCQAAAQAAAAIFAAAAByRtYXRjaDACAAAAA0ludAQAAAABYQUAAAAHJG1hdGNoMAUAAAABYQAAAAAAAAAAAAMJAQAAAAIhPQAAAAIFAAAABmFtb3VudAAAAAAAAAAAAAkAAAIAAAABAgAAAEBZb3UgaGF2ZSBhbHJlYWR5IGRlcG9zaXRlZCBmdW5kcywgZGVwb3NpdHMgY2FuIG9ubHkgYmUgZG9uZSBvbmNlBAAAAANwbXQDCQAAAAAAAAIJAAGQAAAAAQgFAAAAAWkAAAAIcGF5bWVudHMAAAAAAAAAAAEJAAGRAAAAAggFAAAAAWkAAAAIcGF5bWVudHMAAAAAAAAAAAAJAAACAAAAAQIAAAAcQXR0YWNoZWQgcGF5bWVudCBpcyByZXF1aXJlZAMDAwMDAwMDAwMJAQAAAAIhPQAAAAIIBQAAAANwbXQAAAAHYXNzZXRJZAUAAAAEQlVzZAkBAAAAAiE9AAAAAggFAAAAA3BtdAAAAAdhc3NldElkBQAAAARVU0RUBwkBAAAAAiE9AAAAAggFAAAAA3BtdAAAAAdhc3NldElkBQAAAARVU0RDBwkBAAAAAiE9AAAAAggFAAAAA3BtdAAAAAdhc3NldElkBQAAAANCVEMHCQEAAAACIT0AAAACCAUAAAADcG10AAAAB2Fzc2V0SWQFAAAAA0VUSAcJAQAAAAIhPQAAAAIIBQAAAANwbXQAAAAHYXNzZXRJZAUAAAADQk5CBwkBAAAAAiE9AAAAAggFAAAAA3BtdAAAAAdhc3NldElkBQAAAARVU0ROBwkBAAAAAiE9AAAAAggFAAAAA3BtdAAAAAdhc3NldElkBQAAAARIQVNIBwkBAAAAAiE9AAAAAggFAAAAA3BtdAAAAAdhc3NldElkBQAAAARLVVNEBwkBAAAACWlzRGVmaW5lZAAAAAEIBQAAAANwbXQAAAAHYXNzZXRJZAcJAAACAAAAAQIAAAAgQ2FuIG9ubHkgZGVwb3NpdCBhY2NlcHRlZCB0b2tlbnMDAwMJAAAAAAAAAgUAAAAJU2NvcGVEZXNjAgAAAAAGCQAAAAAAAAIFAAAADERlbGl2ZXJhYmxlcwIAAAAABgkAAAAAAAACBQAAABFGcmVlbGFuY2VyQWRkcmVzcwIAAAAACQAAAgAAAAECAAAASkpvYiBTY29wZSwgRGVsaXZlcmFibGVzIGRlc2MgYW5kIEZyZWVsYW5jZXIgV2FsbGV0IEFkZHJlc3MgY2Fubm90IGJlIGVtcHR5BAAAAAlBc3NldFVzZWQDCQEAAAAJaXNEZWZpbmVkAAAAAQgFAAAAA3BtdAAAAAdhc3NldElkCQACWAAAAAEJAQAAAAV2YWx1ZQAAAAEIBQAAAANwbXQAAAAHYXNzZXRJZAIAAAAFV2F2ZXMJAARMAAAAAgkBAAAAC1N0cmluZ0VudHJ5AAAAAgkAASwAAAACCQACWAAAAAEICAUAAAABaQAAAAZjYWxsZXIAAAAFYnl0ZXMCAAAABl9TY29wZQUAAAAJU2NvcGVEZXNjCQAETAAAAAIJAQAAAAtTdHJpbmdFbnRyeQAAAAIJAAEsAAAAAgkAAlgAAAABCAgFAAAAAWkAAAAGY2FsbGVyAAAABWJ5dGVzAgAAAAZfRGVsaXYFAAAADERlbGl2ZXJhYmxlcwkABEwAAAACCQEAAAALU3RyaW5nRW50cnkAAAACCQABLAAAAAIJAAJYAAAAAQgIBQAAAAFpAAAABmNhbGxlcgAAAAVieXRlcwIAAAAGX0Fzc2V0BQAAAAlBc3NldFVzZWQJAARMAAAAAgkBAAAAC1N0cmluZ0VudHJ5AAAAAgkAASwAAAACCQACWAAAAAEICAUAAAABaQAAAAZjYWxsZXIAAAAFYnl0ZXMCAAAAC19GcmVlbGFuY2VyBQAAABFGcmVlbGFuY2VyQWRkcmVzcwkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgkAASwAAAACCQACWAAAAAEICAUAAAABaQAAAAZjYWxsZXIAAAAFYnl0ZXMCAAAACF9QYXltZW50CAUAAAADcG10AAAABmFtb3VudAUAAAADbmlsAAAAAWkBAAAADVBheUZyZWVsYW5jZXIAAAABAAAADVBheUZyZWVsYW5jZXIEAAAAEUZyZWVMYW5jZXJQYXltZW50CQABLAAAAAIJAAJYAAAAAQgIBQAAAAFpAAAABmNhbGxlcgAAAAVieXRlcwIAAAAIX1BheW1lbnQEAAAAEUZyZWVsYW5jZXJBZGRyZXNzCQABLAAAAAIJAAJYAAAAAQgIBQAAAAFpAAAABmNhbGxlcgAAAAVieXRlcwIAAAALX0ZyZWVsYW5jZXIEAAAADFBheW1lbnRBc3NldAkAASwAAAACCQACWAAAAAEICAUAAAABaQAAAAZjYWxsZXIAAAAFYnl0ZXMCAAAABl9Bc3NldAQAAAAHUGFpZHRyeAkAASwAAAACCQACWAAAAAEICAUAAAABaQAAAAZjYWxsZXIAAAAFYnl0ZXMCAAAACF9QYWlkdHJ4BAAAAAZhbW91bnQEAAAAByRtYXRjaDAJAAQaAAAAAgUAAAAEdGhpcwUAAAARRnJlZUxhbmNlclBheW1lbnQDCQAAAQAAAAIFAAAAByRtYXRjaDACAAAAA0ludAQAAAABYQUAAAAHJG1hdGNoMAUAAAABYQAAAAAAAAAAAAQAAAALUGFpZHRyeExhc3QEAAAAByRtYXRjaDAJAAQaAAAAAgUAAAAEdGhpcwUAAAAHUGFpZHRyeAMJAAABAAAAAgUAAAAHJG1hdGNoMAIAAAADSW50BAAAAAFhBQAAAAckbWF0Y2gwBQAAAAFhAAAAAAAAAAAABAAAABRGcmVlbGFuY2VyQWRkcmVzc1N0cgkBAAAAEUBleHRyTmF0aXZlKDEwNTMpAAAAAgUAAAAEdGhpcwUAAAARRnJlZWxhbmNlckFkZHJlc3MEAAAADlBheW1lbnRBc3NldElkCQEAAAARQGV4dHJOYXRpdmUoMTA1MykAAAACBQAAAAR0aGlzBQAAAAxQYXltZW50QXNzZXQEAAAAEUFkZHJlc3NGcmVlTGFuY2VyCQEAAAARQGV4dHJOYXRpdmUoMTA2MikAAAABBQAAABRGcmVlbGFuY2VyQWRkcmVzc1N0cgQAAAAJZEFwcEZyZWVzCQEAAAAHQWRkcmVzcwAAAAEFAAAACGRBcHBGZWVzBAAAAAlBc3NldFVzZWQDCQAAAAAAAAIFAAAADlBheW1lbnRBc3NldElkAgAAAAVXYXZlcwUAAAAEdW5pdAkAAlkAAAABBQAAAA5QYXltZW50QXNzZXRJZAMJAABnAAAAAgAAAAAAAAAAAAkAAGUAAAACCQAAaQAAAAIJAABoAAAAAgAAAAAAAAAAXwUAAAAGYW1vdW50AAAAAAAAAABkCQAAaAAAAAIFAAAADVBheUZyZWVsYW5jZXIAAAAAAAX14QAJAAACAAAAAQkAASwAAAACAgAAAEhZb3UgZG8gbm90IGhhdmUgZW5vdWdoIGZ1bmRzIHRvIG1ha2UgcGF5bWVudCwgeW91ciBhdmFpbGFibGUgZnVuZHMgYXJlOiAJAAGkAAAAAQkAAGkAAAACBQAAAAZhbW91bnQAAAAAAAX14QADAwkAAGcAAAACBQAAAAtQYWlkdHJ4TGFzdAAAAAAAAAAADAkAAGYAAAACBQAAAAZhbW91bnQAAAAAAAAAAAAHCQAAAgAAAAECAAAAQFlvdSBoYXZlIGFscmVhZHkgZG9uZSAxMiBwYXltZW50cywgeW91IGNhbm5vdCBtYWtlIG1vcmUgcGF5bWVudHMEAAAAC1VzZXJBY2NvdW50AwkAAAAAAAACBQAAAAtQYWlkdHJ4TGFzdAAAAAAAAAAACwAAAAAAAAAAAAkAAGUAAAACBQAAAAZhbW91bnQJAABoAAAAAgUAAAANUGF5RnJlZWxhbmNlcgAAAAAABfXhAAQAAAARUGF5bWVudDJGcmVlbGFuY2UDCQAAAAAAAAIFAAAAC1BhaWR0cnhMYXN0AAAAAAAAAAALCQAAaQAAAAIJAABoAAAAAgAAAAAAAAAAXwUAAAAGYW1vdW50AAAAAAAAAABkCQAAaAAAAAIJAABoAAAAAgAAAAAAAAAAXwUAAAANUGF5RnJlZWxhbmNlcgAAAAAAAA9CQAQAAAAHRmVlUGFpZAMJAAAAAAAAAgUAAAALUGFpZHRyeExhc3QAAAAAAAAAAAsJAABpAAAAAgkAAGgAAAACAAAAAAAAAAAFBQAAAAZhbW91bnQAAAAAAAAAAGQJAABoAAAAAgkAAGgAAAACAAAAAAAAAAAFBQAAAA1QYXlGcmVlbGFuY2VyAAAAAAAAD0JABAAAAAxQYWlkdHJ4VmFsdWUDCQAAAAAAAAIFAAAAC1BhaWR0cnhMYXN0AAAAAAAAAAALAAAAAAAAAAAACQAAZAAAAAIFAAAAC1BhaWR0cnhMYXN0AAAAAAAAAAABCQAFFAAAAAIJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIJAAEsAAAAAgkAAlgAAAABCAgFAAAAAWkAAAAGY2FsbGVyAAAABWJ5dGVzAgAAAAhfUGF5bWVudAUAAAALVXNlckFjY291bnQJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIJAAEsAAAAAgkAAlgAAAABCAgFAAAAAWkAAAAGY2FsbGVyAAAABWJ5dGVzAgAAAAhfUGFpZHRyeAUAAAAMUGFpZHRyeFZhbHVlCQAETAAAAAIJAQAAAA5TY3JpcHRUcmFuc2ZlcgAAAAMFAAAAEUFkZHJlc3NGcmVlTGFuY2VyBQAAABFQYXltZW50MkZyZWVsYW5jZQUAAAAJQXNzZXRVc2VkCQAETAAAAAIJAQAAAA5TY3JpcHRUcmFuc2ZlcgAAAAMFAAAACWRBcHBGcmVlcwUAAAAHRmVlUGFpZAUAAAAJQXNzZXRVc2VkBQAAAANuaWwFAAAACUFzc2V0VXNlZAAAAAFpAQAAAA1BZG1pblRyYW5zZmVyAAAABQAAAARVc2VyAAAACkZyZWVsYW5jZXIAAAAMVG9GcmVlbGFuY2VyAAAABlRvVXNlcgAAAAhBZG1pbkZlZQMJAQAAAAIhPQAAAAIICAUAAAABaQAAAAZjYWxsZXIAAAAFYnl0ZXMFAAAACUFkbWluZEFwcAkAAAIAAAABAgAAABZPbmx5IEFkbWluIGNhbiBkbyB0aGlzAwkBAAAAAiE9AAAAAgkAAGQAAAACCQAAZAAAAAIFAAAABlRvVXNlcgUAAAAMVG9GcmVlbGFuY2VyBQAAAAhBZG1pbkZlZQAAAAAAAAAAZAkAAAIAAAABAgAAADJUb3RhbCBvZiBQZXJjZW50YWdlcyBjYW5ub3QgYmUgZGlmZmVyZW50IGZyb20gMTAwJQQAAAARRnJlZUxhbmNlclBheW1lbnQJAAEsAAAAAgUAAAAEVXNlcgIAAAAIX1BheW1lbnQEAAAAEUZyZWVsYW5jZXJBZGRyZXNzCQABLAAAAAIFAAAABFVzZXICAAAAC19GcmVlbGFuY2VyBAAAAAxQYXltZW50QXNzZXQJAAEsAAAAAgkAAlgAAAABCAgFAAAAAWkAAAAGY2FsbGVyAAAABWJ5dGVzAgAAAAZfQXNzZXQEAAAABmFtb3VudAQAAAAHJG1hdGNoMAkABBoAAAACBQAAAAR0aGlzBQAAABFGcmVlTGFuY2VyUGF5bWVudAMJAAABAAAAAgUAAAAHJG1hdGNoMAIAAAADSW50BAAAAAFhBQAAAAckbWF0Y2gwBQAAAAFhAAAAAAAAAAAABAAAABRGcmVlbGFuY2VyQWRkcmVzc1N0cgkBAAAAEUBleHRyTmF0aXZlKDEwNTMpAAAAAgUAAAAEdGhpcwUAAAARRnJlZWxhbmNlckFkZHJlc3MEAAAAEUFkZHJlc3NGcmVlTGFuY2VyCQEAAAARQGV4dHJOYXRpdmUoMTA2MikAAAABBQAAABRGcmVlbGFuY2VyQWRkcmVzc1N0cgQAAAAOUGF5bWVudEFzc2V0SWQJAQAAABFAZXh0ck5hdGl2ZSgxMDUzKQAAAAIFAAAABHRoaXMFAAAADFBheW1lbnRBc3NldAQAAAAJZEFwcEZyZWVzCQEAAAAHQWRkcmVzcwAAAAEFAAAACGRBcHBGZWVzBAAAAAtBZGRyZXNzVXNlcgkBAAAAEUBleHRyTmF0aXZlKDEwNjIpAAAAAQUAAAAEVXNlcgQAAAAJQXNzZXRVc2VkAwkAAAAAAAACBQAAAA5QYXltZW50QXNzZXRJZAIAAAAFV2F2ZXMFAAAABHVuaXQJAAJZAAAAAQUAAAAOUGF5bWVudEFzc2V0SWQDCQAAAAAAAAIFAAAABmFtb3VudAAAAAAAAAAAAAkAAAIAAAABAgAAADRVc2VyJ3MgYmFsYW5jZSBpcyAwIEJVc2RjIGNhbm5vdCByZWFsaXplIGFueSBwYXltZW50CQAFFAAAAAIJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIJAAEsAAAAAgUAAAAEVXNlcgIAAAAIX1BheW1lbnQAAAAAAAAAAAAJAARMAAAAAgkBAAAADlNjcmlwdFRyYW5zZmVyAAAAAwUAAAARQWRkcmVzc0ZyZWVMYW5jZXIJAABpAAAAAgkAAGgAAAACBQAAAAxUb0ZyZWVsYW5jZXIFAAAABmFtb3VudAAAAAAAAAAAZAUAAAAJQXNzZXRVc2VkCQAETAAAAAIJAQAAAA5TY3JpcHRUcmFuc2ZlcgAAAAMFAAAAC0FkZHJlc3NVc2VyCQAAaQAAAAIJAABoAAAAAgUAAAAGVG9Vc2VyBQAAAAZhbW91bnQAAAAAAAAAAGQFAAAACUFzc2V0VXNlZAkABEwAAAACCQEAAAAOU2NyaXB0VHJhbnNmZXIAAAADBQAAAAlkQXBwRnJlZXMJAABpAAAAAgkAAGgAAAACBQAAAAhBZG1pbkZlZQUAAAAGYW1vdW50AAAAAAAAAABkBQAAAAlBc3NldFVzZWQFAAAAA25pbAUAAAAJQXNzZXRVc2VkAAAAAF0a90U=", "height": 2068968, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: Gmmduagmq3zSqbcDVeqYDrdTVZQUiGgJhK5o7cut4ryr Next: GK6Eev1cXdALuuaSYJhNN3RAiRQrtUtAuCWwQLsMWEfo Diff:
OldNewDifferences
3131 @Callable(i)
3232 func DepositFunds (ScopeDesc,Deliverables,FreelancerAddress) = {
3333 let FreeLancerPayment = (toBase58String(i.caller.bytes) + "_Payment")
34- let AddressFreelance = match addressFromStringValue(FreelancerAddress) {
34+ let AddressFreelance = match Address(fromBase58String(FreelancerAddress)) {
3535 case a: Address =>
36- a
36+ throw("OK")
3737 case _ =>
3838 throw("Freelancer is not valid, should be a Waves Wallet Address")
3939 }
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 5 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 let BUsd = base58'BBaEeEmuA6qPNowGcB8BXozC2PmAAG48G5zzSWw8qt2k'
55
66 let USDT = base58'BBaEeEmuA6qPNowGcB8BXozC2PmAAG48G5zzSWw8qt2k'
77
88 let USDC = base58'BBaEeEmuA6qPNowGcB8BXozC2PmAAG48G5zzSWw8qt2k'
99
1010 let BTC = base58'BBaEeEmuA6qPNowGcB8BXozC2PmAAG48G5zzSWw8qt2k'
1111
1212 let ETH = base58'BBaEeEmuA6qPNowGcB8BXozC2PmAAG48G5zzSWw8qt2k'
1313
1414 let BNB = base58'BBaEeEmuA6qPNowGcB8BXozC2PmAAG48G5zzSWw8qt2k'
1515
1616 let USDN = base58'BBaEeEmuA6qPNowGcB8BXozC2PmAAG48G5zzSWw8qt2k'
1717
1818 let HASH = base58'BBaEeEmuA6qPNowGcB8BXozC2PmAAG48G5zzSWw8qt2k'
1919
2020 let KUSD = base58'BBaEeEmuA6qPNowGcB8BXozC2PmAAG48G5zzSWw8qt2k'
2121
2222 let dAppFees = base58'3N9Lfz79kZAEUupwESSboYFyygo1nQguVXo'
2323
2424 let AdmindApp = base58'3Mx3pn4yMcBccM59UrDGjbbAkVsRYBw38tB'
2525
2626 @Callable(i)
2727 func Reset () = [IntegerEntry((toBase58String(i.caller.bytes) + "_Payment"), 0), IntegerEntry((toBase58String(i.caller.bytes) + "_Paidtrx"), 0)]
2828
2929
3030
3131 @Callable(i)
3232 func DepositFunds (ScopeDesc,Deliverables,FreelancerAddress) = {
3333 let FreeLancerPayment = (toBase58String(i.caller.bytes) + "_Payment")
34- let AddressFreelance = match addressFromStringValue(FreelancerAddress) {
34+ let AddressFreelance = match Address(fromBase58String(FreelancerAddress)) {
3535 case a: Address =>
36- a
36+ throw("OK")
3737 case _ =>
3838 throw("Freelancer is not valid, should be a Waves Wallet Address")
3939 }
4040 let amount = match getInteger(this, FreeLancerPayment) {
4141 case a: Int =>
4242 a
4343 case _ =>
4444 0
4545 }
4646 if ((amount != 0))
4747 then throw("You have already deposited funds, deposits can only be done once")
4848 else {
4949 let pmt = if ((size(i.payments) == 1))
5050 then i.payments[0]
5151 else throw("Attached payment is required")
5252 if (if (if (if (if (if (if (if (if (if ((pmt.assetId != BUsd))
5353 then (pmt.assetId != USDT)
5454 else false)
5555 then (pmt.assetId != USDC)
5656 else false)
5757 then (pmt.assetId != BTC)
5858 else false)
5959 then (pmt.assetId != ETH)
6060 else false)
6161 then (pmt.assetId != BNB)
6262 else false)
6363 then (pmt.assetId != USDN)
6464 else false)
6565 then (pmt.assetId != HASH)
6666 else false)
6767 then (pmt.assetId != KUSD)
6868 else false)
6969 then isDefined(pmt.assetId)
7070 else false)
7171 then throw("Can only deposit accepted tokens")
7272 else if (if (if ((ScopeDesc == ""))
7373 then true
7474 else (Deliverables == ""))
7575 then true
7676 else (FreelancerAddress == ""))
7777 then throw("Job Scope, Deliverables desc and Freelancer Wallet Address cannot be empty")
7878 else {
7979 let AssetUsed = if (isDefined(pmt.assetId))
8080 then toBase58String(value(pmt.assetId))
8181 else "Waves"
8282 [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)]
8383 }
8484 }
8585 }
8686
8787
8888
8989 @Callable(i)
9090 func PayFreelancer (PayFreelancer) = {
9191 let FreeLancerPayment = (toBase58String(i.caller.bytes) + "_Payment")
9292 let FreelancerAddress = (toBase58String(i.caller.bytes) + "_Freelancer")
9393 let PaymentAsset = (toBase58String(i.caller.bytes) + "_Asset")
9494 let Paidtrx = (toBase58String(i.caller.bytes) + "_Paidtrx")
9595 let amount = match getInteger(this, FreeLancerPayment) {
9696 case a: Int =>
9797 a
9898 case _ =>
9999 0
100100 }
101101 let PaidtrxLast = match getInteger(this, Paidtrx) {
102102 case a: Int =>
103103 a
104104 case _ =>
105105 0
106106 }
107107 let FreelancerAddressStr = getStringValue(this, FreelancerAddress)
108108 let PaymentAssetId = getStringValue(this, PaymentAsset)
109109 let AddressFreeLancer = addressFromStringValue(FreelancerAddressStr)
110110 let dAppFrees = Address(dAppFees)
111111 let AssetUsed = if ((PaymentAssetId == "Waves"))
112112 then unit
113113 else fromBase58String(PaymentAssetId)
114114 if ((0 >= (((95 * amount) / 100) - (PayFreelancer * 100000000))))
115115 then throw(("You do not have enough funds to make payment, your available funds are: " + toString((amount / 100000000))))
116116 else if (if ((PaidtrxLast >= 12))
117117 then (amount > 0)
118118 else false)
119119 then throw("You have already done 12 payments, you cannot make more payments")
120120 else {
121121 let UserAccount = if ((PaidtrxLast == 11))
122122 then 0
123123 else (amount - (PayFreelancer * 100000000))
124124 let Payment2Freelance = if ((PaidtrxLast == 11))
125125 then ((95 * amount) / 100)
126126 else ((95 * PayFreelancer) * 1000000)
127127 let FeePaid = if ((PaidtrxLast == 11))
128128 then ((5 * amount) / 100)
129129 else ((5 * PayFreelancer) * 1000000)
130130 let PaidtrxValue = if ((PaidtrxLast == 11))
131131 then 0
132132 else (PaidtrxLast + 1)
133133 $Tuple2([IntegerEntry((toBase58String(i.caller.bytes) + "_Payment"), UserAccount), IntegerEntry((toBase58String(i.caller.bytes) + "_Paidtrx"), PaidtrxValue), ScriptTransfer(AddressFreeLancer, Payment2Freelance, AssetUsed), ScriptTransfer(dAppFrees, FeePaid, AssetUsed)], AssetUsed)
134134 }
135135 }
136136
137137
138138
139139 @Callable(i)
140140 func AdminTransfer (User,Freelancer,ToFreelancer,ToUser,AdminFee) = if ((i.caller.bytes != AdmindApp))
141141 then throw("Only Admin can do this")
142142 else if ((((ToUser + ToFreelancer) + AdminFee) != 100))
143143 then throw("Total of Percentages cannot be different from 100%")
144144 else {
145145 let FreeLancerPayment = (User + "_Payment")
146146 let FreelancerAddress = (User + "_Freelancer")
147147 let PaymentAsset = (toBase58String(i.caller.bytes) + "_Asset")
148148 let amount = match getInteger(this, FreeLancerPayment) {
149149 case a: Int =>
150150 a
151151 case _ =>
152152 0
153153 }
154154 let FreelancerAddressStr = getStringValue(this, FreelancerAddress)
155155 let AddressFreeLancer = addressFromStringValue(FreelancerAddressStr)
156156 let PaymentAssetId = getStringValue(this, PaymentAsset)
157157 let dAppFrees = Address(dAppFees)
158158 let AddressUser = addressFromStringValue(User)
159159 let AssetUsed = if ((PaymentAssetId == "Waves"))
160160 then unit
161161 else fromBase58String(PaymentAssetId)
162162 if ((amount == 0))
163163 then throw("User's balance is 0 BUsdc cannot realize any payment")
164164 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)
165165 }
166166
167167

github/deemru/w8io/873ac7e 
32.19 ms