pub fn make_transfer_call(
keypair: Keypair,
recipient: PublicKey,
value: u64,
token_id: TokenId,
coins: Vec<OwnCoin>,
tree: MerkleTree,
output_spend_hook: Option<FuncId>,
output_user_data: Option<Base>,
mint_zkbin: ZkBinary,
mint_pk: ProvingKey,
burn_zkbin: ZkBinary,
burn_pk: ProvingKey,
half_split: bool,
) -> Result<(MoneyTransferParamsV1, TransferCallSecrets, Vec<OwnCoin>)>
Expand description
Make a simple anonymous transfer call.
keypair
: Caller’s keypairrecipient
: Recipient’s public keyvalue
: Amount that we want to send to the recipienttoken_id
: Token ID that we want to send to the recipientcoins
: Set ofOwnCoin
we’re given to use in this buildertree
: Merkle tree of coins used to create inclusion proofs- `output_spend_hook: Optional contract spend hook to use in the output, not applicable to the change
- `output_user_data: Optional user data to use in the output, not applicable to the change
mint_zkbin
:Mint_V1
zkas circuit ZkBinarymint_pk
: Proving key for theMint_V1
zk circuitburn_zkbin
:Burn_V1
zkas circuit ZkBinaryburn_pk
: Proving key for theBurn_V1
zk circuithalf_split
: Flag indicating to split the output coin into two equal halves.
Returns a tuple of:
- The actual call data
- Secret values such as blinds
- A list of the spent coins