- Added createTx: Create an unsigned tx (no privkey required) [segwit sender not supported for now as redeem-script needed]
- Added createMultiSigTx: Create an unsigned tx for multisig address
- Optimised sendTx to reuse code (no functional change)
-- added better indication for pending transactions
-- fixed details of same address not refreshing when clicking on 'go' again
-- made 'all' as default for searched address
-- added a favicon
floDapps login:
- login to btc address when btc private key is entered
- login to flo id when flo (or any other) private key is entered
floCloudAPI user:
- accept userID and private key for user set
Others:
- Fixed: minor bugs
floCrypto.verifyPubKey: verify public key of any blockchain address
- Parameters:
1. pubKeyHex - public key hex
2. address - blockchain address
floCrypto.getAddress: get address respective to the blockchain
- Parameters:
1. privateKeyHex - private key (WIF)
2. strict - (optional, default=false) if false returns floID when no match of privatekey prefix found.
- Removed the options for launchStartUp
- private-key is on lock mode by default
- Added utility functions that uses private-key without entering password in .user
.sign(message): signs message
.decrypt(data): decrypts ciphertext in asymmetric
.encipher(message): encrypts message in symmetric
.decipher(data): decrypts ciphertext in symmetric
floCrypto.validateAddr: validate any blockchain address
- Parameters:
1. address - address to validate
2. std - checks for legacy version (optional, default=true) (true: allow any, array: list of versions, value: one version only, false: allow none)
3. bech - checks for bech version (optional, default=false) (true: allow any, array: list of versions, value: one version only, false: allow none)
- For validating only floID, use floCrypto.validateFloID(floID)
- Store AES-encrypted private key in memory. (exploring memory of browser will not have raw private key)
- floDapps lock/unlock (in user): locks or unlock the private key (ie, lock= Password required, unlock= password not required in returning private key)
- floDapps.launchStartUp now accepts options object
- to lock the private key on startup, pass {lock_key: true} in options objects of launchStartUp
- convert address from one blockchain to another (target version required)
- Conversions: btc_api.convert
. legacy2legacy
. legacy2bech
. bech2bech
. bech2legacy
- Added: form for WIF conversion
- Added: Input fields for private-keys of senders in sendTx
- Added: feedback/result box for sendTx panel (txid or error is displayed)
- convert compressed WIF from one blockchain to another (target privkey prefix needed)
- btc_api.pubkey: return the same if pubkey is passed. (thus address, segwitAddress, bech32Address now accepts pubkey, privkey and wif)
- btc_api.address: accepts optional parameter 'prefix' to generate address for respective blockchain (Default: 0x00 BTC)
- sendTx not signing properly when legacy is after bech32/segwit address (senders)
Solution used: sort privkey before signing the tx (legacy 1st then bech32/segwit)
- now signing works for multiple input-ids for the following
. all legacy
. all segwit/bech32
- Adding change_addr optional parameter in sendTx (if entered sends the change to given address)
- ignore unconfirmed utxos
- Adding support for multiple input IDs in sendTx
- Pass array to senders/privKeys for multiple InputIDs (both arrays should have equal length)
- Pass array to receivers/amount for multipls outputIDs (both arrays should have equal length)
- Address-keys are verified for sender pairs
- Address, amounts are validated for receiver pairs
- send tx not working when single receiver is entered (UI bug)
- View details UI: Aligned the addresses in view tx table
- sendTx: reject when total receiver amount is less than fee or zero