Socket
Socket
Sign inDemoInstall

@coinbase/wallet-sdk

Package Overview
Dependencies
Maintainers
15
Versions
77
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@coinbase/wallet-sdk - npm Package Compare versions

Comparing version 4.0.0 to 4.0.1

28

dist/CoinbaseWalletProvider.js

@@ -23,5 +23,3 @@ "use strict";

const util_1 = require("./core/type/util");
const SCWSigner_1 = require("./sign/scw/SCWSigner");
const util_2 = require("./sign/util");
const WalletLinkSigner_1 = require("./sign/walletlink/WalletLinkSigner");
const provider_1 = require("./util/provider");

@@ -168,24 +166,10 @@ const Communicator_1 = require("./core/communicator/Communicator");

initSigner(signerType) {
switch (signerType) {
case 'scw':
return new SCWSigner_1.SCWSigner({
metadata: this.metadata,
updateListener: this.updateListener,
postMessageToPopup: this.communicator.postRequestAndWaitForResponse,
});
case 'walletlink':
return new WalletLinkSigner_1.WalletLinkSigner({
metadata: this.metadata,
updateListener: this.updateListener,
});
case 'extension': {
const injectedSigner = (0, provider_1.getCoinbaseInjectedSigner)();
if (!injectedSigner) {
throw error_1.standardErrors.rpc.internal('injected signer not found');
}
return injectedSigner;
}
}
return (0, util_2.createSigner)({
signerType,
metadata: this.metadata,
communicator: this.communicator,
updateListener: this.updateListener,
});
}
}
exports.CoinbaseWalletProvider = CoinbaseWalletProvider;

@@ -37,3 +37,3 @@ import { Message, MessageID } from '../message';

*/
private waitForPopupLoaded;
waitForPopupLoaded: () => Promise<Window>;
}

@@ -5,2 +5,2 @@ import { CoinbaseWalletSDK } from './CoinbaseWalletSDK';

export { CoinbaseWalletSDK } from './CoinbaseWalletSDK';
export type { ProviderInterface } from './core/provider/interface';
export type { AppMetadata, Preference, ProviderInterface } from './core/provider/interface';
import { StateUpdateListener } from '../interface';
import { RPCRequestMessage, RPCResponseMessage } from '../../core/message';
import { Communicator } from '../../core/communicator/Communicator';
import { AppMetadata, RequestArguments, Signer } from '../../core/provider/interface';

@@ -7,3 +7,3 @@ import { AddressString } from '../../core/type';

private readonly metadata;
private readonly postMessageToPopup;
private readonly communicator;
private readonly keyManager;

@@ -13,3 +13,3 @@ private readonly stateManager;

metadata: AppMetadata;
postMessageToPopup: (_: RPCRequestMessage) => Promise<RPCResponseMessage>;
communicator: Communicator;
updateListener: StateUpdateListener;

@@ -16,0 +16,0 @@ });

@@ -12,3 +12,3 @@ "use strict";

this.metadata = params.metadata;
this.postMessageToPopup = params.postMessageToPopup;
this.communicator = params.communicator;
this.keyManager = new SCWKeyManager_1.SCWKeyManager();

@@ -31,3 +31,3 @@ this.stateManager = new SCWStateManager_1.SCWStateManager({

});
const response = await this.postMessageToPopup(handshakeMessage);
const response = await this.communicator.postRequestAndWaitForResponse(handshakeMessage);
// store peer's public key

@@ -52,2 +52,5 @@ if ('failure' in response.content)

}
// Open the popup before constructing the request message.
// This is to ensure that the popup is not blocked by some browsers (i.e. Safari)
await this.communicator.waitForPopupLoaded();
const response = await this.sendEncryptedRequest(request);

@@ -101,3 +104,3 @@ const decrypted = await this.decryptResponseMessage(response);

const message = await this.createRequestMessage({ encrypted });
return this.postMessageToPopup(message);
return this.communicator.postRequestAndWaitForResponse(message);
}

@@ -104,0 +107,0 @@ async createRequestMessage(content) {

@@ -0,4 +1,5 @@

import { StateUpdateListener } from './interface';
import { Communicator } from '../core/communicator/Communicator';
import { SignerType } from '../core/message';
import { AppMetadata, Preference } from '../core/provider/interface';
import { AppMetadata, Preference, Signer } from '../core/provider/interface';
export declare function loadSignerType(): SignerType | null;

@@ -11,1 +12,7 @@ export declare function storeSignerType(signerType: SignerType): void;

}): Promise<SignerType>;
export declare function createSigner(params: {
signerType: SignerType;
metadata: AppMetadata;
communicator: Communicator;
updateListener: StateUpdateListener;
}): Signer;
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.fetchSignerType = exports.storeSignerType = exports.loadSignerType = void 0;
exports.createSigner = exports.fetchSignerType = exports.storeSignerType = exports.loadSignerType = void 0;
const SCWSigner_1 = require("./scw/SCWSigner");
const WalletLinkSigner_1 = require("./walletlink/WalletLinkSigner");
const error_1 = require("../core/error");
const provider_1 = require("../util/provider");
const ScopedLocalStorage_1 = require("../util/ScopedLocalStorage");

@@ -28,2 +31,26 @@ const SIGNER_TYPE_KEY = 'SignerType';

exports.fetchSignerType = fetchSignerType;
function createSigner(params) {
const { signerType, metadata, communicator, updateListener } = params;
switch (signerType) {
case 'scw':
return new SCWSigner_1.SCWSigner({
metadata,
updateListener,
communicator,
});
case 'walletlink':
return new WalletLinkSigner_1.WalletLinkSigner({
metadata,
updateListener,
});
case 'extension': {
const injectedSigner = (0, provider_1.getCoinbaseInjectedSigner)();
if (!injectedSigner) {
throw error_1.standardErrors.rpc.internal('injected signer not found');
}
return injectedSigner;
}
}
}
exports.createSigner = createSigner;
async function listenForWalletLinkSessionRequest(communicator, metadata) {

@@ -30,0 +57,0 @@ await communicator.onMessage(({ event }) => event === 'WalletLinkSessionRequest');

@@ -1,1 +0,1 @@

export declare const LIB_VERSION = "4.0.0";
export declare const LIB_VERSION = "4.0.1";
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.LIB_VERSION = void 0;
exports.LIB_VERSION = '4.0.0';
exports.LIB_VERSION = '4.0.1';
{
"name": "@coinbase/wallet-sdk",
"version": "4.0.0",
"version": "4.0.1",
"description": "Coinbase Wallet JavaScript SDK",

@@ -5,0 +5,0 @@ "keywords": [

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc