tx · 9nSDMuskYRASLBFmCZN89KibzWqkTnpNFQ8ErPPXeQ7J 3P9VVzzkP1Cfsk3LtTeuUaQqUt5D7sLthLe: -0.01000000 Waves 2022.07.01 20:33 [3186503] smart account 3P9VVzzkP1Cfsk3LtTeuUaQqUt5D7sLthLe > SELF 0.00000000 Waves
{ "type": 13, "id": "9nSDMuskYRASLBFmCZN89KibzWqkTnpNFQ8ErPPXeQ7J", "fee": 1000000, "feeAssetId": null, "timestamp": 1656696819340, "version": 2, "chainId": 87, "sender": "3P9VVzzkP1Cfsk3LtTeuUaQqUt5D7sLthLe", "senderPublicKey": "HiH9eknsCZ417kt2aJnJ9HrnrWCYcdRoGsFi8yANmYx8", "proofs": [ "4zZiVmN1seTkrwBVe2z9U9xLxP8ueL9dPuDnsedytE7RmRWCM6ZNtWTrJYXYbwqdFbAX2TojerbwcjJwe7GmcG9B" ], "script": "base64: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", "height": 3186503, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: 79Z1Zp1DG2tpmF8uxFoV3siQ2LvaijSWJwt6GFZ3Jfqc Next: 5RidNqKmo6KneS4rLvZqimdJtHqyCdpT3C2GGLB5GsV2 Diff:
Old | New | Differences | |
---|---|---|---|
63 | 63 | } | |
64 | 64 | ||
65 | 65 | ||
66 | - | @Callable(w) | |
67 | - | func issuePluto (x) = { | |
68 | - | let y = { | |
66 | + | func w (x,y) = { | |
67 | + | let z = { | |
69 | 68 | let j = invoke(c, "getOnboardingParameters", [false], nil) | |
70 | 69 | if ($isInstanceOf(j, "List[Any]")) | |
71 | 70 | then { | |
72 | - | let | |
73 | - | | |
71 | + | let A = j | |
72 | + | A | |
74 | 73 | } | |
75 | 74 | else throw("cannot load parameters") | |
76 | 75 | } | |
77 | - | if (( | |
76 | + | if ((z == z)) | |
78 | 77 | then { | |
79 | - | let A = { | |
80 | - | let j = y[4] | |
81 | - | if ($isInstanceOf(j, "Int")) | |
82 | - | then { | |
83 | - | let k = j | |
84 | - | k | |
85 | - | } | |
86 | - | else throw("cannot parse parameters") | |
87 | - | } | |
88 | 78 | let B = { | |
89 | - | let j = | |
79 | + | let j = z[4] | |
90 | 80 | if ($isInstanceOf(j, "Int")) | |
91 | 81 | then { | |
92 | 82 | let k = j | |
95 | 85 | else throw("cannot parse parameters") | |
96 | 86 | } | |
97 | 87 | let C = { | |
98 | - | let j = | |
88 | + | let j = z[1] | |
99 | 89 | if ($isInstanceOf(j, "Int")) | |
100 | 90 | then { | |
101 | 91 | let k = j | |
103 | 93 | } | |
104 | 94 | else throw("cannot parse parameters") | |
105 | 95 | } | |
106 | - | let D = value(w.payments[0].assetId) | |
107 | - | let E = toBase58String(D) | |
108 | - | let F = w.payments[0].amount | |
109 | - | let G = m((("asset_" + E) + "_pool")) | |
110 | - | let q = addressFromStringValue(G) | |
111 | - | let H = fraction(F, A, 10000) | |
112 | - | let I = (F - H) | |
113 | - | let J = invoke(q, "swap", [b, 0], [AttachedPayment(D, H)]) | |
114 | - | if ((J == J)) | |
96 | + | let D = { | |
97 | + | let j = z[3] | |
98 | + | if ($isInstanceOf(j, "Int")) | |
99 | + | then { | |
100 | + | let k = j | |
101 | + | k | |
102 | + | } | |
103 | + | else throw("cannot parse parameters") | |
104 | + | } | |
105 | + | let E = toBase58String(x) | |
106 | + | let F = m((("asset_" + E) + "_pool")) | |
107 | + | let q = addressFromStringValue(F) | |
108 | + | let G = fraction(y, B, 10000) | |
109 | + | let H = (y - G) | |
110 | + | let I = invoke(q, "swap", [b, 0], [AttachedPayment(x, G)]) | |
111 | + | if ((I == I)) | |
115 | 112 | then { | |
116 | - | let | |
117 | - | let j = | |
113 | + | let J = { | |
114 | + | let j = I | |
118 | 115 | if ($isInstanceOf(j, "Int")) | |
119 | 116 | then { | |
120 | 117 | let k = j | |
122 | 119 | } | |
123 | 120 | else 0 | |
124 | 121 | } | |
125 | - | let L = p(q, E) | |
126 | - | let M = fraction(I, L, g) | |
127 | - | let N = (K + M) | |
128 | - | let O = fraction(N, B, 10000) | |
129 | - | let P = fraction(N, C, 10000) | |
130 | - | let Q = invoke(d, "requestIssue", [((M + O) + P)], nil) | |
131 | - | if ((Q == Q)) | |
132 | - | then if (x) | |
133 | - | then throw(((((((("issued: " + toString(M)) + "; bought: ") + toString(K)) + "; premium: ") + toString(O)) + "; team: ") + toString(P))) | |
134 | - | else [ScriptTransfer(e, I, D), ScriptTransfer(w.caller, (N + O), a), ScriptTransfer(f, P, a)] | |
122 | + | let K = p(q, E) | |
123 | + | let L = fraction(H, K, g) | |
124 | + | let M = (J + L) | |
125 | + | let N = fraction(M, C, 10000) | |
126 | + | let O = fraction(M, D, 10000) | |
127 | + | let P = invoke(d, "requestIssue", [((L + N) + O)], nil) | |
128 | + | if ((P == P)) | |
129 | + | then [L, J, N, O, H] | |
135 | 130 | else throw("Strict value is not equal to itself.") | |
136 | 131 | } | |
137 | 132 | else throw("Strict value is not equal to itself.") | |
140 | 135 | } | |
141 | 136 | ||
142 | 137 | ||
143 | - | @Verifier(R) | |
144 | - | func S () = sigVerify(R.bodyBytes, R.proofs[0], R.senderPublicKey) | |
138 | + | @Callable(Q) | |
139 | + | func issuePluto (R) = { | |
140 | + | let x = value(Q.payments[0].assetId) | |
141 | + | let S = w(x, value(Q.payments[0].amount)) | |
142 | + | if ((S == S)) | |
143 | + | then if (R) | |
144 | + | then throw(((((((("issued: " + toString(S[0])) + "; bought: ") + toString(S[1])) + "; premium: ") + toString(S[2])) + "; team: ") + toString(S[3]))) | |
145 | + | else [ScriptTransfer(e, S[4], x), ScriptTransfer(Q.caller, ((S[0] + S[1]) + S[2]), a), ScriptTransfer(f, S[3], a)] | |
146 | + | else throw("Strict value is not equal to itself.") | |
147 | + | } | |
148 | + | ||
149 | + | ||
150 | + | ||
151 | + | @Callable(Q) | |
152 | + | func evaluateIssuePluto (R,E,y) = { | |
153 | + | let x = fromBase58String(E) | |
154 | + | let S = w(x, y) | |
155 | + | if ((S == S)) | |
156 | + | then if (R) | |
157 | + | then throw(((((((("issued: " + toString(S[0])) + "; bought: ") + toString(S[1])) + "; premium: ") + toString(S[2])) + "; team: ") + toString(S[3]))) | |
158 | + | else $Tuple2(nil, (S[0] + S[1])) | |
159 | + | else throw("Strict value is not equal to itself.") | |
160 | + | } | |
161 | + | ||
162 | + | ||
163 | + | @Verifier(T) | |
164 | + | func U () = sigVerify(T.bodyBytes, T.proofs[0], T.senderPublicKey) | |
145 | 165 |
Old | New | Differences | |
---|---|---|---|
1 | 1 | {-# STDLIB_VERSION 5 #-} | |
2 | 2 | {-# SCRIPT_TYPE ACCOUNT #-} | |
3 | 3 | {-# CONTENT_TYPE DAPP #-} | |
4 | 4 | let a = base58'YQFYoMwARMQzZs3wqucBTdJNWSbsYk3GAw7wsqU4gyA' | |
5 | 5 | ||
6 | 6 | let b = "YQFYoMwARMQzZs3wqucBTdJNWSbsYk3GAw7wsqU4gyA" | |
7 | 7 | ||
8 | 8 | let c = Address(base58'3PPhk65Ab4UDgbxYUDW7YSXkzHfWtj7WBrB') | |
9 | 9 | ||
10 | 10 | let d = Address(base58'3PF8pKC8CdmW9sEJUxQVSfezYRSJeThoNR3') | |
11 | 11 | ||
12 | 12 | let e = Address(base58'3PAeDQGNbYa3W2EacZkJG3dSiDnHsQarqzZ') | |
13 | 13 | ||
14 | 14 | let f = Address(base58'3PMcMiMEs6w56NRGacksXtFG5zS7doE9fpL') | |
15 | 15 | ||
16 | 16 | let g = 100000000 | |
17 | 17 | ||
18 | 18 | func h (i) = { | |
19 | 19 | let j = getInteger(this, i) | |
20 | 20 | if ($isInstanceOf(j, "Int")) | |
21 | 21 | then { | |
22 | 22 | let k = j | |
23 | 23 | k | |
24 | 24 | } | |
25 | 25 | else 0 | |
26 | 26 | } | |
27 | 27 | ||
28 | 28 | ||
29 | 29 | func l (i) = { | |
30 | 30 | let j = getInteger(c, i) | |
31 | 31 | if ($isInstanceOf(j, "Int")) | |
32 | 32 | then { | |
33 | 33 | let k = j | |
34 | 34 | k | |
35 | 35 | } | |
36 | 36 | else 0 | |
37 | 37 | } | |
38 | 38 | ||
39 | 39 | ||
40 | 40 | func m (i) = { | |
41 | 41 | let j = getString(c, i) | |
42 | 42 | if ($isInstanceOf(j, "String")) | |
43 | 43 | then { | |
44 | 44 | let k = j | |
45 | 45 | k | |
46 | 46 | } | |
47 | 47 | else "" | |
48 | 48 | } | |
49 | 49 | ||
50 | 50 | ||
51 | 51 | func n () = { | |
52 | 52 | let o = l("stats_treasurySize") | |
53 | 53 | 5000 | |
54 | 54 | } | |
55 | 55 | ||
56 | 56 | ||
57 | 57 | func p (q,r) = { | |
58 | 58 | let s = getIntegerValue(q, (("static_" + r) + "_weight")) | |
59 | 59 | let t = getIntegerValue(q, (("static_" + b) + "_weight")) | |
60 | 60 | let u = getIntegerValue(q, (("global_" + r) + "_balance")) | |
61 | 61 | let v = getIntegerValue(q, (("global_" + b) + "_balance")) | |
62 | 62 | fraction(g, (v * s), (u * t)) | |
63 | 63 | } | |
64 | 64 | ||
65 | 65 | ||
66 | - | @Callable(w) | |
67 | - | func issuePluto (x) = { | |
68 | - | let y = { | |
66 | + | func w (x,y) = { | |
67 | + | let z = { | |
69 | 68 | let j = invoke(c, "getOnboardingParameters", [false], nil) | |
70 | 69 | if ($isInstanceOf(j, "List[Any]")) | |
71 | 70 | then { | |
72 | - | let | |
73 | - | | |
71 | + | let A = j | |
72 | + | A | |
74 | 73 | } | |
75 | 74 | else throw("cannot load parameters") | |
76 | 75 | } | |
77 | - | if (( | |
76 | + | if ((z == z)) | |
78 | 77 | then { | |
79 | - | let A = { | |
80 | - | let j = y[4] | |
81 | - | if ($isInstanceOf(j, "Int")) | |
82 | - | then { | |
83 | - | let k = j | |
84 | - | k | |
85 | - | } | |
86 | - | else throw("cannot parse parameters") | |
87 | - | } | |
88 | 78 | let B = { | |
89 | - | let j = | |
79 | + | let j = z[4] | |
90 | 80 | if ($isInstanceOf(j, "Int")) | |
91 | 81 | then { | |
92 | 82 | let k = j | |
93 | 83 | k | |
94 | 84 | } | |
95 | 85 | else throw("cannot parse parameters") | |
96 | 86 | } | |
97 | 87 | let C = { | |
98 | - | let j = | |
88 | + | let j = z[1] | |
99 | 89 | if ($isInstanceOf(j, "Int")) | |
100 | 90 | then { | |
101 | 91 | let k = j | |
102 | 92 | k | |
103 | 93 | } | |
104 | 94 | else throw("cannot parse parameters") | |
105 | 95 | } | |
106 | - | let D = value(w.payments[0].assetId) | |
107 | - | let E = toBase58String(D) | |
108 | - | let F = w.payments[0].amount | |
109 | - | let G = m((("asset_" + E) + "_pool")) | |
110 | - | let q = addressFromStringValue(G) | |
111 | - | let H = fraction(F, A, 10000) | |
112 | - | let I = (F - H) | |
113 | - | let J = invoke(q, "swap", [b, 0], [AttachedPayment(D, H)]) | |
114 | - | if ((J == J)) | |
96 | + | let D = { | |
97 | + | let j = z[3] | |
98 | + | if ($isInstanceOf(j, "Int")) | |
99 | + | then { | |
100 | + | let k = j | |
101 | + | k | |
102 | + | } | |
103 | + | else throw("cannot parse parameters") | |
104 | + | } | |
105 | + | let E = toBase58String(x) | |
106 | + | let F = m((("asset_" + E) + "_pool")) | |
107 | + | let q = addressFromStringValue(F) | |
108 | + | let G = fraction(y, B, 10000) | |
109 | + | let H = (y - G) | |
110 | + | let I = invoke(q, "swap", [b, 0], [AttachedPayment(x, G)]) | |
111 | + | if ((I == I)) | |
115 | 112 | then { | |
116 | - | let | |
117 | - | let j = | |
113 | + | let J = { | |
114 | + | let j = I | |
118 | 115 | if ($isInstanceOf(j, "Int")) | |
119 | 116 | then { | |
120 | 117 | let k = j | |
121 | 118 | k | |
122 | 119 | } | |
123 | 120 | else 0 | |
124 | 121 | } | |
125 | - | let L = p(q, E) | |
126 | - | let M = fraction(I, L, g) | |
127 | - | let N = (K + M) | |
128 | - | let O = fraction(N, B, 10000) | |
129 | - | let P = fraction(N, C, 10000) | |
130 | - | let Q = invoke(d, "requestIssue", [((M + O) + P)], nil) | |
131 | - | if ((Q == Q)) | |
132 | - | then if (x) | |
133 | - | then throw(((((((("issued: " + toString(M)) + "; bought: ") + toString(K)) + "; premium: ") + toString(O)) + "; team: ") + toString(P))) | |
134 | - | else [ScriptTransfer(e, I, D), ScriptTransfer(w.caller, (N + O), a), ScriptTransfer(f, P, a)] | |
122 | + | let K = p(q, E) | |
123 | + | let L = fraction(H, K, g) | |
124 | + | let M = (J + L) | |
125 | + | let N = fraction(M, C, 10000) | |
126 | + | let O = fraction(M, D, 10000) | |
127 | + | let P = invoke(d, "requestIssue", [((L + N) + O)], nil) | |
128 | + | if ((P == P)) | |
129 | + | then [L, J, N, O, H] | |
135 | 130 | else throw("Strict value is not equal to itself.") | |
136 | 131 | } | |
137 | 132 | else throw("Strict value is not equal to itself.") | |
138 | 133 | } | |
139 | 134 | else throw("Strict value is not equal to itself.") | |
140 | 135 | } | |
141 | 136 | ||
142 | 137 | ||
143 | - | @Verifier(R) | |
144 | - | func S () = sigVerify(R.bodyBytes, R.proofs[0], R.senderPublicKey) | |
138 | + | @Callable(Q) | |
139 | + | func issuePluto (R) = { | |
140 | + | let x = value(Q.payments[0].assetId) | |
141 | + | let S = w(x, value(Q.payments[0].amount)) | |
142 | + | if ((S == S)) | |
143 | + | then if (R) | |
144 | + | then throw(((((((("issued: " + toString(S[0])) + "; bought: ") + toString(S[1])) + "; premium: ") + toString(S[2])) + "; team: ") + toString(S[3]))) | |
145 | + | else [ScriptTransfer(e, S[4], x), ScriptTransfer(Q.caller, ((S[0] + S[1]) + S[2]), a), ScriptTransfer(f, S[3], a)] | |
146 | + | else throw("Strict value is not equal to itself.") | |
147 | + | } | |
148 | + | ||
149 | + | ||
150 | + | ||
151 | + | @Callable(Q) | |
152 | + | func evaluateIssuePluto (R,E,y) = { | |
153 | + | let x = fromBase58String(E) | |
154 | + | let S = w(x, y) | |
155 | + | if ((S == S)) | |
156 | + | then if (R) | |
157 | + | then throw(((((((("issued: " + toString(S[0])) + "; bought: ") + toString(S[1])) + "; premium: ") + toString(S[2])) + "; team: ") + toString(S[3]))) | |
158 | + | else $Tuple2(nil, (S[0] + S[1])) | |
159 | + | else throw("Strict value is not equal to itself.") | |
160 | + | } | |
161 | + | ||
162 | + | ||
163 | + | @Verifier(T) | |
164 | + | func U () = sigVerify(T.bodyBytes, T.proofs[0], T.senderPublicKey) | |
145 | 165 |
github/deemru/w8io/3ef1775 50.36 ms ◑![]()