Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

generatemultisignaddress rpc method #2

Open
npq7721 opened this issue Mar 23, 2021 · 0 comments
Open

generatemultisignaddress rpc method #2

npq7721 opened this issue Mar 23, 2021 · 0 comments

Comments

@npq7721
Copy link
Collaborator

npq7721 commented Mar 23, 2021

This issue tracker is only for technical issues related to Raptoreum Core.

General Raptoreum questions and/or support requests and are best directed to the Raptoreum Reddit.

To report critical security issues, email [email protected] and/or see the RAPTOREUM bug bounty program on Bugcrowd instead of creating Github issues.

Describe the issue

Create an generatemultisignaddress rpc call

Method Description:
Create an mulitsign address from BIP39 seed words with BIP44 address scheme for any chain for now just btc base chain. Will work with other chain like ethereum in future. This method will generate all addresses that will be use to generate multi-sign address in the same parent derivation path.

Parameters:
A json with the following attribute

seed: a 24 word sseed that complies with BIP39. Randomly generately a seed if it is not given
pubkey_prefix: an integer that encode the first letter of a public wallet address. Default to raptoreum prefix if not given
secret_prefix: an integer that encode the first letter of a private key.Default to raptoreum prefix if not given
script_prefix: an integer that encode the first letter of a script key.Default to raptoreum prefix if not given
ext_pubkey_prefix: an integer that encode the first 4 letter of a master pubkey.Default to raptoreum prefix if not given
ext_secret_prefix: an integer that encode the first 4 letter of a master secretkey. Default to raptoreum prefix if not given
parent_bip44_path: parent derivation path that use to generate address. For example for M44’/0’/0’/0 parent path, address will be generated has the following path M44’/0’/0’/0/x where x is 0->whatever
require_num_sign: number of required signatures for a transaction to be valid. Default to 10
total_num_sign: number of total signatures that is use in this multi-sign address. Default to 20.

Node it is a Bad Request if total_num_sign < require_num_sign.

Response a json with the following attribute
address: the generated multi-sign address
address_group: a map of public wallet address to its private key: {“address A” : “key A”, ...}
redeem_script: a script hex that can be use to redeem input transaction for this multi-sign address.
seed: seed was use for this address
address_path: a map of public address to its derivation path

malbit pushed a commit to malbit/raptoreum that referenced this issue Nov 5, 2021
d31e5c1 Fix shutdown in case of errors during initialization (Wladimir J. van der Laan)

Pull request description:

  PR #10286 introduced a few steps which are not robust to early shutdown in initialization.

  Stumbled upon this with #11781, not sure if there are other scenarios that can trigger it, but it's good to harden against this in any case.

  E.g.
  ```
  $ src/bitcoind  -debuglogfile=/dfdf
  Error: Could not open debug log file /dfdf
  Program received signal SIGSEGV, Segmentation fault.
  UnregisterValidationInterface (pwalletIn=0x0) at /.../bitcoin/src/validationinterface.cpp:82
  82          g_signals.m_internals->BlockChecked.disconnect(boost::bind(&CValidationInterface::BlockChecked, pwalletIn, _1, _2));
  (gdb) bt
  #0  UnregisterValidationInterface (pwalletIn=0x0) at /.../bitcoin/src/validationinterface.cpp:82
  Raptor3um#1  0x00005555555a11fc in Shutdown () at /.../bitcoin/src/init.cpp:196
  Raptor3um#2  0x00005555555961cc in AppInit (argc=<optimized out>, argv=<optimized out>) at /.../bitcoin/src/bitcoind.cpp:183
  Raptor3um#3  0x0000555555596249 in main (argc=0, argv=0x555555ecf200) at /.../bitcoin/src/bitcoind.cpp:19
  ```

Tree-SHA512: 7dd9570a9803514a17781bfadf1edde47e96df4e852cce2f423cab422e005fb94d44e777af1a6ea5167b04a4d889e848ae7a61a7e0e94232247ddea32ee70fc8
Aberzelius added a commit to HansWuestenfuchs/raptoreum that referenced this issue Dec 9, 2021
Update language.settings.xml Apelabs
npq7721 pushed a commit that referenced this issue Apr 11, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant