diff --git a/apps/daimo-mobile/eas.json b/apps/daimo-mobile/eas.json
index 62ae27fda..50e1dff1c 100644
--- a/apps/daimo-mobile/eas.json
+++ b/apps/daimo-mobile/eas.json
@@ -11,7 +11,8 @@
"simulator": true
},
"env": {
- "NEXT_PUBLIC_DOMAIN": "daimo.xyz"
+ "DAIMO_CHAIN": "baseGoerli",
+ "DAIMO_DOMAIN": "daimo.xyz"
}
},
"dev": {
@@ -25,21 +26,20 @@
"buildConfiguration": "Debug"
},
"env": {
- "NEXT_PUBLIC_DOMAIN": "daimo.xyz"
+ "DAIMO_CHAIN": "baseGoerli",
+ "DAIMO_DOMAIN": "daimo.xyz"
}
},
- "stage": {
+ "prod": {
"resourceClass": "large",
"autoIncrement": true,
"node": "20.3.0",
"env": {
"DAIMO_APP_API_URL": "https://daimo-api-prod.onrender.com",
- "NEXT_PUBLIC_DOMAIN": "daimo.xyz"
+ "DAIMO_BUNDLER_RPC": "https://api.pimlico.io/v1/base/rpc?apikey=70ecef54-a28e-4e96-b2d3-3ad67fbc1b07",
+ "DAIMO_CHAIN": "base",
+ "DAIMO_DOMAIN": "daimo.xyz"
}
- },
- "prod": {
- "autoIncrement": true,
- "resourceClass": "large"
}
},
"submit": {
diff --git a/apps/daimo-mobile/src/action/useExistingAccount.ts b/apps/daimo-mobile/src/action/useExistingAccount.ts
index 7b099fa16..fe6a543b1 100644
--- a/apps/daimo-mobile/src/action/useExistingAccount.ts
+++ b/apps/daimo-mobile/src/action/useExistingAccount.ts
@@ -2,8 +2,8 @@ import { useEffect } from "react";
import { useActStatus } from "./actStatus";
import { useLoadOrCreateEnclaveKey } from "./key";
+import { useTime } from "../logic/time";
import { rpcFunc } from "../logic/trpc";
-import { useTime } from "../logic/useTime";
import { defaultEnclaveKeyName, useAccount } from "../model/account";
export function useExistingAccount() {
diff --git a/apps/daimo-mobile/src/action/useSendAsync.ts b/apps/daimo-mobile/src/action/useSendAsync.ts
index ed44cb106..10d097049 100644
--- a/apps/daimo-mobile/src/action/useSendAsync.ts
+++ b/apps/daimo-mobile/src/action/useSendAsync.ts
@@ -106,7 +106,7 @@ function loadOpSender(
};
};
- return await DaimoOpSender.init(address, signer);
+ return await DaimoOpSender.initFromEnv(address, signer);
})();
accountCache.set([address, keySlot], promise);
diff --git a/apps/daimo-mobile/src/logic/chainConfig.ts b/apps/daimo-mobile/src/logic/chainConfig.ts
deleted file mode 100644
index 4756c0fe9..000000000
--- a/apps/daimo-mobile/src/logic/chainConfig.ts
+++ /dev/null
@@ -1,7 +0,0 @@
-import { baseGoerli, goerli } from "viem/chains";
-
-export const chainConfig = {
- testnet: true,
- l1: goerli,
- l2: baseGoerli,
-};
diff --git a/apps/daimo-mobile/src/logic/useTime.ts b/apps/daimo-mobile/src/logic/time.ts
similarity index 56%
rename from apps/daimo-mobile/src/logic/useTime.ts
rename to apps/daimo-mobile/src/logic/time.ts
index 22e692182..433248af8 100644
--- a/apps/daimo-mobile/src/logic/useTime.ts
+++ b/apps/daimo-mobile/src/logic/time.ts
@@ -1,3 +1,5 @@
+import { guessTimestampFromNum } from "@daimo/common";
+import { chainConfig } from "@daimo/contract";
import { useEffect, useState } from "react";
/** Returns the current time in Unix seconds. Ticks every `secs`. */
@@ -11,3 +13,8 @@ export function useTime(secs: number = 1) {
return Math.floor(time / 1000);
}
+
+/** Returns the timestamp, in Unix seconds, for a given L2 block number. */
+export function timestampForBlock(blockNum: number) {
+ return guessTimestampFromNum(blockNum, chainConfig.chainL2.network);
+}
diff --git a/apps/daimo-mobile/src/sync/sync.ts b/apps/daimo-mobile/src/sync/sync.ts
index ccd582995..b0062554a 100644
--- a/apps/daimo-mobile/src/sync/sync.ts
+++ b/apps/daimo-mobile/src/sync/sync.ts
@@ -4,11 +4,10 @@ import {
TransferOpEvent,
amountToDollars,
assert,
- guessTimestampFromNum,
} from "@daimo/common";
import { useEffect } from "react";
-import { chainConfig } from "../logic/chainConfig";
+import { timestampForBlock } from "../logic/time";
import { rpcFunc } from "../logic/trpc";
import { Account, getAccountManager } from "../model/account";
@@ -239,10 +238,7 @@ function addTransfers(
amount: Number(transfer.amount),
nonceMetadata: transfer.nonceMetadata,
- timestamp: guessTimestampFromNum(
- transfer.blockNumber!,
- chainConfig.l2.network
- ),
+ timestamp: timestampForBlock(transfer.blockNumber!),
txHash: transfer.txHash,
blockNumber: transfer.blockNumber,
blockHash: transfer.blockHash,
diff --git a/apps/daimo-mobile/src/view/HomeStack.tsx b/apps/daimo-mobile/src/view/HomeStack.tsx
index 046caf244..27c567320 100644
--- a/apps/daimo-mobile/src/view/HomeStack.tsx
+++ b/apps/daimo-mobile/src/view/HomeStack.tsx
@@ -1,4 +1,4 @@
-import { tokenMetadata } from "@daimo/contract";
+import { chainConfig } from "@daimo/contract";
import { createNativeStackNavigator } from "@react-navigation/native-stack";
import { useEffect, useMemo, useState } from "react";
@@ -46,7 +46,7 @@ export function HomeStackNav() {
/>
diff --git a/apps/daimo-mobile/src/view/screen/DeviceScreen.tsx b/apps/daimo-mobile/src/view/screen/DeviceScreen.tsx
index 6d94a2313..cda8681bd 100644
--- a/apps/daimo-mobile/src/view/screen/DeviceScreen.tsx
+++ b/apps/daimo-mobile/src/view/screen/DeviceScreen.tsx
@@ -1,18 +1,18 @@
-import { assert, guessTimestampFromNum, timeString } from "@daimo/common";
+import { assert, timeString } from "@daimo/common";
import {
- DaimoOpSender,
DaimoNonce,
DaimoNonceMetadata,
DaimoNonceType,
+ DaimoOpSender,
} from "@daimo/userop";
import { NativeStackScreenProps } from "@react-navigation/native-stack";
import { ReactNode, useCallback, useEffect, useMemo } from "react";
import { ActivityIndicator, Alert, View } from "react-native";
import { useSendAsync } from "../../action/useSendAsync";
-import { chainConfig } from "../../logic/chainConfig";
import { keySlotToDeviceIdentifier } from "../../logic/device";
import { deleteEnclaveKey } from "../../logic/enclave";
+import { timestampForBlock } from "../../logic/time";
import { useAccount } from "../../model/account";
import { getAmountText } from "../shared/Amount";
import { ButtonBig } from "../shared/Button";
@@ -127,10 +127,7 @@ export function DeviceScreen({ route, navigation }: Props) {
}
})();
- const addedAtS = guessTimestampFromNum(
- device.addedAt,
- chainConfig.l2.network
- );
+ const addedAtS = timestampForBlock(device.addedAt);
return (
diff --git a/apps/daimo-mobile/src/view/screen/HistoryOpScreen.tsx b/apps/daimo-mobile/src/view/screen/HistoryOpScreen.tsx
index eb006088a..2fdcbaaac 100644
--- a/apps/daimo-mobile/src/view/screen/HistoryOpScreen.tsx
+++ b/apps/daimo-mobile/src/view/screen/HistoryOpScreen.tsx
@@ -4,13 +4,13 @@ import {
timeString,
TransferOpEvent,
} from "@daimo/common";
+import { chainConfig } from "@daimo/contract";
import { DaimoNonceMetadata } from "@daimo/userop";
import Octicons from "@expo/vector-icons/Octicons";
import { NativeStackScreenProps } from "@react-navigation/native-stack";
import { useCallback, useEffect } from "react";
import { Linking, StyleSheet, Text, View } from "react-native";
-import { chainConfig } from "../../logic/chainConfig";
import { useAccount } from "../../model/account";
import { syncFindSameOp } from "../../sync/sync";
import { TitleAmount } from "../shared/Amount";
@@ -55,7 +55,7 @@ export function HistoryOpScreen({ route, navigation }: Props) {
}
function LinkToExplorer({ txHash }: { txHash: string }) {
- const explorer = chainConfig.l2.blockExplorers.default;
+ const explorer = chainConfig.chainL2.blockExplorers!.default;
const url = `${explorer.url}/tx/${txHash}`;
const openURL = useCallback(() => Linking.openURL(url), []);
diff --git a/apps/daimo-mobile/src/view/screen/OnboardingScreen.tsx b/apps/daimo-mobile/src/view/screen/OnboardingScreen.tsx
index 6832b7dee..95997f270 100644
--- a/apps/daimo-mobile/src/view/screen/OnboardingScreen.tsx
+++ b/apps/daimo-mobile/src/view/screen/OnboardingScreen.tsx
@@ -1,5 +1,5 @@
import { assertNotNull, validateName } from "@daimo/common";
-import { tokenMetadata } from "@daimo/contract";
+import { chainConfig } from "@daimo/contract";
import Octicons from "@expo/vector-icons/Octicons";
import * as Device from "expo-device";
import * as Notifications from "expo-notifications";
@@ -163,6 +163,8 @@ function IntroPages({
setPageIndex(page);
};
+ const { tokenSymbol } = chainConfig;
+
return (
@@ -180,10 +182,10 @@ function IntroPages({
technology. Use at your own risk.
-
+
- Daimo lets you send and receive money using the{" "}
- {tokenMetadata.symbol} stablecoin. 1 {tokenMetadata.symbol} is $1.
+ Daimo lets you send and receive money using the {tokenSymbol}{" "}
+ stablecoin. 1 {tokenSymbol} is $1.
{
if (!account) return;
const url = `${explorer.url}/address/${account.address}`;
@@ -81,7 +80,7 @@ export function SettingsScreen() {
{account.name}
{` \u00A0 `}
- {tokenMetadata.name} · {chainConfig.l2.name}
+ {chainConfig.tokenSymbol} · {chainConfig.chainL2.name}
@@ -157,7 +156,7 @@ function DeviceRow({
const viewDevice = () => nav.navigate("Device", { pubKey: keyData.pubKey });
- const addAtS = guessTimestampFromNum(keyData.addedAt, chainConfig.l2.network);
+ const addAtS = timestampForBlock(keyData.addedAt);
return (
diff --git a/apps/daimo-mobile/src/view/screen/link/NoteScreen.tsx b/apps/daimo-mobile/src/view/screen/link/NoteScreen.tsx
index 5fff20c6c..3a79b8621 100644
--- a/apps/daimo-mobile/src/view/screen/link/NoteScreen.tsx
+++ b/apps/daimo-mobile/src/view/screen/link/NoteScreen.tsx
@@ -6,7 +6,7 @@ import {
dollarsToAmount,
getAccountName,
} from "@daimo/common";
-import { ephemeralNotesAddress } from "@daimo/contract";
+import { daimoEphemeralNotesAddress } from "@daimo/contract";
import {
DaimoNonce,
DaimoNonceMetadata,
@@ -105,7 +105,7 @@ function NoteDisplay({
pendingOp: {
type: "transfer",
status: OpStatus.pending,
- from: ephemeralNotesAddress,
+ from: daimoEphemeralNotesAddress,
to: account.address,
amount: Number(dollarsToAmount(noteStatus.dollars)),
timestamp: Date.now() / 1e3,
diff --git a/apps/daimo-mobile/src/view/screen/receive/DepositScreen.tsx b/apps/daimo-mobile/src/view/screen/receive/DepositScreen.tsx
index ec96f1a3f..e686b068a 100644
--- a/apps/daimo-mobile/src/view/screen/receive/DepositScreen.tsx
+++ b/apps/daimo-mobile/src/view/screen/receive/DepositScreen.tsx
@@ -1,12 +1,11 @@
import { AddrLabel, assert } from "@daimo/common";
-import { tokenMetadata } from "@daimo/contract";
+import { chainConfig } from "@daimo/contract";
import Octicons from "@expo/vector-icons/Octicons";
import * as Clipboard from "expo-clipboard";
import { useCallback, useEffect, useState } from "react";
import { StyleSheet, Text, TouchableHighlight, View } from "react-native";
import { Address, getAddress } from "viem";
-import { chainConfig } from "../../../logic/chainConfig";
import { rpcHook } from "../../../logic/trpc";
import { useAccount } from "../../../model/account";
import { ButtonMed } from "../../shared/Button";
@@ -18,15 +17,17 @@ export default function DepositScreen() {
const [account] = useAccount();
if (account == null) return null;
+ const { chainL2, tokenSymbol } = chainConfig;
+
return (
- {chainConfig.testnet && }
- {chainConfig.testnet && }
+ {chainL2.testnet && }
+ {chainL2.testnet && }
- Deposit {tokenMetadata.symbol} on {chainConfig.l2.name} only.
+ Deposit {tokenSymbol} on {chainL2.name} only.
{" "}
Use the following address.
@@ -99,7 +100,7 @@ function TestnetFaucet({ recipient }: { recipient: Address }) {
{" "}
Testnet version. This unreleased version of Daimo
- runs on {chainConfig.l2.name}.
+ runs on {chainConfig.chainL2.name}.
- DESIGN SOON
+
+ {text}
);
}
diff --git a/apps/daimo-mobile/src/view/shared/nav.ts b/apps/daimo-mobile/src/view/shared/nav.ts
index 6706780d2..d3c4b7bb5 100644
--- a/apps/daimo-mobile/src/view/shared/nav.ts
+++ b/apps/daimo-mobile/src/view/shared/nav.ts
@@ -9,7 +9,7 @@ import {
import { useNavigation } from "@react-navigation/native";
import type { NativeStackNavigationProp } from "@react-navigation/native-stack";
import { addEventListener, getInitialURL } from "expo-linking";
-import { useEffect, useRef, useState } from "react";
+import { useEffect, useRef } from "react";
import { Hex } from "viem";
import { useAccount } from "../../model/account";
diff --git a/apps/daimo-testbed/App.tsx b/apps/daimo-testbed/App.tsx
index 02a90fdee..a8af4de45 100644
--- a/apps/daimo-testbed/App.tsx
+++ b/apps/daimo-testbed/App.tsx
@@ -42,7 +42,7 @@ export default function App() {
"P-256 Public Key, deploy corresponding account by calling createAccount on factory:",
derPublicKey
);
- const account = await DaimoOpSender.init(accAddress, signer);
+ const account = await DaimoOpSender.initFromEnv(accAddress, signer);
console.log(
"account, give it some eth + usdc magically:",
account.getAddress()
diff --git a/apps/daimo-web/src/components/PerformWalletAction.tsx b/apps/daimo-web/src/components/PerformWalletAction.tsx
index fc4fc1c8f..dd21237ac 100644
--- a/apps/daimo-web/src/components/PerformWalletAction.tsx
+++ b/apps/daimo-web/src/components/PerformWalletAction.tsx
@@ -5,11 +5,7 @@ import {
DaimoRequestStatus,
getNoteClaimSignature,
} from "@daimo/common";
-import {
- ephemeralNotesABI,
- ephemeralNotesAddress,
- tokenMetadata,
-} from "@daimo/contract";
+import { daimoEphemeralNotesConfig, chainConfig } from "@daimo/contract";
import { ConnectButton } from "@rainbow-me/rainbowkit";
import { useEffect, useMemo, useState } from "react";
import { Address, Hex, InsufficientFundsError, parseUnits } from "viem";
@@ -43,11 +39,11 @@ async function linkStatusToAction(
const { recipient } = linkStatus as DaimoRequestStatus;
const parsedAmount = parseUnits(
linkStatus.link.dollars,
- tokenMetadata.decimals
+ chainConfig.tokenDecimals
);
return {
wagmiPrep: {
- address: tokenMetadata.address,
+ address: chainConfig.tokenAddress,
abi: erc20ABI as readonly unknown[],
functionName: "transfer" as const,
args: [recipient.addr, parsedAmount] as const,
@@ -65,8 +61,7 @@ async function linkStatusToAction(
return {
wagmiPrep: {
- address: ephemeralNotesAddress,
- abi: ephemeralNotesABI as readonly unknown[],
+ ...daimoEphemeralNotesConfig,
functionName: "claimNote" as const,
args: [linkStatus.link.ephemeralOwner, signature] as const,
},
diff --git a/apps/daimo-web/src/components/Providers.tsx b/apps/daimo-web/src/components/Providers.tsx
index cb8f22081..d216309ba 100644
--- a/apps/daimo-web/src/components/Providers.tsx
+++ b/apps/daimo-web/src/components/Providers.tsx
@@ -1,17 +1,17 @@
"use client";
+import { chainConfig } from "@daimo/contract";
import {
RainbowKitProvider,
- getDefaultWallets,
connectorsForWallets,
+ getDefaultWallets,
} from "@rainbow-me/rainbowkit";
import * as React from "react";
-import { configureChains, createConfig, WagmiConfig } from "wagmi";
-import { baseGoerli } from "wagmi/chains";
+import { WagmiConfig, configureChains, createConfig } from "wagmi";
import { publicProvider } from "wagmi/providers/public";
const { chains, publicClient, webSocketPublicClient } = configureChains(
- [baseGoerli],
+ [chainConfig.chainL2],
[publicProvider()]
);
diff --git a/apps/scratchpad/src/checkAccount.ts b/apps/scratchpad/src/checkAccount.ts
index ee816061c..df9bd5274 100644
--- a/apps/scratchpad/src/checkAccount.ts
+++ b/apps/scratchpad/src/checkAccount.ts
@@ -1,8 +1,8 @@
import {
+ chainConfig,
entryPointABI,
erc20ABI,
nameRegistryProxyConfig,
- tokenMetadata,
} from "@daimo/contract";
import { Constants } from "userop";
import {
@@ -14,7 +14,6 @@ import {
http,
stringToHex,
} from "viem";
-import { baseGoerli } from "viem/chains";
export function checkAccountDesc() {
return `Check the balance, nonce, etc of a Daimo account.`;
@@ -24,14 +23,17 @@ export async function checkAccount() {
const input = process.argv[3];
if (!input) throw new Error("Usage: check ");
- const chain = baseGoerli;
- console.log(`Daimo account on ${chain.name}`);
+ const { tokenDecimals, tokenSymbol, chainL2 } = chainConfig;
+ console.log(`Daimo account on ${chainL2.name}`);
console.log("");
// Resolve name or address
let name: string, addr: Address;
- const publicClient = createPublicClient({ chain, transport: http() });
+ const publicClient = createPublicClient({
+ chain: chainL2,
+ transport: http(),
+ });
if (input.startsWith("0x")) {
addr = getAddress(input);
const nameHex = await publicClient.readContract({
@@ -56,12 +58,11 @@ export async function checkAccount() {
// Get balance from coin contract
const bal = await publicClient.readContract({
abi: erc20ABI,
- address: tokenMetadata.address,
+ address: chainConfig.tokenAddress,
functionName: "balanceOf",
args: [addr],
});
- const { decimals, symbol } = tokenMetadata;
- const balStr = formatUnits(bal, decimals) + " " + symbol;
+ const balStr = formatUnits(bal, tokenDecimals) + " " + tokenSymbol;
console.log(`BAL - ${balStr}`);
// Get account info from the EntryPoint contract
@@ -76,7 +77,7 @@ export async function checkAccount() {
console.log();
console.log(`...NameReg ${nameRegistryProxyConfig.address}`);
- console.log(`... ERC20 ${tokenMetadata.address}`);
+ console.log(`... ERC20 ${chainConfig.tokenAddress}`);
console.log(`EntryPoint ${Constants.ERC4337.EntryPoint}`);
console.log();
}
diff --git a/apps/scratchpad/src/createAccount.ts b/apps/scratchpad/src/createAccount.ts
index d3f69f1be..7b4437e78 100644
--- a/apps/scratchpad/src/createAccount.ts
+++ b/apps/scratchpad/src/createAccount.ts
@@ -1,8 +1,8 @@
import {
- accountFactoryConfig,
+ daimoAccountFactoryConfig,
+ chainConfig,
entryPointABI,
erc20ABI,
- tokenMetadata,
} from "@daimo/contract";
import {
DaimoNonce,
@@ -14,6 +14,7 @@ import {
import crypto from "node:crypto";
import { Constants } from "userop";
import {
+ Chain,
Hex,
PublicClient,
Transport,
@@ -23,7 +24,6 @@ import {
http,
} from "viem";
import { privateKeyToAccount } from "viem/accounts";
-import { baseGoerli } from "viem/chains";
export function createAccountDesc() {
return `Create a Daimo account. Fund with faucet. Send a test userop from that account.`;
@@ -31,7 +31,7 @@ export function createAccountDesc() {
export async function createAccount() {
// Viem
- const chain = baseGoerli;
+ const chain = chainConfig.chainL2;
const publicClient = createPublicClient({ chain, transport: http() });
console.log(`Connected to ${chain.name}, ${publicClient.transport.url}`);
@@ -82,7 +82,7 @@ export async function createAccount() {
const args = [0, [key1, key2], [], salt] as const;
const address = await publicClient.readContract({
- ...accountFactoryConfig,
+ ...daimoAccountFactoryConfig,
functionName: "getAddress",
args,
});
@@ -98,7 +98,7 @@ export async function createAccount() {
// Deploy account
const hash = await walletClient.writeContract({
- ...accountFactoryConfig,
+ ...daimoAccountFactoryConfig,
functionName: "createAccount",
args,
value: 0n,
@@ -107,14 +107,14 @@ export async function createAccount() {
const tx = await publicClient.waitForTransactionReceipt({ hash });
console.log(`[API] deploy transaction ${tx.status}`);
- const account = await DaimoOpSender.init(address, signer);
+ const account = await DaimoOpSender.initFromEnv(address, signer);
const addr = account.getAddress();
console.log(`Burner Daimo account: ${addr}`);
// Fund it from the faucet
const usdcTxHash = await walletClient.writeContract({
abi: erc20ABI,
- address: tokenMetadata.address,
+ address: chainConfig.tokenAddress,
functionName: "transfer",
args: [addr, 1000000n],
});
@@ -147,7 +147,7 @@ export async function createAccount() {
}
async function waitForTx(
- publicClient: PublicClient,
+ publicClient: PublicClient,
hash: Hex
) {
const receipt = await publicClient.waitForTransactionReceipt({
diff --git a/apps/scratchpad/src/index.ts b/apps/scratchpad/src/index.ts
index 8207a1bae..530f49adc 100644
--- a/apps/scratchpad/src/index.ts
+++ b/apps/scratchpad/src/index.ts
@@ -1,9 +1,9 @@
-import { getViemClientFromEnv } from "@daimo/api/src/chain";
import { CoinIndexer } from "@daimo/api/src/contract/coinIndexer";
import { NameRegistry } from "@daimo/api/src/contract/nameRegistry";
import { OpIndexer } from "@daimo/api/src/contract/opIndexer";
+import { getViemClientFromEnv } from "@daimo/api/src/viemClient";
import { guessTimestampFromNum } from "@daimo/common";
-import { nameRegistryProxyConfig, tokenMetadata } from "@daimo/contract";
+import { nameRegistryProxyConfig, chainConfig } from "@daimo/contract";
import csv from "csvtojson";
import { checkAccount, checkAccountDesc } from "./checkAccount";
@@ -73,8 +73,8 @@ async function metrics() {
addMetric(signups, ts, 1);
}
- const tm = tokenMetadata;
- console.log(`[METRICS] compiling ${tm.symbol} transfers ${tm.address}`);
+ const { tokenSymbol, tokenAddress } = chainConfig;
+ console.log(`[METRICS] compiling ${tokenSymbol} transfers ${tokenAddress}`);
const transfers = new Map();
coinIndexer.pipeAllTransfers(async (logs) => {
for (const log of logs) {
diff --git a/doc/architecture.excalidraw.svg b/doc/architecture.excalidraw.svg
index ce07a56a7..cd2e5e8ba 100644
--- a/doc/architecture.excalidraw.svg
+++ b/doc/architecture.excalidraw.svg
@@ -1,16 +1,17 @@
\ No newline at end of file
+ daimo-apiAPI server- Serves a TRPC API- Goal is to be UNTRUSTED via light client proofs[Node+typescript]TRPC JSON RPCdaimo-webdaimo-mobileWallet[Expo+typescript]App link server[Next+typescript]expo-enclavePostgres- Push tokens- Soon: chain events ...via E2PGL2 + 4337 RPCPimlicoL1 RPCSigning keys, signaturesHardware-native crypto[Swift, Kotlin]Daimo architectureapp linksdaimo-useropdaimo-contractContract writesvia 4337 userops[TS lib]Contract interfacesgenerated from wagmi[TS lib]viemcontractFoundry[solidity]
\ No newline at end of file
diff --git a/package-lock.json b/package-lock.json
index a2bd7cbf5..6b9d81542 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -255,85 +255,28 @@
"node": ">=6.9.0"
}
},
- "node_modules/@babel/code-frame/node_modules/ansi-styles": {
- "version": "3.2.1",
- "license": "MIT",
- "dependencies": {
- "color-convert": "^1.9.0"
- },
- "engines": {
- "node": ">=4"
- }
- },
- "node_modules/@babel/code-frame/node_modules/chalk": {
- "version": "2.4.2",
- "license": "MIT",
- "dependencies": {
- "ansi-styles": "^3.2.1",
- "escape-string-regexp": "^1.0.5",
- "supports-color": "^5.3.0"
- },
- "engines": {
- "node": ">=4"
- }
- },
- "node_modules/@babel/code-frame/node_modules/color-convert": {
- "version": "1.9.3",
- "license": "MIT",
- "dependencies": {
- "color-name": "1.1.3"
- }
- },
- "node_modules/@babel/code-frame/node_modules/color-name": {
- "version": "1.1.3",
- "license": "MIT"
- },
- "node_modules/@babel/code-frame/node_modules/escape-string-regexp": {
- "version": "1.0.5",
- "license": "MIT",
- "engines": {
- "node": ">=0.8.0"
- }
- },
- "node_modules/@babel/code-frame/node_modules/has-flag": {
- "version": "3.0.0",
- "license": "MIT",
- "engines": {
- "node": ">=4"
- }
- },
- "node_modules/@babel/code-frame/node_modules/supports-color": {
- "version": "5.5.0",
- "license": "MIT",
- "dependencies": {
- "has-flag": "^3.0.0"
- },
- "engines": {
- "node": ">=4"
- }
- },
"node_modules/@babel/compat-data": {
- "version": "7.22.9",
+ "version": "7.23.2",
"license": "MIT",
"engines": {
"node": ">=6.9.0"
}
},
"node_modules/@babel/core": {
- "version": "7.22.11",
+ "version": "7.23.2",
"license": "MIT",
"dependencies": {
"@ampproject/remapping": "^2.2.0",
- "@babel/code-frame": "^7.22.10",
- "@babel/generator": "^7.22.10",
- "@babel/helper-compilation-targets": "^7.22.10",
- "@babel/helper-module-transforms": "^7.22.9",
- "@babel/helpers": "^7.22.11",
- "@babel/parser": "^7.22.11",
- "@babel/template": "^7.22.5",
- "@babel/traverse": "^7.22.11",
- "@babel/types": "^7.22.11",
- "convert-source-map": "^1.7.0",
+ "@babel/code-frame": "^7.22.13",
+ "@babel/generator": "^7.23.0",
+ "@babel/helper-compilation-targets": "^7.22.15",
+ "@babel/helper-module-transforms": "^7.23.0",
+ "@babel/helpers": "^7.23.2",
+ "@babel/parser": "^7.23.0",
+ "@babel/template": "^7.22.15",
+ "@babel/traverse": "^7.23.2",
+ "@babel/types": "^7.23.0",
+ "convert-source-map": "^2.0.0",
"debug": "^4.1.0",
"gensync": "^1.0.0-beta.2",
"json5": "^2.2.3",
@@ -347,14 +290,33 @@
"url": "https://opencollective.com/babel"
}
},
- "node_modules/@babel/core/node_modules/json5": {
- "version": "2.2.3",
+ "node_modules/@babel/core/node_modules/@babel/parser": {
+ "version": "7.23.0",
"license": "MIT",
"bin": {
- "json5": "lib/cli.js"
+ "parser": "bin/babel-parser.js"
},
"engines": {
- "node": ">=6"
+ "node": ">=6.0.0"
+ }
+ },
+ "node_modules/@babel/core/node_modules/@babel/traverse": {
+ "version": "7.23.2",
+ "license": "MIT",
+ "dependencies": {
+ "@babel/code-frame": "^7.22.13",
+ "@babel/generator": "^7.23.0",
+ "@babel/helper-environment-visitor": "^7.22.20",
+ "@babel/helper-function-name": "^7.23.0",
+ "@babel/helper-hoist-variables": "^7.22.5",
+ "@babel/helper-split-export-declaration": "^7.22.6",
+ "@babel/parser": "^7.23.0",
+ "@babel/types": "^7.23.0",
+ "debug": "^4.1.0",
+ "globals": "^11.1.0"
+ },
+ "engines": {
+ "node": ">=6.9.0"
}
},
"node_modules/@babel/core/node_modules/semver": {
@@ -365,10 +327,10 @@
}
},
"node_modules/@babel/generator": {
- "version": "7.22.10",
+ "version": "7.23.0",
"license": "MIT",
"dependencies": {
- "@babel/types": "^7.22.10",
+ "@babel/types": "^7.23.0",
"@jridgewell/gen-mapping": "^0.3.2",
"@jridgewell/trace-mapping": "^0.3.17",
"jsesc": "^2.5.1"
@@ -388,21 +350,21 @@
}
},
"node_modules/@babel/helper-builder-binary-assignment-operator-visitor": {
- "version": "7.22.10",
+ "version": "7.22.15",
"license": "MIT",
"dependencies": {
- "@babel/types": "^7.22.10"
+ "@babel/types": "^7.22.15"
},
"engines": {
"node": ">=6.9.0"
}
},
"node_modules/@babel/helper-compilation-targets": {
- "version": "7.22.10",
+ "version": "7.22.15",
"license": "MIT",
"dependencies": {
"@babel/compat-data": "^7.22.9",
- "@babel/helper-validator-option": "^7.22.5",
+ "@babel/helper-validator-option": "^7.22.15",
"browserslist": "^4.21.9",
"lru-cache": "^5.1.1",
"semver": "^6.3.1"
@@ -430,13 +392,13 @@
"license": "ISC"
},
"node_modules/@babel/helper-create-class-features-plugin": {
- "version": "7.22.11",
+ "version": "7.22.15",
"license": "MIT",
"dependencies": {
"@babel/helper-annotate-as-pure": "^7.22.5",
"@babel/helper-environment-visitor": "^7.22.5",
"@babel/helper-function-name": "^7.22.5",
- "@babel/helper-member-expression-to-functions": "^7.22.5",
+ "@babel/helper-member-expression-to-functions": "^7.22.15",
"@babel/helper-optimise-call-expression": "^7.22.5",
"@babel/helper-replace-supers": "^7.22.9",
"@babel/helper-skip-transparent-expression-wrappers": "^7.22.5",
@@ -458,7 +420,7 @@
}
},
"node_modules/@babel/helper-create-regexp-features-plugin": {
- "version": "7.22.9",
+ "version": "7.22.15",
"license": "MIT",
"dependencies": {
"@babel/helper-annotate-as-pure": "^7.22.5",
@@ -480,7 +442,7 @@
}
},
"node_modules/@babel/helper-define-polyfill-provider": {
- "version": "0.4.2",
+ "version": "0.4.3",
"license": "MIT",
"dependencies": {
"@babel/helper-compilation-targets": "^7.22.6",
@@ -494,18 +456,18 @@
}
},
"node_modules/@babel/helper-environment-visitor": {
- "version": "7.22.5",
+ "version": "7.22.20",
"license": "MIT",
"engines": {
"node": ">=6.9.0"
}
},
"node_modules/@babel/helper-function-name": {
- "version": "7.22.5",
+ "version": "7.23.0",
"license": "MIT",
"dependencies": {
- "@babel/template": "^7.22.5",
- "@babel/types": "^7.22.5"
+ "@babel/template": "^7.22.15",
+ "@babel/types": "^7.23.0"
},
"engines": {
"node": ">=6.9.0"
@@ -522,34 +484,34 @@
}
},
"node_modules/@babel/helper-member-expression-to-functions": {
- "version": "7.22.5",
+ "version": "7.23.0",
"license": "MIT",
"dependencies": {
- "@babel/types": "^7.22.5"
+ "@babel/types": "^7.23.0"
},
"engines": {
"node": ">=6.9.0"
}
},
"node_modules/@babel/helper-module-imports": {
- "version": "7.22.5",
+ "version": "7.22.15",
"license": "MIT",
"dependencies": {
- "@babel/types": "^7.22.5"
+ "@babel/types": "^7.22.15"
},
"engines": {
"node": ">=6.9.0"
}
},
"node_modules/@babel/helper-module-transforms": {
- "version": "7.22.9",
+ "version": "7.23.0",
"license": "MIT",
"dependencies": {
- "@babel/helper-environment-visitor": "^7.22.5",
- "@babel/helper-module-imports": "^7.22.5",
+ "@babel/helper-environment-visitor": "^7.22.20",
+ "@babel/helper-module-imports": "^7.22.15",
"@babel/helper-simple-access": "^7.22.5",
"@babel/helper-split-export-declaration": "^7.22.6",
- "@babel/helper-validator-identifier": "^7.22.5"
+ "@babel/helper-validator-identifier": "^7.22.20"
},
"engines": {
"node": ">=6.9.0"
@@ -576,12 +538,12 @@
}
},
"node_modules/@babel/helper-remap-async-to-generator": {
- "version": "7.22.9",
+ "version": "7.22.20",
"license": "MIT",
"dependencies": {
"@babel/helper-annotate-as-pure": "^7.22.5",
- "@babel/helper-environment-visitor": "^7.22.5",
- "@babel/helper-wrap-function": "^7.22.9"
+ "@babel/helper-environment-visitor": "^7.22.20",
+ "@babel/helper-wrap-function": "^7.22.20"
},
"engines": {
"node": ">=6.9.0"
@@ -591,11 +553,11 @@
}
},
"node_modules/@babel/helper-replace-supers": {
- "version": "7.22.9",
+ "version": "7.22.20",
"license": "MIT",
"dependencies": {
- "@babel/helper-environment-visitor": "^7.22.5",
- "@babel/helper-member-expression-to-functions": "^7.22.5",
+ "@babel/helper-environment-visitor": "^7.22.20",
+ "@babel/helper-member-expression-to-functions": "^7.22.15",
"@babel/helper-optimise-call-expression": "^7.22.5"
},
"engines": {
@@ -643,114 +605,86 @@
}
},
"node_modules/@babel/helper-validator-identifier": {
- "version": "7.22.5",
+ "version": "7.22.20",
"license": "MIT",
"engines": {
"node": ">=6.9.0"
}
},
"node_modules/@babel/helper-validator-option": {
- "version": "7.22.5",
+ "version": "7.22.15",
"license": "MIT",
"engines": {
"node": ">=6.9.0"
}
},
"node_modules/@babel/helper-wrap-function": {
- "version": "7.22.10",
+ "version": "7.22.20",
"license": "MIT",
"dependencies": {
"@babel/helper-function-name": "^7.22.5",
- "@babel/template": "^7.22.5",
- "@babel/types": "^7.22.10"
+ "@babel/template": "^7.22.15",
+ "@babel/types": "^7.22.19"
},
"engines": {
"node": ">=6.9.0"
}
},
"node_modules/@babel/helpers": {
- "version": "7.22.11",
- "license": "MIT",
- "dependencies": {
- "@babel/template": "^7.22.5",
- "@babel/traverse": "^7.22.11",
- "@babel/types": "^7.22.11"
- },
- "engines": {
- "node": ">=6.9.0"
- }
- },
- "node_modules/@babel/highlight": {
- "version": "7.22.13",
+ "version": "7.23.2",
"license": "MIT",
"dependencies": {
- "@babel/helper-validator-identifier": "^7.22.5",
- "chalk": "^2.4.2",
- "js-tokens": "^4.0.0"
+ "@babel/template": "^7.22.15",
+ "@babel/traverse": "^7.23.2",
+ "@babel/types": "^7.23.0"
},
"engines": {
"node": ">=6.9.0"
}
},
- "node_modules/@babel/highlight/node_modules/ansi-styles": {
- "version": "3.2.1",
+ "node_modules/@babel/helpers/node_modules/@babel/parser": {
+ "version": "7.23.0",
"license": "MIT",
- "dependencies": {
- "color-convert": "^1.9.0"
+ "bin": {
+ "parser": "bin/babel-parser.js"
},
"engines": {
- "node": ">=4"
+ "node": ">=6.0.0"
}
},
- "node_modules/@babel/highlight/node_modules/chalk": {
- "version": "2.4.2",
+ "node_modules/@babel/helpers/node_modules/@babel/traverse": {
+ "version": "7.23.2",
"license": "MIT",
"dependencies": {
- "ansi-styles": "^3.2.1",
- "escape-string-regexp": "^1.0.5",
- "supports-color": "^5.3.0"
+ "@babel/code-frame": "^7.22.13",
+ "@babel/generator": "^7.23.0",
+ "@babel/helper-environment-visitor": "^7.22.20",
+ "@babel/helper-function-name": "^7.23.0",
+ "@babel/helper-hoist-variables": "^7.22.5",
+ "@babel/helper-split-export-declaration": "^7.22.6",
+ "@babel/parser": "^7.23.0",
+ "@babel/types": "^7.23.0",
+ "debug": "^4.1.0",
+ "globals": "^11.1.0"
},
"engines": {
- "node": ">=4"
- }
- },
- "node_modules/@babel/highlight/node_modules/color-convert": {
- "version": "1.9.3",
- "license": "MIT",
- "dependencies": {
- "color-name": "1.1.3"
- }
- },
- "node_modules/@babel/highlight/node_modules/color-name": {
- "version": "1.1.3",
- "license": "MIT"
- },
- "node_modules/@babel/highlight/node_modules/escape-string-regexp": {
- "version": "1.0.5",
- "license": "MIT",
- "engines": {
- "node": ">=0.8.0"
- }
- },
- "node_modules/@babel/highlight/node_modules/has-flag": {
- "version": "3.0.0",
- "license": "MIT",
- "engines": {
- "node": ">=4"
+ "node": ">=6.9.0"
}
},
- "node_modules/@babel/highlight/node_modules/supports-color": {
- "version": "5.5.0",
+ "node_modules/@babel/highlight": {
+ "version": "7.22.20",
"license": "MIT",
"dependencies": {
- "has-flag": "^3.0.0"
+ "@babel/helper-validator-identifier": "^7.22.20",
+ "chalk": "^2.4.2",
+ "js-tokens": "^4.0.0"
},
"engines": {
- "node": ">=4"
+ "node": ">=6.9.0"
}
},
"node_modules/@babel/parser": {
- "version": "7.22.14",
+ "version": "7.22.5",
"license": "MIT",
"bin": {
"parser": "bin/babel-parser.js"
@@ -760,7 +694,7 @@
}
},
"node_modules/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": {
- "version": "7.22.5",
+ "version": "7.22.15",
"license": "MIT",
"dependencies": {
"@babel/helper-plugin-utils": "^7.22.5"
@@ -773,12 +707,12 @@
}
},
"node_modules/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": {
- "version": "7.22.5",
+ "version": "7.22.15",
"license": "MIT",
"dependencies": {
"@babel/helper-plugin-utils": "^7.22.5",
"@babel/helper-skip-transparent-expression-wrappers": "^7.22.5",
- "@babel/plugin-transform-optional-chaining": "^7.22.5"
+ "@babel/plugin-transform-optional-chaining": "^7.22.15"
},
"engines": {
"node": ">=6.9.0"
@@ -835,7 +769,7 @@
}
},
"node_modules/@babel/plugin-proposal-export-default-from": {
- "version": "7.22.5",
+ "version": "7.22.17",
"license": "MIT",
"dependencies": {
"@babel/helper-plugin-utils": "^7.22.5",
@@ -1234,12 +1168,12 @@
}
},
"node_modules/@babel/plugin-transform-async-generator-functions": {
- "version": "7.22.11",
+ "version": "7.23.2",
"license": "MIT",
"dependencies": {
- "@babel/helper-environment-visitor": "^7.22.5",
+ "@babel/helper-environment-visitor": "^7.22.20",
"@babel/helper-plugin-utils": "^7.22.5",
- "@babel/helper-remap-async-to-generator": "^7.22.9",
+ "@babel/helper-remap-async-to-generator": "^7.22.20",
"@babel/plugin-syntax-async-generators": "^7.8.4"
},
"engines": {
@@ -1278,7 +1212,7 @@
}
},
"node_modules/@babel/plugin-transform-block-scoping": {
- "version": "7.22.10",
+ "version": "7.23.0",
"license": "MIT",
"dependencies": {
"@babel/helper-plugin-utils": "^7.22.5"
@@ -1320,16 +1254,16 @@
}
},
"node_modules/@babel/plugin-transform-classes": {
- "version": "7.22.6",
+ "version": "7.22.15",
"license": "MIT",
"dependencies": {
"@babel/helper-annotate-as-pure": "^7.22.5",
- "@babel/helper-compilation-targets": "^7.22.6",
+ "@babel/helper-compilation-targets": "^7.22.15",
"@babel/helper-environment-visitor": "^7.22.5",
"@babel/helper-function-name": "^7.22.5",
"@babel/helper-optimise-call-expression": "^7.22.5",
"@babel/helper-plugin-utils": "^7.22.5",
- "@babel/helper-replace-supers": "^7.22.5",
+ "@babel/helper-replace-supers": "^7.22.9",
"@babel/helper-split-export-declaration": "^7.22.6",
"globals": "^11.1.0"
},
@@ -1340,13 +1274,6 @@
"@babel/core": "^7.0.0-0"
}
},
- "node_modules/@babel/plugin-transform-classes/node_modules/globals": {
- "version": "11.12.0",
- "license": "MIT",
- "engines": {
- "node": ">=4"
- }
- },
"node_modules/@babel/plugin-transform-computed-properties": {
"version": "7.22.5",
"license": "MIT",
@@ -1362,7 +1289,7 @@
}
},
"node_modules/@babel/plugin-transform-destructuring": {
- "version": "7.22.10",
+ "version": "7.23.0",
"license": "MIT",
"dependencies": {
"@babel/helper-plugin-utils": "^7.22.5"
@@ -1458,7 +1385,7 @@
}
},
"node_modules/@babel/plugin-transform-for-of": {
- "version": "7.22.5",
+ "version": "7.22.15",
"license": "MIT",
"dependencies": {
"@babel/helper-plugin-utils": "^7.22.5"
@@ -1540,10 +1467,10 @@
}
},
"node_modules/@babel/plugin-transform-modules-amd": {
- "version": "7.22.5",
+ "version": "7.23.0",
"license": "MIT",
"dependencies": {
- "@babel/helper-module-transforms": "^7.22.5",
+ "@babel/helper-module-transforms": "^7.23.0",
"@babel/helper-plugin-utils": "^7.22.5"
},
"engines": {
@@ -1554,10 +1481,10 @@
}
},
"node_modules/@babel/plugin-transform-modules-commonjs": {
- "version": "7.22.11",
+ "version": "7.23.0",
"license": "MIT",
"dependencies": {
- "@babel/helper-module-transforms": "^7.22.9",
+ "@babel/helper-module-transforms": "^7.23.0",
"@babel/helper-plugin-utils": "^7.22.5",
"@babel/helper-simple-access": "^7.22.5"
},
@@ -1569,13 +1496,13 @@
}
},
"node_modules/@babel/plugin-transform-modules-systemjs": {
- "version": "7.22.11",
+ "version": "7.23.0",
"license": "MIT",
"dependencies": {
"@babel/helper-hoist-variables": "^7.22.5",
- "@babel/helper-module-transforms": "^7.22.9",
+ "@babel/helper-module-transforms": "^7.23.0",
"@babel/helper-plugin-utils": "^7.22.5",
- "@babel/helper-validator-identifier": "^7.22.5"
+ "@babel/helper-validator-identifier": "^7.22.20"
},
"engines": {
"node": ">=6.9.0"
@@ -1654,14 +1581,14 @@
}
},
"node_modules/@babel/plugin-transform-object-rest-spread": {
- "version": "7.22.11",
+ "version": "7.22.15",
"license": "MIT",
"dependencies": {
"@babel/compat-data": "^7.22.9",
- "@babel/helper-compilation-targets": "^7.22.10",
+ "@babel/helper-compilation-targets": "^7.22.15",
"@babel/helper-plugin-utils": "^7.22.5",
"@babel/plugin-syntax-object-rest-spread": "^7.8.3",
- "@babel/plugin-transform-parameters": "^7.22.5"
+ "@babel/plugin-transform-parameters": "^7.22.15"
},
"engines": {
"node": ">=6.9.0"
@@ -1699,7 +1626,7 @@
}
},
"node_modules/@babel/plugin-transform-optional-chaining": {
- "version": "7.22.12",
+ "version": "7.23.0",
"license": "MIT",
"dependencies": {
"@babel/helper-plugin-utils": "^7.22.5",
@@ -1714,7 +1641,7 @@
}
},
"node_modules/@babel/plugin-transform-parameters": {
- "version": "7.22.5",
+ "version": "7.22.15",
"license": "MIT",
"dependencies": {
"@babel/helper-plugin-utils": "^7.22.5"
@@ -1783,14 +1710,14 @@
}
},
"node_modules/@babel/plugin-transform-react-jsx": {
- "version": "7.22.5",
+ "version": "7.22.15",
"license": "MIT",
"dependencies": {
"@babel/helper-annotate-as-pure": "^7.22.5",
- "@babel/helper-module-imports": "^7.22.5",
+ "@babel/helper-module-imports": "^7.22.15",
"@babel/helper-plugin-utils": "^7.22.5",
"@babel/plugin-syntax-jsx": "^7.22.5",
- "@babel/types": "^7.22.5"
+ "@babel/types": "^7.22.15"
},
"engines": {
"node": ">=6.9.0"
@@ -1853,14 +1780,14 @@
}
},
"node_modules/@babel/plugin-transform-runtime": {
- "version": "7.22.10",
+ "version": "7.23.2",
"license": "MIT",
"dependencies": {
- "@babel/helper-module-imports": "^7.22.5",
+ "@babel/helper-module-imports": "^7.22.15",
"@babel/helper-plugin-utils": "^7.22.5",
- "babel-plugin-polyfill-corejs2": "^0.4.5",
- "babel-plugin-polyfill-corejs3": "^0.8.3",
- "babel-plugin-polyfill-regenerator": "^0.5.2",
+ "babel-plugin-polyfill-corejs2": "^0.4.6",
+ "babel-plugin-polyfill-corejs3": "^0.8.5",
+ "babel-plugin-polyfill-regenerator": "^0.5.3",
"semver": "^6.3.1"
},
"engines": {
@@ -1944,11 +1871,11 @@
}
},
"node_modules/@babel/plugin-transform-typescript": {
- "version": "7.22.11",
+ "version": "7.22.15",
"license": "MIT",
"dependencies": {
"@babel/helper-annotate-as-pure": "^7.22.5",
- "@babel/helper-create-class-features-plugin": "^7.22.11",
+ "@babel/helper-create-class-features-plugin": "^7.22.15",
"@babel/helper-plugin-utils": "^7.22.5",
"@babel/plugin-syntax-typescript": "^7.22.5"
},
@@ -2015,15 +1942,15 @@
}
},
"node_modules/@babel/preset-env": {
- "version": "7.22.14",
+ "version": "7.23.2",
"license": "MIT",
"dependencies": {
- "@babel/compat-data": "^7.22.9",
- "@babel/helper-compilation-targets": "^7.22.10",
+ "@babel/compat-data": "^7.23.2",
+ "@babel/helper-compilation-targets": "^7.22.15",
"@babel/helper-plugin-utils": "^7.22.5",
- "@babel/helper-validator-option": "^7.22.5",
- "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "^7.22.5",
- "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.22.5",
+ "@babel/helper-validator-option": "^7.22.15",
+ "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "^7.22.15",
+ "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.22.15",
"@babel/plugin-proposal-private-property-in-object": "7.21.0-placeholder-for-preset-env.2",
"@babel/plugin-syntax-async-generators": "^7.8.4",
"@babel/plugin-syntax-class-properties": "^7.12.13",
@@ -2044,39 +1971,39 @@
"@babel/plugin-syntax-top-level-await": "^7.14.5",
"@babel/plugin-syntax-unicode-sets-regex": "^7.18.6",
"@babel/plugin-transform-arrow-functions": "^7.22.5",
- "@babel/plugin-transform-async-generator-functions": "^7.22.11",
+ "@babel/plugin-transform-async-generator-functions": "^7.23.2",
"@babel/plugin-transform-async-to-generator": "^7.22.5",
"@babel/plugin-transform-block-scoped-functions": "^7.22.5",
- "@babel/plugin-transform-block-scoping": "^7.22.10",
+ "@babel/plugin-transform-block-scoping": "^7.23.0",
"@babel/plugin-transform-class-properties": "^7.22.5",
"@babel/plugin-transform-class-static-block": "^7.22.11",
- "@babel/plugin-transform-classes": "^7.22.6",
+ "@babel/plugin-transform-classes": "^7.22.15",
"@babel/plugin-transform-computed-properties": "^7.22.5",
- "@babel/plugin-transform-destructuring": "^7.22.10",
+ "@babel/plugin-transform-destructuring": "^7.23.0",
"@babel/plugin-transform-dotall-regex": "^7.22.5",
"@babel/plugin-transform-duplicate-keys": "^7.22.5",
"@babel/plugin-transform-dynamic-import": "^7.22.11",
"@babel/plugin-transform-exponentiation-operator": "^7.22.5",
"@babel/plugin-transform-export-namespace-from": "^7.22.11",
- "@babel/plugin-transform-for-of": "^7.22.5",
+ "@babel/plugin-transform-for-of": "^7.22.15",
"@babel/plugin-transform-function-name": "^7.22.5",
"@babel/plugin-transform-json-strings": "^7.22.11",
"@babel/plugin-transform-literals": "^7.22.5",
"@babel/plugin-transform-logical-assignment-operators": "^7.22.11",
"@babel/plugin-transform-member-expression-literals": "^7.22.5",
- "@babel/plugin-transform-modules-amd": "^7.22.5",
- "@babel/plugin-transform-modules-commonjs": "^7.22.11",
- "@babel/plugin-transform-modules-systemjs": "^7.22.11",
+ "@babel/plugin-transform-modules-amd": "^7.23.0",
+ "@babel/plugin-transform-modules-commonjs": "^7.23.0",
+ "@babel/plugin-transform-modules-systemjs": "^7.23.0",
"@babel/plugin-transform-modules-umd": "^7.22.5",
"@babel/plugin-transform-named-capturing-groups-regex": "^7.22.5",
"@babel/plugin-transform-new-target": "^7.22.5",
"@babel/plugin-transform-nullish-coalescing-operator": "^7.22.11",
"@babel/plugin-transform-numeric-separator": "^7.22.11",
- "@babel/plugin-transform-object-rest-spread": "^7.22.11",
+ "@babel/plugin-transform-object-rest-spread": "^7.22.15",
"@babel/plugin-transform-object-super": "^7.22.5",
"@babel/plugin-transform-optional-catch-binding": "^7.22.11",
- "@babel/plugin-transform-optional-chaining": "^7.22.12",
- "@babel/plugin-transform-parameters": "^7.22.5",
+ "@babel/plugin-transform-optional-chaining": "^7.23.0",
+ "@babel/plugin-transform-parameters": "^7.22.15",
"@babel/plugin-transform-private-methods": "^7.22.5",
"@babel/plugin-transform-private-property-in-object": "^7.22.11",
"@babel/plugin-transform-property-literals": "^7.22.5",
@@ -2092,10 +2019,10 @@
"@babel/plugin-transform-unicode-regex": "^7.22.5",
"@babel/plugin-transform-unicode-sets-regex": "^7.22.5",
"@babel/preset-modules": "0.1.6-no-external-plugins",
- "@babel/types": "^7.22.11",
- "babel-plugin-polyfill-corejs2": "^0.4.5",
- "babel-plugin-polyfill-corejs3": "^0.8.3",
- "babel-plugin-polyfill-regenerator": "^0.5.2",
+ "@babel/types": "^7.23.0",
+ "babel-plugin-polyfill-corejs2": "^0.4.6",
+ "babel-plugin-polyfill-corejs3": "^0.8.5",
+ "babel-plugin-polyfill-regenerator": "^0.5.3",
"core-js-compat": "^3.31.0",
"semver": "^6.3.1"
},
@@ -2114,11 +2041,11 @@
}
},
"node_modules/@babel/preset-flow": {
- "version": "7.22.5",
+ "version": "7.22.15",
"license": "MIT",
"dependencies": {
"@babel/helper-plugin-utils": "^7.22.5",
- "@babel/helper-validator-option": "^7.22.5",
+ "@babel/helper-validator-option": "^7.22.15",
"@babel/plugin-transform-flow-strip-types": "^7.22.5"
},
"engines": {
@@ -2141,14 +2068,14 @@
}
},
"node_modules/@babel/preset-typescript": {
- "version": "7.22.11",
+ "version": "7.23.2",
"license": "MIT",
"dependencies": {
"@babel/helper-plugin-utils": "^7.22.5",
- "@babel/helper-validator-option": "^7.22.5",
+ "@babel/helper-validator-option": "^7.22.15",
"@babel/plugin-syntax-jsx": "^7.22.5",
- "@babel/plugin-transform-modules-commonjs": "^7.22.11",
- "@babel/plugin-transform-typescript": "^7.22.11"
+ "@babel/plugin-transform-modules-commonjs": "^7.23.0",
+ "@babel/plugin-transform-typescript": "^7.22.15"
},
"engines": {
"node": ">=6.9.0"
@@ -2158,7 +2085,7 @@
}
},
"node_modules/@babel/register": {
- "version": "7.22.5",
+ "version": "7.22.15",
"license": "MIT",
"dependencies": {
"clone-deep": "^4.0.1",
@@ -2174,20 +2101,12 @@
"@babel/core": "^7.0.0-0"
}
},
- "node_modules/@babel/register/node_modules/source-map-support": {
- "version": "0.5.21",
- "license": "MIT",
- "dependencies": {
- "buffer-from": "^1.0.0",
- "source-map": "^0.6.0"
- }
- },
"node_modules/@babel/regjsgen": {
"version": "0.8.0",
"license": "MIT"
},
"node_modules/@babel/runtime": {
- "version": "7.22.11",
+ "version": "7.23.2",
"license": "MIT",
"dependencies": {
"regenerator-runtime": "^0.14.0"
@@ -2197,29 +2116,39 @@
}
},
"node_modules/@babel/template": {
- "version": "7.22.5",
+ "version": "7.22.15",
"license": "MIT",
"dependencies": {
- "@babel/code-frame": "^7.22.5",
- "@babel/parser": "^7.22.5",
- "@babel/types": "^7.22.5"
+ "@babel/code-frame": "^7.22.13",
+ "@babel/parser": "^7.22.15",
+ "@babel/types": "^7.22.15"
},
"engines": {
"node": ">=6.9.0"
}
},
+ "node_modules/@babel/template/node_modules/@babel/parser": {
+ "version": "7.23.0",
+ "license": "MIT",
+ "bin": {
+ "parser": "bin/babel-parser.js"
+ },
+ "engines": {
+ "node": ">=6.0.0"
+ }
+ },
"node_modules/@babel/traverse": {
- "version": "7.22.11",
+ "version": "7.22.5",
"license": "MIT",
"dependencies": {
- "@babel/code-frame": "^7.22.10",
- "@babel/generator": "^7.22.10",
+ "@babel/code-frame": "^7.22.5",
+ "@babel/generator": "^7.22.5",
"@babel/helper-environment-visitor": "^7.22.5",
"@babel/helper-function-name": "^7.22.5",
"@babel/helper-hoist-variables": "^7.22.5",
- "@babel/helper-split-export-declaration": "^7.22.6",
- "@babel/parser": "^7.22.11",
- "@babel/types": "^7.22.11",
+ "@babel/helper-split-export-declaration": "^7.22.5",
+ "@babel/parser": "^7.22.5",
+ "@babel/types": "^7.22.5",
"debug": "^4.1.0",
"globals": "^11.1.0"
},
@@ -2227,19 +2156,12 @@
"node": ">=6.9.0"
}
},
- "node_modules/@babel/traverse/node_modules/globals": {
- "version": "11.12.0",
- "license": "MIT",
- "engines": {
- "node": ">=4"
- }
- },
"node_modules/@babel/types": {
- "version": "7.22.11",
+ "version": "7.23.0",
"license": "MIT",
"dependencies": {
"@babel/helper-string-parser": "^7.22.5",
- "@babel/helper-validator-identifier": "^7.22.5",
+ "@babel/helper-validator-identifier": "^7.22.20",
"to-fast-properties": "^2.0.0"
},
"engines": {
@@ -2876,25 +2798,6 @@
"ws": "7.4.6"
}
},
- "node_modules/@ethersproject/providers/node_modules/ws": {
- "version": "7.4.6",
- "license": "MIT",
- "engines": {
- "node": ">=8.3.0"
- },
- "peerDependencies": {
- "bufferutil": "^4.0.1",
- "utf-8-validate": "^5.0.2"
- },
- "peerDependenciesMeta": {
- "bufferutil": {
- "optional": true
- },
- "utf-8-validate": {
- "optional": true
- }
- }
- },
"node_modules/@ethersproject/random": {
"version": "5.7.0",
"funding": [
@@ -5441,7 +5344,7 @@
}
},
"node_modules/@jest/create-cache-key-function": {
- "version": "29.6.3",
+ "version": "29.7.0",
"license": "MIT",
"dependencies": {
"@jest/types": "^29.6.3"
@@ -5451,13 +5354,13 @@
}
},
"node_modules/@jest/environment": {
- "version": "29.6.4",
+ "version": "29.7.0",
"license": "MIT",
"dependencies": {
- "@jest/fake-timers": "^29.6.4",
+ "@jest/fake-timers": "^29.7.0",
"@jest/types": "^29.6.3",
"@types/node": "*",
- "jest-mock": "^29.6.3"
+ "jest-mock": "^29.7.0"
},
"engines": {
"node": "^14.15.0 || ^16.10.0 || >=18.0.0"
@@ -5485,15 +5388,15 @@
}
},
"node_modules/@jest/fake-timers": {
- "version": "29.6.4",
+ "version": "29.7.0",
"license": "MIT",
"dependencies": {
"@jest/types": "^29.6.3",
"@sinonjs/fake-timers": "^10.0.2",
"@types/node": "*",
- "jest-message-util": "^29.6.3",
- "jest-mock": "^29.6.3",
- "jest-util": "^29.6.3"
+ "jest-message-util": "^29.7.0",
+ "jest-mock": "^29.7.0",
+ "jest-util": "^29.7.0"
},
"engines": {
"node": "^14.15.0 || ^16.10.0 || >=18.0.0"
@@ -5767,6 +5670,64 @@
"node": "^14.15.0 || ^16.10.0 || >=18.0.0"
}
},
+ "node_modules/@jest/types/node_modules/ansi-styles": {
+ "version": "4.3.0",
+ "license": "MIT",
+ "dependencies": {
+ "color-convert": "^2.0.1"
+ },
+ "engines": {
+ "node": ">=8"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/ansi-styles?sponsor=1"
+ }
+ },
+ "node_modules/@jest/types/node_modules/chalk": {
+ "version": "4.1.2",
+ "license": "MIT",
+ "dependencies": {
+ "ansi-styles": "^4.1.0",
+ "supports-color": "^7.1.0"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/chalk?sponsor=1"
+ }
+ },
+ "node_modules/@jest/types/node_modules/color-convert": {
+ "version": "2.0.1",
+ "license": "MIT",
+ "dependencies": {
+ "color-name": "~1.1.4"
+ },
+ "engines": {
+ "node": ">=7.0.0"
+ }
+ },
+ "node_modules/@jest/types/node_modules/color-name": {
+ "version": "1.1.4",
+ "license": "MIT"
+ },
+ "node_modules/@jest/types/node_modules/has-flag": {
+ "version": "4.0.0",
+ "license": "MIT",
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/@jest/types/node_modules/supports-color": {
+ "version": "7.2.0",
+ "license": "MIT",
+ "dependencies": {
+ "has-flag": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
"node_modules/@jridgewell/gen-mapping": {
"version": "0.3.3",
"license": "MIT",
@@ -5818,7 +5779,7 @@
"license": "MIT"
},
"node_modules/@lit-labs/ssr-dom-shim": {
- "version": "1.1.1",
+ "version": "1.1.2",
"license": "BSD-3-Clause"
},
"node_modules/@lit/reactive-element": {
@@ -6011,6 +5972,126 @@
"node": ">= 10"
}
},
+ "node_modules/@next/swc-darwin-x64": {
+ "version": "13.5.4",
+ "resolved": "https://registry.npmjs.org/@next/swc-darwin-x64/-/swc-darwin-x64-13.5.4.tgz",
+ "integrity": "sha512-siPuUwO45PnNRMeZnSa8n/Lye5ZX93IJom9wQRB5DEOdFrw0JjOMu1GINB8jAEdwa7Vdyn1oJ2xGNaQpdQQ9Pw==",
+ "cpu": [
+ "x64"
+ ],
+ "optional": true,
+ "os": [
+ "darwin"
+ ],
+ "engines": {
+ "node": ">= 10"
+ }
+ },
+ "node_modules/@next/swc-linux-arm64-gnu": {
+ "version": "13.5.4",
+ "resolved": "https://registry.npmjs.org/@next/swc-linux-arm64-gnu/-/swc-linux-arm64-gnu-13.5.4.tgz",
+ "integrity": "sha512-l/k/fvRP/zmB2jkFMfefmFkyZbDkYW0mRM/LB+tH5u9pB98WsHXC0WvDHlGCYp3CH/jlkJPL7gN8nkTQVrQ/2w==",
+ "cpu": [
+ "arm64"
+ ],
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">= 10"
+ }
+ },
+ "node_modules/@next/swc-linux-arm64-musl": {
+ "version": "13.5.4",
+ "resolved": "https://registry.npmjs.org/@next/swc-linux-arm64-musl/-/swc-linux-arm64-musl-13.5.4.tgz",
+ "integrity": "sha512-YYGb7SlLkI+XqfQa8VPErljb7k9nUnhhRrVaOdfJNCaQnHBcvbT7cx/UjDQLdleJcfyg1Hkn5YSSIeVfjgmkTg==",
+ "cpu": [
+ "arm64"
+ ],
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">= 10"
+ }
+ },
+ "node_modules/@next/swc-linux-x64-gnu": {
+ "version": "13.5.4",
+ "resolved": "https://registry.npmjs.org/@next/swc-linux-x64-gnu/-/swc-linux-x64-gnu-13.5.4.tgz",
+ "integrity": "sha512-uE61vyUSClnCH18YHjA8tE1prr/PBFlBFhxBZis4XBRJoR+txAky5d7gGNUIbQ8sZZ7LVkSVgm/5Fc7mwXmRAg==",
+ "cpu": [
+ "x64"
+ ],
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">= 10"
+ }
+ },
+ "node_modules/@next/swc-linux-x64-musl": {
+ "version": "13.5.4",
+ "resolved": "https://registry.npmjs.org/@next/swc-linux-x64-musl/-/swc-linux-x64-musl-13.5.4.tgz",
+ "integrity": "sha512-qVEKFYML/GvJSy9CfYqAdUexA6M5AklYcQCW+8JECmkQHGoPxCf04iMh7CPR7wkHyWWK+XLt4Ja7hhsPJtSnhg==",
+ "cpu": [
+ "x64"
+ ],
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">= 10"
+ }
+ },
+ "node_modules/@next/swc-win32-arm64-msvc": {
+ "version": "13.5.4",
+ "resolved": "https://registry.npmjs.org/@next/swc-win32-arm64-msvc/-/swc-win32-arm64-msvc-13.5.4.tgz",
+ "integrity": "sha512-mDSQfqxAlfpeZOLPxLymZkX0hYF3juN57W6vFHTvwKlnHfmh12Pt7hPIRLYIShk8uYRsKPtMTth/EzpwRI+u8w==",
+ "cpu": [
+ "arm64"
+ ],
+ "optional": true,
+ "os": [
+ "win32"
+ ],
+ "engines": {
+ "node": ">= 10"
+ }
+ },
+ "node_modules/@next/swc-win32-ia32-msvc": {
+ "version": "13.5.4",
+ "resolved": "https://registry.npmjs.org/@next/swc-win32-ia32-msvc/-/swc-win32-ia32-msvc-13.5.4.tgz",
+ "integrity": "sha512-aoqAT2XIekIWoriwzOmGFAvTtVY5O7JjV21giozBTP5c6uZhpvTWRbmHXbmsjZqY4HnEZQRXWkSAppsIBweKqw==",
+ "cpu": [
+ "ia32"
+ ],
+ "optional": true,
+ "os": [
+ "win32"
+ ],
+ "engines": {
+ "node": ">= 10"
+ }
+ },
+ "node_modules/@next/swc-win32-x64-msvc": {
+ "version": "13.5.4",
+ "resolved": "https://registry.npmjs.org/@next/swc-win32-x64-msvc/-/swc-win32-x64-msvc-13.5.4.tgz",
+ "integrity": "sha512-cyRvlAxwlddlqeB9xtPSfNSCRy8BOa4wtMo0IuI9P7Y0XT2qpDrpFKRyZ7kUngZis59mPVla5k8X1oOJ8RxDYg==",
+ "cpu": [
+ "x64"
+ ],
+ "optional": true,
+ "os": [
+ "win32"
+ ],
+ "engines": {
+ "node": ">= 10"
+ }
+ },
"node_modules/@nicolo-ribaudo/chokidar-2": {
"version": "2.1.8-no-fsevents.3",
"dev": true,
@@ -8110,6 +8191,47 @@
"prompts": "^2.4.0"
}
},
+ "node_modules/@react-native-community/cli-clean/node_modules/ansi-styles": {
+ "version": "4.3.0",
+ "license": "MIT",
+ "dependencies": {
+ "color-convert": "^2.0.1"
+ },
+ "engines": {
+ "node": ">=8"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/ansi-styles?sponsor=1"
+ }
+ },
+ "node_modules/@react-native-community/cli-clean/node_modules/chalk": {
+ "version": "4.1.2",
+ "license": "MIT",
+ "dependencies": {
+ "ansi-styles": "^4.1.0",
+ "supports-color": "^7.1.0"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/chalk?sponsor=1"
+ }
+ },
+ "node_modules/@react-native-community/cli-clean/node_modules/color-convert": {
+ "version": "2.0.1",
+ "license": "MIT",
+ "dependencies": {
+ "color-name": "~1.1.4"
+ },
+ "engines": {
+ "node": ">=7.0.0"
+ }
+ },
+ "node_modules/@react-native-community/cli-clean/node_modules/color-name": {
+ "version": "1.1.4",
+ "license": "MIT"
+ },
"node_modules/@react-native-community/cli-clean/node_modules/execa": {
"version": "5.1.1",
"license": "MIT",
@@ -8131,6 +8253,13 @@
"url": "https://github.com/sindresorhus/execa?sponsor=1"
}
},
+ "node_modules/@react-native-community/cli-clean/node_modules/has-flag": {
+ "version": "4.0.0",
+ "license": "MIT",
+ "engines": {
+ "node": ">=8"
+ }
+ },
"node_modules/@react-native-community/cli-clean/node_modules/human-signals": {
"version": "2.1.0",
"license": "Apache-2.0",
@@ -8138,16 +8267,6 @@
"node": ">=10.17.0"
}
},
- "node_modules/@react-native-community/cli-clean/node_modules/is-stream": {
- "version": "2.0.1",
- "license": "MIT",
- "engines": {
- "node": ">=8"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
"node_modules/@react-native-community/cli-clean/node_modules/npm-run-path": {
"version": "4.0.1",
"license": "MIT",
@@ -8165,6 +8284,16 @@
"node": ">=6"
}
},
+ "node_modules/@react-native-community/cli-clean/node_modules/supports-color": {
+ "version": "7.2.0",
+ "license": "MIT",
+ "dependencies": {
+ "has-flag": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
"node_modules/@react-native-community/cli-config": {
"version": "11.3.6",
"license": "MIT",
@@ -8177,13 +8306,47 @@
"joi": "^17.2.1"
}
},
- "node_modules/@react-native-community/cli-config/node_modules/argparse": {
- "version": "1.0.10",
+ "node_modules/@react-native-community/cli-config/node_modules/ansi-styles": {
+ "version": "4.3.0",
"license": "MIT",
"dependencies": {
- "sprintf-js": "~1.0.2"
+ "color-convert": "^2.0.1"
+ },
+ "engines": {
+ "node": ">=8"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/ansi-styles?sponsor=1"
+ }
+ },
+ "node_modules/@react-native-community/cli-config/node_modules/chalk": {
+ "version": "4.1.2",
+ "license": "MIT",
+ "dependencies": {
+ "ansi-styles": "^4.1.0",
+ "supports-color": "^7.1.0"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/chalk?sponsor=1"
+ }
+ },
+ "node_modules/@react-native-community/cli-config/node_modules/color-convert": {
+ "version": "2.0.1",
+ "license": "MIT",
+ "dependencies": {
+ "color-name": "~1.1.4"
+ },
+ "engines": {
+ "node": ">=7.0.0"
}
},
+ "node_modules/@react-native-community/cli-config/node_modules/color-name": {
+ "version": "1.1.4",
+ "license": "MIT"
+ },
"node_modules/@react-native-community/cli-config/node_modules/cosmiconfig": {
"version": "5.2.1",
"license": "MIT",
@@ -8197,6 +8360,13 @@
"node": ">=4"
}
},
+ "node_modules/@react-native-community/cli-config/node_modules/has-flag": {
+ "version": "4.0.0",
+ "license": "MIT",
+ "engines": {
+ "node": ">=8"
+ }
+ },
"node_modules/@react-native-community/cli-config/node_modules/import-fresh": {
"version": "2.0.0",
"license": "MIT",
@@ -8208,23 +8378,12 @@
"node": ">=4"
}
},
- "node_modules/@react-native-community/cli-config/node_modules/js-yaml": {
- "version": "3.14.1",
+ "node_modules/@react-native-community/cli-config/node_modules/parse-json": {
+ "version": "4.0.0",
"license": "MIT",
"dependencies": {
- "argparse": "^1.0.7",
- "esprima": "^4.0.0"
- },
- "bin": {
- "js-yaml": "bin/js-yaml.js"
- }
- },
- "node_modules/@react-native-community/cli-config/node_modules/parse-json": {
- "version": "4.0.0",
- "license": "MIT",
- "dependencies": {
- "error-ex": "^1.3.1",
- "json-parse-better-errors": "^1.0.1"
+ "error-ex": "^1.3.1",
+ "json-parse-better-errors": "^1.0.1"
},
"engines": {
"node": ">=4"
@@ -8237,6 +8396,16 @@
"node": ">=4"
}
},
+ "node_modules/@react-native-community/cli-config/node_modules/supports-color": {
+ "version": "7.2.0",
+ "license": "MIT",
+ "dependencies": {
+ "has-flag": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
"node_modules/@react-native-community/cli-debugger-ui": {
"version": "11.3.6",
"license": "MIT",
@@ -8275,6 +8444,47 @@
"node": ">=6"
}
},
+ "node_modules/@react-native-community/cli-doctor/node_modules/ansi-styles": {
+ "version": "4.3.0",
+ "license": "MIT",
+ "dependencies": {
+ "color-convert": "^2.0.1"
+ },
+ "engines": {
+ "node": ">=8"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/ansi-styles?sponsor=1"
+ }
+ },
+ "node_modules/@react-native-community/cli-doctor/node_modules/chalk": {
+ "version": "4.1.2",
+ "license": "MIT",
+ "dependencies": {
+ "ansi-styles": "^4.1.0",
+ "supports-color": "^7.1.0"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/chalk?sponsor=1"
+ }
+ },
+ "node_modules/@react-native-community/cli-doctor/node_modules/color-convert": {
+ "version": "2.0.1",
+ "license": "MIT",
+ "dependencies": {
+ "color-name": "~1.1.4"
+ },
+ "engines": {
+ "node": ">=7.0.0"
+ }
+ },
+ "node_modules/@react-native-community/cli-doctor/node_modules/color-name": {
+ "version": "1.1.4",
+ "license": "MIT"
+ },
"node_modules/@react-native-community/cli-doctor/node_modules/execa": {
"version": "5.1.1",
"license": "MIT",
@@ -8296,6 +8506,13 @@
"url": "https://github.com/sindresorhus/execa?sponsor=1"
}
},
+ "node_modules/@react-native-community/cli-doctor/node_modules/has-flag": {
+ "version": "4.0.0",
+ "license": "MIT",
+ "engines": {
+ "node": ">=8"
+ }
+ },
"node_modules/@react-native-community/cli-doctor/node_modules/human-signals": {
"version": "2.1.0",
"license": "Apache-2.0",
@@ -8303,16 +8520,6 @@
"node": ">=10.17.0"
}
},
- "node_modules/@react-native-community/cli-doctor/node_modules/is-stream": {
- "version": "2.0.1",
- "license": "MIT",
- "engines": {
- "node": ">=8"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
"node_modules/@react-native-community/cli-doctor/node_modules/npm-run-path": {
"version": "4.0.1",
"license": "MIT",
@@ -8344,8 +8551,18 @@
"version": "9.2.1",
"license": "MIT"
},
+ "node_modules/@react-native-community/cli-doctor/node_modules/supports-color": {
+ "version": "7.2.0",
+ "license": "MIT",
+ "dependencies": {
+ "has-flag": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
"node_modules/@react-native-community/cli-doctor/node_modules/yaml": {
- "version": "2.3.2",
+ "version": "2.3.3",
"license": "ISC",
"engines": {
"node": ">= 14"
@@ -8362,6 +8579,64 @@
"ip": "^1.1.5"
}
},
+ "node_modules/@react-native-community/cli-hermes/node_modules/ansi-styles": {
+ "version": "4.3.0",
+ "license": "MIT",
+ "dependencies": {
+ "color-convert": "^2.0.1"
+ },
+ "engines": {
+ "node": ">=8"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/ansi-styles?sponsor=1"
+ }
+ },
+ "node_modules/@react-native-community/cli-hermes/node_modules/chalk": {
+ "version": "4.1.2",
+ "license": "MIT",
+ "dependencies": {
+ "ansi-styles": "^4.1.0",
+ "supports-color": "^7.1.0"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/chalk?sponsor=1"
+ }
+ },
+ "node_modules/@react-native-community/cli-hermes/node_modules/color-convert": {
+ "version": "2.0.1",
+ "license": "MIT",
+ "dependencies": {
+ "color-name": "~1.1.4"
+ },
+ "engines": {
+ "node": ">=7.0.0"
+ }
+ },
+ "node_modules/@react-native-community/cli-hermes/node_modules/color-name": {
+ "version": "1.1.4",
+ "license": "MIT"
+ },
+ "node_modules/@react-native-community/cli-hermes/node_modules/has-flag": {
+ "version": "4.0.0",
+ "license": "MIT",
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/@react-native-community/cli-hermes/node_modules/supports-color": {
+ "version": "7.2.0",
+ "license": "MIT",
+ "dependencies": {
+ "has-flag": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
"node_modules/@react-native-community/cli-platform-android": {
"version": "11.3.6",
"license": "MIT",
@@ -8373,6 +8648,47 @@
"logkitty": "^0.7.1"
}
},
+ "node_modules/@react-native-community/cli-platform-android/node_modules/ansi-styles": {
+ "version": "4.3.0",
+ "license": "MIT",
+ "dependencies": {
+ "color-convert": "^2.0.1"
+ },
+ "engines": {
+ "node": ">=8"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/ansi-styles?sponsor=1"
+ }
+ },
+ "node_modules/@react-native-community/cli-platform-android/node_modules/chalk": {
+ "version": "4.1.2",
+ "license": "MIT",
+ "dependencies": {
+ "ansi-styles": "^4.1.0",
+ "supports-color": "^7.1.0"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/chalk?sponsor=1"
+ }
+ },
+ "node_modules/@react-native-community/cli-platform-android/node_modules/color-convert": {
+ "version": "2.0.1",
+ "license": "MIT",
+ "dependencies": {
+ "color-name": "~1.1.4"
+ },
+ "engines": {
+ "node": ">=7.0.0"
+ }
+ },
+ "node_modules/@react-native-community/cli-platform-android/node_modules/color-name": {
+ "version": "1.1.4",
+ "license": "MIT"
+ },
"node_modules/@react-native-community/cli-platform-android/node_modules/execa": {
"version": "5.1.1",
"license": "MIT",
@@ -8394,6 +8710,13 @@
"url": "https://github.com/sindresorhus/execa?sponsor=1"
}
},
+ "node_modules/@react-native-community/cli-platform-android/node_modules/has-flag": {
+ "version": "4.0.0",
+ "license": "MIT",
+ "engines": {
+ "node": ">=8"
+ }
+ },
"node_modules/@react-native-community/cli-platform-android/node_modules/human-signals": {
"version": "2.1.0",
"license": "Apache-2.0",
@@ -8401,16 +8724,6 @@
"node": ">=10.17.0"
}
},
- "node_modules/@react-native-community/cli-platform-android/node_modules/is-stream": {
- "version": "2.0.1",
- "license": "MIT",
- "engines": {
- "node": ">=8"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
"node_modules/@react-native-community/cli-platform-android/node_modules/npm-run-path": {
"version": "4.0.1",
"license": "MIT",
@@ -8428,6 +8741,16 @@
"node": ">=6"
}
},
+ "node_modules/@react-native-community/cli-platform-android/node_modules/supports-color": {
+ "version": "7.2.0",
+ "license": "MIT",
+ "dependencies": {
+ "has-flag": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
"node_modules/@react-native-community/cli-platform-ios": {
"version": "11.3.6",
"license": "MIT",
@@ -8440,6 +8763,47 @@
"ora": "^5.4.1"
}
},
+ "node_modules/@react-native-community/cli-platform-ios/node_modules/ansi-styles": {
+ "version": "4.3.0",
+ "license": "MIT",
+ "dependencies": {
+ "color-convert": "^2.0.1"
+ },
+ "engines": {
+ "node": ">=8"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/ansi-styles?sponsor=1"
+ }
+ },
+ "node_modules/@react-native-community/cli-platform-ios/node_modules/chalk": {
+ "version": "4.1.2",
+ "license": "MIT",
+ "dependencies": {
+ "ansi-styles": "^4.1.0",
+ "supports-color": "^7.1.0"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/chalk?sponsor=1"
+ }
+ },
+ "node_modules/@react-native-community/cli-platform-ios/node_modules/color-convert": {
+ "version": "2.0.1",
+ "license": "MIT",
+ "dependencies": {
+ "color-name": "~1.1.4"
+ },
+ "engines": {
+ "node": ">=7.0.0"
+ }
+ },
+ "node_modules/@react-native-community/cli-platform-ios/node_modules/color-name": {
+ "version": "1.1.4",
+ "license": "MIT"
+ },
"node_modules/@react-native-community/cli-platform-ios/node_modules/execa": {
"version": "5.1.1",
"license": "MIT",
@@ -8461,6 +8825,13 @@
"url": "https://github.com/sindresorhus/execa?sponsor=1"
}
},
+ "node_modules/@react-native-community/cli-platform-ios/node_modules/has-flag": {
+ "version": "4.0.0",
+ "license": "MIT",
+ "engines": {
+ "node": ">=8"
+ }
+ },
"node_modules/@react-native-community/cli-platform-ios/node_modules/human-signals": {
"version": "2.1.0",
"license": "Apache-2.0",
@@ -8468,16 +8839,6 @@
"node": ">=10.17.0"
}
},
- "node_modules/@react-native-community/cli-platform-ios/node_modules/is-stream": {
- "version": "2.0.1",
- "license": "MIT",
- "engines": {
- "node": ">=8"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
"node_modules/@react-native-community/cli-platform-ios/node_modules/npm-run-path": {
"version": "4.0.1",
"license": "MIT",
@@ -8495,6 +8856,16 @@
"node": ">=6"
}
},
+ "node_modules/@react-native-community/cli-platform-ios/node_modules/supports-color": {
+ "version": "7.2.0",
+ "license": "MIT",
+ "dependencies": {
+ "has-flag": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
"node_modules/@react-native-community/cli-plugin-metro": {
"version": "11.3.6",
"license": "MIT",
@@ -8512,7 +8883,48 @@
"readline": "^1.3.0"
}
},
- "node_modules/@react-native-community/cli-plugin-metro/node_modules/execa": {
+ "node_modules/@react-native-community/cli-plugin-metro/node_modules/ansi-styles": {
+ "version": "4.3.0",
+ "license": "MIT",
+ "dependencies": {
+ "color-convert": "^2.0.1"
+ },
+ "engines": {
+ "node": ">=8"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/ansi-styles?sponsor=1"
+ }
+ },
+ "node_modules/@react-native-community/cli-plugin-metro/node_modules/chalk": {
+ "version": "4.1.2",
+ "license": "MIT",
+ "dependencies": {
+ "ansi-styles": "^4.1.0",
+ "supports-color": "^7.1.0"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/chalk?sponsor=1"
+ }
+ },
+ "node_modules/@react-native-community/cli-plugin-metro/node_modules/color-convert": {
+ "version": "2.0.1",
+ "license": "MIT",
+ "dependencies": {
+ "color-name": "~1.1.4"
+ },
+ "engines": {
+ "node": ">=7.0.0"
+ }
+ },
+ "node_modules/@react-native-community/cli-plugin-metro/node_modules/color-name": {
+ "version": "1.1.4",
+ "license": "MIT"
+ },
+ "node_modules/@react-native-community/cli-plugin-metro/node_modules/execa": {
"version": "5.1.1",
"license": "MIT",
"dependencies": {
@@ -8533,6 +8945,13 @@
"url": "https://github.com/sindresorhus/execa?sponsor=1"
}
},
+ "node_modules/@react-native-community/cli-plugin-metro/node_modules/has-flag": {
+ "version": "4.0.0",
+ "license": "MIT",
+ "engines": {
+ "node": ">=8"
+ }
+ },
"node_modules/@react-native-community/cli-plugin-metro/node_modules/human-signals": {
"version": "2.1.0",
"license": "Apache-2.0",
@@ -8540,16 +8959,6 @@
"node": ">=10.17.0"
}
},
- "node_modules/@react-native-community/cli-plugin-metro/node_modules/is-stream": {
- "version": "2.0.1",
- "license": "MIT",
- "engines": {
- "node": ">=8"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
"node_modules/@react-native-community/cli-plugin-metro/node_modules/metro-runtime": {
"version": "0.76.7",
"license": "MIT",
@@ -8578,6 +8987,16 @@
"node": ">=6"
}
},
+ "node_modules/@react-native-community/cli-plugin-metro/node_modules/supports-color": {
+ "version": "7.2.0",
+ "license": "MIT",
+ "dependencies": {
+ "has-flag": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
"node_modules/@react-native-community/cli-server-api": {
"version": "11.3.6",
"license": "MIT",
@@ -8608,12 +9027,60 @@
}
},
"node_modules/@react-native-community/cli-server-api/node_modules/@types/yargs": {
- "version": "15.0.15",
+ "version": "15.0.16",
"license": "MIT",
"dependencies": {
"@types/yargs-parser": "*"
}
},
+ "node_modules/@react-native-community/cli-server-api/node_modules/ansi-styles": {
+ "version": "4.3.0",
+ "license": "MIT",
+ "dependencies": {
+ "color-convert": "^2.0.1"
+ },
+ "engines": {
+ "node": ">=8"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/ansi-styles?sponsor=1"
+ }
+ },
+ "node_modules/@react-native-community/cli-server-api/node_modules/chalk": {
+ "version": "4.1.2",
+ "license": "MIT",
+ "dependencies": {
+ "ansi-styles": "^4.1.0",
+ "supports-color": "^7.1.0"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/chalk?sponsor=1"
+ }
+ },
+ "node_modules/@react-native-community/cli-server-api/node_modules/color-convert": {
+ "version": "2.0.1",
+ "license": "MIT",
+ "dependencies": {
+ "color-name": "~1.1.4"
+ },
+ "engines": {
+ "node": ">=7.0.0"
+ }
+ },
+ "node_modules/@react-native-community/cli-server-api/node_modules/color-name": {
+ "version": "1.1.4",
+ "license": "MIT"
+ },
+ "node_modules/@react-native-community/cli-server-api/node_modules/has-flag": {
+ "version": "4.0.0",
+ "license": "MIT",
+ "engines": {
+ "node": ">=8"
+ }
+ },
"node_modules/@react-native-community/cli-server-api/node_modules/pretty-format": {
"version": "26.6.2",
"license": "MIT",
@@ -8631,6 +9098,16 @@
"version": "17.0.2",
"license": "MIT"
},
+ "node_modules/@react-native-community/cli-server-api/node_modules/supports-color": {
+ "version": "7.2.0",
+ "license": "MIT",
+ "dependencies": {
+ "has-flag": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
"node_modules/@react-native-community/cli-server-api/node_modules/ws": {
"version": "7.5.9",
"license": "MIT",
@@ -8665,29 +9142,59 @@
"shell-quote": "^1.7.3"
}
},
- "node_modules/@react-native-community/cli-tools/node_modules/is-wsl": {
- "version": "1.1.0",
+ "node_modules/@react-native-community/cli-tools/node_modules/ansi-styles": {
+ "version": "4.3.0",
"license": "MIT",
+ "dependencies": {
+ "color-convert": "^2.0.1"
+ },
"engines": {
- "node": ">=4"
+ "node": ">=8"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/ansi-styles?sponsor=1"
}
},
- "node_modules/@react-native-community/cli-tools/node_modules/node-fetch": {
- "version": "2.7.0",
+ "node_modules/@react-native-community/cli-tools/node_modules/chalk": {
+ "version": "4.1.2",
"license": "MIT",
"dependencies": {
- "whatwg-url": "^5.0.0"
+ "ansi-styles": "^4.1.0",
+ "supports-color": "^7.1.0"
},
"engines": {
- "node": "4.x || >=6.0.0"
+ "node": ">=10"
},
- "peerDependencies": {
- "encoding": "^0.1.0"
+ "funding": {
+ "url": "https://github.com/chalk/chalk?sponsor=1"
+ }
+ },
+ "node_modules/@react-native-community/cli-tools/node_modules/color-convert": {
+ "version": "2.0.1",
+ "license": "MIT",
+ "dependencies": {
+ "color-name": "~1.1.4"
},
- "peerDependenciesMeta": {
- "encoding": {
- "optional": true
- }
+ "engines": {
+ "node": ">=7.0.0"
+ }
+ },
+ "node_modules/@react-native-community/cli-tools/node_modules/color-name": {
+ "version": "1.1.4",
+ "license": "MIT"
+ },
+ "node_modules/@react-native-community/cli-tools/node_modules/has-flag": {
+ "version": "4.0.0",
+ "license": "MIT",
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/@react-native-community/cli-tools/node_modules/is-wsl": {
+ "version": "1.1.0",
+ "license": "MIT",
+ "engines": {
+ "node": ">=4"
}
},
"node_modules/@react-native-community/cli-tools/node_modules/open": {
@@ -8700,20 +9207,14 @@
"node": ">=8"
}
},
- "node_modules/@react-native-community/cli-tools/node_modules/tr46": {
- "version": "0.0.3",
- "license": "MIT"
- },
- "node_modules/@react-native-community/cli-tools/node_modules/webidl-conversions": {
- "version": "3.0.1",
- "license": "BSD-2-Clause"
- },
- "node_modules/@react-native-community/cli-tools/node_modules/whatwg-url": {
- "version": "5.0.0",
+ "node_modules/@react-native-community/cli-tools/node_modules/supports-color": {
+ "version": "7.2.0",
"license": "MIT",
"dependencies": {
- "tr46": "~0.0.3",
- "webidl-conversions": "^3.0.0"
+ "has-flag": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=8"
}
},
"node_modules/@react-native-community/cli-types": {
@@ -8723,6 +9224,47 @@
"joi": "^17.2.1"
}
},
+ "node_modules/@react-native-community/cli/node_modules/ansi-styles": {
+ "version": "4.3.0",
+ "license": "MIT",
+ "dependencies": {
+ "color-convert": "^2.0.1"
+ },
+ "engines": {
+ "node": ">=8"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/ansi-styles?sponsor=1"
+ }
+ },
+ "node_modules/@react-native-community/cli/node_modules/chalk": {
+ "version": "4.1.2",
+ "license": "MIT",
+ "dependencies": {
+ "ansi-styles": "^4.1.0",
+ "supports-color": "^7.1.0"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/chalk?sponsor=1"
+ }
+ },
+ "node_modules/@react-native-community/cli/node_modules/color-convert": {
+ "version": "2.0.1",
+ "license": "MIT",
+ "dependencies": {
+ "color-name": "~1.1.4"
+ },
+ "engines": {
+ "node": ">=7.0.0"
+ }
+ },
+ "node_modules/@react-native-community/cli/node_modules/color-name": {
+ "version": "1.1.4",
+ "license": "MIT"
+ },
"node_modules/@react-native-community/cli/node_modules/commander": {
"version": "9.5.0",
"license": "MIT",
@@ -8774,6 +9316,13 @@
"node": ">=6 <7 || >=8"
}
},
+ "node_modules/@react-native-community/cli/node_modules/has-flag": {
+ "version": "4.0.0",
+ "license": "MIT",
+ "engines": {
+ "node": ">=8"
+ }
+ },
"node_modules/@react-native-community/cli/node_modules/human-signals": {
"version": "2.1.0",
"license": "Apache-2.0",
@@ -8781,16 +9330,6 @@
"node": ">=10.17.0"
}
},
- "node_modules/@react-native-community/cli/node_modules/is-stream": {
- "version": "2.0.1",
- "license": "MIT",
- "engines": {
- "node": ">=8"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
"node_modules/@react-native-community/cli/node_modules/jsonfile": {
"version": "4.0.0",
"license": "MIT",
@@ -8848,6 +9387,16 @@
"node": ">=6"
}
},
+ "node_modules/@react-native-community/cli/node_modules/supports-color": {
+ "version": "7.2.0",
+ "license": "MIT",
+ "dependencies": {
+ "has-flag": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
"node_modules/@react-native-community/cli/node_modules/universalify": {
"version": "0.1.2",
"license": "MIT",
@@ -8868,7 +9417,7 @@
"license": "MIT"
},
"node_modules/@react-native/codegen": {
- "version": "0.72.6",
+ "version": "0.72.7",
"license": "MIT",
"dependencies": {
"@babel/parser": "^7.20.0",
@@ -9178,46 +9727,12 @@
"ieee754": "^1.2.1"
}
},
- "node_modules/@solana/web3.js/node_modules/node-fetch": {
- "version": "2.7.0",
- "license": "MIT",
- "dependencies": {
- "whatwg-url": "^5.0.0"
- },
- "engines": {
- "node": "4.x || >=6.0.0"
- },
- "peerDependencies": {
- "encoding": "^0.1.0"
- },
- "peerDependenciesMeta": {
- "encoding": {
- "optional": true
- }
- }
- },
- "node_modules/@solana/web3.js/node_modules/tr46": {
- "version": "0.0.3",
- "license": "MIT"
- },
- "node_modules/@solana/web3.js/node_modules/webidl-conversions": {
- "version": "3.0.1",
- "license": "BSD-2-Clause"
- },
- "node_modules/@solana/web3.js/node_modules/whatwg-url": {
- "version": "5.0.0",
- "license": "MIT",
- "dependencies": {
- "tr46": "~0.0.3",
- "webidl-conversions": "^3.0.0"
- }
- },
- "node_modules/@stablelib/aead": {
- "version": "1.0.1",
- "license": "MIT"
- },
- "node_modules/@stablelib/binary": {
- "version": "1.0.1",
+ "node_modules/@stablelib/aead": {
+ "version": "1.0.1",
+ "license": "MIT"
+ },
+ "node_modules/@stablelib/binary": {
+ "version": "1.0.1",
"license": "MIT",
"dependencies": {
"@stablelib/int": "^1.0.1"
@@ -9467,7 +9982,8 @@
},
"node_modules/@tootallnate/quickjs-emscripten": {
"version": "0.23.0",
- "license": "MIT"
+ "resolved": "https://registry.npmjs.org/@tootallnate/quickjs-emscripten/-/quickjs-emscripten-0.23.0.tgz",
+ "integrity": "sha512-C5Mc6rdnsaJDjO3UpGW/CQTHtCKaYlScZTly4JIu97Jxo/odCiH0ITnDXSJPTOrEKk/ycSZ0AOgTmkDtkOsvIA=="
},
"node_modules/@trpc/client": {
"version": "10.40.0",
@@ -9728,14 +10244,14 @@
"license": "MIT"
},
"node_modules/@types/istanbul-lib-report": {
- "version": "3.0.0",
+ "version": "3.0.1",
"license": "MIT",
"dependencies": {
"@types/istanbul-lib-coverage": "*"
}
},
"node_modules/@types/istanbul-reports": {
- "version": "3.0.1",
+ "version": "3.0.2",
"license": "MIT",
"dependencies": {
"@types/istanbul-lib-report": "*"
@@ -9836,8 +10352,11 @@
}
},
"node_modules/@types/node": {
- "version": "20.5.7",
- "license": "MIT"
+ "version": "20.8.6",
+ "license": "MIT",
+ "dependencies": {
+ "undici-types": "~5.25.1"
+ }
},
"node_modules/@types/parse-json": {
"version": "4.0.0",
@@ -9860,7 +10379,7 @@
}
},
"node_modules/@types/prop-types": {
- "version": "15.7.5",
+ "version": "15.7.8",
"license": "MIT"
},
"node_modules/@types/qs": {
@@ -9872,7 +10391,7 @@
"license": "MIT"
},
"node_modules/@types/react": {
- "version": "18.2.21",
+ "version": "18.2.28",
"license": "MIT",
"dependencies": {
"@types/prop-types": "*",
@@ -9912,7 +10431,7 @@
}
},
"node_modules/@types/scheduler": {
- "version": "0.16.3",
+ "version": "0.16.4",
"license": "MIT"
},
"node_modules/@types/semver": {
@@ -9992,14 +10511,14 @@
}
},
"node_modules/@types/yargs": {
- "version": "17.0.24",
+ "version": "17.0.28",
"license": "MIT",
"dependencies": {
"@types/yargs-parser": "*"
}
},
"node_modules/@types/yargs-parser": {
- "version": "21.0.0",
+ "version": "21.0.1",
"license": "MIT"
},
"node_modules/@typescript-eslint/eslint-plugin": {
@@ -10364,31 +10883,8 @@
"version": "3.3.4",
"license": "MIT"
},
- "node_modules/@wagmi/chains": {
- "version": "1.8.0",
- "dev": true,
- "funding": [
- {
- "type": "gitcoin",
- "url": "https://wagmi.sh/gitcoin"
- },
- {
- "type": "github",
- "url": "https://github.com/sponsors/wagmi-dev"
- }
- ],
- "license": "MIT",
- "peerDependencies": {
- "typescript": ">=5.0.4"
- },
- "peerDependenciesMeta": {
- "typescript": {
- "optional": true
- }
- }
- },
"node_modules/@wagmi/cli": {
- "version": "1.4.1",
+ "version": "1.5.2",
"dev": true,
"funding": [
{
@@ -10402,7 +10898,6 @@
],
"license": "MIT",
"dependencies": {
- "@wagmi/chains": "1.8.0",
"abitype": "0.8.7",
"abort-controller": "^3.0.0",
"bundle-require": "^3.1.2",
@@ -10596,6 +11091,23 @@
"url": "https://github.com/sponsors/sindresorhus"
}
},
+ "node_modules/@wagmi/cli/node_modules/node-fetch": {
+ "version": "3.3.2",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "data-uri-to-buffer": "^4.0.0",
+ "fetch-blob": "^3.1.4",
+ "formdata-polyfill": "^4.0.10"
+ },
+ "engines": {
+ "node": "^12.20.0 || ^14.13.1 || >=16.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/node-fetch"
+ }
+ },
"node_modules/@wagmi/cli/node_modules/ora": {
"version": "6.3.1",
"dev": true,
@@ -11018,6 +11530,163 @@
"qrcode": "^1.5.1"
}
},
+ "node_modules/@walletconnect/legacy-modal/node_modules/ansi-styles": {
+ "version": "4.3.0",
+ "license": "MIT",
+ "dependencies": {
+ "color-convert": "^2.0.1"
+ },
+ "engines": {
+ "node": ">=8"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/ansi-styles?sponsor=1"
+ }
+ },
+ "node_modules/@walletconnect/legacy-modal/node_modules/camelcase": {
+ "version": "5.3.1",
+ "license": "MIT",
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/@walletconnect/legacy-modal/node_modules/cliui": {
+ "version": "6.0.0",
+ "license": "ISC",
+ "dependencies": {
+ "string-width": "^4.2.0",
+ "strip-ansi": "^6.0.0",
+ "wrap-ansi": "^6.2.0"
+ }
+ },
+ "node_modules/@walletconnect/legacy-modal/node_modules/color-convert": {
+ "version": "2.0.1",
+ "license": "MIT",
+ "dependencies": {
+ "color-name": "~1.1.4"
+ },
+ "engines": {
+ "node": ">=7.0.0"
+ }
+ },
+ "node_modules/@walletconnect/legacy-modal/node_modules/color-name": {
+ "version": "1.1.4",
+ "license": "MIT"
+ },
+ "node_modules/@walletconnect/legacy-modal/node_modules/find-up": {
+ "version": "4.1.0",
+ "license": "MIT",
+ "dependencies": {
+ "locate-path": "^5.0.0",
+ "path-exists": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/@walletconnect/legacy-modal/node_modules/locate-path": {
+ "version": "5.0.0",
+ "license": "MIT",
+ "dependencies": {
+ "p-locate": "^4.1.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/@walletconnect/legacy-modal/node_modules/p-limit": {
+ "version": "2.3.0",
+ "license": "MIT",
+ "dependencies": {
+ "p-try": "^2.0.0"
+ },
+ "engines": {
+ "node": ">=6"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/@walletconnect/legacy-modal/node_modules/p-locate": {
+ "version": "4.1.0",
+ "license": "MIT",
+ "dependencies": {
+ "p-limit": "^2.2.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/@walletconnect/legacy-modal/node_modules/pngjs": {
+ "version": "5.0.0",
+ "license": "MIT",
+ "engines": {
+ "node": ">=10.13.0"
+ }
+ },
+ "node_modules/@walletconnect/legacy-modal/node_modules/qrcode": {
+ "version": "1.5.3",
+ "license": "MIT",
+ "dependencies": {
+ "dijkstrajs": "^1.0.1",
+ "encode-utf8": "^1.0.3",
+ "pngjs": "^5.0.0",
+ "yargs": "^15.3.1"
+ },
+ "bin": {
+ "qrcode": "bin/qrcode"
+ },
+ "engines": {
+ "node": ">=10.13.0"
+ }
+ },
+ "node_modules/@walletconnect/legacy-modal/node_modules/wrap-ansi": {
+ "version": "6.2.0",
+ "license": "MIT",
+ "dependencies": {
+ "ansi-styles": "^4.0.0",
+ "string-width": "^4.1.0",
+ "strip-ansi": "^6.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/@walletconnect/legacy-modal/node_modules/y18n": {
+ "version": "4.0.3",
+ "license": "ISC"
+ },
+ "node_modules/@walletconnect/legacy-modal/node_modules/yargs": {
+ "version": "15.4.1",
+ "license": "MIT",
+ "dependencies": {
+ "cliui": "^6.0.0",
+ "decamelize": "^1.2.0",
+ "find-up": "^4.1.0",
+ "get-caller-file": "^2.0.1",
+ "require-directory": "^2.1.1",
+ "require-main-filename": "^2.0.0",
+ "set-blocking": "^2.0.0",
+ "string-width": "^4.2.0",
+ "which-module": "^2.0.0",
+ "y18n": "^4.0.0",
+ "yargs-parser": "^18.1.2"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/@walletconnect/legacy-modal/node_modules/yargs-parser": {
+ "version": "18.1.3",
+ "license": "ISC",
+ "dependencies": {
+ "camelcase": "^5.0.0",
+ "decamelize": "^1.2.0"
+ },
+ "engines": {
+ "node": ">=6"
+ }
+ },
"node_modules/@walletconnect/legacy-provider": {
"version": "2.0.0",
"license": "Apache-2.0",
@@ -11079,25 +11748,182 @@
"version": "2.6.2",
"license": "Apache-2.0",
"dependencies": {
- "@walletconnect/modal-core": "2.6.2",
- "@walletconnect/modal-ui": "2.6.2"
+ "@walletconnect/modal-core": "2.6.2",
+ "@walletconnect/modal-ui": "2.6.2"
+ }
+ },
+ "node_modules/@walletconnect/modal-core": {
+ "version": "2.6.2",
+ "license": "Apache-2.0",
+ "dependencies": {
+ "valtio": "1.11.2"
+ }
+ },
+ "node_modules/@walletconnect/modal-ui": {
+ "version": "2.6.2",
+ "license": "Apache-2.0",
+ "dependencies": {
+ "@walletconnect/modal-core": "2.6.2",
+ "lit": "2.8.0",
+ "motion": "10.16.2",
+ "qrcode": "1.5.3"
+ }
+ },
+ "node_modules/@walletconnect/modal-ui/node_modules/ansi-styles": {
+ "version": "4.3.0",
+ "license": "MIT",
+ "dependencies": {
+ "color-convert": "^2.0.1"
+ },
+ "engines": {
+ "node": ">=8"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/ansi-styles?sponsor=1"
+ }
+ },
+ "node_modules/@walletconnect/modal-ui/node_modules/camelcase": {
+ "version": "5.3.1",
+ "license": "MIT",
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/@walletconnect/modal-ui/node_modules/cliui": {
+ "version": "6.0.0",
+ "license": "ISC",
+ "dependencies": {
+ "string-width": "^4.2.0",
+ "strip-ansi": "^6.0.0",
+ "wrap-ansi": "^6.2.0"
+ }
+ },
+ "node_modules/@walletconnect/modal-ui/node_modules/color-convert": {
+ "version": "2.0.1",
+ "license": "MIT",
+ "dependencies": {
+ "color-name": "~1.1.4"
+ },
+ "engines": {
+ "node": ">=7.0.0"
+ }
+ },
+ "node_modules/@walletconnect/modal-ui/node_modules/color-name": {
+ "version": "1.1.4",
+ "license": "MIT"
+ },
+ "node_modules/@walletconnect/modal-ui/node_modules/find-up": {
+ "version": "4.1.0",
+ "license": "MIT",
+ "dependencies": {
+ "locate-path": "^5.0.0",
+ "path-exists": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/@walletconnect/modal-ui/node_modules/locate-path": {
+ "version": "5.0.0",
+ "license": "MIT",
+ "dependencies": {
+ "p-locate": "^4.1.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/@walletconnect/modal-ui/node_modules/p-limit": {
+ "version": "2.3.0",
+ "license": "MIT",
+ "dependencies": {
+ "p-try": "^2.0.0"
+ },
+ "engines": {
+ "node": ">=6"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/@walletconnect/modal-ui/node_modules/p-locate": {
+ "version": "4.1.0",
+ "license": "MIT",
+ "dependencies": {
+ "p-limit": "^2.2.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/@walletconnect/modal-ui/node_modules/pngjs": {
+ "version": "5.0.0",
+ "license": "MIT",
+ "engines": {
+ "node": ">=10.13.0"
+ }
+ },
+ "node_modules/@walletconnect/modal-ui/node_modules/qrcode": {
+ "version": "1.5.3",
+ "license": "MIT",
+ "dependencies": {
+ "dijkstrajs": "^1.0.1",
+ "encode-utf8": "^1.0.3",
+ "pngjs": "^5.0.0",
+ "yargs": "^15.3.1"
+ },
+ "bin": {
+ "qrcode": "bin/qrcode"
+ },
+ "engines": {
+ "node": ">=10.13.0"
+ }
+ },
+ "node_modules/@walletconnect/modal-ui/node_modules/wrap-ansi": {
+ "version": "6.2.0",
+ "license": "MIT",
+ "dependencies": {
+ "ansi-styles": "^4.0.0",
+ "string-width": "^4.1.0",
+ "strip-ansi": "^6.0.0"
+ },
+ "engines": {
+ "node": ">=8"
}
},
- "node_modules/@walletconnect/modal-core": {
- "version": "2.6.2",
- "license": "Apache-2.0",
+ "node_modules/@walletconnect/modal-ui/node_modules/y18n": {
+ "version": "4.0.3",
+ "license": "ISC"
+ },
+ "node_modules/@walletconnect/modal-ui/node_modules/yargs": {
+ "version": "15.4.1",
+ "license": "MIT",
"dependencies": {
- "valtio": "1.11.2"
+ "cliui": "^6.0.0",
+ "decamelize": "^1.2.0",
+ "find-up": "^4.1.0",
+ "get-caller-file": "^2.0.1",
+ "require-directory": "^2.1.1",
+ "require-main-filename": "^2.0.0",
+ "set-blocking": "^2.0.0",
+ "string-width": "^4.2.0",
+ "which-module": "^2.0.0",
+ "y18n": "^4.0.0",
+ "yargs-parser": "^18.1.2"
+ },
+ "engines": {
+ "node": ">=8"
}
},
- "node_modules/@walletconnect/modal-ui": {
- "version": "2.6.2",
- "license": "Apache-2.0",
+ "node_modules/@walletconnect/modal-ui/node_modules/yargs-parser": {
+ "version": "18.1.3",
+ "license": "ISC",
"dependencies": {
- "@walletconnect/modal-core": "2.6.2",
- "lit": "2.8.0",
- "motion": "10.16.2",
- "qrcode": "1.5.3"
+ "camelcase": "^5.0.0",
+ "decamelize": "^1.2.0"
+ },
+ "engines": {
+ "node": ">=6"
}
},
"node_modules/@walletconnect/randombytes": {
@@ -11374,7 +12200,7 @@
"license": "BSD-3-Clause"
},
"node_modules/abitype": {
- "version": "0.9.8",
+ "version": "0.9.10",
"funding": [
{
"type": "github",
@@ -11384,7 +12210,7 @@
"license": "MIT",
"peerDependencies": {
"typescript": ">=5.0.4",
- "zod": "^3 >=3.19.1"
+ "zod": "^3 >=3.22.0"
},
"peerDependenciesMeta": {
"typescript": {
@@ -11587,16 +12413,13 @@
}
},
"node_modules/ansi-styles": {
- "version": "4.3.0",
+ "version": "3.2.1",
"license": "MIT",
"dependencies": {
- "color-convert": "^2.0.1"
+ "color-convert": "^1.9.0"
},
"engines": {
- "node": ">=8"
- },
- "funding": {
- "url": "https://github.com/chalk/ansi-styles?sponsor=1"
+ "node": ">=4"
}
},
"node_modules/any-promise": {
@@ -11623,12 +12446,19 @@
"license": "MIT"
},
"node_modules/arg": {
- "version": "4.1.0",
+ "version": "4.1.3",
"license": "MIT"
},
"node_modules/argparse": {
- "version": "2.0.1",
- "license": "Python-2.0"
+ "version": "1.0.10",
+ "license": "MIT",
+ "dependencies": {
+ "sprintf-js": "~1.0.2"
+ }
+ },
+ "node_modules/argparse/node_modules/sprintf-js": {
+ "version": "1.0.3",
+ "license": "BSD-3-Clause"
},
"node_modules/aria-query": {
"version": "5.3.0",
@@ -11822,8 +12652,11 @@
}
},
"node_modules/async": {
- "version": "3.2.4",
- "license": "MIT"
+ "version": "2.6.4",
+ "license": "MIT",
+ "dependencies": {
+ "lodash": "^4.17.14"
+ }
},
"node_modules/async-limiter": {
"version": "1.0.1",
@@ -12114,11 +12947,11 @@
}
},
"node_modules/babel-plugin-polyfill-corejs2": {
- "version": "0.4.5",
+ "version": "0.4.6",
"license": "MIT",
"dependencies": {
"@babel/compat-data": "^7.22.6",
- "@babel/helper-define-polyfill-provider": "^0.4.2",
+ "@babel/helper-define-polyfill-provider": "^0.4.3",
"semver": "^6.3.1"
},
"peerDependencies": {
@@ -12133,21 +12966,21 @@
}
},
"node_modules/babel-plugin-polyfill-corejs3": {
- "version": "0.8.3",
+ "version": "0.8.5",
"license": "MIT",
"dependencies": {
- "@babel/helper-define-polyfill-provider": "^0.4.2",
- "core-js-compat": "^3.31.0"
+ "@babel/helper-define-polyfill-provider": "^0.4.3",
+ "core-js-compat": "^3.32.2"
},
"peerDependencies": {
"@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0"
}
},
"node_modules/babel-plugin-polyfill-regenerator": {
- "version": "0.5.2",
+ "version": "0.5.3",
"license": "MIT",
"dependencies": {
- "@babel/helper-define-polyfill-provider": "^0.4.2"
+ "@babel/helper-define-polyfill-provider": "^0.4.3"
},
"peerDependencies": {
"@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0"
@@ -12292,7 +13125,8 @@
},
"node_modules/basic-ftp": {
"version": "5.0.3",
- "license": "MIT",
+ "resolved": "https://registry.npmjs.org/basic-ftp/-/basic-ftp-5.0.3.tgz",
+ "integrity": "sha512-QHX8HLlncOLpy54mh+k/sWIFd0ThmRqwe9ZjELybGZK+tZ8rUb9VO0saKJUROTbE+KhzDUT7xziGpGrW8Kmd+g==",
"engines": {
"node": ">=10.0.0"
}
@@ -12471,7 +13305,7 @@
"license": "MIT"
},
"node_modules/browserslist": {
- "version": "4.21.10",
+ "version": "4.22.1",
"funding": [
{
"type": "opencollective",
@@ -12488,10 +13322,10 @@
],
"license": "MIT",
"dependencies": {
- "caniuse-lite": "^1.0.30001517",
- "electron-to-chromium": "^1.4.477",
+ "caniuse-lite": "^1.0.30001541",
+ "electron-to-chromium": "^1.4.535",
"node-releases": "^2.0.13",
- "update-browserslist-db": "^1.0.11"
+ "update-browserslist-db": "^1.0.13"
},
"bin": {
"browserslist": "cli.js"
@@ -12810,7 +13644,7 @@
}
},
"node_modules/caniuse-lite": {
- "version": "1.0.30001525",
+ "version": "1.0.30001549",
"funding": [
{
"type": "opencollective",
@@ -12843,17 +13677,15 @@
"license": "0BSD"
},
"node_modules/chalk": {
- "version": "4.1.2",
+ "version": "2.4.2",
"license": "MIT",
"dependencies": {
- "ansi-styles": "^4.1.0",
- "supports-color": "^7.1.0"
+ "ansi-styles": "^3.2.1",
+ "escape-string-regexp": "^1.0.5",
+ "supports-color": "^5.3.0"
},
"engines": {
- "node": ">=10"
- },
- "funding": {
- "url": "https://github.com/chalk/chalk?sponsor=1"
+ "node": ">=4"
}
},
"node_modules/change-case": {
@@ -12945,7 +13777,7 @@
}
},
"node_modules/ci-info": {
- "version": "3.8.0",
+ "version": "3.9.0",
"funding": [
{
"type": "github",
@@ -12979,7 +13811,7 @@
}
},
"node_modules/cli-spinners": {
- "version": "2.9.0",
+ "version": "2.9.1",
"license": "MIT",
"engines": {
"node": ">=6"
@@ -12993,12 +13825,15 @@
"license": "MIT"
},
"node_modules/cliui": {
- "version": "7.0.4",
+ "version": "8.0.1",
"license": "ISC",
"dependencies": {
"string-width": "^4.2.0",
- "strip-ansi": "^6.0.0",
+ "strip-ansi": "^6.0.1",
"wrap-ansi": "^7.0.0"
+ },
+ "engines": {
+ "node": ">=12"
}
},
"node_modules/clone": {
@@ -13050,17 +13885,14 @@
"license": "MIT"
},
"node_modules/color-convert": {
- "version": "2.0.1",
+ "version": "1.9.3",
"license": "MIT",
"dependencies": {
- "color-name": "~1.1.4"
- },
- "engines": {
- "node": ">=7.0.0"
+ "color-name": "1.1.3"
}
},
"node_modules/color-name": {
- "version": "1.1.4",
+ "version": "1.1.3",
"license": "MIT"
},
"node_modules/colorette": {
@@ -13098,7 +13930,8 @@
},
"node_modules/component-emitter": {
"version": "1.3.0",
- "license": "MIT"
+ "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.3.0.tgz",
+ "integrity": "sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg=="
},
"node_modules/component-type": {
"version": "1.2.1",
@@ -13203,12 +14036,13 @@
}
},
"node_modules/convert-source-map": {
- "version": "1.9.0",
+ "version": "2.0.0",
"license": "MIT"
},
"node_modules/cookiejar": {
"version": "2.1.4",
- "license": "MIT"
+ "resolved": "https://registry.npmjs.org/cookiejar/-/cookiejar-2.1.4.tgz",
+ "integrity": "sha512-LDx6oHrK+PhzLKJU9j5S7/Y3jM/mUHvD/DeI1WQmJn652iPC5Y4TBzC9l+5OMOXlyTTA+SmVUPm0HQUwpD5Jqw=="
},
"node_modules/copy-to-clipboard": {
"version": "3.3.3",
@@ -13218,10 +14052,10 @@
}
},
"node_modules/core-js-compat": {
- "version": "3.32.1",
+ "version": "3.33.0",
"license": "MIT",
"dependencies": {
- "browserslist": "^4.21.10"
+ "browserslist": "^4.22.1"
},
"funding": {
"type": "opencollective",
@@ -13334,40 +14168,6 @@
"node-fetch": "^2.6.12"
}
},
- "node_modules/cross-fetch/node_modules/node-fetch": {
- "version": "2.7.0",
- "license": "MIT",
- "dependencies": {
- "whatwg-url": "^5.0.0"
- },
- "engines": {
- "node": "4.x || >=6.0.0"
- },
- "peerDependencies": {
- "encoding": "^0.1.0"
- },
- "peerDependenciesMeta": {
- "encoding": {
- "optional": true
- }
- }
- },
- "node_modules/cross-fetch/node_modules/tr46": {
- "version": "0.0.3",
- "license": "MIT"
- },
- "node_modules/cross-fetch/node_modules/webidl-conversions": {
- "version": "3.0.1",
- "license": "BSD-2-Clause"
- },
- "node_modules/cross-fetch/node_modules/whatwg-url": {
- "version": "5.0.0",
- "license": "MIT",
- "dependencies": {
- "tr46": "~0.0.3",
- "webidl-conversions": "^3.0.0"
- }
- },
"node_modules/cross-spawn": {
"version": "7.0.3",
"license": "MIT",
@@ -13506,6 +14306,7 @@
},
"node_modules/data-uri-to-buffer": {
"version": "4.0.1",
+ "dev": true,
"license": "MIT",
"engines": {
"node": ">= 12"
@@ -13552,7 +14353,7 @@
}
},
"node_modules/dayjs": {
- "version": "1.11.9",
+ "version": "1.11.10",
"license": "MIT"
},
"node_modules/debug": {
@@ -13943,7 +14744,8 @@
},
"node_modules/degenerator": {
"version": "5.0.1",
- "license": "MIT",
+ "resolved": "https://registry.npmjs.org/degenerator/-/degenerator-5.0.1.tgz",
+ "integrity": "sha512-TllpMR/t0M5sqCXfj85i4XaAzxmS5tVA16dqvdkMwGmzI+dXLXnw3J+3Vdv7VKw+ThlTMboK6i9rnZ6Nntj5CQ==",
"dependencies": {
"ast-types": "^0.13.4",
"escodegen": "^2.1.0",
@@ -13955,7 +14757,8 @@
},
"node_modules/degenerator/node_modules/ast-types": {
"version": "0.13.4",
- "license": "MIT",
+ "resolved": "https://registry.npmjs.org/ast-types/-/ast-types-0.13.4.tgz",
+ "integrity": "sha512-x1FCFnFifvYDDzTaLII71vG5uvDwgtmDTEVWAxrgeiR8VjMONcCXJx7E+USjDtHlwFmt9MysbqgF9b9Vjr6w+w==",
"dependencies": {
"tslib": "^2.0.1"
},
@@ -13965,7 +14768,8 @@
},
"node_modules/degenerator/node_modules/tslib": {
"version": "2.6.2",
- "license": "0BSD"
+ "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz",
+ "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q=="
},
"node_modules/del": {
"version": "6.1.1",
@@ -14183,17 +14987,6 @@
"node": ">=10.17.0"
}
},
- "node_modules/detect-package-manager/node_modules/is-stream": {
- "version": "2.0.1",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=8"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
"node_modules/detect-package-manager/node_modules/npm-run-path": {
"version": "4.0.1",
"dev": true,
@@ -14215,7 +15008,8 @@
},
"node_modules/dezalgo": {
"version": "1.0.4",
- "license": "ISC",
+ "resolved": "https://registry.npmjs.org/dezalgo/-/dezalgo-1.0.4.tgz",
+ "integrity": "sha512-rXSP0bf+5n0Qonsb+SVVfNfIsimO4HEtmnIpPHY8Q1UCzKlQrDMfdobr8nJOOsRgWCyMRqeSBQzmWUMq7zvVig==",
"dependencies": {
"asap": "^2.0.0",
"wrappy": "1"
@@ -14396,7 +15190,7 @@
"license": "MIT"
},
"node_modules/electron-to-chromium": {
- "version": "1.4.508",
+ "version": "1.4.554",
"license": "ISC"
},
"node_modules/elliptic": {
@@ -14426,6 +15220,10 @@
"url": "https://github.com/sindresorhus/emittery?sponsor=1"
}
},
+ "node_modules/emoji-regex": {
+ "version": "8.0.0",
+ "license": "MIT"
+ },
"node_modules/encode-utf8": {
"version": "1.0.3",
"license": "MIT"
@@ -14720,13 +15518,10 @@
"license": "MIT"
},
"node_modules/escape-string-regexp": {
- "version": "4.0.0",
+ "version": "1.0.5",
"license": "MIT",
"engines": {
- "node": ">=10"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
+ "node": ">=0.8.0"
}
},
"node_modules/escodegen": {
@@ -15500,6 +16295,17 @@
"url": "https://github.com/sindresorhus/execa?sponsor=1"
}
},
+ "node_modules/execa/node_modules/is-stream": {
+ "version": "3.0.0",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": "^12.20.0 || ^14.13.1 || >=16.0.0"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
"node_modules/execa/node_modules/mimic-fn": {
"version": "4.0.0",
"dev": true,
@@ -16689,15 +17495,15 @@
"license": "Apache-2.0"
},
"node_modules/fast-xml-parser": {
- "version": "4.2.7",
+ "version": "4.3.2",
"funding": [
- {
- "type": "paypal",
- "url": "https://paypal.me/naturalintelligence"
- },
{
"type": "github",
"url": "https://github.com/sponsors/NaturalIntelligence"
+ },
+ {
+ "type": "paypal",
+ "url": "https://paypal.me/naturalintelligence"
}
],
"license": "MIT",
@@ -16776,6 +17582,7 @@
},
"node_modules/fetch-blob": {
"version": "3.2.0",
+ "dev": true,
"funding": [
{
"type": "github",
@@ -17055,6 +17862,7 @@
},
"node_modules/formdata-polyfill": {
"version": "4.0.10",
+ "dev": true,
"license": "MIT",
"dependencies": {
"fetch-blob": "^3.1.2"
@@ -17065,7 +17873,8 @@
},
"node_modules/formidable": {
"version": "2.1.2",
- "license": "MIT",
+ "resolved": "https://registry.npmjs.org/formidable/-/formidable-2.1.2.tgz",
+ "integrity": "sha512-CM3GuJ57US06mlpQ47YcunuUZ9jpm8Vx+P2CGt2j7HpgkKZO/DJYQ0Bobim8G6PFQmK5lOqOOdUXboU+h73A4g==",
"dependencies": {
"dezalgo": "^1.0.4",
"hexoid": "^1.0.0",
@@ -17144,8 +17953,11 @@
}
},
"node_modules/function-bind": {
- "version": "1.1.1",
- "license": "MIT"
+ "version": "1.1.2",
+ "license": "MIT",
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
},
"node_modules/function.prototype.name": {
"version": "1.1.6",
@@ -17362,7 +18174,8 @@
},
"node_modules/get-uri": {
"version": "6.0.2",
- "license": "MIT",
+ "resolved": "https://registry.npmjs.org/get-uri/-/get-uri-6.0.2.tgz",
+ "integrity": "sha512-5KLucCJobh8vBY1K07EFV4+cPZH3mrV9YeAruUseCQKHB58SGjjT2l9/eA9LD082IiuMjSlFJEcdJ27TXvbZNw==",
"dependencies": {
"basic-ftp": "^5.0.2",
"data-uri-to-buffer": "^6.0.0",
@@ -17375,14 +18188,16 @@
},
"node_modules/get-uri/node_modules/data-uri-to-buffer": {
"version": "6.0.1",
- "license": "MIT",
+ "resolved": "https://registry.npmjs.org/data-uri-to-buffer/-/data-uri-to-buffer-6.0.1.tgz",
+ "integrity": "sha512-MZd3VlchQkp8rdend6vrx7MmVDJzSNTBvghvKjirLkD+WTChA3KUf0jkE68Q4UyctNqI11zZO9/x2Yx+ub5Cvg==",
"engines": {
"node": ">= 14"
}
},
"node_modules/get-uri/node_modules/fs-extra": {
"version": "8.1.0",
- "license": "MIT",
+ "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz",
+ "integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==",
"dependencies": {
"graceful-fs": "^4.2.0",
"jsonfile": "^4.0.0",
@@ -17394,14 +18209,16 @@
},
"node_modules/get-uri/node_modules/jsonfile": {
"version": "4.0.0",
- "license": "MIT",
+ "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz",
+ "integrity": "sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==",
"optionalDependencies": {
"graceful-fs": "^4.1.6"
}
},
"node_modules/get-uri/node_modules/universalify": {
"version": "0.1.2",
- "license": "MIT",
+ "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz",
+ "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==",
"engines": {
"node": ">= 4.0.0"
}
@@ -17481,6 +18298,13 @@
"which": "bin/which"
}
},
+ "node_modules/globals": {
+ "version": "11.12.0",
+ "license": "MIT",
+ "engines": {
+ "node": ">=4"
+ }
+ },
"node_modules/globalthis": {
"version": "1.0.3",
"license": "MIT",
@@ -17578,11 +18402,8 @@
"license": "0BSD"
},
"node_modules/has": {
- "version": "1.0.3",
+ "version": "1.0.4",
"license": "MIT",
- "dependencies": {
- "function-bind": "^1.1.1"
- },
"engines": {
"node": ">= 0.4.0"
}
@@ -17606,10 +18427,10 @@
}
},
"node_modules/has-flag": {
- "version": "4.0.0",
+ "version": "3.0.0",
"license": "MIT",
"engines": {
- "node": ">=8"
+ "node": ">=4"
}
},
"node_modules/has-property-descriptors": {
@@ -17722,7 +18543,8 @@
},
"node_modules/hexoid": {
"version": "1.0.0",
- "license": "MIT",
+ "resolved": "https://registry.npmjs.org/hexoid/-/hexoid-1.0.0.tgz",
+ "integrity": "sha512-QFLV0taWQOZtvIRIAdBChesmogZrtuXvVWsFHZTk2SU+anspqZ2vMnoLg7IE1+Uk16N19APic1BuF8bC8c2m5g==",
"engines": {
"node": ">=8"
}
@@ -18206,10 +19028,10 @@
}
},
"node_modules/is-fullwidth-code-point": {
- "version": "2.0.0",
+ "version": "3.0.0",
"license": "MIT",
"engines": {
- "node": ">=4"
+ "node": ">=8"
}
},
"node_modules/is-generator-fn": {
@@ -18418,10 +19240,10 @@
}
},
"node_modules/is-stream": {
- "version": "3.0.0",
+ "version": "2.0.1",
"license": "MIT",
"engines": {
- "node": "^12.20.0 || ^14.13.1 || >=16.0.0"
+ "node": ">=8"
},
"funding": {
"url": "https://github.com/sponsors/sindresorhus"
@@ -18562,7 +19384,7 @@
}
},
"node_modules/isows": {
- "version": "1.0.2",
+ "version": "1.0.3",
"funding": [
{
"type": "github",
@@ -18700,49 +19522,23 @@
"json-stringify-safe": "^5.0.1",
"JSONStream": "^1.3.5",
"uuid": "^8.3.2",
- "ws": "^7.4.5"
- },
- "bin": {
- "jayson": "bin/jayson.js"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/jayson/node_modules/@types/node": {
- "version": "12.20.55",
- "license": "MIT"
- },
- "node_modules/jayson/node_modules/commander": {
- "version": "2.20.3",
- "license": "MIT"
- },
- "node_modules/jayson/node_modules/uuid": {
- "version": "8.3.2",
- "license": "MIT",
- "bin": {
- "uuid": "dist/bin/uuid"
- }
- },
- "node_modules/jayson/node_modules/ws": {
- "version": "7.5.9",
- "license": "MIT",
- "engines": {
- "node": ">=8.3.0"
- },
- "peerDependencies": {
- "bufferutil": "^4.0.1",
- "utf-8-validate": "^5.0.2"
+ "ws": "^7.4.5"
},
- "peerDependenciesMeta": {
- "bufferutil": {
- "optional": true
- },
- "utf-8-validate": {
- "optional": true
- }
+ "bin": {
+ "jayson": "bin/jayson.js"
+ },
+ "engines": {
+ "node": ">=8"
}
},
+ "node_modules/jayson/node_modules/@types/node": {
+ "version": "12.20.55",
+ "license": "MIT"
+ },
+ "node_modules/jayson/node_modules/commander": {
+ "version": "2.20.3",
+ "license": "MIT"
+ },
"node_modules/jest": {
"version": "29.7.0",
"license": "MIT",
@@ -19292,15 +20088,15 @@
}
},
"node_modules/jest-environment-node": {
- "version": "29.6.4",
+ "version": "29.7.0",
"license": "MIT",
"dependencies": {
- "@jest/environment": "^29.6.4",
- "@jest/fake-timers": "^29.6.4",
+ "@jest/environment": "^29.7.0",
+ "@jest/fake-timers": "^29.7.0",
"@jest/types": "^29.6.3",
"@types/node": "*",
- "jest-mock": "^29.6.3",
- "jest-util": "^29.6.3"
+ "jest-mock": "^29.7.0",
+ "jest-util": "^29.7.0"
},
"engines": {
"node": "^14.15.0 || ^16.10.0 || >=18.0.0"
@@ -19438,7 +20234,7 @@
}
},
"node_modules/jest-message-util": {
- "version": "29.6.3",
+ "version": "29.7.0",
"license": "MIT",
"dependencies": {
"@babel/code-frame": "^7.12.13",
@@ -19447,7 +20243,7 @@
"chalk": "^4.0.0",
"graceful-fs": "^4.2.9",
"micromatch": "^4.0.4",
- "pretty-format": "^29.6.3",
+ "pretty-format": "^29.7.0",
"slash": "^3.0.0",
"stack-utils": "^2.0.3"
},
@@ -19455,13 +20251,71 @@
"node": "^14.15.0 || ^16.10.0 || >=18.0.0"
}
},
+ "node_modules/jest-message-util/node_modules/ansi-styles": {
+ "version": "4.3.0",
+ "license": "MIT",
+ "dependencies": {
+ "color-convert": "^2.0.1"
+ },
+ "engines": {
+ "node": ">=8"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/ansi-styles?sponsor=1"
+ }
+ },
+ "node_modules/jest-message-util/node_modules/chalk": {
+ "version": "4.1.2",
+ "license": "MIT",
+ "dependencies": {
+ "ansi-styles": "^4.1.0",
+ "supports-color": "^7.1.0"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/chalk?sponsor=1"
+ }
+ },
+ "node_modules/jest-message-util/node_modules/color-convert": {
+ "version": "2.0.1",
+ "license": "MIT",
+ "dependencies": {
+ "color-name": "~1.1.4"
+ },
+ "engines": {
+ "node": ">=7.0.0"
+ }
+ },
+ "node_modules/jest-message-util/node_modules/color-name": {
+ "version": "1.1.4",
+ "license": "MIT"
+ },
+ "node_modules/jest-message-util/node_modules/has-flag": {
+ "version": "4.0.0",
+ "license": "MIT",
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/jest-message-util/node_modules/supports-color": {
+ "version": "7.2.0",
+ "license": "MIT",
+ "dependencies": {
+ "has-flag": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
"node_modules/jest-mock": {
- "version": "29.6.3",
+ "version": "29.7.0",
"license": "MIT",
"dependencies": {
"@jest/types": "^29.6.3",
"@types/node": "*",
- "jest-util": "^29.6.3"
+ "jest-util": "^29.7.0"
},
"engines": {
"node": "^14.15.0 || ^16.10.0 || >=18.0.0"
@@ -19849,7 +20703,7 @@
}
},
"node_modules/jest-util": {
- "version": "29.6.3",
+ "version": "29.7.0",
"license": "MIT",
"dependencies": {
"@jest/types": "^29.6.3",
@@ -19863,8 +20717,66 @@
"node": "^14.15.0 || ^16.10.0 || >=18.0.0"
}
},
+ "node_modules/jest-util/node_modules/ansi-styles": {
+ "version": "4.3.0",
+ "license": "MIT",
+ "dependencies": {
+ "color-convert": "^2.0.1"
+ },
+ "engines": {
+ "node": ">=8"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/ansi-styles?sponsor=1"
+ }
+ },
+ "node_modules/jest-util/node_modules/chalk": {
+ "version": "4.1.2",
+ "license": "MIT",
+ "dependencies": {
+ "ansi-styles": "^4.1.0",
+ "supports-color": "^7.1.0"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/chalk?sponsor=1"
+ }
+ },
+ "node_modules/jest-util/node_modules/color-convert": {
+ "version": "2.0.1",
+ "license": "MIT",
+ "dependencies": {
+ "color-name": "~1.1.4"
+ },
+ "engines": {
+ "node": ">=7.0.0"
+ }
+ },
+ "node_modules/jest-util/node_modules/color-name": {
+ "version": "1.1.4",
+ "license": "MIT"
+ },
+ "node_modules/jest-util/node_modules/has-flag": {
+ "version": "4.0.0",
+ "license": "MIT",
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/jest-util/node_modules/supports-color": {
+ "version": "7.2.0",
+ "license": "MIT",
+ "dependencies": {
+ "has-flag": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
"node_modules/jest-validate": {
- "version": "29.6.3",
+ "version": "29.7.0",
"license": "MIT",
"dependencies": {
"@jest/types": "^29.6.3",
@@ -19872,12 +20784,70 @@
"chalk": "^4.0.0",
"jest-get-type": "^29.6.3",
"leven": "^3.1.0",
- "pretty-format": "^29.6.3"
+ "pretty-format": "^29.7.0"
},
"engines": {
"node": "^14.15.0 || ^16.10.0 || >=18.0.0"
}
},
+ "node_modules/jest-validate/node_modules/ansi-styles": {
+ "version": "4.3.0",
+ "license": "MIT",
+ "dependencies": {
+ "color-convert": "^2.0.1"
+ },
+ "engines": {
+ "node": ">=8"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/ansi-styles?sponsor=1"
+ }
+ },
+ "node_modules/jest-validate/node_modules/chalk": {
+ "version": "4.1.2",
+ "license": "MIT",
+ "dependencies": {
+ "ansi-styles": "^4.1.0",
+ "supports-color": "^7.1.0"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/chalk?sponsor=1"
+ }
+ },
+ "node_modules/jest-validate/node_modules/color-convert": {
+ "version": "2.0.1",
+ "license": "MIT",
+ "dependencies": {
+ "color-name": "~1.1.4"
+ },
+ "engines": {
+ "node": ">=7.0.0"
+ }
+ },
+ "node_modules/jest-validate/node_modules/color-name": {
+ "version": "1.1.4",
+ "license": "MIT"
+ },
+ "node_modules/jest-validate/node_modules/has-flag": {
+ "version": "4.0.0",
+ "license": "MIT",
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/jest-validate/node_modules/supports-color": {
+ "version": "7.2.0",
+ "license": "MIT",
+ "dependencies": {
+ "has-flag": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
"node_modules/jest-watch-select-projects": {
"version": "2.0.0",
"license": "MIT",
@@ -20216,7 +21186,7 @@
}
},
"node_modules/joi": {
- "version": "17.10.1",
+ "version": "17.11.0",
"license": "BSD-3-Clause",
"dependencies": {
"@hapi/hoek": "^9.0.0",
@@ -20247,10 +21217,11 @@
"license": "MIT"
},
"node_modules/js-yaml": {
- "version": "4.1.0",
+ "version": "3.14.1",
"license": "MIT",
"dependencies": {
- "argparse": "^2.0.1"
+ "argparse": "^1.0.7",
+ "esprima": "^4.0.0"
},
"bin": {
"js-yaml": "bin/js-yaml.js"
@@ -20299,6 +21270,64 @@
"@babel/preset-env": "^7.1.6"
}
},
+ "node_modules/jscodeshift/node_modules/ansi-styles": {
+ "version": "4.3.0",
+ "license": "MIT",
+ "dependencies": {
+ "color-convert": "^2.0.1"
+ },
+ "engines": {
+ "node": ">=8"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/ansi-styles?sponsor=1"
+ }
+ },
+ "node_modules/jscodeshift/node_modules/chalk": {
+ "version": "4.1.2",
+ "license": "MIT",
+ "dependencies": {
+ "ansi-styles": "^4.1.0",
+ "supports-color": "^7.1.0"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/chalk?sponsor=1"
+ }
+ },
+ "node_modules/jscodeshift/node_modules/color-convert": {
+ "version": "2.0.1",
+ "license": "MIT",
+ "dependencies": {
+ "color-name": "~1.1.4"
+ },
+ "engines": {
+ "node": ">=7.0.0"
+ }
+ },
+ "node_modules/jscodeshift/node_modules/color-name": {
+ "version": "1.1.4",
+ "license": "MIT"
+ },
+ "node_modules/jscodeshift/node_modules/has-flag": {
+ "version": "4.0.0",
+ "license": "MIT",
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/jscodeshift/node_modules/supports-color": {
+ "version": "7.2.0",
+ "license": "MIT",
+ "dependencies": {
+ "has-flag": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
"node_modules/jsdom": {
"version": "20.0.3",
"license": "MIT",
@@ -20479,13 +21508,13 @@
"license": "ISC"
},
"node_modules/json5": {
- "version": "1.0.2",
- "license": "MIT",
- "dependencies": {
- "minimist": "^1.2.0"
- },
+ "version": "2.2.3",
+ "license": "MIT",
"bin": {
"json5": "lib/cli.js"
+ },
+ "engines": {
+ "node": ">=6"
}
},
"node_modules/jsonfile": {
@@ -20608,7 +21637,8 @@
},
"node_modules/libhoney": {
"version": "4.1.0",
- "license": "Apache-2.0",
+ "resolved": "https://registry.npmjs.org/libhoney/-/libhoney-4.1.0.tgz",
+ "integrity": "sha512-U8oCouZXzjlO67wAhDyvnskn9MJFIzTWkxpzsAawUU4nQLMSdISgaGL64eqAeElLRnjlA4hhREr8zOz1So0+yg==",
"dependencies": {
"proxy-agent": "^6.3.0",
"superagent": "^8.0.0",
@@ -20620,7 +21650,8 @@
},
"node_modules/libhoney/node_modules/url-join": {
"version": "5.0.0",
- "license": "MIT",
+ "resolved": "https://registry.npmjs.org/url-join/-/url-join-5.0.0.tgz",
+ "integrity": "sha512-n2huDr9h9yzd6exQVnH/jU5mr+Pfx08LRXXZhkLLetAMESRj+anQsTAh940iMrIetKAmry9coFuZQ2jY8/p3WA==",
"engines": {
"node": "^12.20.0 || ^14.13.1 || >=16.0.0"
}
@@ -20780,6 +21811,64 @@
"url": "https://github.com/sponsors/sindresorhus"
}
},
+ "node_modules/log-symbols/node_modules/ansi-styles": {
+ "version": "4.3.0",
+ "license": "MIT",
+ "dependencies": {
+ "color-convert": "^2.0.1"
+ },
+ "engines": {
+ "node": ">=8"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/ansi-styles?sponsor=1"
+ }
+ },
+ "node_modules/log-symbols/node_modules/chalk": {
+ "version": "4.1.2",
+ "license": "MIT",
+ "dependencies": {
+ "ansi-styles": "^4.1.0",
+ "supports-color": "^7.1.0"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/chalk?sponsor=1"
+ }
+ },
+ "node_modules/log-symbols/node_modules/color-convert": {
+ "version": "2.0.1",
+ "license": "MIT",
+ "dependencies": {
+ "color-name": "~1.1.4"
+ },
+ "engines": {
+ "node": ">=7.0.0"
+ }
+ },
+ "node_modules/log-symbols/node_modules/color-name": {
+ "version": "1.1.4",
+ "license": "MIT"
+ },
+ "node_modules/log-symbols/node_modules/has-flag": {
+ "version": "4.0.0",
+ "license": "MIT",
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/log-symbols/node_modules/supports-color": {
+ "version": "7.2.0",
+ "license": "MIT",
+ "dependencies": {
+ "has-flag": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
"node_modules/logkitty": {
"version": "0.7.1",
"license": "MIT",
@@ -20792,6 +21881,19 @@
"logkitty": "bin/logkitty.js"
}
},
+ "node_modules/logkitty/node_modules/ansi-styles": {
+ "version": "4.3.0",
+ "license": "MIT",
+ "dependencies": {
+ "color-convert": "^2.0.1"
+ },
+ "engines": {
+ "node": ">=8"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/ansi-styles?sponsor=1"
+ }
+ },
"node_modules/logkitty/node_modules/camelcase": {
"version": "5.3.1",
"license": "MIT",
@@ -20808,6 +21910,20 @@
"wrap-ansi": "^6.2.0"
}
},
+ "node_modules/logkitty/node_modules/color-convert": {
+ "version": "2.0.1",
+ "license": "MIT",
+ "dependencies": {
+ "color-name": "~1.1.4"
+ },
+ "engines": {
+ "node": ">=7.0.0"
+ }
+ },
+ "node_modules/logkitty/node_modules/color-name": {
+ "version": "1.1.4",
+ "license": "MIT"
+ },
"node_modules/logkitty/node_modules/find-up": {
"version": "4.1.0",
"license": "MIT",
@@ -21061,7 +22177,8 @@
},
"node_modules/methods": {
"version": "1.1.2",
- "license": "MIT",
+ "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz",
+ "integrity": "sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==",
"engines": {
"node": ">= 0.6"
}
@@ -21172,13 +22289,6 @@
"node": ">=16"
}
},
- "node_modules/metro-config/node_modules/argparse": {
- "version": "1.0.10",
- "license": "MIT",
- "dependencies": {
- "sprintf-js": "~1.0.2"
- }
- },
"node_modules/metro-config/node_modules/cosmiconfig": {
"version": "5.2.1",
"license": "MIT",
@@ -21203,17 +22313,6 @@
"node": ">=4"
}
},
- "node_modules/metro-config/node_modules/js-yaml": {
- "version": "3.14.1",
- "license": "MIT",
- "dependencies": {
- "argparse": "^1.0.7",
- "esprima": "^4.0.0"
- },
- "bin": {
- "js-yaml": "bin/js-yaml.js"
- }
- },
"node_modules/metro-config/node_modules/metro-runtime": {
"version": "0.76.7",
"license": "MIT",
@@ -21293,12 +22392,53 @@
}
},
"node_modules/metro-file-map/node_modules/@types/yargs": {
- "version": "16.0.5",
+ "version": "16.0.6",
"license": "MIT",
"dependencies": {
"@types/yargs-parser": "*"
}
},
+ "node_modules/metro-file-map/node_modules/ansi-styles": {
+ "version": "4.3.0",
+ "license": "MIT",
+ "dependencies": {
+ "color-convert": "^2.0.1"
+ },
+ "engines": {
+ "node": ">=8"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/ansi-styles?sponsor=1"
+ }
+ },
+ "node_modules/metro-file-map/node_modules/chalk": {
+ "version": "4.1.2",
+ "license": "MIT",
+ "dependencies": {
+ "ansi-styles": "^4.1.0",
+ "supports-color": "^7.1.0"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/chalk?sponsor=1"
+ }
+ },
+ "node_modules/metro-file-map/node_modules/color-convert": {
+ "version": "2.0.1",
+ "license": "MIT",
+ "dependencies": {
+ "color-name": "~1.1.4"
+ },
+ "engines": {
+ "node": ">=7.0.0"
+ }
+ },
+ "node_modules/metro-file-map/node_modules/color-name": {
+ "version": "1.1.4",
+ "license": "MIT"
+ },
"node_modules/metro-file-map/node_modules/debug": {
"version": "2.6.9",
"license": "MIT",
@@ -21306,6 +22446,13 @@
"ms": "2.0.0"
}
},
+ "node_modules/metro-file-map/node_modules/has-flag": {
+ "version": "4.0.0",
+ "license": "MIT",
+ "engines": {
+ "node": ">=8"
+ }
+ },
"node_modules/metro-file-map/node_modules/jest-regex-util": {
"version": "27.5.1",
"license": "MIT",
@@ -21340,11 +22487,7 @@
"node": ">= 10.13.0"
}
},
- "node_modules/metro-file-map/node_modules/ms": {
- "version": "2.0.0",
- "license": "MIT"
- },
- "node_modules/metro-file-map/node_modules/supports-color": {
+ "node_modules/metro-file-map/node_modules/jest-worker/node_modules/supports-color": {
"version": "8.1.1",
"license": "MIT",
"dependencies": {
@@ -21357,6 +22500,20 @@
"url": "https://github.com/chalk/supports-color?sponsor=1"
}
},
+ "node_modules/metro-file-map/node_modules/ms": {
+ "version": "2.0.0",
+ "license": "MIT"
+ },
+ "node_modules/metro-file-map/node_modules/supports-color": {
+ "version": "7.2.0",
+ "license": "MIT",
+ "dependencies": {
+ "has-flag": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
"node_modules/metro-inspector-proxy": {
"version": "0.76.7",
"license": "MIT",
@@ -21374,18 +22531,6 @@
"node": ">=16"
}
},
- "node_modules/metro-inspector-proxy/node_modules/cliui": {
- "version": "8.0.1",
- "license": "ISC",
- "dependencies": {
- "string-width": "^4.2.0",
- "strip-ansi": "^6.0.1",
- "wrap-ansi": "^7.0.0"
- },
- "engines": {
- "node": ">=12"
- }
- },
"node_modules/metro-inspector-proxy/node_modules/debug": {
"version": "2.6.9",
"license": "MIT",
@@ -21397,40 +22542,6 @@
"version": "2.0.0",
"license": "MIT"
},
- "node_modules/metro-inspector-proxy/node_modules/node-fetch": {
- "version": "2.7.0",
- "license": "MIT",
- "dependencies": {
- "whatwg-url": "^5.0.0"
- },
- "engines": {
- "node": "4.x || >=6.0.0"
- },
- "peerDependencies": {
- "encoding": "^0.1.0"
- },
- "peerDependenciesMeta": {
- "encoding": {
- "optional": true
- }
- }
- },
- "node_modules/metro-inspector-proxy/node_modules/tr46": {
- "version": "0.0.3",
- "license": "MIT"
- },
- "node_modules/metro-inspector-proxy/node_modules/webidl-conversions": {
- "version": "3.0.1",
- "license": "BSD-2-Clause"
- },
- "node_modules/metro-inspector-proxy/node_modules/whatwg-url": {
- "version": "5.0.0",
- "license": "MIT",
- "dependencies": {
- "tr46": "~0.0.3",
- "webidl-conversions": "^3.0.0"
- }
- },
"node_modules/metro-inspector-proxy/node_modules/ws": {
"version": "7.5.9",
"license": "MIT",
@@ -21450,22 +22561,6 @@
}
}
},
- "node_modules/metro-inspector-proxy/node_modules/yargs": {
- "version": "17.7.2",
- "license": "MIT",
- "dependencies": {
- "cliui": "^8.0.1",
- "escalade": "^3.1.1",
- "get-caller-file": "^2.0.5",
- "require-directory": "^2.1.1",
- "string-width": "^4.2.3",
- "y18n": "^5.0.5",
- "yargs-parser": "^21.1.1"
- },
- "engines": {
- "node": ">=12"
- }
- },
"node_modules/metro-minify-terser": {
"version": "0.76.7",
"license": "MIT",
@@ -21780,22 +22875,55 @@
"node": ">=0.10.0"
}
},
+ "node_modules/metro/node_modules/ansi-styles": {
+ "version": "4.3.0",
+ "license": "MIT",
+ "dependencies": {
+ "color-convert": "^2.0.1"
+ },
+ "engines": {
+ "node": ">=8"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/ansi-styles?sponsor=1"
+ }
+ },
+ "node_modules/metro/node_modules/async": {
+ "version": "3.2.4",
+ "license": "MIT"
+ },
+ "node_modules/metro/node_modules/chalk": {
+ "version": "4.1.2",
+ "license": "MIT",
+ "dependencies": {
+ "ansi-styles": "^4.1.0",
+ "supports-color": "^7.1.0"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/chalk?sponsor=1"
+ }
+ },
"node_modules/metro/node_modules/ci-info": {
"version": "2.0.0",
"license": "MIT"
},
- "node_modules/metro/node_modules/cliui": {
- "version": "8.0.1",
- "license": "ISC",
+ "node_modules/metro/node_modules/color-convert": {
+ "version": "2.0.1",
+ "license": "MIT",
"dependencies": {
- "string-width": "^4.2.0",
- "strip-ansi": "^6.0.1",
- "wrap-ansi": "^7.0.0"
+ "color-name": "~1.1.4"
},
"engines": {
- "node": ">=12"
+ "node": ">=7.0.0"
}
},
+ "node_modules/metro/node_modules/color-name": {
+ "version": "1.1.4",
+ "license": "MIT"
+ },
"node_modules/metro/node_modules/debug": {
"version": "2.6.9",
"license": "MIT",
@@ -21803,6 +22931,13 @@
"ms": "2.0.0"
}
},
+ "node_modules/metro/node_modules/has-flag": {
+ "version": "4.0.0",
+ "license": "MIT",
+ "engines": {
+ "node": ">=8"
+ }
+ },
"node_modules/metro/node_modules/jest-worker": {
"version": "27.5.1",
"license": "MIT",
@@ -21815,6 +22950,19 @@
"node": ">= 10.13.0"
}
},
+ "node_modules/metro/node_modules/jest-worker/node_modules/supports-color": {
+ "version": "8.1.1",
+ "license": "MIT",
+ "dependencies": {
+ "has-flag": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/supports-color?sponsor=1"
+ }
+ },
"node_modules/metro/node_modules/metro-react-native-babel-preset": {
"version": "0.76.7",
"license": "MIT",
@@ -21898,24 +23046,6 @@
"version": "2.0.0",
"license": "MIT"
},
- "node_modules/metro/node_modules/node-fetch": {
- "version": "2.7.0",
- "license": "MIT",
- "dependencies": {
- "whatwg-url": "^5.0.0"
- },
- "engines": {
- "node": "4.x || >=6.0.0"
- },
- "peerDependencies": {
- "encoding": "^0.1.0"
- },
- "peerDependenciesMeta": {
- "encoding": {
- "optional": true
- }
- }
- },
"node_modules/metro/node_modules/ob1": {
"version": "0.76.7",
"license": "MIT",
@@ -21938,32 +23068,13 @@
}
},
"node_modules/metro/node_modules/supports-color": {
- "version": "8.1.1",
+ "version": "7.2.0",
"license": "MIT",
"dependencies": {
"has-flag": "^4.0.0"
},
"engines": {
- "node": ">=10"
- },
- "funding": {
- "url": "https://github.com/chalk/supports-color?sponsor=1"
- }
- },
- "node_modules/metro/node_modules/tr46": {
- "version": "0.0.3",
- "license": "MIT"
- },
- "node_modules/metro/node_modules/webidl-conversions": {
- "version": "3.0.1",
- "license": "BSD-2-Clause"
- },
- "node_modules/metro/node_modules/whatwg-url": {
- "version": "5.0.0",
- "license": "MIT",
- "dependencies": {
- "tr46": "~0.0.3",
- "webidl-conversions": "^3.0.0"
+ "node": ">=8"
}
},
"node_modules/metro/node_modules/ws": {
@@ -21985,22 +23096,6 @@
}
}
},
- "node_modules/metro/node_modules/yargs": {
- "version": "17.7.2",
- "license": "MIT",
- "dependencies": {
- "cliui": "^8.0.1",
- "escalade": "^3.1.1",
- "get-caller-file": "^2.0.5",
- "require-directory": "^2.1.1",
- "string-width": "^4.2.3",
- "y18n": "^5.0.5",
- "yargs-parser": "^21.1.1"
- },
- "engines": {
- "node": ">=12"
- }
- },
"node_modules/micromatch": {
"version": "4.0.5",
"license": "MIT",
@@ -22130,13 +23225,13 @@
}
},
"node_modules/mkdirp": {
- "version": "0.5.6",
+ "version": "1.0.4",
"license": "MIT",
- "dependencies": {
- "minimist": "^1.2.6"
- },
"bin": {
"mkdirp": "bin/cmd.js"
+ },
+ "engines": {
+ "node": ">=10"
}
},
"node_modules/mock-property": {
@@ -22306,7 +23401,8 @@
},
"node_modules/netmask": {
"version": "2.0.2",
- "license": "MIT",
+ "resolved": "https://registry.npmjs.org/netmask/-/netmask-2.0.2.tgz",
+ "integrity": "sha512-dBpDMdxv9Irdq66304OLfEmQ9tbNRFnFTuZiLo+bD+r332bBmMJ8GBLXklIXXgxd3+v9+KUnZaUR5PJMa75Gsg==",
"engines": {
"node": ">= 0.4.0"
}
@@ -22400,6 +23496,7 @@
},
"node_modules/node-domexception": {
"version": "1.0.0",
+ "dev": true,
"funding": [
{
"type": "github",
@@ -22416,19 +23513,21 @@
}
},
"node_modules/node-fetch": {
- "version": "3.3.2",
+ "version": "2.7.0",
"license": "MIT",
"dependencies": {
- "data-uri-to-buffer": "^4.0.0",
- "fetch-blob": "^3.1.4",
- "formdata-polyfill": "^4.0.10"
+ "whatwg-url": "^5.0.0"
},
"engines": {
- "node": "^12.20.0 || ^14.13.1 || >=16.0.0"
+ "node": "4.x || >=6.0.0"
},
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/node-fetch"
+ "peerDependencies": {
+ "encoding": "^0.1.0"
+ },
+ "peerDependenciesMeta": {
+ "encoding": {
+ "optional": true
+ }
}
},
"node_modules/node-forge": {
@@ -22568,7 +23667,7 @@
}
},
"node_modules/object-inspect": {
- "version": "1.12.3",
+ "version": "1.13.0",
"license": "MIT",
"funding": {
"url": "https://github.com/sponsors/ljharb"
@@ -22778,6 +23877,64 @@
"url": "https://github.com/sponsors/sindresorhus"
}
},
+ "node_modules/ora/node_modules/ansi-styles": {
+ "version": "4.3.0",
+ "license": "MIT",
+ "dependencies": {
+ "color-convert": "^2.0.1"
+ },
+ "engines": {
+ "node": ">=8"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/ansi-styles?sponsor=1"
+ }
+ },
+ "node_modules/ora/node_modules/chalk": {
+ "version": "4.1.2",
+ "license": "MIT",
+ "dependencies": {
+ "ansi-styles": "^4.1.0",
+ "supports-color": "^7.1.0"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/chalk?sponsor=1"
+ }
+ },
+ "node_modules/ora/node_modules/color-convert": {
+ "version": "2.0.1",
+ "license": "MIT",
+ "dependencies": {
+ "color-name": "~1.1.4"
+ },
+ "engines": {
+ "node": ">=7.0.0"
+ }
+ },
+ "node_modules/ora/node_modules/color-name": {
+ "version": "1.1.4",
+ "license": "MIT"
+ },
+ "node_modules/ora/node_modules/has-flag": {
+ "version": "4.0.0",
+ "license": "MIT",
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/ora/node_modules/supports-color": {
+ "version": "7.2.0",
+ "license": "MIT",
+ "dependencies": {
+ "has-flag": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
"node_modules/os-homedir": {
"version": "1.0.2",
"license": "MIT",
@@ -22866,7 +24023,8 @@
},
"node_modules/pac-proxy-agent": {
"version": "7.0.1",
- "license": "MIT",
+ "resolved": "https://registry.npmjs.org/pac-proxy-agent/-/pac-proxy-agent-7.0.1.tgz",
+ "integrity": "sha512-ASV8yU4LLKBAjqIPMbrgtaKIvxQri/yh2OpI+S6hVa9JRkUI3Y3NPFbfngDtY7oFtSMD3w31Xns89mDa3Feo5A==",
"dependencies": {
"@tootallnate/quickjs-emscripten": "^0.23.0",
"agent-base": "^7.0.2",
@@ -22883,7 +24041,8 @@
},
"node_modules/pac-proxy-agent/node_modules/agent-base": {
"version": "7.1.0",
- "license": "MIT",
+ "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-7.1.0.tgz",
+ "integrity": "sha512-o/zjMZRhJxny7OyEF+Op8X+efiELC7k7yOjMzgfzVqOzXqkBkWI79YoTdOtsuWd5BWhAGAuOY/Xa6xpiaWXiNg==",
"dependencies": {
"debug": "^4.3.4"
},
@@ -22893,7 +24052,8 @@
},
"node_modules/pac-proxy-agent/node_modules/http-proxy-agent": {
"version": "7.0.0",
- "license": "MIT",
+ "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-7.0.0.tgz",
+ "integrity": "sha512-+ZT+iBxVUQ1asugqnD6oWoRiS25AkjNfG085dKJGtGxkdwLQrMKU5wJr2bOOFAXzKcTuqq+7fZlTMgG3SRfIYQ==",
"dependencies": {
"agent-base": "^7.1.0",
"debug": "^4.3.4"
@@ -22904,7 +24064,8 @@
},
"node_modules/pac-proxy-agent/node_modules/https-proxy-agent": {
"version": "7.0.2",
- "license": "MIT",
+ "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-7.0.2.tgz",
+ "integrity": "sha512-NmLNjm6ucYwtcUmL7JQC1ZQ57LmHP4lT15FQ8D61nak1rO6DH+fz5qNK2Ap5UN4ZapYICE3/0KodcLYSPsPbaA==",
"dependencies": {
"agent-base": "^7.0.2",
"debug": "4"
@@ -22915,7 +24076,8 @@
},
"node_modules/pac-resolver": {
"version": "7.0.0",
- "license": "MIT",
+ "resolved": "https://registry.npmjs.org/pac-resolver/-/pac-resolver-7.0.0.tgz",
+ "integrity": "sha512-Fd9lT9vJbHYRACT8OhCbZBbxr6KRSawSovFpy8nDGshaK99S/EBhVIHp9+crhxrsZOuvLpgL1n23iyPg6Rl2hg==",
"dependencies": {
"degenerator": "^5.0.0",
"ip": "^1.1.8",
@@ -23468,7 +24630,7 @@
}
},
"node_modules/postcss-load-config/node_modules/yaml": {
- "version": "2.3.2",
+ "version": "2.3.3",
"license": "ISC",
"engines": {
"node": ">= 14"
@@ -23591,7 +24753,7 @@
}
},
"node_modules/pretty-format": {
- "version": "29.6.3",
+ "version": "29.7.0",
"license": "MIT",
"dependencies": {
"@jest/schemas": "^29.6.3",
@@ -23714,7 +24876,8 @@
},
"node_modules/proxy-agent": {
"version": "6.3.1",
- "license": "MIT",
+ "resolved": "https://registry.npmjs.org/proxy-agent/-/proxy-agent-6.3.1.tgz",
+ "integrity": "sha512-Rb5RVBy1iyqOtNl15Cw/llpeLH8bsb37gM1FUfKQ+Wck6xHlbAhWGUFiTRHtkjqGTA5pSHz6+0hrPW/oECihPQ==",
"dependencies": {
"agent-base": "^7.0.2",
"debug": "^4.3.4",
@@ -23731,7 +24894,8 @@
},
"node_modules/proxy-agent/node_modules/agent-base": {
"version": "7.1.0",
- "license": "MIT",
+ "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-7.1.0.tgz",
+ "integrity": "sha512-o/zjMZRhJxny7OyEF+Op8X+efiELC7k7yOjMzgfzVqOzXqkBkWI79YoTdOtsuWd5BWhAGAuOY/Xa6xpiaWXiNg==",
"dependencies": {
"debug": "^4.3.4"
},
@@ -23741,7 +24905,8 @@
},
"node_modules/proxy-agent/node_modules/http-proxy-agent": {
"version": "7.0.0",
- "license": "MIT",
+ "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-7.0.0.tgz",
+ "integrity": "sha512-+ZT+iBxVUQ1asugqnD6oWoRiS25AkjNfG085dKJGtGxkdwLQrMKU5wJr2bOOFAXzKcTuqq+7fZlTMgG3SRfIYQ==",
"dependencies": {
"agent-base": "^7.1.0",
"debug": "^4.3.4"
@@ -23752,7 +24917,8 @@
},
"node_modules/proxy-agent/node_modules/https-proxy-agent": {
"version": "7.0.2",
- "license": "MIT",
+ "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-7.0.2.tgz",
+ "integrity": "sha512-NmLNjm6ucYwtcUmL7JQC1ZQ57LmHP4lT15FQ8D61nak1rO6DH+fz5qNK2Ap5UN4ZapYICE3/0KodcLYSPsPbaA==",
"dependencies": {
"agent-base": "^7.0.2",
"debug": "4"
@@ -23763,7 +24929,8 @@
},
"node_modules/proxy-agent/node_modules/lru-cache": {
"version": "7.18.3",
- "license": "ISC",
+ "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-7.18.3.tgz",
+ "integrity": "sha512-jumlc0BIUrS3qJGgIkWZsyfAM7NCWiBcCDhnd+3NNM5KbBmLTgHVfWBcg6W+rLUsIpzpERPsvwUP7CckAQSOoA==",
"engines": {
"node": ">=12"
}
@@ -23810,7 +24977,7 @@
"license": "MIT"
},
"node_modules/qrcode": {
- "version": "1.5.3",
+ "version": "1.5.0",
"license": "MIT",
"dependencies": {
"dijkstrajs": "^1.0.1",
@@ -23831,6 +24998,19 @@
"qrcode-terminal": "bin/qrcode-terminal.js"
}
},
+ "node_modules/qrcode/node_modules/ansi-styles": {
+ "version": "4.3.0",
+ "license": "MIT",
+ "dependencies": {
+ "color-convert": "^2.0.1"
+ },
+ "engines": {
+ "node": ">=8"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/ansi-styles?sponsor=1"
+ }
+ },
"node_modules/qrcode/node_modules/camelcase": {
"version": "5.3.1",
"license": "MIT",
@@ -23847,6 +25027,20 @@
"wrap-ansi": "^6.2.0"
}
},
+ "node_modules/qrcode/node_modules/color-convert": {
+ "version": "2.0.1",
+ "license": "MIT",
+ "dependencies": {
+ "color-name": "~1.1.4"
+ },
+ "engines": {
+ "node": ">=7.0.0"
+ }
+ },
+ "node_modules/qrcode/node_modules/color-name": {
+ "version": "1.1.4",
+ "license": "MIT"
+ },
"node_modules/qrcode/node_modules/find-up": {
"version": "4.1.0",
"license": "MIT",
@@ -24085,32 +25279,13 @@
}
},
"node_modules/react-devtools-core": {
- "version": "4.28.0",
+ "version": "4.28.4",
"license": "MIT",
"dependencies": {
"shell-quote": "^1.6.1",
"ws": "^7"
}
},
- "node_modules/react-devtools-core/node_modules/ws": {
- "version": "7.5.9",
- "license": "MIT",
- "engines": {
- "node": ">=8.3.0"
- },
- "peerDependencies": {
- "bufferutil": "^4.0.1",
- "utf-8-validate": "^5.0.2"
- },
- "peerDependenciesMeta": {
- "bufferutil": {
- "optional": true
- },
- "utf-8-validate": {
- "optional": true
- }
- }
- },
"node_modules/react-dom": {
"version": "18.2.0",
"license": "MIT",
@@ -24417,42 +25592,88 @@
"css-select": "^5.1.0",
"css-tree": "^1.1.3"
},
- "peerDependencies": {
- "react": "*",
- "react-native": "*"
+ "peerDependencies": {
+ "react": "*",
+ "react-native": "*"
+ }
+ },
+ "node_modules/react-native/node_modules/@jest/types": {
+ "version": "26.6.2",
+ "license": "MIT",
+ "dependencies": {
+ "@types/istanbul-lib-coverage": "^2.0.0",
+ "@types/istanbul-reports": "^3.0.0",
+ "@types/node": "*",
+ "@types/yargs": "^15.0.0",
+ "chalk": "^4.0.0"
+ },
+ "engines": {
+ "node": ">= 10.14.2"
+ }
+ },
+ "node_modules/react-native/node_modules/@types/yargs": {
+ "version": "15.0.16",
+ "license": "MIT",
+ "dependencies": {
+ "@types/yargs-parser": "*"
+ }
+ },
+ "node_modules/react-native/node_modules/ansi-styles": {
+ "version": "4.3.0",
+ "license": "MIT",
+ "dependencies": {
+ "color-convert": "^2.0.1"
+ },
+ "engines": {
+ "node": ">=8"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/ansi-styles?sponsor=1"
+ }
+ },
+ "node_modules/react-native/node_modules/chalk": {
+ "version": "4.1.2",
+ "license": "MIT",
+ "dependencies": {
+ "ansi-styles": "^4.1.0",
+ "supports-color": "^7.1.0"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/chalk?sponsor=1"
}
},
- "node_modules/react-native/node_modules/@jest/types": {
- "version": "26.6.2",
+ "node_modules/react-native/node_modules/color-convert": {
+ "version": "2.0.1",
"license": "MIT",
"dependencies": {
- "@types/istanbul-lib-coverage": "^2.0.0",
- "@types/istanbul-reports": "^3.0.0",
- "@types/node": "*",
- "@types/yargs": "^15.0.0",
- "chalk": "^4.0.0"
+ "color-name": "~1.1.4"
},
"engines": {
- "node": ">= 10.14.2"
+ "node": ">=7.0.0"
}
},
- "node_modules/react-native/node_modules/@types/yargs": {
- "version": "15.0.15",
+ "node_modules/react-native/node_modules/color-name": {
+ "version": "1.1.4",
+ "license": "MIT"
+ },
+ "node_modules/react-native/node_modules/has-flag": {
+ "version": "4.0.0",
"license": "MIT",
- "dependencies": {
- "@types/yargs-parser": "*"
+ "engines": {
+ "node": ">=8"
}
},
- "node_modules/react-native/node_modules/cliui": {
- "version": "8.0.1",
- "license": "ISC",
+ "node_modules/react-native/node_modules/mkdirp": {
+ "version": "0.5.6",
+ "license": "MIT",
"dependencies": {
- "string-width": "^4.2.0",
- "strip-ansi": "^6.0.1",
- "wrap-ansi": "^7.0.0"
+ "minimist": "^1.2.6"
},
- "engines": {
- "node": ">=12"
+ "bin": {
+ "mkdirp": "bin/cmd.js"
}
},
"node_modules/react-native/node_modules/pretty-format": {
@@ -24490,27 +25711,21 @@
"loose-envify": "^1.1.0"
}
},
- "node_modules/react-native/node_modules/ws": {
- "version": "6.2.2",
+ "node_modules/react-native/node_modules/supports-color": {
+ "version": "7.2.0",
"license": "MIT",
"dependencies": {
- "async-limiter": "~1.0.0"
+ "has-flag": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=8"
}
},
- "node_modules/react-native/node_modules/yargs": {
- "version": "17.7.2",
+ "node_modules/react-native/node_modules/ws": {
+ "version": "6.2.2",
"license": "MIT",
"dependencies": {
- "cliui": "^8.0.1",
- "escalade": "^3.1.1",
- "get-caller-file": "^2.0.5",
- "require-directory": "^2.1.1",
- "string-width": "^4.2.3",
- "y18n": "^5.0.5",
- "yargs-parser": "^21.1.1"
- },
- "engines": {
- "node": ">=12"
+ "async-limiter": "~1.0.0"
}
},
"node_modules/react-refresh": {
@@ -24735,7 +25950,7 @@
"license": "MIT"
},
"node_modules/regenerate-unicode-properties": {
- "version": "10.1.0",
+ "version": "10.1.1",
"license": "MIT",
"dependencies": {
"regenerate": "^1.4.2"
@@ -24876,7 +26091,7 @@
"license": "MIT"
},
"node_modules/resolve": {
- "version": "1.22.4",
+ "version": "1.22.8",
"license": "MIT",
"dependencies": {
"is-core-module": "^2.13.0",
@@ -24916,10 +26131,10 @@
}
},
"node_modules/resolve-from": {
- "version": "4.0.0",
+ "version": "5.0.0",
"license": "MIT",
"engines": {
- "node": ">=4"
+ "node": ">=8"
}
},
"node_modules/resolve-pkg-maps": {
@@ -24986,7 +26201,7 @@
}
},
"node_modules/rollup": {
- "version": "3.29.1",
+ "version": "3.29.4",
"dev": true,
"license": "MIT",
"bin": {
@@ -25018,11 +26233,23 @@
"utf-8-validate": "^5.0.2"
}
},
- "node_modules/rpc-websockets/node_modules/uuid": {
- "version": "8.3.2",
+ "node_modules/rpc-websockets/node_modules/ws": {
+ "version": "8.14.2",
"license": "MIT",
- "bin": {
- "uuid": "dist/bin/uuid"
+ "engines": {
+ "node": ">=10.0.0"
+ },
+ "peerDependencies": {
+ "bufferutil": "^4.0.1",
+ "utf-8-validate": ">=5.0.2"
+ },
+ "peerDependenciesMeta": {
+ "bufferutil": {
+ "optional": true
+ },
+ "utf-8-validate": {
+ "optional": true
+ }
}
},
"node_modules/rtl-detect": {
@@ -25496,27 +26723,13 @@
"node": ">=6"
}
},
- "node_modules/slice-ansi/node_modules/ansi-styles": {
- "version": "3.2.1",
+ "node_modules/slice-ansi/node_modules/is-fullwidth-code-point": {
+ "version": "2.0.0",
"license": "MIT",
- "dependencies": {
- "color-convert": "^1.9.0"
- },
"engines": {
"node": ">=4"
}
},
- "node_modules/slice-ansi/node_modules/color-convert": {
- "version": "1.9.3",
- "license": "MIT",
- "dependencies": {
- "color-name": "1.1.3"
- }
- },
- "node_modules/slice-ansi/node_modules/color-name": {
- "version": "1.1.3",
- "license": "MIT"
- },
"node_modules/slugify": {
"version": "1.6.6",
"license": "MIT",
@@ -25526,7 +26739,8 @@
},
"node_modules/smart-buffer": {
"version": "4.2.0",
- "license": "MIT",
+ "resolved": "https://registry.npmjs.org/smart-buffer/-/smart-buffer-4.2.0.tgz",
+ "integrity": "sha512-94hK0Hh8rPqQl2xXc3HsaBoOXKV20MToPkcXvwbISWLEs+64sBq5kFgn2kJDHb1Pry9yrP0dxrCI9RRci7RXKg==",
"engines": {
"node": ">= 6.0.0",
"npm": ">= 3.0.0"
@@ -25548,7 +26762,8 @@
},
"node_modules/socks": {
"version": "2.7.1",
- "license": "MIT",
+ "resolved": "https://registry.npmjs.org/socks/-/socks-2.7.1.tgz",
+ "integrity": "sha512-7maUZy1N7uo6+WVEX6psASxtNlKaNVMlGQKkG/63nEDdLOWNbiUMoLK7X4uYoLhQstau72mLgfEWcXcwsaHbYQ==",
"dependencies": {
"ip": "^2.0.0",
"smart-buffer": "^4.2.0"
@@ -25560,7 +26775,8 @@
},
"node_modules/socks-proxy-agent": {
"version": "8.0.2",
- "license": "MIT",
+ "resolved": "https://registry.npmjs.org/socks-proxy-agent/-/socks-proxy-agent-8.0.2.tgz",
+ "integrity": "sha512-8zuqoLv1aP/66PHF5TqwJ7Czm3Yv32urJQHrVyhD7mmA6d61Zv8cIXQYPTWwmg6qlupnPvs/QKDmfa4P/qct2g==",
"dependencies": {
"agent-base": "^7.0.2",
"debug": "^4.3.4",
@@ -25572,7 +26788,8 @@
},
"node_modules/socks-proxy-agent/node_modules/agent-base": {
"version": "7.1.0",
- "license": "MIT",
+ "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-7.1.0.tgz",
+ "integrity": "sha512-o/zjMZRhJxny7OyEF+Op8X+efiELC7k7yOjMzgfzVqOzXqkBkWI79YoTdOtsuWd5BWhAGAuOY/Xa6xpiaWXiNg==",
"dependencies": {
"debug": "^4.3.4"
},
@@ -25582,7 +26799,8 @@
},
"node_modules/socks/node_modules/ip": {
"version": "2.0.0",
- "license": "MIT"
+ "resolved": "https://registry.npmjs.org/ip/-/ip-2.0.0.tgz",
+ "integrity": "sha512-WKa+XuLG1A1R0UWhl2+1XQSi+fZWMsYKffMZTTYsiZaUD8k2yDAj5atimTUD2TZkyCkNEeYE5NhFZmupOGtjYQ=="
},
"node_modules/solady": {
"version": "0.0.90",
@@ -25611,8 +26829,7 @@
}
},
"node_modules/source-map-support": {
- "version": "0.5.13",
- "dev": true,
+ "version": "0.5.21",
"license": "MIT",
"dependencies": {
"buffer-from": "^1.0.0",
@@ -25644,7 +26861,7 @@
}
},
"node_modules/sprintf-js": {
- "version": "1.0.3",
+ "version": "1.1.2",
"license": "BSD-3-Clause"
},
"node_modules/ssri": {
@@ -25824,17 +27041,6 @@
"node": ">=8"
}
},
- "node_modules/string-width/node_modules/emoji-regex": {
- "version": "8.0.0",
- "license": "MIT"
- },
- "node_modules/string-width/node_modules/is-fullwidth-code-point": {
- "version": "3.0.0",
- "license": "MIT",
- "engines": {
- "node": ">=8"
- }
- },
"node_modules/string.prototype.matchall": {
"version": "4.0.10",
"license": "MIT",
@@ -26017,7 +27223,8 @@
},
"node_modules/superagent": {
"version": "8.1.2",
- "license": "MIT",
+ "resolved": "https://registry.npmjs.org/superagent/-/superagent-8.1.2.tgz",
+ "integrity": "sha512-6WTxW1EB6yCxV5VFOIPQruWGHqc3yI7hEmZK6h+pyk69Lk/Ut7rLUY6W/ONF2MjBuGjvmMiIpsrVJ2vjrHlslA==",
"dependencies": {
"component-emitter": "^1.3.0",
"cookiejar": "^2.1.4",
@@ -26039,13 +27246,13 @@
"license": "MIT"
},
"node_modules/supports-color": {
- "version": "7.2.0",
+ "version": "5.5.0",
"license": "MIT",
"dependencies": {
- "has-flag": "^4.0.0"
+ "has-flag": "^3.0.0"
},
"engines": {
- "node": ">=8"
+ "node": ">=4"
}
},
"node_modules/supports-hyperlinks": {
@@ -26443,7 +27650,7 @@
}
},
"node_modules/terser": {
- "version": "5.19.3",
+ "version": "5.21.0",
"license": "BSD-2-Clause",
"dependencies": {
"@jridgewell/source-map": "^0.3.3",
@@ -26530,14 +27737,6 @@
"version": "2.20.3",
"license": "MIT"
},
- "node_modules/terser/node_modules/source-map-support": {
- "version": "0.5.21",
- "license": "MIT",
- "dependencies": {
- "buffer-from": "^1.0.0",
- "source-map": "^0.6.0"
- }
- },
"node_modules/test-exclude": {
"version": "6.0.0",
"license": "ISC",
@@ -26730,6 +27929,10 @@
"node": ">= 4.0.0"
}
},
+ "node_modules/tr46": {
+ "version": "0.0.3",
+ "license": "MIT"
+ },
"node_modules/traverse": {
"version": "0.6.7",
"license": "MIT",
@@ -27172,7 +28375,7 @@
}
},
"node_modules/tsup/node_modules/bundle-require": {
- "version": "4.0.1",
+ "version": "4.0.2",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -27251,17 +28454,6 @@
"node": ">=10.17.0"
}
},
- "node_modules/tsup/node_modules/is-stream": {
- "version": "2.0.1",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=8"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
"node_modules/tsup/node_modules/npm-run-path": {
"version": "4.0.1",
"dev": true,
@@ -27273,14 +28465,6 @@
"node": ">=8"
}
},
- "node_modules/tsup/node_modules/resolve-from": {
- "version": "5.0.0",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=8"
- }
- },
"node_modules/tsup/node_modules/source-map": {
"version": "0.8.0-beta.0",
"dev": true,
@@ -27534,6 +28718,10 @@
"url": "https://github.com/sponsors/ljharb"
}
},
+ "node_modules/undici-types": {
+ "version": "5.25.3",
+ "license": "MIT"
+ },
"node_modules/unicode-canonical-property-names-ecmascript": {
"version": "2.0.0",
"license": "MIT",
@@ -27613,7 +28801,7 @@
}
},
"node_modules/update-browserslist-db": {
- "version": "1.0.11",
+ "version": "1.0.13",
"funding": [
{
"type": "opencollective",
@@ -27791,10 +28979,10 @@
}
},
"node_modules/uuid": {
- "version": "3.4.0",
+ "version": "8.3.2",
"license": "MIT",
"bin": {
- "uuid": "bin/uuid"
+ "uuid": "dist/bin/uuid"
}
},
"node_modules/v8-compile-cache-lib": {
@@ -27857,7 +29045,7 @@
}
},
"node_modules/viem": {
- "version": "1.16.0",
+ "version": "1.16.5",
"funding": [
{
"type": "github",
@@ -27872,7 +29060,7 @@
"@scure/bip32": "1.3.2",
"@scure/bip39": "1.2.1",
"abitype": "0.9.8",
- "isows": "1.0.2",
+ "isows": "1.0.3",
"ws": "8.13.0"
},
"peerDependencies": {
@@ -27884,6 +29072,47 @@
}
}
},
+ "node_modules/viem/node_modules/abitype": {
+ "version": "0.9.8",
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/wagmi-dev"
+ }
+ ],
+ "license": "MIT",
+ "peerDependencies": {
+ "typescript": ">=5.0.4",
+ "zod": "^3 >=3.19.1"
+ },
+ "peerDependenciesMeta": {
+ "typescript": {
+ "optional": true
+ },
+ "zod": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/viem/node_modules/ws": {
+ "version": "8.13.0",
+ "license": "MIT",
+ "engines": {
+ "node": ">=10.0.0"
+ },
+ "peerDependencies": {
+ "bufferutil": "^4.0.1",
+ "utf-8-validate": ">=5.0.2"
+ },
+ "peerDependenciesMeta": {
+ "bufferutil": {
+ "optional": true
+ },
+ "utf-8-validate": {
+ "optional": true
+ }
+ }
+ },
"node_modules/vlq": {
"version": "1.0.1",
"license": "MIT"
@@ -27974,11 +29203,16 @@
},
"node_modules/web-streams-polyfill": {
"version": "3.2.1",
+ "dev": true,
"license": "MIT",
"engines": {
"node": ">= 8"
}
},
+ "node_modules/webidl-conversions": {
+ "version": "3.0.1",
+ "license": "BSD-2-Clause"
+ },
"node_modules/webpack": {
"version": "5.89.0",
"license": "MIT",
@@ -28064,7 +29298,7 @@
}
},
"node_modules/whatwg-fetch": {
- "version": "3.6.18",
+ "version": "3.6.19",
"license": "MIT"
},
"node_modules/whatwg-mimetype": {
@@ -28074,6 +29308,14 @@
"node": ">=12"
}
},
+ "node_modules/whatwg-url": {
+ "version": "5.0.0",
+ "license": "MIT",
+ "dependencies": {
+ "tr46": "~0.0.3",
+ "webidl-conversions": "^3.0.0"
+ }
+ },
"node_modules/which": {
"version": "2.0.2",
"license": "ISC",
@@ -28178,6 +29420,33 @@
"url": "https://github.com/chalk/wrap-ansi?sponsor=1"
}
},
+ "node_modules/wrap-ansi/node_modules/ansi-styles": {
+ "version": "4.3.0",
+ "license": "MIT",
+ "dependencies": {
+ "color-convert": "^2.0.1"
+ },
+ "engines": {
+ "node": ">=8"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/ansi-styles?sponsor=1"
+ }
+ },
+ "node_modules/wrap-ansi/node_modules/color-convert": {
+ "version": "2.0.1",
+ "license": "MIT",
+ "dependencies": {
+ "color-name": "~1.1.4"
+ },
+ "engines": {
+ "node": ">=7.0.0"
+ }
+ },
+ "node_modules/wrap-ansi/node_modules/color-name": {
+ "version": "1.1.4",
+ "license": "MIT"
+ },
"node_modules/wrappy": {
"version": "1.0.2",
"license": "ISC"
@@ -28192,14 +29461,14 @@
}
},
"node_modules/ws": {
- "version": "8.13.0",
+ "version": "7.4.6",
"license": "MIT",
"engines": {
- "node": ">=10.0.0"
+ "node": ">=8.3.0"
},
"peerDependencies": {
"bufferutil": "^4.0.1",
- "utf-8-validate": ">=5.0.2"
+ "utf-8-validate": "^5.0.2"
},
"peerDependenciesMeta": {
"bufferutil": {
@@ -28294,19 +29563,19 @@
}
},
"node_modules/yargs": {
- "version": "16.2.0",
+ "version": "17.7.2",
"license": "MIT",
"dependencies": {
- "cliui": "^7.0.2",
+ "cliui": "^8.0.1",
"escalade": "^3.1.1",
"get-caller-file": "^2.0.5",
"require-directory": "^2.1.1",
- "string-width": "^4.2.0",
+ "string-width": "^4.2.3",
"y18n": "^5.0.5",
- "yargs-parser": "^20.2.2"
+ "yargs-parser": "^21.1.1"
},
"engines": {
- "node": ">=10"
+ "node": ">=12"
}
},
"node_modules/yargs-parser": {
@@ -28316,13 +29585,6 @@
"node": ">=12"
}
},
- "node_modules/yargs/node_modules/yargs-parser": {
- "version": "20.2.9",
- "license": "ISC",
- "engines": {
- "node": ">=10"
- }
- },
"node_modules/yauzl": {
"version": "2.10.0",
"license": "MIT",
@@ -28349,7 +29611,7 @@
}
},
"node_modules/zod": {
- "version": "3.22.2",
+ "version": "3.22.4",
"license": "MIT",
"funding": {
"url": "https://github.com/sponsors/colinhacks"
diff --git a/packages/contract/broadcast/DeployAccountFactory.s.sol/8453/run-latest.json b/packages/contract/broadcast/DeployAccountFactory.s.sol/8453/run-latest.json
index 8976e902f..01791a4e8 100644
--- a/packages/contract/broadcast/DeployAccountFactory.s.sol/8453/run-latest.json
+++ b/packages/contract/broadcast/DeployAccountFactory.s.sol/8453/run-latest.json
@@ -1,10 +1,10 @@
{
"transactions": [
{
- "hash": "0xf2c43a024066b13a058c2866d9436f766e1071bf61b5b4dbb242a6fc038f1cbd",
+ "hash": "0x2f7b0381d3cb6bb20f87f5b4065766f076ce76552e5424fceab392016a54cd76",
"transactionType": "CREATE2",
- "contractName": "AccountFactory",
- "contractAddress": "0xe5a1744d42a30c3Bb87f16FbC4484B984594cD7C",
+ "contractName": "DaimoAccountFactory",
+ "contractAddress": "0xED5F5066de0c177729Eb0D5FECEC4BF87CA6Bf3C",
"function": null,
"arguments": [
"0x5FF137D4b0FDCD49DcA30c7CF57E578a026d2789",
@@ -16,14 +16,14 @@
"to": "0x4e59b44847b379578588920ca78fbf26c0b4956c",
"gas": "0x4033ae",
"value": "0x0",
- "data": "0x000000000000000000000000000000000000000000000000000000000000000060c0346100f3576134bb906001600160401b0390601f38849003908101601f1916820190838211838310176100dd57808391604096879485528339810103126100f35780516001600160a01b03808216929091908382036100f357602001519182168092036100f35760a0528351926126b091828501918211858310176100dd5785938593610e0b8539825260208201520301906000f080156100d25760805251610d1290816100f9823960805181818161016c015281816105e8015261082e015260a05181818160e101526106910152f35b50513d6000823e3d90fd5b634e487b7160e01b600052604160045260246000fd5b600080fdfe60808060405260043610156200001457600080fd5b600090813560e01c90816311464fbe1462000120575080632a0c114d1462000105578063b0d691fe14620000945763cca14965146200005257600080fd5b346200009157602062000073620000693662000205565b9392909262000761565b73ffffffffffffffffffffffffffffffffffffffff60405191168152f35b80fd5b50346200009157807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126200009157602060405173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000168152f35b602062000073620001163662000205565b9392909262000510565b9050346200019057817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112620001905760209073ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000168152f35b5080fd5b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff821117620001d657604052565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b9060a07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc830112620002c45760043560ff81168103620002c457918060431215620002c45760405191604083019167ffffffffffffffff9284811084821117620001d65760405283606494828611620002c4576024905b868210620002c9575050933590838211620002c45780602383011215620002c4578160040135938411620002c45760248460051b83010111620002c457602401919060843590565b600080fd5b81358152602091820191016200027c565b60ff909116815260809391602091908582019060008484015b600282106200046b575050508360609187838501525260a0820160a08560051b84010196866000945b878610620003305750505050505050505090565b9091929394959697987fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6082820301855289357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa184360301811215620002c4578301803573ffffffffffffffffffffffffffffffffffffffff8116809103620002c45782528881013589830152604090818101357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe182360301811215620002c45701898101903567ffffffffffffffff8111620002c4578036038213620002c457837fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f83808f97968c968f808b9a60019d0152870152868601376000858286010152011601019b019501960194939796959291906200031c565b8251815291850191600191909101908501620002f3565b60005b838110620004965750506000910152565b818101518382015260200162000485565b90601f60609373ffffffffffffffffffffffffffffffffffffffff7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0931684526040602085015262000509815180928160408801526020888801910162000482565b0116010190565b93919362000522838587858562000761565b936000943462000679575b803b620006595750906200058b620005b89273ffffffffffffffffffffffffffffffffffffffff976040519586947fc73ba52600000000000000000000000000000000000000000000000000000000602087015260248601620002da565b037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0810183528262000194565b6040519061042c8083019083821067ffffffffffffffff8311176200062c57916200060f918493620008b18539877f00000000000000000000000000000000000000000000000000000000000000001690620004a7565b039083f59081156200062057501690565b604051903d90823e3d90fd5b6024867f4e487b710000000000000000000000000000000000000000000000000000000081526041600452fd5b73ffffffffffffffffffffffffffffffffffffffff169695505050505050565b73ffffffffffffffffffffffffffffffffffffffff807f00000000000000000000000000000000000000000000000000000000000000001690813b156200075d5787906024604051809481937fb760faf90000000000000000000000000000000000000000000000000000000083528716600483015234905af18015620007525762000707575b506200052d565b67ffffffffffffffff81979297116200072557604052943862000700565b6024827f4e487b710000000000000000000000000000000000000000000000000000000081526041600452fd5b6040513d89823e3d90fd5b8780fd5b90600b93926200088b620008986055979461042c936020958692620007d460409a8b519462000793878b018762000194565b89865286860199620008b18b398c519485947fc73ba526000000000000000000000000000000000000000000000000000000008987015260248601620002da565b03620008077fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe09182810184528362000194565b620008628a519182620008558782019573ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001687620004a7565b0390810183528262000194565b89519586936200087b868601998a925192839162000482565b8401915180938684019062000482565b0103808452018262000194565b5190208351938401528201523081520160ff8153209056fe60406080815261042c908138038061001681610218565b93843982019181818403126102135780516001600160a01b038116808203610213576020838101516001600160401b0394919391858211610213570186601f820112156102135780519061007161006c83610253565b610218565b918083528583019886828401011161021357888661008f930161026e565b813b156101b9577f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc80546001600160a01b031916841790556000927fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b8480a28051158015906101b2575b61010b575b855160e790816103458239f35b855194606086019081118682101761019e578697849283926101889952602788527f416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c87890152660819985a5b195960ca1b8a8901525190845af4913d15610194573d9061017a61006c83610253565b91825281943d92013e610291565b508038808080806100fe565b5060609250610291565b634e487b7160e01b84526041600452602484fd5b50826100f9565b855162461bcd60e51b815260048101859052602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b6064820152608490fd5b600080fd5b6040519190601f01601f191682016001600160401b0381118382101761023d57604052565b634e487b7160e01b600052604160045260246000fd5b6001600160401b03811161023d57601f01601f191660200190565b60005b8381106102815750506000910152565b8181015183820152602001610271565b919290156102f357508151156102a5575090565b3b156102ae5790565b60405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606490fd5b8251909150156103065750805190602001fd5b6044604051809262461bcd60e51b825260206004830152610336815180928160248601526020868601910161026e565b601f01601f19168101030190fdfe60806040523615605f5773ffffffffffffffffffffffffffffffffffffffff7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc54166000808092368280378136915af43d82803e15605b573d90f35b3d90fd5b73ffffffffffffffffffffffffffffffffffffffff7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc54166000808092368280378136915af43d82803e15605b573d90f3fea26469706673582212203e27870c29c906c7a4abb622ab67817dc9be875182a3cce06cf0e3a1a85323ee64736f6c63430008150033a2646970667358221220ba5568a7517ac7ee1e76d8caf9dc7b31ff8eb71dfb21a2e55e2408ff6939d74a64736f6c63430008150033610100346200018557601f620026b038819003918201601f19168301916001600160401b038311848410176200018a578084926040948552833981010312620001855780516001600160a01b039182821682036200018557602001519182168203620001855730608052601460e05260a05260c05260005460ff8160081c16620001305760ff80821610620000f4575b60405161250f9081620001a182396080518181816103cd0152818161085001526108fc015260a0518181816102cc015281816105fc01528181610caa0152611975015260c05181818161020a0152611d41015260e051818181610d8201526121eb0152f35b60ff90811916176000557f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498602060405160ff8152a1386200008f565b60405162461bcd60e51b815260206004820152602760248201527f496e697469616c697a61626c653a20636f6e747261637420697320696e697469604482015266616c697a696e6760c81b6064820152608490fd5b600080fd5b634e487b7160e01b600052604160045260246000fdfe6080604052600436101561001b575b361561001957600080fd5b005b60003560e01c80631626ba7e1461010b578063290f32331461010657806334fcd5be146101015780633659cfe6146100fc5780633a871cdd146100f75780634f1ef286146100f257806352d1902d146100ed578063595f20d6146100e857806388b25709146100e35780639875b4db146100de578063b0d691fe146100d9578063b3033ef2146100d4578063bafa7108146100cf578063c73ba526146100ca5763c90e3c5b0361000e57610f2e565b610da6565b610d4a565b610cce565b610c5f565b610c1d565b610b1c565b610a10565b6108b6565b6107c9565b610587565b610379565b61025f565b6101bf565b346101ba5760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101ba5767ffffffffffffffff6024358181116101ba57366023820112156101ba5780600401359182116101ba5736602483830101116101ba576101b69160246101839201600435611a9a565b6040517fffffffff0000000000000000000000000000000000000000000000000000000090911681529081906020820190565b0390f35b600080fd5b346101ba5760007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101ba57602060405173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000168152f35b9181601f840112156101ba5782359167ffffffffffffffff83116101ba576020808501948460051b0101116101ba57565b346101ba576020807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101ba5760043567ffffffffffffffff81116101ba576102af90369060040161022e565b6102f373ffffffffffffffffffffffffffffffffffffffff9392937f0000000000000000000000000000000000000000000000000000000000000000163314611a1e565b60005b8181106102ff57005b8061035161031161035693858861181b565b3561031b8161035b565b8561032784878a61181b565b013561034b61034461033a86898c61181b565b604081019061186a565b3691610792565b91611fd5565b6117e9565b6102f6565b73ffffffffffffffffffffffffffffffffffffffff8116036101ba57565b346101ba5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101ba576004356103b48161035b565b73ffffffffffffffffffffffffffffffffffffffff90817f000000000000000000000000000000000000000000000000000000000000000016916103fa8330141561107b565b6104297f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc938285541614611106565b610434303314611ffd565b60405190610441826106af565b600082527f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff161561047b575050610019915061139e565b6020600491604094939451928380927f52d1902d00000000000000000000000000000000000000000000000000000000825286165afa60009181610557575b50610544576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201527f6f6e206973206e6f7420555550530000000000000000000000000000000000006064820152608490fd5b6100199361055291146111ac565b61148a565b61057991925060203d8111610580575b6105718183610708565b810190611191565b90386104ba565b503d610567565b346101ba577ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc6060813601126101ba576004359067ffffffffffffffff82116101ba576101609082360301126101ba576101b69061062f6044359161062373ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000163314611a1e565b60243590600401611e0c565b9080610647575b506040519081529081906020820190565b600080808093337ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1506106796115c9565b5038610636565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6020810190811067ffffffffffffffff8211176106cb57604052565b610680565b6040810190811067ffffffffffffffff8211176106cb57604052565b6060810190811067ffffffffffffffff8211176106cb57604052565b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff8211176106cb57604052565b60405190610756826106d0565b565b67ffffffffffffffff81116106cb57601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b92919261079e82610758565b916107ac6040519384610708565b8294818452818301116101ba578281602093846000960137010152565b60407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101ba576004356107ff8161035b565b6024359067ffffffffffffffff82116101ba57366023830112156101ba57610834610019923690602481600401359101610792565b906108a673ffffffffffffffffffffffffffffffffffffffff807f0000000000000000000000000000000000000000000000000000000000000000169061087d8230141561107b565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc541614611106565b6108b1303314611ffd565b611237565b346101ba5760007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101ba5773ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016300361094d576040517f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc8152602090f35b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c60448201527f6c6564207468726f7567682064656c656761746563616c6c00000000000000006064820152fd5b6004359060ff821682036101ba57565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b346101ba5760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101ba57610a476109d1565b60ff6024359116600052600160205260406000209060028110156101ba576020910154604051908152f35b60409081810191808252835180935260608201926020809501916000905b828210610ad657505050508281830391015281808451928381520193019160005b828110610abf575050505090565b835160ff1685529381019392810192600101610ab1565b9091929594858288519280936000905b60028210610b035750989991019750019392600101919050610a90565b80518652948401948a9487945060019092019101610ae6565b346101ba576000807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610c1a5760ff9081815460101c16610b5f8161207a565b91610b69826120f0565b93815b6101008110610b9157505090610b829114611bd6565b6101b660405192839283610a72565b818116610bab8160ff166000526001602052604060002090565b54610bc0575b50610bbb906117e9565b610b6c565b610bbb919361035182610beb610be6610c139560ff166000526001602052604060002090565b612153565b610bf5848b61213f565b52610c00838a61213f565b50610c0b838b61213f565b9060ff169052565b9290610bb1565b80fd5b346101ba5760007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101ba57602060ff60005460101c16604051908152f35b346101ba5760007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101ba57602060405173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000168152f35b346101ba5760607ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101ba57610d056109d1565b36604312156101ba57604051610d1a816106d0565b809160643681116101ba576024935b818510610d3a576100198484612186565b8435815260209485019401610d29565b346101ba5760007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101ba57602060405160ff7f0000000000000000000000000000000000000000000000000000000000000000168152f35b346101ba5760807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101ba57610ddd6109d1565b366064116101ba5760643567ffffffffffffffff81116101ba57610e08610e6891369060040161022e565b9060005493610e2e60ff8660081c161580968197610f20575b8115610f00575b5061172f565b84610e5f60017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff006000541617600055565b610eca576118d3565b610e6e57005b610e9b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff60005416600055565b604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb384740249890602090a1005b610efb6101007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff6000541617600055565b6118d3565b303b15915081610f12575b5038610e28565b6001915060ff161438610f0b565b600160ff8216109150610e21565b346101ba5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101ba57610f656109d1565b610f70303314611ffd565b60009060ff811682526001602052610f8d604083205415156123e1565b610faa600160ff610fa3855460ff9060101c1690565b1611612446565b7fb1c618be842f3c0e753cfc3569dd3eafd446296dbe6db8af1d8cc92c7d0ba053611075610fe8610be68460ff166000526001602052604060002090565b611018610ff3610749565b8681528660208201526110138660ff166000526001602052604060002090565b612371565b61106761103261102d875460ff9060101c1690565b6124ab565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ffff62ff00006000549260101b16911617600055565b6040519182913095836123a7565b0390a280f35b1561108257565b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f64656c656761746563616c6c00000000000000000000000000000000000000006064820152fd5b1561110d57565b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f6163746976652070726f787900000000000000000000000000000000000000006064820152fd5b908160209103126101ba575190565b6040513d6000823e3d90fd5b156111b357565b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f7860448201527f6961626c655555494400000000000000000000000000000000000000000000006064820152fd5b906112637f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff1690565b1561127257506107569061139e565b604051917f52d1902d00000000000000000000000000000000000000000000000000000000835260208360048173ffffffffffffffffffffffffffffffffffffffff85165afa6000938161137e575b5061134b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201527f6f6e206973206e6f7420555550530000000000000000000000000000000000006064820152608490fd5b6113797f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc61075694146111ac565b611569565b61139791945060203d8111610580576105718183610708565b92386112c1565b803b156114065773ffffffffffffffffffffffffffffffffffffffff7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc91167fffffffffffffffffffffffff0000000000000000000000000000000000000000825416179055565b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201527f6f74206120636f6e7472616374000000000000000000000000000000000000006064820152fd5b906114948261139e565b73ffffffffffffffffffffffffffffffffffffffff82167fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b600080a2805115801590611561575b6114e3575050565b61155e91600080604051936114f7856106ec565b602785527f416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c60208601527f206661696c6564000000000000000000000000000000000000000000000000006040860152602081519101845af46115586115c9565b9161165e565b50565b5060006114db565b906115738261139e565b73ffffffffffffffffffffffffffffffffffffffff82167fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b600080a28051158015906115c1576114e3575050565b5060016114db565b3d156115f4573d906115da82610758565b916115e86040519384610708565b82523d6000602084013e565b606090565b1561160057565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152fd5b919290156116815750815115611672575090565b61167e903b15156115f9565b90565b8251909150156116945750805190602001fd5b6044601f917fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe06040519384927f08c379a000000000000000000000000000000000000000000000000000000000845260206004850152611703815180928160248801526020888801910161170c565b01168101030190fd5b60005b83811061171f5750506000910152565b818101518382015260200161170f565b1561173657565b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a65640000000000000000000000000000000000006064820152fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81146118165760010190565b6117ba565b919081101561185b5760051b810135907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa1813603018212156101ba570190565b6109e1565b3561167e8161035b565b9035907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1813603018212156101ba570180359067ffffffffffffffff82116101ba576020019181360383136101ba57565b6024602060409294939460ff60608201961681520137565b916118eb8360ff166000526001602052604060002090565b602460005b60028110611a0a5750505061192d620100007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ffff6000541617600055565b60005b8181106119cb575050507f1d84cb7fa5da6303adc54870a915cbf91d2cf642fcc5ce470b79b7746720187660405173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000167f9b44a2c7f9f0b5aa4e7da60d8a2325796c57f93a45559d66515743ffbd8a6103600080a2806119c63094826118bb565b0390a2565b806103516119e56119e0611a0594868861181b565b611860565b60206119f284878961181b565b013561034b61034461033a86898b61181b565b611930565b6001906020833593019281850155016118f0565b15611a2557565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601060248201527f6f6e6c7920656e74727920706f696e74000000000000000000000000000000006044820152fd5b90611a966020928281519485920161170c565b0190565b6000611acb602092949394604051848101918252848152611aba816106d0565b60405192839283925192839161170c565b8101039060025afa15611b3057611ae491600051611c0c565b611b0c577fffffffff0000000000000000000000000000000000000000000000000000000090565b7f1626ba7e0000000000000000000000000000000000000000000000000000000090565b6111a0565b906041116101ba5760210190602090565b906007116101ba5760010190600690565b90929192836007116101ba5783116101ba57600701917ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff90190565b359060208110611ba0575090565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff9060200360031b1b1690565b901561185b5790565b15611bdd57565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052600160045260246000fd5b91806021116101ba5760008282611d3d611c6796611d11611c93611c8d611c5e611c58899a7f7fffffff800000007fffffffffffffffde737d56d38bcf4279dce5617e3192a89c611b35565b90611b92565b9a8b9688611bcd565b357fff000000000000000000000000000000000000000000000000000000000000001690565b60f81c90565b611cdb611cd1611cc8611cb38460ff166000526001602052604060002090565b549360ff166000526001602052604060002090565b60010190600090565b90549060031b1c90565b9060405195869460016020870199013590899192608093969594919660a084019784526020840152604083015260608201520152565b037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08101835282610708565b51907f00000000000000000000000000000000000000000000000000000000000000005afa91611d74611d6e6115c9565b93611bd6565b11611d9257611d8e81602080600194518301019101611191565b1490565b50600090565b604051906060820182811067ffffffffffffffff8211176106cb5760405260006040838281528260208201520152565b7fffffffffffff00000000000000000000000000000000000000000000000000009035818116939260068110611dfd57505050565b60060360031b82901b16169150565b611e14611d98565b916101408201611e24818461186a565b80915015611fc057611e45611c8d611c67611e3f858861186a565b90611bcd565b9060ff8216600103611fca57604803611fc057611f3082611f2486611f13600095611ea6611e9f611e97611e91611e8b611e85611d119f9d60209e61186a565b90611b46565b90611dc8565b60d01c90565b96879561186a565b8091611b57565b9a909a996040519485938b8501917fffffffffffff0000000000000000000000000000000000000000000000000000907fff000000000000000000000000000000000000000000000000000000000000006027959360f81b16845260d01b16600183015260078201520190565b65ffffffffffff9092166040890152565b60405191828092611a83565b039060025afa15611b3057611f4791600051611c0c565b611f515750600190565b61167e907fffffffffffff0000000000000000000000000000000000000000000000000000602073ffffffffffffffffffffffffffffffffffffffff83511679ffffffffffff0000000000000000000000000000000000000000604085015160a01b161792015160d01b161790565b5050505050600190565b505050505050600190565b916000928392602083519301915af1611fec6115c9565b9015611ff55750565b602081519101fd5b1561200457565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600960248201527f6f6e6c792073656c6600000000000000000000000000000000000000000000006044820152fd5b67ffffffffffffffff81116106cb5760051b60200190565b9061208482612062565b604061209281519283610708565b8382527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe06120c08395612062565b019160005b8381106120d25750505050565b60209083516120e0816106d0565b84368237828285010152016120c5565b906120fa82612062565b6121076040519182610708565b8281527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe06121358294612062565b0190602036910137565b805182101561185b5760209160051b010190565b60405191906000835b6002821061217057505050610756826106d0565b600160208192855481520193019101909161215c565b90612192303314611ffd565b60ff82166000526001602052604060002054612249576119c6816121d97f1d84cb7fa5da6303adc54870a915cbf91d2cf642fcc5ce470b79b77467201876935115156122a7565b6000546122139060101c60ff1660ff807f00000000000000000000000000000000000000000000000000000000000000001691161061230c565b61222e816110138660ff166000526001602052604060002090565b61106761103261224460005460ff9060101c1690565b612396565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601260248201527f6b657920616c72656164792065786973747300000000000000000000000000006044820152fd5b156122ae57565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601360248201527f6e6577206b65792063616e6e6f742062652030000000000000000000000000006044820152fd5b1561231357565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601060248201527f6d6178206b6579732072656163686564000000000000000000000000000000006044820152fd5b9060005b6002811061238257505050565b600190602083519301928185015501612375565b60ff1660ff81146118165760010190565b9291909260ff606082019416815260208091016000905b600282106123cc5750505050565b828060019286518152019401910190926123be565b156123e857565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601260248201527f6b657920646f6573206e6f7420657869737400000000000000000000000000006044820152fd5b1561244d57565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601e60248201527f63616e6e6f742072656d6f7665206f6e6c79207369676e696e67206b657900006044820152fd5b60ff168015611816577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff019056fea26469706673582212206eb0c9fdeec3efa6e2dd90117bd6ed77a4251496c080965433196a4b8f93eb3464736f6c634300081500330000000000000000000000005ff137d4b0fdcd49dca30c7cf57e578a026d2789000000000000000000000000c2b78104907f722dabac4c69f826a522b2754de4",
- "nonce": "0x0",
+ "data": "0x000000000000000000000000000000000000000000000000000000000000000060c0346100f3576134bb906001600160401b0390601f38849003908101601f1916820190838211838310176100dd57808391604096879485528339810103126100f35780516001600160a01b03808216929091908382036100f357602001519182168092036100f35760a0528351926126b091828501918211858310176100dd5785938593610e0b8539825260208201520301906000f080156100d25760805251610d1290816100f9823960805181818161016c015281816105e8015261082e015260a05181818160e101526106910152f35b50513d6000823e3d90fd5b634e487b7160e01b600052604160045260246000fd5b600080fdfe60808060405260043610156200001457600080fd5b600090813560e01c90816311464fbe1462000120575080632a0c114d1462000105578063b0d691fe14620000945763cca14965146200005257600080fd5b346200009157602062000073620000693662000205565b9392909262000761565b73ffffffffffffffffffffffffffffffffffffffff60405191168152f35b80fd5b50346200009157807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126200009157602060405173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000168152f35b602062000073620001163662000205565b9392909262000510565b9050346200019057817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112620001905760209073ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000168152f35b5080fd5b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff821117620001d657604052565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b9060a07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc830112620002c45760043560ff81168103620002c457918060431215620002c45760405191604083019167ffffffffffffffff9284811084821117620001d65760405283606494828611620002c4576024905b868210620002c9575050933590838211620002c45780602383011215620002c4578160040135938411620002c45760248460051b83010111620002c457602401919060843590565b600080fd5b81358152602091820191016200027c565b60ff909116815260809391602091908582019060008484015b600282106200046b575050508360609187838501525260a0820160a08560051b84010196866000945b878610620003305750505050505050505090565b9091929394959697987fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6082820301855289357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa184360301811215620002c4578301803573ffffffffffffffffffffffffffffffffffffffff8116809103620002c45782528881013589830152604090818101357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe182360301811215620002c45701898101903567ffffffffffffffff8111620002c4578036038213620002c457837fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f83808f97968c968f808b9a60019d0152870152868601376000858286010152011601019b019501960194939796959291906200031c565b8251815291850191600191909101908501620002f3565b60005b838110620004965750506000910152565b818101518382015260200162000485565b90601f60609373ffffffffffffffffffffffffffffffffffffffff7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0931684526040602085015262000509815180928160408801526020888801910162000482565b0116010190565b93919362000522838587858562000761565b936000943462000679575b803b620006595750906200058b620005b89273ffffffffffffffffffffffffffffffffffffffff976040519586947fc73ba52600000000000000000000000000000000000000000000000000000000602087015260248601620002da565b037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0810183528262000194565b6040519061042c8083019083821067ffffffffffffffff8311176200062c57916200060f918493620008b18539877f00000000000000000000000000000000000000000000000000000000000000001690620004a7565b039083f59081156200062057501690565b604051903d90823e3d90fd5b6024867f4e487b710000000000000000000000000000000000000000000000000000000081526041600452fd5b73ffffffffffffffffffffffffffffffffffffffff169695505050505050565b73ffffffffffffffffffffffffffffffffffffffff807f00000000000000000000000000000000000000000000000000000000000000001690813b156200075d5787906024604051809481937fb760faf90000000000000000000000000000000000000000000000000000000083528716600483015234905af18015620007525762000707575b506200052d565b67ffffffffffffffff81979297116200072557604052943862000700565b6024827f4e487b710000000000000000000000000000000000000000000000000000000081526041600452fd5b6040513d89823e3d90fd5b8780fd5b90600b93926200088b620008986055979461042c936020958692620007d460409a8b519462000793878b018762000194565b89865286860199620008b18b398c519485947fc73ba526000000000000000000000000000000000000000000000000000000008987015260248601620002da565b03620008077fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe09182810184528362000194565b620008628a519182620008558782019573ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001687620004a7565b0390810183528262000194565b89519586936200087b868601998a925192839162000482565b8401915180938684019062000482565b0103808452018262000194565b5190208351938401528201523081520160ff8153209056fe60406080815261042c908138038061001681610218565b93843982019181818403126102135780516001600160a01b038116808203610213576020838101516001600160401b0394919391858211610213570186601f820112156102135780519061007161006c83610253565b610218565b918083528583019886828401011161021357888661008f930161026e565b813b156101b9577f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc80546001600160a01b031916841790556000927fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b8480a28051158015906101b2575b61010b575b855160e790816103458239f35b855194606086019081118682101761019e578697849283926101889952602788527f416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c87890152660819985a5b195960ca1b8a8901525190845af4913d15610194573d9061017a61006c83610253565b91825281943d92013e610291565b508038808080806100fe565b5060609250610291565b634e487b7160e01b84526041600452602484fd5b50826100f9565b855162461bcd60e51b815260048101859052602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b6064820152608490fd5b600080fd5b6040519190601f01601f191682016001600160401b0381118382101761023d57604052565b634e487b7160e01b600052604160045260246000fd5b6001600160401b03811161023d57601f01601f191660200190565b60005b8381106102815750506000910152565b8181015183820152602001610271565b919290156102f357508151156102a5575090565b3b156102ae5790565b60405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606490fd5b8251909150156103065750805190602001fd5b6044604051809262461bcd60e51b825260206004830152610336815180928160248601526020868601910161026e565b601f01601f19168101030190fdfe60806040523615605f5773ffffffffffffffffffffffffffffffffffffffff7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc54166000808092368280378136915af43d82803e15605b573d90f35b3d90fd5b73ffffffffffffffffffffffffffffffffffffffff7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc54166000808092368280378136915af43d82803e15605b573d90f3fea26469706673582212203e27870c29c906c7a4abb622ab67817dc9be875182a3cce06cf0e3a1a85323ee64736f6c63430008150033a26469706673582212204b81d3631c33034d30903269659a6836155f344ddb50d3ceee6b9b8cb32c69f764736f6c63430008150033610100346200018557601f620026b038819003918201601f19168301916001600160401b038311848410176200018a578084926040948552833981010312620001855780516001600160a01b039182821682036200018557602001519182168203620001855730608052601460e05260a05260c05260005460ff8160081c16620001305760ff80821610620000f4575b60405161250f9081620001a182396080518181816103cd0152818161085001526108fc015260a0518181816102cc015281816105fc01528181610caa0152611975015260c05181818161020a0152611d41015260e051818181610d8201526121eb0152f35b60ff90811916176000557f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498602060405160ff8152a1386200008f565b60405162461bcd60e51b815260206004820152602760248201527f496e697469616c697a61626c653a20636f6e747261637420697320696e697469604482015266616c697a696e6760c81b6064820152608490fd5b600080fd5b634e487b7160e01b600052604160045260246000fdfe6080604052600436101561001b575b361561001957600080fd5b005b60003560e01c80631626ba7e1461010b578063290f32331461010657806334fcd5be146101015780633659cfe6146100fc5780633a871cdd146100f75780634f1ef286146100f257806352d1902d146100ed578063595f20d6146100e857806388b25709146100e35780639875b4db146100de578063b0d691fe146100d9578063b3033ef2146100d4578063bafa7108146100cf578063c73ba526146100ca5763c90e3c5b0361000e57610f2e565b610da6565b610d4a565b610cce565b610c5f565b610c1d565b610b1c565b610a10565b6108b6565b6107c9565b610587565b610379565b61025f565b6101bf565b346101ba5760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101ba5767ffffffffffffffff6024358181116101ba57366023820112156101ba5780600401359182116101ba5736602483830101116101ba576101b69160246101839201600435611a9a565b6040517fffffffff0000000000000000000000000000000000000000000000000000000090911681529081906020820190565b0390f35b600080fd5b346101ba5760007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101ba57602060405173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000168152f35b9181601f840112156101ba5782359167ffffffffffffffff83116101ba576020808501948460051b0101116101ba57565b346101ba576020807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101ba5760043567ffffffffffffffff81116101ba576102af90369060040161022e565b6102f373ffffffffffffffffffffffffffffffffffffffff9392937f0000000000000000000000000000000000000000000000000000000000000000163314611a1e565b60005b8181106102ff57005b8061035161031161035693858861181b565b3561031b8161035b565b8561032784878a61181b565b013561034b61034461033a86898c61181b565b604081019061186a565b3691610792565b91611fd5565b6117e9565b6102f6565b73ffffffffffffffffffffffffffffffffffffffff8116036101ba57565b346101ba5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101ba576004356103b48161035b565b73ffffffffffffffffffffffffffffffffffffffff90817f000000000000000000000000000000000000000000000000000000000000000016916103fa8330141561107b565b6104297f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc938285541614611106565b610434303314611ffd565b60405190610441826106af565b600082527f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff161561047b575050610019915061139e565b6020600491604094939451928380927f52d1902d00000000000000000000000000000000000000000000000000000000825286165afa60009181610557575b50610544576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201527f6f6e206973206e6f7420555550530000000000000000000000000000000000006064820152608490fd5b6100199361055291146111ac565b61148a565b61057991925060203d8111610580575b6105718183610708565b810190611191565b90386104ba565b503d610567565b346101ba577ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc6060813601126101ba576004359067ffffffffffffffff82116101ba576101609082360301126101ba576101b69061062f6044359161062373ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000163314611a1e565b60243590600401611e0c565b9080610647575b506040519081529081906020820190565b600080808093337ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1506106796115c9565b5038610636565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6020810190811067ffffffffffffffff8211176106cb57604052565b610680565b6040810190811067ffffffffffffffff8211176106cb57604052565b6060810190811067ffffffffffffffff8211176106cb57604052565b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff8211176106cb57604052565b60405190610756826106d0565b565b67ffffffffffffffff81116106cb57601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b92919261079e82610758565b916107ac6040519384610708565b8294818452818301116101ba578281602093846000960137010152565b60407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101ba576004356107ff8161035b565b6024359067ffffffffffffffff82116101ba57366023830112156101ba57610834610019923690602481600401359101610792565b906108a673ffffffffffffffffffffffffffffffffffffffff807f0000000000000000000000000000000000000000000000000000000000000000169061087d8230141561107b565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc541614611106565b6108b1303314611ffd565b611237565b346101ba5760007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101ba5773ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016300361094d576040517f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc8152602090f35b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c60448201527f6c6564207468726f7567682064656c656761746563616c6c00000000000000006064820152fd5b6004359060ff821682036101ba57565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b346101ba5760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101ba57610a476109d1565b60ff6024359116600052600160205260406000209060028110156101ba576020910154604051908152f35b60409081810191808252835180935260608201926020809501916000905b828210610ad657505050508281830391015281808451928381520193019160005b828110610abf575050505090565b835160ff1685529381019392810192600101610ab1565b9091929594858288519280936000905b60028210610b035750989991019750019392600101919050610a90565b80518652948401948a9487945060019092019101610ae6565b346101ba576000807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610c1a5760ff9081815460101c16610b5f8161207a565b91610b69826120f0565b93815b6101008110610b9157505090610b829114611bd6565b6101b660405192839283610a72565b818116610bab8160ff166000526001602052604060002090565b54610bc0575b50610bbb906117e9565b610b6c565b610bbb919361035182610beb610be6610c139560ff166000526001602052604060002090565b612153565b610bf5848b61213f565b52610c00838a61213f565b50610c0b838b61213f565b9060ff169052565b9290610bb1565b80fd5b346101ba5760007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101ba57602060ff60005460101c16604051908152f35b346101ba5760007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101ba57602060405173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000168152f35b346101ba5760607ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101ba57610d056109d1565b36604312156101ba57604051610d1a816106d0565b809160643681116101ba576024935b818510610d3a576100198484612186565b8435815260209485019401610d29565b346101ba5760007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101ba57602060405160ff7f0000000000000000000000000000000000000000000000000000000000000000168152f35b346101ba5760807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101ba57610ddd6109d1565b366064116101ba5760643567ffffffffffffffff81116101ba57610e08610e6891369060040161022e565b9060005493610e2e60ff8660081c161580968197610f20575b8115610f00575b5061172f565b84610e5f60017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff006000541617600055565b610eca576118d3565b610e6e57005b610e9b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff60005416600055565b604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb384740249890602090a1005b610efb6101007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff6000541617600055565b6118d3565b303b15915081610f12575b5038610e28565b6001915060ff161438610f0b565b600160ff8216109150610e21565b346101ba5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101ba57610f656109d1565b610f70303314611ffd565b60009060ff811682526001602052610f8d604083205415156123e1565b610faa600160ff610fa3855460ff9060101c1690565b1611612446565b7fb1c618be842f3c0e753cfc3569dd3eafd446296dbe6db8af1d8cc92c7d0ba053611075610fe8610be68460ff166000526001602052604060002090565b611018610ff3610749565b8681528660208201526110138660ff166000526001602052604060002090565b612371565b61106761103261102d875460ff9060101c1690565b6124ab565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ffff62ff00006000549260101b16911617600055565b6040519182913095836123a7565b0390a280f35b1561108257565b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f64656c656761746563616c6c00000000000000000000000000000000000000006064820152fd5b1561110d57565b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f6163746976652070726f787900000000000000000000000000000000000000006064820152fd5b908160209103126101ba575190565b6040513d6000823e3d90fd5b156111b357565b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f7860448201527f6961626c655555494400000000000000000000000000000000000000000000006064820152fd5b906112637f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff1690565b1561127257506107569061139e565b604051917f52d1902d00000000000000000000000000000000000000000000000000000000835260208360048173ffffffffffffffffffffffffffffffffffffffff85165afa6000938161137e575b5061134b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201527f6f6e206973206e6f7420555550530000000000000000000000000000000000006064820152608490fd5b6113797f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc61075694146111ac565b611569565b61139791945060203d8111610580576105718183610708565b92386112c1565b803b156114065773ffffffffffffffffffffffffffffffffffffffff7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc91167fffffffffffffffffffffffff0000000000000000000000000000000000000000825416179055565b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201527f6f74206120636f6e7472616374000000000000000000000000000000000000006064820152fd5b906114948261139e565b73ffffffffffffffffffffffffffffffffffffffff82167fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b600080a2805115801590611561575b6114e3575050565b61155e91600080604051936114f7856106ec565b602785527f416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c60208601527f206661696c6564000000000000000000000000000000000000000000000000006040860152602081519101845af46115586115c9565b9161165e565b50565b5060006114db565b906115738261139e565b73ffffffffffffffffffffffffffffffffffffffff82167fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b600080a28051158015906115c1576114e3575050565b5060016114db565b3d156115f4573d906115da82610758565b916115e86040519384610708565b82523d6000602084013e565b606090565b1561160057565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152fd5b919290156116815750815115611672575090565b61167e903b15156115f9565b90565b8251909150156116945750805190602001fd5b6044601f917fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe06040519384927f08c379a000000000000000000000000000000000000000000000000000000000845260206004850152611703815180928160248801526020888801910161170c565b01168101030190fd5b60005b83811061171f5750506000910152565b818101518382015260200161170f565b1561173657565b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a65640000000000000000000000000000000000006064820152fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81146118165760010190565b6117ba565b919081101561185b5760051b810135907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa1813603018212156101ba570190565b6109e1565b3561167e8161035b565b9035907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1813603018212156101ba570180359067ffffffffffffffff82116101ba576020019181360383136101ba57565b6024602060409294939460ff60608201961681520137565b916118eb8360ff166000526001602052604060002090565b602460005b60028110611a0a5750505061192d620100007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ffff6000541617600055565b60005b8181106119cb575050507f1d84cb7fa5da6303adc54870a915cbf91d2cf642fcc5ce470b79b7746720187660405173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000167f9b44a2c7f9f0b5aa4e7da60d8a2325796c57f93a45559d66515743ffbd8a6103600080a2806119c63094826118bb565b0390a2565b806103516119e56119e0611a0594868861181b565b611860565b60206119f284878961181b565b013561034b61034461033a86898b61181b565b611930565b6001906020833593019281850155016118f0565b15611a2557565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601060248201527f6f6e6c7920656e74727920706f696e74000000000000000000000000000000006044820152fd5b90611a966020928281519485920161170c565b0190565b6000611acb602092949394604051848101918252848152611aba816106d0565b60405192839283925192839161170c565b8101039060025afa15611b3057611ae491600051611c0c565b611b0c577fffffffff0000000000000000000000000000000000000000000000000000000090565b7f1626ba7e0000000000000000000000000000000000000000000000000000000090565b6111a0565b906041116101ba5760210190602090565b906007116101ba5760010190600690565b90929192836007116101ba5783116101ba57600701917ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff90190565b359060208110611ba0575090565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff9060200360031b1b1690565b901561185b5790565b15611bdd57565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052600160045260246000fd5b91806021116101ba5760008282611d3d611c6796611d11611c93611c8d611c5e611c58899a7f7fffffff800000007fffffffffffffffde737d56d38bcf4279dce5617e3192a89c611b35565b90611b92565b9a8b9688611bcd565b357fff000000000000000000000000000000000000000000000000000000000000001690565b60f81c90565b611cdb611cd1611cc8611cb38460ff166000526001602052604060002090565b549360ff166000526001602052604060002090565b60010190600090565b90549060031b1c90565b9060405195869460016020870199013590899192608093969594919660a084019784526020840152604083015260608201520152565b037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08101835282610708565b51907f00000000000000000000000000000000000000000000000000000000000000005afa91611d74611d6e6115c9565b93611bd6565b11611d9257611d8e81602080600194518301019101611191565b1490565b50600090565b604051906060820182811067ffffffffffffffff8211176106cb5760405260006040838281528260208201520152565b7fffffffffffff00000000000000000000000000000000000000000000000000009035818116939260068110611dfd57505050565b60060360031b82901b16169150565b611e14611d98565b916101408201611e24818461186a565b80915015611fc057611e45611c8d611c67611e3f858861186a565b90611bcd565b9060ff8216600103611fca57604803611fc057611f3082611f2486611f13600095611ea6611e9f611e97611e91611e8b611e85611d119f9d60209e61186a565b90611b46565b90611dc8565b60d01c90565b96879561186a565b8091611b57565b9a909a996040519485938b8501917fffffffffffff0000000000000000000000000000000000000000000000000000907fff000000000000000000000000000000000000000000000000000000000000006027959360f81b16845260d01b16600183015260078201520190565b65ffffffffffff9092166040890152565b60405191828092611a83565b039060025afa15611b3057611f4791600051611c0c565b611f515750600190565b61167e907fffffffffffff0000000000000000000000000000000000000000000000000000602073ffffffffffffffffffffffffffffffffffffffff83511679ffffffffffff0000000000000000000000000000000000000000604085015160a01b161792015160d01b161790565b5050505050600190565b505050505050600190565b916000928392602083519301915af1611fec6115c9565b9015611ff55750565b602081519101fd5b1561200457565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600960248201527f6f6e6c792073656c6600000000000000000000000000000000000000000000006044820152fd5b67ffffffffffffffff81116106cb5760051b60200190565b9061208482612062565b604061209281519283610708565b8382527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe06120c08395612062565b019160005b8381106120d25750505050565b60209083516120e0816106d0565b84368237828285010152016120c5565b906120fa82612062565b6121076040519182610708565b8281527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe06121358294612062565b0190602036910137565b805182101561185b5760209160051b010190565b60405191906000835b6002821061217057505050610756826106d0565b600160208192855481520193019101909161215c565b90612192303314611ffd565b60ff82166000526001602052604060002054612249576119c6816121d97f1d84cb7fa5da6303adc54870a915cbf91d2cf642fcc5ce470b79b77467201876935115156122a7565b6000546122139060101c60ff1660ff807f00000000000000000000000000000000000000000000000000000000000000001691161061230c565b61222e816110138660ff166000526001602052604060002090565b61106761103261224460005460ff9060101c1690565b612396565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601260248201527f6b657920616c72656164792065786973747300000000000000000000000000006044820152fd5b156122ae57565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601360248201527f6e6577206b65792063616e6e6f742062652030000000000000000000000000006044820152fd5b1561231357565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601060248201527f6d6178206b6579732072656163686564000000000000000000000000000000006044820152fd5b9060005b6002811061238257505050565b600190602083519301928185015501612375565b60ff1660ff81146118165760010190565b9291909260ff606082019416815260208091016000905b600282106123cc5750505050565b828060019286518152019401910190926123be565b156123e857565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601260248201527f6b657920646f6573206e6f7420657869737400000000000000000000000000006044820152fd5b1561244d57565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601e60248201527f63616e6e6f742072656d6f7665206f6e6c79207369676e696e67206b657900006044820152fd5b60ff168015611816577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff019056fea26469706673582212206eb0c9fdeec3efa6e2dd90117bd6ed77a4251496c080965433196a4b8f93eb3464736f6c634300081500330000000000000000000000005ff137d4b0fdcd49dca30c7cf57e578a026d2789000000000000000000000000c2b78104907f722dabac4c69f826a522b2754de4",
+ "nonce": "0x6",
"accessList": []
},
"additionalContracts": [
{
"transactionType": "CREATE",
- "address": "0x7cc0CeFDEcc1fcD10688A6f1B57fcE280400bC5F",
+ "address": "0x5951B697Ced7e0C496590F0386608391Eaff97EF",
"initCode": "0x610100346200018557601f620026b038819003918201601f19168301916001600160401b038311848410176200018a578084926040948552833981010312620001855780516001600160a01b039182821682036200018557602001519182168203620001855730608052601460e05260a05260c05260005460ff8160081c16620001305760ff80821610620000f4575b60405161250f9081620001a182396080518181816103cd0152818161085001526108fc015260a0518181816102cc015281816105fc01528181610caa0152611975015260c05181818161020a0152611d41015260e051818181610d8201526121eb0152f35b60ff90811916176000557f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498602060405160ff8152a1386200008f565b60405162461bcd60e51b815260206004820152602760248201527f496e697469616c697a61626c653a20636f6e747261637420697320696e697469604482015266616c697a696e6760c81b6064820152608490fd5b600080fd5b634e487b7160e01b600052604160045260246000fdfe6080604052600436101561001b575b361561001957600080fd5b005b60003560e01c80631626ba7e1461010b578063290f32331461010657806334fcd5be146101015780633659cfe6146100fc5780633a871cdd146100f75780634f1ef286146100f257806352d1902d146100ed578063595f20d6146100e857806388b25709146100e35780639875b4db146100de578063b0d691fe146100d9578063b3033ef2146100d4578063bafa7108146100cf578063c73ba526146100ca5763c90e3c5b0361000e57610f2e565b610da6565b610d4a565b610cce565b610c5f565b610c1d565b610b1c565b610a10565b6108b6565b6107c9565b610587565b610379565b61025f565b6101bf565b346101ba5760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101ba5767ffffffffffffffff6024358181116101ba57366023820112156101ba5780600401359182116101ba5736602483830101116101ba576101b69160246101839201600435611a9a565b6040517fffffffff0000000000000000000000000000000000000000000000000000000090911681529081906020820190565b0390f35b600080fd5b346101ba5760007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101ba57602060405173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000168152f35b9181601f840112156101ba5782359167ffffffffffffffff83116101ba576020808501948460051b0101116101ba57565b346101ba576020807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101ba5760043567ffffffffffffffff81116101ba576102af90369060040161022e565b6102f373ffffffffffffffffffffffffffffffffffffffff9392937f0000000000000000000000000000000000000000000000000000000000000000163314611a1e565b60005b8181106102ff57005b8061035161031161035693858861181b565b3561031b8161035b565b8561032784878a61181b565b013561034b61034461033a86898c61181b565b604081019061186a565b3691610792565b91611fd5565b6117e9565b6102f6565b73ffffffffffffffffffffffffffffffffffffffff8116036101ba57565b346101ba5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101ba576004356103b48161035b565b73ffffffffffffffffffffffffffffffffffffffff90817f000000000000000000000000000000000000000000000000000000000000000016916103fa8330141561107b565b6104297f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc938285541614611106565b610434303314611ffd565b60405190610441826106af565b600082527f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff161561047b575050610019915061139e565b6020600491604094939451928380927f52d1902d00000000000000000000000000000000000000000000000000000000825286165afa60009181610557575b50610544576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201527f6f6e206973206e6f7420555550530000000000000000000000000000000000006064820152608490fd5b6100199361055291146111ac565b61148a565b61057991925060203d8111610580575b6105718183610708565b810190611191565b90386104ba565b503d610567565b346101ba577ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc6060813601126101ba576004359067ffffffffffffffff82116101ba576101609082360301126101ba576101b69061062f6044359161062373ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000163314611a1e565b60243590600401611e0c565b9080610647575b506040519081529081906020820190565b600080808093337ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1506106796115c9565b5038610636565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6020810190811067ffffffffffffffff8211176106cb57604052565b610680565b6040810190811067ffffffffffffffff8211176106cb57604052565b6060810190811067ffffffffffffffff8211176106cb57604052565b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff8211176106cb57604052565b60405190610756826106d0565b565b67ffffffffffffffff81116106cb57601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b92919261079e82610758565b916107ac6040519384610708565b8294818452818301116101ba578281602093846000960137010152565b60407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101ba576004356107ff8161035b565b6024359067ffffffffffffffff82116101ba57366023830112156101ba57610834610019923690602481600401359101610792565b906108a673ffffffffffffffffffffffffffffffffffffffff807f0000000000000000000000000000000000000000000000000000000000000000169061087d8230141561107b565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc541614611106565b6108b1303314611ffd565b611237565b346101ba5760007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101ba5773ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016300361094d576040517f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc8152602090f35b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c60448201527f6c6564207468726f7567682064656c656761746563616c6c00000000000000006064820152fd5b6004359060ff821682036101ba57565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b346101ba5760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101ba57610a476109d1565b60ff6024359116600052600160205260406000209060028110156101ba576020910154604051908152f35b60409081810191808252835180935260608201926020809501916000905b828210610ad657505050508281830391015281808451928381520193019160005b828110610abf575050505090565b835160ff1685529381019392810192600101610ab1565b9091929594858288519280936000905b60028210610b035750989991019750019392600101919050610a90565b80518652948401948a9487945060019092019101610ae6565b346101ba576000807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610c1a5760ff9081815460101c16610b5f8161207a565b91610b69826120f0565b93815b6101008110610b9157505090610b829114611bd6565b6101b660405192839283610a72565b818116610bab8160ff166000526001602052604060002090565b54610bc0575b50610bbb906117e9565b610b6c565b610bbb919361035182610beb610be6610c139560ff166000526001602052604060002090565b612153565b610bf5848b61213f565b52610c00838a61213f565b50610c0b838b61213f565b9060ff169052565b9290610bb1565b80fd5b346101ba5760007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101ba57602060ff60005460101c16604051908152f35b346101ba5760007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101ba57602060405173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000168152f35b346101ba5760607ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101ba57610d056109d1565b36604312156101ba57604051610d1a816106d0565b809160643681116101ba576024935b818510610d3a576100198484612186565b8435815260209485019401610d29565b346101ba5760007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101ba57602060405160ff7f0000000000000000000000000000000000000000000000000000000000000000168152f35b346101ba5760807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101ba57610ddd6109d1565b366064116101ba5760643567ffffffffffffffff81116101ba57610e08610e6891369060040161022e565b9060005493610e2e60ff8660081c161580968197610f20575b8115610f00575b5061172f565b84610e5f60017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff006000541617600055565b610eca576118d3565b610e6e57005b610e9b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff60005416600055565b604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb384740249890602090a1005b610efb6101007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff6000541617600055565b6118d3565b303b15915081610f12575b5038610e28565b6001915060ff161438610f0b565b600160ff8216109150610e21565b346101ba5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101ba57610f656109d1565b610f70303314611ffd565b60009060ff811682526001602052610f8d604083205415156123e1565b610faa600160ff610fa3855460ff9060101c1690565b1611612446565b7fb1c618be842f3c0e753cfc3569dd3eafd446296dbe6db8af1d8cc92c7d0ba053611075610fe8610be68460ff166000526001602052604060002090565b611018610ff3610749565b8681528660208201526110138660ff166000526001602052604060002090565b612371565b61106761103261102d875460ff9060101c1690565b6124ab565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ffff62ff00006000549260101b16911617600055565b6040519182913095836123a7565b0390a280f35b1561108257565b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f64656c656761746563616c6c00000000000000000000000000000000000000006064820152fd5b1561110d57565b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f6163746976652070726f787900000000000000000000000000000000000000006064820152fd5b908160209103126101ba575190565b6040513d6000823e3d90fd5b156111b357565b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f7860448201527f6961626c655555494400000000000000000000000000000000000000000000006064820152fd5b906112637f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff1690565b1561127257506107569061139e565b604051917f52d1902d00000000000000000000000000000000000000000000000000000000835260208360048173ffffffffffffffffffffffffffffffffffffffff85165afa6000938161137e575b5061134b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201527f6f6e206973206e6f7420555550530000000000000000000000000000000000006064820152608490fd5b6113797f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc61075694146111ac565b611569565b61139791945060203d8111610580576105718183610708565b92386112c1565b803b156114065773ffffffffffffffffffffffffffffffffffffffff7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc91167fffffffffffffffffffffffff0000000000000000000000000000000000000000825416179055565b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201527f6f74206120636f6e7472616374000000000000000000000000000000000000006064820152fd5b906114948261139e565b73ffffffffffffffffffffffffffffffffffffffff82167fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b600080a2805115801590611561575b6114e3575050565b61155e91600080604051936114f7856106ec565b602785527f416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c60208601527f206661696c6564000000000000000000000000000000000000000000000000006040860152602081519101845af46115586115c9565b9161165e565b50565b5060006114db565b906115738261139e565b73ffffffffffffffffffffffffffffffffffffffff82167fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b600080a28051158015906115c1576114e3575050565b5060016114db565b3d156115f4573d906115da82610758565b916115e86040519384610708565b82523d6000602084013e565b606090565b1561160057565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152fd5b919290156116815750815115611672575090565b61167e903b15156115f9565b90565b8251909150156116945750805190602001fd5b6044601f917fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe06040519384927f08c379a000000000000000000000000000000000000000000000000000000000845260206004850152611703815180928160248801526020888801910161170c565b01168101030190fd5b60005b83811061171f5750506000910152565b818101518382015260200161170f565b1561173657565b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a65640000000000000000000000000000000000006064820152fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81146118165760010190565b6117ba565b919081101561185b5760051b810135907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa1813603018212156101ba570190565b6109e1565b3561167e8161035b565b9035907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1813603018212156101ba570180359067ffffffffffffffff82116101ba576020019181360383136101ba57565b6024602060409294939460ff60608201961681520137565b916118eb8360ff166000526001602052604060002090565b602460005b60028110611a0a5750505061192d620100007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ffff6000541617600055565b60005b8181106119cb575050507f1d84cb7fa5da6303adc54870a915cbf91d2cf642fcc5ce470b79b7746720187660405173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000167f9b44a2c7f9f0b5aa4e7da60d8a2325796c57f93a45559d66515743ffbd8a6103600080a2806119c63094826118bb565b0390a2565b806103516119e56119e0611a0594868861181b565b611860565b60206119f284878961181b565b013561034b61034461033a86898b61181b565b611930565b6001906020833593019281850155016118f0565b15611a2557565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601060248201527f6f6e6c7920656e74727920706f696e74000000000000000000000000000000006044820152fd5b90611a966020928281519485920161170c565b0190565b6000611acb602092949394604051848101918252848152611aba816106d0565b60405192839283925192839161170c565b8101039060025afa15611b3057611ae491600051611c0c565b611b0c577fffffffff0000000000000000000000000000000000000000000000000000000090565b7f1626ba7e0000000000000000000000000000000000000000000000000000000090565b6111a0565b906041116101ba5760210190602090565b906007116101ba5760010190600690565b90929192836007116101ba5783116101ba57600701917ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff90190565b359060208110611ba0575090565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff9060200360031b1b1690565b901561185b5790565b15611bdd57565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052600160045260246000fd5b91806021116101ba5760008282611d3d611c6796611d11611c93611c8d611c5e611c58899a7f7fffffff800000007fffffffffffffffde737d56d38bcf4279dce5617e3192a89c611b35565b90611b92565b9a8b9688611bcd565b357fff000000000000000000000000000000000000000000000000000000000000001690565b60f81c90565b611cdb611cd1611cc8611cb38460ff166000526001602052604060002090565b549360ff166000526001602052604060002090565b60010190600090565b90549060031b1c90565b9060405195869460016020870199013590899192608093969594919660a084019784526020840152604083015260608201520152565b037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08101835282610708565b51907f00000000000000000000000000000000000000000000000000000000000000005afa91611d74611d6e6115c9565b93611bd6565b11611d9257611d8e81602080600194518301019101611191565b1490565b50600090565b604051906060820182811067ffffffffffffffff8211176106cb5760405260006040838281528260208201520152565b7fffffffffffff00000000000000000000000000000000000000000000000000009035818116939260068110611dfd57505050565b60060360031b82901b16169150565b611e14611d98565b916101408201611e24818461186a565b80915015611fc057611e45611c8d611c67611e3f858861186a565b90611bcd565b9060ff8216600103611fca57604803611fc057611f3082611f2486611f13600095611ea6611e9f611e97611e91611e8b611e85611d119f9d60209e61186a565b90611b46565b90611dc8565b60d01c90565b96879561186a565b8091611b57565b9a909a996040519485938b8501917fffffffffffff0000000000000000000000000000000000000000000000000000907fff000000000000000000000000000000000000000000000000000000000000006027959360f81b16845260d01b16600183015260078201520190565b65ffffffffffff9092166040890152565b60405191828092611a83565b039060025afa15611b3057611f4791600051611c0c565b611f515750600190565b61167e907fffffffffffff0000000000000000000000000000000000000000000000000000602073ffffffffffffffffffffffffffffffffffffffff83511679ffffffffffff0000000000000000000000000000000000000000604085015160a01b161792015160d01b161790565b5050505050600190565b505050505050600190565b916000928392602083519301915af1611fec6115c9565b9015611ff55750565b602081519101fd5b1561200457565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600960248201527f6f6e6c792073656c6600000000000000000000000000000000000000000000006044820152fd5b67ffffffffffffffff81116106cb5760051b60200190565b9061208482612062565b604061209281519283610708565b8382527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe06120c08395612062565b019160005b8381106120d25750505050565b60209083516120e0816106d0565b84368237828285010152016120c5565b906120fa82612062565b6121076040519182610708565b8281527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe06121358294612062565b0190602036910137565b805182101561185b5760209160051b010190565b60405191906000835b6002821061217057505050610756826106d0565b600160208192855481520193019101909161215c565b90612192303314611ffd565b60ff82166000526001602052604060002054612249576119c6816121d97f1d84cb7fa5da6303adc54870a915cbf91d2cf642fcc5ce470b79b77467201876935115156122a7565b6000546122139060101c60ff1660ff807f00000000000000000000000000000000000000000000000000000000000000001691161061230c565b61222e816110138660ff166000526001602052604060002090565b61106761103261224460005460ff9060101c1690565b612396565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601260248201527f6b657920616c72656164792065786973747300000000000000000000000000006044820152fd5b156122ae57565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601360248201527f6e6577206b65792063616e6e6f742062652030000000000000000000000000006044820152fd5b1561231357565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601060248201527f6d6178206b6579732072656163686564000000000000000000000000000000006044820152fd5b9060005b6002811061238257505050565b600190602083519301928185015501612375565b60ff1660ff81146118165760010190565b9291909260ff606082019416815260208091016000905b600282106123cc5750505050565b828060019286518152019401910190926123be565b156123e857565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601260248201527f6b657920646f6573206e6f7420657869737400000000000000000000000000006044820152fd5b1561244d57565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601e60248201527f63616e6e6f742072656d6f7665206f6e6c79207369676e696e67206b657900006044820152fd5b60ff168015611816577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff019056fea26469706673582212206eb0c9fdeec3efa6e2dd90117bd6ed77a4251496c080965433196a4b8f93eb3464736f6c634300081500330000000000000000000000005ff137d4b0fdcd49dca30c7cf57e578a026d2789000000000000000000000000c2b78104907f722dabac4c69f826a522b2754de4"
}
],
@@ -32,41 +32,41 @@
],
"receipts": [
{
- "transactionHash": "0xf2c43a024066b13a058c2866d9436f766e1071bf61b5b4dbb242a6fc038f1cbd",
- "transactionIndex": "0x1",
- "blockHash": "0xa51db5beacee46bb0e38ca7740ef02aa04f406a3241fbb663512d269044b9a7e",
- "blockNumber": "0x4eb17f",
+ "transactionHash": "0x2f7b0381d3cb6bb20f87f5b4065766f076ce76552e5424fceab392016a54cd76",
+ "transactionIndex": "0x2",
+ "blockHash": "0x571854fb0349ced5566c8118092b4560b589a5cf998a343eccdf79a0890db419",
+ "blockNumber": "0x514996",
"from": "0x2A6d311394184EeB6Df8FBBF58626B085374Ffe7",
"to": "0x4e59b44847b379578588920cA78FbF26c0B4956C",
- "cumulativeGasUsed": "0x2c9d48",
+ "cumulativeGasUsed": "0x2da8e9",
"gasUsed": "0x2be613",
- "contractAddress": null,
+ "contractAddress": "0xED5F5066de0c177729Eb0D5FECEC4BF87CA6Bf3C",
"logs": [
{
- "address": "0x7cc0CeFDEcc1fcD10688A6f1B57fcE280400bC5F",
+ "address": "0x5951B697Ced7e0C496590F0386608391Eaff97EF",
"topics": [
"0x7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498"
],
"data": "0x00000000000000000000000000000000000000000000000000000000000000ff",
- "blockHash": "0xa51db5beacee46bb0e38ca7740ef02aa04f406a3241fbb663512d269044b9a7e",
- "blockNumber": "0x4eb17f",
- "transactionHash": "0xf2c43a024066b13a058c2866d9436f766e1071bf61b5b4dbb242a6fc038f1cbd",
- "transactionIndex": "0x1",
- "logIndex": "0x0",
+ "blockHash": "0x571854fb0349ced5566c8118092b4560b589a5cf998a343eccdf79a0890db419",
+ "blockNumber": "0x514996",
+ "transactionHash": "0x2f7b0381d3cb6bb20f87f5b4065766f076ce76552e5424fceab392016a54cd76",
+ "transactionIndex": "0x2",
+ "logIndex": "0x1",
"removed": false
}
],
"status": "0x1",
- "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000400080000000000000000000000000000000000000000000000000000000000040400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
+ "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000400000000000000000000000000000800000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
"type": "0x2",
- "effectiveGasPrice": "0xb2dc3479"
+ "effectiveGasPrice": "0xb2d874d6"
}
],
"libraries": [],
"pending": [],
"returns": {},
- "timestamp": 1697103847,
+ "timestamp": 1697443893,
"chain": 8453,
"multi": false,
- "commit": "1c7dc19"
+ "commit": "ae7d64e"
}
\ No newline at end of file
diff --git a/packages/contract/broadcast/DeployAccountFactory.s.sol/84531/run-latest.json b/packages/contract/broadcast/DeployAccountFactory.s.sol/84531/run-latest.json
index 02a43334e..7719aff8f 100644
--- a/packages/contract/broadcast/DeployAccountFactory.s.sol/84531/run-latest.json
+++ b/packages/contract/broadcast/DeployAccountFactory.s.sol/84531/run-latest.json
@@ -1,26 +1,29 @@
{
"transactions": [
{
- "hash": "0xf7f66a2731bd4861a7f9cf7c3225b44640abdf5f2c5df431d83284a3e20913a5",
+ "hash": "0xe36b918623be6530cf8367c11e2833e2d750240421b4432cda1e31a7039fb28b",
"transactionType": "CREATE2",
- "contractName": "AccountFactory",
- "contractAddress": "0xe5a1744d42a30c3Bb87f16FbC4484B984594cD7C",
+ "contractName": "DaimoAccountFactory",
+ "contractAddress": "0xED5F5066de0c177729Eb0D5FECEC4BF87CA6Bf3C",
"function": null,
- "arguments": null,
+ "arguments": [
+ "0x5FF137D4b0FDCD49DcA30c7CF57E578a026d2789",
+ "0xc2b78104907F722DABAc4C69f826a522B2754De4"
+ ],
"transaction": {
"type": "0x02",
"from": "0x2a6d311394184eeb6df8fbbf58626b085374ffe7",
"to": "0x4e59b44847b379578588920ca78fbf26c0b4956c",
"gas": "0x4033ae",
"value": "0x0",
- "data": "0x000000000000000000000000000000000000000000000000000000000000000060c0346100f3576134bb906001600160401b0390601f38849003908101601f1916820190838211838310176100dd57808391604096879485528339810103126100f35780516001600160a01b03808216929091908382036100f357602001519182168092036100f35760a0528351926126b091828501918211858310176100dd5785938593610e0b8539825260208201520301906000f080156100d25760805251610d1290816100f9823960805181818161016c015281816105e8015261082e015260a05181818160e101526106910152f35b50513d6000823e3d90fd5b634e487b7160e01b600052604160045260246000fd5b600080fdfe60808060405260043610156200001457600080fd5b600090813560e01c90816311464fbe1462000120575080632a0c114d1462000105578063b0d691fe14620000945763cca14965146200005257600080fd5b346200009157602062000073620000693662000205565b9392909262000761565b73ffffffffffffffffffffffffffffffffffffffff60405191168152f35b80fd5b50346200009157807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126200009157602060405173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000168152f35b602062000073620001163662000205565b9392909262000510565b9050346200019057817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112620001905760209073ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000168152f35b5080fd5b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff821117620001d657604052565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b9060a07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc830112620002c45760043560ff81168103620002c457918060431215620002c45760405191604083019167ffffffffffffffff9284811084821117620001d65760405283606494828611620002c4576024905b868210620002c9575050933590838211620002c45780602383011215620002c4578160040135938411620002c45760248460051b83010111620002c457602401919060843590565b600080fd5b81358152602091820191016200027c565b60ff909116815260809391602091908582019060008484015b600282106200046b575050508360609187838501525260a0820160a08560051b84010196866000945b878610620003305750505050505050505090565b9091929394959697987fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6082820301855289357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa184360301811215620002c4578301803573ffffffffffffffffffffffffffffffffffffffff8116809103620002c45782528881013589830152604090818101357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe182360301811215620002c45701898101903567ffffffffffffffff8111620002c4578036038213620002c457837fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f83808f97968c968f808b9a60019d0152870152868601376000858286010152011601019b019501960194939796959291906200031c565b8251815291850191600191909101908501620002f3565b60005b838110620004965750506000910152565b818101518382015260200162000485565b90601f60609373ffffffffffffffffffffffffffffffffffffffff7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0931684526040602085015262000509815180928160408801526020888801910162000482565b0116010190565b93919362000522838587858562000761565b936000943462000679575b803b620006595750906200058b620005b89273ffffffffffffffffffffffffffffffffffffffff976040519586947fc73ba52600000000000000000000000000000000000000000000000000000000602087015260248601620002da565b037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0810183528262000194565b6040519061042c8083019083821067ffffffffffffffff8311176200062c57916200060f918493620008b18539877f00000000000000000000000000000000000000000000000000000000000000001690620004a7565b039083f59081156200062057501690565b604051903d90823e3d90fd5b6024867f4e487b710000000000000000000000000000000000000000000000000000000081526041600452fd5b73ffffffffffffffffffffffffffffffffffffffff169695505050505050565b73ffffffffffffffffffffffffffffffffffffffff807f00000000000000000000000000000000000000000000000000000000000000001690813b156200075d5787906024604051809481937fb760faf90000000000000000000000000000000000000000000000000000000083528716600483015234905af18015620007525762000707575b506200052d565b67ffffffffffffffff81979297116200072557604052943862000700565b6024827f4e487b710000000000000000000000000000000000000000000000000000000081526041600452fd5b6040513d89823e3d90fd5b8780fd5b90600b93926200088b620008986055979461042c936020958692620007d460409a8b519462000793878b018762000194565b89865286860199620008b18b398c519485947fc73ba526000000000000000000000000000000000000000000000000000000008987015260248601620002da565b03620008077fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe09182810184528362000194565b620008628a519182620008558782019573ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001687620004a7565b0390810183528262000194565b89519586936200087b868601998a925192839162000482565b8401915180938684019062000482565b0103808452018262000194565b5190208351938401528201523081520160ff8153209056fe60406080815261042c908138038061001681610218565b93843982019181818403126102135780516001600160a01b038116808203610213576020838101516001600160401b0394919391858211610213570186601f820112156102135780519061007161006c83610253565b610218565b918083528583019886828401011161021357888661008f930161026e565b813b156101b9577f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc80546001600160a01b031916841790556000927fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b8480a28051158015906101b2575b61010b575b855160e790816103458239f35b855194606086019081118682101761019e578697849283926101889952602788527f416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c87890152660819985a5b195960ca1b8a8901525190845af4913d15610194573d9061017a61006c83610253565b91825281943d92013e610291565b508038808080806100fe565b5060609250610291565b634e487b7160e01b84526041600452602484fd5b50826100f9565b855162461bcd60e51b815260048101859052602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b6064820152608490fd5b600080fd5b6040519190601f01601f191682016001600160401b0381118382101761023d57604052565b634e487b7160e01b600052604160045260246000fd5b6001600160401b03811161023d57601f01601f191660200190565b60005b8381106102815750506000910152565b8181015183820152602001610271565b919290156102f357508151156102a5575090565b3b156102ae5790565b60405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606490fd5b8251909150156103065750805190602001fd5b6044604051809262461bcd60e51b825260206004830152610336815180928160248601526020868601910161026e565b601f01601f19168101030190fdfe60806040523615605f5773ffffffffffffffffffffffffffffffffffffffff7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc54166000808092368280378136915af43d82803e15605b573d90f35b3d90fd5b73ffffffffffffffffffffffffffffffffffffffff7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc54166000808092368280378136915af43d82803e15605b573d90f3fea26469706673582212203e27870c29c906c7a4abb622ab67817dc9be875182a3cce06cf0e3a1a85323ee64736f6c63430008150033a2646970667358221220ba5568a7517ac7ee1e76d8caf9dc7b31ff8eb71dfb21a2e55e2408ff6939d74a64736f6c63430008150033610100346200018557601f620026b038819003918201601f19168301916001600160401b038311848410176200018a578084926040948552833981010312620001855780516001600160a01b039182821682036200018557602001519182168203620001855730608052601460e05260a05260c05260005460ff8160081c16620001305760ff80821610620000f4575b60405161250f9081620001a182396080518181816103cd0152818161085001526108fc015260a0518181816102cc015281816105fc01528181610caa0152611975015260c05181818161020a0152611d41015260e051818181610d8201526121eb0152f35b60ff90811916176000557f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498602060405160ff8152a1386200008f565b60405162461bcd60e51b815260206004820152602760248201527f496e697469616c697a61626c653a20636f6e747261637420697320696e697469604482015266616c697a696e6760c81b6064820152608490fd5b600080fd5b634e487b7160e01b600052604160045260246000fdfe6080604052600436101561001b575b361561001957600080fd5b005b60003560e01c80631626ba7e1461010b578063290f32331461010657806334fcd5be146101015780633659cfe6146100fc5780633a871cdd146100f75780634f1ef286146100f257806352d1902d146100ed578063595f20d6146100e857806388b25709146100e35780639875b4db146100de578063b0d691fe146100d9578063b3033ef2146100d4578063bafa7108146100cf578063c73ba526146100ca5763c90e3c5b0361000e57610f2e565b610da6565b610d4a565b610cce565b610c5f565b610c1d565b610b1c565b610a10565b6108b6565b6107c9565b610587565b610379565b61025f565b6101bf565b346101ba5760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101ba5767ffffffffffffffff6024358181116101ba57366023820112156101ba5780600401359182116101ba5736602483830101116101ba576101b69160246101839201600435611a9a565b6040517fffffffff0000000000000000000000000000000000000000000000000000000090911681529081906020820190565b0390f35b600080fd5b346101ba5760007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101ba57602060405173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000168152f35b9181601f840112156101ba5782359167ffffffffffffffff83116101ba576020808501948460051b0101116101ba57565b346101ba576020807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101ba5760043567ffffffffffffffff81116101ba576102af90369060040161022e565b6102f373ffffffffffffffffffffffffffffffffffffffff9392937f0000000000000000000000000000000000000000000000000000000000000000163314611a1e565b60005b8181106102ff57005b8061035161031161035693858861181b565b3561031b8161035b565b8561032784878a61181b565b013561034b61034461033a86898c61181b565b604081019061186a565b3691610792565b91611fd5565b6117e9565b6102f6565b73ffffffffffffffffffffffffffffffffffffffff8116036101ba57565b346101ba5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101ba576004356103b48161035b565b73ffffffffffffffffffffffffffffffffffffffff90817f000000000000000000000000000000000000000000000000000000000000000016916103fa8330141561107b565b6104297f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc938285541614611106565b610434303314611ffd565b60405190610441826106af565b600082527f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff161561047b575050610019915061139e565b6020600491604094939451928380927f52d1902d00000000000000000000000000000000000000000000000000000000825286165afa60009181610557575b50610544576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201527f6f6e206973206e6f7420555550530000000000000000000000000000000000006064820152608490fd5b6100199361055291146111ac565b61148a565b61057991925060203d8111610580575b6105718183610708565b810190611191565b90386104ba565b503d610567565b346101ba577ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc6060813601126101ba576004359067ffffffffffffffff82116101ba576101609082360301126101ba576101b69061062f6044359161062373ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000163314611a1e565b60243590600401611e0c565b9080610647575b506040519081529081906020820190565b600080808093337ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1506106796115c9565b5038610636565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6020810190811067ffffffffffffffff8211176106cb57604052565b610680565b6040810190811067ffffffffffffffff8211176106cb57604052565b6060810190811067ffffffffffffffff8211176106cb57604052565b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff8211176106cb57604052565b60405190610756826106d0565b565b67ffffffffffffffff81116106cb57601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b92919261079e82610758565b916107ac6040519384610708565b8294818452818301116101ba578281602093846000960137010152565b60407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101ba576004356107ff8161035b565b6024359067ffffffffffffffff82116101ba57366023830112156101ba57610834610019923690602481600401359101610792565b906108a673ffffffffffffffffffffffffffffffffffffffff807f0000000000000000000000000000000000000000000000000000000000000000169061087d8230141561107b565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc541614611106565b6108b1303314611ffd565b611237565b346101ba5760007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101ba5773ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016300361094d576040517f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc8152602090f35b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c60448201527f6c6564207468726f7567682064656c656761746563616c6c00000000000000006064820152fd5b6004359060ff821682036101ba57565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b346101ba5760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101ba57610a476109d1565b60ff6024359116600052600160205260406000209060028110156101ba576020910154604051908152f35b60409081810191808252835180935260608201926020809501916000905b828210610ad657505050508281830391015281808451928381520193019160005b828110610abf575050505090565b835160ff1685529381019392810192600101610ab1565b9091929594858288519280936000905b60028210610b035750989991019750019392600101919050610a90565b80518652948401948a9487945060019092019101610ae6565b346101ba576000807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610c1a5760ff9081815460101c16610b5f8161207a565b91610b69826120f0565b93815b6101008110610b9157505090610b829114611bd6565b6101b660405192839283610a72565b818116610bab8160ff166000526001602052604060002090565b54610bc0575b50610bbb906117e9565b610b6c565b610bbb919361035182610beb610be6610c139560ff166000526001602052604060002090565b612153565b610bf5848b61213f565b52610c00838a61213f565b50610c0b838b61213f565b9060ff169052565b9290610bb1565b80fd5b346101ba5760007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101ba57602060ff60005460101c16604051908152f35b346101ba5760007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101ba57602060405173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000168152f35b346101ba5760607ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101ba57610d056109d1565b36604312156101ba57604051610d1a816106d0565b809160643681116101ba576024935b818510610d3a576100198484612186565b8435815260209485019401610d29565b346101ba5760007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101ba57602060405160ff7f0000000000000000000000000000000000000000000000000000000000000000168152f35b346101ba5760807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101ba57610ddd6109d1565b366064116101ba5760643567ffffffffffffffff81116101ba57610e08610e6891369060040161022e565b9060005493610e2e60ff8660081c161580968197610f20575b8115610f00575b5061172f565b84610e5f60017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff006000541617600055565b610eca576118d3565b610e6e57005b610e9b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff60005416600055565b604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb384740249890602090a1005b610efb6101007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff6000541617600055565b6118d3565b303b15915081610f12575b5038610e28565b6001915060ff161438610f0b565b600160ff8216109150610e21565b346101ba5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101ba57610f656109d1565b610f70303314611ffd565b60009060ff811682526001602052610f8d604083205415156123e1565b610faa600160ff610fa3855460ff9060101c1690565b1611612446565b7fb1c618be842f3c0e753cfc3569dd3eafd446296dbe6db8af1d8cc92c7d0ba053611075610fe8610be68460ff166000526001602052604060002090565b611018610ff3610749565b8681528660208201526110138660ff166000526001602052604060002090565b612371565b61106761103261102d875460ff9060101c1690565b6124ab565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ffff62ff00006000549260101b16911617600055565b6040519182913095836123a7565b0390a280f35b1561108257565b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f64656c656761746563616c6c00000000000000000000000000000000000000006064820152fd5b1561110d57565b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f6163746976652070726f787900000000000000000000000000000000000000006064820152fd5b908160209103126101ba575190565b6040513d6000823e3d90fd5b156111b357565b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f7860448201527f6961626c655555494400000000000000000000000000000000000000000000006064820152fd5b906112637f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff1690565b1561127257506107569061139e565b604051917f52d1902d00000000000000000000000000000000000000000000000000000000835260208360048173ffffffffffffffffffffffffffffffffffffffff85165afa6000938161137e575b5061134b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201527f6f6e206973206e6f7420555550530000000000000000000000000000000000006064820152608490fd5b6113797f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc61075694146111ac565b611569565b61139791945060203d8111610580576105718183610708565b92386112c1565b803b156114065773ffffffffffffffffffffffffffffffffffffffff7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc91167fffffffffffffffffffffffff0000000000000000000000000000000000000000825416179055565b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201527f6f74206120636f6e7472616374000000000000000000000000000000000000006064820152fd5b906114948261139e565b73ffffffffffffffffffffffffffffffffffffffff82167fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b600080a2805115801590611561575b6114e3575050565b61155e91600080604051936114f7856106ec565b602785527f416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c60208601527f206661696c6564000000000000000000000000000000000000000000000000006040860152602081519101845af46115586115c9565b9161165e565b50565b5060006114db565b906115738261139e565b73ffffffffffffffffffffffffffffffffffffffff82167fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b600080a28051158015906115c1576114e3575050565b5060016114db565b3d156115f4573d906115da82610758565b916115e86040519384610708565b82523d6000602084013e565b606090565b1561160057565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152fd5b919290156116815750815115611672575090565b61167e903b15156115f9565b90565b8251909150156116945750805190602001fd5b6044601f917fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe06040519384927f08c379a000000000000000000000000000000000000000000000000000000000845260206004850152611703815180928160248801526020888801910161170c565b01168101030190fd5b60005b83811061171f5750506000910152565b818101518382015260200161170f565b1561173657565b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a65640000000000000000000000000000000000006064820152fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81146118165760010190565b6117ba565b919081101561185b5760051b810135907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa1813603018212156101ba570190565b6109e1565b3561167e8161035b565b9035907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1813603018212156101ba570180359067ffffffffffffffff82116101ba576020019181360383136101ba57565b6024602060409294939460ff60608201961681520137565b916118eb8360ff166000526001602052604060002090565b602460005b60028110611a0a5750505061192d620100007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ffff6000541617600055565b60005b8181106119cb575050507f1d84cb7fa5da6303adc54870a915cbf91d2cf642fcc5ce470b79b7746720187660405173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000167f9b44a2c7f9f0b5aa4e7da60d8a2325796c57f93a45559d66515743ffbd8a6103600080a2806119c63094826118bb565b0390a2565b806103516119e56119e0611a0594868861181b565b611860565b60206119f284878961181b565b013561034b61034461033a86898b61181b565b611930565b6001906020833593019281850155016118f0565b15611a2557565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601060248201527f6f6e6c7920656e74727920706f696e74000000000000000000000000000000006044820152fd5b90611a966020928281519485920161170c565b0190565b6000611acb602092949394604051848101918252848152611aba816106d0565b60405192839283925192839161170c565b8101039060025afa15611b3057611ae491600051611c0c565b611b0c577fffffffff0000000000000000000000000000000000000000000000000000000090565b7f1626ba7e0000000000000000000000000000000000000000000000000000000090565b6111a0565b906041116101ba5760210190602090565b906007116101ba5760010190600690565b90929192836007116101ba5783116101ba57600701917ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff90190565b359060208110611ba0575090565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff9060200360031b1b1690565b901561185b5790565b15611bdd57565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052600160045260246000fd5b91806021116101ba5760008282611d3d611c6796611d11611c93611c8d611c5e611c58899a7f7fffffff800000007fffffffffffffffde737d56d38bcf4279dce5617e3192a89c611b35565b90611b92565b9a8b9688611bcd565b357fff000000000000000000000000000000000000000000000000000000000000001690565b60f81c90565b611cdb611cd1611cc8611cb38460ff166000526001602052604060002090565b549360ff166000526001602052604060002090565b60010190600090565b90549060031b1c90565b9060405195869460016020870199013590899192608093969594919660a084019784526020840152604083015260608201520152565b037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08101835282610708565b51907f00000000000000000000000000000000000000000000000000000000000000005afa91611d74611d6e6115c9565b93611bd6565b11611d9257611d8e81602080600194518301019101611191565b1490565b50600090565b604051906060820182811067ffffffffffffffff8211176106cb5760405260006040838281528260208201520152565b7fffffffffffff00000000000000000000000000000000000000000000000000009035818116939260068110611dfd57505050565b60060360031b82901b16169150565b611e14611d98565b916101408201611e24818461186a565b80915015611fc057611e45611c8d611c67611e3f858861186a565b90611bcd565b9060ff8216600103611fca57604803611fc057611f3082611f2486611f13600095611ea6611e9f611e97611e91611e8b611e85611d119f9d60209e61186a565b90611b46565b90611dc8565b60d01c90565b96879561186a565b8091611b57565b9a909a996040519485938b8501917fffffffffffff0000000000000000000000000000000000000000000000000000907fff000000000000000000000000000000000000000000000000000000000000006027959360f81b16845260d01b16600183015260078201520190565b65ffffffffffff9092166040890152565b60405191828092611a83565b039060025afa15611b3057611f4791600051611c0c565b611f515750600190565b61167e907fffffffffffff0000000000000000000000000000000000000000000000000000602073ffffffffffffffffffffffffffffffffffffffff83511679ffffffffffff0000000000000000000000000000000000000000604085015160a01b161792015160d01b161790565b5050505050600190565b505050505050600190565b916000928392602083519301915af1611fec6115c9565b9015611ff55750565b602081519101fd5b1561200457565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600960248201527f6f6e6c792073656c6600000000000000000000000000000000000000000000006044820152fd5b67ffffffffffffffff81116106cb5760051b60200190565b9061208482612062565b604061209281519283610708565b8382527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe06120c08395612062565b019160005b8381106120d25750505050565b60209083516120e0816106d0565b84368237828285010152016120c5565b906120fa82612062565b6121076040519182610708565b8281527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe06121358294612062565b0190602036910137565b805182101561185b5760209160051b010190565b60405191906000835b6002821061217057505050610756826106d0565b600160208192855481520193019101909161215c565b90612192303314611ffd565b60ff82166000526001602052604060002054612249576119c6816121d97f1d84cb7fa5da6303adc54870a915cbf91d2cf642fcc5ce470b79b77467201876935115156122a7565b6000546122139060101c60ff1660ff807f00000000000000000000000000000000000000000000000000000000000000001691161061230c565b61222e816110138660ff166000526001602052604060002090565b61106761103261224460005460ff9060101c1690565b612396565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601260248201527f6b657920616c72656164792065786973747300000000000000000000000000006044820152fd5b156122ae57565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601360248201527f6e6577206b65792063616e6e6f742062652030000000000000000000000000006044820152fd5b1561231357565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601060248201527f6d6178206b6579732072656163686564000000000000000000000000000000006044820152fd5b9060005b6002811061238257505050565b600190602083519301928185015501612375565b60ff1660ff81146118165760010190565b9291909260ff606082019416815260208091016000905b600282106123cc5750505050565b828060019286518152019401910190926123be565b156123e857565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601260248201527f6b657920646f6573206e6f7420657869737400000000000000000000000000006044820152fd5b1561244d57565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601e60248201527f63616e6e6f742072656d6f7665206f6e6c79207369676e696e67206b657900006044820152fd5b60ff168015611816577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff019056fea26469706673582212206eb0c9fdeec3efa6e2dd90117bd6ed77a4251496c080965433196a4b8f93eb3464736f6c634300081500330000000000000000000000005ff137d4b0fdcd49dca30c7cf57e578a026d2789000000000000000000000000c2b78104907f722dabac4c69f826a522b2754de4",
- "nonce": "0x3cd",
+ "data": "0x000000000000000000000000000000000000000000000000000000000000000060c0346100f3576134bb906001600160401b0390601f38849003908101601f1916820190838211838310176100dd57808391604096879485528339810103126100f35780516001600160a01b03808216929091908382036100f357602001519182168092036100f35760a0528351926126b091828501918211858310176100dd5785938593610e0b8539825260208201520301906000f080156100d25760805251610d1290816100f9823960805181818161016c015281816105e8015261082e015260a05181818160e101526106910152f35b50513d6000823e3d90fd5b634e487b7160e01b600052604160045260246000fd5b600080fdfe60808060405260043610156200001457600080fd5b600090813560e01c90816311464fbe1462000120575080632a0c114d1462000105578063b0d691fe14620000945763cca14965146200005257600080fd5b346200009157602062000073620000693662000205565b9392909262000761565b73ffffffffffffffffffffffffffffffffffffffff60405191168152f35b80fd5b50346200009157807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126200009157602060405173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000168152f35b602062000073620001163662000205565b9392909262000510565b9050346200019057817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112620001905760209073ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000168152f35b5080fd5b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff821117620001d657604052565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b9060a07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc830112620002c45760043560ff81168103620002c457918060431215620002c45760405191604083019167ffffffffffffffff9284811084821117620001d65760405283606494828611620002c4576024905b868210620002c9575050933590838211620002c45780602383011215620002c4578160040135938411620002c45760248460051b83010111620002c457602401919060843590565b600080fd5b81358152602091820191016200027c565b60ff909116815260809391602091908582019060008484015b600282106200046b575050508360609187838501525260a0820160a08560051b84010196866000945b878610620003305750505050505050505090565b9091929394959697987fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6082820301855289357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa184360301811215620002c4578301803573ffffffffffffffffffffffffffffffffffffffff8116809103620002c45782528881013589830152604090818101357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe182360301811215620002c45701898101903567ffffffffffffffff8111620002c4578036038213620002c457837fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f83808f97968c968f808b9a60019d0152870152868601376000858286010152011601019b019501960194939796959291906200031c565b8251815291850191600191909101908501620002f3565b60005b838110620004965750506000910152565b818101518382015260200162000485565b90601f60609373ffffffffffffffffffffffffffffffffffffffff7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0931684526040602085015262000509815180928160408801526020888801910162000482565b0116010190565b93919362000522838587858562000761565b936000943462000679575b803b620006595750906200058b620005b89273ffffffffffffffffffffffffffffffffffffffff976040519586947fc73ba52600000000000000000000000000000000000000000000000000000000602087015260248601620002da565b037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0810183528262000194565b6040519061042c8083019083821067ffffffffffffffff8311176200062c57916200060f918493620008b18539877f00000000000000000000000000000000000000000000000000000000000000001690620004a7565b039083f59081156200062057501690565b604051903d90823e3d90fd5b6024867f4e487b710000000000000000000000000000000000000000000000000000000081526041600452fd5b73ffffffffffffffffffffffffffffffffffffffff169695505050505050565b73ffffffffffffffffffffffffffffffffffffffff807f00000000000000000000000000000000000000000000000000000000000000001690813b156200075d5787906024604051809481937fb760faf90000000000000000000000000000000000000000000000000000000083528716600483015234905af18015620007525762000707575b506200052d565b67ffffffffffffffff81979297116200072557604052943862000700565b6024827f4e487b710000000000000000000000000000000000000000000000000000000081526041600452fd5b6040513d89823e3d90fd5b8780fd5b90600b93926200088b620008986055979461042c936020958692620007d460409a8b519462000793878b018762000194565b89865286860199620008b18b398c519485947fc73ba526000000000000000000000000000000000000000000000000000000008987015260248601620002da565b03620008077fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe09182810184528362000194565b620008628a519182620008558782019573ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001687620004a7565b0390810183528262000194565b89519586936200087b868601998a925192839162000482565b8401915180938684019062000482565b0103808452018262000194565b5190208351938401528201523081520160ff8153209056fe60406080815261042c908138038061001681610218565b93843982019181818403126102135780516001600160a01b038116808203610213576020838101516001600160401b0394919391858211610213570186601f820112156102135780519061007161006c83610253565b610218565b918083528583019886828401011161021357888661008f930161026e565b813b156101b9577f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc80546001600160a01b031916841790556000927fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b8480a28051158015906101b2575b61010b575b855160e790816103458239f35b855194606086019081118682101761019e578697849283926101889952602788527f416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c87890152660819985a5b195960ca1b8a8901525190845af4913d15610194573d9061017a61006c83610253565b91825281943d92013e610291565b508038808080806100fe565b5060609250610291565b634e487b7160e01b84526041600452602484fd5b50826100f9565b855162461bcd60e51b815260048101859052602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b6064820152608490fd5b600080fd5b6040519190601f01601f191682016001600160401b0381118382101761023d57604052565b634e487b7160e01b600052604160045260246000fd5b6001600160401b03811161023d57601f01601f191660200190565b60005b8381106102815750506000910152565b8181015183820152602001610271565b919290156102f357508151156102a5575090565b3b156102ae5790565b60405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606490fd5b8251909150156103065750805190602001fd5b6044604051809262461bcd60e51b825260206004830152610336815180928160248601526020868601910161026e565b601f01601f19168101030190fdfe60806040523615605f5773ffffffffffffffffffffffffffffffffffffffff7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc54166000808092368280378136915af43d82803e15605b573d90f35b3d90fd5b73ffffffffffffffffffffffffffffffffffffffff7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc54166000808092368280378136915af43d82803e15605b573d90f3fea26469706673582212203e27870c29c906c7a4abb622ab67817dc9be875182a3cce06cf0e3a1a85323ee64736f6c63430008150033a26469706673582212204b81d3631c33034d30903269659a6836155f344ddb50d3ceee6b9b8cb32c69f764736f6c63430008150033610100346200018557601f620026b038819003918201601f19168301916001600160401b038311848410176200018a578084926040948552833981010312620001855780516001600160a01b039182821682036200018557602001519182168203620001855730608052601460e05260a05260c05260005460ff8160081c16620001305760ff80821610620000f4575b60405161250f9081620001a182396080518181816103cd0152818161085001526108fc015260a0518181816102cc015281816105fc01528181610caa0152611975015260c05181818161020a0152611d41015260e051818181610d8201526121eb0152f35b60ff90811916176000557f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498602060405160ff8152a1386200008f565b60405162461bcd60e51b815260206004820152602760248201527f496e697469616c697a61626c653a20636f6e747261637420697320696e697469604482015266616c697a696e6760c81b6064820152608490fd5b600080fd5b634e487b7160e01b600052604160045260246000fdfe6080604052600436101561001b575b361561001957600080fd5b005b60003560e01c80631626ba7e1461010b578063290f32331461010657806334fcd5be146101015780633659cfe6146100fc5780633a871cdd146100f75780634f1ef286146100f257806352d1902d146100ed578063595f20d6146100e857806388b25709146100e35780639875b4db146100de578063b0d691fe146100d9578063b3033ef2146100d4578063bafa7108146100cf578063c73ba526146100ca5763c90e3c5b0361000e57610f2e565b610da6565b610d4a565b610cce565b610c5f565b610c1d565b610b1c565b610a10565b6108b6565b6107c9565b610587565b610379565b61025f565b6101bf565b346101ba5760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101ba5767ffffffffffffffff6024358181116101ba57366023820112156101ba5780600401359182116101ba5736602483830101116101ba576101b69160246101839201600435611a9a565b6040517fffffffff0000000000000000000000000000000000000000000000000000000090911681529081906020820190565b0390f35b600080fd5b346101ba5760007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101ba57602060405173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000168152f35b9181601f840112156101ba5782359167ffffffffffffffff83116101ba576020808501948460051b0101116101ba57565b346101ba576020807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101ba5760043567ffffffffffffffff81116101ba576102af90369060040161022e565b6102f373ffffffffffffffffffffffffffffffffffffffff9392937f0000000000000000000000000000000000000000000000000000000000000000163314611a1e565b60005b8181106102ff57005b8061035161031161035693858861181b565b3561031b8161035b565b8561032784878a61181b565b013561034b61034461033a86898c61181b565b604081019061186a565b3691610792565b91611fd5565b6117e9565b6102f6565b73ffffffffffffffffffffffffffffffffffffffff8116036101ba57565b346101ba5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101ba576004356103b48161035b565b73ffffffffffffffffffffffffffffffffffffffff90817f000000000000000000000000000000000000000000000000000000000000000016916103fa8330141561107b565b6104297f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc938285541614611106565b610434303314611ffd565b60405190610441826106af565b600082527f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff161561047b575050610019915061139e565b6020600491604094939451928380927f52d1902d00000000000000000000000000000000000000000000000000000000825286165afa60009181610557575b50610544576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201527f6f6e206973206e6f7420555550530000000000000000000000000000000000006064820152608490fd5b6100199361055291146111ac565b61148a565b61057991925060203d8111610580575b6105718183610708565b810190611191565b90386104ba565b503d610567565b346101ba577ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc6060813601126101ba576004359067ffffffffffffffff82116101ba576101609082360301126101ba576101b69061062f6044359161062373ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000163314611a1e565b60243590600401611e0c565b9080610647575b506040519081529081906020820190565b600080808093337ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1506106796115c9565b5038610636565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6020810190811067ffffffffffffffff8211176106cb57604052565b610680565b6040810190811067ffffffffffffffff8211176106cb57604052565b6060810190811067ffffffffffffffff8211176106cb57604052565b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff8211176106cb57604052565b60405190610756826106d0565b565b67ffffffffffffffff81116106cb57601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b92919261079e82610758565b916107ac6040519384610708565b8294818452818301116101ba578281602093846000960137010152565b60407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101ba576004356107ff8161035b565b6024359067ffffffffffffffff82116101ba57366023830112156101ba57610834610019923690602481600401359101610792565b906108a673ffffffffffffffffffffffffffffffffffffffff807f0000000000000000000000000000000000000000000000000000000000000000169061087d8230141561107b565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc541614611106565b6108b1303314611ffd565b611237565b346101ba5760007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101ba5773ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016300361094d576040517f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc8152602090f35b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c60448201527f6c6564207468726f7567682064656c656761746563616c6c00000000000000006064820152fd5b6004359060ff821682036101ba57565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b346101ba5760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101ba57610a476109d1565b60ff6024359116600052600160205260406000209060028110156101ba576020910154604051908152f35b60409081810191808252835180935260608201926020809501916000905b828210610ad657505050508281830391015281808451928381520193019160005b828110610abf575050505090565b835160ff1685529381019392810192600101610ab1565b9091929594858288519280936000905b60028210610b035750989991019750019392600101919050610a90565b80518652948401948a9487945060019092019101610ae6565b346101ba576000807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610c1a5760ff9081815460101c16610b5f8161207a565b91610b69826120f0565b93815b6101008110610b9157505090610b829114611bd6565b6101b660405192839283610a72565b818116610bab8160ff166000526001602052604060002090565b54610bc0575b50610bbb906117e9565b610b6c565b610bbb919361035182610beb610be6610c139560ff166000526001602052604060002090565b612153565b610bf5848b61213f565b52610c00838a61213f565b50610c0b838b61213f565b9060ff169052565b9290610bb1565b80fd5b346101ba5760007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101ba57602060ff60005460101c16604051908152f35b346101ba5760007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101ba57602060405173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000168152f35b346101ba5760607ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101ba57610d056109d1565b36604312156101ba57604051610d1a816106d0565b809160643681116101ba576024935b818510610d3a576100198484612186565b8435815260209485019401610d29565b346101ba5760007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101ba57602060405160ff7f0000000000000000000000000000000000000000000000000000000000000000168152f35b346101ba5760807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101ba57610ddd6109d1565b366064116101ba5760643567ffffffffffffffff81116101ba57610e08610e6891369060040161022e565b9060005493610e2e60ff8660081c161580968197610f20575b8115610f00575b5061172f565b84610e5f60017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff006000541617600055565b610eca576118d3565b610e6e57005b610e9b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff60005416600055565b604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb384740249890602090a1005b610efb6101007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff6000541617600055565b6118d3565b303b15915081610f12575b5038610e28565b6001915060ff161438610f0b565b600160ff8216109150610e21565b346101ba5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101ba57610f656109d1565b610f70303314611ffd565b60009060ff811682526001602052610f8d604083205415156123e1565b610faa600160ff610fa3855460ff9060101c1690565b1611612446565b7fb1c618be842f3c0e753cfc3569dd3eafd446296dbe6db8af1d8cc92c7d0ba053611075610fe8610be68460ff166000526001602052604060002090565b611018610ff3610749565b8681528660208201526110138660ff166000526001602052604060002090565b612371565b61106761103261102d875460ff9060101c1690565b6124ab565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ffff62ff00006000549260101b16911617600055565b6040519182913095836123a7565b0390a280f35b1561108257565b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f64656c656761746563616c6c00000000000000000000000000000000000000006064820152fd5b1561110d57565b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f6163746976652070726f787900000000000000000000000000000000000000006064820152fd5b908160209103126101ba575190565b6040513d6000823e3d90fd5b156111b357565b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f7860448201527f6961626c655555494400000000000000000000000000000000000000000000006064820152fd5b906112637f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff1690565b1561127257506107569061139e565b604051917f52d1902d00000000000000000000000000000000000000000000000000000000835260208360048173ffffffffffffffffffffffffffffffffffffffff85165afa6000938161137e575b5061134b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201527f6f6e206973206e6f7420555550530000000000000000000000000000000000006064820152608490fd5b6113797f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc61075694146111ac565b611569565b61139791945060203d8111610580576105718183610708565b92386112c1565b803b156114065773ffffffffffffffffffffffffffffffffffffffff7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc91167fffffffffffffffffffffffff0000000000000000000000000000000000000000825416179055565b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201527f6f74206120636f6e7472616374000000000000000000000000000000000000006064820152fd5b906114948261139e565b73ffffffffffffffffffffffffffffffffffffffff82167fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b600080a2805115801590611561575b6114e3575050565b61155e91600080604051936114f7856106ec565b602785527f416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c60208601527f206661696c6564000000000000000000000000000000000000000000000000006040860152602081519101845af46115586115c9565b9161165e565b50565b5060006114db565b906115738261139e565b73ffffffffffffffffffffffffffffffffffffffff82167fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b600080a28051158015906115c1576114e3575050565b5060016114db565b3d156115f4573d906115da82610758565b916115e86040519384610708565b82523d6000602084013e565b606090565b1561160057565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152fd5b919290156116815750815115611672575090565b61167e903b15156115f9565b90565b8251909150156116945750805190602001fd5b6044601f917fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe06040519384927f08c379a000000000000000000000000000000000000000000000000000000000845260206004850152611703815180928160248801526020888801910161170c565b01168101030190fd5b60005b83811061171f5750506000910152565b818101518382015260200161170f565b1561173657565b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a65640000000000000000000000000000000000006064820152fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81146118165760010190565b6117ba565b919081101561185b5760051b810135907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa1813603018212156101ba570190565b6109e1565b3561167e8161035b565b9035907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1813603018212156101ba570180359067ffffffffffffffff82116101ba576020019181360383136101ba57565b6024602060409294939460ff60608201961681520137565b916118eb8360ff166000526001602052604060002090565b602460005b60028110611a0a5750505061192d620100007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ffff6000541617600055565b60005b8181106119cb575050507f1d84cb7fa5da6303adc54870a915cbf91d2cf642fcc5ce470b79b7746720187660405173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000167f9b44a2c7f9f0b5aa4e7da60d8a2325796c57f93a45559d66515743ffbd8a6103600080a2806119c63094826118bb565b0390a2565b806103516119e56119e0611a0594868861181b565b611860565b60206119f284878961181b565b013561034b61034461033a86898b61181b565b611930565b6001906020833593019281850155016118f0565b15611a2557565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601060248201527f6f6e6c7920656e74727920706f696e74000000000000000000000000000000006044820152fd5b90611a966020928281519485920161170c565b0190565b6000611acb602092949394604051848101918252848152611aba816106d0565b60405192839283925192839161170c565b8101039060025afa15611b3057611ae491600051611c0c565b611b0c577fffffffff0000000000000000000000000000000000000000000000000000000090565b7f1626ba7e0000000000000000000000000000000000000000000000000000000090565b6111a0565b906041116101ba5760210190602090565b906007116101ba5760010190600690565b90929192836007116101ba5783116101ba57600701917ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff90190565b359060208110611ba0575090565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff9060200360031b1b1690565b901561185b5790565b15611bdd57565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052600160045260246000fd5b91806021116101ba5760008282611d3d611c6796611d11611c93611c8d611c5e611c58899a7f7fffffff800000007fffffffffffffffde737d56d38bcf4279dce5617e3192a89c611b35565b90611b92565b9a8b9688611bcd565b357fff000000000000000000000000000000000000000000000000000000000000001690565b60f81c90565b611cdb611cd1611cc8611cb38460ff166000526001602052604060002090565b549360ff166000526001602052604060002090565b60010190600090565b90549060031b1c90565b9060405195869460016020870199013590899192608093969594919660a084019784526020840152604083015260608201520152565b037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08101835282610708565b51907f00000000000000000000000000000000000000000000000000000000000000005afa91611d74611d6e6115c9565b93611bd6565b11611d9257611d8e81602080600194518301019101611191565b1490565b50600090565b604051906060820182811067ffffffffffffffff8211176106cb5760405260006040838281528260208201520152565b7fffffffffffff00000000000000000000000000000000000000000000000000009035818116939260068110611dfd57505050565b60060360031b82901b16169150565b611e14611d98565b916101408201611e24818461186a565b80915015611fc057611e45611c8d611c67611e3f858861186a565b90611bcd565b9060ff8216600103611fca57604803611fc057611f3082611f2486611f13600095611ea6611e9f611e97611e91611e8b611e85611d119f9d60209e61186a565b90611b46565b90611dc8565b60d01c90565b96879561186a565b8091611b57565b9a909a996040519485938b8501917fffffffffffff0000000000000000000000000000000000000000000000000000907fff000000000000000000000000000000000000000000000000000000000000006027959360f81b16845260d01b16600183015260078201520190565b65ffffffffffff9092166040890152565b60405191828092611a83565b039060025afa15611b3057611f4791600051611c0c565b611f515750600190565b61167e907fffffffffffff0000000000000000000000000000000000000000000000000000602073ffffffffffffffffffffffffffffffffffffffff83511679ffffffffffff0000000000000000000000000000000000000000604085015160a01b161792015160d01b161790565b5050505050600190565b505050505050600190565b916000928392602083519301915af1611fec6115c9565b9015611ff55750565b602081519101fd5b1561200457565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600960248201527f6f6e6c792073656c6600000000000000000000000000000000000000000000006044820152fd5b67ffffffffffffffff81116106cb5760051b60200190565b9061208482612062565b604061209281519283610708565b8382527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe06120c08395612062565b019160005b8381106120d25750505050565b60209083516120e0816106d0565b84368237828285010152016120c5565b906120fa82612062565b6121076040519182610708565b8281527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe06121358294612062565b0190602036910137565b805182101561185b5760209160051b010190565b60405191906000835b6002821061217057505050610756826106d0565b600160208192855481520193019101909161215c565b90612192303314611ffd565b60ff82166000526001602052604060002054612249576119c6816121d97f1d84cb7fa5da6303adc54870a915cbf91d2cf642fcc5ce470b79b77467201876935115156122a7565b6000546122139060101c60ff1660ff807f00000000000000000000000000000000000000000000000000000000000000001691161061230c565b61222e816110138660ff166000526001602052604060002090565b61106761103261224460005460ff9060101c1690565b612396565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601260248201527f6b657920616c72656164792065786973747300000000000000000000000000006044820152fd5b156122ae57565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601360248201527f6e6577206b65792063616e6e6f742062652030000000000000000000000000006044820152fd5b1561231357565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601060248201527f6d6178206b6579732072656163686564000000000000000000000000000000006044820152fd5b9060005b6002811061238257505050565b600190602083519301928185015501612375565b60ff1660ff81146118165760010190565b9291909260ff606082019416815260208091016000905b600282106123cc5750505050565b828060019286518152019401910190926123be565b156123e857565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601260248201527f6b657920646f6573206e6f7420657869737400000000000000000000000000006044820152fd5b1561244d57565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601e60248201527f63616e6e6f742072656d6f7665206f6e6c79207369676e696e67206b657900006044820152fd5b60ff168015611816577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff019056fea26469706673582212206eb0c9fdeec3efa6e2dd90117bd6ed77a4251496c080965433196a4b8f93eb3464736f6c634300081500330000000000000000000000005ff137d4b0fdcd49dca30c7cf57e578a026d2789000000000000000000000000c2b78104907f722dabac4c69f826a522b2754de4",
+ "nonce": "0x480",
"accessList": []
},
"additionalContracts": [
{
"transactionType": "CREATE",
- "address": "0x7cc0CeFDEcc1fcD10688A6f1B57fcE280400bC5F",
+ "address": "0x5951B697Ced7e0C496590F0386608391Eaff97EF",
"initCode": "0x610100346200018557601f620026b038819003918201601f19168301916001600160401b038311848410176200018a578084926040948552833981010312620001855780516001600160a01b039182821682036200018557602001519182168203620001855730608052601460e05260a05260c05260005460ff8160081c16620001305760ff80821610620000f4575b60405161250f9081620001a182396080518181816103cd0152818161085001526108fc015260a0518181816102cc015281816105fc01528181610caa0152611975015260c05181818161020a0152611d41015260e051818181610d8201526121eb0152f35b60ff90811916176000557f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498602060405160ff8152a1386200008f565b60405162461bcd60e51b815260206004820152602760248201527f496e697469616c697a61626c653a20636f6e747261637420697320696e697469604482015266616c697a696e6760c81b6064820152608490fd5b600080fd5b634e487b7160e01b600052604160045260246000fdfe6080604052600436101561001b575b361561001957600080fd5b005b60003560e01c80631626ba7e1461010b578063290f32331461010657806334fcd5be146101015780633659cfe6146100fc5780633a871cdd146100f75780634f1ef286146100f257806352d1902d146100ed578063595f20d6146100e857806388b25709146100e35780639875b4db146100de578063b0d691fe146100d9578063b3033ef2146100d4578063bafa7108146100cf578063c73ba526146100ca5763c90e3c5b0361000e57610f2e565b610da6565b610d4a565b610cce565b610c5f565b610c1d565b610b1c565b610a10565b6108b6565b6107c9565b610587565b610379565b61025f565b6101bf565b346101ba5760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101ba5767ffffffffffffffff6024358181116101ba57366023820112156101ba5780600401359182116101ba5736602483830101116101ba576101b69160246101839201600435611a9a565b6040517fffffffff0000000000000000000000000000000000000000000000000000000090911681529081906020820190565b0390f35b600080fd5b346101ba5760007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101ba57602060405173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000168152f35b9181601f840112156101ba5782359167ffffffffffffffff83116101ba576020808501948460051b0101116101ba57565b346101ba576020807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101ba5760043567ffffffffffffffff81116101ba576102af90369060040161022e565b6102f373ffffffffffffffffffffffffffffffffffffffff9392937f0000000000000000000000000000000000000000000000000000000000000000163314611a1e565b60005b8181106102ff57005b8061035161031161035693858861181b565b3561031b8161035b565b8561032784878a61181b565b013561034b61034461033a86898c61181b565b604081019061186a565b3691610792565b91611fd5565b6117e9565b6102f6565b73ffffffffffffffffffffffffffffffffffffffff8116036101ba57565b346101ba5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101ba576004356103b48161035b565b73ffffffffffffffffffffffffffffffffffffffff90817f000000000000000000000000000000000000000000000000000000000000000016916103fa8330141561107b565b6104297f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc938285541614611106565b610434303314611ffd565b60405190610441826106af565b600082527f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff161561047b575050610019915061139e565b6020600491604094939451928380927f52d1902d00000000000000000000000000000000000000000000000000000000825286165afa60009181610557575b50610544576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201527f6f6e206973206e6f7420555550530000000000000000000000000000000000006064820152608490fd5b6100199361055291146111ac565b61148a565b61057991925060203d8111610580575b6105718183610708565b810190611191565b90386104ba565b503d610567565b346101ba577ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc6060813601126101ba576004359067ffffffffffffffff82116101ba576101609082360301126101ba576101b69061062f6044359161062373ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000163314611a1e565b60243590600401611e0c565b9080610647575b506040519081529081906020820190565b600080808093337ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1506106796115c9565b5038610636565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6020810190811067ffffffffffffffff8211176106cb57604052565b610680565b6040810190811067ffffffffffffffff8211176106cb57604052565b6060810190811067ffffffffffffffff8211176106cb57604052565b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff8211176106cb57604052565b60405190610756826106d0565b565b67ffffffffffffffff81116106cb57601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b92919261079e82610758565b916107ac6040519384610708565b8294818452818301116101ba578281602093846000960137010152565b60407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101ba576004356107ff8161035b565b6024359067ffffffffffffffff82116101ba57366023830112156101ba57610834610019923690602481600401359101610792565b906108a673ffffffffffffffffffffffffffffffffffffffff807f0000000000000000000000000000000000000000000000000000000000000000169061087d8230141561107b565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc541614611106565b6108b1303314611ffd565b611237565b346101ba5760007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101ba5773ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016300361094d576040517f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc8152602090f35b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c60448201527f6c6564207468726f7567682064656c656761746563616c6c00000000000000006064820152fd5b6004359060ff821682036101ba57565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b346101ba5760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101ba57610a476109d1565b60ff6024359116600052600160205260406000209060028110156101ba576020910154604051908152f35b60409081810191808252835180935260608201926020809501916000905b828210610ad657505050508281830391015281808451928381520193019160005b828110610abf575050505090565b835160ff1685529381019392810192600101610ab1565b9091929594858288519280936000905b60028210610b035750989991019750019392600101919050610a90565b80518652948401948a9487945060019092019101610ae6565b346101ba576000807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610c1a5760ff9081815460101c16610b5f8161207a565b91610b69826120f0565b93815b6101008110610b9157505090610b829114611bd6565b6101b660405192839283610a72565b818116610bab8160ff166000526001602052604060002090565b54610bc0575b50610bbb906117e9565b610b6c565b610bbb919361035182610beb610be6610c139560ff166000526001602052604060002090565b612153565b610bf5848b61213f565b52610c00838a61213f565b50610c0b838b61213f565b9060ff169052565b9290610bb1565b80fd5b346101ba5760007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101ba57602060ff60005460101c16604051908152f35b346101ba5760007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101ba57602060405173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000168152f35b346101ba5760607ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101ba57610d056109d1565b36604312156101ba57604051610d1a816106d0565b809160643681116101ba576024935b818510610d3a576100198484612186565b8435815260209485019401610d29565b346101ba5760007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101ba57602060405160ff7f0000000000000000000000000000000000000000000000000000000000000000168152f35b346101ba5760807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101ba57610ddd6109d1565b366064116101ba5760643567ffffffffffffffff81116101ba57610e08610e6891369060040161022e565b9060005493610e2e60ff8660081c161580968197610f20575b8115610f00575b5061172f565b84610e5f60017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff006000541617600055565b610eca576118d3565b610e6e57005b610e9b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff60005416600055565b604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb384740249890602090a1005b610efb6101007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff6000541617600055565b6118d3565b303b15915081610f12575b5038610e28565b6001915060ff161438610f0b565b600160ff8216109150610e21565b346101ba5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101ba57610f656109d1565b610f70303314611ffd565b60009060ff811682526001602052610f8d604083205415156123e1565b610faa600160ff610fa3855460ff9060101c1690565b1611612446565b7fb1c618be842f3c0e753cfc3569dd3eafd446296dbe6db8af1d8cc92c7d0ba053611075610fe8610be68460ff166000526001602052604060002090565b611018610ff3610749565b8681528660208201526110138660ff166000526001602052604060002090565b612371565b61106761103261102d875460ff9060101c1690565b6124ab565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ffff62ff00006000549260101b16911617600055565b6040519182913095836123a7565b0390a280f35b1561108257565b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f64656c656761746563616c6c00000000000000000000000000000000000000006064820152fd5b1561110d57565b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f6163746976652070726f787900000000000000000000000000000000000000006064820152fd5b908160209103126101ba575190565b6040513d6000823e3d90fd5b156111b357565b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f7860448201527f6961626c655555494400000000000000000000000000000000000000000000006064820152fd5b906112637f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff1690565b1561127257506107569061139e565b604051917f52d1902d00000000000000000000000000000000000000000000000000000000835260208360048173ffffffffffffffffffffffffffffffffffffffff85165afa6000938161137e575b5061134b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201527f6f6e206973206e6f7420555550530000000000000000000000000000000000006064820152608490fd5b6113797f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc61075694146111ac565b611569565b61139791945060203d8111610580576105718183610708565b92386112c1565b803b156114065773ffffffffffffffffffffffffffffffffffffffff7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc91167fffffffffffffffffffffffff0000000000000000000000000000000000000000825416179055565b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201527f6f74206120636f6e7472616374000000000000000000000000000000000000006064820152fd5b906114948261139e565b73ffffffffffffffffffffffffffffffffffffffff82167fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b600080a2805115801590611561575b6114e3575050565b61155e91600080604051936114f7856106ec565b602785527f416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c60208601527f206661696c6564000000000000000000000000000000000000000000000000006040860152602081519101845af46115586115c9565b9161165e565b50565b5060006114db565b906115738261139e565b73ffffffffffffffffffffffffffffffffffffffff82167fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b600080a28051158015906115c1576114e3575050565b5060016114db565b3d156115f4573d906115da82610758565b916115e86040519384610708565b82523d6000602084013e565b606090565b1561160057565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152fd5b919290156116815750815115611672575090565b61167e903b15156115f9565b90565b8251909150156116945750805190602001fd5b6044601f917fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe06040519384927f08c379a000000000000000000000000000000000000000000000000000000000845260206004850152611703815180928160248801526020888801910161170c565b01168101030190fd5b60005b83811061171f5750506000910152565b818101518382015260200161170f565b1561173657565b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a65640000000000000000000000000000000000006064820152fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81146118165760010190565b6117ba565b919081101561185b5760051b810135907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa1813603018212156101ba570190565b6109e1565b3561167e8161035b565b9035907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1813603018212156101ba570180359067ffffffffffffffff82116101ba576020019181360383136101ba57565b6024602060409294939460ff60608201961681520137565b916118eb8360ff166000526001602052604060002090565b602460005b60028110611a0a5750505061192d620100007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ffff6000541617600055565b60005b8181106119cb575050507f1d84cb7fa5da6303adc54870a915cbf91d2cf642fcc5ce470b79b7746720187660405173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000167f9b44a2c7f9f0b5aa4e7da60d8a2325796c57f93a45559d66515743ffbd8a6103600080a2806119c63094826118bb565b0390a2565b806103516119e56119e0611a0594868861181b565b611860565b60206119f284878961181b565b013561034b61034461033a86898b61181b565b611930565b6001906020833593019281850155016118f0565b15611a2557565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601060248201527f6f6e6c7920656e74727920706f696e74000000000000000000000000000000006044820152fd5b90611a966020928281519485920161170c565b0190565b6000611acb602092949394604051848101918252848152611aba816106d0565b60405192839283925192839161170c565b8101039060025afa15611b3057611ae491600051611c0c565b611b0c577fffffffff0000000000000000000000000000000000000000000000000000000090565b7f1626ba7e0000000000000000000000000000000000000000000000000000000090565b6111a0565b906041116101ba5760210190602090565b906007116101ba5760010190600690565b90929192836007116101ba5783116101ba57600701917ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff90190565b359060208110611ba0575090565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff9060200360031b1b1690565b901561185b5790565b15611bdd57565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052600160045260246000fd5b91806021116101ba5760008282611d3d611c6796611d11611c93611c8d611c5e611c58899a7f7fffffff800000007fffffffffffffffde737d56d38bcf4279dce5617e3192a89c611b35565b90611b92565b9a8b9688611bcd565b357fff000000000000000000000000000000000000000000000000000000000000001690565b60f81c90565b611cdb611cd1611cc8611cb38460ff166000526001602052604060002090565b549360ff166000526001602052604060002090565b60010190600090565b90549060031b1c90565b9060405195869460016020870199013590899192608093969594919660a084019784526020840152604083015260608201520152565b037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08101835282610708565b51907f00000000000000000000000000000000000000000000000000000000000000005afa91611d74611d6e6115c9565b93611bd6565b11611d9257611d8e81602080600194518301019101611191565b1490565b50600090565b604051906060820182811067ffffffffffffffff8211176106cb5760405260006040838281528260208201520152565b7fffffffffffff00000000000000000000000000000000000000000000000000009035818116939260068110611dfd57505050565b60060360031b82901b16169150565b611e14611d98565b916101408201611e24818461186a565b80915015611fc057611e45611c8d611c67611e3f858861186a565b90611bcd565b9060ff8216600103611fca57604803611fc057611f3082611f2486611f13600095611ea6611e9f611e97611e91611e8b611e85611d119f9d60209e61186a565b90611b46565b90611dc8565b60d01c90565b96879561186a565b8091611b57565b9a909a996040519485938b8501917fffffffffffff0000000000000000000000000000000000000000000000000000907fff000000000000000000000000000000000000000000000000000000000000006027959360f81b16845260d01b16600183015260078201520190565b65ffffffffffff9092166040890152565b60405191828092611a83565b039060025afa15611b3057611f4791600051611c0c565b611f515750600190565b61167e907fffffffffffff0000000000000000000000000000000000000000000000000000602073ffffffffffffffffffffffffffffffffffffffff83511679ffffffffffff0000000000000000000000000000000000000000604085015160a01b161792015160d01b161790565b5050505050600190565b505050505050600190565b916000928392602083519301915af1611fec6115c9565b9015611ff55750565b602081519101fd5b1561200457565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600960248201527f6f6e6c792073656c6600000000000000000000000000000000000000000000006044820152fd5b67ffffffffffffffff81116106cb5760051b60200190565b9061208482612062565b604061209281519283610708565b8382527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe06120c08395612062565b019160005b8381106120d25750505050565b60209083516120e0816106d0565b84368237828285010152016120c5565b906120fa82612062565b6121076040519182610708565b8281527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe06121358294612062565b0190602036910137565b805182101561185b5760209160051b010190565b60405191906000835b6002821061217057505050610756826106d0565b600160208192855481520193019101909161215c565b90612192303314611ffd565b60ff82166000526001602052604060002054612249576119c6816121d97f1d84cb7fa5da6303adc54870a915cbf91d2cf642fcc5ce470b79b77467201876935115156122a7565b6000546122139060101c60ff1660ff807f00000000000000000000000000000000000000000000000000000000000000001691161061230c565b61222e816110138660ff166000526001602052604060002090565b61106761103261224460005460ff9060101c1690565b612396565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601260248201527f6b657920616c72656164792065786973747300000000000000000000000000006044820152fd5b156122ae57565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601360248201527f6e6577206b65792063616e6e6f742062652030000000000000000000000000006044820152fd5b1561231357565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601060248201527f6d6178206b6579732072656163686564000000000000000000000000000000006044820152fd5b9060005b6002811061238257505050565b600190602083519301928185015501612375565b60ff1660ff81146118165760010190565b9291909260ff606082019416815260208091016000905b600282106123cc5750505050565b828060019286518152019401910190926123be565b156123e857565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601260248201527f6b657920646f6573206e6f7420657869737400000000000000000000000000006044820152fd5b1561244d57565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601e60248201527f63616e6e6f742072656d6f7665206f6e6c79207369676e696e67206b657900006044820152fd5b60ff168015611816577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff019056fea26469706673582212206eb0c9fdeec3efa6e2dd90117bd6ed77a4251496c080965433196a4b8f93eb3464736f6c634300081500330000000000000000000000005ff137d4b0fdcd49dca30c7cf57e578a026d2789000000000000000000000000c2b78104907f722dabac4c69f826a522b2754de4"
}
],
@@ -29,41 +32,41 @@
],
"receipts": [
{
- "transactionHash": "0xf7f66a2731bd4861a7f9cf7c3225b44640abdf5f2c5df431d83284a3e20913a5",
+ "transactionHash": "0xe36b918623be6530cf8367c11e2833e2d750240421b4432cda1e31a7039fb28b",
"transactionIndex": "0x1",
- "blockHash": "0xb5855e49b65145feea8010572f37922d26c1c9a0c740f9d91fb0001b583b4748",
- "blockNumber": "0x9e4285",
+ "blockHash": "0x83386b8cc3b1d2ed1a7b8a510e5dfadd206b9b4202c846af1b378eb79652e8f8",
+ "blockNumber": "0xa9c0f2",
"from": "0x2A6d311394184EeB6Df8FBBF58626B085374Ffe7",
"to": "0x4e59b44847b379578588920cA78FbF26c0B4956C",
- "cumulativeGasUsed": "0x2cdfe4",
+ "cumulativeGasUsed": "0x2c9d18",
"gasUsed": "0x2be613",
- "contractAddress": "0xe5a1744d42a30c3Bb87f16FbC4484B984594cD7C",
+ "contractAddress": "0xED5F5066de0c177729Eb0D5FECEC4BF87CA6Bf3C",
"logs": [
{
- "address": "0x7cc0CeFDEcc1fcD10688A6f1B57fcE280400bC5F",
+ "address": "0x5951B697Ced7e0C496590F0386608391Eaff97EF",
"topics": [
"0x7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498"
],
"data": "0x00000000000000000000000000000000000000000000000000000000000000ff",
- "blockHash": "0xb5855e49b65145feea8010572f37922d26c1c9a0c740f9d91fb0001b583b4748",
- "blockNumber": "0x9e4285",
- "transactionHash": "0xf7f66a2731bd4861a7f9cf7c3225b44640abdf5f2c5df431d83284a3e20913a5",
+ "blockHash": "0x83386b8cc3b1d2ed1a7b8a510e5dfadd206b9b4202c846af1b378eb79652e8f8",
+ "blockNumber": "0xa9c0f2",
+ "transactionHash": "0xe36b918623be6530cf8367c11e2833e2d750240421b4432cda1e31a7039fb28b",
"transactionIndex": "0x1",
"logIndex": "0x0",
"removed": false
}
],
"status": "0x1",
- "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000400080000000000000000000000000000000000000000000000000000000000040400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
+ "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000400000000000000000000000000000800000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
"type": "0x2",
- "effectiveGasPrice": "0xb2d05e3c"
+ "effectiveGasPrice": "0xb2d05e32"
}
],
"libraries": [],
"pending": [],
"returns": {},
- "timestamp": 1695937088,
+ "timestamp": 1697443596,
"chain": 84531,
"multi": false,
- "commit": "287f1c7"
+ "commit": "ae7d64e"
}
\ No newline at end of file
diff --git a/packages/contract/broadcast/DeployEphemeralNotes.s.sol/8453/run-latest.json b/packages/contract/broadcast/DeployEphemeralNotes.s.sol/8453/run-latest.json
index bdce69200..459690907 100644
--- a/packages/contract/broadcast/DeployEphemeralNotes.s.sol/8453/run-latest.json
+++ b/packages/contract/broadcast/DeployEphemeralNotes.s.sol/8453/run-latest.json
@@ -1,21 +1,22 @@
{
"transactions": [
{
- "hash": "0x81785a9d837512fe1fd4ef0c4237b9dd96974107e4d35b2f36181fac598bf129",
- "transactionType": "CREATE",
- "contractName": "EphemeralNotes",
- "contractAddress": "0x9471A2b4E680c383f4912bC0992cA6131888Bd36",
+ "hash": "0x8fb781abb84809727187c78f831c53876f0839e34ce766771ea4d3aebee91c79",
+ "transactionType": "CREATE2",
+ "contractName": "DaimoEphemeralNotes",
+ "contractAddress": "0x831967F433D9425Aa34D6A3dAC01a428d839De0f",
"function": null,
"arguments": [
- "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913"
+ "0x0000000000000000000000000000000000000000"
],
"transaction": {
"type": "0x02",
"from": "0x2a6d311394184eeb6df8fbbf58626b085374ffe7",
- "gas": "0xf7ff2",
+ "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c",
+ "gas": "0x109f00",
"value": "0x0",
- "data": "0x60a03461007757601f610dd438819003918201601f19168301916001600160401b0383118484101761007c5780849260209460405283398101031261007757516001600160a01b038116810361007757608052604051610d4190816100938239608051818181609a0152818161037d015261067f0152f35b600080fd5b634e487b7160e01b600052604160045260246000fdfe608060408181526004918236101561001657600080fd5b600092833560e01c918263311054bd146104e55750816360300b201461016c57508063bd93644a146100c25763fc0c546a1461005157600080fd5b346100be57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100be576020905173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000168152f35b5080fd5b5090346101695760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610169576101658273ffffffffffffffffffffffffffffffffffffffff928361011661072b565b1681528060205220926002838554169360018601541694015490519384938460409194939294606082019573ffffffffffffffffffffffffffffffffffffffff80921683521660208201520152565b0390f35b80fd5b839150346100be57827ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100be576101a561072b565b60249384359267ffffffffffffffff928385116104e157366023860112156104e15784820135906101d5826107fb565b916101e2855193846107ba565b808352602096368a83830101116104dd578189928b8a9301838701378401015273ffffffffffffffffffffffffffffffffffffffff809116908188528787528488209085519161023183610753565b8181541694858452600283600184015416928b86019384520154958885019687521561045c57826102c96102c187938d8c51818101903360601b82526014815261027a8161079e565b519020908d51908101917f19457468657265756d205369676e6564204d6573736167653a0a3332000000008352603c820152603c81526102b981610753565b519020610c37565b919091610a9e565b16148015610450575b156103cf5786519251821683525116878201528251818601523360608201527fb45f3215e68b9bc29811df32d4910e77331ed2a01d8556bea2012566efa3292090608090a186528585528560028482208281558260018201550155517fa9059cbb0000000000000000000000000000000000000000000000000000000083519586015233878601526044850152604484526080840192848410908411176103a457506103a1939450527f0000000000000000000000000000000000000000000000000000000000000000610835565b80f35b84604187927f4e487b7100000000000000000000000000000000000000000000000000000000835252fd5b60848660318d8c8b51937f08c379a00000000000000000000000000000000000000000000000000000000085528401528201527f457068656d6572616c4e6f7465733a20696e76616c6964207369676e6174757260448201527f6520616e64206e6f742063726561746f720000000000000000000000000000006064820152fd5b508181511633146102d2565b60848760238e8d8c51937f08c379a00000000000000000000000000000000000000000000000000000000085528401528201527f457068656d6572616c4e6f7465733a206e6f746520646f6573206e6f7420657860448201527f69737400000000000000000000000000000000000000000000000000000000006064820152fd5b8880fd5b8580fd5b8385913461072757817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126107275761051e61072b565b9060243573ffffffffffffffffffffffffffffffffffffffff809316908186526020928684528486882054166106a75750908593929181156106a35780156106a357857fedafcff52f9510e3fee14034ebd5cb6c302432e2b233738af47ce5596a5bbeed606061065194600288888761067d9b886103a19f9e7f23b872dd000000000000000000000000000000000000000000000000000000009f819051956105c687610753565b89875280870199338b5284880196875282525220925116947fffffffffffffffffffffffff000000000000000000000000000000000000000093868585541617845560018401915116809482541617905551928391015585519283528883015284820152a1519283019490945233602483015230604483015260648201939093529182906084820190565b037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe081018352826107ba565b7f0000000000000000000000000000000000000000000000000000000000000000610835565b8480fd5b8084897f08c379a00000000000000000000000000000000000000000000000000000000060849452820152602360248201527f457068656d6572616c4e6f7465733a206e6f746520616c72656164792065786960448201527f73747300000000000000000000000000000000000000000000000000000000006064820152fd5b8280fd5b6004359073ffffffffffffffffffffffffffffffffffffffff8216820361074e57565b600080fd5b6060810190811067ffffffffffffffff82111761076f57604052565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6040810190811067ffffffffffffffff82111761076f57604052565b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff82111761076f57604052565b67ffffffffffffffff811161076f57601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b73ffffffffffffffffffffffffffffffffffffffff16906108c060405161085b8161079e565b6020938482527f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564858301526000808587829751910182855af13d15610978573d916108a5836107fb565b926108b360405194856107ba565b83523d868885013e61097c565b8051806108ce575b50505050565b818491810103126100be578201519081159182150361016957506108f4578080806108c8565b608490604051907f08c379a00000000000000000000000000000000000000000000000000000000082526004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e60448201527f6f742073756363656564000000000000000000000000000000000000000000006064820152fd5b6060915b919290156109f75750815115610990575090565b3b156109995790565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152fd5b825190915015610a0a5750805190602001fd5b604051907f08c379a000000000000000000000000000000000000000000000000000000000825281602080600483015282519283602484015260005b848110610a87575050507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f836000604480968601015201168101030190fd5b818101830151868201604401528593508201610a46565b6005811015610c085780610aaf5750565b60018103610b155760646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f45434453413a20696e76616c6964207369676e617475726500000000000000006044820152fd5b60028103610b7b5760646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f45434453413a20696e76616c6964207369676e6174757265206c656e677468006044820152fd5b600314610b8457565b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602260248201527f45434453413a20696e76616c6964207369676e6174757265202773272076616c60448201527f75650000000000000000000000000000000000000000000000000000000000006064820152fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b906041815114600014610c6557610c61916020820151906060604084015193015160001a90610c6f565b9091565b5050600090600290565b9291907f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a08311610cff5791608094939160ff602094604051948552168484015260408301526060820152600093849182805260015afa15610cf257815173ffffffffffffffffffffffffffffffffffffffff811615610cec579190565b50600190565b50604051903d90823e3d90fd5b5050505060009060039056fea264697066735822122081d3b5c264ea34c30302ab428fc421c9d545f7cfda295eddbb9c2a4ced6b6f8f64736f6c63430008150033000000000000000000000000833589fcd6edb6e08f4c7c32d4f71b54bda02913",
- "nonce": "0x3",
+ "data": "0x000000000000000000000000000000000000000000000000000000000000000060803461015057601f610e4d38819003918201601f19168301916001600160401b038311848410176101555780849260209460405283398101031261015057516001600160a01b0381169081900361015057801561007b57600180546001600160a01b0319169190911790555b604051610ce1908161016c8239f35b5046612105036100b057600180546001600160a01b03191673833589fcd6edb6e08f4c7c32d4f71b54bda0291317905561006c565b4662014a33036100e557600180546001600160a01b031916731b85dede8178e18cde599b4c9d913534553c3dbf17905561006c565b60405162461bcd60e51b815260206004820152603460248201527f457068656d6572616c4e6f7465733a20756e6b6e6f776e20636861696e20616e60448201527f64206e6f20746f6b656e207370656369666965640000000000000000000000006064820152608490fd5b600080fd5b634e487b7160e01b600052604160045260246000fdfe608060408181526004918236101561001657600080fd5b600092833560e01c918263311054bd146104ab5750816360300b201461015057508063bd93644a146100a65763fc0c546a1461005157600080fd5b346100a257817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100a25760209073ffffffffffffffffffffffffffffffffffffffff600154169051908152f35b5080fd5b50903461014d5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261014d576101498273ffffffffffffffffffffffffffffffffffffffff92836100fa6106cb565b1681528060205220926002838554169360018601541694015490519384938460409194939294606082019573ffffffffffffffffffffffffffffffffffffffff80921683521660208201520152565b0390f35b80fd5b8383346100a257807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100a2576101886106cb565b60249384359267ffffffffffffffff918285116104a757366023860112156104a75784810135936101b88561079b565b946101c58451968761075a565b808652602096368a83830101116104a3578189928b8a9301838a01378701015273ffffffffffffffffffffffffffffffffffffffff809116808852878752838820845190610212826106f3565b8381541697888352600285600184015416928b8501938452015498878401998a521561042257846102aa6102a286938d8b51818101903360601b82526014815261025b8161073e565b519020908c51908101917f19457468657265756d205369676e6564204d6573736167653a0a3332000000008352603c820152603c815261029a816106f3565b519020610bd7565b919091610a3e565b16148015610416575b15610395577fb45f3215e68b9bc29811df32d4910e77331ed2a01d8556bea2012566efa329209184608092818951935116835251168a820152885187820152336060820152a1875286865286600284822082815582600182015501556001541693517fa9059cbb00000000000000000000000000000000000000000000000000000000835196870152338887015260448601526044855260808501928584109084111761036a5750610367949550526107d5565b80f35b85604188927f4e487b7100000000000000000000000000000000000000000000000000000000835252fd5b60848560318d8c8a51937f08c379a00000000000000000000000000000000000000000000000000000000085528401528201527f457068656d6572616c4e6f7465733a20696e76616c6964207369676e6174757260448201527f6520616e64206e6f742063726561746f720000000000000000000000000000006064820152fd5b508381511633146102b3565b60848660238e8d8b51937f08c379a00000000000000000000000000000000000000000000000000000000085528401528201527f457068656d6572616c4e6f7465733a206e6f746520646f6573206e6f7420657860448201527f69737400000000000000000000000000000000000000000000000000000000006064820152fd5b8880fd5b8580fd5b849184346106c757807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126106c7576104e46106cb565b6024359273ffffffffffffffffffffffffffffffffffffffff8092169485875260209187835283858920541661064857505084156104a75783156104a7576106177f23b872dd0000000000000000000000000000000000000000000000000000000094610643937fedafcff52f9510e3fee14034ebd5cb6c302432e2b233738af47ce5596a5bbeed60606103679960028c8a51610580816106f3565b838152868c8b830193338552818401968b88528152808d5220915116937fffffffffffffffffffffffff0000000000000000000000000000000000000000928584845416178355886001840191511680948254161790555192839101558a519283528883015289820152a1600154955193840196909652336024840152306044840152606483015290939092169183906084820190565b037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0810184528361075a565b6107d5565b916084927f08c379a0000000000000000000000000000000000000000000000000000000008352820152602360248201527f457068656d6572616c4e6f7465733a206e6f746520616c72656164792065786960448201527f73747300000000000000000000000000000000000000000000000000000000006064820152fd5b8380fd5b6004359073ffffffffffffffffffffffffffffffffffffffff821682036106ee57565b600080fd5b6060810190811067ffffffffffffffff82111761070f57604052565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6040810190811067ffffffffffffffff82111761070f57604052565b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff82111761070f57604052565b67ffffffffffffffff811161070f57601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b73ffffffffffffffffffffffffffffffffffffffff16906108606040516107fb8161073e565b6020938482527f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564858301526000808587829751910182855af13d15610918573d916108458361079b565b92610853604051948561075a565b83523d868885013e61091c565b80518061086e575b50505050565b818491810103126100a2578201519081159182150361014d575061089457808080610868565b608490604051907f08c379a00000000000000000000000000000000000000000000000000000000082526004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e60448201527f6f742073756363656564000000000000000000000000000000000000000000006064820152fd5b6060915b919290156109975750815115610930575090565b3b156109395790565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152fd5b8251909150156109aa5750805190602001fd5b604051907f08c379a000000000000000000000000000000000000000000000000000000000825281602080600483015282519283602484015260005b848110610a27575050507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f836000604480968601015201168101030190fd5b8181018301518682016044015285935082016109e6565b6005811015610ba85780610a4f5750565b60018103610ab55760646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f45434453413a20696e76616c6964207369676e617475726500000000000000006044820152fd5b60028103610b1b5760646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f45434453413a20696e76616c6964207369676e6174757265206c656e677468006044820152fd5b600314610b2457565b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602260248201527f45434453413a20696e76616c6964207369676e6174757265202773272076616c60448201527f75650000000000000000000000000000000000000000000000000000000000006064820152fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b906041815114600014610c0557610c01916020820151906060604084015193015160001a90610c0f565b9091565b5050600090600290565b9291907f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a08311610c9f5791608094939160ff602094604051948552168484015260408301526060820152600093849182805260015afa15610c9257815173ffffffffffffffffffffffffffffffffffffffff811615610c8c579190565b50600190565b50604051903d90823e3d90fd5b5050505060009060039056fea26469706673582212206fdc3f66a8716be9706ad92be2a7d40279972342b3fb06ba7af6a4d96982f04664736f6c634300081500330000000000000000000000000000000000000000000000000000000000000000",
+ "nonce": "0x5",
"accessList": []
},
"additionalContracts": [],
@@ -24,27 +25,27 @@
],
"receipts": [
{
- "transactionHash": "0x81785a9d837512fe1fd4ef0c4237b9dd96974107e4d35b2f36181fac598bf129",
+ "transactionHash": "0x8fb781abb84809727187c78f831c53876f0839e34ce766771ea4d3aebee91c79",
"transactionIndex": "0x1",
- "blockHash": "0x1cfaa135912a49c22388117b20038f6dd622ac9c59b2b5a11d3d402e17a29345",
- "blockNumber": "0x4eb2f2",
+ "blockHash": "0xd6ac0591e60d0396fa52ce916bbf0d54c8983746c865e81080c07add1641549d",
+ "blockNumber": "0x513a01",
"from": "0x2A6d311394184EeB6Df8FBBF58626B085374Ffe7",
- "to": null,
- "cumulativeGasUsed": "0xce651",
- "gasUsed": "0xbec44",
- "contractAddress": "0x9471A2b4E680c383f4912bC0992cA6131888Bd36",
+ "to": "0x4e59b44847b379578588920cA78FbF26c0B4956C",
+ "cumulativeGasUsed": "0xd0299",
+ "gasUsed": "0xc088c",
+ "contractAddress": "0x831967F433D9425Aa34D6A3dAC01a428d839De0f",
"logs": [],
"status": "0x1",
"logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
"type": "0x2",
- "effectiveGasPrice": "0xb2d8beef"
+ "effectiveGasPrice": "0xb2d75192"
}
],
"libraries": [],
"pending": [],
"returns": {},
- "timestamp": 1697104606,
+ "timestamp": 1697435899,
"chain": 8453,
"multi": false,
- "commit": "1c7dc19"
+ "commit": "ae7d64e"
}
\ No newline at end of file
diff --git a/packages/contract/broadcast/DeployEphemeralNotes.s.sol/84531/run-latest.json b/packages/contract/broadcast/DeployEphemeralNotes.s.sol/84531/run-latest.json
index 0a9e1d8f5..fc00682b0 100644
--- a/packages/contract/broadcast/DeployEphemeralNotes.s.sol/84531/run-latest.json
+++ b/packages/contract/broadcast/DeployEphemeralNotes.s.sol/84531/run-latest.json
@@ -1,21 +1,22 @@
{
"transactions": [
{
- "hash": "0x53663af931f3ebd817bc1f84f4972e12e6a28ccadac350d1d760efcd3273897f",
- "transactionType": "CREATE",
- "contractName": "EphemeralNotes",
- "contractAddress": "0x1eec7E083C1a10C16470bEAc7839364853c7B81f",
+ "hash": "0x2e12ffab815d07ce38256ee400940a1b8fbf551e5f45b14693245ef5f162bd5d",
+ "transactionType": "CREATE2",
+ "contractName": "DaimoEphemeralNotes",
+ "contractAddress": "0x831967F433D9425Aa34D6A3dAC01a428d839De0f",
"function": null,
"arguments": [
- "0x1B85deDe8178E18CdE599B4C9d913534553C3dBf"
+ "0x0000000000000000000000000000000000000000"
],
"transaction": {
"type": "0x02",
"from": "0x2a6d311394184eeb6df8fbbf58626b085374ffe7",
- "gas": "0xf7ff2",
+ "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c",
+ "gas": "0x11996c",
"value": "0x0",
- "data": "0x60a03461007757601f610dd438819003918201601f19168301916001600160401b0383118484101761007c5780849260209460405283398101031261007757516001600160a01b038116810361007757608052604051610d4190816100938239608051818181609a0152818161037d015261067f0152f35b600080fd5b634e487b7160e01b600052604160045260246000fdfe608060408181526004918236101561001657600080fd5b600092833560e01c918263311054bd146104e55750816360300b201461016c57508063bd93644a146100c25763fc0c546a1461005157600080fd5b346100be57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100be576020905173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000168152f35b5080fd5b5090346101695760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610169576101658273ffffffffffffffffffffffffffffffffffffffff928361011661072b565b1681528060205220926002838554169360018601541694015490519384938460409194939294606082019573ffffffffffffffffffffffffffffffffffffffff80921683521660208201520152565b0390f35b80fd5b839150346100be57827ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100be576101a561072b565b60249384359267ffffffffffffffff928385116104e157366023860112156104e15784820135906101d5826107fb565b916101e2855193846107ba565b808352602096368a83830101116104dd578189928b8a9301838701378401015273ffffffffffffffffffffffffffffffffffffffff809116908188528787528488209085519161023183610753565b8181541694858452600283600184015416928b86019384520154958885019687521561045c57826102c96102c187938d8c51818101903360601b82526014815261027a8161079e565b519020908d51908101917f19457468657265756d205369676e6564204d6573736167653a0a3332000000008352603c820152603c81526102b981610753565b519020610c37565b919091610a9e565b16148015610450575b156103cf5786519251821683525116878201528251818601523360608201527fb45f3215e68b9bc29811df32d4910e77331ed2a01d8556bea2012566efa3292090608090a186528585528560028482208281558260018201550155517fa9059cbb0000000000000000000000000000000000000000000000000000000083519586015233878601526044850152604484526080840192848410908411176103a457506103a1939450527f0000000000000000000000000000000000000000000000000000000000000000610835565b80f35b84604187927f4e487b7100000000000000000000000000000000000000000000000000000000835252fd5b60848660318d8c8b51937f08c379a00000000000000000000000000000000000000000000000000000000085528401528201527f457068656d6572616c4e6f7465733a20696e76616c6964207369676e6174757260448201527f6520616e64206e6f742063726561746f720000000000000000000000000000006064820152fd5b508181511633146102d2565b60848760238e8d8c51937f08c379a00000000000000000000000000000000000000000000000000000000085528401528201527f457068656d6572616c4e6f7465733a206e6f746520646f6573206e6f7420657860448201527f69737400000000000000000000000000000000000000000000000000000000006064820152fd5b8880fd5b8580fd5b8385913461072757817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126107275761051e61072b565b9060243573ffffffffffffffffffffffffffffffffffffffff809316908186526020928684528486882054166106a75750908593929181156106a35780156106a357857fedafcff52f9510e3fee14034ebd5cb6c302432e2b233738af47ce5596a5bbeed606061065194600288888761067d9b886103a19f9e7f23b872dd000000000000000000000000000000000000000000000000000000009f819051956105c687610753565b89875280870199338b5284880196875282525220925116947fffffffffffffffffffffffff000000000000000000000000000000000000000093868585541617845560018401915116809482541617905551928391015585519283528883015284820152a1519283019490945233602483015230604483015260648201939093529182906084820190565b037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe081018352826107ba565b7f0000000000000000000000000000000000000000000000000000000000000000610835565b8480fd5b8084897f08c379a00000000000000000000000000000000000000000000000000000000060849452820152602360248201527f457068656d6572616c4e6f7465733a206e6f746520616c72656164792065786960448201527f73747300000000000000000000000000000000000000000000000000000000006064820152fd5b8280fd5b6004359073ffffffffffffffffffffffffffffffffffffffff8216820361074e57565b600080fd5b6060810190811067ffffffffffffffff82111761076f57604052565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6040810190811067ffffffffffffffff82111761076f57604052565b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff82111761076f57604052565b67ffffffffffffffff811161076f57601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b73ffffffffffffffffffffffffffffffffffffffff16906108c060405161085b8161079e565b6020938482527f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564858301526000808587829751910182855af13d15610978573d916108a5836107fb565b926108b360405194856107ba565b83523d868885013e61097c565b8051806108ce575b50505050565b818491810103126100be578201519081159182150361016957506108f4578080806108c8565b608490604051907f08c379a00000000000000000000000000000000000000000000000000000000082526004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e60448201527f6f742073756363656564000000000000000000000000000000000000000000006064820152fd5b6060915b919290156109f75750815115610990575090565b3b156109995790565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152fd5b825190915015610a0a5750805190602001fd5b604051907f08c379a000000000000000000000000000000000000000000000000000000000825281602080600483015282519283602484015260005b848110610a87575050507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f836000604480968601015201168101030190fd5b818101830151868201604401528593508201610a46565b6005811015610c085780610aaf5750565b60018103610b155760646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f45434453413a20696e76616c6964207369676e617475726500000000000000006044820152fd5b60028103610b7b5760646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f45434453413a20696e76616c6964207369676e6174757265206c656e677468006044820152fd5b600314610b8457565b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602260248201527f45434453413a20696e76616c6964207369676e6174757265202773272076616c60448201527f75650000000000000000000000000000000000000000000000000000000000006064820152fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b906041815114600014610c6557610c61916020820151906060604084015193015160001a90610c6f565b9091565b5050600090600290565b9291907f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a08311610cff5791608094939160ff602094604051948552168484015260408301526060820152600093849182805260015afa15610cf257815173ffffffffffffffffffffffffffffffffffffffff811615610cec579190565b50600190565b50604051903d90823e3d90fd5b5050505060009060039056fea264697066735822122081d3b5c264ea34c30302ab428fc421c9d545f7cfda295eddbb9c2a4ced6b6f8f64736f6c634300081500330000000000000000000000001b85dede8178e18cde599b4c9d913534553c3dbf",
- "nonce": "0x3b4",
+ "data": "0x000000000000000000000000000000000000000000000000000000000000000060803461015057601f610e4d38819003918201601f19168301916001600160401b038311848410176101555780849260209460405283398101031261015057516001600160a01b0381169081900361015057801561007b57600180546001600160a01b0319169190911790555b604051610ce1908161016c8239f35b5046612105036100b057600180546001600160a01b03191673833589fcd6edb6e08f4c7c32d4f71b54bda0291317905561006c565b4662014a33036100e557600180546001600160a01b031916731b85dede8178e18cde599b4c9d913534553c3dbf17905561006c565b60405162461bcd60e51b815260206004820152603460248201527f457068656d6572616c4e6f7465733a20756e6b6e6f776e20636861696e20616e60448201527f64206e6f20746f6b656e207370656369666965640000000000000000000000006064820152608490fd5b600080fd5b634e487b7160e01b600052604160045260246000fdfe608060408181526004918236101561001657600080fd5b600092833560e01c918263311054bd146104ab5750816360300b201461015057508063bd93644a146100a65763fc0c546a1461005157600080fd5b346100a257817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100a25760209073ffffffffffffffffffffffffffffffffffffffff600154169051908152f35b5080fd5b50903461014d5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261014d576101498273ffffffffffffffffffffffffffffffffffffffff92836100fa6106cb565b1681528060205220926002838554169360018601541694015490519384938460409194939294606082019573ffffffffffffffffffffffffffffffffffffffff80921683521660208201520152565b0390f35b80fd5b8383346100a257807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100a2576101886106cb565b60249384359267ffffffffffffffff918285116104a757366023860112156104a75784810135936101b88561079b565b946101c58451968761075a565b808652602096368a83830101116104a3578189928b8a9301838a01378701015273ffffffffffffffffffffffffffffffffffffffff809116808852878752838820845190610212826106f3565b8381541697888352600285600184015416928b8501938452015498878401998a521561042257846102aa6102a286938d8b51818101903360601b82526014815261025b8161073e565b519020908c51908101917f19457468657265756d205369676e6564204d6573736167653a0a3332000000008352603c820152603c815261029a816106f3565b519020610bd7565b919091610a3e565b16148015610416575b15610395577fb45f3215e68b9bc29811df32d4910e77331ed2a01d8556bea2012566efa329209184608092818951935116835251168a820152885187820152336060820152a1875286865286600284822082815582600182015501556001541693517fa9059cbb00000000000000000000000000000000000000000000000000000000835196870152338887015260448601526044855260808501928584109084111761036a5750610367949550526107d5565b80f35b85604188927f4e487b7100000000000000000000000000000000000000000000000000000000835252fd5b60848560318d8c8a51937f08c379a00000000000000000000000000000000000000000000000000000000085528401528201527f457068656d6572616c4e6f7465733a20696e76616c6964207369676e6174757260448201527f6520616e64206e6f742063726561746f720000000000000000000000000000006064820152fd5b508381511633146102b3565b60848660238e8d8b51937f08c379a00000000000000000000000000000000000000000000000000000000085528401528201527f457068656d6572616c4e6f7465733a206e6f746520646f6573206e6f7420657860448201527f69737400000000000000000000000000000000000000000000000000000000006064820152fd5b8880fd5b8580fd5b849184346106c757807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126106c7576104e46106cb565b6024359273ffffffffffffffffffffffffffffffffffffffff8092169485875260209187835283858920541661064857505084156104a75783156104a7576106177f23b872dd0000000000000000000000000000000000000000000000000000000094610643937fedafcff52f9510e3fee14034ebd5cb6c302432e2b233738af47ce5596a5bbeed60606103679960028c8a51610580816106f3565b838152868c8b830193338552818401968b88528152808d5220915116937fffffffffffffffffffffffff0000000000000000000000000000000000000000928584845416178355886001840191511680948254161790555192839101558a519283528883015289820152a1600154955193840196909652336024840152306044840152606483015290939092169183906084820190565b037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0810184528361075a565b6107d5565b916084927f08c379a0000000000000000000000000000000000000000000000000000000008352820152602360248201527f457068656d6572616c4e6f7465733a206e6f746520616c72656164792065786960448201527f73747300000000000000000000000000000000000000000000000000000000006064820152fd5b8380fd5b6004359073ffffffffffffffffffffffffffffffffffffffff821682036106ee57565b600080fd5b6060810190811067ffffffffffffffff82111761070f57604052565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6040810190811067ffffffffffffffff82111761070f57604052565b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff82111761070f57604052565b67ffffffffffffffff811161070f57601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b73ffffffffffffffffffffffffffffffffffffffff16906108606040516107fb8161073e565b6020938482527f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564858301526000808587829751910182855af13d15610918573d916108458361079b565b92610853604051948561075a565b83523d868885013e61091c565b80518061086e575b50505050565b818491810103126100a2578201519081159182150361014d575061089457808080610868565b608490604051907f08c379a00000000000000000000000000000000000000000000000000000000082526004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e60448201527f6f742073756363656564000000000000000000000000000000000000000000006064820152fd5b6060915b919290156109975750815115610930575090565b3b156109395790565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152fd5b8251909150156109aa5750805190602001fd5b604051907f08c379a000000000000000000000000000000000000000000000000000000000825281602080600483015282519283602484015260005b848110610a27575050507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f836000604480968601015201168101030190fd5b8181018301518682016044015285935082016109e6565b6005811015610ba85780610a4f5750565b60018103610ab55760646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f45434453413a20696e76616c6964207369676e617475726500000000000000006044820152fd5b60028103610b1b5760646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f45434453413a20696e76616c6964207369676e6174757265206c656e677468006044820152fd5b600314610b2457565b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602260248201527f45434453413a20696e76616c6964207369676e6174757265202773272076616c60448201527f75650000000000000000000000000000000000000000000000000000000000006064820152fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b906041815114600014610c0557610c01916020820151906060604084015193015160001a90610c0f565b9091565b5050600090600290565b9291907f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a08311610c9f5791608094939160ff602094604051948552168484015260408301526060820152600093849182805260015afa15610c9257815173ffffffffffffffffffffffffffffffffffffffff811615610c8c579190565b50600190565b50604051903d90823e3d90fd5b5050505060009060039056fea26469706673582212206fdc3f66a8716be9706ad92be2a7d40279972342b3fb06ba7af6a4d96982f04664736f6c634300081500330000000000000000000000000000000000000000000000000000000000000000",
+ "nonce": "0x47f",
"accessList": []
},
"additionalContracts": [],
@@ -24,15 +25,15 @@
],
"receipts": [
{
- "transactionHash": "0x53663af931f3ebd817bc1f84f4972e12e6a28ccadac350d1d760efcd3273897f",
- "transactionIndex": "0x4",
- "blockHash": "0x897735922afbc7238456cabfe1107be44261a137fdde9b44b80aaf2b4aec375b",
- "blockNumber": "0x9c6684",
+ "transactionHash": "0x2e12ffab815d07ce38256ee400940a1b8fbf551e5f45b14693245ef5f162bd5d",
+ "transactionIndex": "0x1",
+ "blockHash": "0x98698d05a35a4737bc2e6b34cb2028d3f5796aaed5cd959d4cc79a5631e5dabd",
+ "blockNumber": "0xa9b21a",
"from": "0x2A6d311394184EeB6Df8FBBF58626B085374Ffe7",
- "to": null,
- "cumulativeGasUsed": "0xd9961",
- "gasUsed": "0xbec44",
- "contractAddress": "0x1eec7E083C1a10C16470bEAc7839364853c7B81f",
+ "to": "0x4e59b44847b379578588920cA78FbF26c0B4956C",
+ "cumulativeGasUsed": "0xcbfa7",
+ "gasUsed": "0xc08a2",
+ "contractAddress": "0x831967F433D9425Aa34D6A3dAC01a428d839De0f",
"logs": [],
"status": "0x1",
"logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
@@ -43,8 +44,8 @@
"libraries": [],
"pending": [],
"returns": {},
- "timestamp": 1695693357,
+ "timestamp": 1697435994,
"chain": 84531,
"multi": false,
- "commit": "b7badaf"
+ "commit": "ae7d64e"
}
\ No newline at end of file
diff --git a/packages/contract/lcov.info b/packages/contract/lcov.info
index 4827eed9e..d3430551f 100644
--- a/packages/contract/lcov.info
+++ b/packages/contract/lcov.info
@@ -133,8 +133,8 @@ BRH:6
end_of_record
TN:
SF:src/DaimoAccountFactory.sol
-FN:30,AccountFactory.createAccount
-FNDA:4,AccountFactory.createAccount
+FN:30,DaimoAccountFactory.createAccount
+FNDA:4,DaimoAccountFactory.createAccount
DA:36,4
DA:39,4
BRDA:39,0,0,1
@@ -146,8 +146,8 @@ BRDA:45,1,0,3
BRDA:45,1,1,1
DA:46,1
DA:49,3
-FN:65,AccountFactory.getAddress
-FNDA:5,AccountFactory.getAddress
+FN:65,DaimoAccountFactory.getAddress
+FNDA:5,DaimoAccountFactory.getAddress
DA:71,5
DA:72,5
FNF:2
@@ -159,34 +159,34 @@ BRH:3
end_of_record
TN:
SF:src/DaimoEphemeralNotes.sol
-FN:34,EphemeralNotes.createNote
-FNDA:3,EphemeralNotes.createNote
-DA:35,3
-BRDA:35,0,0,-
-BRDA:35,0,1,-
-DA:39,3
-BRDA:39,1,0,-
-BRDA:39,1,1,-
-DA:40,3
-BRDA:40,2,0,-
-BRDA:40,2,1,-
-DA:42,3
-DA:48,3
+FN:48,DaimoEphemeralNotes.createNote
+FNDA:3,DaimoEphemeralNotes.createNote
DA:49,3
-FN:53,EphemeralNotes.claimNote
-FNDA:3,EphemeralNotes.claimNote
-DA:57,3
-DA:58,3
-BRDA:58,3,0,-
-BRDA:58,3,1,-
+BRDA:49,0,0,-
+BRDA:49,0,1,-
+DA:53,3
+BRDA:53,1,0,-
+BRDA:53,1,1,-
+DA:54,3
+BRDA:54,2,0,-
+BRDA:54,2,1,-
+DA:56,3
+DA:62,3
DA:63,3
-DA:66,3
-DA:67,3
-BRDA:67,4,0,3
-BRDA:67,4,1,2
-DA:72,2
-DA:73,3
-DA:74,3
+FN:67,DaimoEphemeralNotes.claimNote
+FNDA:3,DaimoEphemeralNotes.claimNote
+DA:71,3
+DA:72,3
+BRDA:72,3,0,-
+BRDA:72,3,1,-
+DA:77,3
+DA:80,3
+DA:81,3
+BRDA:81,4,0,3
+BRDA:81,4,1,2
+DA:86,2
+DA:87,3
+DA:88,3
FNF:2
FNH:2
LF:14
diff --git a/packages/contract/script/DeployAccountFactory.s.sol b/packages/contract/script/DeployAccountFactory.s.sol
index 43a7e63b1..36b95c530 100644
--- a/packages/contract/script/DeployAccountFactory.s.sol
+++ b/packages/contract/script/DeployAccountFactory.s.sol
@@ -18,7 +18,7 @@ contract DeployScript is Script {
// From https://github.com/daimo-eth/eip-7212
address verifier = 0xc2b78104907F722DABAc4C69f826a522B2754De4;
- AccountFactory factory = new AccountFactory{salt: 0}(
+ DaimoAccountFactory factory = new DaimoAccountFactory{salt: 0}(
entryPoint,
verifier
);
diff --git a/packages/contract/script/DeployEphemeralNotes.s.sol b/packages/contract/script/DeployEphemeralNotes.s.sol
index bcee1e8c3..68c0c3763 100644
--- a/packages/contract/script/DeployEphemeralNotes.s.sol
+++ b/packages/contract/script/DeployEphemeralNotes.s.sol
@@ -5,9 +5,10 @@ import "forge-std/Script.sol";
import "../src/DaimoEphemeralNotes.sol";
contract DeployEphemeralNotesScript is Script {
- function run(IERC20 token) public {
+ function run() public {
vm.startBroadcast();
- new EphemeralNotes(token);
+ // DaimoEphemeralNotes defaults to USDC on Base.
+ new DaimoEphemeralNotes{salt: 0}(IERC20(address(0x0)));
vm.stopBroadcast();
}
diff --git a/packages/contract/script/script.sh b/packages/contract/script/script.sh
index 7ff3a3b95..6c37bb503 100755
--- a/packages/contract/script/script.sh
+++ b/packages/contract/script/script.sh
@@ -4,22 +4,17 @@ set -e
# Build
forge build
-# Stablecoin, Base Goerli testnet USDC
-# ADDR_TOKEN="0x1B85deDe8178E18CdE599B4C9d913534553C3dBf"
-
-ADDR_TOKEN=0x833589fcd6edb6e08f4c7c32d4f71b54bda02913
-
# Deploy Account factory
-# forge script script/DeployAccountFactory.s.sol --fork-url $RPC_URL --private-key $PRIVATE_KEY --broadcast --verify --etherscan-api-key $ETHERSCAN_API_KEY
+forge script script/DeployAccountFactory.s.sol --fork-url $RPC_URL --private-key $PRIVATE_KEY --broadcast --verify --etherscan-api-key $ETHERSCAN_API_KEY
# # Deploy name registry
# forge script script/DeployNameRegistry.s.sol --fork-url $RPC_URL --private-key $PRIVATE_KEY --broadcast --verify --etherscan-api-key $ETHERSCAN_API_KEY
# # Deploy Ephemeral Notes using Test USDC
-# forge script script/DeployEphemeralNotes.s.sol --sig "run(address)" $ADDR_TOKEN --fork-url $RPC_URL --private-key $PRIVATE_KEY --broadcast --verify --etherscan-api-key $ETHERSCAN_API_KEY
+# forge script script/DeployEphemeralNotes.s.sol --fork-url $RPC_URL --private-key $PRIVATE_KEY --broadcast --verify --etherscan-api-key $ETHERSCAN_API_KEY
# From DeployAccountFactory
-ADDR_ACCOUNT_FACTORY="0xe5a1744d42a30c3bb87f16fbc4484b984594cd7c"
+# ADDR_ACCOUNT_FACTORY="0xe5a1744d42a30c3bb87f16fbc4484b984594cd7c"
# Deploy test Account and verify it on Etherscan
-forge script script/DeployTestAccount.s.sol --sig "run(address)" $ADDR_ACCOUNT_FACTORY --fork-url $RPC_URL --private-key $PRIVATE_KEY --broadcast --verify --etherscan-api-key $ETHERSCAN_API_KEY
\ No newline at end of file
+# forge script script/DeployTestAccount.s.sol --sig "run(address)" $ADDR_ACCOUNT_FACTORY --fork-url $RPC_URL --private-key $PRIVATE_KEY --broadcast --verify --etherscan-api-key $ETHERSCAN_API_KEY
\ No newline at end of file
diff --git a/packages/contract/src/DaimoAccountFactory.sol b/packages/contract/src/DaimoAccountFactory.sol
index cd8896f2f..1e5b5c6b6 100644
--- a/packages/contract/src/DaimoAccountFactory.sol
+++ b/packages/contract/src/DaimoAccountFactory.sol
@@ -7,12 +7,12 @@ import "openzeppelin-contracts/contracts/proxy/ERC1967/ERC1967Proxy.sol";
import "./DaimoAccount.sol";
/**
- * A sample factory contract for Account
- * A UserOperations "initCode" holds the address of the factory, and a method call (to createAccount, in this sample factory).
- * The factory's createAccount returns the target account address even if it is already installed.
+ * This factory deploys ERC-4337 DaimoAccount contracts using CREATE2.
+ *
+ * The factory's createAccount returns the target account address even if it it's already deployed.
* This way, the entryPoint.getSenderAddress() can be called either before or after the account is created.
*/
-contract AccountFactory {
+contract DaimoAccountFactory {
DaimoAccount public immutable accountImplementation;
IEntryPoint public immutable entryPoint;
@@ -22,10 +22,10 @@ contract AccountFactory {
}
/**
- * create an account, and return its address.
- * returns the address even if the account is already deployed.
+ * Create an account, and return its address.
+ * Ceturns the address even if the account is already deployed.
* Note that during UserOperation execution, this method is called only if the account is not deployed.
- * This method returns an existing account address so that entryPoint.getSenderAddress() would work even after account creation
+ * This method returns an existing account address so that entryPoint.getSenderAddress() would work even after account creation.
*/
function createAccount(
uint8 keySlot,
@@ -60,7 +60,7 @@ contract AccountFactory {
}
/**
- * calculate the counterfactual address of this account as it would be returned by createAccount()
+ * Calculate the counterfactual address of this account as it would be returned by createAccount()
*/
function getAddress(
uint8 keySlot,
diff --git a/packages/contract/src/DaimoEphemeralNotes.sol b/packages/contract/src/DaimoEphemeralNotes.sol
index 214678302..fc9ad75dc 100644
--- a/packages/contract/src/DaimoEphemeralNotes.sol
+++ b/packages/contract/src/DaimoEphemeralNotes.sol
@@ -15,19 +15,33 @@ struct Note {
* @notice Simple escrow notes, used for onboarding new accounts.
* Notes are created by a user and can be redeemed by anyone who shows
* a signature from the ephemeral key owner for their address. Additionally,
- * the sender of the note can "revert" it without a signature.
+ * the sender of the note can reclaim it without a signature.
*/
-contract EphemeralNotes {
+contract DaimoEphemeralNotes {
using SafeERC20 for IERC20;
mapping(address => Note) public notes;
- IERC20 public immutable token;
+ IERC20 public token;
event NoteCreated(Note note);
event NoteRedeemed(Note note, address redeemer);
+ // Stablecoin token to use for notes, or 0x0 for USDC.
+ // This allows us to CREATE2-deploy this contract at the same address
+ // on Base and Base Goerli.
constructor(IERC20 _token) {
- token = _token;
+ uint256 chainId = block.chainid;
+ if (address(_token) != address(0)) {
+ token = _token;
+ } else if (chainId == 8453) {
+ // Base USDC
+ token = IERC20(0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913);
+ } else if (chainId == 84531) {
+ // Base Goerli testnet USDC
+ token = IERC20(0x1B85deDe8178E18CdE599B4C9d913534553C3dBf);
+ } else {
+ revert("EphemeralNotes: unknown chain and no token specified");
+ }
}
// Call token.approve(, amount) on the token contract before this
diff --git a/packages/contract/test/AccountFactory.t.sol b/packages/contract/test/AccountFactory.t.sol
index 972c6f8ee..231396d89 100644
--- a/packages/contract/test/AccountFactory.t.sol
+++ b/packages/contract/test/AccountFactory.t.sol
@@ -14,12 +14,12 @@ contract AccountFactoryTest is Test {
address public verifier;
EntryPoint public entryPoint;
- AccountFactory public factory;
+ DaimoAccountFactory public factory;
function setUp() public {
verifier = address(new P256Verifier());
entryPoint = new EntryPoint();
- factory = new AccountFactory(entryPoint, verifier);
+ factory = new DaimoAccountFactory(entryPoint, verifier);
}
function testDeploy() public {
diff --git a/packages/contract/test/AccountSendUserop.t.sol b/packages/contract/test/AccountSendUserop.t.sol
index e411f46e1..61e9c9c19 100644
--- a/packages/contract/test/AccountSendUserop.t.sol
+++ b/packages/contract/test/AccountSendUserop.t.sol
@@ -15,12 +15,12 @@ contract AccountSendUseropTest is Test {
address public verifier;
EntryPoint public entryPoint;
- AccountFactory public factory;
+ DaimoAccountFactory public factory;
function setUp() public {
verifier = address(new P256Verifier());
entryPoint = new EntryPoint();
- factory = new AccountFactory(entryPoint, verifier);
+ factory = new DaimoAccountFactory(entryPoint, verifier);
console.log("verifier address:", address(verifier));
console.log("entryPoint address:", address(entryPoint));
console.log("factory address:", address(factory));
diff --git a/packages/contract/test/AccountSigningKeys.t.sol b/packages/contract/test/AccountSigningKeys.t.sol
index 014924492..6bd5c29ed 100644
--- a/packages/contract/test/AccountSigningKeys.t.sol
+++ b/packages/contract/test/AccountSigningKeys.t.sol
@@ -14,12 +14,12 @@ contract AccountSigningKeysTest is Test {
address public verifier;
EntryPoint public entryPoint;
- AccountFactory public factory;
+ DaimoAccountFactory public factory;
function setUp() public {
verifier = address(new P256Verifier());
entryPoint = new EntryPoint();
- factory = new AccountFactory(entryPoint, verifier);
+ factory = new DaimoAccountFactory(entryPoint, verifier);
}
event SigningKeyAdded(
diff --git a/packages/contract/test/AccountVerify1271.t.sol b/packages/contract/test/AccountVerify1271.t.sol
index 8c876f5bd..cb69dde2a 100644
--- a/packages/contract/test/AccountVerify1271.t.sol
+++ b/packages/contract/test/AccountVerify1271.t.sol
@@ -14,13 +14,13 @@ contract AccountVerify1271Test is Test {
address public verifier;
EntryPoint public entryPoint;
- AccountFactory public factory;
+ DaimoAccountFactory public factory;
DaimoAccount public account;
function setUp() public {
verifier = address(new P256Verifier());
entryPoint = new EntryPoint();
- factory = new AccountFactory(entryPoint, verifier);
+ factory = new DaimoAccountFactory(entryPoint, verifier);
// Create test account with a single signing key
uint256[2] memory pubKey = [
diff --git a/packages/contract/test/EphemeralNotes.t.sol b/packages/contract/test/EphemeralNotes.t.sol
index 30834d4ba..f11d2890d 100644
--- a/packages/contract/test/EphemeralNotes.t.sol
+++ b/packages/contract/test/EphemeralNotes.t.sol
@@ -20,7 +20,7 @@ contract TestDAI is ERC20 {
contract EphemeralNotesTest is Test {
TestDAI public token;
- EphemeralNotes public notes;
+ DaimoEphemeralNotes public notes;
uint256 private constant ephemeralPrivateKey =
0x1010101010101010101010101010101010101010101010101010101010101010;
address private ephemeralAddress = vm.addr(ephemeralPrivateKey);
@@ -32,7 +32,7 @@ contract EphemeralNotesTest is Test {
function setUp() public {
token = new TestDAI("TestDAI", "DAI");
- notes = new EphemeralNotes(token);
+ notes = new DaimoEphemeralNotes(token);
}
// This is equivalent to what the users have to run on client side using ethers.js or equivalent
diff --git a/packages/daimo-api/src/api/deployWallet.ts b/packages/daimo-api/src/api/deployWallet.ts
index 85cf452e0..bd2a4a716 100644
--- a/packages/daimo-api/src/api/deployWallet.ts
+++ b/packages/daimo-api/src/api/deployWallet.ts
@@ -1,8 +1,8 @@
import { DaimoAccountCall } from "@daimo/common";
import {
- ephemeralNotesAddress,
+ chainConfig,
+ daimoEphemeralNotesAddress,
erc20ABI,
- tokenMetadata,
} from "@daimo/contract";
import { Address, Hex, encodeFunctionData } from "viem";
@@ -19,22 +19,22 @@ export async function deployWallet(
const initCalls: DaimoAccountCall[] = [
{
// Approve notes contract infinite spending on behalf of the account
- dest: tokenMetadata.address,
+ dest: chainConfig.tokenAddress,
value: 0n,
data: encodeFunctionData({
abi: erc20ABI,
functionName: "approve",
- args: [ephemeralNotesAddress, maxUint256],
+ args: [daimoEphemeralNotesAddress, maxUint256],
}),
},
{
// Approve paymaster contract infinite spending on behalf of the account
- dest: tokenMetadata.address,
+ dest: chainConfig.tokenAddress,
value: 0n,
data: encodeFunctionData({
abi: erc20ABI,
functionName: "approve",
- args: [tokenMetadata.paymasterAddress, maxUint256],
+ args: [chainConfig.paymasterAddress, maxUint256],
}),
},
nameReg.getRegisterNameCall(name), // Register name
diff --git a/packages/daimo-api/src/contract/accountFactory.ts b/packages/daimo-api/src/contract/accountFactory.ts
index 912299814..54357dbc3 100644
--- a/packages/daimo-api/src/contract/accountFactory.ts
+++ b/packages/daimo-api/src/contract/accountFactory.ts
@@ -1,12 +1,12 @@
import { derKeytoContractFriendlyKey, DaimoAccountCall } from "@daimo/common";
-import { accountFactoryConfig } from "@daimo/contract";
+import { daimoAccountFactoryConfig } from "@daimo/contract";
import { Hex, TransactionReceipt } from "viem";
-import { ViemClient } from "../chain";
+import { ViemClient } from "../viemClient";
const SALT = 0n; // Daimo Account Factory salt, always 0.
-/* Interface to the AccountFactory contract. Creates Daimo accounts. */
+/* Interface to the DaimoAccountFactory contract. Creates Daimo accounts. */
export class AccountFactory {
constructor(private vc: ViemClient) {}
@@ -18,7 +18,7 @@ export class AccountFactory {
*/
async getAddress(pubKeyHex: Hex, initCalls: DaimoAccountCall[]) {
const address = await this.vc.publicClient.readContract({
- ...accountFactoryConfig,
+ ...daimoAccountFactoryConfig,
functionName: "getAddress",
args: [0, derKeytoContractFriendlyKey(pubKeyHex), initCalls, SALT],
});
@@ -34,7 +34,7 @@ export class AccountFactory {
initCalls: DaimoAccountCall[]
): Promise {
const hash = await this.vc.walletClient.writeContract({
- ...accountFactoryConfig,
+ ...daimoAccountFactoryConfig,
functionName: "createAccount",
args: [0, derKeytoContractFriendlyKey(pubKeyHex), initCalls, SALT],
});
diff --git a/packages/daimo-api/src/contract/coinIndexer.ts b/packages/daimo-api/src/contract/coinIndexer.ts
index 1ef648af2..ae7796a61 100644
--- a/packages/daimo-api/src/contract/coinIndexer.ts
+++ b/packages/daimo-api/src/contract/coinIndexer.ts
@@ -3,12 +3,12 @@ import {
TransferOpEvent,
guessTimestampFromNum,
} from "@daimo/common";
-import { erc20ABI, tokenMetadata } from "@daimo/contract";
+import { erc20ABI, chainConfig } from "@daimo/contract";
import { DaimoNonce } from "@daimo/userop";
import { Address, Hex, Log, getAbiItem, numberToHex } from "viem";
import { OpIndexer } from "./opIndexer";
-import { ViemClient } from "../chain";
+import { ViemClient } from "../viemClient";
const transferEvent = getAbiItem({ abi: erc20ABI, name: "Transfer" });
export type TransferLog = Log<
@@ -30,7 +30,7 @@ export class CoinIndexer {
async init() {
await this.client.pipeLogs(
{
- address: tokenMetadata.address,
+ address: chainConfig.tokenAddress,
event: transferEvent,
},
this.parseLogs
@@ -49,7 +49,7 @@ export class CoinIndexer {
const blockNumber = BigInt(blockNum);
return this.client.publicClient.readContract({
abi: erc20ABI,
- address: tokenMetadata.address,
+ address: chainConfig.tokenAddress,
functionName: "balanceOf",
args: [addr],
blockNumber,
@@ -125,7 +125,10 @@ export class CoinIndexer {
return {
type: "transfer",
status: OpStatus.confirmed,
- timestamp: guessTimestampFromNum(Number(blockNumber), "base-goerli"),
+ timestamp: guessTimestampFromNum(
+ Number(blockNumber),
+ chainConfig.chainL2.network
+ ),
from,
to,
amount: Number(value),
@@ -153,9 +156,9 @@ export class CoinIndexer {
const prevFee = opHashToFee.get(op.opHash) || 0;
- if (op.to === tokenMetadata.paymasterAddress) {
+ if (op.to === chainConfig.paymasterAddress) {
opHashToFee.set(op.opHash, prevFee + op.amount);
- } else if (op.from === tokenMetadata.paymasterAddress) {
+ } else if (op.from === chainConfig.paymasterAddress) {
// Account for fee refund
opHashToFee.set(op.opHash, prevFee - op.amount);
}
@@ -165,8 +168,8 @@ export class CoinIndexer {
.filter(
// Remove paymaster logs
(op) =>
- op.from !== tokenMetadata.paymasterAddress &&
- op.to !== tokenMetadata.paymasterAddress
+ op.from !== chainConfig.paymasterAddress &&
+ op.to !== chainConfig.paymasterAddress
)
.map((op) => {
// Attach fee amounts to other transfers
diff --git a/packages/daimo-api/src/contract/faucet.ts b/packages/daimo-api/src/contract/faucet.ts
index da4156a98..8aa5820d9 100644
--- a/packages/daimo-api/src/contract/faucet.ts
+++ b/packages/daimo-api/src/contract/faucet.ts
@@ -1,9 +1,9 @@
import { OpStatus, TransferOpEvent } from "@daimo/common";
-import { erc20ABI, tokenMetadata } from "@daimo/contract";
+import { erc20ABI, chainConfig } from "@daimo/contract";
import { Address } from "viem";
import { CoinIndexer, TransferLog } from "./coinIndexer";
-import { ViemClient } from "../chain";
+import { ViemClient } from "../viemClient";
export type FaucetStatus =
| "unavailable"
@@ -48,7 +48,7 @@ export class Faucet {
const amount = 50_000_000n;
const hash = await this.vc.walletClient.writeContract({
abi: erc20ABI,
- address: tokenMetadata.address,
+ address: chainConfig.tokenAddress,
functionName: "transfer",
args: [address, amount],
});
diff --git a/packages/daimo-api/src/contract/keyRegistry.ts b/packages/daimo-api/src/contract/keyRegistry.ts
index a1a39c711..28c3b3c0b 100644
--- a/packages/daimo-api/src/contract/keyRegistry.ts
+++ b/packages/daimo-api/src/contract/keyRegistry.ts
@@ -2,7 +2,7 @@ import { KeyData, contractFriendlyKeyToDER } from "@daimo/common";
import { daimoAccountABI } from "@daimo/contract";
import { Address, Hex, Log, getAbiItem, getAddress } from "viem";
-import { ViemClient } from "../chain";
+import { ViemClient } from "../viemClient";
const signingKeyAddedEvent = getAbiItem({
abi: daimoAccountABI,
diff --git a/packages/daimo-api/src/contract/nameRegistry.ts b/packages/daimo-api/src/contract/nameRegistry.ts
index 957db38be..686e37b0c 100644
--- a/packages/daimo-api/src/contract/nameRegistry.ts
+++ b/packages/daimo-api/src/contract/nameRegistry.ts
@@ -7,9 +7,9 @@ import {
validateName,
} from "@daimo/common";
import {
- ephemeralNotesAddress,
+ daimoEphemeralNotesAddress,
nameRegistryProxyConfig,
- tokenMetadata,
+ chainConfig,
} from "@daimo/contract";
import {
Address,
@@ -22,7 +22,7 @@ import {
} from "viem";
import { normalize } from "viem/ens";
-import { ViemClient } from "../chain";
+import { ViemClient } from "../viemClient";
const registeredName = "Registered";
const registeredEvent = getAbiItem({
@@ -34,12 +34,13 @@ type RegisteredLog = Log;
const specialAddrLabels: { [_: Address]: AddrLabel } = {
"0x2A6d311394184EeB6Df8FBBF58626B085374Ffe7": AddrLabel.Faucet,
- // old notes contract addresses
+ // Old notes contract addresses
"0x37Ac8550dA1E8d227266966A0b4925dfae648f7f": AddrLabel.PaymentLink,
"0x450E09fc6C2a9bC4230D4e6f3d7131CCa48b48Ce": AddrLabel.PaymentLink,
+ "0x1eec7E083C1a10C16470bEAc7839364853c7B81f": AddrLabel.PaymentLink,
};
-specialAddrLabels[ephemeralNotesAddress] = AddrLabel.PaymentLink;
-specialAddrLabels[tokenMetadata.paymasterAddress] = AddrLabel.Paymaster;
+specialAddrLabels[daimoEphemeralNotesAddress] = AddrLabel.PaymentLink;
+specialAddrLabels[chainConfig.paymasterAddress] = AddrLabel.Paymaster;
/* Interface to the NameRegistry contract. */
export class NameRegistry {
diff --git a/packages/daimo-api/src/contract/noteIndexer.ts b/packages/daimo-api/src/contract/noteIndexer.ts
index 61f9d3d5c..44bb0d3de 100644
--- a/packages/daimo-api/src/contract/noteIndexer.ts
+++ b/packages/daimo-api/src/contract/noteIndexer.ts
@@ -4,17 +4,15 @@ import {
assert,
getEAccountStr,
} from "@daimo/common";
-import { ephemeralNotesABI, ephemeralNotesConfig } from "@daimo/contract";
+import { daimoEphemeralNotesConfig } from "@daimo/contract";
import { Address, Log, decodeEventLog, getAbiItem } from "viem";
import { NameRegistry } from "./nameRegistry";
-import { ViemClient } from "../chain";
+import { ViemClient } from "../viemClient";
-const createEvent = getAbiItem({ abi: ephemeralNotesABI, name: "NoteCreated" });
-const redeemEvent = getAbiItem({
- abi: ephemeralNotesABI,
- name: "NoteRedeemed",
-});
+const notesABI = daimoEphemeralNotesConfig.abi;
+const createEvent = getAbiItem({ abi: notesABI, name: "NoteCreated" });
+const redeemEvent = getAbiItem({ abi: notesABI, name: "NoteRedeemed" });
// TODO: getEventSelector returns incorrect results.
// See https://goerli.basescan.org/tx/0xf1347cc24f8eafee1ff7ea88d964920ffccfe7667e71ac55afd0358840ed84b0#eventlog
@@ -63,7 +61,7 @@ export class NoteIndexer {
async init() {
await this.client.pipeLogs(
{
- address: ephemeralNotesConfig.address,
+ address: daimoEphemeralNotesConfig.address,
event: undefined,
},
this.parseLogs
@@ -85,7 +83,7 @@ export class NoteIndexer {
for (const log of logs) {
const { topics, data } = log;
const selector = topics[0];
- const abi = ephemeralNotesABI;
+ const abi = daimoEphemeralNotesConfig.abi;
const args = { abi, topics, data, strict: true } as const;
const logInfo = () => `[${log.transactionHash} ${log.logIndex}]`;
diff --git a/packages/daimo-api/src/contract/opIndexer.ts b/packages/daimo-api/src/contract/opIndexer.ts
index aab239b7f..1dc78fb98 100644
--- a/packages/daimo-api/src/contract/opIndexer.ts
+++ b/packages/daimo-api/src/contract/opIndexer.ts
@@ -3,7 +3,7 @@ import { DaimoNonce, DaimoNonceMetadata } from "@daimo/userop";
import { Constants } from "userop";
import { Hex, Log, getAbiItem, numberToHex } from "viem";
-import { ViemClient } from "../chain";
+import { ViemClient } from "../viemClient";
const userOperationEvent = getAbiItem({
abi: entryPointABI,
diff --git a/packages/daimo-api/src/contract/paymaster.ts b/packages/daimo-api/src/contract/paymaster.ts
index 324cfe3c8..8300dfc1b 100644
--- a/packages/daimo-api/src/contract/paymaster.ts
+++ b/packages/daimo-api/src/contract/paymaster.ts
@@ -1,12 +1,6 @@
-import { tokenMetadata } from "@daimo/contract";
-import { parseAbi } from "viem";
+import { chainConfig, pimlicoPaymasterAbi } from "@daimo/contract";
-import { ViemClient } from "../chain";
-
-const pimlicoPaymasterAbi = parseAbi([
- "function priceMarkup() view returns (uint32)",
- "function previousPrice() view returns (uint192)",
-]);
+import { ViemClient } from "../viemClient";
/* Interface to on-chain paymaster and gas related data. */
export class Paymaster {
@@ -54,7 +48,7 @@ export class Paymaster {
const tokenAmount =
(expectedFunding * this.priceMarkup * this.previousPrice) / 10n ** 24n; // 1e24 = 1e6 * 1e18, 1e6 is the priceDenominator constant, 1e18 is number of ETH decimals
const dollars =
- Number((tokenAmount * 100n) / 10n ** BigInt(tokenMetadata.decimals)) /
+ Number((tokenAmount * 100n) / 10n ** BigInt(chainConfig.tokenDecimals)) /
100; // normalize to dollars with 2 digits after decimal
return dollars;
}
@@ -68,12 +62,12 @@ export class Paymaster {
const priceMarkup = await this.vc.publicClient.readContract({
abi: pimlicoPaymasterAbi,
- address: tokenMetadata.paymasterAddress,
+ address: chainConfig.paymasterAddress,
functionName: "priceMarkup",
});
const previousPrice = await this.vc.publicClient.readContract({
abi: pimlicoPaymasterAbi,
- address: tokenMetadata.paymasterAddress,
+ address: chainConfig.paymasterAddress,
functionName: "previousPrice",
});
diff --git a/packages/daimo-api/src/pushNotifier.ts b/packages/daimo-api/src/pushNotifier.ts
index 50f933ebc..c14472c98 100644
--- a/packages/daimo-api/src/pushNotifier.ts
+++ b/packages/daimo-api/src/pushNotifier.ts
@@ -4,7 +4,7 @@ import {
assertNotNull,
getAccountName,
} from "@daimo/common";
-import { tokenMetadata } from "@daimo/contract";
+import { chainConfig } from "@daimo/contract";
import { DaimoNonceMetadata, DaimoNonceType } from "@daimo/userop";
import { Expo, ExpoPushMessage } from "expo-server-sdk";
import { Address, Hex, formatUnits, getAddress } from "viem";
@@ -160,8 +160,8 @@ export class PushNotifier {
const pushTokens = this.pushTokens.get(addr);
if (!pushTokens || pushTokens.length === 0) return [];
- const { decimals, symbol } = tokenMetadata;
- const rawAmount = formatUnits(value, decimals);
+ const { tokenDecimals, tokenSymbol } = chainConfig;
+ const rawAmount = formatUnits(value, tokenDecimals);
const dollars = Math.abs(Number(rawAmount)).toFixed(2);
// Get the other side
@@ -178,11 +178,11 @@ export class PushNotifier {
const title = value < 0 ? `Sent $${dollars}` : `Received $${dollars}`;
let body;
if (value < 0) {
- body = `You sent ${dollars} ${symbol} to ${otherStr}`;
+ body = `You sent ${dollars} ${tokenSymbol} to ${otherStr}`;
} else if (receivingRequestedMoney) {
- body = `${otherStr} fulfilled your ${dollars} ${symbol} request`;
+ body = `${otherStr} fulfilled your ${dollars} ${tokenSymbol} request`;
} else {
- body = `You received ${dollars} ${symbol} from ${otherStr}`;
+ body = `You received ${dollars} ${tokenSymbol} from ${otherStr}`;
}
return [
@@ -197,7 +197,7 @@ export class PushNotifier {
}
getPushMessagesFromNoteOps(logs: NoteOpLog[]) {
- const { symbol } = tokenMetadata;
+ const symbol = chainConfig.tokenSymbol;
const messages: ExpoPushMessage[] = [];
for (const log of logs) {
diff --git a/packages/daimo-api/src/router.ts b/packages/daimo-api/src/router.ts
index 930e2a304..790b7180b 100644
--- a/packages/daimo-api/src/router.ts
+++ b/packages/daimo-api/src/router.ts
@@ -14,7 +14,6 @@ import { normalize } from "viem/ens";
import { z } from "zod";
import { deployWallet } from "./api/deployWallet";
-import { ViemClient } from "./chain";
import { AccountFactory } from "./contract/accountFactory";
import { CoinIndexer } from "./contract/coinIndexer";
import { Faucet } from "./contract/faucet";
@@ -26,6 +25,7 @@ import { Paymaster } from "./contract/paymaster";
import { PushNotifier } from "./pushNotifier";
import { Telemetry } from "./telemetry";
import { trpcT } from "./trpc";
+import { ViemClient } from "./viemClient";
export function createRouter(
vc: ViemClient,
diff --git a/packages/daimo-api/src/server.ts b/packages/daimo-api/src/server.ts
index aa42967de..e72628ca3 100644
--- a/packages/daimo-api/src/server.ts
+++ b/packages/daimo-api/src/server.ts
@@ -1,6 +1,5 @@
import { createHTTPServer } from "@trpc/server/adapters/standalone";
-import { getViemClientFromEnv } from "./chain";
import { AccountFactory } from "./contract/accountFactory";
import { CoinIndexer } from "./contract/coinIndexer";
import { Faucet } from "./contract/faucet";
@@ -14,6 +13,7 @@ import { PushNotifier } from "./pushNotifier";
import { createRouter } from "./router";
import { Telemetry } from "./telemetry";
import { createContext } from "./trpc";
+import { getViemClientFromEnv } from "./viemClient";
async function main() {
console.log(`[API] starting...`);
diff --git a/packages/daimo-api/src/chain.ts b/packages/daimo-api/src/viemClient.ts
similarity index 93%
rename from packages/daimo-api/src/chain.ts
rename to packages/daimo-api/src/viemClient.ts
index 964cf1348..cc1bdd34b 100644
--- a/packages/daimo-api/src/chain.ts
+++ b/packages/daimo-api/src/viemClient.ts
@@ -1,3 +1,4 @@
+import { chainConfig } from "@daimo/contract";
import type { AbiEvent } from "abitype";
import fs from "node:fs/promises";
import os from "os";
@@ -6,6 +7,7 @@ import {
Abi,
Account,
Address,
+ Chain,
GetContractReturnType,
GetLogsReturnType,
PublicClient,
@@ -16,7 +18,6 @@ import {
webSocket,
} from "viem";
import { privateKeyToAccount } from "viem/accounts";
-import { Chain, baseGoerli, mainnet } from "viem/chains";
import { jsonBigParse, jsonBigStringify } from "./jsonBig";
@@ -27,12 +28,12 @@ import { jsonBigParse, jsonBigStringify } from "./jsonBig";
export function getViemClientFromEnv() {
// Connect to L1
const l1Client = createPublicClient({
- chain: mainnet,
+ chain: chainConfig.chainL1,
transport: webSocket(process.env.DAIMO_API_L1_RPC_WS),
});
// Connect to L2
- const chain = baseGoerli; // TODO: DAIMO_API_CHAIN once mainnet is supported
+ const chain = chainConfig.chainL2;
const account = getAccount(process.env.DAIMO_API_PRIVATE_KEY);
const transport = webSocket(process.env.DAIMO_API_L2_RPC_WS);
const publicClient = createPublicClient({ chain, transport });
@@ -41,7 +42,7 @@ export function getViemClientFromEnv() {
return new ViemClient(l1Client, publicClient, walletClient);
}
-export function getAccount(privateKey?: string) {
+function getAccount(privateKey?: string) {
if (!privateKey) throw new Error("Missing private key");
return privateKeyToAccount(`0x${privateKey}`);
}
@@ -80,9 +81,9 @@ export class ViemClient {
private lockLogProcessing = true;
constructor(
- public l1Client: PublicClient,
- public publicClient: PublicClient,
- public walletClient: WalletClient
+ public l1Client: PublicClient,
+ public publicClient: PublicClient,
+ public walletClient: WalletClient
) {
fs.mkdir(this.logCacheDir, { recursive: true });
}
@@ -207,7 +208,7 @@ export class ViemClient {
const filter: LogFilter = { ...args, callback };
// Catch up to latest block
- const isTestnet = this.publicClient.chain.id === baseGoerli.id;
+ const isTestnet = this.publicClient.chain.testnet;
const startBlock = isTestnet ? 8750000n : 0n;
const lastBlockNum = BigInt(this.lastBlock.number);
const step = 5000n;
diff --git a/packages/daimo-common/src/coin.ts b/packages/daimo-common/src/coin.ts
index 4579b0628..278b8f5cf 100644
--- a/packages/daimo-common/src/coin.ts
+++ b/packages/daimo-common/src/coin.ts
@@ -1,20 +1,22 @@
-import { tokenMetadata } from "@daimo/contract";
+import { chainConfig } from "@daimo/contract";
import { parseUnits } from "viem";
+const { tokenDecimals } = chainConfig;
+
/** Returns token units, 6000000 for $6 USDC */
export function dollarsToAmount(dollars: number | string) {
if (typeof dollars === "number") {
dollars = `${dollars}`;
}
- return parseUnits(dollars, tokenMetadata.decimals);
+ return parseUnits(dollars, tokenDecimals);
}
/** Returns eg "6.00" for 6000000 USDC units. */
export function amountToDollars(amount: bigint | number): `${number}` {
const dispDecimals = 2;
- const { decimals } = tokenMetadata;
- const totalCents = BigInt(amount) / BigInt(10 ** (decimals - dispDecimals));
+ const totalCents =
+ BigInt(amount) / BigInt(10 ** (tokenDecimals - dispDecimals));
const dispStr = totalCents.toString().padStart(dispDecimals + 1, "0");
const dollars = dispStr.slice(0, -dispDecimals);
const cents = dispStr.slice(-dispDecimals);
diff --git a/packages/daimo-common/src/note.ts b/packages/daimo-common/src/note.ts
index fe76a2b2f..2f3c692b9 100644
--- a/packages/daimo-common/src/note.ts
+++ b/packages/daimo-common/src/note.ts
@@ -1,6 +1,6 @@
+import { chainConfig } from "@daimo/contract";
import { Address, Hex, createWalletClient, http, keccak256 } from "viem";
import { privateKeyToAccount } from "viem/accounts";
-import { baseGoerli } from "viem/chains";
export async function getNoteClaimSignature(
sender: Address,
@@ -13,7 +13,7 @@ export async function getNoteClaimSignature(
const ephemeralAccount = privateKeyToAccount(notePrivateKey);
const ephemeralClient = createWalletClient({
account: ephemeralAccount,
- chain: baseGoerli,
+ chain: chainConfig.chainL2,
transport: http(), // unused
});
const message = keccak256(recipient);
diff --git a/packages/daimo-common/src/time.ts b/packages/daimo-common/src/time.ts
index 49679b9da..c409b2f76 100644
--- a/packages/daimo-common/src/time.ts
+++ b/packages/daimo-common/src/time.ts
@@ -30,6 +30,8 @@ export function guessTimestampFromNum(
switch (network) {
case "base-goerli":
return 1675193616 + blockNum * 2;
+ case "base":
+ return 1686789347 + blockNum * 2;
default:
throw new Error(`Unsupported network: ${network}`);
}
diff --git a/packages/daimo-contract/README.md b/packages/daimo-contract/README.md
new file mode 100644
index 000000000..694c4d1a9
--- /dev/null
+++ b/packages/daimo-contract/README.md
@@ -0,0 +1,6 @@
+# `@daimo/contract`
+
+Provides all contract metadata needed by Daimo, across all supported chains.
+
+This includes ABIs and addresses. It includes our own contracts as well as
+third-party contracts, eg. the stablecoin and paymaster contracts.
diff --git a/packages/daimo-contract/package.json b/packages/daimo-contract/package.json
index 91b6ba80e..99fb15bc2 100644
--- a/packages/daimo-contract/package.json
+++ b/packages/daimo-contract/package.json
@@ -6,7 +6,6 @@
"main": "./dist/index.js",
"scripts": {
"codegen": "wagmi generate",
- "fetch-token": "ts-node script/fetchTokenMetadata.ts",
"build": "tsc"
},
"author": "",
diff --git a/packages/daimo-contract/script/fetchTokenMetadata.ts b/packages/daimo-contract/script/fetchTokenMetadata.ts
deleted file mode 100644
index e604f9c9f..000000000
--- a/packages/daimo-contract/script/fetchTokenMetadata.ts
+++ /dev/null
@@ -1,51 +0,0 @@
-import * as fs from "fs";
-import { Address, createPublicClient, http } from "viem";
-import { base, baseGoerli } from "viem/chains";
-
-import * as Contracts from "../src/generated";
-
-const abi = Contracts.erc20ABI;
-
-// This one spot is the only place where Daimo's stablecoin is hardcoded.
-// Everything else is generated from the contract.
-const chains = [
- {
- chain: baseGoerli,
- usdcAddress: "0x1B85deDe8178E18CdE599B4C9d913534553C3dBf" as Address,
- paymasterAddress: "0x13f490FafBb206440F25760A10C21A6220017fFa" as Address,
- },
- {
- chain: base,
- usdcAddress: "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913" as Address,
- paymasterAddress: "0x939263eafe57038a072cb4edd6b25dd81a8a6c56" as Address,
- },
-];
-
-async function main() {
- const tokenMetadata = {} as any;
- for (const { chain, usdcAddress, paymasterAddress } of chains) {
- const publicClient = createPublicClient({ chain, transport: http() });
-
- console.log("✔ Fetching erc20 metadata");
- const address = usdcAddress;
- const [decimals, symbol, name] = await Promise.all([
- publicClient.readContract({ abi, address, functionName: "decimals" }),
- publicClient.readContract({ abi, address, functionName: "symbol" }),
- publicClient.readContract({ abi, address, functionName: "name" }),
- ]);
- const chainId = chain.id;
-
- const meta = { address, decimals, symbol, name, chainId, paymasterAddress };
- tokenMetadata[chain.id] = meta;
- }
-
- const fileStr = `// Generated by script/fetchTokenMetadata.ts
-
-export const tokenMetadata = ${JSON.stringify(tokenMetadata, null, 2)} as const;
-`;
-
- console.log("✔ Writing to src/tokenMetadata.ts");
- fs.writeFileSync("./src/tokenMetadata.ts", fileStr);
-}
-
-main();
diff --git a/packages/daimo-contract/src/chainConfig.ts b/packages/daimo-contract/src/chainConfig.ts
new file mode 100644
index 000000000..c803c69ea
--- /dev/null
+++ b/packages/daimo-contract/src/chainConfig.ts
@@ -0,0 +1,40 @@
+import { Address, Chain } from "viem";
+import { base, baseGoerli, mainnet } from "viem/chains";
+
+export interface ChainConfig {
+ chainL1: Chain;
+ chainL2: Chain;
+ tokenAddress: Address;
+ tokenSymbol: string;
+ tokenDecimals: number;
+ paymasterAddress: Address;
+}
+
+export const chainConfig = getChainConfig();
+
+function getChainConfig(): ChainConfig {
+ const daimoChain = process.env.DAIMO_CHAIN || "";
+ switch (daimoChain) {
+ case "base":
+ return {
+ chainL1: mainnet,
+ chainL2: base,
+ tokenAddress: "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
+ tokenSymbol: "USDC",
+ tokenDecimals: 6,
+ paymasterAddress: "0x939263eafe57038a072cb4edd6b25dd81a8a6c56",
+ };
+ case "baseGoerli":
+ case "": // Tests, etc default to testnet
+ return {
+ chainL1: mainnet, // ENS resolution = eth mainnet, read-only
+ chainL2: baseGoerli,
+ tokenAddress: "0x1B85deDe8178E18CdE599B4C9d913534553C3dBf",
+ tokenSymbol: "USDC",
+ tokenDecimals: 6,
+ paymasterAddress: "0x13f490FafBb206440F25760A10C21A6220017fFa",
+ };
+ default:
+ throw new Error(`unknown DAIMO_CHAIN '${process.env.DAIMO_CHAIN}'`);
+ }
+}
diff --git a/packages/daimo-contract/src/generated.ts b/packages/daimo-contract/src/generated.ts
index 6cd34e5ac..814876f49 100644
--- a/packages/daimo-contract/src/generated.ts
+++ b/packages/daimo-contract/src/generated.ts
@@ -1,92 +1,3 @@
-//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-// AccountFactory
-//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-
-export const accountFactoryABI = [
- {
- stateMutability: 'nonpayable',
- type: 'constructor',
- inputs: [
- {
- name: '_entryPoint',
- internalType: 'contract IEntryPoint',
- type: 'address',
- },
- { name: '_sigVerifier', internalType: 'address', type: 'address' },
- ],
- },
- {
- stateMutability: 'view',
- type: 'function',
- inputs: [],
- name: 'accountImplementation',
- outputs: [
- { name: '', internalType: 'contract DaimoAccount', type: 'address' },
- ],
- },
- {
- stateMutability: 'payable',
- type: 'function',
- inputs: [
- { name: 'keySlot', internalType: 'uint8', type: 'uint8' },
- { name: 'key', internalType: 'bytes32[2]', type: 'bytes32[2]' },
- {
- name: 'initCalls',
- internalType: 'struct Call[]',
- type: 'tuple[]',
- components: [
- { name: 'dest', internalType: 'address', type: 'address' },
- { name: 'value', internalType: 'uint256', type: 'uint256' },
- { name: 'data', internalType: 'bytes', type: 'bytes' },
- ],
- },
- { name: 'salt', internalType: 'uint256', type: 'uint256' },
- ],
- name: 'createAccount',
- outputs: [
- { name: 'ret', internalType: 'contract DaimoAccount', type: 'address' },
- ],
- },
- {
- stateMutability: 'view',
- type: 'function',
- inputs: [],
- name: 'entryPoint',
- outputs: [
- { name: '', internalType: 'contract IEntryPoint', type: 'address' },
- ],
- },
- {
- stateMutability: 'view',
- type: 'function',
- inputs: [
- { name: 'keySlot', internalType: 'uint8', type: 'uint8' },
- { name: 'key', internalType: 'bytes32[2]', type: 'bytes32[2]' },
- {
- name: 'initCalls',
- internalType: 'struct Call[]',
- type: 'tuple[]',
- components: [
- { name: 'dest', internalType: 'address', type: 'address' },
- { name: 'value', internalType: 'uint256', type: 'uint256' },
- { name: 'data', internalType: 'bytes', type: 'bytes' },
- ],
- },
- { name: 'salt', internalType: 'uint256', type: 'uint256' },
- ],
- name: 'getAddress',
- outputs: [{ name: '', internalType: 'address', type: 'address' }],
- },
-] as const
-
-export const accountFactoryAddress =
- '0xe5a1744d42a30c3Bb87f16FbC4484B984594cD7C' as const
-
-export const accountFactoryConfig = {
- address: accountFactoryAddress,
- abi: accountFactoryABI,
-} as const
-
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// DaimoAccount
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
@@ -404,6 +315,197 @@ export const daimoAccountABI = [
{ stateMutability: 'payable', type: 'receive' },
] as const
+//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+// DaimoAccountFactory
+//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+
+export const daimoAccountFactoryABI = [
+ {
+ stateMutability: 'nonpayable',
+ type: 'constructor',
+ inputs: [
+ {
+ name: '_entryPoint',
+ internalType: 'contract IEntryPoint',
+ type: 'address',
+ },
+ { name: '_sigVerifier', internalType: 'address', type: 'address' },
+ ],
+ },
+ {
+ stateMutability: 'view',
+ type: 'function',
+ inputs: [],
+ name: 'accountImplementation',
+ outputs: [
+ { name: '', internalType: 'contract DaimoAccount', type: 'address' },
+ ],
+ },
+ {
+ stateMutability: 'payable',
+ type: 'function',
+ inputs: [
+ { name: 'keySlot', internalType: 'uint8', type: 'uint8' },
+ { name: 'key', internalType: 'bytes32[2]', type: 'bytes32[2]' },
+ {
+ name: 'initCalls',
+ internalType: 'struct Call[]',
+ type: 'tuple[]',
+ components: [
+ { name: 'dest', internalType: 'address', type: 'address' },
+ { name: 'value', internalType: 'uint256', type: 'uint256' },
+ { name: 'data', internalType: 'bytes', type: 'bytes' },
+ ],
+ },
+ { name: 'salt', internalType: 'uint256', type: 'uint256' },
+ ],
+ name: 'createAccount',
+ outputs: [
+ { name: 'ret', internalType: 'contract DaimoAccount', type: 'address' },
+ ],
+ },
+ {
+ stateMutability: 'view',
+ type: 'function',
+ inputs: [],
+ name: 'entryPoint',
+ outputs: [
+ { name: '', internalType: 'contract IEntryPoint', type: 'address' },
+ ],
+ },
+ {
+ stateMutability: 'view',
+ type: 'function',
+ inputs: [
+ { name: 'keySlot', internalType: 'uint8', type: 'uint8' },
+ { name: 'key', internalType: 'bytes32[2]', type: 'bytes32[2]' },
+ {
+ name: 'initCalls',
+ internalType: 'struct Call[]',
+ type: 'tuple[]',
+ components: [
+ { name: 'dest', internalType: 'address', type: 'address' },
+ { name: 'value', internalType: 'uint256', type: 'uint256' },
+ { name: 'data', internalType: 'bytes', type: 'bytes' },
+ ],
+ },
+ { name: 'salt', internalType: 'uint256', type: 'uint256' },
+ ],
+ name: 'getAddress',
+ outputs: [{ name: '', internalType: 'address', type: 'address' }],
+ },
+] as const
+
+export const daimoAccountFactoryAddress =
+ '0xED5F5066de0c177729Eb0D5FECEC4BF87CA6Bf3C' as const
+
+export const daimoAccountFactoryConfig = {
+ address: daimoAccountFactoryAddress,
+ abi: daimoAccountFactoryABI,
+} as const
+
+//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+// DaimoEphemeralNotes
+//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+
+export const daimoEphemeralNotesABI = [
+ {
+ stateMutability: 'nonpayable',
+ type: 'constructor',
+ inputs: [
+ { name: '_token', internalType: 'contract IERC20', type: 'address' },
+ ],
+ },
+ {
+ type: 'event',
+ anonymous: false,
+ inputs: [
+ {
+ name: 'note',
+ internalType: 'struct Note',
+ type: 'tuple',
+ components: [
+ { name: 'ephemeralOwner', internalType: 'address', type: 'address' },
+ { name: 'from', internalType: 'address', type: 'address' },
+ { name: 'amount', internalType: 'uint256', type: 'uint256' },
+ ],
+ indexed: false,
+ },
+ ],
+ name: 'NoteCreated',
+ },
+ {
+ type: 'event',
+ anonymous: false,
+ inputs: [
+ {
+ name: 'note',
+ internalType: 'struct Note',
+ type: 'tuple',
+ components: [
+ { name: 'ephemeralOwner', internalType: 'address', type: 'address' },
+ { name: 'from', internalType: 'address', type: 'address' },
+ { name: 'amount', internalType: 'uint256', type: 'uint256' },
+ ],
+ indexed: false,
+ },
+ {
+ name: 'redeemer',
+ internalType: 'address',
+ type: 'address',
+ indexed: false,
+ },
+ ],
+ name: 'NoteRedeemed',
+ },
+ {
+ stateMutability: 'nonpayable',
+ type: 'function',
+ inputs: [
+ { name: '_ephemeralOwner', internalType: 'address', type: 'address' },
+ { name: '_signature', internalType: 'bytes', type: 'bytes' },
+ ],
+ name: 'claimNote',
+ outputs: [],
+ },
+ {
+ stateMutability: 'nonpayable',
+ type: 'function',
+ inputs: [
+ { name: '_ephemeralOwner', internalType: 'address', type: 'address' },
+ { name: '_amount', internalType: 'uint256', type: 'uint256' },
+ ],
+ name: 'createNote',
+ outputs: [],
+ },
+ {
+ stateMutability: 'view',
+ type: 'function',
+ inputs: [{ name: '', internalType: 'address', type: 'address' }],
+ name: 'notes',
+ outputs: [
+ { name: 'ephemeralOwner', internalType: 'address', type: 'address' },
+ { name: 'from', internalType: 'address', type: 'address' },
+ { name: 'amount', internalType: 'uint256', type: 'uint256' },
+ ],
+ },
+ {
+ stateMutability: 'view',
+ type: 'function',
+ inputs: [],
+ name: 'token',
+ outputs: [{ name: '', internalType: 'contract IERC20', type: 'address' }],
+ },
+] as const
+
+export const daimoEphemeralNotesAddress =
+ '0x831967F433D9425Aa34D6A3dAC01a428d839De0f' as const
+
+export const daimoEphemeralNotesConfig = {
+ address: daimoEphemeralNotesAddress,
+ abi: daimoEphemeralNotesABI,
+} as const
+
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// DaimoNameRegistry
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
@@ -1741,100 +1843,6 @@ export const entryPointABI = [
{ stateMutability: 'payable', type: 'receive' },
] as const
-//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-// EphemeralNotes
-//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-
-export const ephemeralNotesABI = [
- {
- stateMutability: 'nonpayable',
- type: 'constructor',
- inputs: [
- { name: '_token', internalType: 'contract IERC20', type: 'address' },
- ],
- },
- {
- type: 'event',
- anonymous: false,
- inputs: [
- {
- name: 'note',
- internalType: 'struct Note',
- type: 'tuple',
- components: [
- { name: 'ephemeralOwner', internalType: 'address', type: 'address' },
- { name: 'from', internalType: 'address', type: 'address' },
- { name: 'amount', internalType: 'uint256', type: 'uint256' },
- ],
- indexed: false,
- },
- ],
- name: 'NoteCreated',
- },
- {
- type: 'event',
- anonymous: false,
- inputs: [
- {
- name: 'note',
- internalType: 'struct Note',
- type: 'tuple',
- components: [
- { name: 'ephemeralOwner', internalType: 'address', type: 'address' },
- { name: 'from', internalType: 'address', type: 'address' },
- { name: 'amount', internalType: 'uint256', type: 'uint256' },
- ],
- indexed: false,
- },
- {
- name: 'redeemer',
- internalType: 'address',
- type: 'address',
- indexed: false,
- },
- ],
- name: 'NoteRedeemed',
- },
- {
- stateMutability: 'nonpayable',
- type: 'function',
- inputs: [
- { name: '_ephemeralOwner', internalType: 'address', type: 'address' },
- { name: '_signature', internalType: 'bytes', type: 'bytes' },
- ],
- name: 'claimNote',
- outputs: [],
- },
- {
- stateMutability: 'nonpayable',
- type: 'function',
- inputs: [
- { name: '_ephemeralOwner', internalType: 'address', type: 'address' },
- { name: '_amount', internalType: 'uint256', type: 'uint256' },
- ],
- name: 'createNote',
- outputs: [],
- },
- {
- stateMutability: 'view',
- type: 'function',
- inputs: [{ name: '', internalType: 'address', type: 'address' }],
- name: 'notes',
- outputs: [
- { name: 'ephemeralOwner', internalType: 'address', type: 'address' },
- { name: 'from', internalType: 'address', type: 'address' },
- { name: 'amount', internalType: 'uint256', type: 'uint256' },
- ],
- },
- {
- stateMutability: 'view',
- type: 'function',
- inputs: [],
- name: 'token',
- outputs: [{ name: '', internalType: 'contract IERC20', type: 'address' }],
- },
-] as const
-
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// TestUSDC
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
diff --git a/packages/daimo-contract/src/index.ts b/packages/daimo-contract/src/index.ts
index b03061f24..ec08f4699 100644
--- a/packages/daimo-contract/src/index.ts
+++ b/packages/daimo-contract/src/index.ts
@@ -1,3 +1,5 @@
+import { parseAbi } from "viem";
+
import {
daimoNameRegistryABI,
daimoNameRegistryProxyAddress,
@@ -8,5 +10,22 @@ export const nameRegistryProxyConfig = {
abi: daimoNameRegistryABI,
} as const;
-export * from "./generated";
-export * from "./tokenMetadata";
+export const pimlicoPaymasterAbi = parseAbi([
+ "function priceMarkup() view returns (uint32)",
+ "function previousPrice() view returns (uint192)",
+ "function token() view returns (address)",
+]);
+
+export {
+ daimoAccountABI,
+ daimoEphemeralNotesABI,
+ daimoEphemeralNotesAddress,
+ daimoEphemeralNotesConfig,
+ daimoAccountFactoryABI,
+ daimoAccountFactoryAddress,
+ daimoAccountFactoryConfig,
+ erc20ABI,
+ entryPointABI,
+} from "./generated";
+
+export * from "./chainConfig";
diff --git a/packages/daimo-contract/src/tokenMetadata.ts b/packages/daimo-contract/src/tokenMetadata.ts
deleted file mode 100644
index fb1da2fdb..000000000
--- a/packages/daimo-contract/src/tokenMetadata.ts
+++ /dev/null
@@ -1,20 +0,0 @@
-// Generated by script/fetchTokenMetadata.ts
-
-export const tokenMetadata = {
- "8453": {
- address: "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
- decimals: 6,
- symbol: "USDC",
- name: "USD Coin",
- chainId: 8453,
- paymasterAddress: "0x939263eafe57038a072cb4edd6b25dd81a8a6c56",
- },
- "84531": {
- address: "0x1B85deDe8178E18CdE599B4C9d913534553C3dBf",
- decimals: 6,
- symbol: "USDC",
- name: "testUSDC",
- chainId: 84531,
- paymasterAddress: "0x13f490FafBb206440F25760A10C21A6220017fFa",
- },
-} as const;
diff --git a/packages/daimo-contract/wagmi.config.ts b/packages/daimo-contract/wagmi.config.ts
index 356e5bd7d..7a744ed70 100644
--- a/packages/daimo-contract/wagmi.config.ts
+++ b/packages/daimo-contract/wagmi.config.ts
@@ -5,8 +5,10 @@ import latestAccountFactory from "../contract/broadcast/DeployAccountFactory.s.s
import latestEphemeralNotes from "../contract/broadcast/DeployEphemeralNotes.s.sol/8453/run-latest.json";
import latestNameReg from "../contract/broadcast/DeployNameRegistry.s.sol/8453/run-latest.json";
-// TODO: Base Mainnet
-// Works on testnet too, because these are all CREATE2 contracts.
+/**
+ * We get contract addresses from our latest Base mainnet deployments.
+ * Because of CREATE2, all except EphemeralNotes are deterministic.
+ */
const deployments = Object.fromEntries(
[
...latestNameReg.transactions,
diff --git a/packages/daimo-userop/README.md b/packages/daimo-userop/README.md
index 2826146fd..927b5e07e 100644
--- a/packages/daimo-userop/README.md
+++ b/packages/daimo-userop/README.md
@@ -1,3 +1,15 @@
# Daimo Userop
-Simple wrapper over a `userop.js` custom Builder (supporting custom signatures, paymaster etc.). Used for sending userops from Daimo's mobile app. See usage in `apps/daimo-mobile`.
\ No newline at end of file
+This library constructs all userops sent by a Daimo account.
+
+Example usage:
+
+```ts
+import { DaimoOpSender } from "@daimo/userop";
+
+// Create DaimoOpConfig, then send some of that account's home coin (eg USDC).
+const sender = DaimoOpSender.init(config);
+sender.erc20Transfer(toAddress, amount, nonceMetadata);
+```
+
+See `apps/daimo-mobile` for more examples. Built with `userop.js`.
diff --git a/packages/daimo-userop/src/daimoOpBuilder.ts b/packages/daimo-userop/src/daimoOpBuilder.ts
index 629ebbb31..f95ea2c25 100644
--- a/packages/daimo-userop/src/daimoOpBuilder.ts
+++ b/packages/daimo-userop/src/daimoOpBuilder.ts
@@ -5,13 +5,13 @@ import {
DaimoAccountCall,
assert,
} from "@daimo/common";
-import { daimoAccountABI, tokenMetadata } from "@daimo/contract";
+import { daimoAccountABI } from "@daimo/contract";
import { p256 } from "@noble/curves/p256";
import { IUserOperationMiddlewareCtx, UserOperationBuilder } from "userop";
import {
Address,
Hex,
- bytesToBigint,
+ bytesToBigInt,
bytesToHex,
concat,
encodeFunctionData,
@@ -30,28 +30,33 @@ export type DaimoOpMetadata = {
/** Creates userops from a Daimo account. */
export class DaimoOpBuilder extends UserOperationBuilder {
- /** Daimo account address */
- private address: `0x${string}` = "0x";
-
/** Execution deadline */
private validUntil = 0;
- private constructor(private signer: SigningCallback) {
+ private constructor(
+ private accountAddress: Address,
+ private paymasterAddress: Address,
+ private signer: SigningCallback
+ ) {
super();
}
/** Client is used for simulation. Paymaster pays for userops. */
public static async init(
- deployedAddress: Address,
- signUserOperation: SigningCallback
+ accountAddress: Address,
+ accountSigner: SigningCallback,
+ paymasterAddress: Address
): Promise {
- const instance = new DaimoOpBuilder(signUserOperation);
- instance.address = deployedAddress;
+ const instance = new DaimoOpBuilder(
+ accountAddress,
+ paymasterAddress,
+ accountSigner
+ );
- console.log(`[OP]: init address ${instance.address}`);
+ console.log(`[OP]: init address ${instance.accountAddress}`);
const base = instance
.useDefaults({
- sender: instance.address,
+ sender: instance.accountAddress,
verificationGasLimit: DEFAULT_USEROP_VERIFICATION_GAS_LIMIT,
callGasLimit: DEFAULT_USEROP_CALL_GAS_LIMIT,
})
@@ -60,7 +65,7 @@ export class DaimoOpBuilder extends UserOperationBuilder {
return base;
}
- /** Signs userops. Signer can use the enclave, requesting user permission as needed. */
+ /** Signs userops. Signer can use the enclave, which checks user presence. */
private signingCallback = async (ctx: IUserOperationMiddlewareCtx) => {
const hexOpHash = ctx.getUserOpHash() as Hex;
assert(hexOpHash.startsWith("0x"));
@@ -83,7 +88,7 @@ export class DaimoOpBuilder extends UserOperationBuilder {
const bS = bSig.slice(32);
// Avoid malleability. Ensure low S (<= N/2 where N is the curve order)
- let s = bytesToBigint(bS);
+ let s = bytesToBigInt(bS);
const n = BigInt(
"0xFFFFFFFF00000000FFFFFFFFFFFFFFFFBCE6FAADA7179E84F3B9CAC2FC632551"
);
@@ -111,7 +116,7 @@ export class DaimoOpBuilder extends UserOperationBuilder {
executeBatch(calls: DaimoAccountCall[], opMetadata: DaimoOpMetadata) {
return this.setOpMetadata(opMetadata)
- .setPaymasterAndData(tokenMetadata.paymasterAddress)
+ .setPaymasterAndData(this.paymasterAddress)
.setCallData(
encodeFunctionData({
abi: daimoAccountABI,
diff --git a/packages/daimo-userop/src/daimoOpSender.ts b/packages/daimo-userop/src/daimoOpSender.ts
index a28e76ad1..1d5c17137 100644
--- a/packages/daimo-userop/src/daimoOpSender.ts
+++ b/packages/daimo-userop/src/daimoOpSender.ts
@@ -14,54 +14,93 @@ import { DaimoOpBuilder, DaimoOpMetadata } from "./daimoOpBuilder";
import { SigningCallback } from "./signingCallback";
import config from "../config.json";
+interface DaimoOpConfig {
+ /// Chain ID
+ chainId: number;
+ /// Bundler RPC URL.
+ bundlerRpcUrl: string;
+ /// Stablecoin token address.
+ tokenAddress: Address;
+ /// Decimals for that token.
+ tokenDecimals: number;
+ /// EphemeralNotes instance. The stablecoin used must match tokenAddress.
+ notesAddress: `0x${string}`;
+ /// Paymaster, payable in tokenAddress.
+ paymasterAddress: Address;
+ /// Daimo account address.
+ accountAddress: Address;
+ /// Signs userops. Must, in some form, check user presence.
+ accountSigner: SigningCallback;
+}
+
/// DaimoOpSender constructs user operations for a Daimo account.
/// Supports key rotations, token transfers, and ephemeral note ops.
export class DaimoOpSender {
/** Connection to the chain */
private provider: BundlerJsonRpcProvider;
- private opBuilder: DaimoOpBuilder;
-
- private tokenAddress: Address;
- private tokenDecimals: number;
-
- private notesAddress: `0x${string}`;
-
- constructor(
- /// Userop builder, containing bundler and paymaster configuration.
- _opBuilder: DaimoOpBuilder,
- /// Stablecoin token address.
- _tokenAddress: `0x${string}`,
- /// Decimals for that token.
- _tokenDecimals: number,
- /// EphemeralNotes instance. The stablecoin used must match _tokenAddress.
- _notesAddress: `0x${string}`
+ private constructor(
+ private opConfig: DaimoOpConfig,
+ private opBuilder: DaimoOpBuilder
) {
this.provider = new BundlerJsonRpcProvider(config.bundlerRpcUrl);
- this.opBuilder = _opBuilder;
+ }
- this.tokenAddress = _tokenAddress;
- this.tokenDecimals = _tokenDecimals;
+ /**
+ * Initializes using the DAIMO_CHAIN and DAIMO_BUNDLER_RPC env vars.
+ */
+ public static async initFromEnv(
+ accountAddress: Address,
+ accountSigner: SigningCallback
+ ): Promise {
+ const { tokenAddress, tokenDecimals, paymasterAddress, chainL2 } =
+ Contracts.chainConfig;
- this.notesAddress = _notesAddress;
+ let bundlerRpcUrl = process.env.DAIMO_BUNDLER_RPC || "";
+ if (bundlerRpcUrl === "" && chainL2.network === "base-goerli") {
+ bundlerRpcUrl = // Default to testnet
+ "https://api.pimlico.io/v1/base-goerli/rpc?apikey=70ecef54-a28e-4e96-b2d3-3ad67fbc1b07";
+ }
+ if (bundlerRpcUrl === "") {
+ throw new Error("Missing DAIMO_BUNDLER_RPC env var");
+ }
+
+ return DaimoOpSender.init({
+ accountAddress,
+ accountSigner,
+ bundlerRpcUrl,
+ chainId: chainL2.id,
+ notesAddress: Contracts.daimoEphemeralNotesAddress,
+ paymasterAddress,
+ tokenAddress,
+ tokenDecimals,
+ });
}
- public static async init(
- deployedAddress: Address,
- signer: SigningCallback
- ): Promise {
- const daimoBuilder = await DaimoOpBuilder.init(deployedAddress, signer);
+ /**
+ * Initializes with all configuration provided: no env vars required.
+ */
+ public static async init(opConfig: DaimoOpConfig): Promise {
+ const { accountAddress, accountSigner, paymasterAddress } = opConfig;
+ const builder = await DaimoOpBuilder.init(
+ accountAddress,
+ accountSigner,
+ paymasterAddress
+ );
+ const { tokenAddress, tokenDecimals } = opConfig;
console.log(
- `[OP] init. token ${Contracts.tokenMetadata.address}, decimals ${Contracts.tokenMetadata.decimals}`
+ `[OP] init: ${JSON.stringify({
+ accountAddress,
+ tokenAddress,
+ tokenDecimals,
+ paymasterAddress,
+ notesAddress: opConfig.notesAddress,
+ bundlerRpcUrl: opConfig.bundlerRpcUrl,
+ })})}`
);
- return new DaimoOpSender(
- daimoBuilder,
- Contracts.tokenMetadata.address,
- Contracts.tokenMetadata.decimals,
- Contracts.ephemeralNotesAddress
- );
+ return new DaimoOpSender(opConfig, builder);
}
public getAddress(): Address {
@@ -72,7 +111,7 @@ export class DaimoOpSender {
public async sendUserOp(opBuilder: DaimoOpBuilder): Promise {
const builtOp = await opBuilder.buildOp(
Constants.ERC4337.EntryPoint,
- Contracts.tokenMetadata.chainId
+ this.opConfig.chainId
);
console.log("[OP] built userOp:", builtOp);
@@ -140,13 +179,15 @@ export class DaimoOpSender {
amount: `${number}`, // in the native unit of the token
opMetadata: DaimoOpMetadata
) {
- const parsedAmount = parseUnits(amount, this.tokenDecimals);
- console.log(`[OP] transfer ${parsedAmount} ${this.tokenAddress} to ${to}`);
+ const { tokenAddress, tokenDecimals } = this.opConfig;
+
+ const parsedAmount = parseUnits(amount, tokenDecimals);
+ console.log(`[OP] transfer ${parsedAmount} ${tokenAddress} to ${to}`);
const op = this.opBuilder.executeBatch(
[
{
- dest: this.tokenAddress,
+ dest: tokenAddress,
value: 0n,
data: encodeFunctionData({
abi: Contracts.erc20ABI,
@@ -167,16 +208,18 @@ export class DaimoOpSender {
amount: `${number}`,
opMetadata: DaimoOpMetadata
) {
- const parsedAmount = parseUnits(amount, this.tokenDecimals);
+ const { tokenDecimals, notesAddress } = this.opConfig;
+
+ const parsedAmount = parseUnits(amount, tokenDecimals);
console.log(`[OP] create ${parsedAmount} note for ${ephemeralOwner}`);
const op = this.opBuilder.executeBatch(
[
{
- dest: this.notesAddress,
+ dest: notesAddress,
value: 0n,
data: encodeFunctionData({
- abi: Contracts.ephemeralNotesABI,
+ abi: Contracts.daimoEphemeralNotesABI,
functionName: "createNote",
args: [ephemeralOwner, parsedAmount],
}),
@@ -199,10 +242,10 @@ export class DaimoOpSender {
const op = this.opBuilder.executeBatch(
[
{
- dest: this.notesAddress,
+ dest: this.opConfig.notesAddress,
value: 0n,
data: encodeFunctionData({
- abi: Contracts.ephemeralNotesABI,
+ abi: Contracts.daimoEphemeralNotesABI,
functionName: "claimNote",
args: [ephemeralOwner, signature],
}),
diff --git a/packages/daimo-userop/src/nonce.ts b/packages/daimo-userop/src/nonce.ts
index dc4eee377..2cc640d00 100644
--- a/packages/daimo-userop/src/nonce.ts
+++ b/packages/daimo-userop/src/nonce.ts
@@ -1,4 +1,3 @@
-import { assert } from "@daimo/common";
import { Hex, bytesToHex, hexToBytes, numberToHex } from "viem";
import { generatePrivateKey } from "viem/accounts";
@@ -77,3 +76,7 @@ export class DaimoNonceMetadata {
return (hexNonceType + hexIdentifier) as Hex;
}
}
+
+function assert(condition: boolean) {
+ if (!condition) throw new Error("Assertion failed");
+}