diff --git a/packages/bitcore-wallet-client/src/lib/api.ts b/packages/bitcore-wallet-client/src/lib/api.ts index 105a40fa0c..f812791fec 100644 --- a/packages/bitcore-wallet-client/src/lib/api.ts +++ b/packages/bitcore-wallet-client/src/lib/api.ts @@ -23,7 +23,8 @@ var Bitcore_ = { eth: CWC.BitcoreLib, xrp: CWC.BitcoreLib, doge: CWC.BitcoreLibDoge, - ltc: CWC.BitcoreLibLtc + ltc: CWC.BitcoreLibLtc, + rsk: CWC.BitcoreLib }; var Mnemonic = require('bitcore-mnemonic'); var url = require('url'); @@ -468,7 +469,7 @@ export class API extends EventEmitter { if (!_.includes(Constants.COINS, coin)) return cb(new Error('Invalid coin')); - if (coin == 'eth') + if (coin == 'eth' || coin == 'rsk' || coin == 'rbtc') return cb(new Error('ETH not supported for this action')); var B = Bitcore_[coin]; @@ -703,6 +704,7 @@ export class API extends EventEmitter { switch (chain) { case 'XRP': case 'ETH': + case 'RSK': const unsignedTxs = t.uncheckedSerialize(); const signedTxs = []; for (let index = 0; index < signatures.length; index++) { @@ -2518,7 +2520,7 @@ export class API extends EventEmitter { // * @return {Callback} cb - Return error (if exists) and nonce // */ getNonce(opts, cb) { - $.checkArgument(opts.coin == 'eth', 'Invalid coin: must be "eth"'); + $.checkArgument(opts.coin == 'eth' || opts.coin == 'rsk' || opts.coin == 'rbtc', 'Invalid coin: must be "eth" or "rsk"'); var qs = []; qs.push(`coin=${opts.coin}`); @@ -2936,6 +2938,8 @@ export class API extends EventEmitter { ['doge', 'testnet'], ['ltc', 'testnet'], ['ltc', 'livenet'], + ['rsk', 'livenet'], + ['rbtc', 'livenet'], ['btc', 'livenet', true], ['bch', 'livenet', true], ['doge', 'livenet', true], diff --git a/packages/bitcore-wallet-client/src/lib/common/constants.ts b/packages/bitcore-wallet-client/src/lib/common/constants.ts index d40d839e0e..faf9d5a3d7 100644 --- a/packages/bitcore-wallet-client/src/lib/common/constants.ts +++ b/packages/bitcore-wallet-client/src/lib/common/constants.ts @@ -34,6 +34,8 @@ export const Constants = { 'busd', 'dai', 'wbtc', + 'rsk', + 'rbtc', 'shib' ], ERC20: ['usdc', 'pax', 'gusd', 'busd', 'dai', 'wbtc', 'shib'], diff --git a/packages/bitcore-wallet-client/src/lib/common/utils.ts b/packages/bitcore-wallet-client/src/lib/common/utils.ts index 50fc59945b..4a3406da99 100644 --- a/packages/bitcore-wallet-client/src/lib/common/utils.ts +++ b/packages/bitcore-wallet-client/src/lib/common/utils.ts @@ -24,7 +24,8 @@ const Bitcore_ = { eth: Bitcore, xrp: Bitcore, doge: BitcoreLibDoge, - ltc: BitcoreLibLtc + ltc: BitcoreLibLtc, + rsk: Bitcore }; const PrivateKey = Bitcore.PrivateKey; const PublicKey = Bitcore.PublicKey; diff --git a/packages/bitcore-wallet-client/src/lib/credentials.ts b/packages/bitcore-wallet-client/src/lib/credentials.ts index 4b4bce664c..8f7e796ad7 100644 --- a/packages/bitcore-wallet-client/src/lib/credentials.ts +++ b/packages/bitcore-wallet-client/src/lib/credentials.ts @@ -210,6 +210,8 @@ export class Credentials { coin = '3'; } else if (this.coin == 'ltc') { coin = '2'; + } else if (this.coin == 'rsk' || this.coin == 'rbtc') { + coin = '137'; } else { throw new Error('unknown coin: ' + this.coin); } diff --git a/packages/bitcore-wallet-client/src/lib/key.ts b/packages/bitcore-wallet-client/src/lib/key.ts index 1f4062ec03..59223af00c 100644 --- a/packages/bitcore-wallet-client/src/lib/key.ts +++ b/packages/bitcore-wallet-client/src/lib/key.ts @@ -399,6 +399,8 @@ export class Key { coinCode = '3'; } else if (opts.coin == 'ltc') { coinCode = '2'; + } else if (opts.coin == 'rsk' || opts.coin == 'rbtc') { + coinCode = '137'; } else { throw new Error('unknown coin: ' + opts.coin); }