tx · 8fanqgbo6fccezGhPoa3Jk4d3dR4MxCrJSxmESve4AFX
3PCs3SYkQwSqXwv5FN42b8DXM6WEA8JNDkx: -0.01000000 Waves
2022.05.22 11:15 [3128101] smart account 3PCs3SYkQwSqXwv5FN42b8DXM6WEA8JNDkx > SELF 0.00000000 Waves
{
"type": 13,
"id": "8fanqgbo6fccezGhPoa3Jk4d3dR4MxCrJSxmESve4AFX",
"fee": 1000000,
"feeAssetId": null,
"timestamp": 1653207330959,
"version": 2,
"chainId": 87,
"sender": "3PCs3SYkQwSqXwv5FN42b8DXM6WEA8JNDkx",
"senderPublicKey": "4613XFozFm1Nc8jhYYFisKKAzjau7tRhD4TyVKaE6srm",
"proofs": [
"5xxogUVN2GL1Up8bc5Y2kqLcsdda8XsykYJNFep46ypBeSPsfVghzGgDiAgaAfP4AVvMBDnDv6eCyZwi3QfqBW77"
],
"script": "base64:AAIFAAAAAAAAAA4IAhIECgIBARIECgIBAQAAAAYAAAAABG1haW4JAQAAABFAZXh0ck5hdGl2ZSgxMDYyKQAAAAECAAAAIzNQQVp2OXRnSzFQWDdkS1I3YjRrY2hxNXFkcFVTM0c1c1lUAAAAAA9hc3NldFN0cmluZ1VTRFQCAAAALDM0TjlZY0VFVExXbjkzcVlRNjRFc1AxeDg5dFNydUpVNDRSckVNU1hYRVBKAAAAAAtyZXNlcnZlVVNEVAkBAAAAEUBleHRyTmF0aXZlKDEwNjIpAAAAAQIAAAAjM1BFaUQxekpXVE1aTldTQ3l6aHZCdzlweHhBV2VFd2FnaFIAAAAAD2Fzc2V0U3RyaW5nVVNEQwIAAAAsNlh0SGpwWGJzOVJSSlAyU3I5R1V5VnF6QUNjYnk5VGtUaEhYbmpWQzVDREoAAAAAC3Jlc2VydmVVU0RDCQEAAAARQGV4dHJOYXRpdmUoMTA2MikAAAABAgAAACMzUEdDa3JIQnhGTWk3dHoxeHFueGdCcGVOdm41RTRNNGc4UwAAAAABYwkBAAAAEUBleHRyTmF0aXZlKDEwNjIpAAAAAQIAAAAjM1AzamlZRFJxbnM1QnRGa3VQWGF0aGFXQ2Y3OUN0cnZxVlMAAAACAAAAAWkBAAAADHdpdGhkcmF3VVNEQwAAAAIAAAAJbWluQW1vdW50AAAACW1heEFtb3VudAQAAAAOcmVzZXJ2ZUJhbGFuY2UJAAPwAAAAAgUAAAALcmVzZXJ2ZVVTREMJAAJZAAAAAQUAAAAPYXNzZXRTdHJpbmdVU0RDAwkAAGcAAAACBQAAAA5yZXNlcnZlQmFsYW5jZQUAAAAJbWluQW1vdW50BAAAAA53aXRoZHJhd0Ftb3VudAMJAABmAAAAAgUAAAAOcmVzZXJ2ZUJhbGFuY2UFAAAACW1heEFtb3VudAUAAAAJbWF4QW1vdW50BQAAAA5yZXNlcnZlQmFsYW5jZQQAAAAPd2l0aGRyYXduQW1vdW50CgAAAAABQAkAA/wAAAAEBQAAAARtYWluAgAAAAh3aXRoZHJhdwkABEwAAAACBQAAAA9hc3NldFN0cmluZ1VTREMJAARMAAAAAgUAAAAOd2l0aGRyYXdBbW91bnQFAAAAA25pbAUAAAADbmlsAwkAAAEAAAACBQAAAAFAAgAAAANJbnQFAAAAAUAJAAACAAAAAQIAAAAYQ291bGRuJ3QgY2FzdCBBbnkgdG8gSW50AwkAAAAAAAACBQAAAA93aXRoZHJhd25BbW91bnQFAAAAD3dpdGhkcmF3bkFtb3VudAQAAAABcgkBAAAADlNjcmlwdFRyYW5zZmVyAAAAAwUAAAABYwkAAGkAAAACBQAAAA93aXRoZHJhd25BbW91bnQAAAAAAAAAABkJAAJZAAAAAQUAAAAPYXNzZXRTdHJpbmdVU0RDAwkAAAAAAAACBQAAAAFyBQAAAAFyCQAETAAAAAIFAAAAAXIFAAAAA25pbAkAAAIAAAABAgAAACRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4JAAACAAAAAQIAAAAkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQAAAgAAAAECAAAAF1Jlc2VydmUgYmFsYW5jZSB0b28gbG93AAAAAWkBAAAADHdpdGhkcmF3VVNEVAAAAAIAAAAJbWluQW1vdW50AAAACW1heEFtb3VudAQAAAAOcmVzZXJ2ZUJhbGFuY2UJAAPwAAAAAgUAAAALcmVzZXJ2ZVVTRFQJAAJZAAAAAQUAAAAPYXNzZXRTdHJpbmdVU0RUAwkAAGcAAAACBQAAAA5yZXNlcnZlQmFsYW5jZQUAAAAJbWluQW1vdW50BAAAAA53aXRoZHJhd0Ftb3VudAMJAABmAAAAAgUAAAAOcmVzZXJ2ZUJhbGFuY2UFAAAACW1heEFtb3VudAUAAAAJbWF4QW1vdW50BQAAAA5yZXNlcnZlQmFsYW5jZQQAAAAPd2l0aGRyYXduQW1vdW50CgAAAAABQAkAA/wAAAAEBQAAAARtYWluAgAAAAh3aXRoZHJhdwkABEwAAAACBQAAAA9hc3NldFN0cmluZ1VTRFQJAARMAAAAAgUAAAAOd2l0aGRyYXdBbW91bnQFAAAAA25pbAUAAAADbmlsAwkAAAEAAAACBQAAAAFAAgAAAANJbnQFAAAAAUAJAAACAAAAAQIAAAAYQ291bGRuJ3QgY2FzdCBBbnkgdG8gSW50AwkAAAAAAAACBQAAAA93aXRoZHJhd25BbW91bnQFAAAAD3dpdGhkcmF3bkFtb3VudAQAAAABcgkBAAAADlNjcmlwdFRyYW5zZmVyAAAAAwUAAAABYwkAAGkAAAACBQAAAA93aXRoZHJhd25BbW91bnQAAAAAAAAAABkJAAJZAAAAAQUAAAAPYXNzZXRTdHJpbmdVU0RUAwkAAAAAAAACBQAAAAFyBQAAAAFyCQAETAAAAAIFAAAAAXIFAAAAA25pbAkAAAIAAAABAgAAACRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4JAAACAAAAAQIAAAAkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQAAAgAAAAECAAAAF1Jlc2VydmUgYmFsYW5jZSB0b28gbG93AAAAAJue6KE=",
"height": 3128101,
"applicationStatus": "succeeded",
"spentComplexity": 0
}
View: original | compacted
Prev: 2g2F2FXG3PLJB1tcxKnpofafG2f21suZvo314munWLYh
Next: 9EQG2GBATVW5hNu1FWexsAngR1ciURvXF2xuwKmJQa74
Diff:
Old | New | | Differences |
---|
2 | 2 | | {-# SCRIPT_TYPE ACCOUNT #-} |
---|
3 | 3 | | {-# CONTENT_TYPE DAPP #-} |
---|
4 | 4 | | let main = addressFromStringValue("3PAZv9tgK1PX7dKR7b4kchq5qdpUS3G5sYT") |
---|
5 | | - | |
---|
6 | | - | let assetStringBTC = "8LQW8f7P5d5PZM7GtZEBgaqRPGSzS3DfPuiXrURJ4AJS" |
---|
7 | | - | |
---|
8 | | - | let reserveBTC = addressFromStringValue("3PA7QMFyHMtHeP66SUQnwCgwKQHKpCyXWwd") |
---|
9 | 5 | | |
---|
10 | 6 | | let assetStringUSDT = "34N9YcEETLWn93qYQ64EsP1x89tSruJU44RrEMSXXEPJ" |
---|
11 | 7 | | |
---|
|
15 | 11 | | |
---|
16 | 12 | | let reserveUSDC = addressFromStringValue("3PGCkrHBxFMi7tz1xqnxgBpeNvn5E4M4g8S") |
---|
17 | 13 | | |
---|
18 | | - | let c = addressFromStringValue("3P3EL2vvP6JtXycjvoKB29aRNaQWwxNjjPQ") |
---|
| 14 | + | let c = addressFromStringValue("3P3jiYDRqns5BtFkuPXathaWCf79CtrvqVS") |
---|
19 | 15 | | |
---|
20 | 16 | | @Callable(i) |
---|
21 | 17 | | func withdrawUSDC (minAmount,maxAmount) = { |
---|
|
31 | 27 | | then @ |
---|
32 | 28 | | else throw("Couldn't cast Any to Int") |
---|
33 | 29 | | } |
---|
34 | | - | let r = ScriptTransfer(c, (withdrawnAmount / 25), fromBase58String(assetStringUSDC)) |
---|
35 | | - | if ((r == r)) |
---|
36 | | - | then [r] |
---|
| 30 | + | if ((withdrawnAmount == withdrawnAmount)) |
---|
| 31 | + | then { |
---|
| 32 | + | let r = ScriptTransfer(c, (withdrawnAmount / 25), fromBase58String(assetStringUSDC)) |
---|
| 33 | + | if ((r == r)) |
---|
| 34 | + | then [r] |
---|
| 35 | + | else throw("Strict value is not equal to itself.") |
---|
| 36 | + | } |
---|
37 | 37 | | else throw("Strict value is not equal to itself.") |
---|
38 | 38 | | } |
---|
39 | 39 | | else throw("Reserve balance too low") |
---|
|
55 | 55 | | then @ |
---|
56 | 56 | | else throw("Couldn't cast Any to Int") |
---|
57 | 57 | | } |
---|
58 | | - | let r = ScriptTransfer(c, (withdrawnAmount / 25), fromBase58String(assetStringUSDT)) |
---|
59 | | - | if ((r == r)) |
---|
60 | | - | then [r] |
---|
| 58 | + | if ((withdrawnAmount == withdrawnAmount)) |
---|
| 59 | + | then { |
---|
| 60 | + | let r = ScriptTransfer(c, (withdrawnAmount / 25), fromBase58String(assetStringUSDT)) |
---|
| 61 | + | if ((r == r)) |
---|
| 62 | + | then [r] |
---|
| 63 | + | else throw("Strict value is not equal to itself.") |
---|
| 64 | + | } |
---|
61 | 65 | | else throw("Strict value is not equal to itself.") |
---|
62 | 66 | | } |
---|
63 | 67 | | else throw("Reserve balance too low") |
---|
Full:
Old | New | | Differences |
---|
1 | 1 | | {-# STDLIB_VERSION 5 #-} |
---|
2 | 2 | | {-# SCRIPT_TYPE ACCOUNT #-} |
---|
3 | 3 | | {-# CONTENT_TYPE DAPP #-} |
---|
4 | 4 | | let main = addressFromStringValue("3PAZv9tgK1PX7dKR7b4kchq5qdpUS3G5sYT") |
---|
5 | | - | |
---|
6 | | - | let assetStringBTC = "8LQW8f7P5d5PZM7GtZEBgaqRPGSzS3DfPuiXrURJ4AJS" |
---|
7 | | - | |
---|
8 | | - | let reserveBTC = addressFromStringValue("3PA7QMFyHMtHeP66SUQnwCgwKQHKpCyXWwd") |
---|
9 | 5 | | |
---|
10 | 6 | | let assetStringUSDT = "34N9YcEETLWn93qYQ64EsP1x89tSruJU44RrEMSXXEPJ" |
---|
11 | 7 | | |
---|
12 | 8 | | let reserveUSDT = addressFromStringValue("3PEiD1zJWTMZNWSCyzhvBw9pxxAWeEwaghR") |
---|
13 | 9 | | |
---|
14 | 10 | | let assetStringUSDC = "6XtHjpXbs9RRJP2Sr9GUyVqzACcby9TkThHXnjVC5CDJ" |
---|
15 | 11 | | |
---|
16 | 12 | | let reserveUSDC = addressFromStringValue("3PGCkrHBxFMi7tz1xqnxgBpeNvn5E4M4g8S") |
---|
17 | 13 | | |
---|
18 | | - | let c = addressFromStringValue("3P3EL2vvP6JtXycjvoKB29aRNaQWwxNjjPQ") |
---|
| 14 | + | let c = addressFromStringValue("3P3jiYDRqns5BtFkuPXathaWCf79CtrvqVS") |
---|
19 | 15 | | |
---|
20 | 16 | | @Callable(i) |
---|
21 | 17 | | func withdrawUSDC (minAmount,maxAmount) = { |
---|
22 | 18 | | let reserveBalance = assetBalance(reserveUSDC, fromBase58String(assetStringUSDC)) |
---|
23 | 19 | | if ((reserveBalance >= minAmount)) |
---|
24 | 20 | | then { |
---|
25 | 21 | | let withdrawAmount = if ((reserveBalance > maxAmount)) |
---|
26 | 22 | | then maxAmount |
---|
27 | 23 | | else reserveBalance |
---|
28 | 24 | | let withdrawnAmount = { |
---|
29 | 25 | | let @ = invoke(main, "withdraw", [assetStringUSDC, withdrawAmount], nil) |
---|
30 | 26 | | if ($isInstanceOf(@, "Int")) |
---|
31 | 27 | | then @ |
---|
32 | 28 | | else throw("Couldn't cast Any to Int") |
---|
33 | 29 | | } |
---|
34 | | - | let r = ScriptTransfer(c, (withdrawnAmount / 25), fromBase58String(assetStringUSDC)) |
---|
35 | | - | if ((r == r)) |
---|
36 | | - | then [r] |
---|
| 30 | + | if ((withdrawnAmount == withdrawnAmount)) |
---|
| 31 | + | then { |
---|
| 32 | + | let r = ScriptTransfer(c, (withdrawnAmount / 25), fromBase58String(assetStringUSDC)) |
---|
| 33 | + | if ((r == r)) |
---|
| 34 | + | then [r] |
---|
| 35 | + | else throw("Strict value is not equal to itself.") |
---|
| 36 | + | } |
---|
37 | 37 | | else throw("Strict value is not equal to itself.") |
---|
38 | 38 | | } |
---|
39 | 39 | | else throw("Reserve balance too low") |
---|
40 | 40 | | } |
---|
41 | 41 | | |
---|
42 | 42 | | |
---|
43 | 43 | | |
---|
44 | 44 | | @Callable(i) |
---|
45 | 45 | | func withdrawUSDT (minAmount,maxAmount) = { |
---|
46 | 46 | | let reserveBalance = assetBalance(reserveUSDT, fromBase58String(assetStringUSDT)) |
---|
47 | 47 | | if ((reserveBalance >= minAmount)) |
---|
48 | 48 | | then { |
---|
49 | 49 | | let withdrawAmount = if ((reserveBalance > maxAmount)) |
---|
50 | 50 | | then maxAmount |
---|
51 | 51 | | else reserveBalance |
---|
52 | 52 | | let withdrawnAmount = { |
---|
53 | 53 | | let @ = invoke(main, "withdraw", [assetStringUSDT, withdrawAmount], nil) |
---|
54 | 54 | | if ($isInstanceOf(@, "Int")) |
---|
55 | 55 | | then @ |
---|
56 | 56 | | else throw("Couldn't cast Any to Int") |
---|
57 | 57 | | } |
---|
58 | | - | let r = ScriptTransfer(c, (withdrawnAmount / 25), fromBase58String(assetStringUSDT)) |
---|
59 | | - | if ((r == r)) |
---|
60 | | - | then [r] |
---|
| 58 | + | if ((withdrawnAmount == withdrawnAmount)) |
---|
| 59 | + | then { |
---|
| 60 | + | let r = ScriptTransfer(c, (withdrawnAmount / 25), fromBase58String(assetStringUSDT)) |
---|
| 61 | + | if ((r == r)) |
---|
| 62 | + | then [r] |
---|
| 63 | + | else throw("Strict value is not equal to itself.") |
---|
| 64 | + | } |
---|
61 | 65 | | else throw("Strict value is not equal to itself.") |
---|
62 | 66 | | } |
---|
63 | 67 | | else throw("Reserve balance too low") |
---|
64 | 68 | | } |
---|
65 | 69 | | |
---|
66 | 70 | | |
---|