@metamask-previews/multichain-transactions-controller 0.0.1-preview-9df90b5
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 +17 -0
- package/LICENSE +20 -0
- package/README.md +15 -0
- package/dist/MultichainTransactionsController.cjs +195 -0
- package/dist/MultichainTransactionsController.cjs.map +1 -0
- package/dist/MultichainTransactionsController.d.cts +105 -0
- package/dist/MultichainTransactionsController.d.cts.map +1 -0
- package/dist/MultichainTransactionsController.d.mts +105 -0
- package/dist/MultichainTransactionsController.d.mts.map +1 -0
- package/dist/MultichainTransactionsController.mjs +190 -0
- package/dist/MultichainTransactionsController.mjs.map +1 -0
- package/dist/MultichainTransactionsTracker.cjs +124 -0
- package/dist/MultichainTransactionsTracker.cjs.map +1 -0
- package/dist/MultichainTransactionsTracker.d.cts +62 -0
- package/dist/MultichainTransactionsTracker.d.cts.map +1 -0
- package/dist/MultichainTransactionsTracker.d.mts +62 -0
- package/dist/MultichainTransactionsTracker.d.mts.map +1 -0
- package/dist/MultichainTransactionsTracker.mjs +120 -0
- package/dist/MultichainTransactionsTracker.mjs.map +1 -0
- package/dist/Poller.cjs +40 -0
- package/dist/Poller.cjs.map +1 -0
- package/dist/Poller.d.cts +7 -0
- package/dist/Poller.d.cts.map +1 -0
- package/dist/Poller.d.mts +7 -0
- package/dist/Poller.d.mts.map +1 -0
- package/dist/Poller.mjs +36 -0
- package/dist/Poller.mjs.map +1 -0
- package/dist/constants.cjs +46 -0
- package/dist/constants.cjs.map +1 -0
- package/dist/constants.d.cts +29 -0
- package/dist/constants.d.cts.map +1 -0
- package/dist/constants.d.mts +29 -0
- package/dist/constants.d.mts.map +1 -0
- package/dist/constants.mjs +43 -0
- package/dist/constants.mjs.map +1 -0
- package/dist/index.cjs +11 -0
- package/dist/index.cjs.map +1 -0
- package/dist/index.d.cts +4 -0
- package/dist/index.d.cts.map +1 -0
- package/dist/index.d.mts +4 -0
- package/dist/index.d.mts.map +1 -0
- package/dist/index.mjs +3 -0
- package/dist/index.mjs.map +1 -0
- package/package.json +86 -0
package/dist/Poller.cjs
ADDED
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {
|
|
3
|
+
if (kind === "m") throw new TypeError("Private method is not writable");
|
|
4
|
+
if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
|
|
5
|
+
if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
|
|
6
|
+
return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
|
|
7
|
+
};
|
|
8
|
+
var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
|
|
9
|
+
if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
|
|
10
|
+
if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
|
|
11
|
+
return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
|
|
12
|
+
};
|
|
13
|
+
var _Poller_interval, _Poller_callback, _Poller_handle;
|
|
14
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
|
+
exports.Poller = void 0;
|
|
16
|
+
class Poller {
|
|
17
|
+
constructor(callback, interval) {
|
|
18
|
+
_Poller_interval.set(this, void 0);
|
|
19
|
+
_Poller_callback.set(this, void 0);
|
|
20
|
+
_Poller_handle.set(this, undefined);
|
|
21
|
+
__classPrivateFieldSet(this, _Poller_interval, interval, "f");
|
|
22
|
+
__classPrivateFieldSet(this, _Poller_callback, callback, "f");
|
|
23
|
+
}
|
|
24
|
+
start() {
|
|
25
|
+
if (__classPrivateFieldGet(this, _Poller_handle, "f")) {
|
|
26
|
+
return;
|
|
27
|
+
}
|
|
28
|
+
__classPrivateFieldSet(this, _Poller_handle, setInterval(__classPrivateFieldGet(this, _Poller_callback, "f"), __classPrivateFieldGet(this, _Poller_interval, "f")), "f");
|
|
29
|
+
}
|
|
30
|
+
stop() {
|
|
31
|
+
if (!__classPrivateFieldGet(this, _Poller_handle, "f")) {
|
|
32
|
+
return;
|
|
33
|
+
}
|
|
34
|
+
clearInterval(__classPrivateFieldGet(this, _Poller_handle, "f"));
|
|
35
|
+
__classPrivateFieldSet(this, _Poller_handle, undefined, "f");
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
exports.Poller = Poller;
|
|
39
|
+
_Poller_interval = new WeakMap(), _Poller_callback = new WeakMap(), _Poller_handle = new WeakMap();
|
|
40
|
+
//# sourceMappingURL=Poller.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Poller.cjs","sourceRoot":"","sources":["../src/Poller.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,MAAa,MAAM;IAOjB,YAAY,QAAoB,EAAE,QAAgB;QANzC,mCAAkB;QAElB,mCAAsB;QAE/B,yBAAsC,SAAS,EAAC;QAG9C,uBAAA,IAAI,oBAAa,QAAQ,MAAA,CAAC;QAC1B,uBAAA,IAAI,oBAAa,QAAQ,MAAA,CAAC;IAC5B,CAAC;IAED,KAAK;QACH,IAAI,uBAAA,IAAI,sBAAQ,EAAE;YAChB,OAAO;SACR;QAED,uBAAA,IAAI,kBAAW,WAAW,CAAC,uBAAA,IAAI,wBAAU,EAAE,uBAAA,IAAI,wBAAU,CAAC,MAAA,CAAC;IAC7D,CAAC;IAED,IAAI;QACF,IAAI,CAAC,uBAAA,IAAI,sBAAQ,EAAE;YACjB,OAAO;SACR;QACD,aAAa,CAAC,uBAAA,IAAI,sBAAQ,CAAC,CAAC;QAC5B,uBAAA,IAAI,kBAAW,SAAS,MAAA,CAAC;IAC3B,CAAC;CACF;AA3BD,wBA2BC","sourcesContent":["export class Poller {\n readonly #interval: number;\n\n readonly #callback: () => void;\n\n #handle: NodeJS.Timeout | undefined = undefined;\n\n constructor(callback: () => void, interval: number) {\n this.#interval = interval;\n this.#callback = callback;\n }\n\n start() {\n if (this.#handle) {\n return;\n }\n\n this.#handle = setInterval(this.#callback, this.#interval);\n }\n\n stop() {\n if (!this.#handle) {\n return;\n }\n clearInterval(this.#handle);\n this.#handle = undefined;\n }\n}\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Poller.d.cts","sourceRoot":"","sources":["../src/Poller.ts"],"names":[],"mappings":"AAAA,qBAAa,MAAM;;gBAOL,QAAQ,EAAE,MAAM,IAAI,EAAE,QAAQ,EAAE,MAAM;IAKlD,KAAK;IAQL,IAAI;CAOL"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Poller.d.mts","sourceRoot":"","sources":["../src/Poller.ts"],"names":[],"mappings":"AAAA,qBAAa,MAAM;;gBAOL,QAAQ,EAAE,MAAM,IAAI,EAAE,QAAQ,EAAE,MAAM;IAKlD,KAAK;IAQL,IAAI;CAOL"}
|
package/dist/Poller.mjs
ADDED
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {
|
|
2
|
+
if (kind === "m") throw new TypeError("Private method is not writable");
|
|
3
|
+
if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
|
|
4
|
+
if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
|
|
5
|
+
return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
|
|
6
|
+
};
|
|
7
|
+
var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
|
|
8
|
+
if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
|
|
9
|
+
if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
|
|
10
|
+
return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
|
|
11
|
+
};
|
|
12
|
+
var _Poller_interval, _Poller_callback, _Poller_handle;
|
|
13
|
+
export class Poller {
|
|
14
|
+
constructor(callback, interval) {
|
|
15
|
+
_Poller_interval.set(this, void 0);
|
|
16
|
+
_Poller_callback.set(this, void 0);
|
|
17
|
+
_Poller_handle.set(this, undefined);
|
|
18
|
+
__classPrivateFieldSet(this, _Poller_interval, interval, "f");
|
|
19
|
+
__classPrivateFieldSet(this, _Poller_callback, callback, "f");
|
|
20
|
+
}
|
|
21
|
+
start() {
|
|
22
|
+
if (__classPrivateFieldGet(this, _Poller_handle, "f")) {
|
|
23
|
+
return;
|
|
24
|
+
}
|
|
25
|
+
__classPrivateFieldSet(this, _Poller_handle, setInterval(__classPrivateFieldGet(this, _Poller_callback, "f"), __classPrivateFieldGet(this, _Poller_interval, "f")), "f");
|
|
26
|
+
}
|
|
27
|
+
stop() {
|
|
28
|
+
if (!__classPrivateFieldGet(this, _Poller_handle, "f")) {
|
|
29
|
+
return;
|
|
30
|
+
}
|
|
31
|
+
clearInterval(__classPrivateFieldGet(this, _Poller_handle, "f"));
|
|
32
|
+
__classPrivateFieldSet(this, _Poller_handle, undefined, "f");
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
_Poller_interval = new WeakMap(), _Poller_callback = new WeakMap(), _Poller_handle = new WeakMap();
|
|
36
|
+
//# sourceMappingURL=Poller.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Poller.mjs","sourceRoot":"","sources":["../src/Poller.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,MAAM,OAAO,MAAM;IAOjB,YAAY,QAAoB,EAAE,QAAgB;QANzC,mCAAkB;QAElB,mCAAsB;QAE/B,yBAAsC,SAAS,EAAC;QAG9C,uBAAA,IAAI,oBAAa,QAAQ,MAAA,CAAC;QAC1B,uBAAA,IAAI,oBAAa,QAAQ,MAAA,CAAC;IAC5B,CAAC;IAED,KAAK;QACH,IAAI,uBAAA,IAAI,sBAAQ,EAAE;YAChB,OAAO;SACR;QAED,uBAAA,IAAI,kBAAW,WAAW,CAAC,uBAAA,IAAI,wBAAU,EAAE,uBAAA,IAAI,wBAAU,CAAC,MAAA,CAAC;IAC7D,CAAC;IAED,IAAI;QACF,IAAI,CAAC,uBAAA,IAAI,sBAAQ,EAAE;YACjB,OAAO;SACR;QACD,aAAa,CAAC,uBAAA,IAAI,sBAAQ,CAAC,CAAC;QAC5B,uBAAA,IAAI,kBAAW,SAAS,MAAA,CAAC;IAC3B,CAAC;CACF","sourcesContent":["export class Poller {\n readonly #interval: number;\n\n readonly #callback: () => void;\n\n #handle: NodeJS.Timeout | undefined = undefined;\n\n constructor(callback: () => void, interval: number) {\n this.#interval = interval;\n this.#callback = callback;\n }\n\n start() {\n if (this.#handle) {\n return;\n }\n\n this.#handle = setInterval(this.#callback, this.#interval);\n }\n\n stop() {\n if (!this.#handle) {\n return;\n }\n clearInterval(this.#handle);\n this.#handle = undefined;\n }\n}\n"]}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.NETWORK_ASSETS_MAP = exports.TRANSACTIONS_CHECK_INTERVALS = exports.MultichainNativeAsset = exports.MultichainNetwork = void 0;
|
|
4
|
+
const keyring_api_1 = require("@metamask/keyring-api");
|
|
5
|
+
/**
|
|
6
|
+
* The network identifiers for supported networks in CAIP-2 format.
|
|
7
|
+
* Note: This is a temporary workaround until we have a more robust
|
|
8
|
+
* solution for network identifiers.
|
|
9
|
+
*/
|
|
10
|
+
var MultichainNetwork;
|
|
11
|
+
(function (MultichainNetwork) {
|
|
12
|
+
MultichainNetwork["Bitcoin"] = "bip122:000000000019d6689c085ae165831e93";
|
|
13
|
+
MultichainNetwork["BitcoinTestnet"] = "bip122:000000000933ea01ad0ee984209779ba";
|
|
14
|
+
MultichainNetwork["Solana"] = "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp";
|
|
15
|
+
MultichainNetwork["SolanaDevnet"] = "solana:EtWTRABZaYq6iMfeYKouRu166VU2xqa1";
|
|
16
|
+
MultichainNetwork["SolanaTestnet"] = "solana:4uhcVJyU9pJkvQyS88uRDiswHXSCkY3z";
|
|
17
|
+
})(MultichainNetwork || (exports.MultichainNetwork = MultichainNetwork = {}));
|
|
18
|
+
var MultichainNativeAsset;
|
|
19
|
+
(function (MultichainNativeAsset) {
|
|
20
|
+
MultichainNativeAsset["Bitcoin"] = "bip122:000000000019d6689c085ae165831e93/slip44:0";
|
|
21
|
+
MultichainNativeAsset["BitcoinTestnet"] = "bip122:000000000933ea01ad0ee984209779ba/slip44:0";
|
|
22
|
+
MultichainNativeAsset["Solana"] = "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp/slip44:501";
|
|
23
|
+
MultichainNativeAsset["SolanaDevnet"] = "solana:EtWTRABZaYq6iMfeYKouRu166VU2xqa1/slip44:501";
|
|
24
|
+
MultichainNativeAsset["SolanaTestnet"] = "solana:4uhcVJyU9pJkvQyS88uRDiswHXSCkY3z/slip44:501";
|
|
25
|
+
})(MultichainNativeAsset || (exports.MultichainNativeAsset = MultichainNativeAsset = {}));
|
|
26
|
+
const BITCOIN_AVG_BLOCK_TIME = 10 * 60 * 1000; // 10 minutes in milliseconds
|
|
27
|
+
const SOLANA_TRANSACTIONS_UPDATE_TIME = 7000; // 7 seconds
|
|
28
|
+
const BTC_TRANSACTIONS_UPDATE_TIME = BITCOIN_AVG_BLOCK_TIME / 2;
|
|
29
|
+
exports.TRANSACTIONS_CHECK_INTERVALS = {
|
|
30
|
+
// NOTE: We set an interval of half the average block time for bitcoin
|
|
31
|
+
// to mitigate when our interval is de-synchronized with the actual block time.
|
|
32
|
+
[keyring_api_1.BtcAccountType.P2wpkh]: BTC_TRANSACTIONS_UPDATE_TIME,
|
|
33
|
+
[keyring_api_1.SolAccountType.DataAccount]: SOLANA_TRANSACTIONS_UPDATE_TIME,
|
|
34
|
+
};
|
|
35
|
+
/**
|
|
36
|
+
* Maps network identifiers to their corresponding native asset types.
|
|
37
|
+
* Each network is mapped to an array containing its native asset for consistency.
|
|
38
|
+
*/
|
|
39
|
+
exports.NETWORK_ASSETS_MAP = {
|
|
40
|
+
[MultichainNetwork.Solana]: [MultichainNativeAsset.Solana],
|
|
41
|
+
[MultichainNetwork.SolanaTestnet]: [MultichainNativeAsset.SolanaTestnet],
|
|
42
|
+
[MultichainNetwork.SolanaDevnet]: [MultichainNativeAsset.SolanaDevnet],
|
|
43
|
+
[MultichainNetwork.Bitcoin]: [MultichainNativeAsset.Bitcoin],
|
|
44
|
+
[MultichainNetwork.BitcoinTestnet]: [MultichainNativeAsset.BitcoinTestnet],
|
|
45
|
+
};
|
|
46
|
+
//# sourceMappingURL=constants.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"constants.cjs","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":";;;AAAA,uDAAuE;AAEvE;;;;GAIG;AACH,IAAY,iBAMX;AAND,WAAY,iBAAiB;IAC3B,wEAAmD,CAAA;IACnD,+EAA0D,CAAA;IAC1D,uEAAkD,CAAA;IAClD,6EAAwD,CAAA;IACxD,8EAAyD,CAAA;AAC3D,CAAC,EANW,iBAAiB,iCAAjB,iBAAiB,QAM5B;AAED,IAAY,qBAMX;AAND,WAAY,qBAAqB;IAC/B,qFAAiD,CAAA;IACjD,4FAA+D,CAAA;IAC/D,sFAAiD,CAAA;IACjD,4FAA6D,CAAA;IAC7D,6FAA+D,CAAA;AACjE,CAAC,EANW,qBAAqB,qCAArB,qBAAqB,QAMhC;AAED,MAAM,sBAAsB,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC,6BAA6B;AAC5E,MAAM,+BAA+B,GAAG,IAAI,CAAC,CAAC,YAAY;AAC1D,MAAM,4BAA4B,GAAG,sBAAsB,GAAG,CAAC,CAAC;AAEnD,QAAA,4BAA4B,GAAG;IAC1C,sEAAsE;IACtE,+EAA+E;IAC/E,CAAC,4BAAc,CAAC,MAAM,CAAC,EAAE,4BAA4B;IACrD,CAAC,4BAAc,CAAC,WAAW,CAAC,EAAE,+BAA+B;CAC9D,CAAC;AAEF;;;GAGG;AACU,QAAA,kBAAkB,GAA4C;IACzE,CAAC,iBAAiB,CAAC,MAAM,CAAC,EAAE,CAAC,qBAAqB,CAAC,MAAM,CAAC;IAC1D,CAAC,iBAAiB,CAAC,aAAa,CAAC,EAAE,CAAC,qBAAqB,CAAC,aAAa,CAAC;IACxE,CAAC,iBAAiB,CAAC,YAAY,CAAC,EAAE,CAAC,qBAAqB,CAAC,YAAY,CAAC;IACtE,CAAC,iBAAiB,CAAC,OAAO,CAAC,EAAE,CAAC,qBAAqB,CAAC,OAAO,CAAC;IAC5D,CAAC,iBAAiB,CAAC,cAAc,CAAC,EAAE,CAAC,qBAAqB,CAAC,cAAc,CAAC;CAC3E,CAAC","sourcesContent":["import { BtcAccountType, SolAccountType } from '@metamask/keyring-api';\n\n/**\n * The network identifiers for supported networks in CAIP-2 format.\n * Note: This is a temporary workaround until we have a more robust\n * solution for network identifiers.\n */\nexport enum MultichainNetwork {\n Bitcoin = 'bip122:000000000019d6689c085ae165831e93',\n BitcoinTestnet = 'bip122:000000000933ea01ad0ee984209779ba',\n Solana = 'solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp',\n SolanaDevnet = 'solana:EtWTRABZaYq6iMfeYKouRu166VU2xqa1',\n SolanaTestnet = 'solana:4uhcVJyU9pJkvQyS88uRDiswHXSCkY3z',\n}\n\nexport enum MultichainNativeAsset {\n Bitcoin = `${MultichainNetwork.Bitcoin}/slip44:0`,\n BitcoinTestnet = `${MultichainNetwork.BitcoinTestnet}/slip44:0`,\n Solana = `${MultichainNetwork.Solana}/slip44:501`,\n SolanaDevnet = `${MultichainNetwork.SolanaDevnet}/slip44:501`,\n SolanaTestnet = `${MultichainNetwork.SolanaTestnet}/slip44:501`,\n}\n\nconst BITCOIN_AVG_BLOCK_TIME = 10 * 60 * 1000; // 10 minutes in milliseconds\nconst SOLANA_TRANSACTIONS_UPDATE_TIME = 7000; // 7 seconds\nconst BTC_TRANSACTIONS_UPDATE_TIME = BITCOIN_AVG_BLOCK_TIME / 2;\n\nexport const TRANSACTIONS_CHECK_INTERVALS = {\n // NOTE: We set an interval of half the average block time for bitcoin\n // to mitigate when our interval is de-synchronized with the actual block time.\n [BtcAccountType.P2wpkh]: BTC_TRANSACTIONS_UPDATE_TIME,\n [SolAccountType.DataAccount]: SOLANA_TRANSACTIONS_UPDATE_TIME,\n};\n\n/**\n * Maps network identifiers to their corresponding native asset types.\n * Each network is mapped to an array containing its native asset for consistency.\n */\nexport const NETWORK_ASSETS_MAP: Record<string, MultichainNativeAsset[]> = {\n [MultichainNetwork.Solana]: [MultichainNativeAsset.Solana],\n [MultichainNetwork.SolanaTestnet]: [MultichainNativeAsset.SolanaTestnet],\n [MultichainNetwork.SolanaDevnet]: [MultichainNativeAsset.SolanaDevnet],\n [MultichainNetwork.Bitcoin]: [MultichainNativeAsset.Bitcoin],\n [MultichainNetwork.BitcoinTestnet]: [MultichainNativeAsset.BitcoinTestnet],\n};\n"]}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The network identifiers for supported networks in CAIP-2 format.
|
|
3
|
+
* Note: This is a temporary workaround until we have a more robust
|
|
4
|
+
* solution for network identifiers.
|
|
5
|
+
*/
|
|
6
|
+
export declare enum MultichainNetwork {
|
|
7
|
+
Bitcoin = "bip122:000000000019d6689c085ae165831e93",
|
|
8
|
+
BitcoinTestnet = "bip122:000000000933ea01ad0ee984209779ba",
|
|
9
|
+
Solana = "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
|
|
10
|
+
SolanaDevnet = "solana:EtWTRABZaYq6iMfeYKouRu166VU2xqa1",
|
|
11
|
+
SolanaTestnet = "solana:4uhcVJyU9pJkvQyS88uRDiswHXSCkY3z"
|
|
12
|
+
}
|
|
13
|
+
export declare enum MultichainNativeAsset {
|
|
14
|
+
Bitcoin = "bip122:000000000019d6689c085ae165831e93/slip44:0",
|
|
15
|
+
BitcoinTestnet = "bip122:000000000933ea01ad0ee984209779ba/slip44:0",
|
|
16
|
+
Solana = "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp/slip44:501",
|
|
17
|
+
SolanaDevnet = "solana:EtWTRABZaYq6iMfeYKouRu166VU2xqa1/slip44:501",
|
|
18
|
+
SolanaTestnet = "solana:4uhcVJyU9pJkvQyS88uRDiswHXSCkY3z/slip44:501"
|
|
19
|
+
}
|
|
20
|
+
export declare const TRANSACTIONS_CHECK_INTERVALS: {
|
|
21
|
+
"bip122:p2wpkh": number;
|
|
22
|
+
"solana:data-account": number;
|
|
23
|
+
};
|
|
24
|
+
/**
|
|
25
|
+
* Maps network identifiers to their corresponding native asset types.
|
|
26
|
+
* Each network is mapped to an array containing its native asset for consistency.
|
|
27
|
+
*/
|
|
28
|
+
export declare const NETWORK_ASSETS_MAP: Record<string, MultichainNativeAsset[]>;
|
|
29
|
+
//# sourceMappingURL=constants.d.cts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"constants.d.cts","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"AAEA;;;;GAIG;AACH,oBAAY,iBAAiB;IAC3B,OAAO,4CAA4C;IACnD,cAAc,4CAA4C;IAC1D,MAAM,4CAA4C;IAClD,YAAY,4CAA4C;IACxD,aAAa,4CAA4C;CAC1D;AAED,oBAAY,qBAAqB;IAC/B,OAAO,qDAA0C;IACjD,cAAc,qDAAiD;IAC/D,MAAM,uDAA2C;IACjD,YAAY,uDAAiD;IAC7D,aAAa,uDAAkD;CAChE;AAMD,eAAO,MAAM,4BAA4B;;;CAKxC,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,kBAAkB,EAAE,MAAM,CAAC,MAAM,EAAE,qBAAqB,EAAE,CAMtE,CAAC"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The network identifiers for supported networks in CAIP-2 format.
|
|
3
|
+
* Note: This is a temporary workaround until we have a more robust
|
|
4
|
+
* solution for network identifiers.
|
|
5
|
+
*/
|
|
6
|
+
export declare enum MultichainNetwork {
|
|
7
|
+
Bitcoin = "bip122:000000000019d6689c085ae165831e93",
|
|
8
|
+
BitcoinTestnet = "bip122:000000000933ea01ad0ee984209779ba",
|
|
9
|
+
Solana = "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
|
|
10
|
+
SolanaDevnet = "solana:EtWTRABZaYq6iMfeYKouRu166VU2xqa1",
|
|
11
|
+
SolanaTestnet = "solana:4uhcVJyU9pJkvQyS88uRDiswHXSCkY3z"
|
|
12
|
+
}
|
|
13
|
+
export declare enum MultichainNativeAsset {
|
|
14
|
+
Bitcoin = "bip122:000000000019d6689c085ae165831e93/slip44:0",
|
|
15
|
+
BitcoinTestnet = "bip122:000000000933ea01ad0ee984209779ba/slip44:0",
|
|
16
|
+
Solana = "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp/slip44:501",
|
|
17
|
+
SolanaDevnet = "solana:EtWTRABZaYq6iMfeYKouRu166VU2xqa1/slip44:501",
|
|
18
|
+
SolanaTestnet = "solana:4uhcVJyU9pJkvQyS88uRDiswHXSCkY3z/slip44:501"
|
|
19
|
+
}
|
|
20
|
+
export declare const TRANSACTIONS_CHECK_INTERVALS: {
|
|
21
|
+
"bip122:p2wpkh": number;
|
|
22
|
+
"solana:data-account": number;
|
|
23
|
+
};
|
|
24
|
+
/**
|
|
25
|
+
* Maps network identifiers to their corresponding native asset types.
|
|
26
|
+
* Each network is mapped to an array containing its native asset for consistency.
|
|
27
|
+
*/
|
|
28
|
+
export declare const NETWORK_ASSETS_MAP: Record<string, MultichainNativeAsset[]>;
|
|
29
|
+
//# sourceMappingURL=constants.d.mts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"constants.d.mts","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"AAEA;;;;GAIG;AACH,oBAAY,iBAAiB;IAC3B,OAAO,4CAA4C;IACnD,cAAc,4CAA4C;IAC1D,MAAM,4CAA4C;IAClD,YAAY,4CAA4C;IACxD,aAAa,4CAA4C;CAC1D;AAED,oBAAY,qBAAqB;IAC/B,OAAO,qDAA0C;IACjD,cAAc,qDAAiD;IAC/D,MAAM,uDAA2C;IACjD,YAAY,uDAAiD;IAC7D,aAAa,uDAAkD;CAChE;AAMD,eAAO,MAAM,4BAA4B;;;CAKxC,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,kBAAkB,EAAE,MAAM,CAAC,MAAM,EAAE,qBAAqB,EAAE,CAMtE,CAAC"}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import { BtcAccountType, SolAccountType } from "@metamask/keyring-api";
|
|
2
|
+
/**
|
|
3
|
+
* The network identifiers for supported networks in CAIP-2 format.
|
|
4
|
+
* Note: This is a temporary workaround until we have a more robust
|
|
5
|
+
* solution for network identifiers.
|
|
6
|
+
*/
|
|
7
|
+
export var MultichainNetwork;
|
|
8
|
+
(function (MultichainNetwork) {
|
|
9
|
+
MultichainNetwork["Bitcoin"] = "bip122:000000000019d6689c085ae165831e93";
|
|
10
|
+
MultichainNetwork["BitcoinTestnet"] = "bip122:000000000933ea01ad0ee984209779ba";
|
|
11
|
+
MultichainNetwork["Solana"] = "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp";
|
|
12
|
+
MultichainNetwork["SolanaDevnet"] = "solana:EtWTRABZaYq6iMfeYKouRu166VU2xqa1";
|
|
13
|
+
MultichainNetwork["SolanaTestnet"] = "solana:4uhcVJyU9pJkvQyS88uRDiswHXSCkY3z";
|
|
14
|
+
})(MultichainNetwork || (MultichainNetwork = {}));
|
|
15
|
+
export var MultichainNativeAsset;
|
|
16
|
+
(function (MultichainNativeAsset) {
|
|
17
|
+
MultichainNativeAsset["Bitcoin"] = "bip122:000000000019d6689c085ae165831e93/slip44:0";
|
|
18
|
+
MultichainNativeAsset["BitcoinTestnet"] = "bip122:000000000933ea01ad0ee984209779ba/slip44:0";
|
|
19
|
+
MultichainNativeAsset["Solana"] = "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp/slip44:501";
|
|
20
|
+
MultichainNativeAsset["SolanaDevnet"] = "solana:EtWTRABZaYq6iMfeYKouRu166VU2xqa1/slip44:501";
|
|
21
|
+
MultichainNativeAsset["SolanaTestnet"] = "solana:4uhcVJyU9pJkvQyS88uRDiswHXSCkY3z/slip44:501";
|
|
22
|
+
})(MultichainNativeAsset || (MultichainNativeAsset = {}));
|
|
23
|
+
const BITCOIN_AVG_BLOCK_TIME = 10 * 60 * 1000; // 10 minutes in milliseconds
|
|
24
|
+
const SOLANA_TRANSACTIONS_UPDATE_TIME = 7000; // 7 seconds
|
|
25
|
+
const BTC_TRANSACTIONS_UPDATE_TIME = BITCOIN_AVG_BLOCK_TIME / 2;
|
|
26
|
+
export const TRANSACTIONS_CHECK_INTERVALS = {
|
|
27
|
+
// NOTE: We set an interval of half the average block time for bitcoin
|
|
28
|
+
// to mitigate when our interval is de-synchronized with the actual block time.
|
|
29
|
+
[BtcAccountType.P2wpkh]: BTC_TRANSACTIONS_UPDATE_TIME,
|
|
30
|
+
[SolAccountType.DataAccount]: SOLANA_TRANSACTIONS_UPDATE_TIME,
|
|
31
|
+
};
|
|
32
|
+
/**
|
|
33
|
+
* Maps network identifiers to their corresponding native asset types.
|
|
34
|
+
* Each network is mapped to an array containing its native asset for consistency.
|
|
35
|
+
*/
|
|
36
|
+
export const NETWORK_ASSETS_MAP = {
|
|
37
|
+
[MultichainNetwork.Solana]: [MultichainNativeAsset.Solana],
|
|
38
|
+
[MultichainNetwork.SolanaTestnet]: [MultichainNativeAsset.SolanaTestnet],
|
|
39
|
+
[MultichainNetwork.SolanaDevnet]: [MultichainNativeAsset.SolanaDevnet],
|
|
40
|
+
[MultichainNetwork.Bitcoin]: [MultichainNativeAsset.Bitcoin],
|
|
41
|
+
[MultichainNetwork.BitcoinTestnet]: [MultichainNativeAsset.BitcoinTestnet],
|
|
42
|
+
};
|
|
43
|
+
//# sourceMappingURL=constants.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"constants.mjs","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,8BAA8B;AAEvE;;;;GAIG;AACH,MAAM,CAAN,IAAY,iBAMX;AAND,WAAY,iBAAiB;IAC3B,wEAAmD,CAAA;IACnD,+EAA0D,CAAA;IAC1D,uEAAkD,CAAA;IAClD,6EAAwD,CAAA;IACxD,8EAAyD,CAAA;AAC3D,CAAC,EANW,iBAAiB,KAAjB,iBAAiB,QAM5B;AAED,MAAM,CAAN,IAAY,qBAMX;AAND,WAAY,qBAAqB;IAC/B,qFAAiD,CAAA;IACjD,4FAA+D,CAAA;IAC/D,sFAAiD,CAAA;IACjD,4FAA6D,CAAA;IAC7D,6FAA+D,CAAA;AACjE,CAAC,EANW,qBAAqB,KAArB,qBAAqB,QAMhC;AAED,MAAM,sBAAsB,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC,6BAA6B;AAC5E,MAAM,+BAA+B,GAAG,IAAI,CAAC,CAAC,YAAY;AAC1D,MAAM,4BAA4B,GAAG,sBAAsB,GAAG,CAAC,CAAC;AAEhE,MAAM,CAAC,MAAM,4BAA4B,GAAG;IAC1C,sEAAsE;IACtE,+EAA+E;IAC/E,CAAC,cAAc,CAAC,MAAM,CAAC,EAAE,4BAA4B;IACrD,CAAC,cAAc,CAAC,WAAW,CAAC,EAAE,+BAA+B;CAC9D,CAAC;AAEF;;;GAGG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAA4C;IACzE,CAAC,iBAAiB,CAAC,MAAM,CAAC,EAAE,CAAC,qBAAqB,CAAC,MAAM,CAAC;IAC1D,CAAC,iBAAiB,CAAC,aAAa,CAAC,EAAE,CAAC,qBAAqB,CAAC,aAAa,CAAC;IACxE,CAAC,iBAAiB,CAAC,YAAY,CAAC,EAAE,CAAC,qBAAqB,CAAC,YAAY,CAAC;IACtE,CAAC,iBAAiB,CAAC,OAAO,CAAC,EAAE,CAAC,qBAAqB,CAAC,OAAO,CAAC;IAC5D,CAAC,iBAAiB,CAAC,cAAc,CAAC,EAAE,CAAC,qBAAqB,CAAC,cAAc,CAAC;CAC3E,CAAC","sourcesContent":["import { BtcAccountType, SolAccountType } from '@metamask/keyring-api';\n\n/**\n * The network identifiers for supported networks in CAIP-2 format.\n * Note: This is a temporary workaround until we have a more robust\n * solution for network identifiers.\n */\nexport enum MultichainNetwork {\n Bitcoin = 'bip122:000000000019d6689c085ae165831e93',\n BitcoinTestnet = 'bip122:000000000933ea01ad0ee984209779ba',\n Solana = 'solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp',\n SolanaDevnet = 'solana:EtWTRABZaYq6iMfeYKouRu166VU2xqa1',\n SolanaTestnet = 'solana:4uhcVJyU9pJkvQyS88uRDiswHXSCkY3z',\n}\n\nexport enum MultichainNativeAsset {\n Bitcoin = `${MultichainNetwork.Bitcoin}/slip44:0`,\n BitcoinTestnet = `${MultichainNetwork.BitcoinTestnet}/slip44:0`,\n Solana = `${MultichainNetwork.Solana}/slip44:501`,\n SolanaDevnet = `${MultichainNetwork.SolanaDevnet}/slip44:501`,\n SolanaTestnet = `${MultichainNetwork.SolanaTestnet}/slip44:501`,\n}\n\nconst BITCOIN_AVG_BLOCK_TIME = 10 * 60 * 1000; // 10 minutes in milliseconds\nconst SOLANA_TRANSACTIONS_UPDATE_TIME = 7000; // 7 seconds\nconst BTC_TRANSACTIONS_UPDATE_TIME = BITCOIN_AVG_BLOCK_TIME / 2;\n\nexport const TRANSACTIONS_CHECK_INTERVALS = {\n // NOTE: We set an interval of half the average block time for bitcoin\n // to mitigate when our interval is de-synchronized with the actual block time.\n [BtcAccountType.P2wpkh]: BTC_TRANSACTIONS_UPDATE_TIME,\n [SolAccountType.DataAccount]: SOLANA_TRANSACTIONS_UPDATE_TIME,\n};\n\n/**\n * Maps network identifiers to their corresponding native asset types.\n * Each network is mapped to an array containing its native asset for consistency.\n */\nexport const NETWORK_ASSETS_MAP: Record<string, MultichainNativeAsset[]> = {\n [MultichainNetwork.Solana]: [MultichainNativeAsset.Solana],\n [MultichainNetwork.SolanaTestnet]: [MultichainNativeAsset.SolanaTestnet],\n [MultichainNetwork.SolanaDevnet]: [MultichainNativeAsset.SolanaDevnet],\n [MultichainNetwork.Bitcoin]: [MultichainNativeAsset.Bitcoin],\n [MultichainNetwork.BitcoinTestnet]: [MultichainNativeAsset.BitcoinTestnet],\n};\n"]}
|
package/dist/index.cjs
ADDED
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.MultichainNativeAsset = exports.MultichainNetwork = exports.NETWORK_ASSETS_MAP = exports.TRANSACTIONS_CHECK_INTERVALS = exports.MultichainTransactionsController = void 0;
|
|
4
|
+
var MultichainTransactionsController_1 = require("./MultichainTransactionsController.cjs");
|
|
5
|
+
Object.defineProperty(exports, "MultichainTransactionsController", { enumerable: true, get: function () { return MultichainTransactionsController_1.MultichainTransactionsController; } });
|
|
6
|
+
var constants_1 = require("./constants.cjs");
|
|
7
|
+
Object.defineProperty(exports, "TRANSACTIONS_CHECK_INTERVALS", { enumerable: true, get: function () { return constants_1.TRANSACTIONS_CHECK_INTERVALS; } });
|
|
8
|
+
Object.defineProperty(exports, "NETWORK_ASSETS_MAP", { enumerable: true, get: function () { return constants_1.NETWORK_ASSETS_MAP; } });
|
|
9
|
+
Object.defineProperty(exports, "MultichainNetwork", { enumerable: true, get: function () { return constants_1.MultichainNetwork; } });
|
|
10
|
+
Object.defineProperty(exports, "MultichainNativeAsset", { enumerable: true, get: function () { return constants_1.MultichainNativeAsset; } });
|
|
11
|
+
//# sourceMappingURL=index.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.cjs","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AAAA,2FAAsF;AAA7E,oJAAA,gCAAgC,OAAA;AAMzC,6CAKqB;AAJnB,yHAAA,4BAA4B,OAAA;AAC5B,+GAAA,kBAAkB,OAAA;AAClB,8GAAA,iBAAiB,OAAA;AACjB,kHAAA,qBAAqB,OAAA","sourcesContent":["export { MultichainTransactionsController } from './MultichainTransactionsController';\nexport type {\n MultichainTransactionsControllerState,\n PaginationOptions,\n TransactionStateEntry,\n} from './MultichainTransactionsController';\nexport {\n TRANSACTIONS_CHECK_INTERVALS,\n NETWORK_ASSETS_MAP,\n MultichainNetwork,\n MultichainNativeAsset,\n} from './constants';\n"]}
|
package/dist/index.d.cts
ADDED
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
export { MultichainTransactionsController } from "./MultichainTransactionsController.cjs";
|
|
2
|
+
export type { MultichainTransactionsControllerState, PaginationOptions, TransactionStateEntry, } from "./MultichainTransactionsController.cjs";
|
|
3
|
+
export { TRANSACTIONS_CHECK_INTERVALS, NETWORK_ASSETS_MAP, MultichainNetwork, MultichainNativeAsset, } from "./constants.cjs";
|
|
4
|
+
//# sourceMappingURL=index.d.cts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.cts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gCAAgC,EAAE,+CAA2C;AACtF,YAAY,EACV,qCAAqC,EACrC,iBAAiB,EACjB,qBAAqB,GACtB,+CAA2C;AAC5C,OAAO,EACL,4BAA4B,EAC5B,kBAAkB,EAClB,iBAAiB,EACjB,qBAAqB,GACtB,wBAAoB"}
|
package/dist/index.d.mts
ADDED
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
export { MultichainTransactionsController } from "./MultichainTransactionsController.mjs";
|
|
2
|
+
export type { MultichainTransactionsControllerState, PaginationOptions, TransactionStateEntry, } from "./MultichainTransactionsController.mjs";
|
|
3
|
+
export { TRANSACTIONS_CHECK_INTERVALS, NETWORK_ASSETS_MAP, MultichainNetwork, MultichainNativeAsset, } from "./constants.mjs";
|
|
4
|
+
//# sourceMappingURL=index.d.mts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.mts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gCAAgC,EAAE,+CAA2C;AACtF,YAAY,EACV,qCAAqC,EACrC,iBAAiB,EACjB,qBAAqB,GACtB,+CAA2C;AAC5C,OAAO,EACL,4BAA4B,EAC5B,kBAAkB,EAClB,iBAAiB,EACjB,qBAAqB,GACtB,wBAAoB"}
|
package/dist/index.mjs
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.mjs","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gCAAgC,EAAE,+CAA2C;AAMtF,OAAO,EACL,4BAA4B,EAC5B,kBAAkB,EAClB,iBAAiB,EACjB,qBAAqB,EACtB,wBAAoB","sourcesContent":["export { MultichainTransactionsController } from './MultichainTransactionsController';\nexport type {\n MultichainTransactionsControllerState,\n PaginationOptions,\n TransactionStateEntry,\n} from './MultichainTransactionsController';\nexport {\n TRANSACTIONS_CHECK_INTERVALS,\n NETWORK_ASSETS_MAP,\n MultichainNetwork,\n MultichainNativeAsset,\n} from './constants';\n"]}
|
package/package.json
ADDED
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@metamask-previews/multichain-transactions-controller",
|
|
3
|
+
"version": "0.0.1-preview-9df90b5",
|
|
4
|
+
"description": "This package is responsible for getting transactions from our Bitcoin and Solana snaps",
|
|
5
|
+
"keywords": [
|
|
6
|
+
"MetaMask",
|
|
7
|
+
"Ethereum"
|
|
8
|
+
],
|
|
9
|
+
"homepage": "https://github.com/MetaMask/core/tree/main/packages/multichain-transactions-controller#readme",
|
|
10
|
+
"bugs": {
|
|
11
|
+
"url": "https://github.com/MetaMask/core/issues"
|
|
12
|
+
},
|
|
13
|
+
"repository": {
|
|
14
|
+
"type": "git",
|
|
15
|
+
"url": "https://github.com/MetaMask/core.git"
|
|
16
|
+
},
|
|
17
|
+
"license": "MIT",
|
|
18
|
+
"sideEffects": false,
|
|
19
|
+
"exports": {
|
|
20
|
+
".": {
|
|
21
|
+
"import": {
|
|
22
|
+
"types": "./dist/index.d.mts",
|
|
23
|
+
"default": "./dist/index.mjs"
|
|
24
|
+
},
|
|
25
|
+
"require": {
|
|
26
|
+
"types": "./dist/index.d.cts",
|
|
27
|
+
"default": "./dist/index.cjs"
|
|
28
|
+
}
|
|
29
|
+
},
|
|
30
|
+
"./package.json": "./package.json"
|
|
31
|
+
},
|
|
32
|
+
"main": "./dist/index.cjs",
|
|
33
|
+
"types": "./dist/index.d.cts",
|
|
34
|
+
"files": [
|
|
35
|
+
"dist/"
|
|
36
|
+
],
|
|
37
|
+
"scripts": {
|
|
38
|
+
"build": "ts-bridge --project tsconfig.build.json --verbose --clean --no-references",
|
|
39
|
+
"build:docs": "typedoc",
|
|
40
|
+
"changelog:update": "../../scripts/update-changelog.sh @metamask/multichain-transactions-controller",
|
|
41
|
+
"changelog:validate": "../../scripts/validate-changelog.sh @metamask/multichain-transactions-controller",
|
|
42
|
+
"publish:preview": "yarn npm publish --tag preview",
|
|
43
|
+
"since-latest-release": "../../scripts/since-latest-release.sh",
|
|
44
|
+
"test": "NODE_OPTIONS=--experimental-vm-modules jest --reporters=jest-silent-reporter",
|
|
45
|
+
"test:clean": "NODE_OPTIONS=--experimental-vm-modules jest --clearCache",
|
|
46
|
+
"test:verbose": "NODE_OPTIONS=--experimental-vm-modules jest --verbose",
|
|
47
|
+
"test:watch": "NODE_OPTIONS=--experimental-vm-modules jest --watch"
|
|
48
|
+
},
|
|
49
|
+
"dependencies": {
|
|
50
|
+
"@metamask/base-controller": "^7.1.1",
|
|
51
|
+
"@metamask/keyring-api": "^14.0.0",
|
|
52
|
+
"@metamask/keyring-internal-api": "^2.0.1",
|
|
53
|
+
"@metamask/keyring-snap-client": "^3.0.0",
|
|
54
|
+
"@metamask/polling-controller": "^12.0.2",
|
|
55
|
+
"@metamask/snaps-controllers": "^9.10.0",
|
|
56
|
+
"@metamask/snaps-sdk": "^6.7.0",
|
|
57
|
+
"@metamask/snaps-utils": "^8.3.0",
|
|
58
|
+
"@metamask/utils": "^11.0.1",
|
|
59
|
+
"@types/uuid": "^8.3.0",
|
|
60
|
+
"immer": "^9.0.6",
|
|
61
|
+
"uuid": "^8.3.2"
|
|
62
|
+
},
|
|
63
|
+
"devDependencies": {
|
|
64
|
+
"@metamask/accounts-controller": "^21.0.2",
|
|
65
|
+
"@metamask/auto-changelog": "^3.4.4",
|
|
66
|
+
"@metamask/keyring-controller": "^19.0.4",
|
|
67
|
+
"@types/jest": "^27.4.1",
|
|
68
|
+
"deepmerge": "^4.2.2",
|
|
69
|
+
"jest": "^27.5.1",
|
|
70
|
+
"ts-jest": "^27.1.4",
|
|
71
|
+
"typedoc": "^0.24.8",
|
|
72
|
+
"typedoc-plugin-missing-exports": "^2.0.0",
|
|
73
|
+
"typescript": "~5.2.2"
|
|
74
|
+
},
|
|
75
|
+
"peerDependencies": {
|
|
76
|
+
"@metamask/accounts-controller": "^21.0.0",
|
|
77
|
+
"@metamask/snaps-controllers": "^9.10.0"
|
|
78
|
+
},
|
|
79
|
+
"engines": {
|
|
80
|
+
"node": "^18.18 || >=20"
|
|
81
|
+
},
|
|
82
|
+
"publishConfig": {
|
|
83
|
+
"access": "public",
|
|
84
|
+
"registry": "https://registry.npmjs.org/"
|
|
85
|
+
}
|
|
86
|
+
}
|