summaryrefslogtreecommitdiff
path: root/tests/lexers/ride
diff options
context:
space:
mode:
Diffstat (limited to 'tests/lexers/ride')
-rw-r--r--tests/lexers/ride/example.txt1941
1 files changed, 1941 insertions, 0 deletions
diff --git a/tests/lexers/ride/example.txt b/tests/lexers/ride/example.txt
new file mode 100644
index 00000000..7589f5e8
--- /dev/null
+++ b/tests/lexers/ride/example.txt
@@ -0,0 +1,1941 @@
+---input---
+{-# STDLIB_VERSION 3 #-}
+{-# CONTENT_TYPE DAPP #-}
+{-# SCRIPT_TYPE ACCOUNT #-}
+
+
+let maxAuctionDuration = 1440 * 30
+# ~ 30 days
+
+# priceAssetId = "WAVES" or assetId
+@Callable(i)
+func startAuction(duration: Int, startPrice: Int, priceAssetId:String) = {
+
+ let auctionId = toBase58String(i.transactionId)
+ let endHeight = lastBlock.height + duration
+
+ let pmt = extract(i.payment)
+
+ if (duration > maxAuctionDuration) then throw("Duration is too long. Must be less than " + toString(maxAuctionDuration)) else
+ WriteSet(
+ [ DataEntry(auctionId, endHeight),
+ DataEntry(auctionId + "_organizer", i.caller.bytes.toBase58String()),
+ DataEntry(auctionId + "_lot_assetId", if (isDefined(pmt.assetId)) then toBase58String(value(pmt.assetId)) else "WAVES"),
+ DataEntry(auctionId + "_lot_amount", pmt.amount),
+ DataEntry(auctionId + "_startPrice", startPrice),
+ DataEntry(auctionId + "_priceAssetId", priceAssetId)
+ ])
+}
+
+@Callable(i)
+func bid(auctionId: String) = {
+
+ let pmt = extract(i.payment)
+ let pmtAssetIdStr = if (isDefined(pmt.assetId)) then toBase58String(value(pmt.assetId)) else "WAVES"
+ let callerAddressStr = i.caller.bytes.toBase58String()
+
+ let endHeight = getIntegerValue(this, auctionId)
+ let startPrice = getIntegerValue(this, auctionId + "_startPrice")
+ let priceAssetId = getStringValue(this, auctionId + "_priceAssetId")
+ let winAmount = getInteger(this, auctionId + "_winAmount")
+ let winner = getString(this, auctionId + "_winner")
+
+ let bidFromTheSameUser = isDefined(winner) && value(winner) == callerAddressStr
+ let totalBidAmount = pmt.amount + if bidFromTheSameUser then
+ value(winAmount) else 0
+
+ if (lastBlock.height >= endHeight) then
+ throw("Auction already finished") else
+ if (priceAssetId != pmtAssetIdStr) then
+ throw("Bid must be in asset '" + priceAssetId + "'") else
+ if (isDefined(winAmount) && totalBidAmount <= value(winAmount) ||
+ !isDefined(winAmount) && totalBidAmount <= startPrice) then
+ throw("Bid must be more then "
+ + toString(if isDefined(winAmount) then value(winAmount) else startPrice))
+ else
+ if (bidFromTheSameUser || !isDefined(winner)) then
+ WriteSet([
+ DataEntry(auctionId + "_winner", callerAddressStr),
+ DataEntry(auctionId + "_winAmount", totalBidAmount)
+ ])
+ else {
+ let previousBidderAddr = addressFromStringValue(value(winner))
+ let priceAsset = if (priceAssetId == "WAVES" || priceAssetId == "") then unit else fromBase58String(priceAssetId)
+ ScriptResult(
+ WriteSet([
+ DataEntry(auctionId + "_winner", callerAddressStr),
+ DataEntry(auctionId + "_winAmount", totalBidAmount)
+ ]),
+ TransferSet([
+ ScriptTransfer(previousBidderAddr, value(winAmount), priceAsset)
+ ])
+ )
+ }
+
+}
+
+
+@Callable(i)
+func withdraw(auctionId: String) = {
+
+ let pmt = extract(i.payment)
+ let pmtAssetIdStr = if (isDefined(pmt.assetId)) then toBase58String(value(pmt.assetId)) else "WAVES"
+ let callerAddressStr = i.caller.bytes.toBase58String()
+
+ let endHeight = getIntegerValue(this, auctionId)
+ let organizer = getStringValue(this, auctionId + "_organizer")
+ let winner = getString(this, auctionId + "_winner")
+ let lotAssetId = getStringValue(this, auctionId + "_lot_assetId")
+ let lotAmount = getIntegerValue(this, auctionId + "_lot_amount")
+ let priceAssetId = getStringValue(this, auctionId + "_priceAssetId")
+ let winAmount = getIntegerValue(this, auctionId + "_winAmount")
+
+ let lotAsset = if (lotAssetId == "WAVES") then unit else fromBase58String(lotAssetId)
+ let priceAsset = if (priceAssetId == "WAVES" || priceAssetId == "") then unit else fromBase58String(priceAssetId)
+ let winnerAddr = addressFromStringValue(value(winner))
+ let organizerAddr = addressFromStringValue(value(organizer))
+
+ let betAmount = getInteger(this, auctionId + "_bidder_" + callerAddressStr)
+
+ if (lastBlock.height < endHeight) then
+ throw("Auction is not finished yet") else
+
+ if (!isDefined(winner)) then {
+ if (isDefined(getString(this, auctionId + "_lot_passed"))) then
+ throw("Organizer has already got his lot back")
+ else
+ ScriptResult(
+ WriteSet([DataEntry(auctionId + "_lot_passed", organizer)]),
+ TransferSet([ScriptTransfer(organizerAddr, lotAmount, lotAsset)])
+ )
+ }
+ else {
+ # Lot -> winner, winner's bet -> organizer
+ if (isDefined(getString(this, auctionId + "_lot_passed"))) then
+ throw("Lot is already passed to the winner, and organizer got his reward")
+ else
+ ScriptResult(
+ WriteSet([DataEntry(auctionId + "_lot_passed", winnerAddr.bytes.toBase58String())]),
+ TransferSet([ScriptTransfer(winnerAddr, lotAmount, lotAsset),
+ ScriptTransfer(organizerAddr, winAmount, priceAsset)])
+ )
+ }
+}
+
+---tokens---
+'{-# STDLIB_VERSION 3 #-}' Keyword.Reserved
+'\n' Text
+
+'{-# CONTENT_TYPE DAPP #-}' Keyword.Reserved
+'\n' Text
+
+'{-# SCRIPT_TYPE ACCOUNT #-}' Keyword.Reserved
+'\n\n\n' Text
+
+'let' Keyword.Reserved
+' ' Text
+'maxAuctionDuration' Name.Variable
+' ' Text
+'=' Name.Function
+' ' Text
+'1440' Literal.Number.Integer
+' ' Text
+'*' Name.Function
+' ' Text
+'30' Literal.Number.Integer
+' \n' Text
+
+'# ~ 30 days' Comment.Single
+'\n\n' Text
+
+'# priceAssetId = "WAVES" or assetId' Comment.Single
+'\n' Text
+
+'@Callable' Keyword.Reserved
+'(' Punctuation
+'i' Name.Variable
+')' Punctuation
+'\n' Text
+
+'func' Keyword.Reserved
+' ' Text
+'startAuction' Name.Variable
+'(' Punctuation
+'duration' Name.Variable
+':' Name.Function
+' ' Text
+'Int' Keyword.Type
+',' Punctuation
+' ' Text
+'startPrice' Name.Variable
+':' Name.Function
+' ' Text
+'Int' Keyword.Type
+',' Punctuation
+' ' Text
+'priceAssetId' Name.Variable
+':' Name.Function
+'String' Keyword.Type
+')' Punctuation
+' ' Text
+'=' Name.Function
+' ' Text
+'{' Punctuation
+'\n \n ' Text
+'let' Keyword.Reserved
+' ' Text
+'auctionId' Name.Variable
+' ' Text
+'=' Name.Function
+' ' Text
+'toBase58String' Name.Function
+'(' Punctuation
+'i' Name.Variable
+'.' Name.Function
+'transactionId' Name.Variable
+')' Punctuation
+'\n ' Text
+'let' Keyword.Reserved
+' ' Text
+'endHeight' Name.Variable
+' ' Text
+'=' Name.Function
+' ' Text
+'lastBlock' Name.Function
+'.' Name.Function
+'height' Name.Function
+' ' Text
+'+' Name.Function
+' ' Text
+'duration' Name.Variable
+'\n\n ' Text
+'let' Keyword.Reserved
+' ' Text
+'pmt' Name.Variable
+' ' Text
+'=' Name.Function
+' ' Text
+'extract' Name.Function
+'(' Punctuation
+'i' Name.Variable
+'.' Name.Function
+'payment' Name.Variable
+')' Punctuation
+'\n \n ' Text
+'if' Keyword.Reserved
+' ' Text
+'(' Punctuation
+'duration' Name.Variable
+' ' Text
+'>' Name.Function
+' ' Text
+'maxAuctionDuration' Name.Variable
+')' Punctuation
+' ' Text
+'then' Keyword.Reserved
+' ' Text
+'throw' Name.Function
+'(' Punctuation
+'"' Literal.String
+'D' Literal.String
+'u' Literal.String
+'r' Literal.String
+'a' Literal.String
+'t' Literal.String
+'i' Literal.String
+'o' Literal.String
+'n' Literal.String
+' ' Literal.String
+'i' Literal.String
+'s' Literal.String
+' ' Literal.String
+'t' Literal.String
+'o' Literal.String
+'o' Literal.String
+' ' Literal.String
+'l' Literal.String
+'o' Literal.String
+'n' Literal.String
+'g' Literal.String
+'.' Literal.String
+' ' Literal.String
+'M' Literal.String
+'u' Literal.String
+'s' Literal.String
+'t' Literal.String
+' ' Literal.String
+'b' Literal.String
+'e' Literal.String
+' ' Literal.String
+'l' Literal.String
+'e' Literal.String
+'s' Literal.String
+'s' Literal.String
+' ' Literal.String
+'t' Literal.String
+'h' Literal.String
+'a' Literal.String
+'n' Literal.String
+' ' Literal.String
+'"' Literal.String
+' ' Text
+'+' Name.Function
+' ' Text
+'toString' Name.Function
+'(' Punctuation
+'maxAuctionDuration' Name.Variable
+')' Punctuation
+')' Punctuation
+' ' Text
+'else' Keyword.Reserved
+'\n ' Text
+'WriteSet' Keyword.Type
+'(' Punctuation
+' \n ' Text
+'[' Punctuation
+' ' Text
+'DataEntry' Keyword.Type
+'(' Punctuation
+'auctionId' Name.Variable
+',' Punctuation
+' ' Text
+'endHeight' Name.Variable
+')' Punctuation
+',' Punctuation
+' \n ' Text
+'DataEntry' Keyword.Type
+'(' Punctuation
+'auctionId' Name.Variable
+' ' Text
+'+' Name.Function
+' ' Text
+'"' Literal.String
+'_' Literal.String
+'o' Literal.String
+'r' Literal.String
+'g' Literal.String
+'a' Literal.String
+'n' Literal.String
+'i' Literal.String
+'z' Literal.String
+'e' Literal.String
+'r' Literal.String
+'"' Literal.String
+',' Punctuation
+' ' Text
+'i' Name.Variable
+'.' Name.Function
+'caller' Name.Variable
+'.' Name.Function
+'bytes' Name.Variable
+'.' Name.Function
+'toBase58String' Name.Function
+'(' Punctuation
+')' Punctuation
+')' Punctuation
+',' Punctuation
+' \n ' Text
+'DataEntry' Keyword.Type
+'(' Punctuation
+'auctionId' Name.Variable
+' ' Text
+'+' Name.Function
+' ' Text
+'"' Literal.String
+'_' Literal.String
+'l' Literal.String
+'o' Literal.String
+'t' Literal.String
+'_' Literal.String
+'a' Literal.String
+'s' Literal.String
+'s' Literal.String
+'e' Literal.String
+'t' Literal.String
+'I' Literal.String
+'d' Literal.String
+'"' Literal.String
+',' Punctuation
+' ' Text
+'if' Keyword.Reserved
+' ' Text
+'(' Punctuation
+'isDefined' Name.Function
+'(' Punctuation
+'pmt' Name.Variable
+'.' Name.Function
+'assetId' Name.Variable
+')' Punctuation
+')' Punctuation
+' ' Text
+'then' Keyword.Reserved
+' ' Text
+'toBase58String' Name.Function
+'(' Punctuation
+'value' Name.Function
+'(' Punctuation
+'pmt' Name.Variable
+'.' Name.Function
+'assetId' Name.Variable
+')' Punctuation
+')' Punctuation
+' ' Text
+'else' Keyword.Reserved
+' ' Text
+'"' Literal.String
+'W' Literal.String
+'A' Literal.String
+'V' Literal.String
+'E' Literal.String
+'S' Literal.String
+'"' Literal.String
+')' Punctuation
+',' Punctuation
+'\n ' Text
+'DataEntry' Keyword.Type
+'(' Punctuation
+'auctionId' Name.Variable
+' ' Text
+'+' Name.Function
+' ' Text
+'"' Literal.String
+'_' Literal.String
+'l' Literal.String
+'o' Literal.String
+'t' Literal.String
+'_' Literal.String
+'a' Literal.String
+'m' Literal.String
+'o' Literal.String
+'u' Literal.String
+'n' Literal.String
+'t' Literal.String
+'"' Literal.String
+',' Punctuation
+' ' Text
+'pmt' Name.Variable
+'.' Name.Function
+'amount' Name.Variable
+')' Punctuation
+',' Punctuation
+' \n ' Text
+'DataEntry' Keyword.Type
+'(' Punctuation
+'auctionId' Name.Variable
+' ' Text
+'+' Name.Function
+' ' Text
+'"' Literal.String
+'_' Literal.String
+'s' Literal.String
+'t' Literal.String
+'a' Literal.String
+'r' Literal.String
+'t' Literal.String
+'P' Literal.String
+'r' Literal.String
+'i' Literal.String
+'c' Literal.String
+'e' Literal.String
+'"' Literal.String
+',' Punctuation
+' ' Text
+'startPrice' Name.Variable
+')' Punctuation
+',' Punctuation
+' \n ' Text
+'DataEntry' Keyword.Type
+'(' Punctuation
+'auctionId' Name.Variable
+' ' Text
+'+' Name.Function
+' ' Text
+'"' Literal.String
+'_' Literal.String
+'p' Literal.String
+'r' Literal.String
+'i' Literal.String
+'c' Literal.String
+'e' Literal.String
+'A' Literal.String
+'s' Literal.String
+'s' Literal.String
+'e' Literal.String
+'t' Literal.String
+'I' Literal.String
+'d' Literal.String
+'"' Literal.String
+',' Punctuation
+' ' Text
+'priceAssetId' Name.Variable
+')' Punctuation
+'\n ' Text
+']' Punctuation
+')' Punctuation
+'\n' Text
+
+'}' Punctuation
+' \n\n' Text
+
+'@Callable' Keyword.Reserved
+'(' Punctuation
+'i' Name.Variable
+')' Punctuation
+'\n' Text
+
+'func' Keyword.Reserved
+' ' Text
+'bid' Name.Variable
+'(' Punctuation
+'auctionId' Name.Variable
+':' Name.Function
+' ' Text
+'String' Keyword.Type
+')' Punctuation
+' ' Text
+'=' Name.Function
+' ' Text
+'{' Punctuation
+'\n\n ' Text
+'let' Keyword.Reserved
+' ' Text
+'pmt' Name.Variable
+' ' Text
+'=' Name.Function
+' ' Text
+'extract' Name.Function
+'(' Punctuation
+'i' Name.Variable
+'.' Name.Function
+'payment' Name.Variable
+')' Punctuation
+'\n ' Text
+'let' Keyword.Reserved
+' ' Text
+'pmtAssetIdStr' Name.Variable
+' ' Text
+'=' Name.Function
+' ' Text
+'if' Keyword.Reserved
+' ' Text
+'(' Punctuation
+'isDefined' Name.Function
+'(' Punctuation
+'pmt' Name.Variable
+'.' Name.Function
+'assetId' Name.Variable
+')' Punctuation
+')' Punctuation
+' ' Text
+'then' Keyword.Reserved
+' ' Text
+'toBase58String' Name.Function
+'(' Punctuation
+'value' Name.Function
+'(' Punctuation
+'pmt' Name.Variable
+'.' Name.Function
+'assetId' Name.Variable
+')' Punctuation
+')' Punctuation
+' ' Text
+'else' Keyword.Reserved
+' ' Text
+'"' Literal.String
+'W' Literal.String
+'A' Literal.String
+'V' Literal.String
+'E' Literal.String
+'S' Literal.String
+'"' Literal.String
+'\n ' Text
+'let' Keyword.Reserved
+' ' Text
+'callerAddressStr' Name.Variable
+' ' Text
+'=' Name.Function
+' ' Text
+'i' Name.Variable
+'.' Name.Function
+'caller' Name.Variable
+'.' Name.Function
+'bytes' Name.Variable
+'.' Name.Function
+'toBase58String' Name.Function
+'(' Punctuation
+')' Punctuation
+'\n\n ' Text
+'let' Keyword.Reserved
+' ' Text
+'endHeight' Name.Variable
+' ' Text
+'=' Name.Function
+' ' Text
+'getIntegerValue' Name.Function
+'(' Punctuation
+'this' Name.Function
+',' Punctuation
+' ' Text
+'auctionId' Name.Variable
+')' Punctuation
+'\n ' Text
+'let' Keyword.Reserved
+' ' Text
+'startPrice' Name.Variable
+' ' Text
+'=' Name.Function
+' ' Text
+'getIntegerValue' Name.Function
+'(' Punctuation
+'this' Name.Function
+',' Punctuation
+' ' Text
+'auctionId' Name.Variable
+' ' Text
+'+' Name.Function
+' ' Text
+'"' Literal.String
+'_' Literal.String
+'s' Literal.String
+'t' Literal.String
+'a' Literal.String
+'r' Literal.String
+'t' Literal.String
+'P' Literal.String
+'r' Literal.String
+'i' Literal.String
+'c' Literal.String
+'e' Literal.String
+'"' Literal.String
+')' Punctuation
+'\n ' Text
+'let' Keyword.Reserved
+' ' Text
+'priceAssetId' Name.Variable
+' ' Text
+'=' Name.Function
+' ' Text
+'getStringValue' Name.Function
+'(' Punctuation
+'this' Name.Function
+',' Punctuation
+' ' Text
+'auctionId' Name.Variable
+' ' Text
+'+' Name.Function
+' ' Text
+'"' Literal.String
+'_' Literal.String
+'p' Literal.String
+'r' Literal.String
+'i' Literal.String
+'c' Literal.String
+'e' Literal.String
+'A' Literal.String
+'s' Literal.String
+'s' Literal.String
+'e' Literal.String
+'t' Literal.String
+'I' Literal.String
+'d' Literal.String
+'"' Literal.String
+')' Punctuation
+'\n ' Text
+'let' Keyword.Reserved
+' ' Text
+'winAmount' Name.Variable
+' ' Text
+'=' Name.Function
+' ' Text
+'getInteger' Name.Function
+'(' Punctuation
+'this' Name.Function
+',' Punctuation
+' ' Text
+'auctionId' Name.Variable
+' ' Text
+'+' Name.Function
+' ' Text
+'"' Literal.String
+'_' Literal.String
+'w' Literal.String
+'i' Literal.String
+'n' Literal.String
+'A' Literal.String
+'m' Literal.String
+'o' Literal.String
+'u' Literal.String
+'n' Literal.String
+'t' Literal.String
+'"' Literal.String
+')' Punctuation
+'\n ' Text
+'let' Keyword.Reserved
+' ' Text
+'winner' Name.Variable
+' ' Text
+'=' Name.Function
+' ' Text
+'getString' Name.Function
+'(' Punctuation
+'this' Name.Function
+',' Punctuation
+' ' Text
+'auctionId' Name.Variable
+' ' Text
+'+' Name.Function
+' ' Text
+'"' Literal.String
+'_' Literal.String
+'w' Literal.String
+'i' Literal.String
+'n' Literal.String
+'n' Literal.String
+'e' Literal.String
+'r' Literal.String
+'"' Literal.String
+')' Punctuation
+'\n\n ' Text
+'let' Keyword.Reserved
+' ' Text
+'bidFromTheSameUser' Name.Variable
+' ' Text
+'=' Name.Function
+' ' Text
+'isDefined' Name.Function
+'(' Punctuation
+'winner' Name.Variable
+')' Punctuation
+' ' Text
+'&&' Name.Function
+' ' Text
+'value' Name.Function
+'(' Punctuation
+'winner' Name.Variable
+')' Punctuation
+' ' Text
+'==' Name.Function
+' ' Text
+'callerAddressStr' Name.Variable
+'\n ' Text
+'let' Keyword.Reserved
+' ' Text
+'totalBidAmount' Name.Variable
+' ' Text
+'=' Name.Function
+' ' Text
+'pmt' Name.Variable
+'.' Name.Function
+'amount' Name.Variable
+' ' Text
+'+' Name.Function
+' ' Text
+'if' Keyword.Reserved
+' ' Text
+'bidFromTheSameUser' Name.Variable
+' ' Text
+'then' Keyword.Reserved
+'\n ' Text
+'value' Name.Function
+'(' Punctuation
+'winAmount' Name.Variable
+')' Punctuation
+' ' Text
+'else' Keyword.Reserved
+' ' Text
+'0' Literal.Number.Integer
+'\n\n ' Text
+'if' Keyword.Reserved
+' ' Text
+'(' Punctuation
+'lastBlock' Name.Function
+'.' Name.Function
+'height' Name.Function
+' ' Text
+'>=' Name.Function
+' ' Text
+'endHeight' Name.Variable
+')' Punctuation
+' ' Text
+'then' Keyword.Reserved
+' \n ' Text
+'throw' Name.Function
+'(' Punctuation
+'"' Literal.String
+'A' Literal.String
+'u' Literal.String
+'c' Literal.String
+'t' Literal.String
+'i' Literal.String
+'o' Literal.String
+'n' Literal.String
+' ' Literal.String
+'a' Literal.String
+'l' Literal.String
+'r' Literal.String
+'e' Literal.String
+'a' Literal.String
+'d' Literal.String
+'y' Literal.String
+' ' Literal.String
+'f' Literal.String
+'i' Literal.String
+'n' Literal.String
+'i' Literal.String
+'s' Literal.String
+'h' Literal.String
+'e' Literal.String
+'d' Literal.String
+'"' Literal.String
+')' Punctuation
+' ' Text
+'else' Keyword.Reserved
+'\n ' Text
+'if' Keyword.Reserved
+' ' Text
+'(' Punctuation
+'priceAssetId' Name.Variable
+' ' Text
+'!=' Name.Function
+' ' Text
+'pmtAssetIdStr' Name.Variable
+')' Punctuation
+' ' Text
+'then' Keyword.Reserved
+' \n ' Text
+'throw' Name.Function
+'(' Punctuation
+'"' Literal.String
+'B' Literal.String
+'i' Literal.String
+'d' Literal.String
+' ' Literal.String
+'m' Literal.String
+'u' Literal.String
+'s' Literal.String
+'t' Literal.String
+' ' Literal.String
+'b' Literal.String
+'e' Literal.String
+' ' Literal.String
+'i' Literal.String
+'n' Literal.String
+' ' Literal.String
+'a' Literal.String
+'s' Literal.String
+'s' Literal.String
+'e' Literal.String
+'t' Literal.String
+' ' Literal.String
+"'" Literal.String
+'"' Literal.String
+' ' Text
+'+' Name.Function
+' ' Text
+'priceAssetId' Name.Variable
+' ' Text
+'+' Name.Function
+' ' Text
+'"' Literal.String
+"'" Literal.String
+'"' Literal.String
+')' Punctuation
+' ' Text
+'else' Keyword.Reserved
+'\n ' Text
+'if' Keyword.Reserved
+' ' Text
+'(' Punctuation
+'isDefined' Name.Function
+'(' Punctuation
+'winAmount' Name.Variable
+')' Punctuation
+' ' Text
+'&&' Name.Function
+' ' Text
+'totalBidAmount' Name.Variable
+' ' Text
+'<=' Name.Function
+' ' Text
+'value' Name.Function
+'(' Punctuation
+'winAmount' Name.Variable
+')' Punctuation
+' ' Text
+'||' Name.Function
+'\n ' Text
+'!' Name.Function
+'isDefined' Name.Function
+'(' Punctuation
+'winAmount' Name.Variable
+')' Punctuation
+' ' Text
+'&&' Name.Function
+' ' Text
+'totalBidAmount' Name.Variable
+' ' Text
+'<=' Name.Function
+' ' Text
+'startPrice' Name.Variable
+')' Punctuation
+' ' Text
+'then' Keyword.Reserved
+' \n ' Text
+'throw' Name.Function
+'(' Punctuation
+'"' Literal.String
+'B' Literal.String
+'i' Literal.String
+'d' Literal.String
+' ' Literal.String
+'m' Literal.String
+'u' Literal.String
+'s' Literal.String
+'t' Literal.String
+' ' Literal.String
+'b' Literal.String
+'e' Literal.String
+' ' Literal.String
+'m' Literal.String
+'o' Literal.String
+'r' Literal.String
+'e' Literal.String
+' ' Literal.String
+'t' Literal.String
+'h' Literal.String
+'e' Literal.String
+'n' Literal.String
+' ' Literal.String
+'"' Literal.String
+' \n ' Text
+'+' Name.Function
+' ' Text
+'toString' Name.Function
+'(' Punctuation
+'if' Keyword.Reserved
+' ' Text
+'isDefined' Name.Function
+'(' Punctuation
+'winAmount' Name.Variable
+')' Punctuation
+' ' Text
+'then' Keyword.Reserved
+' ' Text
+'value' Name.Function
+'(' Punctuation
+'winAmount' Name.Variable
+')' Punctuation
+' ' Text
+'else' Keyword.Reserved
+' ' Text
+'startPrice' Name.Variable
+')' Punctuation
+')' Punctuation
+' \n ' Text
+'else' Keyword.Reserved
+'\n ' Text
+'if' Keyword.Reserved
+' ' Text
+'(' Punctuation
+'bidFromTheSameUser' Name.Variable
+' ' Text
+'||' Name.Function
+' ' Text
+'!' Name.Function
+'isDefined' Name.Function
+'(' Punctuation
+'winner' Name.Variable
+')' Punctuation
+')' Punctuation
+' ' Text
+'then' Keyword.Reserved
+'\n ' Text
+'WriteSet' Keyword.Type
+'(' Punctuation
+'[' Punctuation
+'\n ' Text
+'DataEntry' Keyword.Type
+'(' Punctuation
+'auctionId' Name.Variable
+' ' Text
+'+' Name.Function
+' ' Text
+'"' Literal.String
+'_' Literal.String
+'w' Literal.String
+'i' Literal.String
+'n' Literal.String
+'n' Literal.String
+'e' Literal.String
+'r' Literal.String
+'"' Literal.String
+',' Punctuation
+' ' Text
+'callerAddressStr' Name.Variable
+')' Punctuation
+',' Punctuation
+'\n ' Text
+'DataEntry' Keyword.Type
+'(' Punctuation
+'auctionId' Name.Variable
+' ' Text
+'+' Name.Function
+' ' Text
+'"' Literal.String
+'_' Literal.String
+'w' Literal.String
+'i' Literal.String
+'n' Literal.String
+'A' Literal.String
+'m' Literal.String
+'o' Literal.String
+'u' Literal.String
+'n' Literal.String
+'t' Literal.String
+'"' Literal.String
+',' Punctuation
+' ' Text
+'totalBidAmount' Name.Variable
+')' Punctuation
+'\n ' Text
+']' Punctuation
+')' Punctuation
+'\n ' Text
+'else' Keyword.Reserved
+' ' Text
+'{' Punctuation
+'\n ' Text
+'let' Keyword.Reserved
+' ' Text
+'previousBidderAddr' Name.Variable
+' ' Text
+'=' Name.Function
+' ' Text
+'addressFromStringValue' Name.Function
+'(' Punctuation
+'value' Name.Function
+'(' Punctuation
+'winner' Name.Variable
+')' Punctuation
+')' Punctuation
+'\n ' Text
+'let' Keyword.Reserved
+' ' Text
+'priceAsset' Name.Variable
+' ' Text
+'=' Name.Function
+' ' Text
+'if' Keyword.Reserved
+' ' Text
+'(' Punctuation
+'priceAssetId' Name.Variable
+' ' Text
+'==' Name.Function
+' ' Text
+'"' Literal.String
+'W' Literal.String
+'A' Literal.String
+'V' Literal.String
+'E' Literal.String
+'S' Literal.String
+'"' Literal.String
+' ' Text
+'||' Name.Function
+' ' Text
+'priceAssetId' Name.Variable
+' ' Text
+'==' Name.Function
+' ' Text
+'"' Literal.String
+'"' Literal.String
+')' Punctuation
+' ' Text
+'then' Keyword.Reserved
+' ' Text
+'unit' Name.Function
+' ' Text
+'else' Keyword.Reserved
+' ' Text
+'fromBase58String' Name.Function
+'(' Punctuation
+'priceAssetId' Name.Variable
+')' Punctuation
+'\n ' Text
+'ScriptResult' Keyword.Type
+'(' Punctuation
+'\n ' Text
+'WriteSet' Keyword.Type
+'(' Punctuation
+'[' Punctuation
+'\n ' Text
+'DataEntry' Keyword.Type
+'(' Punctuation
+'auctionId' Name.Variable
+' ' Text
+'+' Name.Function
+' ' Text
+'"' Literal.String
+'_' Literal.String
+'w' Literal.String
+'i' Literal.String
+'n' Literal.String
+'n' Literal.String
+'e' Literal.String
+'r' Literal.String
+'"' Literal.String
+',' Punctuation
+' ' Text
+'callerAddressStr' Name.Variable
+')' Punctuation
+',' Punctuation
+'\n ' Text
+'DataEntry' Keyword.Type
+'(' Punctuation
+'auctionId' Name.Variable
+' ' Text
+'+' Name.Function
+' ' Text
+'"' Literal.String
+'_' Literal.String
+'w' Literal.String
+'i' Literal.String
+'n' Literal.String
+'A' Literal.String
+'m' Literal.String
+'o' Literal.String
+'u' Literal.String
+'n' Literal.String
+'t' Literal.String
+'"' Literal.String
+',' Punctuation
+' ' Text
+'totalBidAmount' Name.Variable
+')' Punctuation
+'\n ' Text
+']' Punctuation
+')' Punctuation
+',' Punctuation
+'\n ' Text
+'TransferSet' Keyword.Type
+'(' Punctuation
+'[' Punctuation
+'\n ' Text
+'ScriptTransfer' Keyword.Type
+'(' Punctuation
+'previousBidderAddr' Name.Variable
+',' Punctuation
+' ' Text
+'value' Name.Function
+'(' Punctuation
+'winAmount' Name.Variable
+')' Punctuation
+',' Punctuation
+' ' Text
+'priceAsset' Name.Variable
+')' Punctuation
+'\n ' Text
+']' Punctuation
+')' Punctuation
+'\n ' Text
+')' Punctuation
+'\n ' Text
+'}' Punctuation
+'\n\n' Text
+
+'}' Punctuation
+'\n\n\n' Text
+
+'@Callable' Keyword.Reserved
+'(' Punctuation
+'i' Name.Variable
+')' Punctuation
+'\n' Text
+
+'func' Keyword.Reserved
+' ' Text
+'withdraw' Name.Variable
+'(' Punctuation
+'auctionId' Name.Variable
+':' Name.Function
+' ' Text
+'String' Keyword.Type
+')' Punctuation
+' ' Text
+'=' Name.Function
+' ' Text
+'{' Punctuation
+'\n\n ' Text
+'let' Keyword.Reserved
+' ' Text
+'pmt' Name.Variable
+' ' Text
+'=' Name.Function
+' ' Text
+'extract' Name.Function
+'(' Punctuation
+'i' Name.Variable
+'.' Name.Function
+'payment' Name.Variable
+')' Punctuation
+' \n ' Text
+'let' Keyword.Reserved
+' ' Text
+'pmtAssetIdStr' Name.Variable
+' ' Text
+'=' Name.Function
+' ' Text
+'if' Keyword.Reserved
+' ' Text
+'(' Punctuation
+'isDefined' Name.Function
+'(' Punctuation
+'pmt' Name.Variable
+'.' Name.Function
+'assetId' Name.Variable
+')' Punctuation
+')' Punctuation
+' ' Text
+'then' Keyword.Reserved
+' ' Text
+'toBase58String' Name.Function
+'(' Punctuation
+'value' Name.Function
+'(' Punctuation
+'pmt' Name.Variable
+'.' Name.Function
+'assetId' Name.Variable
+')' Punctuation
+')' Punctuation
+' ' Text
+'else' Keyword.Reserved
+' ' Text
+'"' Literal.String
+'W' Literal.String
+'A' Literal.String
+'V' Literal.String
+'E' Literal.String
+'S' Literal.String
+'"' Literal.String
+'\n ' Text
+'let' Keyword.Reserved
+' ' Text
+'callerAddressStr' Name.Variable
+' ' Text
+'=' Name.Function
+' ' Text
+'i' Name.Variable
+'.' Name.Function
+'caller' Name.Variable
+'.' Name.Function
+'bytes' Name.Variable
+'.' Name.Function
+'toBase58String' Name.Function
+'(' Punctuation
+')' Punctuation
+'\n\n ' Text
+'let' Keyword.Reserved
+' ' Text
+'endHeight' Name.Variable
+' ' Text
+'=' Name.Function
+' ' Text
+'getIntegerValue' Name.Function
+'(' Punctuation
+'this' Name.Function
+',' Punctuation
+' ' Text
+'auctionId' Name.Variable
+')' Punctuation
+'\n ' Text
+'let' Keyword.Reserved
+' ' Text
+'organizer' Name.Variable
+' ' Text
+'=' Name.Function
+' ' Text
+'getStringValue' Name.Function
+'(' Punctuation
+'this' Name.Function
+',' Punctuation
+' ' Text
+'auctionId' Name.Variable
+' ' Text
+'+' Name.Function
+' ' Text
+'"' Literal.String
+'_' Literal.String
+'o' Literal.String
+'r' Literal.String
+'g' Literal.String
+'a' Literal.String
+'n' Literal.String
+'i' Literal.String
+'z' Literal.String
+'e' Literal.String
+'r' Literal.String
+'"' Literal.String
+')' Punctuation
+'\n ' Text
+'let' Keyword.Reserved
+' ' Text
+'winner' Name.Variable
+' ' Text
+'=' Name.Function
+' ' Text
+'getString' Name.Function
+'(' Punctuation
+'this' Name.Function
+',' Punctuation
+' ' Text
+'auctionId' Name.Variable
+' ' Text
+'+' Name.Function
+' ' Text
+'"' Literal.String
+'_' Literal.String
+'w' Literal.String
+'i' Literal.String
+'n' Literal.String
+'n' Literal.String
+'e' Literal.String
+'r' Literal.String
+'"' Literal.String
+')' Punctuation
+'\n ' Text
+'let' Keyword.Reserved
+' ' Text
+'lotAssetId' Name.Variable
+' ' Text
+'=' Name.Function
+' ' Text
+'getStringValue' Name.Function
+'(' Punctuation
+'this' Name.Function
+',' Punctuation
+' ' Text
+'auctionId' Name.Variable
+' ' Text
+'+' Name.Function
+' ' Text
+'"' Literal.String
+'_' Literal.String
+'l' Literal.String
+'o' Literal.String
+'t' Literal.String
+'_' Literal.String
+'a' Literal.String
+'s' Literal.String
+'s' Literal.String
+'e' Literal.String
+'t' Literal.String
+'I' Literal.String
+'d' Literal.String
+'"' Literal.String
+')' Punctuation
+'\n ' Text
+'let' Keyword.Reserved
+' ' Text
+'lotAmount' Name.Variable
+' ' Text
+'=' Name.Function
+' ' Text
+'getIntegerValue' Name.Function
+'(' Punctuation
+'this' Name.Function
+',' Punctuation
+' ' Text
+'auctionId' Name.Variable
+' ' Text
+'+' Name.Function
+' ' Text
+'"' Literal.String
+'_' Literal.String
+'l' Literal.String
+'o' Literal.String
+'t' Literal.String
+'_' Literal.String
+'a' Literal.String
+'m' Literal.String
+'o' Literal.String
+'u' Literal.String
+'n' Literal.String
+'t' Literal.String
+'"' Literal.String
+')' Punctuation
+'\n ' Text
+'let' Keyword.Reserved
+' ' Text
+'priceAssetId' Name.Variable
+' ' Text
+'=' Name.Function
+' ' Text
+'getStringValue' Name.Function
+'(' Punctuation
+'this' Name.Function
+',' Punctuation
+' ' Text
+'auctionId' Name.Variable
+' ' Text
+'+' Name.Function
+' ' Text
+'"' Literal.String
+'_' Literal.String
+'p' Literal.String
+'r' Literal.String
+'i' Literal.String
+'c' Literal.String
+'e' Literal.String
+'A' Literal.String
+'s' Literal.String
+'s' Literal.String
+'e' Literal.String
+'t' Literal.String
+'I' Literal.String
+'d' Literal.String
+'"' Literal.String
+')' Punctuation
+'\n ' Text
+'let' Keyword.Reserved
+' ' Text
+'winAmount' Name.Variable
+' ' Text
+'=' Name.Function
+' ' Text
+'getIntegerValue' Name.Function
+'(' Punctuation
+'this' Name.Function
+',' Punctuation
+' ' Text
+'auctionId' Name.Variable
+' ' Text
+'+' Name.Function
+' ' Text
+'"' Literal.String
+'_' Literal.String
+'w' Literal.String
+'i' Literal.String
+'n' Literal.String
+'A' Literal.String
+'m' Literal.String
+'o' Literal.String
+'u' Literal.String
+'n' Literal.String
+'t' Literal.String
+'"' Literal.String
+')' Punctuation
+'\n \n ' Text
+'let' Keyword.Reserved
+' ' Text
+'lotAsset' Name.Variable
+' ' Text
+'=' Name.Function
+' ' Text
+'if' Keyword.Reserved
+' ' Text
+'(' Punctuation
+'lotAssetId' Name.Variable
+' ' Text
+'==' Name.Function
+' ' Text
+'"' Literal.String
+'W' Literal.String
+'A' Literal.String
+'V' Literal.String
+'E' Literal.String
+'S' Literal.String
+'"' Literal.String
+')' Punctuation
+' ' Text
+'then' Keyword.Reserved
+' ' Text
+'unit' Name.Function
+' ' Text
+'else' Keyword.Reserved
+' ' Text
+'fromBase58String' Name.Function
+'(' Punctuation
+'lotAssetId' Name.Variable
+')' Punctuation
+'\n ' Text
+'let' Keyword.Reserved
+' ' Text
+'priceAsset' Name.Variable
+' ' Text
+'=' Name.Function
+' ' Text
+'if' Keyword.Reserved
+' ' Text
+'(' Punctuation
+'priceAssetId' Name.Variable
+' ' Text
+'==' Name.Function
+' ' Text
+'"' Literal.String
+'W' Literal.String
+'A' Literal.String
+'V' Literal.String
+'E' Literal.String
+'S' Literal.String
+'"' Literal.String
+' ' Text
+'||' Name.Function
+' ' Text
+'priceAssetId' Name.Variable
+' ' Text
+'==' Name.Function
+' ' Text
+'"' Literal.String
+'"' Literal.String
+')' Punctuation
+' ' Text
+'then' Keyword.Reserved
+' ' Text
+'unit' Name.Function
+' ' Text
+'else' Keyword.Reserved
+' ' Text
+'fromBase58String' Name.Function
+'(' Punctuation
+'priceAssetId' Name.Variable
+')' Punctuation
+'\n ' Text
+'let' Keyword.Reserved
+' ' Text
+'winnerAddr' Name.Variable
+' ' Text
+'=' Name.Function
+' ' Text
+'addressFromStringValue' Name.Function
+'(' Punctuation
+'value' Name.Function
+'(' Punctuation
+'winner' Name.Variable
+')' Punctuation
+')' Punctuation
+'\n ' Text
+'let' Keyword.Reserved
+' ' Text
+'organizerAddr' Name.Variable
+' ' Text
+'=' Name.Function
+' ' Text
+'addressFromStringValue' Name.Function
+'(' Punctuation
+'value' Name.Function
+'(' Punctuation
+'organizer' Name.Variable
+')' Punctuation
+')' Punctuation
+'\n\n ' Text
+'let' Keyword.Reserved
+' ' Text
+'betAmount' Name.Variable
+' ' Text
+'=' Name.Function
+' ' Text
+'getInteger' Name.Function
+'(' Punctuation
+'this' Name.Function
+',' Punctuation
+' ' Text
+'auctionId' Name.Variable
+' ' Text
+'+' Name.Function
+' ' Text
+'"' Literal.String
+'_' Literal.String
+'b' Literal.String
+'i' Literal.String
+'d' Literal.String
+'d' Literal.String
+'e' Literal.String
+'r' Literal.String
+'_' Literal.String
+'"' Literal.String
+' ' Text
+'+' Name.Function
+' ' Text
+'callerAddressStr' Name.Variable
+')' Punctuation
+'\n\n ' Text
+'if' Keyword.Reserved
+' ' Text
+'(' Punctuation
+'lastBlock' Name.Function
+'.' Name.Function
+'height' Name.Function
+' ' Text
+'<' Name.Function
+' ' Text
+'endHeight' Name.Variable
+')' Punctuation
+' ' Text
+'then' Keyword.Reserved
+' \n ' Text
+'throw' Name.Function
+'(' Punctuation
+'"' Literal.String
+'A' Literal.String
+'u' Literal.String
+'c' Literal.String
+'t' Literal.String
+'i' Literal.String
+'o' Literal.String
+'n' Literal.String
+' ' Literal.String
+'i' Literal.String
+'s' Literal.String
+' ' Literal.String
+'n' Literal.String
+'o' Literal.String
+'t' Literal.String
+' ' Literal.String
+'f' Literal.String
+'i' Literal.String
+'n' Literal.String
+'i' Literal.String
+'s' Literal.String
+'h' Literal.String
+'e' Literal.String
+'d' Literal.String
+' ' Literal.String
+'y' Literal.String
+'e' Literal.String
+'t' Literal.String
+'"' Literal.String
+')' Punctuation
+' ' Text
+'else' Keyword.Reserved
+'\n \n ' Text
+'if' Keyword.Reserved
+' ' Text
+'(' Punctuation
+'!' Name.Function
+'isDefined' Name.Function
+'(' Punctuation
+'winner' Name.Variable
+')' Punctuation
+')' Punctuation
+' ' Text
+'then' Keyword.Reserved
+' ' Text
+'{' Punctuation
+'\n ' Text
+'if' Keyword.Reserved
+' ' Text
+'(' Punctuation
+'isDefined' Name.Function
+'(' Punctuation
+'getString' Name.Function
+'(' Punctuation
+'this' Name.Function
+',' Punctuation
+' ' Text
+'auctionId' Name.Variable
+' ' Text
+'+' Name.Function
+' ' Text
+'"' Literal.String
+'_' Literal.String
+'l' Literal.String
+'o' Literal.String
+'t' Literal.String
+'_' Literal.String
+'p' Literal.String
+'a' Literal.String
+'s' Literal.String
+'s' Literal.String
+'e' Literal.String
+'d' Literal.String
+'"' Literal.String
+')' Punctuation
+')' Punctuation
+')' Punctuation
+' ' Text
+'then' Keyword.Reserved
+'\n ' Text
+'throw' Name.Function
+'(' Punctuation
+'"' Literal.String
+'O' Literal.String
+'r' Literal.String
+'g' Literal.String
+'a' Literal.String
+'n' Literal.String
+'i' Literal.String
+'z' Literal.String
+'e' Literal.String
+'r' Literal.String
+' ' Literal.String
+'h' Literal.String
+'a' Literal.String
+'s' Literal.String
+' ' Literal.String
+'a' Literal.String
+'l' Literal.String
+'r' Literal.String
+'e' Literal.String
+'a' Literal.String
+'d' Literal.String
+'y' Literal.String
+' ' Literal.String
+'g' Literal.String
+'o' Literal.String
+'t' Literal.String
+' ' Literal.String
+'h' Literal.String
+'i' Literal.String
+'s' Literal.String
+' ' Literal.String
+'l' Literal.String
+'o' Literal.String
+'t' Literal.String
+' ' Literal.String
+'b' Literal.String
+'a' Literal.String
+'c' Literal.String
+'k' Literal.String
+'"' Literal.String
+')' Punctuation
+'\n ' Text
+'else' Keyword.Reserved
+'\n ' Text
+'ScriptResult' Keyword.Type
+'(' Punctuation
+'\n ' Text
+'WriteSet' Keyword.Type
+'(' Punctuation
+'[' Punctuation
+'DataEntry' Keyword.Type
+'(' Punctuation
+'auctionId' Name.Variable
+' ' Text
+'+' Name.Function
+' ' Text
+'"' Literal.String
+'_' Literal.String
+'l' Literal.String
+'o' Literal.String
+'t' Literal.String
+'_' Literal.String
+'p' Literal.String
+'a' Literal.String
+'s' Literal.String
+'s' Literal.String
+'e' Literal.String
+'d' Literal.String
+'"' Literal.String
+',' Punctuation
+' ' Text
+'organizer' Name.Variable
+')' Punctuation
+']' Punctuation
+')' Punctuation
+',' Punctuation
+'\n ' Text
+'TransferSet' Keyword.Type
+'(' Punctuation
+'[' Punctuation
+'ScriptTransfer' Keyword.Type
+'(' Punctuation
+'organizerAddr' Name.Variable
+',' Punctuation
+' ' Text
+'lotAmount' Name.Variable
+',' Punctuation
+' ' Text
+'lotAsset' Name.Variable
+')' Punctuation
+']' Punctuation
+')' Punctuation
+'\n ' Text
+')' Punctuation
+'\n ' Text
+'}' Punctuation
+'\n ' Text
+'else' Keyword.Reserved
+' ' Text
+'{' Punctuation
+'\n ' Text
+"# Lot -> winner, winner's bet -> organizer" Comment.Single
+'\n ' Text
+'if' Keyword.Reserved
+' ' Text
+'(' Punctuation
+'isDefined' Name.Function
+'(' Punctuation
+'getString' Name.Function
+'(' Punctuation
+'this' Name.Function
+',' Punctuation
+' ' Text
+'auctionId' Name.Variable
+' ' Text
+'+' Name.Function
+' ' Text
+'"' Literal.String
+'_' Literal.String
+'l' Literal.String
+'o' Literal.String
+'t' Literal.String
+'_' Literal.String
+'p' Literal.String
+'a' Literal.String
+'s' Literal.String
+'s' Literal.String
+'e' Literal.String
+'d' Literal.String
+'"' Literal.String
+')' Punctuation
+')' Punctuation
+')' Punctuation
+' ' Text
+'then' Keyword.Reserved
+'\n ' Text
+'throw' Name.Function
+'(' Punctuation
+'"' Literal.String
+'L' Literal.String
+'o' Literal.String
+'t' Literal.String
+' ' Literal.String
+'i' Literal.String
+'s' Literal.String
+' ' Literal.String
+'a' Literal.String
+'l' Literal.String
+'r' Literal.String
+'e' Literal.String
+'a' Literal.String
+'d' Literal.String
+'y' Literal.String
+' ' Literal.String
+'p' Literal.String
+'a' Literal.String
+'s' Literal.String
+'s' Literal.String
+'e' Literal.String
+'d' Literal.String
+' ' Literal.String
+'t' Literal.String
+'o' Literal.String
+' ' Literal.String
+'t' Literal.String
+'h' Literal.String
+'e' Literal.String
+' ' Literal.String
+'w' Literal.String
+'i' Literal.String
+'n' Literal.String
+'n' Literal.String
+'e' Literal.String
+'r' Literal.String
+',' Literal.String
+' ' Literal.String
+'a' Literal.String
+'n' Literal.String
+'d' Literal.String
+' ' Literal.String
+'o' Literal.String
+'r' Literal.String
+'g' Literal.String
+'a' Literal.String
+'n' Literal.String
+'i' Literal.String
+'z' Literal.String
+'e' Literal.String
+'r' Literal.String
+' ' Literal.String
+'g' Literal.String
+'o' Literal.String
+'t' Literal.String
+' ' Literal.String
+'h' Literal.String
+'i' Literal.String
+'s' Literal.String
+' ' Literal.String
+'r' Literal.String
+'e' Literal.String
+'w' Literal.String
+'a' Literal.String
+'r' Literal.String
+'d' Literal.String
+'"' Literal.String
+')' Punctuation
+'\n ' Text
+'else' Keyword.Reserved
+'\n ' Text
+'ScriptResult' Keyword.Type
+'(' Punctuation
+'\n ' Text
+'WriteSet' Keyword.Type
+'(' Punctuation
+'[' Punctuation
+'DataEntry' Keyword.Type
+'(' Punctuation
+'auctionId' Name.Variable
+' ' Text
+'+' Name.Function
+' ' Text
+'"' Literal.String
+'_' Literal.String
+'l' Literal.String
+'o' Literal.String
+'t' Literal.String
+'_' Literal.String
+'p' Literal.String
+'a' Literal.String
+'s' Literal.String
+'s' Literal.String
+'e' Literal.String
+'d' Literal.String
+'"' Literal.String
+',' Punctuation
+' ' Text
+'winnerAddr' Name.Variable
+'.' Name.Function
+'bytes' Name.Variable
+'.' Name.Function
+'toBase58String' Name.Function
+'(' Punctuation
+')' Punctuation
+')' Punctuation
+']' Punctuation
+')' Punctuation
+',' Punctuation
+'\n ' Text
+'TransferSet' Keyword.Type
+'(' Punctuation
+'[' Punctuation
+'ScriptTransfer' Keyword.Type
+'(' Punctuation
+'winnerAddr' Name.Variable
+',' Punctuation
+' ' Text
+'lotAmount' Name.Variable
+',' Punctuation
+' ' Text
+'lotAsset' Name.Variable
+')' Punctuation
+',' Punctuation
+'\n ' Text
+'ScriptTransfer' Keyword.Type
+'(' Punctuation
+'organizerAddr' Name.Variable
+',' Punctuation
+' ' Text
+'winAmount' Name.Variable
+',' Punctuation
+' ' Text
+'priceAsset' Name.Variable
+')' Punctuation
+']' Punctuation
+')' Punctuation
+'\n ' Text
+')' Punctuation
+'\n ' Text
+'}' Punctuation
+'\n' Text
+
+'}' Punctuation
+'\n' Text