tx · CbWX4d3kkdCHKxrVVe774o6msSRvpV5k6eEoH9xfFB92

3P5SX2VmcwF1QeEJPfjNC7YQPwFYh1GLES3:  -0.01000000 Waves

2022.11.07 12:22 [3371883] smart account 3P5SX2VmcwF1QeEJPfjNC7YQPwFYh1GLES3 > SELF 0.00000000 Waves

{ "type": 13, "id": "CbWX4d3kkdCHKxrVVe774o6msSRvpV5k6eEoH9xfFB92", "fee": 1000000, "feeAssetId": null, "timestamp": 1667813057149, "version": 2, "chainId": 87, "sender": "3P5SX2VmcwF1QeEJPfjNC7YQPwFYh1GLES3", "senderPublicKey": "32jPXwTr1LWfghxGmvNJYcx5X9jHP89cJR34h3tYQmFn", "proofs": [ "5vGmPSNEQTMK6r6tuGy54J73CZ8pT9fLCBL6aimjYLpZ8SsggE256Xf2XSwzRth34yAD7kJeWap5XXNDXtCeLFtU" ], "script": "base64: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", "height": 3371883, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: 4onAqGpE3SdvS9RtUQHbzLUSuwE2529hxkXk5VZKSie4 Next: 8HZcso6MoVF6dsrZgnW7PEfH2RjPE6WPNWYSHJPzKWz9 Diff:
OldNewDifferences
11 {-# STDLIB_VERSION 5 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
4+let AINTID = fromBase58String("66DUhUoJaoZcstkKpcoN3FUcqjB6v8VJd5ZQd6RsPxhv")
5+
46 let WAVESIDSTR = "WAVES"
57
68 let WAVESID = fromBase58String(WAVESIDSTR)
2527 let beneficiaryAddress = addressFromStringValue(beneficiaryAddressStr58)
2628 let price = valueOrElse(getInteger(keyPrice()), MULT8)
2729 let tier = valueOrElse(getInteger(keyTier()), (MULT8 * 10))
28-[StringEntry(keyBeneficiaryAddress(), toString(beneficiaryAddress)), IntegerEntry(keyPrice(), price)]
30+[StringEntry(keyBeneficiaryAddress(), toString(beneficiaryAddress)), IntegerEntry(keyTier(), tier), IntegerEntry(keyPrice(), price)]
2931 }
3032
3133
6365 }
6466
6567
68+
69+@Callable(i)
70+func mint () = {
71+ let pmt = i.payments[0]
72+ let pmtAssetId = valueOrElse(pmt.assetId, WAVESID)
73+ let amount = pmt.amount
74+ if ((size(i.payments) != 1))
75+ then throw("exact 1 payment must be attached")
76+ else if ((pmtAssetId != WAVESID))
77+ then throw("only WAVES can be used in payment")
78+ else {
79+ let price = getIntegerValue(keyPrice())
80+ let tier = getIntegerValue(keyTier())
81+ let addressBeneficiary = addressFromStringValue(getStringValue(keyBeneficiaryAddress()))
82+ let amountAint = ((amount / price) * MULT8)
83+[ScriptTransfer(i.caller, amountAint, AINTID), ScriptTransfer(addressBeneficiary, amount, WAVESID)]
84+ }
85+ }
86+
87+
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 5 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
4+let AINTID = fromBase58String("66DUhUoJaoZcstkKpcoN3FUcqjB6v8VJd5ZQd6RsPxhv")
5+
46 let WAVESIDSTR = "WAVES"
57
68 let WAVESID = fromBase58String(WAVESIDSTR)
79
810 let MULT8 = 100000000
911
1012 let SEP = "__"
1113
1214 func keyBeneficiaryAddress () = "%s__beneficiaryAddress"
1315
1416
1517 func keyPrice () = "%s__price"
1618
1719
1820 func keyTier () = "%s__tier"
1921
2022
2123 @Callable(i)
2224 func constructor (beneficiaryAddressStr58) = if ((this != i.caller))
2325 then throw("permissions denied")
2426 else {
2527 let beneficiaryAddress = addressFromStringValue(beneficiaryAddressStr58)
2628 let price = valueOrElse(getInteger(keyPrice()), MULT8)
2729 let tier = valueOrElse(getInteger(keyTier()), (MULT8 * 10))
28-[StringEntry(keyBeneficiaryAddress(), toString(beneficiaryAddress)), IntegerEntry(keyPrice(), price)]
30+[StringEntry(keyBeneficiaryAddress(), toString(beneficiaryAddress)), IntegerEntry(keyTier(), tier), IntegerEntry(keyPrice(), price)]
2931 }
3032
3133
3234
3335 @Callable(i)
3436 func deposit (hash) = {
3537 let pmt = i.payments[0]
3638 let pmtAssetId = valueOrElse(pmt.assetId, WAVESID)
3739 let amount = pmt.amount
3840 if ((size(i.payments) != 1))
3941 then throw("exact 1 payment must be attached")
4042 else if ((pmtAssetId != WAVESID))
4143 then throw("only WAVES can be used in payment")
4244 else {
4345 let key = ("%s__" + toString(i.caller))
4446 let val = ((((("%s%s__" + hash) + SEP) + toString(height)) + SEP) + toString(amount))
4547 [StringEntry(key, val)]
4648 }
4749 }
4850
4951
5052
5153 @Callable(i)
5254 func refund (secret) = {
5355 let key = ("%s__" + toString(i.caller))
5456 let val = getStringValue(key)
5557 let hash = split(val, SEP)[1]
5658 let h = toInt(parseBigIntValue(split(val, SEP)[2]))
5759 let amount = parseIntValue(split(val, SEP)[3])
5860 if ((toBase58String(keccak256(blake2b256(toBytes(secret)))) != hash))
5961 then throw("secret is wrong")
6062 else if ((60 > (height - h)))
6163 then throw("too early to refund")
6264 else [DeleteEntry(key), ScriptTransfer(i.caller, amount, WAVESID)]
6365 }
6466
6567
68+
69+@Callable(i)
70+func mint () = {
71+ let pmt = i.payments[0]
72+ let pmtAssetId = valueOrElse(pmt.assetId, WAVESID)
73+ let amount = pmt.amount
74+ if ((size(i.payments) != 1))
75+ then throw("exact 1 payment must be attached")
76+ else if ((pmtAssetId != WAVESID))
77+ then throw("only WAVES can be used in payment")
78+ else {
79+ let price = getIntegerValue(keyPrice())
80+ let tier = getIntegerValue(keyTier())
81+ let addressBeneficiary = addressFromStringValue(getStringValue(keyBeneficiaryAddress()))
82+ let amountAint = ((amount / price) * MULT8)
83+[ScriptTransfer(i.caller, amountAint, AINTID), ScriptTransfer(addressBeneficiary, amount, WAVESID)]
84+ }
85+ }
86+
87+

github/deemru/w8io/3ef1775 
28.93 ms