import * as core from "@shapeshiftoss/hdwallet-core"; import { Isolation } from "../.."; /** * Starknet adapter using Stark curve engine * * Uses dedicated Stark engine with STARK curve operations instead of * polluting the generic BIP32 secp256k1 engine with chain-specific code. * * ACCOUNT ABSTRACTION: * All Starknet accounts are smart contracts (no EOAs). The account address is computed from: * - Account contract class hash (OpenZeppelin, Argent, Braavos implementations) * - Constructor calldata (including public key) * - Salt (typically the public key) * - Deployer address (0 for counterfactual deployment) * * DERIVATION PATH: * Uses BIP-44 format: m/44'/9004'/accountIdx'/0/0 * - SLIP-044 coin type: 9004 (Starknet) * - Community consensus: BIP-44 preferred over EIP-2645 * - See: https://community.starknet.io/t/account-keys-and-addresses-derivation-standard/1230 * * REFERENCES: * - Starknet Account Architecture: https://docs.starknet.io/architecture/accounts/ * - Account Abstraction Part I: https://medium.com/starknet-edu/account-abstraction-on-starknet-part-i-2ff84c6a3c30 * - Account Abstraction Part II: https://medium.com/starknet-edu/account-abstraction-on-starknet-part-ii-24d52874e0bd * - Account Creation Guide: https://starknetjs.com/docs/guides/create_account/ * - OpenZeppelin Accounts: https://docs.openzeppelin.com/contracts-cairo/0.14.0/accounts * - SLIP-044 Registry: https://github.com/satoshilabs/slips/blob/master/slip-0044.md */ export declare class StarknetAdapter { protected readonly nodeAdapter: Isolation.Adapters.Stark; private readonly OZ_ACCOUNT_CLASS_HASH; constructor(nodeAdapter: Isolation.Adapters.Stark); /** * Get Starknet public key from BIP32 path */ getPublicKey(addressNList: core.BIP32Path): Promise; /** * Get Starknet address from BIP32 path * Computes the counterfactual contract address using OpenZeppelin account implementation */ getAddress(addressNList: core.BIP32Path): Promise; /** * Sign Starknet transaction * Starknet uses ECDSA on the STARK curve for transaction signing */ signTransaction(txHash: string, addressNList: core.BIP32Path): Promise; } export default StarknetAdapter; //# sourceMappingURL=starknet.d.ts.map