FRE-600: Fix code review blockers

- Consolidated duplicate UndoManagers to single instance
- Fixed connection promise to only resolve on 'connected' status
- Fixed WebSocketProvider import (WebsocketProvider)
- Added proper doc.destroy() cleanup
- Renamed isPresenceInitialized property to avoid conflict

Co-Authored-By: Paperclip <noreply@paperclip.ing>
This commit is contained in:
2026-04-25 00:08:01 -04:00
parent 65b552bb08
commit 7c684a42cc
48450 changed files with 5679671 additions and 383 deletions

View File

@@ -0,0 +1,440 @@
"use strict";
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
return new (P || (P = Promise))(function (resolve, reject) {
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
step((generator = generator.apply(thisArg, _arguments || [])).next());
});
};
var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
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");
return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
};
var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {
if (kind === "m") throw new TypeError("Private method is not writable");
if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
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");
return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
};
var __rest = (this && this.__rest) || function (s, e) {
var t = {};
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
t[p] = s[p];
if (s != null && typeof Object.getOwnPropertySymbols === "function")
for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
t[p[i]] = s[p[i]];
}
return t;
};
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
var _StandardWalletAdapter_instances, _StandardWalletAdapter_account, _StandardWalletAdapter_publicKey, _StandardWalletAdapter_connecting, _StandardWalletAdapter_disconnecting, _StandardWalletAdapter_off, _StandardWalletAdapter_supportedTransactionVersions, _StandardWalletAdapter_wallet, _StandardWalletAdapter_readyState, _StandardWalletAdapter_connect, _StandardWalletAdapter_connected, _StandardWalletAdapter_disconnected, _StandardWalletAdapter_reset, _StandardWalletAdapter_changed, _StandardWalletAdapter_signTransaction, _StandardWalletAdapter_signAllTransactions, _StandardWalletAdapter_signMessage, _StandardWalletAdapter_signIn;
Object.defineProperty(exports, "__esModule", { value: true });
exports.StandardWalletAdapter = void 0;
const wallet_adapter_base_1 = require("@solana/wallet-adapter-base");
const wallet_standard_features_1 = require("@solana/wallet-standard-features");
const wallet_standard_util_1 = require("@solana/wallet-standard-util");
const web3_js_1 = require("@solana/web3.js");
const features_1 = require("@wallet-standard/features");
const wallet_1 = require("@wallet-standard/wallet");
const bs58_1 = __importDefault(require("bs58"));
/** TODO: docs */
class StandardWalletAdapter extends wallet_adapter_base_1.BaseWalletAdapter {
get name() {
return __classPrivateFieldGet(this, _StandardWalletAdapter_wallet, "f").name;
}
get url() {
return 'https://github.com/solana-labs/wallet-standard';
}
get icon() {
return __classPrivateFieldGet(this, _StandardWalletAdapter_wallet, "f").icon;
}
get readyState() {
return __classPrivateFieldGet(this, _StandardWalletAdapter_readyState, "f");
}
get publicKey() {
return __classPrivateFieldGet(this, _StandardWalletAdapter_publicKey, "f");
}
get connecting() {
return __classPrivateFieldGet(this, _StandardWalletAdapter_connecting, "f");
}
get supportedTransactionVersions() {
return __classPrivateFieldGet(this, _StandardWalletAdapter_supportedTransactionVersions, "f");
}
get wallet() {
return __classPrivateFieldGet(this, _StandardWalletAdapter_wallet, "f");
}
get standard() {
return true;
}
constructor({ wallet }) {
super();
_StandardWalletAdapter_instances.add(this);
_StandardWalletAdapter_account.set(this, void 0);
_StandardWalletAdapter_publicKey.set(this, void 0);
_StandardWalletAdapter_connecting.set(this, void 0);
_StandardWalletAdapter_disconnecting.set(this, void 0);
_StandardWalletAdapter_off.set(this, void 0);
_StandardWalletAdapter_supportedTransactionVersions.set(this, void 0);
_StandardWalletAdapter_wallet.set(this, void 0);
_StandardWalletAdapter_readyState.set(this, typeof window === 'undefined' || typeof document === 'undefined'
? wallet_adapter_base_1.WalletReadyState.Unsupported
: wallet_adapter_base_1.WalletReadyState.Installed);
_StandardWalletAdapter_changed.set(this, (properties) => {
// If accounts have changed on the wallet, reflect this on the adapter.
if ('accounts' in properties) {
const account = __classPrivateFieldGet(this, _StandardWalletAdapter_wallet, "f").accounts[0];
// If the adapter isn't connected, or is disconnecting, or the first account hasn't changed, do nothing.
if (__classPrivateFieldGet(this, _StandardWalletAdapter_account, "f") && !__classPrivateFieldGet(this, _StandardWalletAdapter_disconnecting, "f") && account !== __classPrivateFieldGet(this, _StandardWalletAdapter_account, "f")) {
// If there's a connected account, connect the adapter. Otherwise, disconnect it.
if (account) {
// Connect the adapter.
__classPrivateFieldGet(this, _StandardWalletAdapter_instances, "m", _StandardWalletAdapter_connected).call(this, account);
}
else {
// Emit an error because the wallet spontaneously disconnected.
this.emit('error', new wallet_adapter_base_1.WalletDisconnectedError());
// Disconnect the adapter.
__classPrivateFieldGet(this, _StandardWalletAdapter_instances, "m", _StandardWalletAdapter_disconnected).call(this);
}
}
}
// After reflecting account changes, if features have changed on the wallet, reflect this on the adapter.
if ('features' in properties) {
__classPrivateFieldGet(this, _StandardWalletAdapter_instances, "m", _StandardWalletAdapter_reset).call(this);
}
});
__classPrivateFieldSet(this, _StandardWalletAdapter_wallet, wallet, "f");
__classPrivateFieldSet(this, _StandardWalletAdapter_account, null, "f");
__classPrivateFieldSet(this, _StandardWalletAdapter_publicKey, null, "f");
__classPrivateFieldSet(this, _StandardWalletAdapter_connecting, false, "f");
__classPrivateFieldSet(this, _StandardWalletAdapter_disconnecting, false, "f");
__classPrivateFieldSet(this, _StandardWalletAdapter_off, __classPrivateFieldGet(this, _StandardWalletAdapter_wallet, "f").features[features_1.StandardEvents].on('change', __classPrivateFieldGet(this, _StandardWalletAdapter_changed, "f")), "f");
__classPrivateFieldGet(this, _StandardWalletAdapter_instances, "m", _StandardWalletAdapter_reset).call(this);
}
destroy() {
__classPrivateFieldSet(this, _StandardWalletAdapter_account, null, "f");
__classPrivateFieldSet(this, _StandardWalletAdapter_publicKey, null, "f");
__classPrivateFieldSet(this, _StandardWalletAdapter_connecting, false, "f");
__classPrivateFieldSet(this, _StandardWalletAdapter_disconnecting, false, "f");
const off = __classPrivateFieldGet(this, _StandardWalletAdapter_off, "f");
if (off) {
__classPrivateFieldSet(this, _StandardWalletAdapter_off, null, "f");
off();
}
}
autoConnect() {
return __awaiter(this, void 0, void 0, function* () {
return __classPrivateFieldGet(this, _StandardWalletAdapter_instances, "m", _StandardWalletAdapter_connect).call(this, { silent: true });
});
}
connect() {
return __awaiter(this, void 0, void 0, function* () {
return __classPrivateFieldGet(this, _StandardWalletAdapter_instances, "m", _StandardWalletAdapter_connect).call(this);
});
}
disconnect() {
return __awaiter(this, void 0, void 0, function* () {
if (features_1.StandardDisconnect in __classPrivateFieldGet(this, _StandardWalletAdapter_wallet, "f").features) {
try {
__classPrivateFieldSet(this, _StandardWalletAdapter_disconnecting, true, "f");
yield __classPrivateFieldGet(this, _StandardWalletAdapter_wallet, "f").features[features_1.StandardDisconnect].disconnect();
}
catch (error) {
this.emit('error', new wallet_adapter_base_1.WalletDisconnectionError(error === null || error === void 0 ? void 0 : error.message, error));
}
finally {
__classPrivateFieldSet(this, _StandardWalletAdapter_disconnecting, false, "f");
}
}
__classPrivateFieldGet(this, _StandardWalletAdapter_instances, "m", _StandardWalletAdapter_disconnected).call(this);
});
}
sendTransaction(transaction_1, connection_1) {
return __awaiter(this, arguments, void 0, function* (transaction, connection, options = {}) {
try {
const account = __classPrivateFieldGet(this, _StandardWalletAdapter_account, "f");
if (!account)
throw new wallet_adapter_base_1.WalletNotConnectedError();
let feature;
if (wallet_standard_features_1.SolanaSignAndSendTransaction in __classPrivateFieldGet(this, _StandardWalletAdapter_wallet, "f").features) {
if (account.features.includes(wallet_standard_features_1.SolanaSignAndSendTransaction)) {
feature = wallet_standard_features_1.SolanaSignAndSendTransaction;
}
else if (wallet_standard_features_1.SolanaSignTransaction in __classPrivateFieldGet(this, _StandardWalletAdapter_wallet, "f").features &&
account.features.includes(wallet_standard_features_1.SolanaSignTransaction)) {
feature = wallet_standard_features_1.SolanaSignTransaction;
}
else {
throw new wallet_adapter_base_1.WalletAccountError();
}
}
else if (wallet_standard_features_1.SolanaSignTransaction in __classPrivateFieldGet(this, _StandardWalletAdapter_wallet, "f").features) {
if (!account.features.includes(wallet_standard_features_1.SolanaSignTransaction))
throw new wallet_adapter_base_1.WalletAccountError();
feature = wallet_standard_features_1.SolanaSignTransaction;
}
else {
throw new wallet_adapter_base_1.WalletConfigError();
}
const chain = (0, wallet_standard_util_1.getChainForEndpoint)(connection.rpcEndpoint);
if (!account.chains.includes(chain))
throw new wallet_adapter_base_1.WalletSendTransactionError();
try {
const { signers } = options, sendOptions = __rest(options, ["signers"]);
let serializedTransaction;
if ((0, wallet_adapter_base_1.isVersionedTransaction)(transaction)) {
(signers === null || signers === void 0 ? void 0 : signers.length) && transaction.sign(signers);
serializedTransaction = transaction.serialize();
}
else {
transaction = (yield this.prepareTransaction(transaction, connection, sendOptions));
(signers === null || signers === void 0 ? void 0 : signers.length) && transaction.partialSign(...signers);
serializedTransaction = new Uint8Array(transaction.serialize({
requireAllSignatures: false,
verifySignatures: false,
}));
}
if (feature === wallet_standard_features_1.SolanaSignAndSendTransaction) {
const [output] = yield __classPrivateFieldGet(this, _StandardWalletAdapter_wallet, "f").features[wallet_standard_features_1.SolanaSignAndSendTransaction].signAndSendTransaction({
account,
chain,
transaction: serializedTransaction,
options: {
preflightCommitment: (0, wallet_standard_util_1.getCommitment)(sendOptions.preflightCommitment || connection.commitment),
skipPreflight: sendOptions.skipPreflight,
maxRetries: sendOptions.maxRetries,
minContextSlot: sendOptions.minContextSlot,
},
});
return bs58_1.default.encode(output.signature);
}
else {
const [output] = yield __classPrivateFieldGet(this, _StandardWalletAdapter_wallet, "f").features[wallet_standard_features_1.SolanaSignTransaction].signTransaction({
account,
chain,
transaction: serializedTransaction,
options: {
preflightCommitment: (0, wallet_standard_util_1.getCommitment)(sendOptions.preflightCommitment || connection.commitment),
minContextSlot: sendOptions.minContextSlot,
},
});
return yield connection.sendRawTransaction(output.signedTransaction, Object.assign(Object.assign({}, sendOptions), { preflightCommitment: (0, wallet_standard_util_1.getCommitment)(sendOptions.preflightCommitment || connection.commitment) }));
}
}
catch (error) {
if (error instanceof wallet_adapter_base_1.WalletError)
throw error;
throw new wallet_adapter_base_1.WalletSendTransactionError(error === null || error === void 0 ? void 0 : error.message, error);
}
}
catch (error) {
this.emit('error', error);
throw error;
}
});
}
}
exports.StandardWalletAdapter = StandardWalletAdapter;
_StandardWalletAdapter_account = new WeakMap(), _StandardWalletAdapter_publicKey = new WeakMap(), _StandardWalletAdapter_connecting = new WeakMap(), _StandardWalletAdapter_disconnecting = new WeakMap(), _StandardWalletAdapter_off = new WeakMap(), _StandardWalletAdapter_supportedTransactionVersions = new WeakMap(), _StandardWalletAdapter_wallet = new WeakMap(), _StandardWalletAdapter_readyState = new WeakMap(), _StandardWalletAdapter_changed = new WeakMap(), _StandardWalletAdapter_instances = new WeakSet(), _StandardWalletAdapter_connect = function _StandardWalletAdapter_connect(input) {
return __awaiter(this, void 0, void 0, function* () {
try {
if (this.connected || this.connecting)
return;
if (__classPrivateFieldGet(this, _StandardWalletAdapter_readyState, "f") !== wallet_adapter_base_1.WalletReadyState.Installed)
throw new wallet_adapter_base_1.WalletNotReadyError();
__classPrivateFieldSet(this, _StandardWalletAdapter_connecting, true, "f");
if (!__classPrivateFieldGet(this, _StandardWalletAdapter_wallet, "f").accounts.length) {
try {
yield __classPrivateFieldGet(this, _StandardWalletAdapter_wallet, "f").features[features_1.StandardConnect].connect(input);
}
catch (error) {
throw new wallet_adapter_base_1.WalletConnectionError(error === null || error === void 0 ? void 0 : error.message, error);
}
}
const account = __classPrivateFieldGet(this, _StandardWalletAdapter_wallet, "f").accounts[0];
if (!account)
throw new wallet_adapter_base_1.WalletAccountError();
__classPrivateFieldGet(this, _StandardWalletAdapter_instances, "m", _StandardWalletAdapter_connected).call(this, account);
}
catch (error) {
this.emit('error', error);
throw error;
}
finally {
__classPrivateFieldSet(this, _StandardWalletAdapter_connecting, false, "f");
}
});
}, _StandardWalletAdapter_connected = function _StandardWalletAdapter_connected(account) {
let publicKey;
try {
// Use account.address instead of account.publicKey since address could be a PDA
publicKey = new web3_js_1.PublicKey(account.address);
}
catch (error) {
throw new wallet_adapter_base_1.WalletPublicKeyError(error === null || error === void 0 ? void 0 : error.message, error);
}
__classPrivateFieldSet(this, _StandardWalletAdapter_account, account, "f");
__classPrivateFieldSet(this, _StandardWalletAdapter_publicKey, publicKey, "f");
__classPrivateFieldGet(this, _StandardWalletAdapter_instances, "m", _StandardWalletAdapter_reset).call(this);
this.emit('connect', publicKey);
}, _StandardWalletAdapter_disconnected = function _StandardWalletAdapter_disconnected() {
__classPrivateFieldSet(this, _StandardWalletAdapter_account, null, "f");
__classPrivateFieldSet(this, _StandardWalletAdapter_publicKey, null, "f");
__classPrivateFieldGet(this, _StandardWalletAdapter_instances, "m", _StandardWalletAdapter_reset).call(this);
this.emit('disconnect');
}, _StandardWalletAdapter_reset = function _StandardWalletAdapter_reset() {
var _a, _b;
const supportedTransactionVersions = wallet_standard_features_1.SolanaSignAndSendTransaction in __classPrivateFieldGet(this, _StandardWalletAdapter_wallet, "f").features
? __classPrivateFieldGet(this, _StandardWalletAdapter_wallet, "f").features[wallet_standard_features_1.SolanaSignAndSendTransaction].supportedTransactionVersions
: __classPrivateFieldGet(this, _StandardWalletAdapter_wallet, "f").features[wallet_standard_features_1.SolanaSignTransaction].supportedTransactionVersions;
__classPrivateFieldSet(this, _StandardWalletAdapter_supportedTransactionVersions, (0, wallet_1.arraysEqual)(supportedTransactionVersions, ['legacy'])
? null
: new Set(supportedTransactionVersions), "f");
if (wallet_standard_features_1.SolanaSignTransaction in __classPrivateFieldGet(this, _StandardWalletAdapter_wallet, "f").features && ((_a = __classPrivateFieldGet(this, _StandardWalletAdapter_account, "f")) === null || _a === void 0 ? void 0 : _a.features.includes(wallet_standard_features_1.SolanaSignTransaction))) {
this.signTransaction = __classPrivateFieldGet(this, _StandardWalletAdapter_instances, "m", _StandardWalletAdapter_signTransaction);
this.signAllTransactions = __classPrivateFieldGet(this, _StandardWalletAdapter_instances, "m", _StandardWalletAdapter_signAllTransactions);
}
else {
delete this.signTransaction;
delete this.signAllTransactions;
}
if (wallet_standard_features_1.SolanaSignMessage in __classPrivateFieldGet(this, _StandardWalletAdapter_wallet, "f").features && ((_b = __classPrivateFieldGet(this, _StandardWalletAdapter_account, "f")) === null || _b === void 0 ? void 0 : _b.features.includes(wallet_standard_features_1.SolanaSignMessage))) {
this.signMessage = __classPrivateFieldGet(this, _StandardWalletAdapter_instances, "m", _StandardWalletAdapter_signMessage);
}
else {
delete this.signMessage;
}
if (wallet_standard_features_1.SolanaSignIn in __classPrivateFieldGet(this, _StandardWalletAdapter_wallet, "f").features) {
this.signIn = __classPrivateFieldGet(this, _StandardWalletAdapter_instances, "m", _StandardWalletAdapter_signIn);
}
else {
delete this.signIn;
}
}, _StandardWalletAdapter_signTransaction = function _StandardWalletAdapter_signTransaction(transaction) {
return __awaiter(this, void 0, void 0, function* () {
try {
const account = __classPrivateFieldGet(this, _StandardWalletAdapter_account, "f");
if (!account)
throw new wallet_adapter_base_1.WalletNotConnectedError();
if (!(wallet_standard_features_1.SolanaSignTransaction in __classPrivateFieldGet(this, _StandardWalletAdapter_wallet, "f").features))
throw new wallet_adapter_base_1.WalletConfigError();
if (!account.features.includes(wallet_standard_features_1.SolanaSignTransaction))
throw new wallet_adapter_base_1.WalletAccountError();
try {
const signedTransactions = yield __classPrivateFieldGet(this, _StandardWalletAdapter_wallet, "f").features[wallet_standard_features_1.SolanaSignTransaction].signTransaction({
account,
transaction: (0, wallet_adapter_base_1.isVersionedTransaction)(transaction)
? transaction.serialize()
: new Uint8Array(transaction.serialize({
requireAllSignatures: false,
verifySignatures: false,
})),
});
const serializedTransaction = signedTransactions[0].signedTransaction;
return ((0, wallet_adapter_base_1.isVersionedTransaction)(transaction)
? web3_js_1.VersionedTransaction.deserialize(serializedTransaction)
: web3_js_1.Transaction.from(serializedTransaction));
}
catch (error) {
if (error instanceof wallet_adapter_base_1.WalletError)
throw error;
throw new wallet_adapter_base_1.WalletSignTransactionError(error === null || error === void 0 ? void 0 : error.message, error);
}
}
catch (error) {
this.emit('error', error);
throw error;
}
});
}, _StandardWalletAdapter_signAllTransactions = function _StandardWalletAdapter_signAllTransactions(transactions) {
return __awaiter(this, void 0, void 0, function* () {
try {
const account = __classPrivateFieldGet(this, _StandardWalletAdapter_account, "f");
if (!account)
throw new wallet_adapter_base_1.WalletNotConnectedError();
if (!(wallet_standard_features_1.SolanaSignTransaction in __classPrivateFieldGet(this, _StandardWalletAdapter_wallet, "f").features))
throw new wallet_adapter_base_1.WalletConfigError();
if (!account.features.includes(wallet_standard_features_1.SolanaSignTransaction))
throw new wallet_adapter_base_1.WalletAccountError();
try {
const signedTransactions = yield __classPrivateFieldGet(this, _StandardWalletAdapter_wallet, "f").features[wallet_standard_features_1.SolanaSignTransaction].signTransaction(...transactions.map((transaction) => ({
account,
transaction: (0, wallet_adapter_base_1.isVersionedTransaction)(transaction)
? transaction.serialize()
: new Uint8Array(transaction.serialize({
requireAllSignatures: false,
verifySignatures: false,
})),
})));
return transactions.map((transaction, index) => {
const signedTransaction = signedTransactions[index].signedTransaction;
return ((0, wallet_adapter_base_1.isVersionedTransaction)(transaction)
? web3_js_1.VersionedTransaction.deserialize(signedTransaction)
: web3_js_1.Transaction.from(signedTransaction));
});
}
catch (error) {
throw new wallet_adapter_base_1.WalletSignTransactionError(error === null || error === void 0 ? void 0 : error.message, error);
}
}
catch (error) {
this.emit('error', error);
throw error;
}
});
}, _StandardWalletAdapter_signMessage = function _StandardWalletAdapter_signMessage(message) {
return __awaiter(this, void 0, void 0, function* () {
try {
const account = __classPrivateFieldGet(this, _StandardWalletAdapter_account, "f");
if (!account)
throw new wallet_adapter_base_1.WalletNotConnectedError();
if (!(wallet_standard_features_1.SolanaSignMessage in __classPrivateFieldGet(this, _StandardWalletAdapter_wallet, "f").features))
throw new wallet_adapter_base_1.WalletConfigError();
if (!account.features.includes(wallet_standard_features_1.SolanaSignMessage))
throw new wallet_adapter_base_1.WalletAccountError();
try {
const signedMessages = yield __classPrivateFieldGet(this, _StandardWalletAdapter_wallet, "f").features[wallet_standard_features_1.SolanaSignMessage].signMessage({
account,
message,
});
return signedMessages[0].signature;
}
catch (error) {
throw new wallet_adapter_base_1.WalletSignMessageError(error === null || error === void 0 ? void 0 : error.message, error);
}
}
catch (error) {
this.emit('error', error);
throw error;
}
});
}, _StandardWalletAdapter_signIn = function _StandardWalletAdapter_signIn() {
return __awaiter(this, arguments, void 0, function* (input = {}) {
try {
if (!(wallet_standard_features_1.SolanaSignIn in __classPrivateFieldGet(this, _StandardWalletAdapter_wallet, "f").features))
throw new wallet_adapter_base_1.WalletConfigError();
let output;
try {
[output] = yield __classPrivateFieldGet(this, _StandardWalletAdapter_wallet, "f").features[wallet_standard_features_1.SolanaSignIn].signIn(input);
}
catch (error) {
throw new wallet_adapter_base_1.WalletSignInError(error === null || error === void 0 ? void 0 : error.message, error);
}
if (!output)
throw new wallet_adapter_base_1.WalletSignInError();
__classPrivateFieldGet(this, _StandardWalletAdapter_instances, "m", _StandardWalletAdapter_connected).call(this, output.account);
return output;
}
catch (error) {
this.emit('error', error);
throw error;
}
});
};
//# sourceMappingURL=adapter.js.map

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1,20 @@
"use strict";
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
if (k2 === undefined) k2 = k;
var desc = Object.getOwnPropertyDescriptor(m, k);
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
desc = { enumerable: true, get: function() { return m[k]; } };
}
Object.defineProperty(o, k2, desc);
}) : (function(o, m, k, k2) {
if (k2 === undefined) k2 = k;
o[k2] = m[k];
}));
var __exportStar = (this && this.__exportStar) || function(m, exports) {
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
};
Object.defineProperty(exports, "__esModule", { value: true });
__exportStar(require("./adapter.js"), exports);
__exportStar(require("./types.js"), exports);
__exportStar(require("./wallet.js"), exports);
//# sourceMappingURL=index.js.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,+CAA6B;AAC7B,6CAA2B;AAC3B,8CAA4B"}

View File

@@ -0,0 +1 @@
{ "type": "commonjs" }

View File

@@ -0,0 +1 @@
{"root":["../../src/adapter.ts","../../src/index.ts","../../src/types.ts","../../src/wallet.ts"],"version":"5.7.3"}

View File

@@ -0,0 +1,11 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.isWalletAdapterCompatibleWallet = void 0;
const wallet_adapter_base_1 = require("@solana/wallet-adapter-base");
/**
* @deprecated Use `isWalletAdapterCompatibleStandardWallet` from `@solana/wallet-adapter-base` instead.
*
* @group Deprecated
*/
exports.isWalletAdapterCompatibleWallet = wallet_adapter_base_1.isWalletAdapterCompatibleStandardWallet;
//# sourceMappingURL=types.js.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":";;;AAAA,qEAIqC;AAgBrC;;;;GAIG;AACU,QAAA,+BAA+B,GAAG,6DAAuC,CAAC"}

View File

@@ -0,0 +1,368 @@
"use strict";
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
return new (P || (P = Promise))(function (resolve, reject) {
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
step((generator = generator.apply(thisArg, _arguments || [])).next());
});
};
var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {
if (kind === "m") throw new TypeError("Private method is not writable");
if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
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");
return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
};
var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
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");
return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
};
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
var _SolanaWalletAdapterWalletAccount_adapter, _SolanaWalletAdapterWallet_instances, _SolanaWalletAdapterWallet_listeners, _SolanaWalletAdapterWallet_adapter, _SolanaWalletAdapterWallet_supportedTransactionVersions, _SolanaWalletAdapterWallet_chain, _SolanaWalletAdapterWallet_endpoint, _SolanaWalletAdapterWallet_account, _SolanaWalletAdapterWallet_connected, _SolanaWalletAdapterWallet_disconnected, _SolanaWalletAdapterWallet_connect, _SolanaWalletAdapterWallet_disconnect, _SolanaWalletAdapterWallet_on, _SolanaWalletAdapterWallet_emit, _SolanaWalletAdapterWallet_off, _SolanaWalletAdapterWallet_deserializeTransaction, _SolanaWalletAdapterWallet_signAndSendTransaction, _SolanaWalletAdapterWallet_signTransaction, _SolanaWalletAdapterWallet_signMessage, _SolanaWalletAdapterWallet_signIn;
Object.defineProperty(exports, "__esModule", { value: true });
exports.SolanaWalletAdapterWallet = exports.SolanaWalletAdapterWalletAccount = void 0;
exports.registerWalletAdapter = registerWalletAdapter;
const wallet_adapter_base_1 = require("@solana/wallet-adapter-base");
const wallet_standard_chains_1 = require("@solana/wallet-standard-chains");
const wallet_standard_features_1 = require("@solana/wallet-standard-features");
const wallet_standard_util_1 = require("@solana/wallet-standard-util");
const web3_js_1 = require("@solana/web3.js");
const app_1 = require("@wallet-standard/app");
const features_1 = require("@wallet-standard/features");
const wallet_1 = require("@wallet-standard/wallet");
const bs58_1 = __importDefault(require("bs58"));
/** TODO: docs */
class SolanaWalletAdapterWalletAccount extends wallet_1.ReadonlyWalletAccount {
constructor({ adapter, address, publicKey, chains, }) {
const features = [wallet_standard_features_1.SolanaSignAndSendTransaction];
if ('signTransaction' in adapter) {
features.push(wallet_standard_features_1.SolanaSignTransaction);
}
if ('signMessage' in adapter) {
features.push(wallet_standard_features_1.SolanaSignMessage);
}
if ('signIn' in adapter) {
features.push(wallet_standard_features_1.SolanaSignIn);
}
super({ address, publicKey, chains, features });
// eslint-disable-next-line no-unused-private-class-members
_SolanaWalletAdapterWalletAccount_adapter.set(this, void 0);
if (new.target === SolanaWalletAdapterWalletAccount) {
Object.freeze(this);
}
__classPrivateFieldSet(this, _SolanaWalletAdapterWalletAccount_adapter, adapter, "f");
}
}
exports.SolanaWalletAdapterWalletAccount = SolanaWalletAdapterWalletAccount;
_SolanaWalletAdapterWalletAccount_adapter = new WeakMap();
/** TODO: docs */
class SolanaWalletAdapterWallet {
get version() {
return '1.0.0';
}
get name() {
return __classPrivateFieldGet(this, _SolanaWalletAdapterWallet_adapter, "f").name;
}
get icon() {
return __classPrivateFieldGet(this, _SolanaWalletAdapterWallet_adapter, "f").icon;
}
get chains() {
return [__classPrivateFieldGet(this, _SolanaWalletAdapterWallet_chain, "f")];
}
get features() {
const features = {
[features_1.StandardConnect]: {
version: '1.0.0',
connect: __classPrivateFieldGet(this, _SolanaWalletAdapterWallet_connect, "f"),
},
[features_1.StandardDisconnect]: {
version: '1.0.0',
disconnect: __classPrivateFieldGet(this, _SolanaWalletAdapterWallet_disconnect, "f"),
},
[features_1.StandardEvents]: {
version: '1.0.0',
on: __classPrivateFieldGet(this, _SolanaWalletAdapterWallet_on, "f"),
},
[wallet_standard_features_1.SolanaSignAndSendTransaction]: {
version: '1.0.0',
supportedTransactionVersions: __classPrivateFieldGet(this, _SolanaWalletAdapterWallet_supportedTransactionVersions, "f"),
signAndSendTransaction: __classPrivateFieldGet(this, _SolanaWalletAdapterWallet_signAndSendTransaction, "f"),
},
};
let signTransactionFeature;
if ('signTransaction' in __classPrivateFieldGet(this, _SolanaWalletAdapterWallet_adapter, "f")) {
signTransactionFeature = {
[wallet_standard_features_1.SolanaSignTransaction]: {
version: '1.0.0',
supportedTransactionVersions: __classPrivateFieldGet(this, _SolanaWalletAdapterWallet_supportedTransactionVersions, "f"),
signTransaction: __classPrivateFieldGet(this, _SolanaWalletAdapterWallet_signTransaction, "f"),
},
};
}
let signMessageFeature;
if ('signMessage' in __classPrivateFieldGet(this, _SolanaWalletAdapterWallet_adapter, "f")) {
signMessageFeature = {
[wallet_standard_features_1.SolanaSignMessage]: {
version: '1.0.0',
signMessage: __classPrivateFieldGet(this, _SolanaWalletAdapterWallet_signMessage, "f"),
},
};
}
let signInFeature;
if ('signIn' in __classPrivateFieldGet(this, _SolanaWalletAdapterWallet_adapter, "f")) {
signInFeature = {
[wallet_standard_features_1.SolanaSignIn]: {
version: '1.0.0',
signIn: __classPrivateFieldGet(this, _SolanaWalletAdapterWallet_signIn, "f"),
},
};
}
return Object.assign(Object.assign(Object.assign({}, features), signTransactionFeature), signMessageFeature);
}
get accounts() {
return __classPrivateFieldGet(this, _SolanaWalletAdapterWallet_account, "f") ? [__classPrivateFieldGet(this, _SolanaWalletAdapterWallet_account, "f")] : [];
}
get endpoint() {
return __classPrivateFieldGet(this, _SolanaWalletAdapterWallet_endpoint, "f");
}
constructor(adapter, chain, endpoint) {
_SolanaWalletAdapterWallet_instances.add(this);
_SolanaWalletAdapterWallet_listeners.set(this, {});
_SolanaWalletAdapterWallet_adapter.set(this, void 0);
_SolanaWalletAdapterWallet_supportedTransactionVersions.set(this, void 0);
_SolanaWalletAdapterWallet_chain.set(this, void 0);
_SolanaWalletAdapterWallet_endpoint.set(this, void 0);
_SolanaWalletAdapterWallet_account.set(this, void 0);
_SolanaWalletAdapterWallet_connect.set(this, (...args_1) => __awaiter(this, [...args_1], void 0, function* ({ silent } = {}) {
if (!silent && !__classPrivateFieldGet(this, _SolanaWalletAdapterWallet_adapter, "f").connected) {
yield __classPrivateFieldGet(this, _SolanaWalletAdapterWallet_adapter, "f").connect();
}
__classPrivateFieldGet(this, _SolanaWalletAdapterWallet_instances, "m", _SolanaWalletAdapterWallet_connected).call(this);
return { accounts: this.accounts };
}));
_SolanaWalletAdapterWallet_disconnect.set(this, () => __awaiter(this, void 0, void 0, function* () {
yield __classPrivateFieldGet(this, _SolanaWalletAdapterWallet_adapter, "f").disconnect();
}));
_SolanaWalletAdapterWallet_on.set(this, (event, listener) => {
var _a;
((_a = __classPrivateFieldGet(this, _SolanaWalletAdapterWallet_listeners, "f")[event]) === null || _a === void 0 ? void 0 : _a.push(listener)) || (__classPrivateFieldGet(this, _SolanaWalletAdapterWallet_listeners, "f")[event] = [listener]);
return () => __classPrivateFieldGet(this, _SolanaWalletAdapterWallet_instances, "m", _SolanaWalletAdapterWallet_off).call(this, event, listener);
});
_SolanaWalletAdapterWallet_signAndSendTransaction.set(this, (...inputs) => __awaiter(this, void 0, void 0, function* () {
const outputs = [];
if (inputs.length === 1) {
const input = inputs[0];
if (input.account !== __classPrivateFieldGet(this, _SolanaWalletAdapterWallet_account, "f"))
throw new Error('invalid account');
if (!(0, wallet_standard_chains_1.isSolanaChain)(input.chain))
throw new Error('invalid chain');
const transaction = __classPrivateFieldGet(this, _SolanaWalletAdapterWallet_instances, "m", _SolanaWalletAdapterWallet_deserializeTransaction).call(this, input.transaction);
const { commitment, preflightCommitment, skipPreflight, maxRetries, minContextSlot } = input.options || {};
const endpoint = (0, wallet_standard_util_1.getEndpointForChain)(input.chain, __classPrivateFieldGet(this, _SolanaWalletAdapterWallet_endpoint, "f"));
const connection = new web3_js_1.Connection(endpoint, commitment || 'confirmed');
const latestBlockhash = commitment
? yield connection.getLatestBlockhash({
commitment: preflightCommitment || commitment,
minContextSlot,
})
: undefined;
const signature = yield __classPrivateFieldGet(this, _SolanaWalletAdapterWallet_adapter, "f").sendTransaction(transaction, connection, {
preflightCommitment,
skipPreflight,
maxRetries,
minContextSlot,
});
if (latestBlockhash) {
yield connection.confirmTransaction(Object.assign(Object.assign({}, latestBlockhash), { signature }), commitment || 'confirmed');
}
outputs.push({ signature: bs58_1.default.decode(signature) });
}
else if (inputs.length > 1) {
// Adapters have no `sendAllTransactions` method, so just sign and send each transaction in serial.
for (const input of inputs) {
outputs.push(...(yield __classPrivateFieldGet(this, _SolanaWalletAdapterWallet_signAndSendTransaction, "f").call(this, input)));
}
}
return outputs;
}));
_SolanaWalletAdapterWallet_signTransaction.set(this, (...inputs) => __awaiter(this, void 0, void 0, function* () {
if (!('signTransaction' in __classPrivateFieldGet(this, _SolanaWalletAdapterWallet_adapter, "f")))
throw new Error('signTransaction not implemented by adapter');
const outputs = [];
if (inputs.length === 1) {
const input = inputs[0];
if (input.account !== __classPrivateFieldGet(this, _SolanaWalletAdapterWallet_account, "f"))
throw new Error('invalid account');
if (input.chain && !(0, wallet_standard_chains_1.isSolanaChain)(input.chain))
throw new Error('invalid chain');
const transaction = __classPrivateFieldGet(this, _SolanaWalletAdapterWallet_instances, "m", _SolanaWalletAdapterWallet_deserializeTransaction).call(this, input.transaction);
const signedTransaction = yield __classPrivateFieldGet(this, _SolanaWalletAdapterWallet_adapter, "f").signTransaction(transaction);
const serializedTransaction = (0, wallet_adapter_base_1.isVersionedTransaction)(signedTransaction)
? signedTransaction.serialize()
: new Uint8Array(signedTransaction.serialize({
requireAllSignatures: false,
verifySignatures: false,
}));
outputs.push({ signedTransaction: serializedTransaction });
}
else if (inputs.length > 1) {
for (const input of inputs) {
if (input.account !== __classPrivateFieldGet(this, _SolanaWalletAdapterWallet_account, "f"))
throw new Error('invalid account');
if (input.chain && !(0, wallet_standard_chains_1.isSolanaChain)(input.chain))
throw new Error('invalid chain');
}
const transactions = inputs.map(({ transaction }) => __classPrivateFieldGet(this, _SolanaWalletAdapterWallet_instances, "m", _SolanaWalletAdapterWallet_deserializeTransaction).call(this, transaction));
const signedTransactions = yield __classPrivateFieldGet(this, _SolanaWalletAdapterWallet_adapter, "f").signAllTransactions(transactions);
outputs.push(...signedTransactions.map((signedTransaction) => {
const serializedTransaction = (0, wallet_adapter_base_1.isVersionedTransaction)(signedTransaction)
? signedTransaction.serialize()
: new Uint8Array(signedTransaction.serialize({
requireAllSignatures: false,
verifySignatures: false,
}));
return { signedTransaction: serializedTransaction };
}));
}
return outputs;
}));
_SolanaWalletAdapterWallet_signMessage.set(this, (...inputs) => __awaiter(this, void 0, void 0, function* () {
if (!('signMessage' in __classPrivateFieldGet(this, _SolanaWalletAdapterWallet_adapter, "f")))
throw new Error('signMessage not implemented by adapter');
const outputs = [];
if (inputs.length === 1) {
const input = inputs[0];
if (input.account !== __classPrivateFieldGet(this, _SolanaWalletAdapterWallet_account, "f"))
throw new Error('invalid account');
const signature = yield __classPrivateFieldGet(this, _SolanaWalletAdapterWallet_adapter, "f").signMessage(input.message);
outputs.push({ signedMessage: input.message, signature });
}
else if (inputs.length > 1) {
// Adapters have no `signAllMessages` method, so just sign each message in serial.
for (const input of inputs) {
outputs.push(...(yield __classPrivateFieldGet(this, _SolanaWalletAdapterWallet_signMessage, "f").call(this, input)));
}
}
return outputs;
}));
_SolanaWalletAdapterWallet_signIn.set(this, (...inputs) => __awaiter(this, void 0, void 0, function* () {
if (!('signIn' in __classPrivateFieldGet(this, _SolanaWalletAdapterWallet_adapter, "f")))
throw new Error('signIn not implemented by adapter');
if (inputs.length > 1) {
// Adapters don't support `signIn` with multiple inputs, so just sign in with each input in serial.
const outputs = [];
for (const input of inputs) {
outputs.push(yield __classPrivateFieldGet(this, _SolanaWalletAdapterWallet_adapter, "f").signIn(input));
}
return outputs;
}
else {
return [yield __classPrivateFieldGet(this, _SolanaWalletAdapterWallet_adapter, "f").signIn(inputs[0])];
}
}));
if (new.target === SolanaWalletAdapterWallet) {
Object.freeze(this);
}
const supportedTransactionVersions = [...(adapter.supportedTransactionVersions || ['legacy'])];
if (!supportedTransactionVersions.length) {
supportedTransactionVersions.push('legacy');
}
__classPrivateFieldSet(this, _SolanaWalletAdapterWallet_adapter, adapter, "f");
__classPrivateFieldSet(this, _SolanaWalletAdapterWallet_supportedTransactionVersions, supportedTransactionVersions, "f");
__classPrivateFieldSet(this, _SolanaWalletAdapterWallet_chain, chain, "f");
__classPrivateFieldSet(this, _SolanaWalletAdapterWallet_endpoint, endpoint, "f");
adapter.on('connect', __classPrivateFieldGet(this, _SolanaWalletAdapterWallet_instances, "m", _SolanaWalletAdapterWallet_connected), this);
adapter.on('disconnect', __classPrivateFieldGet(this, _SolanaWalletAdapterWallet_instances, "m", _SolanaWalletAdapterWallet_disconnected), this);
__classPrivateFieldGet(this, _SolanaWalletAdapterWallet_instances, "m", _SolanaWalletAdapterWallet_connected).call(this);
}
destroy() {
__classPrivateFieldGet(this, _SolanaWalletAdapterWallet_adapter, "f").off('connect', __classPrivateFieldGet(this, _SolanaWalletAdapterWallet_instances, "m", _SolanaWalletAdapterWallet_connected), this);
__classPrivateFieldGet(this, _SolanaWalletAdapterWallet_adapter, "f").off('disconnect', __classPrivateFieldGet(this, _SolanaWalletAdapterWallet_instances, "m", _SolanaWalletAdapterWallet_disconnected), this);
}
}
exports.SolanaWalletAdapterWallet = SolanaWalletAdapterWallet;
_SolanaWalletAdapterWallet_listeners = new WeakMap(), _SolanaWalletAdapterWallet_adapter = new WeakMap(), _SolanaWalletAdapterWallet_supportedTransactionVersions = new WeakMap(), _SolanaWalletAdapterWallet_chain = new WeakMap(), _SolanaWalletAdapterWallet_endpoint = new WeakMap(), _SolanaWalletAdapterWallet_account = new WeakMap(), _SolanaWalletAdapterWallet_connect = new WeakMap(), _SolanaWalletAdapterWallet_disconnect = new WeakMap(), _SolanaWalletAdapterWallet_on = new WeakMap(), _SolanaWalletAdapterWallet_signAndSendTransaction = new WeakMap(), _SolanaWalletAdapterWallet_signTransaction = new WeakMap(), _SolanaWalletAdapterWallet_signMessage = new WeakMap(), _SolanaWalletAdapterWallet_signIn = new WeakMap(), _SolanaWalletAdapterWallet_instances = new WeakSet(), _SolanaWalletAdapterWallet_connected = function _SolanaWalletAdapterWallet_connected() {
var _a;
const publicKey = (_a = __classPrivateFieldGet(this, _SolanaWalletAdapterWallet_adapter, "f").publicKey) === null || _a === void 0 ? void 0 : _a.toBytes();
if (publicKey) {
const address = __classPrivateFieldGet(this, _SolanaWalletAdapterWallet_adapter, "f").publicKey.toBase58();
const account = __classPrivateFieldGet(this, _SolanaWalletAdapterWallet_account, "f");
if (!account ||
account.address !== address ||
account.chains.includes(__classPrivateFieldGet(this, _SolanaWalletAdapterWallet_chain, "f")) ||
!(0, wallet_1.bytesEqual)(account.publicKey, publicKey)) {
__classPrivateFieldSet(this, _SolanaWalletAdapterWallet_account, new SolanaWalletAdapterWalletAccount({
adapter: __classPrivateFieldGet(this, _SolanaWalletAdapterWallet_adapter, "f"),
address,
publicKey,
chains: [__classPrivateFieldGet(this, _SolanaWalletAdapterWallet_chain, "f")],
}), "f");
__classPrivateFieldGet(this, _SolanaWalletAdapterWallet_instances, "m", _SolanaWalletAdapterWallet_emit).call(this, 'change', { accounts: this.accounts });
}
}
}, _SolanaWalletAdapterWallet_disconnected = function _SolanaWalletAdapterWallet_disconnected() {
if (__classPrivateFieldGet(this, _SolanaWalletAdapterWallet_account, "f")) {
__classPrivateFieldSet(this, _SolanaWalletAdapterWallet_account, undefined, "f");
__classPrivateFieldGet(this, _SolanaWalletAdapterWallet_instances, "m", _SolanaWalletAdapterWallet_emit).call(this, 'change', { accounts: this.accounts });
}
}, _SolanaWalletAdapterWallet_emit = function _SolanaWalletAdapterWallet_emit(event, ...args) {
var _a;
// eslint-disable-next-line prefer-spread
(_a = __classPrivateFieldGet(this, _SolanaWalletAdapterWallet_listeners, "f")[event]) === null || _a === void 0 ? void 0 : _a.forEach((listener) => listener.apply(null, args));
}, _SolanaWalletAdapterWallet_off = function _SolanaWalletAdapterWallet_off(event, listener) {
var _a;
__classPrivateFieldGet(this, _SolanaWalletAdapterWallet_listeners, "f")[event] = (_a = __classPrivateFieldGet(this, _SolanaWalletAdapterWallet_listeners, "f")[event]) === null || _a === void 0 ? void 0 : _a.filter((existingListener) => listener !== existingListener);
}, _SolanaWalletAdapterWallet_deserializeTransaction = function _SolanaWalletAdapterWallet_deserializeTransaction(serializedTransaction) {
const transaction = web3_js_1.VersionedTransaction.deserialize(serializedTransaction);
if (!__classPrivateFieldGet(this, _SolanaWalletAdapterWallet_supportedTransactionVersions, "f").includes(transaction.version))
throw new Error('unsupported transaction version');
if (transaction.version === 'legacy' && (0, wallet_1.arraysEqual)(__classPrivateFieldGet(this, _SolanaWalletAdapterWallet_supportedTransactionVersions, "f"), ['legacy']))
return web3_js_1.Transaction.from(serializedTransaction);
return transaction;
};
/** TODO: docs */
function registerWalletAdapter(adapter, chain, endpoint, match = (wallet) => wallet.name === adapter.name) {
const { register, get, on } = (0, app_1.getWallets)();
const destructors = [];
function destroy() {
destructors.forEach((destroy) => destroy());
destructors.length = 0;
}
function setup() {
// If the adapter is unsupported, or a standard wallet that matches it has already been registered, do nothing.
if (adapter.readyState === wallet_adapter_base_1.WalletReadyState.Unsupported || get().some(match))
return true;
// If the adapter isn't ready, try again later.
const ready = adapter.readyState === wallet_adapter_base_1.WalletReadyState.Installed || adapter.readyState === wallet_adapter_base_1.WalletReadyState.Loadable;
if (ready) {
const wallet = new SolanaWalletAdapterWallet(adapter, chain, endpoint);
destructors.push(() => wallet.destroy());
// Register the adapter wrapped as a standard wallet, and receive a function to unregister the adapter.
destructors.push(register(wallet));
// Whenever a standard wallet is registered ...
destructors.push(on('register', (...wallets) => {
// ... check if it matches the adapter.
if (wallets.some(match)) {
// If it does, remove the event listener and unregister the adapter.
destroy();
}
}));
}
return ready;
}
if (!setup()) {
function listener() {
if (setup()) {
adapter.off('readyStateChange', listener);
}
}
adapter.on('readyStateChange', listener);
destructors.push(() => adapter.off('readyStateChange', listener));
}
return destroy;
}
//# sourceMappingURL=wallet.js.map

File diff suppressed because one or more lines are too long