diff --git a/.eslintignore b/.eslintignore
index 53bb867ee8..bdeea5f1cf 100644
--- a/.eslintignore
+++ b/.eslintignore
@@ -6,6 +6,7 @@ site/.vitepress/cache/**/*
/examples/*
!/examples/ui-demo
+/examples/ui-demo/contracts
/examples/ui-demo/.next/*
**/.turbo/*
diff --git a/.vitest/package.json b/.vitest/package.json
index fe39e5a084..7b14c02990 100644
--- a/.vitest/package.json
+++ b/.vitest/package.json
@@ -9,9 +9,9 @@
"prool": "^0.0.15",
"tar": "^7.4.1",
"typescript-template": "*",
- "viem": "2.20.0"
+ "viem": "2.22.6"
},
"dependencies": {
"@aa-sdk/core": "^4.0.0-alpha.8"
}
-}
+}
\ No newline at end of file
diff --git a/aa-sdk/core/package.json b/aa-sdk/core/package.json
index f2e45bcf4d..a467a349ee 100644
--- a/aa-sdk/core/package.json
+++ b/aa-sdk/core/package.json
@@ -54,7 +54,7 @@
"zod": "^3.22.4"
},
"peerDependencies": {
- "viem": "^2.20.0"
+ "viem": "^2.22.6"
},
"repository": {
"type": "git",
@@ -65,4 +65,4 @@
},
"homepage": "https://github.com/alchemyplatform/aa-sdk#readme",
"gitHead": "ee46e8bb857de3b631044fa70714ea706d9e317d"
-}
+}
\ No newline at end of file
diff --git a/aa-sdk/core/src/middleware/defaults/7702signer.ts b/aa-sdk/core/src/middleware/defaults/7702signer.ts
index 805c46c8bb..5b79bcd9ed 100644
--- a/aa-sdk/core/src/middleware/defaults/7702signer.ts
+++ b/aa-sdk/core/src/middleware/defaults/7702signer.ts
@@ -60,17 +60,13 @@ export const default7702UserOpSigner: ClientMiddlewareFn = async (
r,
s,
v,
- yParity = v,
+ yParity = v ? v - 27n : undefined,
} = await signer.signAuthorization({
chainId: client.chain.id,
contractAddress: implAddress,
nonce: accountNonce,
});
- if (!yParity) {
- throw new Error("incomplete signature!");
- }
-
return {
...uo,
authorizationTuple: {
diff --git a/aa-sdk/ethers/package.json b/aa-sdk/ethers/package.json
index 8f85340d36..6a89d17a11 100644
--- a/aa-sdk/ethers/package.json
+++ b/aa-sdk/ethers/package.json
@@ -60,7 +60,7 @@
"@ethersproject/wallet": "^5.7.0"
},
"peerDependencies": {
- "viem": "^2.20.0"
+ "viem": "^2.22.6"
},
"repository": {
"type": "git",
@@ -70,4 +70,4 @@
"url": "https://github.com/alchemyplatform/aa-sdk/issues"
},
"gitHead": "ee46e8bb857de3b631044fa70714ea706d9e317d"
-}
+}
\ No newline at end of file
diff --git a/account-kit/core/package.json b/account-kit/core/package.json
index 8b8393ded9..037c5707b4 100644
--- a/account-kit/core/package.json
+++ b/account-kit/core/package.json
@@ -54,7 +54,7 @@
"zustand": "^5.0.0-rc.2"
},
"peerDependencies": {
- "viem": "^2.20.0",
+ "viem": "^2.22.6",
"wagmi": "^2.12.7"
},
"publishConfig": {
@@ -73,4 +73,4 @@
"optionalDependencies": {
"alchemy-sdk": "^3.0.0"
}
-}
+}
\ No newline at end of file
diff --git a/account-kit/infra/package.json b/account-kit/infra/package.json
index 2912b185b3..1cf5c07545 100644
--- a/account-kit/infra/package.json
+++ b/account-kit/infra/package.json
@@ -50,7 +50,7 @@
"zod": "^3.22.4"
},
"peerDependencies": {
- "viem": "^2.20.0"
+ "viem": "^2.22.6"
},
"publishConfig": {
"access": "public",
@@ -68,4 +68,4 @@
"optionalDependencies": {
"alchemy-sdk": "^3.0.0"
}
-}
+}
\ No newline at end of file
diff --git a/account-kit/plugingen/package.json b/account-kit/plugingen/package.json
index ee59eda39a..a2bf76d1c2 100644
--- a/account-kit/plugingen/package.json
+++ b/account-kit/plugingen/package.json
@@ -76,6 +76,6 @@
"zod": "^3.22.4"
},
"peerDependencies": {
- "viem": "^2.20.0"
+ "viem": "^2.22.6"
}
-}
+}
\ No newline at end of file
diff --git a/account-kit/react/package.json b/account-kit/react/package.json
index f4c449b689..0ce5a55dd3 100644
--- a/account-kit/react/package.json
+++ b/account-kit/react/package.json
@@ -84,11 +84,11 @@
"react": "^18.2.0",
"react-dom": "^18.2.0",
"tailwindcss": "^3.4.3",
- "viem": "^2.20.0",
+ "viem": "^2.22.6",
"wagmi": "^2.12.7"
},
"resolutions": {
- "viem": "2.20.0"
+ "viem": "2.22.6"
},
"publishConfig": {
"access": "public",
diff --git a/account-kit/signer/package.json b/account-kit/signer/package.json
index 911cadd005..b161c33bec 100644
--- a/account-kit/signer/package.json
+++ b/account-kit/signer/package.json
@@ -58,7 +58,7 @@
"zod": "^3.22.4"
},
"peerDependencies": {
- "viem": "^2.20.0"
+ "viem": "^2.22.6"
},
"publishConfig": {
"access": "public",
@@ -73,4 +73,4 @@
},
"homepage": "https://github.com/alchemyplatform/aa-sdk#readme",
"gitHead": "ee46e8bb857de3b631044fa70714ea706d9e317d"
-}
+}
\ No newline at end of file
diff --git a/account-kit/smart-contracts/package.json b/account-kit/smart-contracts/package.json
index 2f5127ff58..1e1845ccb0 100644
--- a/account-kit/smart-contracts/package.json
+++ b/account-kit/smart-contracts/package.json
@@ -77,6 +77,6 @@
"@account-kit/infra": "^4.8.0"
},
"peerDependencies": {
- "viem": "^2.20.0"
+ "viem": "^2.22.6"
}
}
diff --git a/examples/ui-demo/package.json b/examples/ui-demo/package.json
index 19af52f773..1ad2bc242e 100644
--- a/examples/ui-demo/package.json
+++ b/examples/ui-demo/package.json
@@ -34,7 +34,7 @@
"react-dom": "^18",
"react-syntax-highlighter": "^15.5.0",
"tailwind-merge": "^2.3.0",
- "viem": "^2.20.0",
+ "viem": "^2.22.6",
"wagmi": "^2.12.7",
"zod": "^3.0.0",
"zustand": "^5.0.0-rc.2"
@@ -52,4 +52,4 @@
"tailwindcss-animate": "^1.0.7",
"typescript": "^5"
}
-}
+}
\ No newline at end of file
diff --git a/examples/ui-demo/src/app/api/rpc-mekong/[...routes]/route.ts b/examples/ui-demo/src/app/api/bundler-odyssey/[...routes]/route.ts
similarity index 81%
rename from examples/ui-demo/src/app/api/rpc-mekong/[...routes]/route.ts
rename to examples/ui-demo/src/app/api/bundler-odyssey/[...routes]/route.ts
index f72b3891f3..059d4059b4 100644
--- a/examples/ui-demo/src/app/api/rpc-mekong/[...routes]/route.ts
+++ b/examples/ui-demo/src/app/api/bundler-odyssey/[...routes]/route.ts
@@ -12,7 +12,9 @@ export async function POST(
});
const res = await fetch(
- `https://rpc.mekong.ethpandaops.io/${params.routes.join("/")}`,
+ `http://internal-rundler-odyssey-prod-alb-567331340.us-east-1.elb.amazonaws.com:3000/${params.routes.join(
+ "/"
+ )}`,
{
method: "POST",
body,
diff --git a/examples/ui-demo/src/app/api/rpc-mekong/route.ts b/examples/ui-demo/src/app/api/bundler-odyssey/route.ts
similarity index 71%
rename from examples/ui-demo/src/app/api/rpc-mekong/route.ts
rename to examples/ui-demo/src/app/api/bundler-odyssey/route.ts
index 5203e17753..d26f19f51f 100644
--- a/examples/ui-demo/src/app/api/rpc-mekong/route.ts
+++ b/examples/ui-demo/src/app/api/bundler-odyssey/route.ts
@@ -10,13 +10,16 @@ export async function POST(req: NextRequest) {
headers[key] = value;
});
- const res = await fetch("https://rpc.mekong.ethpandaops.io", {
- method: "POST",
- headers: {
- ...headers,
- },
- body,
- });
+ const res = await fetch(
+ "http://internal-rundler-odyssey-prod-alb-567331340.us-east-1.elb.amazonaws.com:3000",
+ {
+ method: "POST",
+ headers: {
+ ...headers,
+ },
+ body,
+ }
+ );
if (!res.ok) {
return NextResponse.json(await res.json().catch((e) => ({})), {
diff --git a/examples/ui-demo/src/app/page.tsx b/examples/ui-demo/src/app/page.tsx
index d88304c44a..09754cd6c5 100644
--- a/examples/ui-demo/src/app/page.tsx
+++ b/examples/ui-demo/src/app/page.tsx
@@ -140,7 +140,6 @@ export default function Home() {
isEOAUser={isEOAUser}
isSmartWallet={walletType === WalletTypes.smart}
/>
- {user && !isEOAUser && }
diff --git a/examples/ui-demo/src/components/shared/7702/Debug7702Button.tsx b/examples/ui-demo/src/components/shared/7702/Debug7702Button.tsx
index 744bb7627c..3eaf1c2886 100644
--- a/examples/ui-demo/src/components/shared/7702/Debug7702Button.tsx
+++ b/examples/ui-demo/src/components/shared/7702/Debug7702Button.tsx
@@ -5,12 +5,12 @@ import { Button } from "../Button";
// useSmartAccountClient,
// } from "@account-kit/react";
import { privateKeyToAccount } from "viem/accounts";
-import { createPublicClient } from "viem";
+import { createPublicClient, toRlp, fromRlp } from "viem";
import {
createBundlerClientFromExisting,
LocalAccountSigner,
} from "@aa-sdk/core";
-import { mekong, splitMekongTransport } from "./transportSetup";
+import { odyssey, splitOdysseyTransport } from "./transportSetup";
import { send7702UO } from "./demoSend7702UO";
import { useSigner } from "@account-kit/react";
@@ -23,8 +23,8 @@ export const Debug7702Button = () => {
const runFunc = async (local: boolean) => {
const publicClient = createPublicClient({
- chain: mekong,
- transport: splitMekongTransport,
+ chain: odyssey,
+ transport: splitOdysseyTransport,
});
// console.log("reported chain id: ", await publicClient.getChainId());
@@ -61,7 +61,7 @@ export const Debug7702Button = () => {
send7702UO(
bundlerClient,
- splitMekongTransport,
+ splitOdysseyTransport,
new LocalAccountSigner(localAccount)
);
} else {
@@ -69,17 +69,59 @@ export const Debug7702Button = () => {
console.error("No signer found");
return;
}
- send7702UO(bundlerClient, splitMekongTransport, signer);
+ send7702UO(bundlerClient, splitOdysseyTransport, signer);
}
};
const runLocal = () => runFunc(true);
const runSigner = () => runFunc(false);
+ const rlpEncode = () => {
+ const chain_id = "0xde9fb";
+ const address = "0x69007702764179f14f51cdce752f4f775d74e139";
+ const nonce = "0x";
+ const yParity = "0x1c";
+ const r =
+ "0x2943f6154757e02a7c8264f9c2f79fac321beef60578746c61eb84a5fc4525d7";
+ const s =
+ "0x6a23e53538e028c06f5b149e33424ea11358eecec44ecd8819fbf67ceb03a957";
+
+ // // result: 0xf85d830de9fb9469007702764179f14f51cdce752f4f775d74e1390001a02943f6154757e02a7c8264f9c2f79fac321beef60578746c61eb84a5fc4525d7a06a23e53538e028c06f5b149e33424ea11358eecec44ecd8819fbf67ceb03a957
+ // // result 2: 0xf85ff85d830de9fb9469007702764179f14f51cdce752f4f775d74e1390001a02943f6154757e02a7c8264f9c2f79fac321beef60578746c61eb84a5fc4525d7a06a23e53538e028c06f5b149e33424ea11358eecec44ecd8819fbf67ceb03a957
+ // // ext result: 0xf85d830de9fb9470d37dc45141e10c42f27e432458218ed4e1aab78080a084039480ba511822433b50a1dea5738e7a946ba187172c02f00076e4a87545a1a001dc4c5f78b6c81f5a695ee8725346a45bf9d1d1f7c1437532efd31a9769fda5
+
+ // const chain_id = "0xde9fb";
+ // const address = "0x69007702764179f14f51cdce752f4f775d74e139";
+ // const nonce = "0x0";
+ // const yParity = "0x1c";
+ // const r = "0x2943f6154757e02a7c8264f9c2f79fac321beef60578746c61eb84a5fc4525d7";
+ // const s = "0x6a23e53538e028c06f5b149e33424ea11358eecec44ecd8819fbf67ceb03a957";
+
+ // // result: 0xf85d830de9fb9469007702764179f14f51cdce752f4f775d74e139001ca02943f6154757e02a7c8264f9c2f79fac321beef60578746c61eb84a5fc4525d7a06a23e53538e028c06f5b149e33424ea11358eecec44ecd8819fbf67ceb03a957
+
+ const encoded = toRlp([chain_id, address, nonce, yParity, r, s]);
+
+ console.log("encoded: ", encoded);
+ };
+
+ const rlpDecode = () => {
+ // const input = "0xf85d830de9fb9470d37dc45141e10c42f27e432458218ed4e1aab78080a084039480ba511822433b50a1dea5738e7a946ba187172c02f00076e4a87545a1a001dc4c5f78b6c81f5a695ee8725346a45bf9d1d1f7c1437532efd31a9769fda5";
+
+ // From cast sign-auth with the local pkey
+ const input =
+ "0xf85d830de9fb9469007702764179f14f51cdce752f4f775d74e1398080a07e650c48b0033a147681165efb7fe9b6195f64f41f71f4b8e503657fd57c3609a00ad5d521d5bbfdcda9d3b9d7b9790cd6ed695d7d63ec08ef49de9631ea0e9b25";
+
+ // result:
+
+ console.log(fromRlp(input));
+ };
+
return (
+
+
);
};
diff --git a/examples/ui-demo/src/components/shared/7702/Wrapper.tsx b/examples/ui-demo/src/components/shared/7702/Wrapper.tsx
index 6cfe87382a..e063c6bbd0 100644
--- a/examples/ui-demo/src/components/shared/7702/Wrapper.tsx
+++ b/examples/ui-demo/src/components/shared/7702/Wrapper.tsx
@@ -3,6 +3,7 @@ import { MintCard7702 } from "./MintCard7702";
import { TransactionsCard } from "./TransactionsCard";
import { useMint } from "./useMint";
import { useTransactions } from "./useTransaction";
+import { Debug7702Button } from "./Debug7702Button";
export const Wrapper7702 = () => {
const {
@@ -35,6 +36,7 @@ export const Wrapper7702 = () => {
transactions={transactions}
handleTransactions={handleTransactions}
/>
+
);
};
diff --git a/examples/ui-demo/src/components/shared/7702/dca/abi/erc20Mintable.ts b/examples/ui-demo/src/components/shared/7702/dca/abi/erc20Mintable.ts
new file mode 100644
index 0000000000..807101ac4c
--- /dev/null
+++ b/examples/ui-demo/src/components/shared/7702/dca/abi/erc20Mintable.ts
@@ -0,0 +1,344 @@
+export const erc20MintableAbi = [
+ {
+ type: "constructor",
+ inputs: [
+ {
+ name: "name",
+ type: "string",
+ internalType: "string",
+ },
+ {
+ name: "symbol",
+ type: "string",
+ internalType: "string",
+ },
+ ],
+ stateMutability: "nonpayable",
+ },
+ {
+ type: "function",
+ name: "allowance",
+ inputs: [
+ {
+ name: "owner",
+ type: "address",
+ internalType: "address",
+ },
+ {
+ name: "spender",
+ type: "address",
+ internalType: "address",
+ },
+ ],
+ outputs: [
+ {
+ name: "",
+ type: "uint256",
+ internalType: "uint256",
+ },
+ ],
+ stateMutability: "view",
+ },
+ {
+ type: "function",
+ name: "approve",
+ inputs: [
+ {
+ name: "spender",
+ type: "address",
+ internalType: "address",
+ },
+ {
+ name: "value",
+ type: "uint256",
+ internalType: "uint256",
+ },
+ ],
+ outputs: [
+ {
+ name: "",
+ type: "bool",
+ internalType: "bool",
+ },
+ ],
+ stateMutability: "nonpayable",
+ },
+ {
+ type: "function",
+ name: "balanceOf",
+ inputs: [
+ {
+ name: "account",
+ type: "address",
+ internalType: "address",
+ },
+ ],
+ outputs: [
+ {
+ name: "",
+ type: "uint256",
+ internalType: "uint256",
+ },
+ ],
+ stateMutability: "view",
+ },
+ {
+ type: "function",
+ name: "decimals",
+ inputs: [],
+ outputs: [
+ {
+ name: "",
+ type: "uint8",
+ internalType: "uint8",
+ },
+ ],
+ stateMutability: "view",
+ },
+ {
+ type: "function",
+ name: "mint",
+ inputs: [
+ {
+ name: "to",
+ type: "address",
+ internalType: "address",
+ },
+ {
+ name: "amount",
+ type: "uint256",
+ internalType: "uint256",
+ },
+ ],
+ outputs: [],
+ stateMutability: "nonpayable",
+ },
+ {
+ type: "function",
+ name: "name",
+ inputs: [],
+ outputs: [
+ {
+ name: "",
+ type: "string",
+ internalType: "string",
+ },
+ ],
+ stateMutability: "view",
+ },
+ {
+ type: "function",
+ name: "symbol",
+ inputs: [],
+ outputs: [
+ {
+ name: "",
+ type: "string",
+ internalType: "string",
+ },
+ ],
+ stateMutability: "view",
+ },
+ {
+ type: "function",
+ name: "totalSupply",
+ inputs: [],
+ outputs: [
+ {
+ name: "",
+ type: "uint256",
+ internalType: "uint256",
+ },
+ ],
+ stateMutability: "view",
+ },
+ {
+ type: "function",
+ name: "transfer",
+ inputs: [
+ {
+ name: "to",
+ type: "address",
+ internalType: "address",
+ },
+ {
+ name: "value",
+ type: "uint256",
+ internalType: "uint256",
+ },
+ ],
+ outputs: [
+ {
+ name: "",
+ type: "bool",
+ internalType: "bool",
+ },
+ ],
+ stateMutability: "nonpayable",
+ },
+ {
+ type: "function",
+ name: "transferFrom",
+ inputs: [
+ {
+ name: "from",
+ type: "address",
+ internalType: "address",
+ },
+ {
+ name: "to",
+ type: "address",
+ internalType: "address",
+ },
+ {
+ name: "value",
+ type: "uint256",
+ internalType: "uint256",
+ },
+ ],
+ outputs: [
+ {
+ name: "",
+ type: "bool",
+ internalType: "bool",
+ },
+ ],
+ stateMutability: "nonpayable",
+ },
+ {
+ type: "event",
+ name: "Approval",
+ inputs: [
+ {
+ name: "owner",
+ type: "address",
+ indexed: true,
+ internalType: "address",
+ },
+ {
+ name: "spender",
+ type: "address",
+ indexed: true,
+ internalType: "address",
+ },
+ {
+ name: "value",
+ type: "uint256",
+ indexed: false,
+ internalType: "uint256",
+ },
+ ],
+ anonymous: false,
+ },
+ {
+ type: "event",
+ name: "Transfer",
+ inputs: [
+ {
+ name: "from",
+ type: "address",
+ indexed: true,
+ internalType: "address",
+ },
+ {
+ name: "to",
+ type: "address",
+ indexed: true,
+ internalType: "address",
+ },
+ {
+ name: "value",
+ type: "uint256",
+ indexed: false,
+ internalType: "uint256",
+ },
+ ],
+ anonymous: false,
+ },
+ {
+ type: "error",
+ name: "ERC20InsufficientAllowance",
+ inputs: [
+ {
+ name: "spender",
+ type: "address",
+ internalType: "address",
+ },
+ {
+ name: "allowance",
+ type: "uint256",
+ internalType: "uint256",
+ },
+ {
+ name: "needed",
+ type: "uint256",
+ internalType: "uint256",
+ },
+ ],
+ },
+ {
+ type: "error",
+ name: "ERC20InsufficientBalance",
+ inputs: [
+ {
+ name: "sender",
+ type: "address",
+ internalType: "address",
+ },
+ {
+ name: "balance",
+ type: "uint256",
+ internalType: "uint256",
+ },
+ {
+ name: "needed",
+ type: "uint256",
+ internalType: "uint256",
+ },
+ ],
+ },
+ {
+ type: "error",
+ name: "ERC20InvalidApprover",
+ inputs: [
+ {
+ name: "approver",
+ type: "address",
+ internalType: "address",
+ },
+ ],
+ },
+ {
+ type: "error",
+ name: "ERC20InvalidReceiver",
+ inputs: [
+ {
+ name: "receiver",
+ type: "address",
+ internalType: "address",
+ },
+ ],
+ },
+ {
+ type: "error",
+ name: "ERC20InvalidSender",
+ inputs: [
+ {
+ name: "sender",
+ type: "address",
+ internalType: "address",
+ },
+ ],
+ },
+ {
+ type: "error",
+ name: "ERC20InvalidSpender",
+ inputs: [
+ {
+ name: "spender",
+ type: "address",
+ internalType: "address",
+ },
+ ],
+ },
+] as const;
diff --git a/examples/ui-demo/src/components/shared/7702/dca/abi/swap.ts b/examples/ui-demo/src/components/shared/7702/dca/abi/swap.ts
new file mode 100644
index 0000000000..365b7d0c17
--- /dev/null
+++ b/examples/ui-demo/src/components/shared/7702/dca/abi/swap.ts
@@ -0,0 +1,87 @@
+export const swapAbi = [
+ {
+ type: "constructor",
+ inputs: [],
+ stateMutability: "nonpayable",
+ },
+ {
+ type: "function",
+ name: "mint",
+ inputs: [
+ {
+ name: "amount1",
+ type: "uint256",
+ internalType: "uint256",
+ },
+ {
+ name: "amount2",
+ type: "uint256",
+ internalType: "uint256",
+ },
+ ],
+ outputs: [],
+ stateMutability: "nonpayable",
+ },
+ {
+ type: "function",
+ name: "swapUSDCtoWETH",
+ inputs: [
+ {
+ name: "amountIn",
+ type: "uint256",
+ internalType: "uint256",
+ },
+ {
+ name: "amountOut",
+ type: "uint256",
+ internalType: "uint256",
+ },
+ ],
+ outputs: [],
+ stateMutability: "nonpayable",
+ },
+ {
+ type: "function",
+ name: "swapWETHtoUSDC",
+ inputs: [
+ {
+ name: "amountIn",
+ type: "uint256",
+ internalType: "uint256",
+ },
+ {
+ name: "amountOut",
+ type: "uint256",
+ internalType: "uint256",
+ },
+ ],
+ outputs: [],
+ stateMutability: "nonpayable",
+ },
+ {
+ type: "function",
+ name: "usdc",
+ inputs: [],
+ outputs: [
+ {
+ name: "",
+ type: "address",
+ internalType: "contract ERC20Mintable",
+ },
+ ],
+ stateMutability: "view",
+ },
+ {
+ type: "function",
+ name: "weth",
+ inputs: [],
+ outputs: [
+ {
+ name: "",
+ type: "address",
+ internalType: "contract ERC20Mintable",
+ },
+ ],
+ stateMutability: "view",
+ },
+] as const;
diff --git a/examples/ui-demo/src/components/shared/7702/dca/sessionKeyInit.ts b/examples/ui-demo/src/components/shared/7702/dca/sessionKeyInit.ts
new file mode 100644
index 0000000000..e69de29bb2
diff --git a/examples/ui-demo/src/components/shared/7702/demoSend7702UO.ts b/examples/ui-demo/src/components/shared/7702/demoSend7702UO.ts
index c79537c966..4547f19176 100644
--- a/examples/ui-demo/src/components/shared/7702/demoSend7702UO.ts
+++ b/examples/ui-demo/src/components/shared/7702/demoSend7702UO.ts
@@ -2,11 +2,11 @@ import { zeroAddress, type PublicClient } from "viem";
import { type SmartAccountSigner, type BundlerClient } from "@aa-sdk/core";
-import { type AlchemyTransport } from "@account-kit/infra";
+import { alchemyFeeEstimator, type AlchemyTransport } from "@account-kit/infra";
import { createSMA7702AccountClient } from "@account-kit/smart-contracts/experimental";
-import { mekong } from "./transportSetup";
+import { odyssey } from "./transportSetup";
export const send7702UO = async (
client: PublicClient & BundlerClient,
@@ -19,9 +19,10 @@ export const send7702UO = async (
);
const accountClient = await createSMA7702AccountClient({
- chain: mekong,
+ chain: odyssey,
transport,
signer,
+ feeEstimator: alchemyFeeEstimator(transport),
});
const uoHash = await accountClient.sendUserOperation({
@@ -30,10 +31,20 @@ export const send7702UO = async (
data: "0x",
value: BigInt(0),
},
+ overrides: {
+ maxFeePerGas: {
+ multiplier: 1.5,
+ },
+ maxPriorityFeePerGas: {
+ multiplier: 1.5,
+ },
+ },
});
const txnHash = await accountClient.waitForUserOperationTransaction(uoHash);
- // const txnHash = await accountClient.waitForUserOperationTransaction({ hash: "0x4115f6006e0418bdaf42d71f124a31be50f473aeacc2915638c97a6a1d3a8750" });
+ // const txnHash = await accountClient.waitForUserOperationTransaction({
+ // hash: "0xc0752298b3d149e973974d14c4598d354e71e822db7600de28efb637ab03325c",
+ // });
console.log("txnHash: ", txnHash);
};
diff --git a/examples/ui-demo/src/components/shared/7702/transportSetup.ts b/examples/ui-demo/src/components/shared/7702/transportSetup.ts
index 6960f0350a..62022476f0 100644
--- a/examples/ui-demo/src/components/shared/7702/transportSetup.ts
+++ b/examples/ui-demo/src/components/shared/7702/transportSetup.ts
@@ -2,22 +2,43 @@ import type { Chain } from "viem";
import { defineChain } from "viem";
import { alchemy } from "@account-kit/infra";
-export const mekong: Chain = defineChain({
- id: 7078815900,
- name: "Mekong Pectra Devnet",
+// export const mekong: Chain = defineChain({
+// id: 7078815900,
+// name: "Mekong Pectra Devnet",
+// nativeCurrency: { name: "eth", symbol: "eth", decimals: 18 },
+// rpcUrls: {
+// default: {
+// http: ["https://rpc.mekong.ethpandaops.io"],
+// },
+// alchemy: {
+// http: ["https://rpc.mekong.ethpandaops.io"],
+// },
+// },
+// blockExplorers: {
+// default: {
+// name: "Block Explorer",
+// url: "https://explorer.mekong.ethpandaops.io",
+// },
+// },
+// testnet: true,
+// });
+
+export const odyssey: Chain = defineChain({
+ id: 911867,
+ name: "Odyssey",
nativeCurrency: { name: "eth", symbol: "eth", decimals: 18 },
rpcUrls: {
default: {
- http: ["https://rpc.mekong.ethpandaops.io"],
+ http: ["https://odyssey.ithaca.xyz"],
},
alchemy: {
- http: ["https://rpc.mekong.ethpandaops.io"],
+ http: ["https://odyssey.ithaca.xyz"],
},
},
blockExplorers: {
default: {
name: "Block Explorer",
- url: "https://explorer.mekong.ethpandaops.io",
+ url: "https://odyssey-explorer.ithaca.xyz/",
},
},
testnet: true,
@@ -42,10 +63,17 @@ export const mekong: Chain = defineChain({
// fallback: http("/api/rpc-mekong"),
// })
-export const splitMekongTransport = alchemy({
+// export const splitMekongTransport = alchemy({
+// alchemyConnection: {
+// rpcUrl:
+// "https://eth-mekong.g.alchemypreview.com/v2/HjEy_lTrJ0P2Y8BRFhAHm_1dVc0svdme",
+// },
+// nodeRpcUrl: "/api/rpc-mekong",
+// });
+
+export const splitOdysseyTransport = alchemy({
alchemyConnection: {
- rpcUrl:
- "https://eth-mekong.g.alchemypreview.com/v2/HjEy_lTrJ0P2Y8BRFhAHm_1dVc0svdme",
+ rpcUrl: "/api/bundler-odyssey",
},
- nodeRpcUrl: "/api/rpc-mekong",
+ nodeRpcUrl: "https://odyssey.ithaca.xyz",
});
diff --git a/package.json b/package.json
index 21d4b67145..a18d0034de 100644
--- a/package.json
+++ b/package.json
@@ -30,7 +30,7 @@
},
"resolutions": {
"wagmi": "2.12.7",
- "viem": "2.20.0"
+ "viem": "2.22.6"
},
"scripts": {
"generate": "turbo run generate",
@@ -83,7 +83,7 @@
"prool": "^0.0.15",
"tsx": "^4.19.2",
"turbo": "^2.2.3",
- "viem": "2.20.0",
+ "viem": "2.22.6",
"vitest": "^2.0.4",
"wagmi": "2.12.7",
"webauthn-p256": "^0.0.10"
@@ -104,4 +104,4 @@
"yarn lint:write"
]
}
-}
+}
\ No newline at end of file
diff --git a/site/package.json b/site/package.json
index 267bfc104e..f6f04ce657 100644
--- a/site/package.json
+++ b/site/package.json
@@ -31,8 +31,8 @@
"react": "^18.2.0",
"react-native": "0.76.5",
"react-dom": "^18.2.0",
- "viem": "2.20.0",
+ "viem": "2.22.6",
"vocs": "^1.0.0-alpha.62",
"wagmi": "2.12.7"
}
-}
+}
\ No newline at end of file
diff --git a/yarn.lock b/yarn.lock
index 00390a71a7..ee359b75fc 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -17,10 +17,10 @@
resolved "https://registry.npmjs.org/@adobe/css-tools/-/css-tools-4.4.0.tgz"
integrity sha512-Ff9+ksdQQB3rMncgqDK78uLznstjyfIf2Arnh22pW8kBpLs6rpKDwgnZT46hin5Hl1WzazzK64DOrhSwYpS7bQ==
-"@adraffy/ens-normalize@1.10.0":
- version "1.10.0"
- resolved "https://registry.npmjs.org/@adraffy/ens-normalize/-/ens-normalize-1.10.0.tgz"
- integrity sha512-nA9XHtlAkYfJxY7bce8DcN7eKxWWCWkU+1GR9d+U6MbNpfwQp8TI7vqOsBsMcHoT4mBu2kypKoSKnghEzOOq5Q==
+"@adraffy/ens-normalize@^1.10.1":
+ version "1.11.0"
+ resolved "https://registry.yarnpkg.com/@adraffy/ens-normalize/-/ens-normalize-1.11.0.tgz#42cc67c5baa407ac25059fcd7d405cc5ecdb0c33"
+ integrity sha512-/3DDPKHqqIqxUULp8yP4zODUY1i+2xvVWsv8A79xGWdCAG+8sb0hRh0Rk2QyOJUnnbyPUAZYcpBuRe3nS2OIUg==
"@alloc/quick-lru@^5.2.0":
version "5.2.0"
@@ -4748,12 +4748,12 @@
dependencies:
"@noble/hashes" "1.3.1"
-"@noble/curves@1.4.0":
- version "1.4.0"
- resolved "https://registry.npmjs.org/@noble/curves/-/curves-1.4.0.tgz"
- integrity sha512-p+4cb332SFCrReJkCYe8Xzm0OWi4Jji5jVdIZRL/PmacmDkFNw6MrrV+gGpiPxLHbV+zKFRywUWbaseT+tZRXg==
+"@noble/curves@1.7.0", "@noble/curves@~1.7.0":
+ version "1.7.0"
+ resolved "https://registry.yarnpkg.com/@noble/curves/-/curves-1.7.0.tgz#0512360622439256df892f21d25b388f52505e45"
+ integrity sha512-UTMhXK9SeDhFJVrHeUJ5uZlI6ajXg10O6Ddocf9S6GjbSBVZsJo88HzKwXznNfGpMTRDyJkqMjNDPYgf0qFWnw==
dependencies:
- "@noble/hashes" "1.4.0"
+ "@noble/hashes" "1.6.0"
"@noble/curves@^1.3.0":
version "1.3.0"
@@ -4769,12 +4769,12 @@
dependencies:
"@noble/hashes" "1.4.0"
-"@noble/curves@~1.4.0":
- version "1.4.2"
- resolved "https://registry.npmjs.org/@noble/curves/-/curves-1.4.2.tgz"
- integrity sha512-TavHr8qycMChk8UwMld0ZDRvatedkzWfH8IiaeGCfymOP5i0hSCozz9vHOL0nkwk7HRMlFnAiKpS2jrUmSybcw==
+"@noble/curves@^1.6.0", "@noble/curves@~1.8.0":
+ version "1.8.0"
+ resolved "https://registry.yarnpkg.com/@noble/curves/-/curves-1.8.0.tgz#fe035a23959e6aeadf695851b51a87465b5ba8f7"
+ integrity sha512-j84kjAbzEnQHaSIhRPUmB3/eVXu2k3dKPl2LOrR8fSOIL+89U+7lV117EWHtq/GHM3ReGHM46iRBdZfpc4HRUQ==
dependencies:
- "@noble/hashes" "1.4.0"
+ "@noble/hashes" "1.7.0"
"@noble/hashes@1.3.1":
version "1.3.1"
@@ -4786,11 +4786,26 @@
resolved "https://registry.npmjs.org/@noble/hashes/-/hashes-1.3.3.tgz"
integrity sha512-V7/fPHgl+jsVPXqqeOzT8egNj2iBIVt+ECeMMG8TdcnTikP3oaBtUVqpT/gYCR68aEBJSF+XbYUxStjbFMqIIA==
-"@noble/hashes@1.4.0", "@noble/hashes@^1.3.1", "@noble/hashes@^1.3.2", "@noble/hashes@^1.4.0", "@noble/hashes@~1.4.0":
+"@noble/hashes@1.4.0", "@noble/hashes@^1.3.1", "@noble/hashes@^1.3.2", "@noble/hashes@^1.4.0":
version "1.4.0"
resolved "https://registry.npmjs.org/@noble/hashes/-/hashes-1.4.0.tgz"
integrity sha512-V1JJ1WTRUqHHrOSh597hURcMqVKVGL/ea3kv0gSnEdsEZ0/+VyPghM1lMNGc00z7CIQorSvbKpuJkxvuHbvdbg==
+"@noble/hashes@1.6.0":
+ version "1.6.0"
+ resolved "https://registry.yarnpkg.com/@noble/hashes/-/hashes-1.6.0.tgz#d4bfb516ad6e7b5111c216a5cc7075f4cf19e6c5"
+ integrity sha512-YUULf0Uk4/mAA89w+k3+yUYh6NrEvxZa5T6SY3wlMvE2chHkxFUUIDI8/XW1QSC357iA5pSnqt7XEhvFOqmDyQ==
+
+"@noble/hashes@1.6.1", "@noble/hashes@~1.6.0":
+ version "1.6.1"
+ resolved "https://registry.yarnpkg.com/@noble/hashes/-/hashes-1.6.1.tgz#df6e5943edcea504bac61395926d6fd67869a0d5"
+ integrity sha512-pq5D8h10hHBjyqX+cfBm0i8JUXJ0UhczFc4r74zbuT9XgewFo2E3J1cOaGtdZynILNmQ685YWGzGE1Zv6io50w==
+
+"@noble/hashes@1.7.0", "@noble/hashes@~1.7.0":
+ version "1.7.0"
+ resolved "https://registry.yarnpkg.com/@noble/hashes/-/hashes-1.7.0.tgz#5d9e33af2c7d04fee35de1519b80c958b2e35e39"
+ integrity sha512-HXydb0DgzTpDPwbVeDGCG1gIu7X6+AuU6Zl6av/E/KG8LMsvPntvq+w17CHRpKBmN6Ybdrt1eP3k4cj8DJa78w==
+
"@noble/hashes@^1.5.0":
version "1.5.0"
resolved "https://registry.yarnpkg.com/@noble/hashes/-/hashes-1.5.0.tgz#abadc5ca20332db2b1b2aa3e496e9af1213570b0"
@@ -6768,10 +6783,10 @@
resolved "https://registry.npmjs.org/@scure/base/-/base-1.1.4.tgz"
integrity sha512-wznebWtt+ejH8el87yuD4i9xLSbYZXf1Pe4DY0o/zq/eg5I0VQVXVbFs6XIM0pNVCJ/uE3t5wI9kh90mdLUxtw==
-"@scure/base@~1.1.6":
- version "1.1.7"
- resolved "https://registry.npmjs.org/@scure/base/-/base-1.1.7.tgz"
- integrity sha512-PPNYBslrLNNUQ/Yad37MHYsNQtK67EhWb6WtSvNLLPo7SdVZgkUjD6Dg+5On7zNwmskf8OX7I7Nx5oN+MIWE0g==
+"@scure/base@~1.2.1":
+ version "1.2.1"
+ resolved "https://registry.yarnpkg.com/@scure/base/-/base-1.2.1.tgz#dd0b2a533063ca612c17aa9ad26424a2ff5aa865"
+ integrity sha512-DGmGtC8Tt63J5GfHgfl5CuAXh96VF/LD8K9Hr/Gv0J2lAoRGlPOMpqMpMbCTOoOJMZCk2Xt+DskdDyn6dEFdzQ==
"@scure/bip32@1.3.1":
version "1.3.1"
@@ -6782,14 +6797,23 @@
"@noble/hashes" "~1.3.1"
"@scure/base" "~1.1.0"
-"@scure/bip32@1.4.0":
- version "1.4.0"
- resolved "https://registry.npmjs.org/@scure/bip32/-/bip32-1.4.0.tgz"
- integrity sha512-sVUpc0Vq3tXCkDGYVWGIZTRfnvu8LoTDaev7vbwh0omSvVORONr960MQWdKqJDCReIEmTj3PAr73O3aoxz7OPg==
+"@scure/bip32@1.6.0":
+ version "1.6.0"
+ resolved "https://registry.yarnpkg.com/@scure/bip32/-/bip32-1.6.0.tgz#6dbc6b4af7c9101b351f41231a879d8da47e0891"
+ integrity sha512-82q1QfklrUUdXJzjuRU7iG7D7XiFx5PHYVS0+oeNKhyDLT7WPqs6pBcM2W5ZdwOwKCwoE1Vy1se+DHjcXwCYnA==
+ dependencies:
+ "@noble/curves" "~1.7.0"
+ "@noble/hashes" "~1.6.0"
+ "@scure/base" "~1.2.1"
+
+"@scure/bip32@^1.5.0":
+ version "1.6.1"
+ resolved "https://registry.yarnpkg.com/@scure/bip32/-/bip32-1.6.1.tgz#848eca1bc96f6b5ce6aa750798853fb142dace05"
+ integrity sha512-jSO+5Ud1E588Y+LFo8TaB8JVPNAZw/lGGao+1SepHDeTs2dFLurdNIAgUuDlwezqEjRjElkCJajVrtrZaBxvaQ==
dependencies:
- "@noble/curves" "~1.4.0"
- "@noble/hashes" "~1.4.0"
- "@scure/base" "~1.1.6"
+ "@noble/curves" "~1.8.0"
+ "@noble/hashes" "~1.7.0"
+ "@scure/base" "~1.2.1"
"@scure/bip39@1.2.1":
version "1.2.1"
@@ -6799,13 +6823,21 @@
"@noble/hashes" "~1.3.0"
"@scure/base" "~1.1.0"
-"@scure/bip39@1.3.0":
- version "1.3.0"
- resolved "https://registry.npmjs.org/@scure/bip39/-/bip39-1.3.0.tgz"
- integrity sha512-disdg7gHuTDZtY+ZdkmLpPCk7fxZSu3gBiEGuoC1XYxv9cGx3Z6cpTggCgW6odSOOIXCiDjuGejW+aJKCY/pIQ==
+"@scure/bip39@1.5.0":
+ version "1.5.0"
+ resolved "https://registry.yarnpkg.com/@scure/bip39/-/bip39-1.5.0.tgz#c8f9533dbd787641b047984356531d84485f19be"
+ integrity sha512-Dop+ASYhnrwm9+HA/HwXg7j2ZqM6yk2fyLWb5znexjctFY3+E+eU8cIWI0Pql0Qx4hPZCijlGq4OL71g+Uz30A==
+ dependencies:
+ "@noble/hashes" "~1.6.0"
+ "@scure/base" "~1.2.1"
+
+"@scure/bip39@^1.4.0":
+ version "1.5.1"
+ resolved "https://registry.yarnpkg.com/@scure/bip39/-/bip39-1.5.1.tgz#a056868d672c7203a6035c808893742a79e151f6"
+ integrity sha512-GnlufVSP9UdAo/H2Patfv22VTtpNTyfi+I3qCKpvuB5l1KWzEYx+l2TNpBy9Ksh4xTs3Rn06tBlpWCi/1Vz8gw==
dependencies:
- "@noble/hashes" "~1.4.0"
- "@scure/base" "~1.1.6"
+ "@noble/hashes" "~1.7.0"
+ "@scure/base" "~1.2.1"
"@sec-ant/readable-stream@^0.4.1":
version "0.4.1"
@@ -9976,16 +10008,21 @@ abbrev@^2.0.0:
resolved "https://registry.npmjs.org/abbrev/-/abbrev-2.0.0.tgz"
integrity sha512-6/mh1E2u2YgEsCHdY0Yx5oW+61gZU+1vXaoiHHrpKeuRNNgFvS+/jrwHiQhB5apAf5oB7UB7E19ol2R2LKH8hQ==
-abitype@1.0.5:
- version "1.0.5"
- resolved "https://registry.npmjs.org/abitype/-/abitype-1.0.5.tgz"
- integrity sha512-YzDhti7cjlfaBhHutMaboYB21Ha3rXR9QTkNJFzYC4kC8YclaiwPBBBJY8ejFdu2wnJeZCVZSMlQJ7fi8S6hsw==
+abitype@1.0.7:
+ version "1.0.7"
+ resolved "https://registry.yarnpkg.com/abitype/-/abitype-1.0.7.tgz#876a0005d211e1c9132825d45bcee7b46416b284"
+ integrity sha512-ZfYYSktDQUwc2eduYu8C4wOs+RDPmnRYMh7zNfzeMtGGgb0U+6tLGjixUic6mXf5xKKCcgT5Qp6cv39tOARVFw==
abitype@^0.8.3:
version "0.8.11"
resolved "https://registry.npmjs.org/abitype/-/abitype-0.8.11.tgz"
integrity sha512-bM4v2dKvX08sZ9IU38IN5BKmN+ZkOSd2oI4a9f0ejHYZQYV6cDr7j+d95ga0z2XHG36Y4jzoG5Z7qDqxp7fi/A==
+abitype@^1.0.6:
+ version "1.0.8"
+ resolved "https://registry.yarnpkg.com/abitype/-/abitype-1.0.8.tgz#3554f28b2e9d6e9f35eb59878193eabd1b9f46ba"
+ integrity sha512-ZeiI6h3GnW06uYDLx0etQtX/p8E24UaHHBj57RSjK7YBFe7iuVn07EDpOeP451D06sF27VOz9JJPlIKJmXgkEg==
+
abort-controller@^3.0.0:
version "3.0.0"
resolved "https://registry.npmjs.org/abort-controller/-/abort-controller-3.0.0.tgz"
@@ -18032,10 +18069,10 @@ isobject@^3.0.1:
resolved "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz"
integrity sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==
-isows@1.0.4:
- version "1.0.4"
- resolved "https://registry.npmjs.org/isows/-/isows-1.0.4.tgz"
- integrity sha512-hEzjY+x9u9hPmBom9IIAqdJCwNLax+xrPb51vEPpERoFlIxgmZcHzsT5jKG06nvInKOBGvReAVz80Umed5CczQ==
+isows@1.0.6:
+ version "1.0.6"
+ resolved "https://registry.yarnpkg.com/isows/-/isows-1.0.6.tgz#0da29d706fa51551c663c627ace42769850f86e7"
+ integrity sha512-lPHCayd40oW98/I0uvgaHKWCSvkzY27LjWLbtzOm64yQ+G3Q5npjjbdppU65iZXkK1Zt+kH9pfegli0AYfwYYw==
issue-parser@6.0.0:
version "6.0.0"
@@ -22810,6 +22847,19 @@ outvariant@^1.4.0, outvariant@^1.4.2, outvariant@^1.4.3:
resolved "https://registry.npmjs.org/outvariant/-/outvariant-1.4.3.tgz"
integrity sha512-+Sl2UErvtsoajRDKCE5/dBz4DIvHXQQnAxtQTF04OJxY0+DyZXSo5P5Bb7XYWOh81syohlYL24hbDwxedPUJCA==
+ox@0.6.0:
+ version "0.6.0"
+ resolved "https://registry.yarnpkg.com/ox/-/ox-0.6.0.tgz#ba8f89d68b5e8afe717c8a947ffacc0669ea155d"
+ integrity sha512-blUzTLidvUlshv0O02CnLFqBLidNzPoAZdIth894avUAotTuWziznv6IENv5idRuOSSP3dH8WzcYw84zVdu0Aw==
+ dependencies:
+ "@adraffy/ens-normalize" "^1.10.1"
+ "@noble/curves" "^1.6.0"
+ "@noble/hashes" "^1.5.0"
+ "@scure/bip32" "^1.5.0"
+ "@scure/bip39" "^1.4.0"
+ abitype "^1.0.6"
+ eventemitter3 "5.0.1"
+
p-cancelable@^3.0.0:
version "3.0.0"
resolved "https://registry.yarnpkg.com/p-cancelable/-/p-cancelable-3.0.0.tgz#63826694b54d61ca1c20ebcb6d3ecf5e14cd8050"
@@ -28383,20 +28433,20 @@ vfile@^6.0.0, vfile@^6.0.1:
unist-util-stringify-position "^4.0.0"
vfile-message "^4.0.0"
-viem@2.20.0, viem@^2.1.1, viem@^2.20.0, viem@^2.21.40, viem@^2.21.41:
- version "2.20.0"
- resolved "https://registry.npmjs.org/viem/-/viem-2.20.0.tgz"
- integrity sha512-cM4vs81HnSNbfceI1MLkx4pCVzbVjl9xiNSv5SCutYjUyFFOVSPDlEyhpg2iHinxx1NM4Qne3END5eLT8rvUdg==
- dependencies:
- "@adraffy/ens-normalize" "1.10.0"
- "@noble/curves" "1.4.0"
- "@noble/hashes" "1.4.0"
- "@scure/bip32" "1.4.0"
- "@scure/bip39" "1.3.0"
- abitype "1.0.5"
- isows "1.0.4"
- webauthn-p256 "0.0.5"
- ws "8.17.1"
+viem@2.22.6, viem@^2.1.1, viem@^2.21.40, viem@^2.21.41, viem@^2.22.6:
+ version "2.22.6"
+ resolved "https://registry.yarnpkg.com/viem/-/viem-2.22.6.tgz#724c66caed2c8bfd73748f099131e60d392e26ef"
+ integrity sha512-wbru5XP0Aa2QskBrZsv7VOriqRnAKn0tahs957xRPOM00ABN4AGAY9xM16UvIq+giRJU6oahXDhPrR1QaYymoA==
+ dependencies:
+ "@noble/curves" "1.7.0"
+ "@noble/hashes" "1.6.1"
+ "@scure/bip32" "1.6.0"
+ "@scure/bip39" "1.5.0"
+ abitype "1.0.7"
+ isows "1.0.6"
+ ox "0.6.0"
+ webauthn-p256 "0.0.10"
+ ws "8.18.0"
vite-node@2.0.4:
version "2.0.4"
@@ -28636,17 +28686,9 @@ web-vitals@0.2.4:
resolved "https://registry.npmjs.org/web-vitals/-/web-vitals-0.2.4.tgz"
integrity sha512-6BjspCO9VriYy12z356nL6JBS0GYeEcA457YyRzD+dD6XYCQ75NKhcOHUMHentOE7OcVCIXXDvOm0jKFfQG2Gg==
-webauthn-p256@0.0.5:
- version "0.0.5"
- resolved "https://registry.npmjs.org/webauthn-p256/-/webauthn-p256-0.0.5.tgz"
- integrity sha512-drMGNWKdaixZNobeORVIqq7k5DsRC9FnG201K2QjeOoQLmtSDaSsVZdkg6n5jUALJKcAG++zBPJXmv6hy0nWFg==
- dependencies:
- "@noble/curves" "^1.4.0"
- "@noble/hashes" "^1.4.0"
-
-webauthn-p256@^0.0.10:
+webauthn-p256@0.0.10, webauthn-p256@^0.0.10:
version "0.0.10"
- resolved "https://registry.npmjs.org/webauthn-p256/-/webauthn-p256-0.0.10.tgz"
+ resolved "https://registry.yarnpkg.com/webauthn-p256/-/webauthn-p256-0.0.10.tgz#877e75abe8348d3e14485932968edf3325fd2fdd"
integrity sha512-EeYD+gmIT80YkSIDb2iWq0lq2zbHo1CxHlQTeJ+KkCILWpVy3zASH3ByD4bopzfk0uCwXxLqKGLqp2W4O28VFA==
dependencies:
"@noble/curves" "^1.4.0"
@@ -28974,10 +29016,10 @@ ws@7.4.6:
resolved "https://registry.npmjs.org/ws/-/ws-7.4.6.tgz"
integrity sha512-YmhHDO4MzaDLB+M9ym/mDA5z0naX8j7SIlT8f8z+I0VtzsRbekxEutHSme7NPS2qE8StCYQNUnfWdXta/Yu85A==
-ws@8.17.1:
- version "8.17.1"
- resolved "https://registry.npmjs.org/ws/-/ws-8.17.1.tgz"
- integrity sha512-6XQFvXTkbfUOZOKKILFG1PDK2NDQs4azKQl26T0YS5CxqWLgXajbPZ+h4gZekJyRqFU8pvnbAbbs/3TgRPy+GQ==
+ws@8.18.0, ws@^8.12.1, ws@^8.18.0, ws@^8.2.3:
+ version "8.18.0"
+ resolved "https://registry.yarnpkg.com/ws/-/ws-8.18.0.tgz#0d7505a6eafe2b0e712d232b42279f53bc289bbc"
+ integrity sha512-8VbfWfHLbbwu3+N6OKsOMpBdT4kXPDDB9cJk2bJ6mh9ucxdlnNvH1e+roYkKmN9Nxw2yjz7VzeO9oOz2zJ04Pw==
ws@^6.2.3:
version "6.2.3"
@@ -28996,11 +29038,6 @@ ws@^7.5.1:
resolved "https://registry.npmjs.org/ws/-/ws-7.5.9.tgz"
integrity sha512-F+P9Jil7UiSKSkppIiD94dN07AwvFixvLIj1Og1Rl9GGMuNipJnV9JzjD6XuqmAeiswGvUmNLjr5cFuXwNS77Q==
-ws@^8.12.1, ws@^8.18.0, ws@^8.2.3:
- version "8.18.0"
- resolved "https://registry.npmjs.org/ws/-/ws-8.18.0.tgz"
- integrity sha512-8VbfWfHLbbwu3+N6OKsOMpBdT4kXPDDB9cJk2bJ6mh9ucxdlnNvH1e+roYkKmN9Nxw2yjz7VzeO9oOz2zJ04Pw==
-
ws@~8.11.0:
version "8.11.0"
resolved "https://registry.npmjs.org/ws/-/ws-8.11.0.tgz"