tx · BEZTiQrfzFgWmMMUBTJx1F9vHdGbWRys3a6JHymYAy8J

3N1H8WuGGzDHEPQLJcTZ7SerBBPychSMs12:  -0.01000000 Waves

2023.01.14 16:57 [2404709] smart account 3N1H8WuGGzDHEPQLJcTZ7SerBBPychSMs12 > SELF 0.00000000 Waves

{ "type": 13, "id": "BEZTiQrfzFgWmMMUBTJx1F9vHdGbWRys3a6JHymYAy8J", "fee": 1000000, "feeAssetId": null, "timestamp": 1673704702181, "version": 2, "chainId": 84, "sender": "3N1H8WuGGzDHEPQLJcTZ7SerBBPychSMs12", "senderPublicKey": "64Y9SYSmCggny95DgwVbnPHQnj4sKHxP5KndYB7LB5d7", "proofs": [ "UwY1FtjrDRL7Hc2WUQTvazwxWc1ZiqDXZcXQi4YUV66DhPz84uhvfcTuF3xvzVTswQDaTwbZz3DmvrbhDYqkFVg" ], "script": "base64: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", "height": 2404709, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: rQ53ZGhmen7qej7UUwDiQeLgWwfskkYtUgycmkWnVCC Next: none Diff:
OldNewDifferences
4949
5050
5151 @Callable(i)
52-func initiateAssets (incomingAsset,incomingAssetDescription,incomingAssetName,decimals,burnIncomingAsset,outgoingAsset,mintOutgoingAsset) = if ((tryGetString(incomingAssetKey(incomingAsset)) != ""))
52+func initiateAssets (incomingAsset,outgoingAsset) = if ((tryGetString(incomingAssetKey(incomingAsset)) != ""))
5353 then throw("Asset already listed!")
54- else {
55- let issue = if (mintOutgoingAsset)
56- then {
57- let issue = Issue(incomingAssetName, incomingAssetDescription, 1, decimals, true)
58- let assetId = calculateAssetId(issue)
59- $Tuple2([issue], toBase58String(assetId))
60- }
61- else $Tuple2(nil, outgoingAsset)
62- (issue._1 ++ [StringEntry(incomingAssetKey(incomingAsset), issue._2), StringEntry(outgoingAssetKey(issue._2), incomingAsset), BooleanEntry(mintOutGoingAsset(issue._2), mintOutgoingAsset)])
63- }
54+ else [StringEntry(incomingAssetKey(incomingAsset), outgoingAsset), StringEntry(outgoingAssetKey(outgoingAsset), incomingAsset)]
6455
6556
6657
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 5 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 func tryGetStringExternal (address,key) = match getString(address, key) {
55 case a: String =>
66 a
77 case _ =>
88 ""
99 }
1010
1111
1212 func tryGetIntegerExternal (address,key) = match getInteger(address, key) {
1313 case b: Int =>
1414 b
1515 case _ =>
1616 0
1717 }
1818
1919
2020 func tryGetString (key) = tryGetStringExternal(this, key)
2121
2222
2323 func tryGetInteger (key) = tryGetIntegerExternal(this, key)
2424
2525
2626 func assetIdToString (assetId) = toBase58String(value(assetId))
2727
2828
2929 func incomingAssetKey (incomingAsset) = ("incomingAsset_" + incomingAsset)
3030
3131
3232 func outgoingAssetKey (outgoingAsset) = ("outgoingAsset" + outgoingAsset)
3333
3434
3535 func mintOutGoingAsset (outgoingAsset) = ("mintOutGoingAsset_" + outgoingAsset)
3636
3737
3838 func validatePayment (payment) = {
3939 let pmt = value(payment)
4040 if (!(isDefined(pmt.assetId)))
4141 then throw("It needs to be an asset")
4242 else {
4343 let assetDetails = value(assetInfo(value(pmt.assetId)))
4444 if ((1 > pmt.amount))
4545 then throw("You didnt attached a payment!")
4646 else assetIdToString(pmt.assetId)
4747 }
4848 }
4949
5050
5151 @Callable(i)
52-func initiateAssets (incomingAsset,incomingAssetDescription,incomingAssetName,decimals,burnIncomingAsset,outgoingAsset,mintOutgoingAsset) = if ((tryGetString(incomingAssetKey(incomingAsset)) != ""))
52+func initiateAssets (incomingAsset,outgoingAsset) = if ((tryGetString(incomingAssetKey(incomingAsset)) != ""))
5353 then throw("Asset already listed!")
54- else {
55- let issue = if (mintOutgoingAsset)
56- then {
57- let issue = Issue(incomingAssetName, incomingAssetDescription, 1, decimals, true)
58- let assetId = calculateAssetId(issue)
59- $Tuple2([issue], toBase58String(assetId))
60- }
61- else $Tuple2(nil, outgoingAsset)
62- (issue._1 ++ [StringEntry(incomingAssetKey(incomingAsset), issue._2), StringEntry(outgoingAssetKey(issue._2), incomingAsset), BooleanEntry(mintOutGoingAsset(issue._2), mintOutgoingAsset)])
63- }
54+ else [StringEntry(incomingAssetKey(incomingAsset), outgoingAsset), StringEntry(outgoingAssetKey(outgoingAsset), incomingAsset)]
6455
6556
6657
6758 @Callable(i)
6859 func initiateOutGoingTx (destination) = {
6960 let payment = i.payments
7061 if ((size(payment) != 1))
7162 then throw("Invalid payment added!")
7263 else if ((1 > payment[0].amount))
7364 then throw("Invalid amount added!")
7465 else {
7566 let assetId = validatePayment(payment[0])
7667 [StringEntry((("tx_" + toBase58String(i.transactionId)) + "_dest"), destination), StringEntry((("tx_" + toBase58String(i.transactionId)) + "_status"), "UNPROCESSED"), Burn(fromBase58String(assetId), payment[0].amount)]
7768 }
7869 }
7970
8071
8172
8273 @Callable(i)
8374 func storeDataIncomingTx (txId,destination,assetId,amount) = if ((i.caller != this))
8475 then throw("Dirty hacker")
8576 else [StringEntry((("tx_" + txId) + "_dest"), destination), StringEntry((("tx_" + txId) + "_status"), "UNPROCESSED"), StringEntry((("tx_" + txId) + "_assetId"), assetId), IntegerEntry((("tx_" + txId) + "_amount"), amount)]
8677
8778
8879
8980 @Callable(i)
9081 func releaseIncomingTx (txId) = {
9182 let status = tryGetString((("tx_" + txId) + "_status"))
9283 if ((status == ""))
9384 then throw("No such txid found!")
9485 else if ((status == "PROCESSED"))
9586 then throw("Already processed!")
9687 else {
9788 let destination = tryGetString((("tx_" + txId) + "_dest"))
9889 let amount = tryGetInteger((("tx_" + txId) + "_amount"))
9990 let assetId = tryGetString((("tx_" + txId) + "_assetId"))
10091 [ScriptTransfer(addressFromStringValue(destination), amount, fromBase58String(assetId)), StringEntry((("tx_" + txId) + "_status"), "PROCESSED"), StringEntry((("tx_" + txId) + "_otherId"), toBase58String(i.transactionId))]
10192 }
10293 }
10394
10495
10596
10697 @Callable(i)
10798 func finalizeOutgoingTx (txId,otherTxId) = if ((i.caller != this))
10899 then throw("Dirty hacker!")
109100 else [StringEntry((("tx_" + txId) + "_status"), "PROCESSED"), StringEntry((("tx_" + txId) + "_otherId"), otherTxId)]
110101
111102

github/deemru/w8io/169f3d6 
32.19 ms