tx · RAmssaabUeLXsaxrHGVCDi8KW232foFZkMLGdRVzzAj
3MtZ3wui5dwh7umK1QLmJpzuAFXt6G3UPfQ: -0.01000000 Waves
2023.09.27 14:29 [2773755] smart account 3MtZ3wui5dwh7umK1QLmJpzuAFXt6G3UPfQ > SELF 0.00000000 Waves
{
"type": 13,
"id": "RAmssaabUeLXsaxrHGVCDi8KW232foFZkMLGdRVzzAj",
"fee": 1000000,
"feeAssetId": null,
"timestamp": 1695814178723,
"version": 2,
"chainId": 84,
"sender": "3MtZ3wui5dwh7umK1QLmJpzuAFXt6G3UPfQ",
"senderPublicKey": "EbnhRan4ZNByGXwzMJdAbf2qQ1RGzScQexDRzbejozLh",
"proofs": [
"2adU6Njk3moc5f5DsStcpu44eiL4NLhu1Vj57V7mLJnZtR6Bxj373hehd1Rsx5WFwcy3nhyuMBQnvXPzvBwK7ZpM"
],
"script": "base64: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",
"height": 2773755,
"applicationStatus": "succeeded",
"spentComplexity": 0
}
View: original | compacted
Prev: FZceuMJ1FieKqe9sjFXW4fcDQoPJVDYX4f2RZs8uvKr9
Next: HcjLFpck53Kh8p1Pswy5RrUAa9S8bCiSDyDu1mukw1QA
Diff:
Old | New | | Differences |
---|
11 | 11 | | let stakingAsset1Id = calculateAssetId(stakingAsset1) |
---|
12 | 12 | | let stakingAsset2 = Issue("StakingAsset_2", "", 1000000000000000000, 8, false, unit, 0) |
---|
13 | 13 | | let stakingAsset2Id = calculateAssetId(stakingAsset1) |
---|
14 | | - | let rewardFirstAsset = Issue("RewardFirstAsset", "", 1000000000000000000, 8, false, unit, 0) |
---|
| 14 | + | let rewardFirstAsset = Issue("RewardAsset_1", "", 1000000000000000000, 8, false, unit, 0) |
---|
15 | 15 | | let rewardFirstAssetId = calculateAssetId(rewardFirstAsset) |
---|
16 | | - | let rewardSecondAsset = Issue("RewardSecondAsset", "", 1000000000000000000, 8, false, unit, 0) |
---|
| 16 | + | let rewardSecondAsset = Issue("RewardAsset_2", "", 1000000000000000000, 8, false, unit, 0) |
---|
17 | 17 | | let rewardSecondAssetId = calculateAssetId(rewardSecondAsset) |
---|
18 | | - | [stakingAsset1, stakingAsset2, rewardFirstAsset, rewardSecondAsset, StringEntry("staking_asset_1", toBase58String(stakingAsset1Id)), StringEntry("staking_asset_2", toBase58String(stakingAsset2Id)), StringEntry("reward_first_asset", toBase58String(rewardFirstAssetId)), StringEntry("reward_second_asset", toBase58String(rewardSecondAssetId))] |
---|
| 18 | + | [stakingAsset1, stakingAsset2, rewardFirstAsset, rewardSecondAsset, StringEntry("staking_asset_1", toBase58String(stakingAsset1Id)), StringEntry("staking_asset_2", toBase58String(stakingAsset2Id)), StringEntry("reward_asset_1", toBase58String(rewardFirstAssetId)), StringEntry("reward_asset_2", toBase58String(rewardSecondAssetId))] |
---|
19 | 19 | | } |
---|
20 | 20 | | |
---|
21 | 21 | | |
---|
|
28 | 28 | | else if ((assetId == 1)) |
---|
29 | 29 | | then [ScriptTransfer(Address(i.caller.bytes), 10000000000000, fromBase58String(getStringValue("staking_asset_2")))] |
---|
30 | 30 | | else if ((assetId == 2)) |
---|
31 | | - | then [ScriptTransfer(Address(i.caller.bytes), 10000000000000, fromBase58String(getStringValue("reward_first_asset")))] |
---|
| 31 | + | then [ScriptTransfer(Address(i.caller.bytes), 10000000000000, fromBase58String(getStringValue("reward_asset_1")))] |
---|
32 | 32 | | else if ((assetId == 3)) |
---|
33 | | - | then [ScriptTransfer(Address(i.caller.bytes), 10000000000000, fromBase58String(getStringValue("reward_second_asset")))] |
---|
| 33 | + | then [ScriptTransfer(Address(i.caller.bytes), 10000000000000, fromBase58String(getStringValue("reward_asset_2")))] |
---|
34 | 34 | | else nil |
---|
35 | 35 | | |
---|
36 | 36 | | |
---|
Full:
Old | New | | Differences |
---|
1 | 1 | | {-# STDLIB_VERSION 5 #-} |
---|
2 | 2 | | {-# SCRIPT_TYPE ACCOUNT #-} |
---|
3 | 3 | | {-# CONTENT_TYPE DAPP #-} |
---|
4 | 4 | | let isConstructedKey = "is_constructed" |
---|
5 | 5 | | |
---|
6 | 6 | | @Callable(i) |
---|
7 | 7 | | func constructor () = if (isDefined(getBoolean(isConstructedKey))) |
---|
8 | 8 | | then throw("Constructor can be called one time") |
---|
9 | 9 | | else { |
---|
10 | 10 | | let stakingAsset1 = Issue("StakingAsset_1", "", 1000000000000000000, 8, false, unit, 0) |
---|
11 | 11 | | let stakingAsset1Id = calculateAssetId(stakingAsset1) |
---|
12 | 12 | | let stakingAsset2 = Issue("StakingAsset_2", "", 1000000000000000000, 8, false, unit, 0) |
---|
13 | 13 | | let stakingAsset2Id = calculateAssetId(stakingAsset1) |
---|
14 | | - | let rewardFirstAsset = Issue("RewardFirstAsset", "", 1000000000000000000, 8, false, unit, 0) |
---|
| 14 | + | let rewardFirstAsset = Issue("RewardAsset_1", "", 1000000000000000000, 8, false, unit, 0) |
---|
15 | 15 | | let rewardFirstAssetId = calculateAssetId(rewardFirstAsset) |
---|
16 | | - | let rewardSecondAsset = Issue("RewardSecondAsset", "", 1000000000000000000, 8, false, unit, 0) |
---|
| 16 | + | let rewardSecondAsset = Issue("RewardAsset_2", "", 1000000000000000000, 8, false, unit, 0) |
---|
17 | 17 | | let rewardSecondAssetId = calculateAssetId(rewardSecondAsset) |
---|
18 | | - | [stakingAsset1, stakingAsset2, rewardFirstAsset, rewardSecondAsset, StringEntry("staking_asset_1", toBase58String(stakingAsset1Id)), StringEntry("staking_asset_2", toBase58String(stakingAsset2Id)), StringEntry("reward_first_asset", toBase58String(rewardFirstAssetId)), StringEntry("reward_second_asset", toBase58String(rewardSecondAssetId))] |
---|
| 18 | + | [stakingAsset1, stakingAsset2, rewardFirstAsset, rewardSecondAsset, StringEntry("staking_asset_1", toBase58String(stakingAsset1Id)), StringEntry("staking_asset_2", toBase58String(stakingAsset2Id)), StringEntry("reward_asset_1", toBase58String(rewardFirstAssetId)), StringEntry("reward_asset_2", toBase58String(rewardSecondAssetId))] |
---|
19 | 19 | | } |
---|
20 | 20 | | |
---|
21 | 21 | | |
---|
22 | 22 | | |
---|
23 | 23 | | @Callable(i) |
---|
24 | 24 | | func request (assetId) = if (!(isDefined(getBoolean(isConstructedKey)))) |
---|
25 | 25 | | then throw("Call constructor first") |
---|
26 | 26 | | else if ((assetId == 0)) |
---|
27 | 27 | | then [ScriptTransfer(Address(i.caller.bytes), 10000000000000, fromBase58String(getStringValue("staking_asset_1")))] |
---|
28 | 28 | | else if ((assetId == 1)) |
---|
29 | 29 | | then [ScriptTransfer(Address(i.caller.bytes), 10000000000000, fromBase58String(getStringValue("staking_asset_2")))] |
---|
30 | 30 | | else if ((assetId == 2)) |
---|
31 | | - | then [ScriptTransfer(Address(i.caller.bytes), 10000000000000, fromBase58String(getStringValue("reward_first_asset")))] |
---|
| 31 | + | then [ScriptTransfer(Address(i.caller.bytes), 10000000000000, fromBase58String(getStringValue("reward_asset_1")))] |
---|
32 | 32 | | else if ((assetId == 3)) |
---|
33 | | - | then [ScriptTransfer(Address(i.caller.bytes), 10000000000000, fromBase58String(getStringValue("reward_second_asset")))] |
---|
| 33 | + | then [ScriptTransfer(Address(i.caller.bytes), 10000000000000, fromBase58String(getStringValue("reward_asset_2")))] |
---|
34 | 34 | | else nil |
---|
35 | 35 | | |
---|
36 | 36 | | |
---|
37 | 37 | | @Verifier(tx) |
---|
38 | 38 | | func verify () = sigVerify(tx.bodyBytes, tx.proofs[0], tx.senderPublicKey) |
---|
39 | 39 | | |
---|