tx · CxdkqHTV6sbnjLpnm2mySezyiY4eURoB5PQDmFsUxvYP

3PCUJBpMXtqYKxMiDtKcTeEQcKukfMeoctR:  -0.01400000 Waves

2021.10.07 12:55 [2800664] smart account 3PCUJBpMXtqYKxMiDtKcTeEQcKukfMeoctR > SELF 0.00000000 Waves

{ "type": 13, "id": "CxdkqHTV6sbnjLpnm2mySezyiY4eURoB5PQDmFsUxvYP", "fee": 1400000, "feeAssetId": null, "timestamp": 1633600558922, "version": 2, "chainId": 87, "sender": "3PCUJBpMXtqYKxMiDtKcTeEQcKukfMeoctR", "senderPublicKey": "HkhM1YChRvLycTwNa1tmzYCRGFQsFjSmFwad9krdRUYo", "proofs": [ "3uXerDdBGKf1GWxV3AenhTPwCCLiEq7jUUw3FCw5X3tKHkHmVYZ2C3GS46YrCos41Wpkc476kPNKBRsPvUsLVrjK" ], "script": "base64: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", "height": 2800664, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: DsHB3eRcLa5R3JgdTcPw4D7wwVErp3n8VJP986oBkrm7 Next: 4pxkA1sJcFLs8sfWoZWTLAaiqDHUgQNxMmSWtVY5zxHh Diff:
OldNewDifferences
33 {-# CONTENT_TYPE DAPP #-}
44 let btcPathContracts = [Address(base58'3P8FVZgAJUAq32UEZtTw84qS4zLqEREiEiP'), Address(base58'3PNVFWopwCD9CgGXkpYWEY94oQ5XCAEXBmQ')]
55
6-let btcPathTokens = [base58'8LQW8f7P5d5PZM7GtZEBgaqRPGSzS3DfPuiXrURJ4AJS', unit, base58'C1iWsKGqLwjHUndiQ7iXpdmPum9PeCDFfyXBdJJosDRS']
6+let btcPathTokens = [base58'8LQW8f7P5d5PZM7GtZEBgaqRPGSzS3DfPuiXrURJ4AJS', base58'', base58'C1iWsKGqLwjHUndiQ7iXpdmPum9PeCDFfyXBdJJosDRS']
77
88 func getPath (assetId) = if ((assetId == base58'8LQW8f7P5d5PZM7GtZEBgaqRPGSzS3DfPuiXrURJ4AJS'))
99 then $Tuple2(btcPathContracts, btcPathTokens)
1010 else throw("incorrect asset attached to payment")
11+
12+
13+func getBalance (assetId) = match assetId {
14+ case x: Unit =>
15+ wavesBalance(this).available
16+ case _ =>
17+ assetBalance(this, value(assetId))
18+}
1119
1220
1321 @Callable(i)
1523 let pmt = i.payments[0]
1624 let asset1Amount = pmt.amount
1725 let assetId = value(pmt.assetId)
18- let $t0690740 = getPath(assetId)
19- let pathContracts = $t0690740._1
20- let pathAssets = $t0690740._2
21- let balance2Before = assetBalance(this, value(pathAssets[1]))
26+ let $t0864914 = getPath(assetId)
27+ let pathContracts = $t0864914._1
28+ let pathAssets = $t0864914._2
29+ let balance2Before = getBalance(pathAssets[1])
2230 if ((balance2Before == balance2Before))
2331 then {
2432 let i1 = invoke(pathContracts[0], "exchange", [0], [AttachedPayment(pathAssets[0], asset1Amount)])
2533 if ((i1 == i1))
2634 then {
27- let balance2After = assetBalance(this, value(pathAssets[1]))
35+ let balance2After = getBalance(pathAssets[1])
2836 if ((balance2After == balance2After))
2937 then {
3038 let asset2Amount = (balance2After - balance2Before)
31- let balance3Before = assetBalance(this, value(pathAssets[2]))
39+ let balance3Before = getBalance(pathAssets[2])
3240 if ((balance3Before == balance3Before))
3341 then {
3442 let i2 = invoke(pathContracts[1], "exchange", [0], [AttachedPayment(pathAssets[1], asset2Amount)])
3543 if ((i2 == i2))
3644 then {
37- let balance3After = assetBalance(this, value(pathAssets[2]))
45+ let balance3After = getBalance(pathAssets[2])
3846 if ((balance3After == balance3After))
3947 then {
4048 let asset3Amount = (balance3After - balance3Before)
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 5 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 let btcPathContracts = [Address(base58'3P8FVZgAJUAq32UEZtTw84qS4zLqEREiEiP'), Address(base58'3PNVFWopwCD9CgGXkpYWEY94oQ5XCAEXBmQ')]
55
6-let btcPathTokens = [base58'8LQW8f7P5d5PZM7GtZEBgaqRPGSzS3DfPuiXrURJ4AJS', unit, base58'C1iWsKGqLwjHUndiQ7iXpdmPum9PeCDFfyXBdJJosDRS']
6+let btcPathTokens = [base58'8LQW8f7P5d5PZM7GtZEBgaqRPGSzS3DfPuiXrURJ4AJS', base58'', base58'C1iWsKGqLwjHUndiQ7iXpdmPum9PeCDFfyXBdJJosDRS']
77
88 func getPath (assetId) = if ((assetId == base58'8LQW8f7P5d5PZM7GtZEBgaqRPGSzS3DfPuiXrURJ4AJS'))
99 then $Tuple2(btcPathContracts, btcPathTokens)
1010 else throw("incorrect asset attached to payment")
11+
12+
13+func getBalance (assetId) = match assetId {
14+ case x: Unit =>
15+ wavesBalance(this).available
16+ case _ =>
17+ assetBalance(this, value(assetId))
18+}
1119
1220
1321 @Callable(i)
1422 func buyEgg () = {
1523 let pmt = i.payments[0]
1624 let asset1Amount = pmt.amount
1725 let assetId = value(pmt.assetId)
18- let $t0690740 = getPath(assetId)
19- let pathContracts = $t0690740._1
20- let pathAssets = $t0690740._2
21- let balance2Before = assetBalance(this, value(pathAssets[1]))
26+ let $t0864914 = getPath(assetId)
27+ let pathContracts = $t0864914._1
28+ let pathAssets = $t0864914._2
29+ let balance2Before = getBalance(pathAssets[1])
2230 if ((balance2Before == balance2Before))
2331 then {
2432 let i1 = invoke(pathContracts[0], "exchange", [0], [AttachedPayment(pathAssets[0], asset1Amount)])
2533 if ((i1 == i1))
2634 then {
27- let balance2After = assetBalance(this, value(pathAssets[1]))
35+ let balance2After = getBalance(pathAssets[1])
2836 if ((balance2After == balance2After))
2937 then {
3038 let asset2Amount = (balance2After - balance2Before)
31- let balance3Before = assetBalance(this, value(pathAssets[2]))
39+ let balance3Before = getBalance(pathAssets[2])
3240 if ((balance3Before == balance3Before))
3341 then {
3442 let i2 = invoke(pathContracts[1], "exchange", [0], [AttachedPayment(pathAssets[1], asset2Amount)])
3543 if ((i2 == i2))
3644 then {
37- let balance3After = assetBalance(this, value(pathAssets[2]))
45+ let balance3After = getBalance(pathAssets[2])
3846 if ((balance3After == balance3After))
3947 then {
4048 let asset3Amount = (balance3After - balance3Before)
4149 [ScriptTransfer(i.caller, asset3Amount, pathAssets[2])]
4250 }
4351 else throw("Strict value is not equal to itself.")
4452 }
4553 else throw("Strict value is not equal to itself.")
4654 }
4755 else throw("Strict value is not equal to itself.")
4856 }
4957 else throw("Strict value is not equal to itself.")
5058 }
5159 else throw("Strict value is not equal to itself.")
5260 }
5361 else throw("Strict value is not equal to itself.")
5462 }
5563
5664
5765 @Verifier(tx)
5866 func verify () = sigVerify(tx.bodyBytes, tx.proofs[0], tx.senderPublicKey)
5967

github/deemru/w8io/3ef1775 
38.93 ms