Socket
Socket
Sign inDemoInstall

@0xsequence/provider

Package Overview
Dependencies
Maintainers
4
Versions
500
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@0xsequence/provider - npm Package Compare versions

Comparing version 0.11.2 to 0.11.3

14

CHANGELOG.md
# @0xsequence/provider
## 0.11.3
### Patch Changes
- improve openWindow state options handling
- Updated dependencies [undefined]
- @0xsequence/abi@0.11.3
- @0xsequence/auth@0.11.3
- @0xsequence/config@0.11.3
- @0xsequence/network@0.11.3
- @0xsequence/transactions@0.11.3
- @0xsequence/utils@0.11.3
- @0xsequence/wallet@0.11.3
## 0.11.2

@@ -4,0 +18,0 @@

4

dist/declarations/src/transports/base-provider-transport.d.ts
import EventEmitter from 'eventemitter3';
import { ProviderTransport, ProviderMessage, ProviderMessageRequest, ProviderMessageEvent, ProviderMessageResponse, ProviderMessageResponseCallback, WalletSession, ConnectionState } from '../types';
import { ProviderTransport, ProviderMessage, ProviderMessageRequest, ProviderMessageEvent, ProviderMessageResponse, ProviderMessageResponseCallback, WalletSession, ConnectionState, OpenWalletIntent } from '../types';
import { NetworkConfig, WalletContext, JsonRpcRequest, JsonRpcResponseCallback } from '@0xsequence/network';

@@ -21,3 +21,3 @@ export declare const PROVIDER_CONNECT_TIMEOUT = 8000;

unregister(): void;
openWallet(path?: string, state?: any, defaultNetworkId?: string | number): void;
openWallet(path?: string, state?: OpenWalletIntent, defaultNetworkId?: string | number): void;
closeWallet(): void;

@@ -24,0 +24,0 @@ isConnected(): boolean;

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

import { ProviderMessage, ProviderTransport, ProviderMessageEvent, ProviderMessageRequest, ProviderMessageResponse, WalletSession } from '../../types';
import { ProviderMessage, ProviderTransport, ProviderMessageEvent, ProviderMessageRequest, ProviderMessageResponse, WalletSession, OpenWalletIntent } from '../../types';
import { JsonRpcRequest, JsonRpcResponseCallback } from '@0xsequence/network';

@@ -10,3 +10,3 @@ export declare class MuxMessageProvider implements ProviderTransport {

unregister: () => void;
openWallet: (path?: string | undefined, state?: any, defaultNetworkId?: string | number | undefined) => void;
openWallet: (path?: string | undefined, state?: OpenWalletIntent | undefined, defaultNetworkId?: string | number | undefined) => void;
closeWallet(): void;

@@ -13,0 +13,0 @@ isConnected(): boolean;

import { BaseProviderTransport } from '../base-provider-transport';
import { ProviderMessage } from '../../types';
import { ProviderMessage, OpenWalletIntent } from '../../types';
import { ProxyMessageChannelPort } from './proxy-message-channel';

@@ -9,5 +9,5 @@ export declare class ProxyMessageProvider extends BaseProviderTransport {

unregister: () => void;
openWallet: (path?: string | undefined, state?: any, defaultNetworkId?: string | number | undefined) => void;
openWallet: (path?: string | undefined, state?: OpenWalletIntent | undefined, defaultNetworkId?: string | number | undefined) => void;
closeWallet(): void;
sendMessage(message: ProviderMessage<any>): void;
}
import { ProviderMessage } from '../../types';
import { WalletRequestHandler } from '../wallet-request-handler';
import { BaseWalletTransport } from '../base-wallet-transport';
export interface RegisterOptions {
loadingPath: string;
}
export declare class WindowMessageHandler extends BaseWalletTransport {

@@ -9,3 +12,3 @@ protected parentWindow: Window;

constructor(walletRequestHandler: WalletRequestHandler);
register(): void;
register(options?: RegisterOptions): void;
unregister(): void;

@@ -12,0 +15,0 @@ private onWindowEvent;

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

import { ProviderMessage } from '../../types';
import { OpenWalletIntent, ProviderMessage } from '../../types';
import { BaseProviderTransport } from '../base-provider-transport';

@@ -9,3 +9,3 @@ export declare class WindowMessageProvider extends BaseProviderTransport {

unregister: () => void;
openWallet: (path?: string | undefined, state?: any, defaultNetworkId?: string | number | undefined) => void;
openWallet: (path?: string | undefined, state?: OpenWalletIntent | undefined, defaultNetworkId?: string | number | undefined) => void;
closeWallet(): void;

@@ -12,0 +12,0 @@ private onWindowEvent;

@@ -14,3 +14,3 @@ import { NetworkConfig, WalletContext, JsonRpcRequest, JsonRpcResponse, JsonRpcHandler } from '@0xsequence/network';

unregister(): void;
openWallet(path?: string, state?: any, defaultNetworkId?: string | number): void;
openWallet(path?: string, state?: OpenWalletIntent, defaultNetworkId?: string | number): void;
closeWallet(): void;

@@ -79,1 +79,7 @@ isConnected(): boolean;

}
export declare type OpenWalletIntent = {
type: 'login';
} | {
type: 'jsonRpcRequest';
method: string;
};

@@ -5,3 +5,3 @@ import { NetworkConfig, WalletContext, ChainId } from '@0xsequence/network';

import { ProxyMessageChannelPort } from './transports';
import { WalletSession, ProviderMessageEvent } from './types';
import { WalletSession, ProviderMessageEvent, OpenWalletIntent } from './types';
import { WalletCommands } from './commands';

@@ -19,3 +19,3 @@ export interface WalletProvider {

getAuthChainId(): Promise<number>;
openWallet(path?: string, state?: any): Promise<boolean>;
openWallet(path?: string, state?: OpenWalletIntent): Promise<boolean>;
closeWallet(): void;

@@ -51,3 +51,3 @@ getProvider(chainId?: ChainId): Web3Provider | undefined;

getAuthChainId: () => Promise<number>;
openWallet: (path?: string | undefined, state?: any) => Promise<boolean>;
openWallet: (path?: string | undefined, state?: OpenWalletIntent | undefined) => Promise<boolean>;
closeWallet: () => void;

@@ -54,0 +54,0 @@ getProvider(chainId?: ChainId): Web3Provider | undefined;

{
"name": "@0xsequence/provider",
"version": "0.11.2",
"version": "0.11.3",
"description": "provider sub-package for Sequence",

@@ -16,9 +16,9 @@ "repository": "https://github.com/0xsequence/sequence.js/tree/master/packages/provider",

"dependencies": {
"@0xsequence/abi": "^0.11.2",
"@0xsequence/auth": "^0.11.2",
"@0xsequence/config": "^0.11.2",
"@0xsequence/network": "^0.11.2",
"@0xsequence/transactions": "^0.11.2",
"@0xsequence/utils": "^0.11.2",
"@0xsequence/wallet": "^0.11.2",
"@0xsequence/abi": "^0.11.3",
"@0xsequence/auth": "^0.11.3",
"@0xsequence/config": "^0.11.3",
"@0xsequence/network": "^0.11.3",
"@0xsequence/transactions": "^0.11.3",
"@0xsequence/utils": "^0.11.3",
"@0xsequence/wallet": "^0.11.3",
"@ethersproject/abstract-signer": "5.0.14",

@@ -25,0 +25,0 @@ "@ethersproject/hash": "^5.0.12",

@@ -7,3 +7,3 @@ import EventEmitter from 'eventemitter3'

ProviderMessageResponseCallback, ProviderMessageTransport,
WalletSession, ConnectionState
WalletSession, ConnectionState, OpenWalletIntent
} from '../types'

@@ -53,3 +53,3 @@

openWallet(path?: string, state?: any, defaultNetworkId?: string | number) {
openWallet(path?: string, state?: OpenWalletIntent, defaultNetworkId?: string | number) {
throw new Error('abstract method')

@@ -77,6 +77,6 @@ }

// automatically open the wallet when a provider request makes it here.
await this.openWallet()
await this.openWallet(undefined, { type: 'jsonRpcRequest', method: request.method })
if (!this.isConnected()) {
await this.waitUntilConnected()
}
}

@@ -83,0 +83,0 @@ // send message request, await, and then execute callback after receiving the response

import {
ProviderMessage, ProviderMessageType, ProviderTransport,
ProviderMessageEvent, ProviderMessageRequest, ProviderMessageResponse, WalletSession
ProviderMessageEvent, ProviderMessageRequest, ProviderMessageResponse, WalletSession, OpenWalletIntent
} from '../../types'

@@ -53,3 +53,3 @@

openWallet = (path?: string, state?: any, defaultNetworkId?: string | number): void => {
openWallet = (path?: string, state?: OpenWalletIntent, defaultNetworkId?: string | number): void => {
if (this.provider) {

@@ -56,0 +56,0 @@ this.provider.openWallet(path, state, defaultNetworkId)

import { BaseProviderTransport } from '../base-provider-transport'
import {
ProviderMessage, ConnectionState
ProviderMessage, ConnectionState, OpenWalletIntent
} from '../../types'

@@ -45,3 +45,3 @@

openWallet = (path?: string, state?: any, defaultNetworkId?: string | number): void => {
openWallet = (path?: string, state?: OpenWalletIntent, defaultNetworkId?: string | number): void => {
this.connect(defaultNetworkId)

@@ -48,0 +48,0 @@ }

@@ -6,2 +6,6 @@ import { ProviderMessageRequest, ProviderMessage, ProviderMessageType, ProviderMessageResponse } from '../../types'

export interface RegisterOptions {
loadingPath: string
}
export class WindowMessageHandler extends BaseWalletTransport {

@@ -17,3 +21,3 @@ protected parentWindow: Window

register() {
register(options?: RegisterOptions) {
const isPopup = parent.window.opener !== null

@@ -29,4 +33,11 @@ this._isPopup = isPopup

location.searchParams.delete('sid')
window.history.replaceState({}, document.title, location.pathname)
const jsonRpcRequest = location.searchParams.get('jsonRpcRequest')
if (options?.loadingPath && !!jsonRpcRequest) {
window.history.replaceState({}, document.title, options.loadingPath)
} else {
window.history.replaceState({}, document.title, location.pathname)
}
// record parent window instance for communication

@@ -88,3 +99,2 @@ this.parentWindow = parent.window.opener

}
}

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

import { ProviderMessage } from '../../types'
import { OpenWalletIntent, ProviderMessage } from '../../types'
import { BaseProviderTransport } from '../base-provider-transport'

@@ -51,3 +51,3 @@

openWallet = (path?: string, state?: any, defaultNetworkId?: string | number): void => {
openWallet = (path?: string, state?: OpenWalletIntent, defaultNetworkId?: string | number): void => {
if (this.walletWindow && this.isConnected()) {

@@ -61,2 +61,8 @@ // TODO: update the location of window to path

this.walletURL.searchParams.set('sid', this.sessionId)
if(state?.type === 'jsonRpcRequest') {
this.walletURL.searchParams.set('jsonRpcRequest', state.method)
} else {
this.walletURL.searchParams.delete('jsonRpcRequest')
}

@@ -63,0 +69,0 @@ const walletURL = new URL(this.walletURL.href)

@@ -24,3 +24,3 @@ import { NetworkConfig, WalletContext, JsonRpcRequest, JsonRpcResponse, JsonRpcHandler } from '@0xsequence/network'

unregister(): void
openWallet(path?: string, state?: any, defaultNetworkId?: string | number): void
openWallet(path?: string, state?: OpenWalletIntent, defaultNetworkId?: string | number): void
closeWallet(): void

@@ -108,1 +108,3 @@ isConnected(): boolean

}
export type OpenWalletIntent = { type: 'login' } | { type: 'jsonRpcRequest'; method: string }

@@ -10,3 +10,3 @@ import { Networks, NetworkConfig, WalletContext, sequenceContext, ChainId, getNetworkId, JsonRpcSender,

import { MuxMessageProvider, WindowMessageProvider, ProxyMessageProvider, ProxyMessageChannelPort } from './transports'
import { WalletSession, ProviderMessageEvent, ProviderTransport } from './types'
import { WalletSession, ProviderMessageEvent, ProviderTransport, OpenWalletIntent } from './types'
import { WalletCommands } from './commands'

@@ -29,3 +29,3 @@ import { ethers } from 'ethers'

openWallet(path?: string, state?: any): Promise<boolean>
openWallet(path?: string, state?: OpenWalletIntent): Promise<boolean>
closeWallet(): void

@@ -188,3 +188,3 @@

await this.openWallet('', { login: true })
await this.openWallet(undefined, { type: 'login' })
const sessionPayload = await this.transport.messageProvider!.waitUntilLoggedIn()

@@ -276,4 +276,4 @@ this.useSession(sessionPayload, true)

openWallet = async (path?: string, state?: any): Promise<boolean> => {
if (state?.login !== true && !this.isLoggedIn()) {
openWallet = async (path?: string, state?: OpenWalletIntent): Promise<boolean> => {
if (state?.type !== 'login' && !this.isLoggedIn()) {
throw new Error('login first')

@@ -280,0 +280,0 @@ }

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is too big to display

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