@omni-bridge/aptos
v0.16.0
Published
Aptos transaction builder for Omni Bridge
Readme
@omni-bridge/aptos
Aptos transaction builder for the Omni Bridge SDK. Builds entry-function payloads for the omni_bridge Move package, compatible with InputEntryFunctionData from @aptos-labs/ts-sdk.
Install
npm install @omni-bridge/core @omni-bridge/aptosUsage
import { createBridge } from "@omni-bridge/core"
import { createAptosBuilder } from "@omni-bridge/aptos"
import { Account, Aptos, AptosConfig, Ed25519PrivateKey, Network } from "@aptos-labs/ts-sdk"
const bridge = createBridge({ network: "mainnet" })
const builder = createAptosBuilder({ network: "mainnet" })
const account = Account.fromPrivateKey({ privateKey: new Ed25519PrivateKey("0x...") })
// 1. Validate
const validated = await bridge.validateTransfer({
token: "aptos:0x000000000000000000000000000000000000000000000000000000000000000a", // APT
amount: 100_000_000n, // 1 APT (8 decimals)
fee: 0n,
nativeFee: 0n,
sender: "aptos:0xYourAddress...",
recipient: "near:alice.near",
})
// 2. Build the entry-function payload (no approval step needed on Aptos)
const payload = builder.buildTransfer({
token: "0xa",
amount: validated.params.amount,
fee: validated.params.fee,
nativeFee: validated.params.nativeFee,
recipient: validated.params.recipient,
})
// 3. Sign and submit with @aptos-labs/ts-sdk (or a wallet adapter)
const aptos = new Aptos(new AptosConfig({ network: Network.MAINNET }))
const transaction = await aptos.transaction.build.simple({
sender: account.accountAddress,
data: payload,
})
const pending = await aptos.signAndSubmitTransaction({ signer: account, transaction })API
createAptosBuilder({ network, bridgeAddress? })— payload builder factorybuildTransfer(params)—init_transferpayloadbuildLogMetadata(token)—log_metadatapayloadbuildDeployToken(signature, metadata)—deploy_tokenpayload from a NEARLogMetadataEventbuildFinalization(signature, payload)—fin_transferpayload from a NEARSignTransferEvent
- Event helpers (fullnode REST):
getAptosInitTransferEvent,getAptosEventLog,getAptosInitTransferLog,getAptosDeployTokenLog,getAptosFinTransferLog,parseAptosInitTransferEvent,isAptosTransferFinalised - Address utilities:
normalizeAptosAddress,aptosAddressToBytes,deriveAptosBridgeObjectAddress,deriveAptosBridgedTokenAddress normalizeAptosEventData— canonical sorted-key JSON of event data for MPC proof construction
See docs/guides/aptos.mdx and docs/reference/aptos.mdx in the repository for details.
License
MIT
