Commit graph

601 commits

Author SHA1 Message Date
Andrew Poelstra
b612189f3c Merge 9e3122de05 into merged_master (Bitcoin PR #15492) 2020-10-27 20:46:09 +00:00
Steven Roose
de81c0d97e
MERGE-FIX: Fix linter (mostly RPC help)
I also moved some RPC methods that were not at the end of the file with
the other ELEMENTS RPC methods. This makes the diff on my machine look
crazy. Let's hope GitHub has more intelligent diffs..
2019-05-27 17:40:16 +01:00
Steven Roose
473e1e9ca1
MERGE-FIX: Fix compatibility functional tests 2019-05-22 16:54:46 +01:00
Steven Roose
52f6f6905b
WIP: Fix compilation after merge 2019-05-20 16:22:05 +01:00
Steven Roose
f4889a5253
UPSTREAM MERGE BROKEN: Merge upstream commit '519b0bc5dc' into master 2019-05-17 16:17:09 +01:00
Steven Roose
d21e0563c1
Address some linter complaints 2019-05-15 17:30:04 +01:00
Steven Roose
ad3d496d78
Add extra lock check for OSX build
Apparently my upstream checkpoint was in the middle of a series of
commits by ianofsky separating wallet from the main code.  This means
that I have to add this main lock which will be replaced by the
locked_chain interface in a subsequence catchup.
2019-05-15 17:30:02 +01:00
Steven Roose
dc900eb7d7
Merge branch 'master' into catchup 2019-05-14 16:49:18 +01:00
Steven Roose
48a82fa993
Make claimpegin fail in the case of a double claim
Currently it will commit to the transaction without it being able to
enter the mempool. This makes the block creation code include the tx
into the block and create an invalid block.
2019-05-08 15:35:58 +01:00
Steven Roose
50c557083d
Report IsValidPeginWitness error message 2019-05-07 20:13:42 +01:00
Steven Roose
9f4f2e7519
MERGE-FIX: Fix compilation errors 2019-05-03 17:46:12 +01:00
Steven Roose
7f894ae00b
UPSTREAM MERGE BROKEN: Merge commit 'f617e05c38' into master 2019-05-01 19:18:18 +01:00
Gregory Sanders
a9cbe55309 refactor getpeginaddress to not call getnewaddress RPC 2019-05-01 10:54:06 -04:00
Gregory Sanders
cdb33e5214 createrawpegin should look for wpkh addresses, not nested 2019-05-01 10:54:06 -04:00
Gregory Sanders
7fd6b88c97 claimpegins should arrive in witness destinations 2019-04-19 07:39:32 -04:00
Gregory Sanders
1cccb6ebb8 Add a couple comments on (re)issueasset to let users know about raw versions 2019-04-13 14:59:03 -04:00
Gregory Sanders
410d5fa083 sendtomainchain_base should be decoding parent destination 2019-04-10 14:18:48 -04:00
Steven Roose
030811b8f2
Don't blind with blinding factors that aren't ours 2019-04-03 21:31:11 +02:00
Steven Roose
a904f02fb1
Merge #549: Make new actually working master blinding calls, test
9acbd2436 Make new actually working master blinding calls, test (Gregory Sanders)

Pull request description:

  resolves https://github.com/ElementsProject/elements/issues/547

  Previous API was improperly overloading the specific blinding key calls, and incorrectly on top of that.

  Instead implement `importmasterblindingkey` and `dumpmasterblindingkey` and check that `dumpwallet` details are enough to recover same blinded wallet addresses.

Tree-SHA512: d9d954d1cb787182d99b464cc6a80e8383d3ea71e432e6fd0e244b5f5a460b9adfcdc14e38fe841c5a5e2fef1345da78217d519a23a804d5066998828103efd1
2019-04-01 12:36:27 +02:00
Gregory Sanders
9acbd24360 Make new actually working master blinding calls, test 2019-03-29 13:20:26 -04:00
Gregory Sanders
870e41609e Enforce coinbase maturity on bitcoin peg-ins 2019-03-28 16:27:18 -04:00
Steven Roose
e1cd00cc6c Change branding from bitcoin to elements 2019-03-22 10:12:04 +00:00
Steven Roose
ade539cbb4 Don't assume mainchain is Bitcoin 2019-03-21 19:30:52 +00:00
Steven Roose
aba54b3f92
Make validatepegin default to true if has parent chain 2019-03-21 17:55:02 +00:00
Gregory Sanders
efd6164af2
Merge #518: [0.17] Manual pak RPC calls
3f6f7b3 Add getpegoutkeys RPC call (Gregory Sanders)
4d486e6 add generatepegoutproof RPC call (Gregory Sanders)

Pull request description:

  These aid in integration testing allowing the caller to sends funds wherever.

Tree-SHA512: 3eaade83256df892604974a6f528d1fbadaae8f4e5c382a58ca74a1f422432c182ae64aa047306d4942eb3d7880f035e38cc3f9eccb8aa7d872345e7544ef81e
2019-03-21 08:01:47 -04:00
Gregory Sanders
3f6f7b3f5a Add getpegoutkeys RPC call 2019-03-21 06:55:09 -04:00
Gregory Sanders
4d486e6a7b add generatepegoutproof RPC call 2019-03-21 06:45:39 -04:00
Stefan Liu
831319e264
Remove comma for claimpegin in command line help info
When calling this method(`claimpegin`) with liquid-cli, we don't commas between parameters.
2019-03-20 23:07:09 +00:00
Gregory Sanders
7d86c7d976 remove leftover asset debug printing 2019-03-20 13:01:18 -04:00
Gregory Sanders
665d9ebe0e Whitespace and tab linting 2019-03-20 11:19:07 -04:00
Gregory Sanders
bc9a6104a9 Fixup wallet log print 2019-03-20 10:16:12 -04:00
Gregory Sanders
5c3481a91e Lint RPC args 2019-03-20 09:53:33 -04:00
Steven Roose
f7920d77ec
[BROKEN] Add issuance wallet RPCs 2019-03-20 12:05:58 +00:00
Steven Roose
a361dda7a3
[BROKEN] Add CA wallet RPCs 2019-03-20 12:05:57 +00:00
Steven Roose
d3ab44de44
[BROKEN] Adapt wallet to CA 2019-03-20 12:05:55 +00:00
Steven Roose
04d06917d2
Rename con_elementswitness to con_elementsmode
It will have effect on more than just witness structure from now on.
2019-03-20 12:05:44 +00:00
Gregory Sanders
14af0b6539
Implement blech32 addresses, expose over RPC 2019-03-20 12:05:36 +00:00
Gregory Sanders
aa375e66c1
Replace CScriptID and CKeyID in CTxDestination with dedicated type 2019-03-20 12:05:31 +00:00
Sjors Provoost
8bb3e4c487
[rpc] remove deprecated generate method 2019-02-27 17:41:01 +01:00
MarcoFalke
169dced9a4
Merge #15408: Remove unused TransactionError constants
fa9b60c842 Remove unused TransactionError constants (MarcoFalke)

Pull request description:

  Fixup to #14978, which introduced a bunch of unused enum values, such as `UNKNOWN_ERROR`, `ERROR_COUNT` and `TRANSACTION_ERR_LAST`. None of those have a meaning in the context of an `enum class`, where the compiler can infer if all cases have been covered in a switch-case.

  Also, move the global `::maxTxFee` back to the rpc caller, so it can be set on a per call basis (in the future).

Tree-SHA512: 7f1e2d795f1c1278ecd54ddab2b92c2a862f3c637b482d1d008208925befa1c9dd4b3c4bb1bfcbc5ca4b66a41004aaf01ea96ea95236f944250b8a6cf99ff173
2019-02-22 11:13:43 -05:00
David A. Harding
d3661a3fd2
[Doc] add missing newline to witnessScript in listunspent help 2019-02-16 16:27:28 -05:00
Andrew Chow
9b81fd19ac Fetch keys from keypool when private keys are disabled
When private keys are disabled, still fetch keys from the keypool
if the keypool has keys. Those keys come from importing them and
adding them to the keypool.
2019-02-14 18:14:00 -05:00
MeshCollider
8d0ec74801
Merge #14021: Import key origin data through descriptors in importmulti
cb3511b9d Add release notes for importing key origin info change (Andrew Chow)
4c75a69f3 Test importing descriptors with key origin information (Andrew Chow)
02d6586d7 Import KeyOriginData when importing descriptors (Andrew Chow)
3d235dff5 Implement a function to add KeyOriginInfo to a wallet (Andrew Chow)
eab63bc26 Store key origin info in key metadata (Andrew Chow)
345bff601 Remove hdmasterkeyid (Andrew Chow)
bac8c676a Add a method to CWallet to write just CKeyMetadata (Andrew Chow)
e7652d3f6 Add WriteHDKeypath function and move *HDKeypath to util/bip32.{h,cpp} (Andrew Chow)
c45415f73 Refactor keymetadata writing to a separate method (Andrew Chow)

Pull request description:

  This PR allows for key origin data as defined by the descriptors document to be imported to the wallet when importing a descriptor using `importmulti`. This allows the `walletprocesspsbt` to include the BIP 32 derivation paths for keys that it is watching that are from a different HD wallet.

  In order to make this easier to use, a new field `hdmasterkeyfingerprint` has been added to `getaddressinfo`. Additionally I have removed `hdmasterkeyid` as was planned. I think that this API change is fine since it was going to be removed in 0.18 anyways. `CKeyMetadata` has also been extended to store key origin info to facilitate this.

Tree-SHA512: 9c7794f3c793da57e23c5abbdc3d58779ee9dea3d53168bb86c0643a4ad5a11a446264961e2f772f35eea645048cb60954ed58050002caee4e43cd9f51215097
2019-02-15 12:11:28 +13:00
Andrew Chow
eab63bc264 Store key origin info in key metadata
Store the master key fingerprint and derivation path in the
key metadata. hdKeypath is kept to indicate the seed and for
backwards compatibility, but all key derivation path output
uses the key origin info instead of hdKeypath.
2019-02-14 17:58:25 -05:00
Wladimir J. van der Laan
3facd9fdc4
Merge #14481: Add P2SH-P2WSH support to listunspent RPC
6ca836ab3a Add release note for listunspent P2WSH change (MeshCollider)
928beae007 Add test for P2SH-P2WSH in signrawtransactionwithkey and listunspent (MeshCollider)
314784a60f Make listunspent and signrawtransaction RPCs support witnessScript (MeshCollider)

Pull request description:

  This is a reworked version of #11708 after #12427 and the `signrawtransaction` split.

  For a P2WSH address, listunspent should return the witness script, and for a P2SH-P2WSH address, it should also return the inner witness script (because SignTransaction will automatically wrap it in P2SH if required).

  Includes a test which also tests the behaviour of #12427, and release note.

Tree-SHA512: a8e72cf16930312bf48ec47e44a68f8d7e26664043c1b4cc0983eb25aec4087e511188ff9a0f181cd7b8a0c068c60d7f1e7e3f226b79e8c48890039dcf57f7b7
2019-02-14 22:17:52 +01:00
Andrew Chow
345bff6013 Remove hdmasterkeyid 2019-02-14 14:00:29 -05:00
Andrew Chow
e7652d3f64 Add WriteHDKeypath function and move *HDKeypath to util/bip32.{h,cpp}
Creates new files util/bip32.h and util/bip32.cpp for containing
BIP 32 stuff.
Moves FormatKeyPath from descriptor.cpp to util/bip32.
Adds a wrapper around it to prepent the 'm' for when just the
BIP 32 style keypath is needed.
2019-02-14 14:00:28 -05:00
MarcoFalke
fa9b60c842
Remove unused TransactionError constants 2019-02-14 10:32:02 -05:00
MeshCollider
2452c6cc0a
Merge #14978: Factor out PSBT utilities from RPCs for use in GUI code; related refactoring.
102faad81 Factor out combine / finalize / extract PSBT helpers (Glenn Willen)
78b9893d0 Remove op== on PSBTs; check compatibility in Merge (Glenn Willen)
bd0dbe876 Switch away from exceptions in refactored tx code (Glenn Willen)
c6c3d42a7 Move PSBT definitions and code to separate files (Glenn Willen)
81cd95884 Factor BroadcastTransaction out of sendrawtransaction (Glenn Willen)
c734aaa15 Split DecodePSBT into Base64 and Raw versions (Glenn Willen)
162ffefd2 Add pf_invalid arg to std::string DecodeBase{32,64} (Glenn Willen)

Pull request description:

  * Move most PSBT definitions into psbt.h.
  * Move most PSBT RPC utilities into psbt.{h,cpp}.
  * Move wallet-touching PSBT RPC utilities (FillPSBT) into
      wallet/psbtwallet.{h,cpp}.
  * Switch exceptions from JSONRPCError() to new PSBTException class.
  * Split DecodePSBT into DecodeBase64PSBT (old behavior) and DecodeRawPSBT.
  * Add one new version of DecodeBase64 utility in strencodings.h (and
      corresponding DecodeBase32 for completeness).
  * Factor BroadcastTransaction utility function out of sendrawtransaction RPC
      handler in rpc/rawtransaction.cpp

  Note: For those keeping score at home wondering why refactor, this is in anticipation of (and developed in parallel with) a change to actually introduce GUI use of all this stuff, which is already under development and working-ish.

Tree-SHA512: 2197c448e657421f430943025357597e7b06c4c377d5d4b2622b9edea52a7193c48843dd731abb3a88ac4023a9c88d211991e0a9b740c22f2e1cbe72adefe390
2019-02-14 21:49:01 +13:00
Steven Roose
fb72ee8fc8 Add Elements-style witness serialization 2019-02-13 11:42:38 +00:00