Skip to content

Commit 21d2fcd

Browse files
authored
Update ox to v9.17.0 (#928)
* Upgrading ox to 9.17.0 * WrappedSignature renamed to SignatureErc6492 * Fixing PasskeySignatureValidator interface * Lock ox lib dep to use the same version with pnpm overrides and update viem to latest
1 parent 6bd75c9 commit 21d2fcd

File tree

13 files changed

+70
-81
lines changed

13 files changed

+70
-81
lines changed

package.json

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,11 @@
2828
"turbo": "^2.6.1",
2929
"typescript": "^5.8.3"
3030
},
31+
"pnpm": {
32+
"overrides": {
33+
"ox": "^0.9.17"
34+
}
35+
},
3136
"packageManager": "[email protected]",
3237
"engines": {
3338
"node": ">=18"

packages/services/guard/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,6 @@
3030
"vitest": "^4.0.14"
3131
},
3232
"dependencies": {
33-
"ox": "^0.7.2"
33+
"ox": "^0.9.17"
3434
}
3535
}

packages/services/identity-instrument/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,6 @@
2727
"dependencies": {
2828
"json-canonicalize": "^2.0.0",
2929
"jwt-decode": "^4.0.0",
30-
"ox": "^0.7.2"
30+
"ox": "^0.9.17"
3131
}
3232
}

packages/services/relayer/package.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@
3434
"dependencies": {
3535
"@0xsequence/wallet-primitives": "workspace:^",
3636
"mipd": "^0.0.7",
37-
"ox": "^0.7.2",
38-
"viem": "^2.37.8"
37+
"ox": "^0.9.17",
38+
"viem": "^2.40.3"
3939
}
4040
}

packages/wallet/core/package.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@
3535
"@0xsequence/relayer": "workspace:^",
3636
"@0xsequence/wallet-primitives": "workspace:^",
3737
"mipd": "^0.0.7",
38-
"ox": "^0.7.2",
39-
"viem": "^2.37.8"
38+
"ox": "^0.9.17",
39+
"viem": "^2.40.3"
4040
}
4141
}

packages/wallet/core/src/state/sequence/index.ts

Lines changed: 11 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -377,10 +377,14 @@ const recoverSapientSignatureCompactSignature =
377377
const recoverSapientSignatureCompactFunction = AbiFunction.from(recoverSapientSignatureCompactSignature)
378378

379379
class PasskeySignatureValidator implements oxProvider.Provider {
380-
request: oxProvider.Provider['request'] = (({ method, params }: { method: string; params: unknown }) => {
381-
switch (method) {
380+
request: oxProvider.Provider['request'] = (async (request) => {
381+
switch (request.method) {
382382
case 'eth_call':
383-
const transaction: TransactionRequest.Rpc = (params as any)[0]
383+
if (!request.params || !Array.isArray(request.params) || request.params.length === 0) {
384+
throw new Error('eth_call requires transaction parameters')
385+
}
386+
387+
const transaction: TransactionRequest.Rpc = request.params[0]
384388

385389
if (!transaction.data?.startsWith(AbiFunction.getSelector(recoverSapientSignatureCompactFunction))) {
386390
throw new Error(
@@ -403,15 +407,15 @@ class PasskeySignatureValidator implements oxProvider.Provider {
403407
}
404408

405409
default:
406-
throw new Error(`method ${method} not implemented`)
410+
throw new Error(`method ${request.method} not implemented`)
407411
}
408-
}) as any
412+
}) as oxProvider.Provider['request']
409413

410-
on(event: string) {
414+
on: oxProvider.Provider['on'] = (event: string) => {
411415
throw new Error(`unable to listen for ${event}: not implemented`)
412416
}
413417

414-
removeListener(event: string) {
418+
removeListener: oxProvider.Provider['removeListener'] = (event: string) => {
415419
throw new Error(`unable to remove listener for ${event}: not implemented`)
416420
}
417421
}

packages/wallet/dapp-client/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,6 @@
3434
"@0xsequence/relayer": "workspace:^",
3535
"@0xsequence/wallet-core": "workspace:^",
3636
"@0xsequence/wallet-primitives": "workspace:^",
37-
"ox": "^0.7.2"
37+
"ox": "^0.9.17"
3838
}
3939
}

packages/wallet/primitives-cli/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@
3131
},
3232
"dependencies": {
3333
"@0xsequence/wallet-primitives": "workspace:^",
34-
"ox": "^0.7.2",
34+
"ox": "^0.9.17",
3535
"yargs": "^18.0.0"
3636
}
3737
}

packages/wallet/primitives/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,6 @@
2828
"vitest": "^4.0.14"
2929
},
3030
"dependencies": {
31-
"ox": "^0.7.2"
31+
"ox": "^0.9.17"
3232
}
3333
}

packages/wallet/primitives/src/erc-6492.ts

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
import { AbiFunction, AbiParameters, Address, Bytes, Hex, Provider } from 'ox'
2-
import { WrappedSignature } from 'ox/erc6492'
2+
import { SignatureErc6492 } from 'ox/erc6492'
33
import { DEPLOY } from './constants.js'
44
import { Context } from './context.js'
55

@@ -29,7 +29,7 @@ export function wrap<T extends Bytes.Bytes | Hex.Hex>(
2929
[{ type: 'address' }, { type: 'bytes' }, { type: 'bytes' }],
3030
[to, Hex.from(data), Hex.from(signature)],
3131
),
32-
WrappedSignature.magicBytes,
32+
SignatureErc6492.magicBytes,
3333
)
3434

3535
switch (typeof signature) {
@@ -46,24 +46,24 @@ export function decode<T extends Bytes.Bytes | Hex.Hex>(
4646
switch (typeof signature) {
4747
case 'object':
4848
if (
49-
Bytes.toHex(signature.subarray(-WrappedSignature.magicBytes.slice(2).length / 2)) ===
50-
WrappedSignature.magicBytes
49+
Bytes.toHex(signature.subarray(-SignatureErc6492.magicBytes.slice(2).length / 2)) ===
50+
SignatureErc6492.magicBytes
5151
) {
5252
const [to, data, decoded] = AbiParameters.decode(
5353
[{ type: 'address' }, { type: 'bytes' }, { type: 'bytes' }],
54-
signature.subarray(0, -WrappedSignature.magicBytes.slice(2).length / 2),
54+
signature.subarray(0, -SignatureErc6492.magicBytes.slice(2).length / 2),
5555
)
5656
return { signature: Hex.toBytes(decoded) as T, erc6492: { to, data: Hex.toBytes(data) as T } }
5757
} else {
5858
return { signature }
5959
}
6060

6161
case 'string':
62-
if (signature.endsWith(WrappedSignature.magicBytes.slice(2))) {
62+
if (signature.endsWith(SignatureErc6492.magicBytes.slice(2))) {
6363
try {
6464
const [to, data, decoded] = AbiParameters.decode(
6565
[{ type: 'address' }, { type: 'bytes' }, { type: 'bytes' }],
66-
signature.slice(0, -WrappedSignature.magicBytes.slice(2).length) as Hex.Hex,
66+
signature.slice(0, -SignatureErc6492.magicBytes.slice(2).length) as Hex.Hex,
6767
)
6868
return { signature: decoded as T, erc6492: { to, data: data as T } }
6969
} catch {

0 commit comments

Comments
 (0)