@multiplechain/bitcoin 0.1.17 → 0.4.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/README.md +7 -1
- package/dist/assets/Coin.d.ts +38 -0
- package/dist/assets/index.d.ts +1 -0
- package/dist/browser/Wallet.d.ts +81 -0
- package/dist/browser/adapters/Leather.d.ts +16 -0
- package/dist/browser/adapters/UniSat.d.ts +19 -0
- package/dist/browser/adapters/Xverse.d.ts +6 -0
- package/dist/browser/adapters/icons.d.ts +6 -0
- package/dist/browser/adapters/index.d.ts +3 -0
- package/dist/browser/index.d.ts +11 -0
- package/dist/index.cjs +83 -0
- package/dist/index.cjs.map +7 -0
- package/dist/index.d.ts +6 -0
- package/dist/index.es.js +43583 -0
- package/dist/index.es.js.map +1 -0
- package/dist/index.umd.js +133 -0
- package/dist/index.umd.js.map +1 -0
- package/dist/models/CoinTransaction.d.ts +24 -0
- package/dist/models/Transaction.d.ts +106 -0
- package/dist/models/index.d.ts +2 -0
- package/dist/services/Provider.d.ts +80 -0
- package/dist/services/TransactionListener.d.ts +120 -0
- package/dist/services/TransactionSigner.d.ts +50 -0
- package/dist/services/index.d.ts +2 -0
- package/dist/utils.d.ts +3 -0
- package/package.json +85 -50
- package/LICENSE +0 -21
- package/dist/bitcoin-provider.js +0 -2
- package/dist/bitcoin-provider.js.LICENSE.txt +0 -30
- package/src/adapters/leather.js +0 -75
- package/src/adapters/trustwallet.js +0 -32
- package/src/adapters/unisat.js +0 -42
- package/src/adapters/xverse.js +0 -86
- package/src/entity/coin.js +0 -74
- package/src/entity/token.js +0 -5
- package/src/entity/transaction.js +0 -183
- package/src/get-adapter.js +0 -14
- package/src/provider.js +0 -221
- package/src/utils.js +0 -26
- package/src/wallet.js +0 -180
package/README.md
CHANGED
|
@@ -1 +1,7 @@
|
|
|
1
|
-
|
|
1
|
+
# MultipleChain standard for JavaScript
|
|
2
|
+
|
|
3
|
+
## Introduction
|
|
4
|
+
|
|
5
|
+
MultipleChain aims for easy access by simplifying the complex structure of many blockchains. For example, each blockchain network has a different structure for transfer initiation or transaction data. You may need to learn new things from scratch for each blockchain network. This is necessary if you want to go into detail. But if you just want to get to the basics. MultipleChain will make your work much easier. In many different programming languages.
|
|
6
|
+
|
|
7
|
+
#### 📚 [Documentation](https://multiplechain.gitbook.io/multiplechain-docs)
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import { CoinInterface, TransferAmount, WalletAddress } from '@multiplechain/types';
|
|
2
|
+
import { TransactionSigner } from '../services/TransactionSigner.ts';
|
|
3
|
+
import { Provider } from '../services/Provider.ts';
|
|
4
|
+
|
|
5
|
+
export declare class Coin implements CoinInterface<TransactionSigner> {
|
|
6
|
+
/**
|
|
7
|
+
* Blockchain network provider
|
|
8
|
+
*/
|
|
9
|
+
provider: Provider;
|
|
10
|
+
/**
|
|
11
|
+
* @param {Provider} provider network provider
|
|
12
|
+
*/
|
|
13
|
+
constructor(provider?: Provider);
|
|
14
|
+
/**
|
|
15
|
+
* @returns {string} Coin name
|
|
16
|
+
*/
|
|
17
|
+
getName(): string;
|
|
18
|
+
/**
|
|
19
|
+
* @returns {string} Coin symbol
|
|
20
|
+
*/
|
|
21
|
+
getSymbol(): string;
|
|
22
|
+
/**
|
|
23
|
+
* @returns {number} Decimal value of the coin
|
|
24
|
+
*/
|
|
25
|
+
getDecimals(): number;
|
|
26
|
+
/**
|
|
27
|
+
* @param {WalletAddress} owner Wallet address
|
|
28
|
+
* @returns {Promise<number>} Wallet balance as currency of COIN
|
|
29
|
+
*/
|
|
30
|
+
getBalance(owner: WalletAddress): Promise<number>;
|
|
31
|
+
/**
|
|
32
|
+
* @param {WalletAddress} sender Sender wallet address
|
|
33
|
+
* @param {WalletAddress} receiver Receiver wallet address
|
|
34
|
+
* @param {TransferAmount} amount Amount of assets that will be transferred
|
|
35
|
+
* @returns {Promise<TransactionSigner>} Transaction signer
|
|
36
|
+
*/
|
|
37
|
+
transfer(sender: WalletAddress, receiver: WalletAddress, amount: TransferAmount): Promise<TransactionSigner>;
|
|
38
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './Coin.ts';
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
import { TransactionSigner } from '../services/TransactionSigner.ts';
|
|
2
|
+
import { Provider } from '../services/Provider.ts';
|
|
3
|
+
import { WalletInterface, WalletAdapterInterface, WalletPlatformEnum, UnknownConfig, ConnectConfig, WalletAddress, SignedMessage, TransactionId } from '@multiplechain/types';
|
|
4
|
+
|
|
5
|
+
export interface BitcoinWalletAdapter {
|
|
6
|
+
getAddress: () => Promise<string>;
|
|
7
|
+
signMessage: (message: string) => Promise<string>;
|
|
8
|
+
sendBitcoin: (to: string, amount: number) => Promise<string>;
|
|
9
|
+
on: (event: string, callback: (data: any) => void) => void;
|
|
10
|
+
}
|
|
11
|
+
type WalletAdapter = WalletAdapterInterface<Provider, BitcoinWalletAdapter>;
|
|
12
|
+
export declare class Wallet implements WalletInterface<Provider, BitcoinWalletAdapter, TransactionSigner> {
|
|
13
|
+
adapter: WalletAdapter;
|
|
14
|
+
walletProvider: BitcoinWalletAdapter;
|
|
15
|
+
networkProvider: Provider;
|
|
16
|
+
/**
|
|
17
|
+
* @param {WalletAdapter} adapter
|
|
18
|
+
* @param {Provider} provider
|
|
19
|
+
*/
|
|
20
|
+
constructor(adapter: WalletAdapter, provider?: Provider);
|
|
21
|
+
/**
|
|
22
|
+
* @returns {string}
|
|
23
|
+
*/
|
|
24
|
+
getId(): string;
|
|
25
|
+
/**
|
|
26
|
+
* @returns {string}
|
|
27
|
+
*/
|
|
28
|
+
getName(): string;
|
|
29
|
+
/**
|
|
30
|
+
* @returns {string}
|
|
31
|
+
*/
|
|
32
|
+
getIcon(): string;
|
|
33
|
+
/**
|
|
34
|
+
* @returns {WalletPlatformEnum[]}
|
|
35
|
+
*/
|
|
36
|
+
getPlatforms(): WalletPlatformEnum[];
|
|
37
|
+
/**
|
|
38
|
+
* @returns {string}
|
|
39
|
+
*/
|
|
40
|
+
getDownloadLink(): string | undefined;
|
|
41
|
+
/**
|
|
42
|
+
* @param {string} url
|
|
43
|
+
* @param {UnknownConfig} config
|
|
44
|
+
* @returns {string}
|
|
45
|
+
*/
|
|
46
|
+
createDeepLink(url: string, config?: UnknownConfig): string | null;
|
|
47
|
+
/**
|
|
48
|
+
* @param {ConnectConfig} config
|
|
49
|
+
* @returns {Promise<WalletAddress>}
|
|
50
|
+
*/
|
|
51
|
+
connect(config?: ConnectConfig): Promise<WalletAddress>;
|
|
52
|
+
/**
|
|
53
|
+
* @returns {boolean}
|
|
54
|
+
*/
|
|
55
|
+
isDetected(): Promise<boolean>;
|
|
56
|
+
/**
|
|
57
|
+
* @returns {boolean}
|
|
58
|
+
*/
|
|
59
|
+
isConnected(): Promise<boolean>;
|
|
60
|
+
/**
|
|
61
|
+
* @returns {Promise<WalletAddress>}
|
|
62
|
+
*/
|
|
63
|
+
getAddress(): Promise<WalletAddress>;
|
|
64
|
+
/**
|
|
65
|
+
* @param {string} message
|
|
66
|
+
* @returns {Promise<SignedMessage>}
|
|
67
|
+
*/
|
|
68
|
+
signMessage(message: string): Promise<SignedMessage>;
|
|
69
|
+
/**
|
|
70
|
+
* @param {TransactionSigner} transactionSigner
|
|
71
|
+
* @returns {Promise<TransactionId>}
|
|
72
|
+
*/
|
|
73
|
+
sendTransaction(transactionSigner: TransactionSigner): Promise<TransactionId>;
|
|
74
|
+
/**
|
|
75
|
+
* @param {string} eventName
|
|
76
|
+
* @param {Function} callback
|
|
77
|
+
* @returns {void}
|
|
78
|
+
*/
|
|
79
|
+
on(eventName: string, callback: (...args: any[]) => void): void;
|
|
80
|
+
}
|
|
81
|
+
export {};
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { Provider } from '../../services/Provider.ts';
|
|
2
|
+
import { BitcoinWalletAdapter } from '../Wallet.ts';
|
|
3
|
+
import { WalletAdapterInterface } from '@multiplechain/types';
|
|
4
|
+
|
|
5
|
+
declare global {
|
|
6
|
+
interface Window {
|
|
7
|
+
btc: {
|
|
8
|
+
listen?: (event: string, callback: (data: any) => void) => void;
|
|
9
|
+
};
|
|
10
|
+
LeatherProvider: {
|
|
11
|
+
request: (method: string, params: any) => Promise<any>;
|
|
12
|
+
};
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
declare const Leather: WalletAdapterInterface<Provider, BitcoinWalletAdapter>;
|
|
16
|
+
export default Leather;
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { WalletAdapterInterface } from '@multiplechain/types';
|
|
2
|
+
import { Provider } from '../../services/Provider.ts';
|
|
3
|
+
import { BitcoinWalletAdapter } from '../Wallet.ts';
|
|
4
|
+
|
|
5
|
+
declare global {
|
|
6
|
+
interface Window {
|
|
7
|
+
unisat: {
|
|
8
|
+
_isConnected: boolean;
|
|
9
|
+
getAccounts: () => Promise<string[]>;
|
|
10
|
+
requestAccounts: () => Promise<void>;
|
|
11
|
+
signMessage: (message: string) => Promise<string>;
|
|
12
|
+
switchNetwork: (network: string) => Promise<void>;
|
|
13
|
+
on: (event: string, callback: (data: any) => void) => void;
|
|
14
|
+
sendBitcoin: (to: string, amount: number) => Promise<string>;
|
|
15
|
+
};
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
declare const UniSat: WalletAdapterInterface<Provider, BitcoinWalletAdapter>;
|
|
19
|
+
export default UniSat;
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { Provider } from '../../services/Provider.ts';
|
|
2
|
+
import { WalletAdapterInterface } from '@multiplechain/types';
|
|
3
|
+
import { BitcoinWalletAdapter } from '../Wallet.ts';
|
|
4
|
+
|
|
5
|
+
declare const Xverse: WalletAdapterInterface<Provider, BitcoinWalletAdapter>;
|
|
6
|
+
export default Xverse;
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { WalletAdapterListType, RegisterWalletAdapterType } from '@multiplechain/types';
|
|
2
|
+
import { Wallet, BitcoinWalletAdapter } from './Wallet.ts';
|
|
3
|
+
import { Provider } from 'sats-connect';
|
|
4
|
+
|
|
5
|
+
import * as adapterList from './adapters/index.ts';
|
|
6
|
+
export * from '../index.ts';
|
|
7
|
+
export declare const browser: {
|
|
8
|
+
Wallet: typeof Wallet;
|
|
9
|
+
registerAdapter: RegisterWalletAdapterType<Provider, BitcoinWalletAdapter>;
|
|
10
|
+
adapters: WalletAdapterListType<Provider, BitcoinWalletAdapter> & typeof adapterList;
|
|
11
|
+
};
|