Socket
Socket
Sign inDemoInstall

@0xsequence/provider

Package Overview
Dependencies
12
Maintainers
7
Versions
458
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

Comparing version 0.0.0-20240321210738 to 0.0.0-20240402220106

4

dist/declarations/src/transports/wallet-request-handler.d.ts
import { Account } from '@0xsequence/account';
import { commons } from '@0xsequence/core';
import { ChainIdLike, NetworkConfig, EIP1193Provider } from '@0xsequence/network';
import { ConnectDetails, ConnectOptions, MessageToSign, NetworkedConnectOptions, OpenWalletIntent, PromptConnectDetails, ProviderEventTypes, ProviderMessageRequest, ProviderMessageRequestHandler, ProviderRpcError, WalletSession } from "../types.js";
import { ConnectDetails, ConnectOptions, MessageToSign, NetworkedConnectOptions, OpenWalletIntent, PromptConnectDetails, ProviderEventTypes, ProviderMessageRequest, ProviderMessageRequestHandler, ProviderMessageResponse, ProviderRpcError, WalletSession } from "../types.js";
export interface WalletSignInOptions {

@@ -26,3 +26,3 @@ connect?: boolean;

promptConnect: (options?: NetworkedConnectOptions) => Promise<ConnectDetails>;
sendMessageRequest(message: ProviderMessageRequest): Promise<any>;
sendMessageRequest(message: ProviderMessageRequest): Promise<ProviderMessageResponse>;
request(request: {

@@ -29,0 +29,0 @@ method: string;

@@ -42,3 +42,3 @@ import { ETHAuthProof as AuthETHAuthProof } from '@0xsequence/auth';

export type ProviderMessageRequest = ProviderMessage<JsonRpcRequest>;
export type ProviderMessageResponse = ProviderMessage<JsonRpcResponse>;
export type ProviderMessageResponse = ProviderMessage<JsonRpcResponse | any>;
export type ProviderMessageResponseCallback = (error?: ProviderRpcError, response?: ProviderMessageResponse) => void;

@@ -45,0 +45,0 @@ export type ProviderRpcError = _JsonRpcErrorPayload;

{
"name": "@0xsequence/provider",
"version": "0.0.0-20240321210738",
"version": "0.0.0-20240402220106",
"description": "provider sub-package for Sequence",

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

"webextension-polyfill": "^0.10.0",
"@0xsequence/abi": "0.0.0-20240321210738",
"@0xsequence/account": "0.0.0-20240321210738",
"@0xsequence/auth": "0.0.0-20240321210738",
"@0xsequence/core": "0.0.0-20240321210738",
"@0xsequence/migration": "0.0.0-20240321210738",
"@0xsequence/network": "0.0.0-20240321210738",
"@0xsequence/relayer": "0.0.0-20240321210738",
"@0xsequence/utils": "0.0.0-20240321210738",
"@0xsequence/wallet": "0.0.0-20240321210738"
"@0xsequence/abi": "0.0.0-20240402220106",
"@0xsequence/account": "0.0.0-20240402220106",
"@0xsequence/auth": "0.0.0-20240402220106",
"@0xsequence/core": "0.0.0-20240402220106",
"@0xsequence/migration": "0.0.0-20240402220106",
"@0xsequence/network": "0.0.0-20240402220106",
"@0xsequence/relayer": "0.0.0-20240402220106",
"@0xsequence/utils": "0.0.0-20240402220106",
"@0xsequence/wallet": "0.0.0-20240402220106"
},

@@ -26,0 +26,0 @@ "peerDependencies": {

@@ -383,3 +383,3 @@ import { NetworkConfig } from '@0xsequence/network'

request(request: { method: string; params?: any[]; chainId?: number }): Promise<any> {
async request(request: { method: string; params?: any[]; chainId?: number }): Promise<any> {
// Internally when sending requests we use `legacy_sign`

@@ -386,0 +386,0 @@ // to avoid the default EIP6492 behavior overriding an explicit

@@ -20,3 +20,3 @@ import { EventEmitter2 as EventEmitter } from 'eventemitter2'

import { NetworkConfig } from '@0xsequence/network'
import { JsonRpcResponse, NetworkConfig } from '@0xsequence/network'
import { logger } from '@0xsequence/utils'

@@ -23,0 +23,0 @@ import { ethers } from 'ethers'

@@ -17,2 +17,3 @@ import {

import { WindowMessageProvider } from '../window-transport'
import { JsonRpcResponse } from '@0xsequence/network'

@@ -19,0 +20,0 @@ export type MuxTransportTemplate = {

@@ -10,3 +10,4 @@ import { Account, AccountStatus } from '@0xsequence/account'

NetworkConfig,
EIP1193Provider
EIP1193Provider,
JsonRpcResponse
} from '@0xsequence/network'

@@ -30,2 +31,3 @@ import { logger, toHexString, TypedData } from '@0xsequence/utils'

ProviderMessageRequestHandler,
ProviderMessageResponse,
ProviderRpcError,

@@ -214,3 +216,13 @@ TypedEventEmitter,

// ProviderMessageResponse to be sent over the transport
async sendMessageRequest(message: ProviderMessageRequest): Promise<any> {
async sendMessageRequest(message: ProviderMessageRequest): Promise<ProviderMessageResponse> {
// Older versions of the client require the response to be jsonrpc wrapped
const majorVersion = Number(this.connectOptions?.clientVersion?.split('.')[0] || '2')
const isJsonRpcResponse = majorVersion <= 1
const jsonRpcResponse: JsonRpcResponse = {
id: message.data.id!,
jsonrpc: '2.0',
result: null,
error: undefined
}
try {

@@ -225,8 +237,8 @@ const result = await this.request({

...message,
data: result
data: isJsonRpcResponse ? { ...jsonRpcResponse, result } : result
}
} catch (err) {
} catch (error) {
return {
...message,
data: err
data: isJsonRpcResponse ? { ...jsonRpcResponse, error } : error
}

@@ -233,0 +245,0 @@ }

@@ -14,2 +14,3 @@ import {

import { logger, base64DecodeObject } from '@0xsequence/utils'
import { ethers } from 'ethers'

@@ -96,3 +97,10 @@ export class WindowMessageHandler extends BaseWalletTransport {

try {
request = JSON.parse(event.data)
request = JSON.parse(event.data, (key, value) => {
// BigNumber compatibility with older versions of sequence.js
if (isBigNumberSerialized(value)) {
return BigInt(value.hex)
}
return value
})
} catch (err) {

@@ -166,1 +174,7 @@ // event is not a ProviderMessage JSON object, skip

}
const isBigNumberSerialized = (value: any): boolean => {
return (
typeof value === 'object' && 'type' in value && value.type === 'BigNumber' && 'hex' in value && ethers.isHexString(value.hex)
)
}

@@ -68,3 +68,4 @@ import { ETHAuthProof as AuthETHAuthProof } from '@0xsequence/auth'

export type ProviderMessageResponse = ProviderMessage<JsonRpcResponse>
// Older versions of sequence.js will require a JsonRpcResponse result type, but newer versions use raw EIP1193 results
export type ProviderMessageResponse = ProviderMessage<JsonRpcResponse | any>

@@ -71,0 +72,0 @@ // ProviderMessageCallback is used to respond to ProviderMessage requests. The error

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

Packages

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc