@dynamic-labs/bitcoin 4.0.0-alpha.8 → 4.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +496 -1
- package/package.cjs +1 -1
- package/package.js +1 -1
- package/package.json +8 -7
- package/src/connectors/BitcoinSatsConnectConnector/BitcoinSatsConnectConnector.cjs +70 -17
- package/src/connectors/BitcoinSatsConnectConnector/BitcoinSatsConnectConnector.d.ts +13 -2
- package/src/connectors/BitcoinSatsConnectConnector/BitcoinSatsConnectConnector.js +72 -19
- package/src/connectors/BitcoinWalletConnector.cjs +29 -6
- package/src/connectors/BitcoinWalletConnector.d.ts +8 -3
- package/src/connectors/BitcoinWalletConnector.js +31 -8
- package/src/connectors/{BitcoinSatsConnectLegacyConnector/BitcoinSatsConnectLegacyConnector.cjs → MagicEdenConnector/MagicEdenConnector.cjs} +26 -59
- package/src/connectors/MagicEdenConnector/MagicEdenConnector.d.ts +21 -0
- package/src/connectors/{BitcoinSatsConnectLegacyConnector/BitcoinSatsConnectLegacyConnector.js → MagicEdenConnector/MagicEdenConnector.js} +28 -61
- package/src/connectors/MagicEdenConnector/index.d.ts +1 -0
- package/src/connectors/OkxConnector/OkxConnector.cjs +15 -8
- package/src/connectors/OkxConnector/OkxConnector.d.ts +5 -3
- package/src/connectors/OkxConnector/OkxConnector.js +15 -8
- package/src/connectors/OneKeyConnector/OneKeyConnector.cjs +118 -0
- package/src/connectors/OneKeyConnector/OneKeyConnector.d.ts +15 -0
- package/src/connectors/OneKeyConnector/OneKeyConnector.js +114 -0
- package/src/connectors/OneKeyConnector/index.d.ts +1 -0
- package/src/connectors/OylConnector/OylConnector.cjs +71 -0
- package/src/connectors/OylConnector/OylConnector.d.ts +13 -0
- package/src/connectors/OylConnector/OylConnector.js +67 -0
- package/src/connectors/OylConnector/index.d.ts +1 -0
- package/src/connectors/PhantomConnector/PhantomConnector.cjs +5 -10
- package/src/connectors/PhantomConnector/PhantomConnector.d.ts +5 -3
- package/src/connectors/PhantomConnector/PhantomConnector.js +5 -10
- package/src/connectors/UnisatConnector/UnisatConnector.cjs +9 -2
- package/src/connectors/UnisatConnector/UnisatConnector.d.ts +5 -2
- package/src/connectors/UnisatConnector/UnisatConnector.js +9 -2
- package/src/connectors/index.d.ts +3 -2
- package/src/const.cjs +0 -2
- package/src/const.js +1 -2
- package/src/index.cjs +10 -9
- package/src/index.d.ts +3 -3
- package/src/index.js +10 -8
- package/src/types.d.ts +1 -0
- package/src/utils/fetchSatsConnectConnectors/fetchSatsConnectConnectors.cjs +7 -17
- package/src/utils/fetchSatsConnectConnectors/fetchSatsConnectConnectors.d.ts +1 -1
- package/src/utils/fetchSatsConnectConnectors/fetchSatsConnectConnectors.js +7 -17
- package/src/utils/getAddressByType/getAddressByType.cjs +11 -0
- package/src/utils/getAddressByType/getAddressByType.d.ts +3 -0
- package/src/utils/getAddressByType/getAddressByType.js +7 -0
- package/src/utils/getAddressByType/index.d.ts +1 -0
- package/src/utils/getSatsConnectSigningProtocol/getSatsConnectSigningProtocol.cjs +17 -0
- package/src/utils/getSatsConnectSigningProtocol/getSatsConnectSigningProtocol.d.ts +3 -0
- package/src/utils/getSatsConnectSigningProtocol/getSatsConnectSigningProtocol.js +13 -0
- package/src/utils/getSatsConnectSigningProtocol/index.d.ts +1 -0
- package/src/utils/index.d.ts +0 -1
- package/src/wallet/BitcoinWallet.cjs +26 -5
- package/src/wallet/BitcoinWallet.d.ts +18 -3
- package/src/wallet/BitcoinWallet.js +26 -5
- package/src/connectors/BitcoinSatsConnectLegacyConnector/BitcoinSatsConnectLegacyConnector.d.ts +0 -11
- package/src/connectors/BitcoinSatsConnectLegacyConnector/index.d.ts +0 -1
- package/src/connectors/UnknownInjected/UnknownInjected.cjs +0 -43
- package/src/connectors/UnknownInjected/UnknownInjected.d.ts +0 -11
- package/src/connectors/UnknownInjected/UnknownInjected.js +0 -39
- package/src/connectors/UnknownInjected/index.d.ts +0 -1
- package/src/utils/supportsSatsConnect.cjs +0 -32
- package/src/utils/supportsSatsConnect.d.ts +0 -2
- package/src/utils/supportsSatsConnect.js +0 -28
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
'use client'
|
|
2
|
+
import { __awaiter } from '../../../_virtual/_tslib.js';
|
|
3
|
+
import { Psbt } from 'bitcoinjs-lib';
|
|
4
|
+
import { BitcoinWalletConnector } from '../BitcoinWalletConnector.js';
|
|
5
|
+
import { createPsbtOptions } from '../../utils/psbt/createSignPsbtOptions.js';
|
|
6
|
+
|
|
7
|
+
class OylConnector extends BitcoinWalletConnector {
|
|
8
|
+
constructor(opts) {
|
|
9
|
+
super(Object.assign(Object.assign({}, opts), { overrideKey: 'oylwallet' }));
|
|
10
|
+
this.name = 'Oyl Wallet';
|
|
11
|
+
this.overrideKey = 'oylwallet';
|
|
12
|
+
}
|
|
13
|
+
getAddress() {
|
|
14
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
15
|
+
var _a;
|
|
16
|
+
const provider = this.getProvider();
|
|
17
|
+
if (!provider) {
|
|
18
|
+
return;
|
|
19
|
+
}
|
|
20
|
+
const addresses = yield provider.getAddresses();
|
|
21
|
+
const ordinalsAddress = addresses.taproot;
|
|
22
|
+
const paymentAddress = addresses.nativeSegwit;
|
|
23
|
+
const mainAddress = (_a = ordinalsAddress === null || ordinalsAddress === void 0 ? void 0 : ordinalsAddress.address) !== null && _a !== void 0 ? _a : paymentAddress === null || paymentAddress === void 0 ? void 0 : paymentAddress.address;
|
|
24
|
+
yield this.setConnectedAccountWithAddresses({
|
|
25
|
+
active: true,
|
|
26
|
+
mainAddress,
|
|
27
|
+
ordinalsAddress,
|
|
28
|
+
paymentAddress,
|
|
29
|
+
});
|
|
30
|
+
return mainAddress;
|
|
31
|
+
});
|
|
32
|
+
}
|
|
33
|
+
signMessage(messageToSign, options) {
|
|
34
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
35
|
+
const { address, protocol } = options;
|
|
36
|
+
const provider = this.getProvider();
|
|
37
|
+
if (!provider) {
|
|
38
|
+
return;
|
|
39
|
+
}
|
|
40
|
+
const { signature } = yield provider.signMessage({
|
|
41
|
+
address,
|
|
42
|
+
message: messageToSign,
|
|
43
|
+
// Oyl Wallet calls it just bip322 instead of bip322-simple
|
|
44
|
+
protocol: protocol === 'bip322-simple' ? 'bip322' : protocol,
|
|
45
|
+
});
|
|
46
|
+
return signature;
|
|
47
|
+
});
|
|
48
|
+
}
|
|
49
|
+
signPsbt(request) {
|
|
50
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
51
|
+
const provider = this.getProvider();
|
|
52
|
+
if (!provider) {
|
|
53
|
+
return;
|
|
54
|
+
}
|
|
55
|
+
const psbtFromBase64 = Psbt.fromBase64(request.unsignedPsbtBase64);
|
|
56
|
+
const options = createPsbtOptions(psbtFromBase64, request);
|
|
57
|
+
const { psbt: signedPsbtHex } = yield provider.signPsbt({
|
|
58
|
+
broadcast: false,
|
|
59
|
+
finalize: options.autoFinalized,
|
|
60
|
+
psbt: psbtFromBase64.toHex(),
|
|
61
|
+
});
|
|
62
|
+
return { signedPsbt: Psbt.fromHex(signedPsbtHex).toBase64() };
|
|
63
|
+
});
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
export { OylConnector };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { OylConnector } from './OylConnector';
|
|
@@ -5,10 +5,10 @@ Object.defineProperty(exports, '__esModule', { value: true });
|
|
|
5
5
|
|
|
6
6
|
var _tslib = require('../../../_virtual/_tslib.cjs');
|
|
7
7
|
var bitcoinjsLib = require('bitcoinjs-lib');
|
|
8
|
-
var walletConnectorCore = require('@dynamic-labs/wallet-connector-core');
|
|
9
8
|
var utils = require('@dynamic-labs/utils');
|
|
10
9
|
var BitcoinWalletConnector = require('../BitcoinWalletConnector.cjs');
|
|
11
10
|
var createSignPsbtOptions = require('../../utils/psbt/createSignPsbtOptions.cjs');
|
|
11
|
+
require('@dynamic-labs/wallet-connector-core');
|
|
12
12
|
require('sats-connect');
|
|
13
13
|
var sighashNumberToString = require('../../utils/psbt/sighashNumberToString.cjs');
|
|
14
14
|
var base64 = require('../../utils/base64.cjs');
|
|
@@ -67,13 +67,14 @@ class PhantomConnector extends BitcoinWalletConnector.BitcoinWalletConnector {
|
|
|
67
67
|
return undefined;
|
|
68
68
|
});
|
|
69
69
|
}
|
|
70
|
-
signMessage(messageToSign,
|
|
70
|
+
signMessage(messageToSign, options) {
|
|
71
71
|
return _tslib.__awaiter(this, void 0, void 0, function* () {
|
|
72
72
|
var _a;
|
|
73
|
+
const { address } = options;
|
|
73
74
|
if ((_a = this.walletMethods) === null || _a === void 0 ? void 0 : _a.signMessage) {
|
|
74
75
|
const [result] = yield this.walletMethods.signMessage({
|
|
75
76
|
// we need to sign with the ordinals account
|
|
76
|
-
account: { address
|
|
77
|
+
account: { address },
|
|
77
78
|
message: new TextEncoder().encode(messageToSign),
|
|
78
79
|
});
|
|
79
80
|
return Buffer.from(result.signature).toString('base64');
|
|
@@ -83,17 +84,11 @@ class PhantomConnector extends BitcoinWalletConnector.BitcoinWalletConnector {
|
|
|
83
84
|
if (!provider) {
|
|
84
85
|
return;
|
|
85
86
|
}
|
|
86
|
-
const result = yield provider.signMessage(
|
|
87
|
+
const result = yield provider.signMessage(address, new TextEncoder().encode(messageToSign));
|
|
87
88
|
return Buffer.from(result.signature).toString('base64');
|
|
88
89
|
}
|
|
89
90
|
});
|
|
90
91
|
}
|
|
91
|
-
sendBitcoin(transaction) {
|
|
92
|
-
return _tslib.__awaiter(this, void 0, void 0, function* () {
|
|
93
|
-
walletConnectorCore.logger.debug('sendBitcoin - function not implemented', transaction);
|
|
94
|
-
return undefined;
|
|
95
|
-
});
|
|
96
|
-
}
|
|
97
92
|
signPsbt(request) {
|
|
98
93
|
return _tslib.__awaiter(this, void 0, void 0, function* () {
|
|
99
94
|
var _a, _b, _c, _d, _e;
|
|
@@ -1,11 +1,13 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { BitcoinSignPsbtRequest, BitcoinSignPsbtResponse, BitcoinSignProtocol } from '../../types';
|
|
2
2
|
import { BitcoinWalletConnector, BitcoinWalletConnectorOpts } from '../BitcoinWalletConnector';
|
|
3
3
|
export declare class PhantomConnector extends BitcoinWalletConnector {
|
|
4
4
|
name: string;
|
|
5
5
|
constructor(opts: BitcoinWalletConnectorOpts);
|
|
6
6
|
private connectWithInstalledExtension;
|
|
7
7
|
getAddress(): Promise<string | undefined>;
|
|
8
|
-
signMessage(messageToSign: string,
|
|
9
|
-
|
|
8
|
+
signMessage(messageToSign: string, options: {
|
|
9
|
+
address: string;
|
|
10
|
+
protocol?: BitcoinSignProtocol;
|
|
11
|
+
}): Promise<string | undefined>;
|
|
10
12
|
signPsbt(request: BitcoinSignPsbtRequest): Promise<BitcoinSignPsbtResponse | undefined>;
|
|
11
13
|
}
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
'use client'
|
|
2
2
|
import { __awaiter } from '../../../_virtual/_tslib.js';
|
|
3
3
|
import { Psbt } from 'bitcoinjs-lib';
|
|
4
|
-
import { logger } from '@dynamic-labs/wallet-connector-core';
|
|
5
4
|
import { isMobile, handleMobileWalletRedirect } from '@dynamic-labs/utils';
|
|
6
5
|
import { BitcoinWalletConnector } from '../BitcoinWalletConnector.js';
|
|
7
6
|
import { createPsbtOptions } from '../../utils/psbt/createSignPsbtOptions.js';
|
|
7
|
+
import '@dynamic-labs/wallet-connector-core';
|
|
8
8
|
import 'sats-connect';
|
|
9
9
|
import { sighashNumberToString } from '../../utils/psbt/sighashNumberToString.js';
|
|
10
10
|
import { decodeBase64, encodeBase64 } from '../../utils/base64.js';
|
|
@@ -63,13 +63,14 @@ class PhantomConnector extends BitcoinWalletConnector {
|
|
|
63
63
|
return undefined;
|
|
64
64
|
});
|
|
65
65
|
}
|
|
66
|
-
signMessage(messageToSign,
|
|
66
|
+
signMessage(messageToSign, options) {
|
|
67
67
|
return __awaiter(this, void 0, void 0, function* () {
|
|
68
68
|
var _a;
|
|
69
|
+
const { address } = options;
|
|
69
70
|
if ((_a = this.walletMethods) === null || _a === void 0 ? void 0 : _a.signMessage) {
|
|
70
71
|
const [result] = yield this.walletMethods.signMessage({
|
|
71
72
|
// we need to sign with the ordinals account
|
|
72
|
-
account: { address
|
|
73
|
+
account: { address },
|
|
73
74
|
message: new TextEncoder().encode(messageToSign),
|
|
74
75
|
});
|
|
75
76
|
return Buffer.from(result.signature).toString('base64');
|
|
@@ -79,17 +80,11 @@ class PhantomConnector extends BitcoinWalletConnector {
|
|
|
79
80
|
if (!provider) {
|
|
80
81
|
return;
|
|
81
82
|
}
|
|
82
|
-
const result = yield provider.signMessage(
|
|
83
|
+
const result = yield provider.signMessage(address, new TextEncoder().encode(messageToSign));
|
|
83
84
|
return Buffer.from(result.signature).toString('base64');
|
|
84
85
|
}
|
|
85
86
|
});
|
|
86
87
|
}
|
|
87
|
-
sendBitcoin(transaction) {
|
|
88
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
89
|
-
logger.debug('sendBitcoin - function not implemented', transaction);
|
|
90
|
-
return undefined;
|
|
91
|
-
});
|
|
92
|
-
}
|
|
93
88
|
signPsbt(request) {
|
|
94
89
|
return __awaiter(this, void 0, void 0, function* () {
|
|
95
90
|
var _a, _b, _c, _d, _e;
|
|
@@ -5,6 +5,7 @@ Object.defineProperty(exports, '__esModule', { value: true });
|
|
|
5
5
|
|
|
6
6
|
var _tslib = require('../../../_virtual/_tslib.cjs');
|
|
7
7
|
var bitcoinjsLib = require('bitcoinjs-lib');
|
|
8
|
+
var walletConnectorCore = require('@dynamic-labs/wallet-connector-core');
|
|
8
9
|
var BitcoinWalletConnector = require('../BitcoinWalletConnector.cjs');
|
|
9
10
|
var createSignPsbtOptions = require('../../utils/psbt/createSignPsbtOptions.cjs');
|
|
10
11
|
|
|
@@ -34,13 +35,19 @@ class UnisatConnector extends BitcoinWalletConnector.BitcoinWalletConnector {
|
|
|
34
35
|
return address;
|
|
35
36
|
});
|
|
36
37
|
}
|
|
37
|
-
signMessage(messageToSign) {
|
|
38
|
+
signMessage(messageToSign, options) {
|
|
38
39
|
return _tslib.__awaiter(this, void 0, void 0, function* () {
|
|
39
40
|
const provider = this.getProvider();
|
|
40
41
|
if (!provider) {
|
|
41
42
|
return;
|
|
42
43
|
}
|
|
43
|
-
|
|
44
|
+
if (options === null || options === void 0 ? void 0 : options.address) {
|
|
45
|
+
walletConnectorCore.logger.debug('[UnisatConnector] signMessage - Not possible to specify address to sign with', {
|
|
46
|
+
address: options.address,
|
|
47
|
+
protocol: options.protocol,
|
|
48
|
+
});
|
|
49
|
+
}
|
|
50
|
+
return provider.signMessage(messageToSign, options === null || options === void 0 ? void 0 : options.protocol);
|
|
44
51
|
});
|
|
45
52
|
}
|
|
46
53
|
sendBitcoin(transaction) {
|
|
@@ -1,11 +1,14 @@
|
|
|
1
1
|
import { BitcoinWalletConnector, BitcoinWalletConnectorOpts } from '../BitcoinWalletConnector';
|
|
2
|
-
import { BitcoinTransaction, BitcoinSignPsbtRequest, BitcoinSignPsbtResponse } from '../../types';
|
|
2
|
+
import { BitcoinTransaction, BitcoinSignPsbtRequest, BitcoinSignPsbtResponse, BitcoinSignProtocol } from '../../types';
|
|
3
3
|
export declare class UnisatConnector extends BitcoinWalletConnector {
|
|
4
4
|
name: string;
|
|
5
5
|
overrideKey: string;
|
|
6
6
|
constructor(opts: BitcoinWalletConnectorOpts);
|
|
7
7
|
getAddress(): Promise<string | undefined>;
|
|
8
|
-
signMessage(messageToSign: string
|
|
8
|
+
signMessage(messageToSign: string, options?: {
|
|
9
|
+
address?: string;
|
|
10
|
+
protocol?: BitcoinSignProtocol;
|
|
11
|
+
}): Promise<string | undefined>;
|
|
9
12
|
sendBitcoin(transaction: BitcoinTransaction): Promise<string | undefined>;
|
|
10
13
|
signPsbt(request: BitcoinSignPsbtRequest): Promise<BitcoinSignPsbtResponse | undefined>;
|
|
11
14
|
signPsbts(requests: BitcoinSignPsbtRequest[]): Promise<string[] | undefined>;
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
'use client'
|
|
2
2
|
import { __awaiter } from '../../../_virtual/_tslib.js';
|
|
3
3
|
import { Psbt } from 'bitcoinjs-lib';
|
|
4
|
+
import { logger } from '@dynamic-labs/wallet-connector-core';
|
|
4
5
|
import { BitcoinWalletConnector } from '../BitcoinWalletConnector.js';
|
|
5
6
|
import { createPsbtOptions } from '../../utils/psbt/createSignPsbtOptions.js';
|
|
6
7
|
|
|
@@ -30,13 +31,19 @@ class UnisatConnector extends BitcoinWalletConnector {
|
|
|
30
31
|
return address;
|
|
31
32
|
});
|
|
32
33
|
}
|
|
33
|
-
signMessage(messageToSign) {
|
|
34
|
+
signMessage(messageToSign, options) {
|
|
34
35
|
return __awaiter(this, void 0, void 0, function* () {
|
|
35
36
|
const provider = this.getProvider();
|
|
36
37
|
if (!provider) {
|
|
37
38
|
return;
|
|
38
39
|
}
|
|
39
|
-
|
|
40
|
+
if (options === null || options === void 0 ? void 0 : options.address) {
|
|
41
|
+
logger.debug('[UnisatConnector] signMessage - Not possible to specify address to sign with', {
|
|
42
|
+
address: options.address,
|
|
43
|
+
protocol: options.protocol,
|
|
44
|
+
});
|
|
45
|
+
}
|
|
46
|
+
return provider.signMessage(messageToSign, options === null || options === void 0 ? void 0 : options.protocol);
|
|
40
47
|
});
|
|
41
48
|
}
|
|
42
49
|
sendBitcoin(transaction) {
|
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
export * from './BitcoinWalletConnector';
|
|
2
2
|
export * from './BitcoinBtcKitConnector';
|
|
3
3
|
export * from './BitcoinSatsConnectConnector';
|
|
4
|
-
export * from './
|
|
4
|
+
export * from './MagicEdenConnector';
|
|
5
5
|
export * from './PhantomConnector';
|
|
6
6
|
export * from './OkxConnector';
|
|
7
|
+
export * from './OneKeyConnector';
|
|
8
|
+
export * from './OylConnector';
|
|
7
9
|
export * from './UnisatConnector';
|
|
8
|
-
export * from './UnknownInjected';
|
|
9
10
|
export * from './FallbackBitcoinConnector';
|
package/src/const.cjs
CHANGED
|
@@ -3,7 +3,6 @@
|
|
|
3
3
|
|
|
4
4
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
5
5
|
|
|
6
|
-
const XVERSE_KEY = 'xverse';
|
|
7
6
|
const SATSCONNECT_FEATURE = 'sats-connect:';
|
|
8
7
|
const BTCKIT_INTERFACE = 'btckit';
|
|
9
8
|
const HTTP_STATUS_TOO_MANY_REQUESTS = 429;
|
|
@@ -17,4 +16,3 @@ exports.HTTP_STATUS_TOO_MANY_REQUESTS = HTTP_STATUS_TOO_MANY_REQUESTS;
|
|
|
17
16
|
exports.MEMPOOL_API_URL = MEMPOOL_API_URL;
|
|
18
17
|
exports.MEMPOOL_API_URL_TESTNET = MEMPOOL_API_URL_TESTNET;
|
|
19
18
|
exports.SATSCONNECT_FEATURE = SATSCONNECT_FEATURE;
|
|
20
|
-
exports.XVERSE_KEY = XVERSE_KEY;
|
package/src/const.js
CHANGED
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
'use client'
|
|
2
|
-
const XVERSE_KEY = 'xverse';
|
|
3
2
|
const SATSCONNECT_FEATURE = 'sats-connect:';
|
|
4
3
|
const BTCKIT_INTERFACE = 'btckit';
|
|
5
4
|
const HTTP_STATUS_TOO_MANY_REQUESTS = 429;
|
|
@@ -7,4 +6,4 @@ const HTTP_STATUS_NOT_FOUND = 404;
|
|
|
7
6
|
const MEMPOOL_API_URL = 'https://mempool.space/api';
|
|
8
7
|
const MEMPOOL_API_URL_TESTNET = 'https://mempool.space/testnet/api';
|
|
9
8
|
|
|
10
|
-
export { BTCKIT_INTERFACE, HTTP_STATUS_NOT_FOUND, HTTP_STATUS_TOO_MANY_REQUESTS, MEMPOOL_API_URL, MEMPOOL_API_URL_TESTNET, SATSCONNECT_FEATURE
|
|
9
|
+
export { BTCKIT_INTERFACE, HTTP_STATUS_NOT_FOUND, HTTP_STATUS_TOO_MANY_REQUESTS, MEMPOOL_API_URL, MEMPOOL_API_URL_TESTNET, SATSCONNECT_FEATURE };
|
package/src/index.cjs
CHANGED
|
@@ -11,17 +11,17 @@ require('sats-connect');
|
|
|
11
11
|
require('bitcoinjs-lib');
|
|
12
12
|
require('@dynamic-labs/wallet-connector-core');
|
|
13
13
|
require('@dynamic-labs/utils');
|
|
14
|
-
require('
|
|
15
|
-
var fetchBtcKitConnectors = require('./utils/fetchBtcKitConnectors/fetchBtcKitConnectors.cjs');
|
|
16
|
-
var fetchSatsConnectConnectors = require('./utils/fetchSatsConnectConnectors/fetchSatsConnectConnectors.cjs');
|
|
17
|
-
var hasSatsConnectFeature = require('./utils/hasSatsConnectFeature.cjs');
|
|
18
|
-
var supportsSatsConnect = require('./utils/supportsSatsConnect.cjs');
|
|
19
|
-
var getMempoolApiUrl = require('./utils/getMempoolApiUrl.cjs');
|
|
14
|
+
var MagicEdenConnector = require('./connectors/MagicEdenConnector/MagicEdenConnector.cjs');
|
|
20
15
|
var PhantomConnector = require('./connectors/PhantomConnector/PhantomConnector.cjs');
|
|
21
16
|
var OkxConnector = require('./connectors/OkxConnector/OkxConnector.cjs');
|
|
17
|
+
var OneKeyConnector = require('./connectors/OneKeyConnector/OneKeyConnector.cjs');
|
|
18
|
+
var OylConnector = require('./connectors/OylConnector/OylConnector.cjs');
|
|
22
19
|
var UnisatConnector = require('./connectors/UnisatConnector/UnisatConnector.cjs');
|
|
23
|
-
var UnknownInjected = require('./connectors/UnknownInjected/UnknownInjected.cjs');
|
|
24
20
|
var FallbackBitcoinConnector = require('./connectors/FallbackBitcoinConnector/FallbackBitcoinConnector.cjs');
|
|
21
|
+
var fetchBtcKitConnectors = require('./utils/fetchBtcKitConnectors/fetchBtcKitConnectors.cjs');
|
|
22
|
+
var fetchSatsConnectConnectors = require('./utils/fetchSatsConnectConnectors/fetchSatsConnectConnectors.cjs');
|
|
23
|
+
var hasSatsConnectFeature = require('./utils/hasSatsConnectFeature.cjs');
|
|
24
|
+
var getMempoolApiUrl = require('./utils/getMempoolApiUrl.cjs');
|
|
25
25
|
var BitcoinWallet = require('./wallet/BitcoinWallet.cjs');
|
|
26
26
|
var isBitcoinWallet = require('./wallet/isBitcoinWallet/isBitcoinWallet.cjs');
|
|
27
27
|
|
|
@@ -29,10 +29,12 @@ assertPackageVersion.assertPackageVersion('@dynamic-labs/bitcoin', _package.vers
|
|
|
29
29
|
const BitcoinWalletConnectors = (props) => [
|
|
30
30
|
...fetchSatsConnectConnectors.fetchSatsConnectConnectors(props),
|
|
31
31
|
...fetchBtcKitConnectors.fetchBtcKitConnectors(props),
|
|
32
|
+
MagicEdenConnector.MagicEdenConnector,
|
|
32
33
|
PhantomConnector.PhantomConnector,
|
|
33
34
|
OkxConnector.OkxConnector,
|
|
35
|
+
OneKeyConnector.OneKeyConnector,
|
|
36
|
+
OylConnector.OylConnector,
|
|
34
37
|
UnisatConnector.UnisatConnector,
|
|
35
|
-
UnknownInjected.UnknownInjectedConnector,
|
|
36
38
|
FallbackBitcoinConnector.FallbackBitcoinConnector,
|
|
37
39
|
];
|
|
38
40
|
|
|
@@ -40,7 +42,6 @@ exports.BitcoinWalletConnector = BitcoinWalletConnector.BitcoinWalletConnector;
|
|
|
40
42
|
exports.fetchBtcKitConnectors = fetchBtcKitConnectors.fetchBtcKitConnectors;
|
|
41
43
|
exports.fetchSatsConnectConnectors = fetchSatsConnectConnectors.fetchSatsConnectConnectors;
|
|
42
44
|
exports.hasSatsConnectFeature = hasSatsConnectFeature.hasSatsConnectFeature;
|
|
43
|
-
exports.supportsSatsConnect = supportsSatsConnect.supportsSatsConnect;
|
|
44
45
|
exports.getMempoolApiUrl = getMempoolApiUrl.getMempoolApiUrl;
|
|
45
46
|
exports.BitcoinWallet = BitcoinWallet.BitcoinWallet;
|
|
46
47
|
exports.isBitcoinWallet = isBitcoinWallet.isBitcoinWallet;
|
package/src/index.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { OkxConnector
|
|
1
|
+
import { OkxConnector } from './connectors';
|
|
2
2
|
export { BitcoinWalletConnector } from './connectors';
|
|
3
|
-
export type { BitcoinTransaction } from './types';
|
|
3
|
+
export type { BitcoinTransaction, BitcoinSignProtocol } from './types';
|
|
4
4
|
export * from './utils';
|
|
5
5
|
export * from './wallet';
|
|
6
|
-
export declare const BitcoinWalletConnectors: (props: any) => (import("dist/packages/wallet-connector-core/src").WalletConnectorConstructor | typeof
|
|
6
|
+
export declare const BitcoinWalletConnectors: (props: any) => (import("dist/packages/wallet-connector-core/src").WalletConnectorConstructor | typeof OkxConnector)[];
|
package/src/index.js
CHANGED
|
@@ -7,19 +7,19 @@ import 'sats-connect';
|
|
|
7
7
|
import 'bitcoinjs-lib';
|
|
8
8
|
import '@dynamic-labs/wallet-connector-core';
|
|
9
9
|
import '@dynamic-labs/utils';
|
|
10
|
-
import '
|
|
10
|
+
import { MagicEdenConnector } from './connectors/MagicEdenConnector/MagicEdenConnector.js';
|
|
11
|
+
import { PhantomConnector } from './connectors/PhantomConnector/PhantomConnector.js';
|
|
12
|
+
import { OkxConnector } from './connectors/OkxConnector/OkxConnector.js';
|
|
13
|
+
import { OneKeyConnector } from './connectors/OneKeyConnector/OneKeyConnector.js';
|
|
14
|
+
import { OylConnector } from './connectors/OylConnector/OylConnector.js';
|
|
15
|
+
import { UnisatConnector } from './connectors/UnisatConnector/UnisatConnector.js';
|
|
16
|
+
import { FallbackBitcoinConnector } from './connectors/FallbackBitcoinConnector/FallbackBitcoinConnector.js';
|
|
11
17
|
import { fetchBtcKitConnectors } from './utils/fetchBtcKitConnectors/fetchBtcKitConnectors.js';
|
|
12
18
|
export { fetchBtcKitConnectors } from './utils/fetchBtcKitConnectors/fetchBtcKitConnectors.js';
|
|
13
19
|
import { fetchSatsConnectConnectors } from './utils/fetchSatsConnectConnectors/fetchSatsConnectConnectors.js';
|
|
14
20
|
export { fetchSatsConnectConnectors } from './utils/fetchSatsConnectConnectors/fetchSatsConnectConnectors.js';
|
|
15
21
|
export { hasSatsConnectFeature } from './utils/hasSatsConnectFeature.js';
|
|
16
|
-
export { supportsSatsConnect } from './utils/supportsSatsConnect.js';
|
|
17
22
|
export { getMempoolApiUrl } from './utils/getMempoolApiUrl.js';
|
|
18
|
-
import { PhantomConnector } from './connectors/PhantomConnector/PhantomConnector.js';
|
|
19
|
-
import { OkxConnector } from './connectors/OkxConnector/OkxConnector.js';
|
|
20
|
-
import { UnisatConnector } from './connectors/UnisatConnector/UnisatConnector.js';
|
|
21
|
-
import { UnknownInjectedConnector } from './connectors/UnknownInjected/UnknownInjected.js';
|
|
22
|
-
import { FallbackBitcoinConnector } from './connectors/FallbackBitcoinConnector/FallbackBitcoinConnector.js';
|
|
23
23
|
export { BitcoinWallet } from './wallet/BitcoinWallet.js';
|
|
24
24
|
export { isBitcoinWallet } from './wallet/isBitcoinWallet/isBitcoinWallet.js';
|
|
25
25
|
|
|
@@ -27,10 +27,12 @@ assertPackageVersion('@dynamic-labs/bitcoin', version);
|
|
|
27
27
|
const BitcoinWalletConnectors = (props) => [
|
|
28
28
|
...fetchSatsConnectConnectors(props),
|
|
29
29
|
...fetchBtcKitConnectors(props),
|
|
30
|
+
MagicEdenConnector,
|
|
30
31
|
PhantomConnector,
|
|
31
32
|
OkxConnector,
|
|
33
|
+
OneKeyConnector,
|
|
34
|
+
OylConnector,
|
|
32
35
|
UnisatConnector,
|
|
33
|
-
UnknownInjectedConnector,
|
|
34
36
|
FallbackBitcoinConnector,
|
|
35
37
|
];
|
|
36
38
|
|
package/src/types.d.ts
CHANGED
|
@@ -3,7 +3,6 @@
|
|
|
3
3
|
|
|
4
4
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
5
5
|
|
|
6
|
-
var _const = require('../../const.cjs');
|
|
7
6
|
require('../../../_virtual/_tslib.cjs');
|
|
8
7
|
require('sats-connect');
|
|
9
8
|
require('@dynamic-labs/wallet-connector-core');
|
|
@@ -11,9 +10,10 @@ require('@dynamic-labs/wallet-book');
|
|
|
11
10
|
require('@dynamic-labs/utils');
|
|
12
11
|
require('@dynamic-labs/sdk-api-core');
|
|
13
12
|
require('@wallet-standard/app');
|
|
13
|
+
var _const = require('../../const.cjs');
|
|
14
14
|
require('bitcoinjs-lib');
|
|
15
15
|
var BitcoinSatsConnectConnector = require('../../connectors/BitcoinSatsConnectConnector/BitcoinSatsConnectConnector.cjs');
|
|
16
|
-
|
|
16
|
+
require('jsontokens');
|
|
17
17
|
|
|
18
18
|
const fetchSatsConnectConnectors = ({ walletBook, }) => {
|
|
19
19
|
var _a;
|
|
@@ -22,26 +22,16 @@ const fetchSatsConnectConnectors = ({ walletBook, }) => {
|
|
|
22
22
|
.filter(([_, wallet]) => {
|
|
23
23
|
var _a;
|
|
24
24
|
return (_a = wallet.injectedConfig) === null || _a === void 0 ? void 0 : _a.find((config) => {
|
|
25
|
-
var _a;
|
|
25
|
+
var _a, _b;
|
|
26
26
|
return config.chain === 'btc' &&
|
|
27
|
-
|
|
27
|
+
((_a = config.walletStandard) === null || _a === void 0 ? void 0 : _a.features.includes(_const.SATSCONNECT_FEATURE)) &&
|
|
28
|
+
((_b = config.walletStandard) === null || _b === void 0 ? void 0 : _b.providerId);
|
|
28
29
|
});
|
|
29
30
|
})
|
|
30
31
|
.map(([key, wallet]) => {
|
|
31
|
-
|
|
32
|
-
const { shortName, injectedConfig } = wallet;
|
|
32
|
+
const { shortName } = wallet;
|
|
33
33
|
const name = shortName || wallet.name;
|
|
34
|
-
|
|
35
|
-
if ((_a = injectedConfig === null || injectedConfig === void 0 ? void 0 : injectedConfig[0].walletStandard) === null || _a === void 0 ? void 0 : _a.providerId) {
|
|
36
|
-
return class extends BitcoinSatsConnectConnector.BitcoinSatsConnectConnector {
|
|
37
|
-
constructor(props) {
|
|
38
|
-
super(Object.assign(Object.assign({}, props), { overrideKey: key, walletData: wallet }));
|
|
39
|
-
this.name = name;
|
|
40
|
-
}
|
|
41
|
-
};
|
|
42
|
-
}
|
|
43
|
-
// id doesn't have providerId, use the legacy connector (magiceden)
|
|
44
|
-
return class extends BitcoinSatsConnectLegacyConnector.BitcoinSatsConnectLegacyConnector {
|
|
34
|
+
return class extends BitcoinSatsConnectConnector.BitcoinSatsConnectConnector {
|
|
45
35
|
constructor(props) {
|
|
46
36
|
super(Object.assign(Object.assign({}, props), { overrideKey: key, walletData: wallet }));
|
|
47
37
|
this.name = name;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { WalletConnectorConstructor } from '@dynamic-labs/wallet-connector-core';
|
|
2
1
|
import { WalletBookSchema } from '@dynamic-labs/wallet-book';
|
|
2
|
+
import { WalletConnectorConstructor } from '@dynamic-labs/wallet-connector-core';
|
|
3
3
|
export declare const fetchSatsConnectConnectors: ({ walletBook, }: {
|
|
4
4
|
walletBook: WalletBookSchema;
|
|
5
5
|
}) => WalletConnectorConstructor[];
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
'use client'
|
|
2
|
-
import { SATSCONNECT_FEATURE } from '../../const.js';
|
|
3
2
|
import '../../../_virtual/_tslib.js';
|
|
4
3
|
import 'sats-connect';
|
|
5
4
|
import '@dynamic-labs/wallet-connector-core';
|
|
@@ -7,9 +6,10 @@ import '@dynamic-labs/wallet-book';
|
|
|
7
6
|
import '@dynamic-labs/utils';
|
|
8
7
|
import '@dynamic-labs/sdk-api-core';
|
|
9
8
|
import '@wallet-standard/app';
|
|
9
|
+
import { SATSCONNECT_FEATURE } from '../../const.js';
|
|
10
10
|
import 'bitcoinjs-lib';
|
|
11
11
|
import { BitcoinSatsConnectConnector } from '../../connectors/BitcoinSatsConnectConnector/BitcoinSatsConnectConnector.js';
|
|
12
|
-
import
|
|
12
|
+
import 'jsontokens';
|
|
13
13
|
|
|
14
14
|
const fetchSatsConnectConnectors = ({ walletBook, }) => {
|
|
15
15
|
var _a;
|
|
@@ -18,26 +18,16 @@ const fetchSatsConnectConnectors = ({ walletBook, }) => {
|
|
|
18
18
|
.filter(([_, wallet]) => {
|
|
19
19
|
var _a;
|
|
20
20
|
return (_a = wallet.injectedConfig) === null || _a === void 0 ? void 0 : _a.find((config) => {
|
|
21
|
-
var _a;
|
|
21
|
+
var _a, _b;
|
|
22
22
|
return config.chain === 'btc' &&
|
|
23
|
-
|
|
23
|
+
((_a = config.walletStandard) === null || _a === void 0 ? void 0 : _a.features.includes(SATSCONNECT_FEATURE)) &&
|
|
24
|
+
((_b = config.walletStandard) === null || _b === void 0 ? void 0 : _b.providerId);
|
|
24
25
|
});
|
|
25
26
|
})
|
|
26
27
|
.map(([key, wallet]) => {
|
|
27
|
-
|
|
28
|
-
const { shortName, injectedConfig } = wallet;
|
|
28
|
+
const { shortName } = wallet;
|
|
29
29
|
const name = shortName || wallet.name;
|
|
30
|
-
|
|
31
|
-
if ((_a = injectedConfig === null || injectedConfig === void 0 ? void 0 : injectedConfig[0].walletStandard) === null || _a === void 0 ? void 0 : _a.providerId) {
|
|
32
|
-
return class extends BitcoinSatsConnectConnector {
|
|
33
|
-
constructor(props) {
|
|
34
|
-
super(Object.assign(Object.assign({}, props), { overrideKey: key, walletData: wallet }));
|
|
35
|
-
this.name = name;
|
|
36
|
-
}
|
|
37
|
-
};
|
|
38
|
-
}
|
|
39
|
-
// id doesn't have providerId, use the legacy connector (magiceden)
|
|
40
|
-
return class extends BitcoinSatsConnectLegacyConnector {
|
|
30
|
+
return class extends BitcoinSatsConnectConnector {
|
|
41
31
|
constructor(props) {
|
|
42
32
|
super(Object.assign(Object.assign({}, props), { overrideKey: key, walletData: wallet }));
|
|
43
33
|
this.name = name;
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
'use client'
|
|
2
|
+
'use strict';
|
|
3
|
+
|
|
4
|
+
Object.defineProperty(exports, '__esModule', { value: true });
|
|
5
|
+
|
|
6
|
+
const getAddressByType = (wallet, addressType) => {
|
|
7
|
+
var _a;
|
|
8
|
+
return ((_a = wallet.additionalAddresses.find((addr) => addr.type === addressType)) === null || _a === void 0 ? void 0 : _a.address) || wallet.address;
|
|
9
|
+
};
|
|
10
|
+
|
|
11
|
+
exports.getAddressByType = getAddressByType;
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
'use client'
|
|
2
|
+
const getAddressByType = (wallet, addressType) => {
|
|
3
|
+
var _a;
|
|
4
|
+
return ((_a = wallet.additionalAddresses.find((addr) => addr.type === addressType)) === null || _a === void 0 ? void 0 : _a.address) || wallet.address;
|
|
5
|
+
};
|
|
6
|
+
|
|
7
|
+
export { getAddressByType };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { getAddressByType } from './getAddressByType';
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
'use client'
|
|
2
|
+
'use strict';
|
|
3
|
+
|
|
4
|
+
Object.defineProperty(exports, '__esModule', { value: true });
|
|
5
|
+
|
|
6
|
+
var satsConnect = require('sats-connect');
|
|
7
|
+
|
|
8
|
+
const getSatsConnectSigningProtocol = (protocol) => {
|
|
9
|
+
if (!protocol) {
|
|
10
|
+
return undefined;
|
|
11
|
+
}
|
|
12
|
+
return protocol === 'ecdsa'
|
|
13
|
+
? satsConnect.MessageSigningProtocols.ECDSA
|
|
14
|
+
: satsConnect.MessageSigningProtocols.BIP322;
|
|
15
|
+
};
|
|
16
|
+
|
|
17
|
+
exports.getSatsConnectSigningProtocol = getSatsConnectSigningProtocol;
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
'use client'
|
|
2
|
+
import { MessageSigningProtocols } from 'sats-connect';
|
|
3
|
+
|
|
4
|
+
const getSatsConnectSigningProtocol = (protocol) => {
|
|
5
|
+
if (!protocol) {
|
|
6
|
+
return undefined;
|
|
7
|
+
}
|
|
8
|
+
return protocol === 'ecdsa'
|
|
9
|
+
? MessageSigningProtocols.ECDSA
|
|
10
|
+
: MessageSigningProtocols.BIP322;
|
|
11
|
+
};
|
|
12
|
+
|
|
13
|
+
export { getSatsConnectSigningProtocol };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './getSatsConnectSigningProtocol';
|
package/src/utils/index.d.ts
CHANGED
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
export * from './fetchBtcKitConnectors';
|
|
2
2
|
export * from './fetchSatsConnectConnectors';
|
|
3
3
|
export { hasSatsConnectFeature } from './hasSatsConnectFeature';
|
|
4
|
-
export { supportsSatsConnect } from './supportsSatsConnect';
|
|
5
4
|
export { getMempoolApiUrl } from './getMempoolApiUrl';
|