bmoni_embedded_sdk 0.0.1
bmoni_embedded_sdk: ^0.0.1 copied to clipboard
Bmoni Embedded SDK for Flutter — Ethereum wallet provisioning and signing backed by Android Keystore / iOS Secure Enclave.
0.0.1 #
- Initial release of the Bmoni Embedded SDK for Flutter.
BmoniEmbeddedSdk.initialize(pinLength: …, requirePin: …)lets the consumer pick the PIN length (default6) and whether sign / delete operations verify a PIN before invoking the native plugin (defaulttrue). The active configuration is exposed viaBmoniEmbeddedSdk.config.BmoniEmbeddedSdkstatic facade exposing the BMONISigner wallet APIs:initWallet()returns the EIP-55 checksummed Ethereum address.signTransactionHash(hashHex, pin: …)signs a pre-computed 32-byte digest. PIN-gated whenrequirePin: true.signMessage(message, pin: …)applies the EIP-191personal_signprefix. PIN-gated whenrequirePin: true.deleteWallet(pin: …)removes the encrypted private key (idempotent at the native layer). PIN-gated whenrequirePin: true.walletAddress()/hasWallet()read back the EIP-55 address cached by the SDK influtter_secure_storageso consumers can recover it across launches (the native BMONISigner SDK only returns the address at provisioning time). The cache is populated oninitWallet()success and wiped ondeleteWallet()success.
- PIN management via
setPin,changePin,removePin,matchPin,hasPin— independent ofrequirePin. PINs are exactlyBmoniEmbeddedSdk.pinLengthcharacters (configured atinitialize);setPin/changePinraiseBmoniSignerErrorCode.pinInvalidfor inputs of any other length. The PIN is persisted as a salted PBKDF2-HMAC-SHA256 digest insideflutter_secure_storage(Android Keystore / iOS Keychain); the raw PIN never touches disk. - Typed
BmoniSignerExceptionandBmoniSignerErrorCodefor ergonomic native-error handling. Codes in the0x3xxxxxxxrange originate in the native BMONISigner SDK;0x4xxxxxxxcodes are SDK-level (PIN gating). - Android plugin wraps
me.bkey.ip.bmonisigner.BMONISigner1.0.0 and dispatches signing work on a background executor. - iOS plugin wraps the BMONISigner Swift API (
initWallet,signTransactionHash,signMessage,deleteWallet) and dispatches signing work on auserInitiatedqueue. - Podspec vendors
BMONISigner.xcframework1.0.0 for CocoaPods consumers (matching the SwiftPM binary target). - Example app with a full wallet / signing demo.