Wallet store interface (#217) * update * sort wallet store functions * update * update * update * remove DeleteAccountByAlias * remove DeleteAccountUTXOs * update * update * update * remove deleteAccountControlPrograms * remove DeleteBip44ContractIndex DeleteContractIndex DeleteControlProgram * rename GetAccountByID to GetAccount * update GetAsset * move TestReserve to account * move TestReserveParticular to account * move TestFindUtxos to account * update * delete utxo_keeper_test * update * update * move TestReserveBtmUtxoChain to account * update * update * update * remove mock/UTXO.go * update ListTransactions * update * update * update AccountStorer * update SetAccountIndex * update * update * update * update DeleteAccountUTXOs * update DeleteAccount * update * update ListUTXOs * update * update * update getAccountFromACP * update Restore * update Restore * update Restore * update * update * update GetCoinbaseCtrlProgram * update Create * update Create * update SaveAccount * update UpdateAccountAlias * update SetAccountIndex * update FindByAlias * update WalletStore * update * remove GetAccount * update * udpate * update * add SetStandardUTXO * remove SetStandardUTXO in walletstore * update * remove DeleteStandardUTXO * update * update * update * update * update * add mockAccountStore in wallet_test * update CalcGlobalTxIndex in wallet_test * add mockWalletStore in wallet_test * update TestWalletVersion * move TestEncodeDecodeGlobalTxIndex * add test/wallet_test.go * update * update * update TestXPubsRecoveryLock * update * update TestExtendScanAddresses * update TestRecoveryFromXPubs * add mock wallet store * update * add mock account store * update TestRecoveryByRescanAccount * update * update recovery_test.go * update TestWalletUnconfirmedTxs * update TestGetAccountUtxos * update * update * update * update * update * update * update id * update * update * update * update * update TestGetAccountUtxos * update * update * update * update * update * update * update * update * update * add MockAccountStore * remove mock * remove mock * update * remove test mock * comment some test functions * update SetWalletInfo * update * update * update loadWalletInfo * update * update * rename RecoveryState * update * update commitStatusInfo * update * update * update * remove recoveryKey * update * update * update * rename calcGlobalTxIndexKey to CalcGlobalTxIndexKey * update * update * update TestWalletUpdate * remove comments * update wallet_test * update LoadWalletInfo * rename w.status * update TestRescanWallet * add TestMemPoolTxQueryLoop * update TestMemPoolTxQueryLoop * update * update * fix TestFilterAccountUtxo * update * update * refine code * remove TestRescanWallet * add account store * comment test * update TestFilterAccountUtxo * fix w.AccountMgr.GetControlProgram * remove GetControlProgram * remove comment * update * update * update * update * rename accountDB to db * rename walletDB to db * update * update * update * update * update * update * update * update * update deleteAccountUTXOs * update * add deleteAccountControlPrograms * update ListAccountUTXOs * update GetAccountByProgram * update * update * update * update * update * rm key * update utxo_keeper * update DeleteTransactions * update Bip44ContractIndexKey * update dbm * update TestFilterAccountUtxo * update * add accountstore * update TestFilterAccountUtxo * updata TestFilterAccountUtxo * move db account store prefix * move db wallet store prefix * add InitStore * update * rename CommitStore * add InitStore * rename CommitStore * fix bug * update * update * update * update * update * update * update * update * move accountAliasKey * update * rename InitStore to InitBatch * rename CommitStore to CommitBatch * update * update * update * update * update * update * update * fix TestWalletUpdate * fix bugs * remove loop * fix bug * update * update * update Restore * update Restore * update saveExternalAssetDefinition * move ErrAccntTxIDNotFound * update GetCoinbaseCtrlProgram * update getExternalDefinition
feat: add cross-chain output (#56) * refactor: move ComputeOutputID() for SpendCommitment * wip: init OutputType * refactor: rename NewTxOutput to NewIntraChainTxOutput * wip: typed intra-chain output * feat: add CrossChainTxOutput * fix: fix CrossChainOutputType * doc: update todo * init bc * fix * wip: bc NewIntraChainOutput * fix: bc IntraChainOutput * fix: fix tx.Output() * move ComputeOutputID back * fix types.NewIntraChainTxOutput & types.NewCrossChainTxOutput * doc: update todo * fix: add VMVersion, ControlProgram and AssetAmount for types.Output * fix map.go * fix txfeed * fix peer.go * fi * rename * fix TxOutput.readFrom() * fix TxOutput.readFrom() * use currentAssetVersion * clean * update todos * add cross-chain in mapTx.go * doc: update comments * wip: check IntraChainOutput source in validation * wip: checkValidDest() checks CrossChainOutput * fix checkStandardTx * fix: fix checkStandardTx * fix: fix TxOutput.writeTo() * fix hard-coded AssetVersion * roll back assetVersion * refactor: rename ComputeOutputID * refactor: rename ComputeOutputID() * fix blockchain/txbuilder/txbuilder_test.go * fix: fix crosschainOut as Input * doc: fix comments * wip * clean * fix * fix * fix * fix * fix * fix * fix * fix * fix * clean * fix * fix * fix * fix * fix * fix wip * should fix * figure out * fix comment * fix estimate gas * fixing * try merkle * fix merkle test * fix merkle comp * fix TestTxOutToUtxos() * fix TestReadFrom * minor * try fix the ci