UNPKG

@ledgerhq/coin-canton

Version:
22 lines 1.08 kB
import { signTransaction } from "../common-logic/transaction/sign"; import { prepareTransferInstruction, submitTransferInstruction } from "../network/gateway"; import { validateTopology } from "./getTransactionStatus"; import { isCantonAccount } from "./serialization"; export const buildTransferInstruction = (signerContext) => async (currency, deviceId, account, partyId, contractId, type, reason) => { if (isCantonAccount(account)) { const topologyError = await validateTopology(account); if (topologyError) { throw topologyError; } } const preparedTransaction = await prepareTransferInstruction(currency, partyId, { type, contract_id: contractId, ...(reason ? { reason } : {}), }); const { signature } = await signerContext(deviceId, async (signer) => { return await signTransaction(signer, account.freshAddressPath, preparedTransaction); }); await submitTransferInstruction(currency, partyId, preparedTransaction.serialized, signature); }; //# sourceMappingURL=acceptOffer.js.map