Socket
Socket
Sign inDemoInstall

@0xsequence/provider

Package Overview
Dependencies
Maintainers
4
Versions
498
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.12.4 to 0.13.0

17

CHANGELOG.md
# @0xsequence/provider
## 0.13.0
### Minor Changes
- Update SequenceUtils deployed contract
### Patch Changes
- Updated dependencies [undefined]
- @0xsequence/abi@0.13.0
- @0xsequence/auth@0.13.0
- @0xsequence/config@0.13.0
- @0xsequence/network@0.13.0
- @0xsequence/transactions@0.13.0
- @0xsequence/utils@0.13.0
- @0xsequence/wallet@0.13.0
## 0.12.4

@@ -4,0 +21,0 @@

6

dist/declarations/src/commands/index.d.ts

@@ -17,5 +17,5 @@ import { BigNumberish, BytesLike } from 'ethers';

isValidTypedDataSignature(address: string, typedData: TypedData, signature: string, chainId: number, walletContext?: WalletContext): Promise<boolean | undefined>;
recoverWalletConfig: (address: string, digest: BytesLike, signature: string | DecodedSignature, chainId: BigNumberish, walletContext?: WalletContext | undefined) => Promise<WalletConfig>;
recoverWalletConfigFromMessage: (address: string, message: string | Uint8Array, signature: string | DecodedSignature, chainId: BigNumberish, walletContext?: WalletContext | undefined) => Promise<WalletConfig>;
recoverWalletConfigFromTypedData: (address: string, typedData: TypedData, signature: string | DecodedSignature, chainId: BigNumberish, walletContext?: WalletContext | undefined) => Promise<WalletConfig>;
recoverWalletConfig: (address: string, digest: BytesLike, signature: string | DecodedSignature, chainId: BigNumberish, walletContext?: any) => Promise<WalletConfig>;
recoverWalletConfigFromMessage: (address: string, message: string | Uint8Array, signature: string | DecodedSignature, chainId: BigNumberish, walletContext?: any) => Promise<WalletConfig>;
recoverWalletConfigFromTypedData: (address: string, typedData: TypedData, signature: string | DecodedSignature, chainId: BigNumberish, walletContext?: any) => Promise<WalletConfig>;
}
import EventEmitter from 'eventemitter3';
import { ProviderTransport, ProviderMessage, ProviderMessageRequest, ProviderMessageEvent, ProviderMessageResponse, ProviderMessageResponseCallback, WalletSession, OpenState, OpenWalletIntent } from '../types';
import { NetworkConfig, WalletContext, JsonRpcRequest, JsonRpcResponseCallback } from '@0xsequence/network';
import { NetworkConfig, WalletContext } from '@0xsequence/network';
export declare const PROVIDER_OPEN_TIMEOUT = 30000;

@@ -25,3 +25,3 @@ export declare const nextMessageIdx: () => number;

isConnected(): boolean;
sendAsync: (request: JsonRpcRequest, callback: JsonRpcResponseCallback, chainId?: number | undefined) => Promise<void>;
sendAsync: (request: any, callback: any, chainId?: number | undefined) => Promise<void>;
handleMessage(message: ProviderMessage<any>): void;

@@ -28,0 +28,0 @@ sendMessageRequest: (message: ProviderMessageRequest) => Promise<ProviderMessageResponse>;

import { WalletTransport, ProviderMessage, ProviderMessageRequest, ProviderMessageResponse, ProviderConnectInfo, ProviderRpcError, InitState } from '../types';
import { WalletRequestHandler } from './wallet-request-handler';
import { NetworkConfig, WalletContext, JsonRpcRequest, JsonRpcResponseCallback } from '@0xsequence/network';
import { NetworkConfig, WalletContext } from '@0xsequence/network';
export declare abstract class BaseWalletTransport implements WalletTransport {

@@ -13,3 +13,3 @@ protected walletRequestHandler: WalletRequestHandler;

unregister(): void;
sendAsync: (request: JsonRpcRequest, callback: JsonRpcResponseCallback, chainId?: number | undefined) => Promise<never>;
sendAsync: (request: any, callback: any, chainId?: number | undefined) => Promise<never>;
handleMessage: (message: ProviderMessage<any>) => Promise<void>;

@@ -16,0 +16,0 @@ sendMessageRequest: (message: ProviderMessageRequest) => Promise<ProviderMessageResponse>;

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

@@ -16,3 +15,3 @@ private messageProviders;

once(event: ProviderMessageEvent, fn: (...args: any[]) => void): void;
sendAsync: (request: JsonRpcRequest, callback: JsonRpcResponseCallback, chainId?: number | undefined) => Promise<void>;
sendAsync: (request: any, callback: any, chainId?: number | undefined) => Promise<void>;
sendMessage(message: ProviderMessage<any>): void;

@@ -19,0 +18,0 @@ sendMessageRequest: (message: ProviderMessageRequest) => Promise<ProviderMessageResponse>;

import { ProviderMessageRequest, ProviderMessageResponse, WalletMessageEvent, ProviderMessageRequestHandler, MessageToSign } from '../types';
import { ExternalProvider } from '@ethersproject/providers';
import { Networks, NetworkConfig, JsonRpcHandler, JsonRpcRequest, JsonRpcResponseCallback } from '@0xsequence/network';
import { Networks, NetworkConfig, JsonRpcHandler } from '@0xsequence/network';
import { Signer } from '@0xsequence/wallet';

@@ -17,3 +17,3 @@ import { TransactionRequest } from '@0xsequence/transactions';

sendMessageRequest(message: ProviderMessageRequest): Promise<ProviderMessageResponse>;
sendAsync: (request: JsonRpcRequest, callback: JsonRpcResponseCallback, chainId?: number | undefined) => Promise<void>;
sendAsync: (request: any, callback: any, chainId?: number | undefined) => Promise<void>;
on: (event: WalletMessageEvent, fn: (...args: any[]) => void) => void;

@@ -20,0 +20,0 @@ once: (event: WalletMessageEvent, fn: (...args: any[]) => void) => void;

import { BigNumberish, BytesLike } from 'ethers';
import { WalletContext } from '@0xsequence/network';
import { WalletConfig, DecodedSignature } from '@0xsequence/config';
import { Web3Provider } from './provider';
export declare const isValidSignature: (address: string, digest: Uint8Array, sig: string, provider: Web3Provider, chainId?: number | undefined, walletContext?: WalletContext | undefined) => Promise<boolean | undefined>;
export declare const recoverWalletConfig: (address: string, digest: BytesLike, signature: string | DecodedSignature, chainId: BigNumberish, walletContext?: WalletContext | undefined) => Promise<WalletConfig>;
export declare const isValidSignature: (address: string, digest: Uint8Array, sig: string, provider: Web3Provider, chainId?: number | undefined, walletContext?: any) => Promise<boolean | undefined>;
export declare const recoverWalletConfig: (address: string, digest: BytesLike, signature: string | DecodedSignature, chainId: BigNumberish, walletContext?: any) => Promise<WalletConfig>;

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

getAddress: () => Promise<string>;
getNetworks: (chainId?: ChainId | undefined) => Promise<NetworkConfig[]>;
getNetworks: (chainId?: any) => Promise<NetworkConfig[]>;
getChainId: () => Promise<number>;

@@ -49,0 +49,0 @@ getAuthChainId: () => Promise<number>;

{
"name": "@0xsequence/provider",
"version": "0.12.4",
"version": "0.13.0",
"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.12.1",
"@0xsequence/auth": "^0.12.1",
"@0xsequence/config": "^0.12.1",
"@0xsequence/network": "^0.12.1",
"@0xsequence/transactions": "^0.12.1",
"@0xsequence/utils": "^0.12.1",
"@0xsequence/wallet": "^0.12.1",
"@0xsequence/abi": "^0.13.0",
"@0xsequence/auth": "^0.13.0",
"@0xsequence/config": "^0.13.0",
"@0xsequence/network": "^0.13.0",
"@0xsequence/transactions": "^0.13.0",
"@0xsequence/utils": "^0.13.0",
"@0xsequence/wallet": "^0.13.0",
"@ethersproject/abstract-signer": "5.0.14",

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

@@ -11,2 +11,3 @@ import EventEmitter from 'eventemitter3'

import { NetworkConfig, WalletContext, JsonRpcRequest, JsonRpcResponseCallback, JsonRpcResponse } from '@0xsequence/network'
import { logger } from '@0xsequence/utils'
import { ethers } from 'ethers'

@@ -109,3 +110,3 @@

// message is either a notification, or its a ProviderMessageResponse
console.log("RECEIVED MESSAGE FROM WALLET", message.idx, message)
logger.debug("RECEIVED MESSAGE FROM WALLET", message.idx, message)

@@ -123,3 +124,3 @@ const requestIdx = message.idx

if (this._sessionId && this._sessionId !== message.data?.sessionId) {
console.log('open event received from wallet, but does not match sessionId', this._sessionId)
logger.debug('open event received from wallet, but does not match sessionId', this._sessionId)
return

@@ -131,3 +132,3 @@ }

const err = new Error(`opening wallet failed: received ${message.data?.error}`)
console.error(err)
logger.error(err)
this.close()

@@ -254,3 +255,3 @@ throw err

if (!this.isOpened()) {
console.log('pushing to pending requests', message)
logger.debug('pushing to pending requests', message)
this.pendingMessageRequests.push(message)

@@ -378,3 +379,3 @@ } else {

this._sessionId = undefined
console.log('closing wallet and flushing!')
logger.info('closing wallet and flushing!')

@@ -381,0 +382,0 @@ // flush pending requests and return error to all callbacks

@@ -11,2 +11,3 @@ import { ethers } from 'ethers'

import { NetworkConfig, WalletContext, JsonRpcRequest, JsonRpcResponseCallback } from '@0xsequence/network'
import { logger } from '@0xsequence/utils'

@@ -104,3 +105,3 @@ export abstract class BaseWalletTransport implements WalletTransport {

default: {
console.error(`unexpected payload type ${request.type}`)
logger.error(`unexpected payload type ${request.type}`)
}

@@ -107,0 +108,0 @@ }

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

import { TypedData } from '@0xsequence/utils'
import { logger, TypedData } from '@0xsequence/utils'
export class WalletRequestHandler implements ExternalProvider, JsonRpcHandler, ProviderMessageRequestHandler {

@@ -408,3 +408,3 @@ private signer: Signer | null

} catch (err) {
console.error(err)
logger.error(err)

@@ -472,3 +472,3 @@ // TODO/XXX: error messages

if (!this.signer) {
console.warn('signer not set: getNetworks is returning an empty list')
logger.warn('signer not set: getNetworks is returning an empty list')
return []

@@ -524,3 +524,3 @@ }

if (!this.signer) {
console.warn('signer not set: skipping to notify wallet context')
logger.warn('signer not set: skipping to notify wallet context')
return

@@ -527,0 +527,0 @@ }

import { ProviderMessageRequest, ProviderMessage, ProviderMessageType, ProviderMessageResponse, InitState } from '../../types'
import { WalletRequestHandler } from '../wallet-request-handler'
import { BaseWalletTransport } from '../base-wallet-transport'
import { sanitizeNumberString } from '@0xsequence/utils'
import { logger, sanitizeNumberString } from '@0xsequence/utils'

@@ -37,3 +37,3 @@ export interface RegisterOptions {

if (this._sessionId.length === 0) {
console.error('invalid sessionId')
logger.error('invalid sessionId')
return

@@ -63,7 +63,7 @@ }

if (!opened) {
console.error(`failed to open to network ${defaultNetwork}`)
logger.error(`failed to open to network ${defaultNetwork}`)
window.close()
}
}).catch(err => {
console.error(`failed to open to network ${defaultNetwork}, due to: ${err}`)
logger.error(`failed to open to network ${defaultNetwork}, due to: ${err}`)
window.close()

@@ -91,3 +91,3 @@ })

// impossible state
console.error('impossible state, init.OK and parentOrigin required')
logger.error('impossible state, init.OK and parentOrigin required')
return

@@ -105,3 +105,3 @@ }

console.log('RECEIVED MESSAGE', request)
logger.debug('RECEIVED MESSAGE', request)

@@ -113,7 +113,7 @@ // Record the parent origin url on init

if (!sessionId || sessionId.length === 0 || !nonce || nonce.length === 0) {
console.error('invalid init response')
logger.error('invalid init response')
return
}
if (sessionId !== this._sessionId || nonce !== this._initNonce) {
console.error('invalid init match')
logger.error('invalid init match')
return

@@ -172,3 +172,3 @@ }

// console.log(`flushPostMessageQueue # of messages, ${this._postMessageQueue.length}`)
// logger.debug(`flushPostMessageQueue # of messages, ${this._postMessageQueue.length}`)
for (let i=0; i < this._postMessageQueue.length; i++) {

@@ -182,3 +182,3 @@ this.postMessage(this._postMessageQueue[i])

if (this._init !== InitState.OK) {
console.error('impossible state, should not be calling postMessage until inited')
logger.error('impossible state, should not be calling postMessage until inited')
return

@@ -189,5 +189,5 @@ }

} else {
console.error('unable to postMessage as parentOrigin is invalid')
logger.error('unable to postMessage as parentOrigin is invalid')
}
}
}
import { OpenWalletIntent, ProviderMessage, InitState, ProviderMessageType } from '../../types'
import { BaseProviderTransport } from '../base-provider-transport'
import { logger } from '@0xsequence/utils'

@@ -160,3 +161,3 @@ // ..

if (!nonce || nonce.length === 0) {
console.error('invalid init nonce')
logger.error('invalid init nonce')
return

@@ -186,3 +187,3 @@ }

if (!this.walletWindow) {
console.warn('WindowMessageProvider: sendMessage failed as walletWindow is unavailable')
logger.warn('WindowMessageProvider: sendMessage failed as walletWindow is unavailable')
return

@@ -189,0 +190,0 @@ }

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

import { WalletConfig, WalletState } from '@0xsequence/config'
import { logger } from '@0xsequence/utils'
import { JsonRpcProvider, JsonRpcSigner, ExternalProvider } from '@ethersproject/providers'

@@ -420,3 +421,3 @@ import { Web3Provider, Web3Signer } from './provider'

} catch (err) {
console.warn('loadSession failed, unable to parse session payload from localStorage.')
logger.warn('loadSession failed, unable to parse session payload from localStorage.')
return undefined

@@ -423,0 +424,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