PROTOCOL DOCS
Three protocols, one story — Bridgeless Encrypted Capital Markets on Solana
PROGRAM: 833YAgrbapXn…tBN8Nrvx
ORDER LIFECYCLE
SUBMIT ORDER
FHE encrypt
EXECUTE MATCH
match_orders(EUint64)
SETTLE MATCH
set Settled status
SIGN SETTLEMENT
Ika CPI → approve_message
dWALLET SIGNS
2PC-MPC Ed25519
LIFI BRIDGE
cross-chain delivery
KEY INTEGRATION CODE
FHE match_orders (programs/noctex/src/fhe.rs)rust
#[encrypt_fn]
pub fn match_orders(
bid_price: EUint64,
ask_price: EUint64,
bid_amount: EUint64,
ask_amount: EUint64,
) -> (EUint64, EUint64, EUint64) {
let matched = bid_price.is_greater_or_equal(&ask_price);
let min_amount = bid_amount.min(&ask_amount);
let fill = if matched { min_amount } else { EUint64::from(0u64) };
let exec = if matched { ask_price } else { EUint64::from(0u64) };
(fill, fill, exec)
}Ika CPI approve_message (programs/noctex/src/dwallet.rs)rust
pub fn invoke_approve_message(ctx: &Context<SignSettlement>, ...) {
let data = approve_message_data(bump, msg_digest, meta_digest, user, scheme);
let accounts = vec![
ctx.accounts.dwallet.to_account_metas(None),
ctx.accounts.message_approval.to_account_metas(None),
ctx.accounts.cpi_authority.to_account_metas(None),
ctx.accounts.coordinator.to_account_metas(None),
ctx.accounts.payer.to_account_metas(None),
ctx.accounts.system_program.to_account_metas(None),
ctx.accounts.caller_program.to_account_metas(None),
];
invoke_signed(&ix, &account_infos, &[CPI_AUTHORITY_SEED]);
}LI.FI route after settlement (client/src/lifi-settle.ts)typescript
import { createConfig, getQuote, executeRoute } from "@lifi/sdk";
createConfig({ integrator: "noctex" });
export async function bridgeSettlement(
fromChain: "SOL",
toChain: number, // Arbitrum=42161, Base=8453
amount: string,
fromToken: string,
toToken: string,
) {
const quote = await getQuote({
fromChain, toChain,
fromToken, toToken,
fromAmount: amount,
fromAddress: walletPubkey,
});
return executeRoute(quote.routes[0]);
}