@0xsequence/provider 1.10.15 → 2.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (33) hide show
  1. package/dist/0xsequence-provider.cjs.dev.js +663 -653
  2. package/dist/0xsequence-provider.cjs.prod.js +663 -653
  3. package/dist/0xsequence-provider.esm.js +667 -657
  4. package/dist/declarations/src/client.d.ts +7 -3
  5. package/dist/declarations/src/provider.d.ts +31 -22
  6. package/dist/declarations/src/signer.d.ts +15 -14
  7. package/dist/declarations/src/transports/base-provider-transport.d.ts +6 -2
  8. package/dist/declarations/src/transports/base-wallet-transport.d.ts +6 -2
  9. package/dist/declarations/src/transports/mux-transport/mux-message-provider.d.ts +5 -2
  10. package/dist/declarations/src/transports/wallet-request-handler.d.ts +7 -6
  11. package/dist/declarations/src/types.d.ts +6 -11
  12. package/dist/declarations/src/utils/index.d.ts +3 -3
  13. package/dist/declarations/src/utils.d.ts +7 -7
  14. package/package.json +12 -12
  15. package/src/client.ts +41 -51
  16. package/src/eip191exceptions.ts +2 -2
  17. package/src/extended.ts +5 -5
  18. package/src/init.ts +9 -10
  19. package/src/provider.ts +112 -66
  20. package/src/signer.ts +38 -43
  21. package/src/transactions.ts +4 -4
  22. package/src/transports/base-provider-transport.ts +19 -23
  23. package/src/transports/base-wallet-transport.ts +22 -13
  24. package/src/transports/mux-transport/mux-message-provider.ts +5 -6
  25. package/src/transports/proxy-transport/proxy-message-provider.ts +5 -2
  26. package/src/transports/unreal-transport/unreal-message-handler.ts +2 -2
  27. package/src/transports/unreal-transport/unreal-message-provider.ts +2 -2
  28. package/src/transports/wallet-request-handler.ts +91 -130
  29. package/src/transports/window-transport/window-message-handler.ts +5 -4
  30. package/src/transports/window-transport/window-message-provider.ts +4 -4
  31. package/src/types.ts +8 -11
  32. package/src/utils/index.ts +4 -4
  33. package/src/utils.ts +16 -18
package/src/utils.ts CHANGED
@@ -1,25 +1,25 @@
1
- import { ethers, BytesLike } from 'ethers'
1
+ import { ethers } from 'ethers'
2
2
  import { messageIsExemptFromEIP191Prefix } from './eip191exceptions'
3
3
  import { AccountStatus } from '@0xsequence/account'
4
4
  import { commons } from '@0xsequence/core'
5
5
  import { encodeMessageDigest, TypedData, encodeTypedDataDigest } from '@0xsequence/utils'
6
6
 
7
- const eip191prefix = ethers.utils.toUtf8Bytes('\x19Ethereum Signed Message:\n')
7
+ const eip191prefix = ethers.toUtf8Bytes('\x19Ethereum Signed Message:\n')
8
8
 
9
- export const messageToBytes = (message: BytesLike): Uint8Array => {
10
- if (ethers.utils.isBytesLike(message)) {
11
- return ethers.utils.arrayify(message)
9
+ export const messageToBytes = (message: ethers.BytesLike): Uint8Array => {
10
+ if (ethers.isBytesLike(message)) {
11
+ return ethers.getBytes(message)
12
12
  }
13
13
 
14
- return ethers.utils.toUtf8Bytes(message)
14
+ return ethers.toUtf8Bytes(message)
15
15
  }
16
16
 
17
- export const prefixEIP191Message = (message: BytesLike): Uint8Array => {
17
+ export const prefixEIP191Message = (message: ethers.BytesLike): Uint8Array => {
18
18
  const messageBytes = messageToBytes(message)
19
19
  if (messageIsExemptFromEIP191Prefix(messageBytes)) {
20
20
  return messageBytes
21
21
  } else {
22
- return ethers.utils.concat([eip191prefix, ethers.utils.toUtf8Bytes(String(messageBytes.length)), messageBytes])
22
+ return ethers.getBytes(ethers.concat([eip191prefix, ethers.toUtf8Bytes(String(messageBytes.length)), messageBytes]))
23
23
  }
24
24
  }
25
25
 
@@ -47,9 +47,9 @@ export const trimEIP191Prefix = (prefixedMessage: Uint8Array): Uint8Array => {
47
47
  let prefixAsNumber: number
48
48
 
49
49
  try {
50
- prefixAsNumber = Number(ethers.utils.toUtf8String(ethereumSignedMessagePartSlicedArray.slice(0, maxPrefixCharLength)))
50
+ prefixAsNumber = Number(ethers.toUtf8String(ethereumSignedMessagePartSlicedArray.slice(0, maxPrefixCharLength)))
51
51
  } catch {
52
- prefixAsNumber = Number(ethers.utils.hexlify(ethereumSignedMessagePartSlicedArray.slice(0, maxPrefixCharLength)))
52
+ prefixAsNumber = Number(ethers.hexlify(ethereumSignedMessagePartSlicedArray.slice(0, maxPrefixCharLength)))
53
53
  }
54
54
 
55
55
  if (prefixAsNumber > ethereumSignedMessagePartSlicedArray.length || !Number.isInteger(prefixAsNumber)) {
@@ -67,7 +67,7 @@ export const isValidSignature = async (
67
67
  address: string,
68
68
  digest: Uint8Array,
69
69
  sig: string,
70
- provider: ethers.providers.Provider
70
+ provider: ethers.Provider
71
71
  ): Promise<boolean> => {
72
72
  const reader = new commons.reader.OnChainReader(provider)
73
73
  return reader.isValidSignature(address, digest, sig)
@@ -78,7 +78,7 @@ export const isValidMessageSignature = async (
78
78
  address: string,
79
79
  message: string | Uint8Array,
80
80
  signature: string,
81
- provider: ethers.providers.Provider
81
+ provider: ethers.Provider
82
82
  ): Promise<boolean> => {
83
83
  const prefixed = prefixEIP191Message(message)
84
84
  const digest = encodeMessageDigest(prefixed)
@@ -90,7 +90,7 @@ export const isValidTypedDataSignature = (
90
90
  address: string,
91
91
  typedData: TypedData,
92
92
  signature: string,
93
- provider: ethers.providers.Provider
93
+ provider: ethers.Provider
94
94
  ): Promise<boolean> => {
95
95
  return isValidSignature(address, encodeTypedDataDigest(typedData), signature, provider)
96
96
  }
@@ -200,13 +200,11 @@ export function useBestStore(): ItemStore {
200
200
  return new MemoryItemStore()
201
201
  }
202
202
 
203
- export async function resolveArrayProperties<T>(
204
- object: Readonly<ethers.utils.Deferrable<T>> | Readonly<ethers.utils.Deferrable<T>>[]
205
- ): Promise<T> {
203
+ export async function resolveArrayProperties<T>(object: Readonly<T> | Readonly<T>[]): Promise<T> {
206
204
  if (Array.isArray(object)) {
207
205
  // T must include array type
208
- return Promise.all(object.map(o => ethers.utils.resolveProperties(o))) as any
206
+ return Promise.all(object.map(o => ethers.resolveProperties(o))) as any
209
207
  }
210
208
 
211
- return ethers.utils.resolveProperties(object)
209
+ return ethers.resolveProperties(object)
212
210
  }