tx · BkVbfT3C5Xf3RoNhLv4y4MGeSE8McSQdrY5QbC127iJB

3PCYekMk469S9gcokgoHBKFVk1FY4ACmt9E:  -0.01400000 Waves

2021.12.17 00:34 [2902337] smart account 3PCYekMk469S9gcokgoHBKFVk1FY4ACmt9E > SELF 0.00000000 Waves

{ "type": 13, "id": "BkVbfT3C5Xf3RoNhLv4y4MGeSE8McSQdrY5QbC127iJB", "fee": 1400000, "feeAssetId": null, "timestamp": 1639690493992, "version": 2, "chainId": 87, "sender": "3PCYekMk469S9gcokgoHBKFVk1FY4ACmt9E", "senderPublicKey": "DAXE7bVatBuMqt8Me8npUpPhn2XaV13QkCDZCQGV3yDf", "proofs": [ "viX4QAJ1Y7fjJMjWsvkUwgiTMvACibxTzT6QtJBmKsizrBxS8rL1owockF7792qGeZc9eicp1BjtkpFLHJuKrut" ], "script": "base64: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", "height": 2902337, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: none Next: none Full:
OldNewDifferences
1-# no script
1+{-# STDLIB_VERSION 5 #-}
2+{-# SCRIPT_TYPE ACCOUNT #-}
3+{-# CONTENT_TYPE DAPP #-}
4+func isPaymentOk (i,price) = {
5+ let acceptableAssetId = base58'4JHA5aCMMKbEHKddc3JACSA8tdGB1wfNbLvtgo55H3nR'
6+ if ((size(i.payments) == 0))
7+ then throw("Payment not attached")
8+ else {
9+ let p = i.payments[0]
10+ match p.assetId {
11+ case assetId: ByteVector =>
12+ if ((assetId == acceptableAssetId))
13+ then (p.amount >= price)
14+ else false
15+ case _ =>
16+ throw("Bad asset or amount")
17+ }
18+ }
19+ }
20+
21+
22+@Callable(i)
23+func mintme (info) = {
24+ let counter = match getInteger(this, "counter") {
25+ case a: Int =>
26+ (a + 1)
27+ case _ =>
28+ 0
29+ }
30+ let st = toString(counter)
31+ let name = "MDST-NFT#"
32+ let fname = (name + st)
33+ let issue = Issue(fname, info, 1, 0, false)
34+ let id = calculateAssetId(issue)
35+[issue, ScriptTransfer(i.caller, issue.quantity, id), IntegerEntry("counter", counter)]
36+ }
37+
38+
39+
40+@Callable(i)
41+func buynft (idnftx,cnt,newid) = {
42+ let st = toString(cnt)
43+ let fname = ("MDST-COPY#" + st)
44+ let idnft = fromBase58String(idnftx)
45+ let x = match assetInfo(idnft) {
46+ case asset: Asset =>
47+ asset.description
48+ case _ =>
49+ throw("Can't find this NFT")
50+ }
51+ let y = split(x, ",")
52+ let spliturl = split(y[5], "=")
53+ let newurl = ((spliturl[0] + "=") + newid)
54+ let z = ((((((((((((((((((((((y[0] + ",") + y[1]) + ",") + y[2]) + ",") + y[3]) + ",") + y[4]) + ",") + newurl) + "',") + y[6]) + ",") + "false") + ",") + y[8]) + ",") + y[9]) + ",") + st) + ",") + y[11])
55+ let price = (parseIntValue(y[8]) * 1000000)
56+ let money = (size(i.payments) * 1000000)
57+ let moneyartist = (price / 2)
58+ let moneyowner = (price / 4)
59+ let moneyus = (price / 4)
60+ let mdstid = base58'4JHA5aCMMKbEHKddc3JACSA8tdGB1wfNbLvtgo55H3nR'
61+ let adr1 = drop(y[0], 1)
62+ let adr11 = dropRight(adr1, 1)
63+ let adr2 = drop(y[2], 1)
64+ let adr22 = dropRight(adr2, 1)
65+ let walletartist = addressFromStringValue(adr11)
66+ let walletowner = addressFromStringValue(adr22)
67+ let issue = Issue(fname, z, 1, 0, false)
68+ let id = calculateAssetId(issue)
69+ let maxcnt = parseIntValue(y[9])
70+ if (if ((cnt > maxcnt))
71+ then (maxcnt != 0)
72+ else false)
73+ then throw("Mint impossible, max NFT amount exceeded")
74+ else if (isPaymentOk(i, price))
75+ then [issue, ScriptTransfer(i.caller, 1, id), ScriptTransfer(walletartist, moneyartist, mdstid), ScriptTransfer(walletowner, moneyowner, mdstid)]
76+ else throw("Wrong payment amount or asset")
77+ }
78+
79+
80+@Verifier(tx)
81+func verify () = sigVerify(tx.bodyBytes, tx.proofs[0], tx.senderPublicKey)
82+

github/deemru/w8io/3ef1775 
28.90 ms