tx · BEpaUkw1HzzLUSRsGAdjNB3rtqqxigVvsPwpqDtnNWhj

3N2qeokoCMkNrCkh5EFfZMFYN7Krun5ZFxJ:  -0.03200000 Waves

2022.05.31 21:56 [2076222] smart account 3N2qeokoCMkNrCkh5EFfZMFYN7Krun5ZFxJ > SELF 0.00000000 Waves

{ "type": 13, "id": "BEpaUkw1HzzLUSRsGAdjNB3rtqqxigVvsPwpqDtnNWhj", "fee": 3200000, "feeAssetId": null, "timestamp": 1654023399899, "version": 2, "chainId": 84, "sender": "3N2qeokoCMkNrCkh5EFfZMFYN7Krun5ZFxJ", "senderPublicKey": "C5oAVhhdz5YuSqTdvGaLe6D6KBEYTJ2rfei5E9ygFzDj", "proofs": [ "34DDuGq8whBXScVJUV2cGKFj7UCEF7EmYhEw7RuHMN6imv732naaZUFAniiqtTqyi1c42VCJGTE5rPys4yUc3xyv" ], "script": "base64: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", "height": 2076222, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: FTDM9Tpfi1VpGWJrNmLJGE8aHsg6bvvA4dZBPepZRA7i Next: 5HJpU1DTC1iLU3fQKga6uhJmWCptDtJxYNnkMUpG13SM Full:
OldNewDifferences
11 {-# STDLIB_VERSION 5 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 let k_insurance = "k_insurance"
55
66 let k_whitelistt = "k_whitelist"
77
88 let ADMIN_ADDRESS = Address(base58'3Mz1td457M34EA7wU1swt2DBQDZEDpsMtgE')
99
1010 let ADMIN_PUBLIC_KEY = base58'DKoVYQRirYnan4ojiUkT12oE6XmpyNoht3ZcecUpgLsf'
1111
1212 let USDN = base58'HezsdQuRDtzksAYUy97gfhKy7Z1NW2uXYSHA3bgqenNZ'
1313
1414 let USDN_STAKING = Address(base58'3N9LkJahTMx41wGhSxLS42prCZtRCp4dhTs')
1515
1616 func toCompositeKey (_key,_address) = ((_key + "_") + _address)
1717
1818
1919 func insurance () = valueOrElse(getInteger(this, k_insurance), 0)
2020
2121
2222 func isWhitelist (_address) = valueOrElse(getBoolean(this, toCompositeKey(k_whitelistt, _address)), false)
2323
2424
2525 func updateInsurance (i) = [IntegerEntry(k_insurance, i)]
2626
2727
2828 @Callable(i)
2929 func addWhitelist (_addresss) = if ((i.caller != ADMIN_ADDRESS))
3030 then throw("Invalid addWhitelist params")
3131 else [BooleanEntry(toCompositeKey(k_whitelistt, _addresss), true)]
3232
3333
3434
3535 @Callable(i)
3636 func removeWhitelist (_addresss) = if ((i.caller != ADMIN_ADDRESS))
3737 then throw("Invalid addWhitelist params")
3838 else [BooleanEntry(toCompositeKey(k_whitelistt, _addresss), false)]
3939
4040
4141
4242 @Callable(i)
4343 func withdraw (_amount) = if (if (!(isWhitelist(toString(i.caller))))
4444 then true
4545 else (_amount > insurance()))
4646 then throw("Invalid withdraw params")
4747 else {
4848 let unstake = invoke(USDN_STAKING, "unlockNeutrino", [_amount, toBase58String(USDN)], nil)
4949 if ((unstake == unstake))
5050 then (updateInsurance((insurance() - _amount)) ++ [ScriptTransfer(i.caller, _amount, USDN)])
5151 else throw("Strict value is not equal to itself.")
5252 }
5353
5454
5555
5656 @Callable(i)
5757 func deposit () = {
5858 let _amount = i.payments[0].amount
5959 if (if ((i.payments[0].assetId != USDN))
6060 then true
6161 else if (!(isWhitelist(toString(i.caller))))
6262 then (i.caller != ADMIN_ADDRESS)
6363 else false)
6464 then throw("Invalid deposit params")
6565 else {
6666 let stake = invoke(USDN_STAKING, "lockNeutrino", nil, [AttachedPayment(USDN, _amount)])
6767 if ((stake == stake))
6868 then updateInsurance((insurance() + _amount))
6969 else throw("Strict value is not equal to itself.")
7070 }
7171 }
7272
7373
7474 @Verifier(tx)
7575 func verify () = sigVerify(tx.bodyBytes, tx.proofs[0], ADMIN_PUBLIC_KEY)
7676

github/deemru/w8io/c3f4982 
20.92 ms