【发布时间】:2021-11-30 22:53:28
【问题描述】:
我需要使用 Plutus 制作智能合约,将金额不均等地分配给 2 个钱包,以便我可以为每笔交易定义自定义费用。我正在使用this documentation。我需要的是,我想将金额分成两个不相等的金额,并将每个金额发送到一个单独的钱包。假设用户想从他的钱包 A 向钱包 B 发送 7 美元。我之前为每笔交易定义的额外费用是 2 美元。使用下面的代码块,我如何将 9$ 分成 7$ 和 2$,然后将它们发送到钱包 B 和 C(C 是我的钱包)。
validateSplit :: SplitData -> () -> ScriptContext -> Bool
validateSplit SplitData{recipient1, recipient2, amount} _ ScriptContext{scriptContextTxInfo} =
let half = Ada.divide amount 2 in
Ada.fromValue (valuePaidTo scriptContextTxInfo recipient1) >= half &&
Ada.fromValue (valuePaidTo scriptContextTxInfo recipient2) >= (amount - half)
【问题讨论】:
标签: smartcontracts fee plutus